-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google DCM/DFA Reporting And Trafficking SDK.
--   
--   Manages your DoubleClick Campaign Manager ad campaigns and reports.
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v2.7</tt> of the API.
@package gogol-dfareporting
@version 0.3.0


module Network.Google.DFAReporting.Types

-- | Default request referring to version 'v2.7' of the DCM/DFA Reporting
--   And Trafficking API. This contains the host and root path used as a
--   starting point for constructing service requests.
dFAReportingService :: ServiceConfig

-- | View and manage DoubleClick for Advertisers reports
dFAReportingScope :: Proxy '["https://www.googleapis.com/auth/dfareporting"]

-- | Manage DoubleClick Digital Marketing conversions
ddmconversionsScope :: Proxy '["https://www.googleapis.com/auth/ddmconversions"]

-- | View and manage your DoubleClick Campaign Manager's (DCM) display ad
--   campaigns
dfatraffickingScope :: Proxy '["https://www.googleapis.com/auth/dfatrafficking"]

-- | Video Offset
--   
--   <i>See:</i> <a>videoOffSet</a> smart constructor.
data VideoOffSet

-- | Creates a value of <a>VideoOffSet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vosOffSetPercentage</a></li>
--   <li><a>vosOffSetSeconds</a></li>
--   </ul>
videoOffSet :: VideoOffSet

-- | Duration, as a percentage of video duration. Do not set when
--   offsetSeconds is set.
vosOffSetPercentage :: Lens' VideoOffSet (Maybe Int32)

-- | Duration, in seconds. Do not set when offsetPercentage is set.
vosOffSetSeconds :: Lens' VideoOffSet (Maybe Int32)

-- | Order of sorted results, default is ASCENDING.
data PlacementsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
Ascending :: PlacementsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
Descending :: PlacementsListSortOrder

-- | The date range relative to the date of when the report is run.
data DateRangeRelativeDateRange

-- | <pre>
--   LAST_24_MONTHS
--   </pre>
Last24Months :: DateRangeRelativeDateRange

-- | <pre>
--   LAST_30_DAYS
--   </pre>
Last30Days :: DateRangeRelativeDateRange

-- | <pre>
--   LAST_365_DAYS
--   </pre>
Last365Days :: DateRangeRelativeDateRange

-- | <pre>
--   LAST_7_DAYS
--   </pre>
Last7Days :: DateRangeRelativeDateRange

-- | <pre>
--   LAST_90_DAYS
--   </pre>
Last90Days :: DateRangeRelativeDateRange

-- | <pre>
--   MONTH_TO_DATE
--   </pre>
MonthToDate :: DateRangeRelativeDateRange

-- | <pre>
--   PREVIOUS_MONTH
--   </pre>
PreviousMonth :: DateRangeRelativeDateRange

-- | <pre>
--   PREVIOUS_QUARTER
--   </pre>
PreviousQuarter :: DateRangeRelativeDateRange

-- | <pre>
--   PREVIOUS_WEEK
--   </pre>
PreviousWeek :: DateRangeRelativeDateRange

-- | <pre>
--   PREVIOUS_YEAR
--   </pre>
PreviousYear :: DateRangeRelativeDateRange

-- | <pre>
--   QUARTER_TO_DATE
--   </pre>
QuarterToDate :: DateRangeRelativeDateRange

-- | <pre>
--   TODAY
--   </pre>
Today :: DateRangeRelativeDateRange

-- | <pre>
--   WEEK_TO_DATE
--   </pre>
WeekToDate :: DateRangeRelativeDateRange

-- | <pre>
--   YEAR_TO_DATE
--   </pre>
YearToDate :: DateRangeRelativeDateRange

-- | <pre>
--   YESTERDAY
--   </pre>
Yesterday :: DateRangeRelativeDateRange

-- | Field by which to sort the list.
data AdvertisersListSortField

-- | <pre>
--   ID
--   </pre>
ID :: AdvertisersListSortField

-- | <pre>
--   NAME
--   </pre>
Name :: AdvertisersListSortField

-- | Order of sorted results, default is ASCENDING.
data CreativeFieldsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CFLSOAscending :: CreativeFieldsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CFLSODescending :: CreativeFieldsListSortOrder

-- | Represents the list of File resources.
--   
--   <i>See:</i> <a>fileList</a> smart constructor.
data FileList

-- | Creates a value of <a>FileList</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>flEtag</a></li>
--   <li><a>flNextPageToken</a></li>
--   <li><a>flKind</a></li>
--   <li><a>flItems</a></li>
--   </ul>
fileList :: FileList

-- | The eTag of this response for caching purposes.
flEtag :: Lens' FileList (Maybe Text)

-- | Continuation token used to page through files. To retrieve the next
--   page of results, set the next request's "pageToken" to the value of
--   this field. The page token is only valid for a limited amount of time
--   and should not be persisted.
flNextPageToken :: Lens' FileList (Maybe Text)

-- | The kind of list this is, in this case dfareporting#fileList.
flKind :: Lens' FileList Text

-- | The files returned in this response.
flItems :: Lens' FileList [File]

-- | Order of sorted results, default is ASCENDING.
data TargetingTemplatesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
TTLSOAscending :: TargetingTemplatesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
TTLSODescending :: TargetingTemplatesListSortOrder

-- | Creative optimization activity.
--   
--   <i>See:</i> <a>optimizationActivity</a> smart constructor.
data OptimizationActivity

-- | Creates a value of <a>OptimizationActivity</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oaWeight</a></li>
--   <li><a>oaFloodlightActivityId</a></li>
--   <li><a>oaFloodlightActivityIdDimensionValue</a></li>
--   </ul>
optimizationActivity :: OptimizationActivity

-- | Weight associated with this optimization. Must be greater than 1. The
--   weight assigned will be understood in proportion to the weights
--   assigned to the other optimization activities.
oaWeight :: Lens' OptimizationActivity (Maybe Int32)

-- | Floodlight activity ID of this optimization activity. This is a
--   required field.
oaFloodlightActivityId :: Lens' OptimizationActivity (Maybe Int64)

-- | Dimension value for the ID of the floodlight activity. This is a
--   read-only, auto-generated field.
oaFloodlightActivityIdDimensionValue :: Lens' OptimizationActivity (Maybe DimensionValue)

-- | A group clause made up of list population terms representing
--   constraints joined by ORs.
--   
--   <i>See:</i> <a>listPopulationClause</a> smart constructor.
data ListPopulationClause

-- | Creates a value of <a>ListPopulationClause</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpcTerms</a></li>
--   </ul>
listPopulationClause :: ListPopulationClause

-- | Terms of this list population clause. Each clause is made up of list
--   population terms representing constraints and are joined by ORs.
lpcTerms :: Lens' ListPopulationClause [ListPopulationTerm]

-- | Creative Custom Event.
--   
--   <i>See:</i> <a>creativeCustomEvent</a> smart constructor.
data CreativeCustomEvent

-- | Creates a value of <a>CreativeCustomEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cceAdvertiserCustomEventId</a></li>
--   <li><a>cceAdvertiserCustomEventType</a></li>
--   <li><a>cceAdvertiserCustomEventName</a></li>
--   <li><a>cceExitURL</a></li>
--   <li><a>cceTargetType</a></li>
--   <li><a>ccePopupWindowProperties</a></li>
--   <li><a>cceVideoReportingId</a></li>
--   <li><a>cceId</a></li>
--   <li><a>cceArtworkLabel</a></li>
--   <li><a>cceArtworkType</a></li>
--   </ul>
creativeCustomEvent :: CreativeCustomEvent

-- | Unique ID of this event used by DDM Reporting and Data Transfer. This
--   is a read-only field.
cceAdvertiserCustomEventId :: Lens' CreativeCustomEvent (Maybe Int64)

-- | Type of the event. This is a read-only field.
cceAdvertiserCustomEventType :: Lens' CreativeCustomEvent (Maybe CreativeCustomEventAdvertiserCustomEventType)

-- | User-entered name for the event.
cceAdvertiserCustomEventName :: Lens' CreativeCustomEvent (Maybe Text)

-- | Exit URL of the event. This field is used only for exit events.
cceExitURL :: Lens' CreativeCustomEvent (Maybe Text)

-- | Target type used by the event.
cceTargetType :: Lens' CreativeCustomEvent (Maybe CreativeCustomEventTargetType)

-- | Properties for rich media popup windows. This field is used only for
--   exit events.
ccePopupWindowProperties :: Lens' CreativeCustomEvent (Maybe PopupWindowProperties)

-- | Video reporting ID, used to differentiate multiple videos in a single
--   creative. This is a read-only field.
cceVideoReportingId :: Lens' CreativeCustomEvent (Maybe Text)

-- | ID of this event. This is a required field and should not be modified
--   after insertion.
cceId :: Lens' CreativeCustomEvent (Maybe Int64)

-- | Artwork label column, used to link events in DCM back to events in
--   Studio. This is a required field and should not be modified after
--   insertion.
cceArtworkLabel :: Lens' CreativeCustomEvent (Maybe Text)

-- | Artwork type used by the creative.This is a read-only field.
cceArtworkType :: Lens' CreativeCustomEvent (Maybe CreativeCustomEventArtworkType)

-- | Creative Click Tag.
--   
--   <i>See:</i> <a>clickTag</a> smart constructor.
data ClickTag

-- | Creates a value of <a>ClickTag</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctValue</a></li>
--   <li><a>ctName</a></li>
--   <li><a>ctEventName</a></li>
--   </ul>
clickTag :: ClickTag

-- | Parameter value for the specified click tag. This field contains a
--   click-through url.
ctValue :: Lens' ClickTag (Maybe Text)

-- | Parameter name for the specified click tag. For DISPLAY_IMAGE_GALLERY
--   creative assets, this field must match the value of the creative
--   asset's creativeAssetId.name field.
ctName :: Lens' ClickTag (Maybe Text)

-- | Advertiser event name associated with the click tag. This field is
--   used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives. Applicable
--   to DISPLAY when the primary asset type is not HTML_IMAGE.
ctEventName :: Lens' ClickTag (Maybe Text)

-- | Campaign List Response
--   
--   <i>See:</i> <a>campaignsListResponse</a> smart constructor.
data CampaignsListResponse

-- | Creates a value of <a>CampaignsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clrNextPageToken</a></li>
--   <li><a>clrCampaigns</a></li>
--   <li><a>clrKind</a></li>
--   </ul>
campaignsListResponse :: CampaignsListResponse

-- | Pagination token to be used for the next list operation.
clrNextPageToken :: Lens' CampaignsListResponse (Maybe Text)

-- | Campaign collection.
clrCampaigns :: Lens' CampaignsListResponse [Campaign]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#campaignsListResponse".
clrKind :: Lens' CampaignsListResponse Text

-- | Geographical Targeting.
--   
--   <i>See:</i> <a>geoTargeting</a> smart constructor.
data GeoTargeting

-- | Creates a value of <a>GeoTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gtRegions</a></li>
--   <li><a>gtCountries</a></li>
--   <li><a>gtCities</a></li>
--   <li><a>gtMetros</a></li>
--   <li><a>gtExcludeCountries</a></li>
--   <li><a>gtPostalCodes</a></li>
--   </ul>
geoTargeting :: GeoTargeting

-- | Regions to be targeted. For each region only dartId is required. The
--   other fields are populated automatically when the ad is inserted or
--   updated. If targeting a region, do not target or exclude the country
--   of the region.
gtRegions :: Lens' GeoTargeting [Region]

-- | Countries to be targeted or excluded from targeting, depending on the
--   setting of the excludeCountries field. For each country only dartId is
--   required. The other fields are populated automatically when the ad is
--   inserted or updated. If targeting or excluding a country, do not
--   target regions, cities, metros, or postal codes in the same country.
gtCountries :: Lens' GeoTargeting [Country]

-- | Cities to be targeted. For each city only dartId is required. The
--   other fields are populated automatically when the ad is inserted or
--   updated. If targeting a city, do not target or exclude the country of
--   the city, and do not target the metro or region of the city.
gtCities :: Lens' GeoTargeting [City]

-- | Metros to be targeted. For each metro only dmaId is required. The
--   other fields are populated automatically when the ad is inserted or
--   updated. If targeting a metro, do not target or exclude the country of
--   the metro.
gtMetros :: Lens' GeoTargeting [Metro]

-- | Whether or not to exclude the countries in the countries field from
--   targeting. If false, the countries field refers to countries which
--   will be targeted by the ad.
gtExcludeCountries :: Lens' GeoTargeting (Maybe Bool)

-- | Postal codes to be targeted. For each postal code only id is required.
--   The other fields are populated automatically when the ad is inserted
--   or updated. If targeting a postal code, do not target or exclude the
--   country of the postal code.
gtPostalCodes :: Lens' GeoTargeting [PostalCode]

-- | Field by which to sort the list.
data UserRolesListSortField

-- | <pre>
--   ID
--   </pre>
URLSFID :: UserRolesListSortField

-- | <pre>
--   NAME
--   </pre>
URLSFName :: UserRolesListSortField

-- | Video Settings
--   
--   <i>See:</i> <a>videoSettings</a> smart constructor.
data VideoSettings

-- | Creates a value of <a>VideoSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsKind</a></li>
--   <li><a>vsCompanionSettings</a></li>
--   <li><a>vsTranscodeSettings</a></li>
--   <li><a>vsSkippableSettings</a></li>
--   </ul>
videoSettings :: VideoSettings

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#videoSettings".
vsKind :: Lens' VideoSettings Text

-- | Settings for the companion creatives of video creatives served to this
--   placement.
vsCompanionSettings :: Lens' VideoSettings (Maybe CompanionSetting)

-- | Settings for the transcodes of video creatives served to this
--   placement. If this object is provided, the creative-level transcode
--   settings will be overridden.
vsTranscodeSettings :: Lens' VideoSettings (Maybe TranscodeSetting)

-- | Settings for the skippability of video creatives served to this
--   placement. If this object is provided, the creative-level skippable
--   settings will be overridden.
vsSkippableSettings :: Lens' VideoSettings (Maybe SkippableSetting)

-- | Represents fields that are compatible to be selected for a report of
--   type "REACH".
--   
--   <i>See:</i> <a>reachReportCompatibleFields</a> smart constructor.
data ReachReportCompatibleFields

-- | Creates a value of <a>ReachReportCompatibleFields</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrcfMetrics</a></li>
--   <li><a>rrcfReachByFrequencyMetrics</a></li>
--   <li><a>rrcfKind</a></li>
--   <li><a>rrcfDimensionFilters</a></li>
--   <li><a>rrcfPivotedActivityMetrics</a></li>
--   <li><a>rrcfDimensions</a></li>
--   </ul>
reachReportCompatibleFields :: ReachReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
rrcfMetrics :: Lens' ReachReportCompatibleFields [Metric]

-- | Metrics which are compatible to be selected in the
--   "reachByFrequencyMetricNames" section of the report.
rrcfReachByFrequencyMetrics :: Lens' ReachReportCompatibleFields [Metric]

-- | The kind of resource this is, in this case
--   dfareporting#reachReportCompatibleFields.
rrcfKind :: Lens' ReachReportCompatibleFields Text

-- | Dimensions which are compatible to be selected in the
--   "dimensionFilters" section of the report.
rrcfDimensionFilters :: Lens' ReachReportCompatibleFields [Dimension]

-- | Metrics which are compatible to be selected as activity metrics to
--   pivot on in the "activities" section of the report.
rrcfPivotedActivityMetrics :: Lens' ReachReportCompatibleFields [Metric]

-- | Dimensions which are compatible to be selected in the "dimensions"
--   section of the report.
rrcfDimensions :: Lens' ReachReportCompatibleFields [Dimension]

-- | Contains information about a browser that can be targeted by ads.
--   
--   <i>See:</i> <a>browser</a> smart constructor.
data Browser

-- | Creates a value of <a>Browser</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bMinorVersion</a></li>
--   <li><a>bKind</a></li>
--   <li><a>bBrowserVersionId</a></li>
--   <li><a>bMajorVersion</a></li>
--   <li><a>bName</a></li>
--   <li><a>bDartId</a></li>
--   </ul>
browser :: Browser

-- | Minor version number (number after first dot on left) of this browser.
--   For example, for Chrome 5.0.375.86 beta, this field should be set to
--   0. An asterisk (*) may be used to target any version number, and a
--   question mark (?) may be used to target cases where the version number
--   cannot be identified. For example, Chrome *.* targets any version of
--   Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5,
--   but not 4.0. Firefox ?.? targets cases where the ad server knows the
--   browser is Firefox but can't tell which version it is.
bMinorVersion :: Lens' Browser (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#browser".
bKind :: Lens' Browser Text

-- | ID referring to this grouping of browser and version numbers. This is
--   the ID used for targeting.
bBrowserVersionId :: Lens' Browser (Maybe Int64)

-- | Major version number (leftmost number) of this browser. For example,
--   for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk
--   (*) may be used to target any version number, and a question mark (?)
--   may be used to target cases where the version number cannot be
--   identified. For example, Chrome *.* targets any version of Chrome:
--   1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not
--   4.0. Firefox ?.? targets cases where the ad server knows the browser
--   is Firefox but can't tell which version it is.
bMajorVersion :: Lens' Browser (Maybe Text)

-- | Name of this browser.
bName :: Lens' Browser (Maybe Text)

-- | DART ID of this browser. This is the ID used when generating reports.
bDartId :: Lens' Browser (Maybe Int64)

-- | Tag format type for the floodlight activity. If left blank, the tag
--   format will default to HTML.
data FloodlightActivityTagFormat

-- | <pre>
--   HTML
--   </pre>
HTML :: FloodlightActivityTagFormat

-- | <pre>
--   XHTML
--   </pre>
Xhtml :: FloodlightActivityTagFormat

-- | Order of sorted results, default is ASCENDING.
data OrderDocumentsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
ODLSOAscending :: OrderDocumentsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ODLSODescending :: OrderDocumentsListSortOrder

-- | Creative Group Assignment.
--   
--   <i>See:</i> <a>creativeGroupAssignment</a> smart constructor.
data CreativeGroupAssignment

-- | Creates a value of <a>CreativeGroupAssignment</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cgaCreativeGroupNumber</a></li>
--   <li><a>cgaCreativeGroupId</a></li>
--   </ul>
creativeGroupAssignment :: CreativeGroupAssignment

-- | Creative group number of the creative group assignment.
cgaCreativeGroupNumber :: Lens' CreativeGroupAssignment (Maybe CreativeGroupAssignmentCreativeGroupNumber)

-- | ID of the creative group to be assigned.
cgaCreativeGroupId :: Lens' CreativeGroupAssignment (Maybe Int64)

-- | Role of the asset in relation to creative. Applicable to all but the
--   following creative types: all REDIRECT and TRACKING_TEXT. This is a
--   required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
--   HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
--   contain multiple primary assets), and all VPAID creatives.
--   BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
--   and all VPAID creatives. Applicable to DISPLAY when the primary asset
--   type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to
--   FLASH_INPAGE creatives. OTHER refers to assets from sources other than
--   DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and
--   all VPAID creatives. PARENT_VIDEO refers to videos uploaded by the
--   user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
--   creatives. TRANSCODED_VIDEO refers to videos transcoded by DCM from
--   PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
--   VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the DCM
--   representation of child asset videos from Studio, and is applicable to
--   VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
--   DCM. For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO
--   and ALTERNATE_VIDEO assets that are marked active serve as backup in
--   case the VPAID creative cannot be served. Only PARENT_VIDEO assets can
--   be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
--   creative.
data CreativeAssetRole

-- | <pre>
--   ADDITIONAL_FLASH
--   </pre>
AdditionalFlash :: CreativeAssetRole

-- | <pre>
--   ADDITIONAL_IMAGE
--   </pre>
AdditionalImage :: CreativeAssetRole

-- | <pre>
--   ALTERNATE_VIDEO
--   </pre>
AlternateVideo :: CreativeAssetRole

-- | <pre>
--   BACKUP_IMAGE
--   </pre>
BackupImage :: CreativeAssetRole

-- | <pre>
--   OTHER
--   </pre>
Other :: CreativeAssetRole

-- | <pre>
--   PARENT_VIDEO
--   </pre>
ParentVideo :: CreativeAssetRole

-- | <pre>
--   PRIMARY
--   </pre>
Primary :: CreativeAssetRole

-- | <pre>
--   TRANSCODED_VIDEO
--   </pre>
TranscodedVideo :: CreativeAssetRole

-- | Select only dynamic targeting keys with this object type.
data DynamicTargetingKeysListObjectType

-- | <pre>
--   OBJECT_AD
--   </pre>
ObjectAd :: DynamicTargetingKeysListObjectType

-- | <pre>
--   OBJECT_ADVERTISER
--   </pre>
ObjectAdvertiser :: DynamicTargetingKeysListObjectType

-- | <pre>
--   OBJECT_CREATIVE
--   </pre>
ObjectCreative :: DynamicTargetingKeysListObjectType

-- | <pre>
--   OBJECT_PLACEMENT
--   </pre>
ObjectPlacement :: DynamicTargetingKeysListObjectType

-- | The delivery type for the recipient.
data RecipientDeliveryType

-- | <pre>
--   ATTACHMENT
--   </pre>
Attachment :: RecipientDeliveryType

-- | <pre>
--   LINK
--   </pre>
Link :: RecipientDeliveryType

-- | Third-party URL type for in-stream video creatives.
data ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   CLICK_TRACKING
--   </pre>
ClickTracking :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   IMPRESSION
--   </pre>
Impression :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   RICH_MEDIA_BACKUP_IMPRESSION
--   </pre>
RichMediaBackupImpression :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   RICH_MEDIA_IMPRESSION
--   </pre>
RichMediaImpression :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   RICH_MEDIA_RM_IMPRESSION
--   </pre>
RichMediaRmImpression :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   SURVEY
--   </pre>
Survey :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_COMPLETE
--   </pre>
VideoComplete :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_CUSTOM
--   </pre>
VideoCustom :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_FIRST_QUARTILE
--   </pre>
VideoFirstQuartile :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_FULLSCREEN
--   </pre>
VideoFullscreen :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_MIDPOINT
--   </pre>
VideoMidpoint :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_MUTE
--   </pre>
VideoMute :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_PAUSE
--   </pre>
VideoPause :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_PROGRESS
--   </pre>
VideoProgress :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_REWIND
--   </pre>
VideoRewind :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_SKIP
--   </pre>
VideoSkip :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_START
--   </pre>
VideoStart :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_STOP
--   </pre>
VideoStop :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_THIRD_QUARTILE
--   </pre>
VideoThirdQuartile :: ThirdPartyTrackingURLThirdPartyURLType

-- | Directory Site Settings
--   
--   <i>See:</i> <a>directorySiteSettings</a> smart constructor.
data DirectorySiteSettings

-- | Creates a value of <a>DirectorySiteSettings</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dssInterstitialPlacementAccepted</a></li>
--   <li><a>dssDfpSettings</a></li>
--   <li><a>dssVerificationTagOptOut</a></li>
--   <li><a>dssActiveViewOptOut</a></li>
--   <li><a>dssVideoActiveViewOptOut</a></li>
--   <li><a>dssInstreamVideoPlacementAccepted</a></li>
--   <li><a>dssNielsenOCROptOut</a></li>
--   </ul>
directorySiteSettings :: DirectorySiteSettings

-- | Whether this site accepts interstitial ads.
dssInterstitialPlacementAccepted :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Directory site DFP settings.
dssDfpSettings :: Lens' DirectorySiteSettings (Maybe DfpSettings)

-- | Whether this directory site has disabled generation of Verification
--   ins tags.
dssVerificationTagOptOut :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Whether this directory site has disabled active view creatives.
dssActiveViewOptOut :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Whether this directory site has disabled active view for in-stream
--   video creatives.
dssVideoActiveViewOptOut :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Whether this site accepts in-stream video ads.
dssInstreamVideoPlacementAccepted :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Whether this directory site has disabled Nielsen OCR reach ratings.
dssNielsenOCROptOut :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Order of sorted results, default is ASCENDING.
data TargetableRemarketingListsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
TRLLSOAscending :: TargetableRemarketingListsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
TRLLSODescending :: TargetableRemarketingListsListSortOrder

-- | Offset left unit for an asset. This is a read-only field. Applicable
--   to the following creative types: all RICH_MEDIA.
data CreativeAssetPositionLeftUnit

-- | <pre>
--   OFFSET_UNIT_PERCENT
--   </pre>
OffSetUnitPercent :: CreativeAssetPositionLeftUnit

-- | <pre>
--   OFFSET_UNIT_PIXEL
--   </pre>
OffSetUnitPixel :: CreativeAssetPositionLeftUnit

-- | <pre>
--   OFFSET_UNIT_PIXEL_FROM_CENTER
--   </pre>
OffSetUnitPixelFromCenter :: CreativeAssetPositionLeftUnit

-- | Placement cap cost option.
data PricingScheduleCapCostOption

-- | <pre>
--   CAP_COST_CUMULATIVE
--   </pre>
CapCostCumulative :: PricingScheduleCapCostOption

-- | <pre>
--   CAP_COST_MONTHLY
--   </pre>
CapCostMonthly :: PricingScheduleCapCostOption

-- | <pre>
--   CAP_COST_NONE
--   </pre>
CapCostNone :: PricingScheduleCapCostOption

-- | Remarketing List Population Rule.
--   
--   <i>See:</i> <a>listPopulationRule</a> smart constructor.
data ListPopulationRule

-- | Creates a value of <a>ListPopulationRule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lprFloodlightActivityName</a></li>
--   <li><a>lprFloodlightActivityId</a></li>
--   <li><a>lprListPopulationClauses</a></li>
--   </ul>
listPopulationRule :: ListPopulationRule

-- | Name of floodlight activity associated with this rule. This is a
--   read-only, auto-generated field.
lprFloodlightActivityName :: Lens' ListPopulationRule (Maybe Text)

-- | Floodlight activity ID associated with this rule. This field can be
--   left blank.
lprFloodlightActivityId :: Lens' ListPopulationRule (Maybe Int64)

-- | Clauses that make up this list population rule. Clauses are joined by
--   ANDs, and the clauses themselves are made up of list population terms
--   which are joined by ORs.
lprListPopulationClauses :: Lens' ListPopulationRule [ListPopulationClause]

-- | Levels of availability for a user role permission.
data UserRolePermissionAvailability

-- | <pre>
--   ACCOUNT_ALWAYS
--   </pre>
AccountAlways :: UserRolePermissionAvailability

-- | <pre>
--   ACCOUNT_BY_DEFAULT
--   </pre>
AccountByDefault :: UserRolePermissionAvailability

-- | <pre>
--   NOT_AVAILABLE_BY_DEFAULT
--   </pre>
NotAvailableByDefault :: UserRolePermissionAvailability

-- | <pre>
--   SUBACCOUNT_AND_ACCOUNT_ALWAYS
--   </pre>
SubAccountAndAccountAlways :: UserRolePermissionAvailability

-- | <pre>
--   SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT
--   </pre>
SubAccountAndAccountByDefault :: UserRolePermissionAvailability

-- | VPAID adapter setting for this placement. Controls which VPAID format
--   the measurement adapter will use for in-stream video creatives
--   assigned to this placement.
data PlacementVpaidAdapterChoice

-- | <pre>
--   BOTH
--   </pre>
Both :: PlacementVpaidAdapterChoice

-- | <pre>
--   DEFAULT
--   </pre>
Default :: PlacementVpaidAdapterChoice

-- | <pre>
--   FLASH
--   </pre>
Flash :: PlacementVpaidAdapterChoice

-- | <pre>
--   HTML5
--   </pre>
HTML5 :: PlacementVpaidAdapterChoice

-- | Visibility of this directory site contact assignment. When set to
--   PUBLIC this contact assignment is visible to all account and agency
--   users; when set to PRIVATE it is visible only to the site.
data DirectorySiteContactAssignmentVisibility

-- | <pre>
--   PRIVATE
--   </pre>
Private :: DirectorySiteContactAssignmentVisibility

-- | <pre>
--   PUBLIC
--   </pre>
Public :: DirectorySiteContactAssignmentVisibility

-- | Size List Response
--   
--   <i>See:</i> <a>sizesListResponse</a> smart constructor.
data SizesListResponse

-- | Creates a value of <a>SizesListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slrKind</a></li>
--   <li><a>slrSizes</a></li>
--   </ul>
sizesListResponse :: SizesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#sizesListResponse".
slrKind :: Lens' SizesListResponse Text

-- | Size collection.
slrSizes :: Lens' SizesListResponse [Size]

-- | Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   rendering on desktop, on mobile devices or in mobile apps for regular
--   or interstitial ads respectively. APP and APP_INTERSTITIAL are no
--   longer allowed for new placement insertions. Instead, use DISPLAY or
--   DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream
--   video ads developed with the VAST standard. This field is required on
--   insertion.
data PlacementCompatibility

-- | <pre>
--   APP
--   </pre>
App :: PlacementCompatibility

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
AppInterstitial :: PlacementCompatibility

-- | <pre>
--   DISPLAY
--   </pre>
Display :: PlacementCompatibility

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
DisplayInterstitial :: PlacementCompatibility

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
InStreamVideo :: PlacementCompatibility

-- | Creative Rotation.
--   
--   <i>See:</i> <a>creativeRotation</a> smart constructor.
data CreativeRotation

-- | Creates a value of <a>CreativeRotation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crWeightCalculationStrategy</a></li>
--   <li><a>crCreativeAssignments</a></li>
--   <li><a>crCreativeOptimizationConfigurationId</a></li>
--   <li><a>crType</a></li>
--   </ul>
creativeRotation :: CreativeRotation

-- | Strategy for calculating weights. Used with
--   CREATIVE_ROTATION_TYPE_RANDOM.
crWeightCalculationStrategy :: Lens' CreativeRotation (Maybe CreativeRotationWeightCalculationStrategy)

-- | Creative assignments in this creative rotation.
crCreativeAssignments :: Lens' CreativeRotation [CreativeAssignment]

-- | Creative optimization configuration that is used by this ad. It should
--   refer to one of the existing optimization configurations in the ad's
--   campaign. If it is unset or set to 0, then the campaign's default
--   optimization configuration will be used for this ad.
crCreativeOptimizationConfigurationId :: Lens' CreativeRotation (Maybe Int64)

-- | Type of creative rotation. Can be used to specify whether to use
--   sequential or random rotation.
crType :: Lens' CreativeRotation (Maybe CreativeRotationType)

-- | Technology Targeting.
--   
--   <i>See:</i> <a>technologyTargeting</a> smart constructor.
data TechnologyTargeting

-- | Creates a value of <a>TechnologyTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttMobileCarriers</a></li>
--   <li><a>ttOperatingSystemVersions</a></li>
--   <li><a>ttPlatformTypes</a></li>
--   <li><a>ttBrowsers</a></li>
--   <li><a>ttConnectionTypes</a></li>
--   <li><a>ttOperatingSystems</a></li>
--   </ul>
technologyTargeting :: TechnologyTargeting

-- | Mobile carriers that this ad targets. For each mobile carrier only id
--   is required, and the other fields are populated automatically when the
--   ad is inserted or updated. If targeting a mobile carrier, do not set
--   targeting for any zip codes.
ttMobileCarriers :: Lens' TechnologyTargeting [MobileCarrier]

-- | Operating system versions that this ad targets. To target all
--   versions, use operatingSystems. For each operating system version,
--   only id is required. The other fields are populated automatically when
--   the ad is inserted or updated. If targeting an operating system
--   version, do not set targeting for the corresponding operating system
--   in operatingSystems.
ttOperatingSystemVersions :: Lens' TechnologyTargeting [OperatingSystemVersion]

-- | Platform types that this ad targets. For example, desktop, mobile, or
--   tablet. For each platform type, only id is required, and the other
--   fields are populated automatically when the ad is inserted or updated.
ttPlatformTypes :: Lens' TechnologyTargeting [PlatformType]

-- | Browsers that this ad targets. For each browser either set
--   browserVersionId or dartId along with the version numbers. If both are
--   specified, only browserVersionId will be used. The other fields are
--   populated automatically when the ad is inserted or updated.
ttBrowsers :: Lens' TechnologyTargeting [Browser]

-- | Connection types that this ad targets. For each connection type only
--   id is required. The other fields are populated automatically when the
--   ad is inserted or updated.
ttConnectionTypes :: Lens' TechnologyTargeting [ConnectionType]

-- | Operating systems that this ad targets. To target specific versions,
--   use operatingSystemVersions. For each operating system only dartId is
--   required. The other fields are populated automatically when the ad is
--   inserted or updated. If targeting an operating system, do not set
--   targeting for operating system versions for the same operating system.
ttOperatingSystems :: Lens' TechnologyTargeting [OperatingSystem]

-- | Comparison operator of this term. This field is only relevant when
--   type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
data ListPopulationTermOperator

-- | <pre>
--   NUM_EQUALS
--   </pre>
NumEquals :: ListPopulationTermOperator

-- | <pre>
--   NUM_GREATER_THAN
--   </pre>
NumGreaterThan :: ListPopulationTermOperator

-- | <pre>
--   NUM_GREATER_THAN_EQUAL
--   </pre>
NumGreaterThanEqual :: ListPopulationTermOperator

-- | <pre>
--   NUM_LESS_THAN
--   </pre>
NumLessThan :: ListPopulationTermOperator

-- | <pre>
--   NUM_LESS_THAN_EQUAL
--   </pre>
NumLessThanEqual :: ListPopulationTermOperator

-- | <pre>
--   STRING_CONTAINS
--   </pre>
StringContains :: ListPopulationTermOperator

-- | <pre>
--   STRING_EQUALS
--   </pre>
StringEquals :: ListPopulationTermOperator

-- | Select only placements with this payment source.
data PlacementsListPaymentSource

-- | <pre>
--   PLACEMENT_AGENCY_PAID
--   </pre>
PlacementAgencyPaid :: PlacementsListPaymentSource

-- | <pre>
--   PLACEMENT_PUBLISHER_PAID
--   </pre>
PlacementPublisherPaid :: PlacementsListPaymentSource

-- | Represents a buy from the DoubleClick Planning inventory store.
--   
--   <i>See:</i> <a>inventoryItem</a> smart constructor.
data InventoryItem

-- | Creates a value of <a>InventoryItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiPlacementStrategyId</a></li>
--   <li><a>iiEstimatedClickThroughRate</a></li>
--   <li><a>iiPricing</a></li>
--   <li><a>iiKind</a></li>
--   <li><a>iiAdvertiserId</a></li>
--   <li><a>iiRfpId</a></li>
--   <li><a>iiContentCategoryId</a></li>
--   <li><a>iiInPlan</a></li>
--   <li><a>iiAccountId</a></li>
--   <li><a>iiName</a></li>
--   <li><a>iiAdSlots</a></li>
--   <li><a>iiNegotiationChannelId</a></li>
--   <li><a>iiLastModifiedInfo</a></li>
--   <li><a>iiId</a></li>
--   <li><a>iiEstimatedConversionRate</a></li>
--   <li><a>iiProjectId</a></li>
--   <li><a>iiSubAccountId</a></li>
--   <li><a>iiType</a></li>
--   <li><a>iiOrderId</a></li>
--   <li><a>iiSiteId</a></li>
--   </ul>
inventoryItem :: InventoryItem

-- | Placement strategy ID of this inventory item.
iiPlacementStrategyId :: Lens' InventoryItem (Maybe Int64)

-- | Estimated click-through rate of this inventory item.
iiEstimatedClickThroughRate :: Lens' InventoryItem (Maybe Int64)

-- | Pricing of this inventory item.
iiPricing :: Lens' InventoryItem (Maybe Pricing)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#inventoryItem".
iiKind :: Lens' InventoryItem Text

-- | Advertiser ID of this inventory item.
iiAdvertiserId :: Lens' InventoryItem (Maybe Int64)

-- | RFP ID of this inventory item.
iiRfpId :: Lens' InventoryItem (Maybe Int64)

-- | Content category ID of this inventory item.
iiContentCategoryId :: Lens' InventoryItem (Maybe Int64)

-- | Whether this inventory item is in plan.
iiInPlan :: Lens' InventoryItem (Maybe Bool)

-- | Account ID of this inventory item.
iiAccountId :: Lens' InventoryItem (Maybe Int64)

-- | Name of this inventory item. For standalone inventory items, this is
--   the same name as that of its only ad slot. For group inventory items,
--   this can differ from the name of any of its ad slots.
iiName :: Lens' InventoryItem (Maybe Text)

-- | Ad slots of this inventory item. If this inventory item represents a
--   standalone placement, there will be exactly one ad slot. If this
--   inventory item represents a placement group, there will be more than
--   one ad slot, each representing one child placement in that placement
--   group.
iiAdSlots :: Lens' InventoryItem [AdSlot]

-- | Negotiation channel ID of this inventory item.
iiNegotiationChannelId :: Lens' InventoryItem (Maybe Int64)

-- | Information about the most recent modification of this inventory item.
iiLastModifiedInfo :: Lens' InventoryItem (Maybe LastModifiedInfo)

-- | ID of this inventory item.
iiId :: Lens' InventoryItem (Maybe Int64)

-- | Estimated conversion rate of this inventory item.
iiEstimatedConversionRate :: Lens' InventoryItem (Maybe Int64)

-- | Project ID of this inventory item.
iiProjectId :: Lens' InventoryItem (Maybe Int64)

-- | Subaccount ID of this inventory item.
iiSubAccountId :: Lens' InventoryItem (Maybe Int64)

-- | Type of inventory item.
iiType :: Lens' InventoryItem (Maybe InventoryItemType)

-- | Order ID of this inventory item.
iiOrderId :: Lens' InventoryItem (Maybe Int64)

-- | ID of the site this inventory item is associated with.
iiSiteId :: Lens' InventoryItem (Maybe Int64)

-- | Project List Response
--   
--   <i>See:</i> <a>projectsListResponse</a> smart constructor.
data ProjectsListResponse

-- | Creates a value of <a>ProjectsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plrNextPageToken</a></li>
--   <li><a>plrKind</a></li>
--   <li><a>plrProjects</a></li>
--   </ul>
projectsListResponse :: ProjectsListResponse

-- | Pagination token to be used for the next list operation.
plrNextPageToken :: Lens' ProjectsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#projectsListResponse".
plrKind :: Lens' ProjectsListResponse Text

-- | Project collection.
plrProjects :: Lens' ProjectsListResponse [Project]

-- | Ad List Response
--   
--   <i>See:</i> <a>adsListResponse</a> smart constructor.
data AdsListResponse

-- | Creates a value of <a>AdsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alrNextPageToken</a></li>
--   <li><a>alrKind</a></li>
--   <li><a>alrAds</a></li>
--   </ul>
adsListResponse :: AdsListResponse

-- | Pagination token to be used for the next list operation.
alrNextPageToken :: Lens' AdsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#adsListResponse".
alrKind :: Lens' AdsListResponse Text

-- | Ad collection.
alrAds :: Lens' AdsListResponse [Ad]

-- | The field by which to sort the list.
data ReportsListSortField

-- | <tt>ID</tt> Sort by report ID.
RLSFID :: ReportsListSortField

-- | <tt>LAST_MODIFIED_TIME</tt> Sort by 'lastModifiedTime' field.
RLSFLastModifiedTime :: ReportsListSortField

-- | <tt>NAME</tt> Sort by name of reports.
RLSFName :: ReportsListSortField

-- | Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   rendering either on desktop, mobile devices or in mobile apps for
--   regular or interstitial ads respectively. APP and APP_INTERSTITIAL are
--   for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in
--   in-stream video ads developed with the VAST standard.
data AdSlotCompatibility

-- | <pre>
--   APP
--   </pre>
ASCApp :: AdSlotCompatibility

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
ASCAppInterstitial :: AdSlotCompatibility

-- | <pre>
--   DISPLAY
--   </pre>
ASCDisplay :: AdSlotCompatibility

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
ASCDisplayInterstitial :: AdSlotCompatibility

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
ASCInStreamVideo :: AdSlotCompatibility

-- | Remarketing List Population Rule Term.
--   
--   <i>See:</i> <a>listPopulationTerm</a> smart constructor.
data ListPopulationTerm

-- | Creates a value of <a>ListPopulationTerm</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lptOperator</a></li>
--   <li><a>lptValue</a></li>
--   <li><a>lptVariableFriendlyName</a></li>
--   <li><a>lptNegation</a></li>
--   <li><a>lptVariableName</a></li>
--   <li><a>lptRemarketingListId</a></li>
--   <li><a>lptType</a></li>
--   <li><a>lptContains</a></li>
--   </ul>
listPopulationTerm :: ListPopulationTerm

-- | Comparison operator of this term. This field is only relevant when
--   type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
lptOperator :: Lens' ListPopulationTerm (Maybe ListPopulationTermOperator)

-- | Literal to compare the variable to. This field is only relevant when
--   type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
lptValue :: Lens' ListPopulationTerm (Maybe Text)

-- | Friendly name of this term's variable. This is a read-only,
--   auto-generated field. This field is only relevant when type is left
--   unset or set to CUSTOM_VARIABLE_TERM.
lptVariableFriendlyName :: Lens' ListPopulationTerm (Maybe Text)

-- | Whether to negate the comparison result of this term during rule
--   evaluation. This field is only relevant when type is left unset or set
--   to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
lptNegation :: Lens' ListPopulationTerm (Maybe Bool)

-- | Name of the variable (U1, U2, etc.) being compared in this term. This
--   field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM
--   or REFERRER_TERM.
lptVariableName :: Lens' ListPopulationTerm (Maybe Text)

-- | ID of the list in question. This field is only relevant when type is
--   set to LIST_MEMBERSHIP_TERM.
lptRemarketingListId :: Lens' ListPopulationTerm (Maybe Int64)

-- | List population term type determines the applicable fields in this
--   object. If left unset or set to CUSTOM_VARIABLE_TERM, then
--   variableName, variableFriendlyName, operator, value, and negation are
--   applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
--   contains are applicable. If set to REFERRER_TERM then operator, value,
--   and negation are applicable.
lptType :: Lens' ListPopulationTerm (Maybe ListPopulationTermType)

-- | Will be true if the term should check if the user is in the list and
--   false if the term should check if the user is not in the list. This
--   field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False
--   by default.
lptContains :: Lens' ListPopulationTerm (Maybe Bool)

-- | Dynamic and Image Tag Settings.
--   
--   <i>See:</i> <a>tagSettings</a> smart constructor.
data TagSettings

-- | Creates a value of <a>TagSettings</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsDynamicTagEnabled</a></li>
--   <li><a>tsImageTagEnabled</a></li>
--   </ul>
tagSettings :: TagSettings

-- | Whether dynamic floodlight tags are enabled.
tsDynamicTagEnabled :: Lens' TagSettings (Maybe Bool)

-- | Whether image tags are enabled.
tsImageTagEnabled :: Lens' TagSettings (Maybe Bool)

-- | Subaccount List Response
--   
--   <i>See:</i> <a>subAccountsListResponse</a> smart constructor.
data SubAccountsListResponse

-- | Creates a value of <a>SubAccountsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>salrNextPageToken</a></li>
--   <li><a>salrKind</a></li>
--   <li><a>salrSubAccounts</a></li>
--   </ul>
subAccountsListResponse :: SubAccountsListResponse

-- | Pagination token to be used for the next list operation.
salrNextPageToken :: Lens' SubAccountsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#subaccountsListResponse".
salrKind :: Lens' SubAccountsListResponse Text

-- | Subaccount collection.
salrSubAccounts :: Lens' SubAccountsListResponse [SubAccount]

-- | Field by which to sort the list.
data CampaignsListSortField

-- | <pre>
--   ID
--   </pre>
CLSFID :: CampaignsListSortField

-- | <pre>
--   NAME
--   </pre>
CLSFName :: CampaignsListSortField

-- | Contains properties of a Site Directory contact.
--   
--   <i>See:</i> <a>directorySiteContact</a> smart constructor.
data DirectorySiteContact

-- | Creates a value of <a>DirectorySiteContact</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dscEmail</a></li>
--   <li><a>dscPhone</a></li>
--   <li><a>dscLastName</a></li>
--   <li><a>dscKind</a></li>
--   <li><a>dscAddress</a></li>
--   <li><a>dscRole</a></li>
--   <li><a>dscFirstName</a></li>
--   <li><a>dscId</a></li>
--   <li><a>dscTitle</a></li>
--   <li><a>dscType</a></li>
--   </ul>
directorySiteContact :: DirectorySiteContact

-- | Email address of this directory site contact.
dscEmail :: Lens' DirectorySiteContact (Maybe Text)

-- | Phone number of this directory site contact.
dscPhone :: Lens' DirectorySiteContact (Maybe Text)

-- | Last name of this directory site contact.
dscLastName :: Lens' DirectorySiteContact (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#directorySiteContact".
dscKind :: Lens' DirectorySiteContact Text

-- | Address of this directory site contact.
dscAddress :: Lens' DirectorySiteContact (Maybe Text)

-- | Directory site contact role.
dscRole :: Lens' DirectorySiteContact (Maybe DirectorySiteContactRole)

-- | First name of this directory site contact.
dscFirstName :: Lens' DirectorySiteContact (Maybe Text)

-- | ID of this directory site contact. This is a read-only, auto-generated
--   field.
dscId :: Lens' DirectorySiteContact (Maybe Int64)

-- | Title or designation of this directory site contact.
dscTitle :: Lens' DirectorySiteContact (Maybe Text)

-- | Directory site contact type.
dscType :: Lens' DirectorySiteContact (Maybe DirectorySiteContactType)

-- | Region List Response
--   
--   <i>See:</i> <a>regionsListResponse</a> smart constructor.
data RegionsListResponse

-- | Creates a value of <a>RegionsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlrKind</a></li>
--   <li><a>rlrRegions</a></li>
--   </ul>
regionsListResponse :: RegionsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#regionsListResponse".
rlrKind :: Lens' RegionsListResponse Text

-- | Region collection.
rlrRegions :: Lens' RegionsListResponse [Region]

-- | Dynamic Tag
--   
--   <i>See:</i> <a>floodlightActivityDynamicTag</a> smart constructor.
data FloodlightActivityDynamicTag

-- | Creates a value of <a>FloodlightActivityDynamicTag</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fadtTag</a></li>
--   <li><a>fadtName</a></li>
--   <li><a>fadtId</a></li>
--   </ul>
floodlightActivityDynamicTag :: FloodlightActivityDynamicTag

-- | Tag code.
fadtTag :: Lens' FloodlightActivityDynamicTag (Maybe Text)

-- | Name of this tag.
fadtName :: Lens' FloodlightActivityDynamicTag (Maybe Text)

-- | ID of this dynamic tag. This is a read-only, auto-generated field.
fadtId :: Lens' FloodlightActivityDynamicTag (Maybe Int64)

-- | Contains information about supported video formats.
--   
--   <i>See:</i> <a>videoFormat</a> smart constructor.
data VideoFormat

-- | Creates a value of <a>VideoFormat</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vfKind</a></li>
--   <li><a>vfFileType</a></li>
--   <li><a>vfResolution</a></li>
--   <li><a>vfTargetBitRate</a></li>
--   <li><a>vfId</a></li>
--   </ul>
videoFormat :: VideoFormat

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#videoFormat".
vfKind :: Lens' VideoFormat Text

-- | File type of the video format.
vfFileType :: Lens' VideoFormat (Maybe VideoFormatFileType)

-- | The resolution of this video format.
vfResolution :: Lens' VideoFormat (Maybe Size)

-- | The target bit rate of this video format.
vfTargetBitRate :: Lens' VideoFormat (Maybe Int32)

-- | ID of the video format.
vfId :: Lens' VideoFormat (Maybe Int32)

-- | Trafficker type of this user profile.
data AccountUserProFileTraffickerType

-- | <pre>
--   EXTERNAL_TRAFFICKER
--   </pre>
ExternalTrafficker :: AccountUserProFileTraffickerType

-- | <pre>
--   INTERNAL_NON_TRAFFICKER
--   </pre>
InternalNonTrafficker :: AccountUserProFileTraffickerType

-- | <pre>
--   INTERNAL_TRAFFICKER
--   </pre>
InternalTrafficker :: AccountUserProFileTraffickerType

-- | DirectorySites contains properties of a website from the Site
--   Directory. Sites need to be added to an account via the Sites resource
--   before they can be assigned to a placement.
--   
--   <i>See:</i> <a>directorySite</a> smart constructor.
data DirectorySite

-- | Creates a value of <a>DirectorySite</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsCurrencyId</a></li>
--   <li><a>dsSettings</a></li>
--   <li><a>dsInterstitialTagFormats</a></li>
--   <li><a>dsKind</a></li>
--   <li><a>dsURL</a></li>
--   <li><a>dsIdDimensionValue</a></li>
--   <li><a>dsInpageTagFormats</a></li>
--   <li><a>dsActive</a></li>
--   <li><a>dsName</a></li>
--   <li><a>dsId</a></li>
--   <li><a>dsCountryId</a></li>
--   <li><a>dsContactAssignments</a></li>
--   <li><a>dsDescription</a></li>
--   <li><a>dsParentId</a></li>
--   </ul>
directorySite :: DirectorySite

-- | Currency ID of this directory site. Possible values are: - "1" for USD
--   - "2" for GBP - "3" for ESP - "4" for SEK - "5" for CAD - "6" for JPY
--   - "7" for DEM - "8" for AUD - "9" for FRF - "10" for ITL - "11" for
--   DKK - "12" for NOK - "13" for FIM - "14" for ZAR - "15" for IEP - "16"
--   for NLG - "17" for EUR - "18" for KRW - "19" for TWD - "20" for SGD -
--   "21" for CNY - "22" for HKD - "23" for NZD - "24" for MYR - "25" for
--   BRL - "26" for PTE - "27" for MXP - "28" for CLP - "29" for TRY - "30"
--   for ARS - "31" for PEN - "32" for ILS - "33" for CHF - "34" for VEF -
--   "35" for COP - "36" for GTQ - "37" for PLN - "39" for INR - "40" for
--   THB - "41" for IDR - "42" for CZK - "43" for RON - "44" for HUF - "45"
--   for RUB - "46" for AED - "47" for BGN - "48" for HRK
dsCurrencyId :: Lens' DirectorySite (Maybe Int64)

-- | Directory site settings.
dsSettings :: Lens' DirectorySite (Maybe DirectorySiteSettings)

-- | Tag types for interstitial placements. Acceptable values are: -
--   "IFRAME_JAVASCRIPT_INTERSTITIAL" - "INTERNAL_REDIRECT_INTERSTITIAL" -
--   "JAVASCRIPT_INTERSTITIAL"
dsInterstitialTagFormats :: Lens' DirectorySite [DirectorySiteInterstitialTagFormatsItem]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#directorySite".
dsKind :: Lens' DirectorySite Text

-- | URL of this directory site.
dsURL :: Lens' DirectorySite (Maybe Text)

-- | Dimension value for the ID of this directory site. This is a
--   read-only, auto-generated field.
dsIdDimensionValue :: Lens' DirectorySite (Maybe DimensionValue)

-- | Tag types for regular placements. Acceptable values are: - "STANDARD"
--   - "IFRAME_JAVASCRIPT_INPAGE" - "INTERNAL_REDIRECT_INPAGE" -
--   "JAVASCRIPT_INPAGE"
dsInpageTagFormats :: Lens' DirectorySite [DirectorySiteInpageTagFormatsItem]

-- | Whether this directory site is active.
dsActive :: Lens' DirectorySite (Maybe Bool)

-- | Name of this directory site.
dsName :: Lens' DirectorySite (Maybe Text)

-- | ID of this directory site. This is a read-only, auto-generated field.
dsId :: Lens' DirectorySite (Maybe Int64)

-- | Country ID of this directory site.
dsCountryId :: Lens' DirectorySite (Maybe Int64)

-- | Directory site contacts.
dsContactAssignments :: Lens' DirectorySite [DirectorySiteContactAssignment]

-- | Description of this directory site.
dsDescription :: Lens' DirectorySite (Maybe Text)

-- | Parent directory site ID.
dsParentId :: Lens' DirectorySite (Maybe Int64)
data CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   APPLICATION_CACHE
--   </pre>
ApplicationCache :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   AUDIO
--   </pre>
Audio :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CANVAS
--   </pre>
Canvas :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CANVAS_TEXT
--   </pre>
CanvasText :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_ANIMATIONS
--   </pre>
CssAnimations :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_BACKGROUND_SIZE
--   </pre>
CssBackgRoundSize :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_BORDER_IMAGE
--   </pre>
CssBOrderImage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_BORDER_RADIUS
--   </pre>
CssBOrderRadius :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_BOX_SHADOW
--   </pre>
CssBoxShadow :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_COLUMNS
--   </pre>
CssColumns :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_FLEX_BOX
--   </pre>
CssFlexBox :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_FONT_FACE
--   </pre>
CssFontFace :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_GENERATED_CONTENT
--   </pre>
CssGeneratedContent :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_GRADIENTS
--   </pre>
CssGradients :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_HSLA
--   </pre>
CssHsla :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_MULTIPLE_BGS
--   </pre>
CssMultipleBgs :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_OPACITY
--   </pre>
CssOpacity :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_REFLECTIONS
--   </pre>
CssReflections :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_RGBA
--   </pre>
CssRgba :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_TEXT_SHADOW
--   </pre>
CssTextShadow :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS
--   </pre>
CssTransforms :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS3D
--   </pre>
CssTRANSFORMS3D :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSITIONS
--   </pre>
CssTransitions :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   DRAG_AND_DROP
--   </pre>
DragAndDrop :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   GEO_LOCATION
--   </pre>
GeoLocation :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   HASH_CHANGE
--   </pre>
HashChange :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   HISTORY
--   </pre>
History :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INDEXED_DB
--   </pre>
IndexedDB :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INLINE_SVG
--   </pre>
InlineSvg :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOCOMPLETE
--   </pre>
InputAttrAutocomplete :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOFOCUS
--   </pre>
InputAttrAutofocus :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_LIST
--   </pre>
InputAttrList :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MAX
--   </pre>
InputAttrMax :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MIN
--   </pre>
InputAttrMin :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MULTIPLE
--   </pre>
InputAttrMultiple :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_PATTERN
--   </pre>
InputAttrPattern :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_PLACEHOLDER
--   </pre>
InputAttrPlaceholder :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_REQUIRED
--   </pre>
InputAttrRequired :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_STEP
--   </pre>
InputAttrStep :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_COLOR
--   </pre>
InputTypeColor :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATE
--   </pre>
InputTypeDate :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME
--   </pre>
InputTypeDatetime :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME_LOCAL
--   </pre>
InputTypeDatetimeLocal :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_EMAIL
--   </pre>
InputTypeEmail :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_MONTH
--   </pre>
InputTypeMonth :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_NUMBER
--   </pre>
InputTypeNumber :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_RANGE
--   </pre>
InputTypeRange :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_SEARCH
--   </pre>
InputTypeSearch :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_TEL
--   </pre>
InputTypeTel :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_TIME
--   </pre>
InputTypeTime :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_URL
--   </pre>
InputTypeURL :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_WEEK
--   </pre>
InputTypeWeek :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   LOCAL_STORAGE
--   </pre>
LocalStorage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   POST_MESSAGE
--   </pre>
PostMessage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SESSION_STORAGE
--   </pre>
SessionStorage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SMIL
--   </pre>
Smil :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SVG_CLIP_PATHS
--   </pre>
SvgClipPaths :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SVG_FE_IMAGE
--   </pre>
SvgFeImage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SVG_FILTERS
--   </pre>
SvgFilters :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SVG_HREF
--   </pre>
SvgHref :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   TOUCH
--   </pre>
Touch :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   VIDEO
--   </pre>
Video :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   WEBGL
--   </pre>
Webgl :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   WEB_SOCKETS
--   </pre>
WebSockets :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   WEB_SQL_DATABASE
--   </pre>
WebSQLDatabase :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   WEB_WORKERS
--   </pre>
WebWorkers :: CreativeAssetMetadataDetectedFeaturesItem

-- | The properties of the report.
--   
--   <i>See:</i> <a>reportFloodlightCriteriaReportProperties</a> smart
--   constructor.
data ReportFloodlightCriteriaReportProperties

-- | Creates a value of <a>ReportFloodlightCriteriaReportProperties</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rfcrpIncludeUnattributedIPConversions</a></li>
--   <li><a>rfcrpIncludeUnattributedCookieConversions</a></li>
--   <li><a>rfcrpIncludeAttributedIPConversions</a></li>
--   </ul>
reportFloodlightCriteriaReportProperties :: ReportFloodlightCriteriaReportProperties

-- | Include conversions that have no associated cookies and no exposures.
--   It’s therefore impossible to know how the user was exposed to your ads
--   during the lookback window prior to a conversion.
rfcrpIncludeUnattributedIPConversions :: Lens' ReportFloodlightCriteriaReportProperties (Maybe Bool)

-- | Include conversions of users with a DoubleClick cookie but without an
--   exposure. That means the user did not click or see an ad from the
--   advertiser within the Floodlight group, or that the interaction
--   happened outside the lookback window.
rfcrpIncludeUnattributedCookieConversions :: Lens' ReportFloodlightCriteriaReportProperties (Maybe Bool)

-- | Include conversions that have no cookie, but do have an exposure path.
rfcrpIncludeAttributedIPConversions :: Lens' ReportFloodlightCriteriaReportProperties (Maybe Bool)

-- | Contains properties of a Floodlight activity group.
--   
--   <i>See:</i> <a>floodlightActivityGroup</a> smart constructor.
data FloodlightActivityGroup

-- | Creates a value of <a>FloodlightActivityGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fagTagString</a></li>
--   <li><a>fagFloodlightConfigurationId</a></li>
--   <li><a>fagKind</a></li>
--   <li><a>fagAdvertiserId</a></li>
--   <li><a>fagAdvertiserIdDimensionValue</a></li>
--   <li><a>fagIdDimensionValue</a></li>
--   <li><a>fagAccountId</a></li>
--   <li><a>fagName</a></li>
--   <li><a>fagId</a></li>
--   <li><a>fagSubAccountId</a></li>
--   <li><a>fagType</a></li>
--   <li><a>fagFloodlightConfigurationIdDimensionValue</a></li>
--   </ul>
floodlightActivityGroup :: FloodlightActivityGroup

-- | Value of the type= parameter in the floodlight tag, which the ad
--   servers use to identify the activity group that the activity belongs
--   to. This is optional: if empty, a new tag string will be generated for
--   you. This string must be 1 to 8 characters long, with valid characters
--   being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique
--   among activity groups of the same floodlight configuration. This field
--   is read-only after insertion.
fagTagString :: Lens' FloodlightActivityGroup (Maybe Text)

-- | Floodlight configuration ID of this floodlight activity group. This is
--   a required field.
fagFloodlightConfigurationId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivityGroup".
fagKind :: Lens' FloodlightActivityGroup Text

-- | Advertiser ID of this floodlight activity group. If this field is left
--   blank, the value will be copied over either from the floodlight
--   configuration's advertiser or from the existing activity group's
--   advertiser.
fagAdvertiserId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
fagAdvertiserIdDimensionValue :: Lens' FloodlightActivityGroup (Maybe DimensionValue)

-- | Dimension value for the ID of this floodlight activity group. This is
--   a read-only, auto-generated field.
fagIdDimensionValue :: Lens' FloodlightActivityGroup (Maybe DimensionValue)

-- | Account ID of this floodlight activity group. This is a read-only
--   field that can be left blank.
fagAccountId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Name of this floodlight activity group. This is a required field. Must
--   be less than 65 characters long and cannot contain quotes.
fagName :: Lens' FloodlightActivityGroup (Maybe Text)

-- | ID of this floodlight activity group. This is a read-only,
--   auto-generated field.
fagId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Subaccount ID of this floodlight activity group. This is a read-only
--   field that can be left blank.
fagSubAccountId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Type of the floodlight activity group. This is a required field that
--   is read-only after insertion.
fagType :: Lens' FloodlightActivityGroup (Maybe FloodlightActivityGroupType)

-- | Dimension value for the ID of the floodlight configuration. This is a
--   read-only, auto-generated field.
fagFloodlightConfigurationIdDimensionValue :: Lens' FloodlightActivityGroup (Maybe DimensionValue)

-- | Select default ads with the specified compatibility. Applicable when
--   type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer
--   to rendering either on desktop or on mobile devices for regular or
--   interstitial ads, respectively. APP and APP_INTERSTITIAL are for
--   rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
--   in-stream video ads developed with the VAST standard.
data AdsListCompatibility

-- | <pre>
--   APP
--   </pre>
ALCApp :: AdsListCompatibility

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
ALCAppInterstitial :: AdsListCompatibility

-- | <pre>
--   DISPLAY
--   </pre>
ALCDisplay :: AdsListCompatibility

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
ALCDisplayInterstitial :: AdsListCompatibility

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
ALCInStreamVideo :: AdsListCompatibility

-- | Represents fields that are compatible to be selected for a report of
--   type "CROSS_DIMENSION_REACH".
--   
--   <i>See:</i> <a>crossDimensionReachReportCompatibleFields</a> smart
--   constructor.
data CrossDimensionReachReportCompatibleFields

-- | Creates a value of <a>CrossDimensionReachReportCompatibleFields</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdrrcfMetrics</a></li>
--   <li><a>cdrrcfBreakdown</a></li>
--   <li><a>cdrrcfKind</a></li>
--   <li><a>cdrrcfDimensionFilters</a></li>
--   <li><a>cdrrcfOverlapMetrics</a></li>
--   </ul>
crossDimensionReachReportCompatibleFields :: CrossDimensionReachReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
cdrrcfMetrics :: Lens' CrossDimensionReachReportCompatibleFields [Metric]

-- | Dimensions which are compatible to be selected in the "breakdown"
--   section of the report.
cdrrcfBreakdown :: Lens' CrossDimensionReachReportCompatibleFields [Dimension]

-- | The kind of resource this is, in this case
--   dfareporting#crossDimensionReachReportCompatibleFields.
cdrrcfKind :: Lens' CrossDimensionReachReportCompatibleFields Text

-- | Dimensions which are compatible to be selected in the
--   "dimensionFilters" section of the report.
cdrrcfDimensionFilters :: Lens' CrossDimensionReachReportCompatibleFields [Dimension]

-- | Metrics which are compatible to be selected in the
--   "overlapMetricNames" section of the report.
cdrrcfOverlapMetrics :: Lens' CrossDimensionReachReportCompatibleFields [Metric]

-- | FsCommand.
--   
--   <i>See:</i> <a>fsCommand</a> smart constructor.
data FsCommand

-- | Creates a value of <a>FsCommand</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcPositionOption</a></li>
--   <li><a>fcLeft</a></li>
--   <li><a>fcWindowHeight</a></li>
--   <li><a>fcWindowWidth</a></li>
--   <li><a>fcTop</a></li>
--   </ul>
fsCommand :: FsCommand

-- | Position in the browser where the window will open.
fcPositionOption :: Lens' FsCommand (Maybe FsCommandPositionOption)

-- | Distance from the left of the browser.Applicable when positionOption
--   is DISTANCE_FROM_TOP_LEFT_CORNER.
fcLeft :: Lens' FsCommand (Maybe Int32)

-- | Height of the window.
fcWindowHeight :: Lens' FsCommand (Maybe Int32)

-- | Width of the window.
fcWindowWidth :: Lens' FsCommand (Maybe Int32)

-- | Distance from the top of the browser. Applicable when positionOption
--   is DISTANCE_FROM_TOP_LEFT_CORNER.
fcTop :: Lens' FsCommand (Maybe Int32)

-- | Placement Assignment.
--   
--   <i>See:</i> <a>placementAssignment</a> smart constructor.
data PlacementAssignment

-- | Creates a value of <a>PlacementAssignment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>paPlacementId</a></li>
--   <li><a>paPlacementIdDimensionValue</a></li>
--   <li><a>paActive</a></li>
--   <li><a>paSSLRequired</a></li>
--   </ul>
placementAssignment :: PlacementAssignment

-- | ID of the placement to be assigned. This is a required field.
paPlacementId :: Lens' PlacementAssignment (Maybe Int64)

-- | Dimension value for the ID of the placement. This is a read-only,
--   auto-generated field.
paPlacementIdDimensionValue :: Lens' PlacementAssignment (Maybe DimensionValue)

-- | Whether this placement assignment is active. When true, the placement
--   will be included in the ad's rotation.
paActive :: Lens' PlacementAssignment (Maybe Bool)

-- | Whether the placement to be assigned requires SSL. This is a read-only
--   field that is auto-generated when the ad is inserted or updated.
paSSLRequired :: Lens' PlacementAssignment (Maybe Bool)

-- | Contains properties of a creative field value.
--   
--   <i>See:</i> <a>creativeFieldValue</a> smart constructor.
data CreativeFieldValue

-- | Creates a value of <a>CreativeFieldValue</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfvKind</a></li>
--   <li><a>cfvValue</a></li>
--   <li><a>cfvId</a></li>
--   </ul>
creativeFieldValue :: CreativeFieldValue

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeFieldValue".
cfvKind :: Lens' CreativeFieldValue Text

-- | Value of this creative field value. It needs to be less than 256
--   characters in length and unique per creative field.
cfvValue :: Lens' CreativeFieldValue (Maybe Text)

-- | ID of this creative field value. This is a read-only, auto-generated
--   field.
cfvId :: Lens' CreativeFieldValue (Maybe Int64)

-- | Status of this event tag. Must be ENABLED for this event tag to fire.
--   This is a required field.
data EventTagStatus

-- | <pre>
--   DISABLED
--   </pre>
Disabled :: EventTagStatus

-- | <pre>
--   ENABLED
--   </pre>
Enabled :: EventTagStatus

-- | Field by which to sort the list.
data SitesListSortField

-- | <pre>
--   ID
--   </pre>
SLSFID :: SitesListSortField

-- | <pre>
--   NAME
--   </pre>
SLSFName :: SitesListSortField

-- | Represents a DimensionValuesRequest.
--   
--   <i>See:</i> <a>dimensionValueRequest</a> smart constructor.
data DimensionValueRequest

-- | Creates a value of <a>DimensionValueRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvrKind</a></li>
--   <li><a>dvrEndDate</a></li>
--   <li><a>dvrFilters</a></li>
--   <li><a>dvrStartDate</a></li>
--   <li><a>dvrDimensionName</a></li>
--   </ul>
dimensionValueRequest :: DimensionValueRequest

-- | The kind of request this is, in this case
--   dfareporting#dimensionValueRequest.
dvrKind :: Lens' DimensionValueRequest Text

-- | The end date of the date range for which to retrieve dimension values.
--   A string of the format "yyyy-MM-dd".
dvrEndDate :: Lens' DimensionValueRequest (Maybe Day)

-- | The list of filters by which to filter values. The filters are ANDed.
dvrFilters :: Lens' DimensionValueRequest [DimensionFilter]

-- | The start date of the date range for which to retrieve dimension
--   values. A string of the format "yyyy-MM-dd".
dvrStartDate :: Lens' DimensionValueRequest (Maybe Day)

-- | The name of the dimension for which values should be requested.
dvrDimensionName :: Lens' DimensionValueRequest (Maybe Text)

-- | Select only event tags with the specified event tag types. Event tag
--   types can be used to specify whether to use a third-party pixel, a
--   third-party JavaScript URL, or a third-party click-through URL for
--   either impression or click tracking.
data EventTagsListEventTagTypes

-- | <pre>
--   CLICK_THROUGH_EVENT_TAG
--   </pre>
ClickThroughEventTag :: EventTagsListEventTagTypes

-- | <pre>
--   IMPRESSION_IMAGE_EVENT_TAG
--   </pre>
ImpressionImageEventTag :: EventTagsListEventTagTypes

-- | <pre>
--   IMPRESSION_JAVASCRIPT_EVENT_TAG
--   </pre>
ImpressionJavascriptEventTag :: EventTagsListEventTagTypes

-- | Floodlight Configuration List Response
--   
--   <i>See:</i> <a>floodlightConfigurationsListResponse</a> smart
--   constructor.
data FloodlightConfigurationsListResponse

-- | Creates a value of <a>FloodlightConfigurationsListResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fclrKind</a></li>
--   <li><a>fclrFloodlightConfigurations</a></li>
--   </ul>
floodlightConfigurationsListResponse :: FloodlightConfigurationsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightConfigurationsListResponse".
fclrKind :: Lens' FloodlightConfigurationsListResponse Text

-- | Floodlight configuration collection.
fclrFloodlightConfigurations :: Lens' FloodlightConfigurationsListResponse [FloodlightConfiguration]

-- | Floodlight Activity List Response
--   
--   <i>See:</i> <a>floodlightActivitiesListResponse</a> smart constructor.
data FloodlightActivitiesListResponse

-- | Creates a value of <a>FloodlightActivitiesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>falrNextPageToken</a></li>
--   <li><a>falrKind</a></li>
--   <li><a>falrFloodlightActivities</a></li>
--   </ul>
floodlightActivitiesListResponse :: FloodlightActivitiesListResponse

-- | Pagination token to be used for the next list operation.
falrNextPageToken :: Lens' FloodlightActivitiesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivitiesListResponse".
falrKind :: Lens' FloodlightActivitiesListResponse Text

-- | Floodlight activity collection.
falrFloodlightActivities :: Lens' FloodlightActivitiesListResponse [FloodlightActivity]

-- | The status of the report file.
data FileStatus

-- | <pre>
--   CANCELLED
--   </pre>
Cancelled :: FileStatus

-- | <pre>
--   FAILED
--   </pre>
Failed :: FileStatus

-- | <pre>
--   PROCESSING
--   </pre>
Processing :: FileStatus

-- | <pre>
--   REPORT_AVAILABLE
--   </pre>
ReportAvailable :: FileStatus

-- | Artwork type used by the creative.This is a read-only field.
data CreativeCustomEventArtworkType

-- | <pre>
--   ARTWORK_TYPE_FLASH
--   </pre>
ArtworkTypeFlash :: CreativeCustomEventArtworkType

-- | <pre>
--   ARTWORK_TYPE_HTML5
--   </pre>
ArtworkTypeHTML5 :: CreativeCustomEventArtworkType

-- | <pre>
--   ARTWORK_TYPE_IMAGE
--   </pre>
ArtworkTypeImage :: CreativeCustomEventArtworkType

-- | <pre>
--   ARTWORK_TYPE_MIXED
--   </pre>
ArtworkTypeMixed :: CreativeCustomEventArtworkType

-- | Creative Field Assignment.
--   
--   <i>See:</i> <a>creativeFieldAssignment</a> smart constructor.
data CreativeFieldAssignment

-- | Creates a value of <a>CreativeFieldAssignment</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfaCreativeFieldId</a></li>
--   <li><a>cfaCreativeFieldValueId</a></li>
--   </ul>
creativeFieldAssignment :: CreativeFieldAssignment

-- | ID of the creative field.
cfaCreativeFieldId :: Lens' CreativeFieldAssignment (Maybe Int64)

-- | ID of the creative field value.
cfaCreativeFieldValueId :: Lens' CreativeFieldAssignment (Maybe Int64)

-- | Groups advertisers together so that reports can be generated for the
--   entire group at once.
--   
--   <i>See:</i> <a>advertiserGroup</a> smart constructor.
data AdvertiserGroup

-- | Creates a value of <a>AdvertiserGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agKind</a></li>
--   <li><a>agAccountId</a></li>
--   <li><a>agName</a></li>
--   <li><a>agId</a></li>
--   </ul>
advertiserGroup :: AdvertiserGroup

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#advertiserGroup".
agKind :: Lens' AdvertiserGroup Text

-- | Account ID of this advertiser group. This is a read-only field that
--   can be left blank.
agAccountId :: Lens' AdvertiserGroup (Maybe Int64)

-- | Name of this advertiser group. This is a required field and must be
--   less than 256 characters long and unique among advertiser groups of
--   the same account.
agName :: Lens' AdvertiserGroup (Maybe Text)

-- | ID of this advertiser group. This is a read-only, auto-generated
--   field.
agId :: Lens' AdvertiserGroup (Maybe Int64)

-- | Placement Tag Data
--   
--   <i>See:</i> <a>tagData</a> smart constructor.
data TagData

-- | Creates a value of <a>TagData</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tdClickTag</a></li>
--   <li><a>tdFormat</a></li>
--   <li><a>tdCreativeId</a></li>
--   <li><a>tdAdId</a></li>
--   <li><a>tdImpressionTag</a></li>
--   </ul>
tagData :: TagData

-- | Tag string to record a click.
tdClickTag :: Lens' TagData (Maybe Text)

-- | TagData tag format of this tag.
tdFormat :: Lens' TagData (Maybe TagDataFormat)

-- | Creative associated with this placement tag.
tdCreativeId :: Lens' TagData (Maybe Int64)

-- | Ad associated with this placement tag.
tdAdId :: Lens' TagData (Maybe Int64)

-- | Tag string for serving an ad.
tdImpressionTag :: Lens' TagData (Maybe Text)

-- | Day Part Targeting.
--   
--   <i>See:</i> <a>dayPartTargeting</a> smart constructor.
data DayPartTargeting

-- | Creates a value of <a>DayPartTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dptDaysOfWeek</a></li>
--   <li><a>dptHoursOfDay</a></li>
--   <li><a>dptUserLocalTime</a></li>
--   </ul>
dayPartTargeting :: DayPartTargeting

-- | Days of the week when the ad will serve. Acceptable values are: -
--   "SUNDAY" - "MONDAY" - "TUESDAY" - "WEDNESDAY" - "THURSDAY" - "FRIDAY"
--   - "SATURDAY"
dptDaysOfWeek :: Lens' DayPartTargeting [DayPartTargetingDaysOfWeekItem]

-- | Hours of the day when the ad will serve. Must be an integer between 0
--   and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to
--   midnight. Can be specified with days of week, in which case the ad
--   would serve during these hours on the specified days. For example, if
--   Monday, Wednesday, Friday are the days of week specified and 9-10am,
--   3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday,
--   Wednesdays, and Fridays at 9-10am and 3-5pm.
dptHoursOfDay :: Lens' DayPartTargeting [Int32]

-- | Whether or not to use the user's local time. If false, the America/New
--   York time zone applies.
dptUserLocalTime :: Lens' DayPartTargeting (Maybe Bool)

-- | Creative optimization settings.
--   
--   <i>See:</i> <a>creativeOptimizationConfiguration</a> smart
--   constructor.
data CreativeOptimizationConfiguration

-- | Creates a value of <a>CreativeOptimizationConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cocOptimizationModel</a></li>
--   <li><a>cocName</a></li>
--   <li><a>cocOptimizationActivitys</a></li>
--   <li><a>cocId</a></li>
--   </ul>
creativeOptimizationConfiguration :: CreativeOptimizationConfiguration

-- | Optimization model for this configuration.
cocOptimizationModel :: Lens' CreativeOptimizationConfiguration (Maybe CreativeOptimizationConfigurationOptimizationModel)

-- | Name of this creative optimization config. This is a required field
--   and must be less than 129 characters long.
cocName :: Lens' CreativeOptimizationConfiguration (Maybe Text)

-- | List of optimization activities associated with this configuration.
cocOptimizationActivitys :: Lens' CreativeOptimizationConfiguration [OptimizationActivity]

-- | ID of this creative optimization config. This field is auto-generated
--   when the campaign is inserted or updated. It can be null for existing
--   campaigns.
cocId :: Lens' CreativeOptimizationConfiguration (Maybe Int64)

-- | The report criteria for a report of type "STANDARD".
--   
--   <i>See:</i> <a>reportCriteria</a> smart constructor.
data ReportCriteria

-- | Creates a value of <a>ReportCriteria</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcMetricNames</a></li>
--   <li><a>rcCustomRichMediaEvents</a></li>
--   <li><a>rcDimensionFilters</a></li>
--   <li><a>rcActivities</a></li>
--   <li><a>rcDateRange</a></li>
--   <li><a>rcDimensions</a></li>
--   </ul>
reportCriteria :: ReportCriteria

-- | The list of names of metrics the report should include.
rcMetricNames :: Lens' ReportCriteria [Text]

-- | Custom Rich Media Events group.
rcCustomRichMediaEvents :: Lens' ReportCriteria (Maybe CustomRichMediaEvents)

-- | The list of filters on which dimensions are filtered. Filters for
--   different dimensions are ANDed, filters for the same dimension are
--   grouped together and ORed.
rcDimensionFilters :: Lens' ReportCriteria [DimensionValue]

-- | Activity group.
rcActivities :: Lens' ReportCriteria (Maybe Activities)

-- | The date range for which this report should be run.
rcDateRange :: Lens' ReportCriteria (Maybe DateRange)

-- | The list of standard dimensions the report should include.
rcDimensions :: Lens' ReportCriteria [SortedDimension]

-- | Types of attribution options for natural search conversions.
data FloodlightConfigurationNATuralSearchConversionAttributionOption

-- | <pre>
--   EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION
--   </pre>
ExcludeNATuralSearchConversionAttribution :: FloodlightConfigurationNATuralSearchConversionAttributionOption

-- | <pre>
--   INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION
--   </pre>
IncludeNATuralSearchConversionAttribution :: FloodlightConfigurationNATuralSearchConversionAttributionOption

-- | <pre>
--   INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION
--   </pre>
IncludeNATuralSearchTieredConversionAttribution :: FloodlightConfigurationNATuralSearchConversionAttributionOption

-- | Placement Strategy List Response
--   
--   <i>See:</i> <a>placementStrategiesListResponse</a> smart constructor.
data PlacementStrategiesListResponse

-- | Creates a value of <a>PlacementStrategiesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pslrPlacementStrategies</a></li>
--   <li><a>pslrNextPageToken</a></li>
--   <li><a>pslrKind</a></li>
--   </ul>
placementStrategiesListResponse :: PlacementStrategiesListResponse

-- | Placement strategy collection.
pslrPlacementStrategies :: Lens' PlacementStrategiesListResponse [PlacementStrategy]

-- | Pagination token to be used for the next list operation.
pslrNextPageToken :: Lens' PlacementStrategiesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementStrategiesListResponse".
pslrKind :: Lens' PlacementStrategiesListResponse Text

-- | Artwork type of rich media creative. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA.
data CreativeAssetArtworkType

-- | <pre>
--   ARTWORK_TYPE_FLASH
--   </pre>
CAATArtworkTypeFlash :: CreativeAssetArtworkType

-- | <pre>
--   ARTWORK_TYPE_HTML5
--   </pre>
CAATArtworkTypeHTML5 :: CreativeAssetArtworkType

-- | <pre>
--   ARTWORK_TYPE_IMAGE
--   </pre>
CAATArtworkTypeImage :: CreativeAssetArtworkType

-- | <pre>
--   ARTWORK_TYPE_MIXED
--   </pre>
CAATArtworkTypeMixed :: CreativeAssetArtworkType

-- | Contains properties of a DCM subaccount.
--   
--   <i>See:</i> <a>subAccount</a> smart constructor.
data SubAccount

-- | Creates a value of <a>SubAccount</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>saKind</a></li>
--   <li><a>saAvailablePermissionIds</a></li>
--   <li><a>saAccountId</a></li>
--   <li><a>saName</a></li>
--   <li><a>saId</a></li>
--   </ul>
subAccount :: SubAccount

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#subaccount".
saKind :: Lens' SubAccount Text

-- | IDs of the available user role permissions for this subaccount.
saAvailablePermissionIds :: Lens' SubAccount [Int64]

-- | ID of the account that contains this subaccount. This is a read-only
--   field that can be left blank.
saAccountId :: Lens' SubAccount (Maybe Int64)

-- | Name of this subaccount. This is a required field. Must be less than
--   128 characters long and be unique among subaccounts of the same
--   account.
saName :: Lens' SubAccount (Maybe Text)

-- | ID of this subaccount. This is a read-only, auto-generated field.
saId :: Lens' SubAccount (Maybe Int64)

-- | Inventory item List Response
--   
--   <i>See:</i> <a>inventoryItemsListResponse</a> smart constructor.
data InventoryItemsListResponse

-- | Creates a value of <a>InventoryItemsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iilrInventoryItems</a></li>
--   <li><a>iilrNextPageToken</a></li>
--   <li><a>iilrKind</a></li>
--   </ul>
inventoryItemsListResponse :: InventoryItemsListResponse

-- | Inventory item collection
iilrInventoryItems :: Lens' InventoryItemsListResponse [InventoryItem]

-- | Pagination token to be used for the next list operation.
iilrNextPageToken :: Lens' InventoryItemsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#inventoryItemsListResponse".
iilrKind :: Lens' InventoryItemsListResponse Text

-- | The type of custom floodlight variable to supply a value for. These
--   map to the "u[1-20]=" in the tags.
data CustomFloodlightVariableType

-- | <pre>
--   U1
--   </pre>
U1 :: CustomFloodlightVariableType

-- | <pre>
--   U10
--   </pre>
U10 :: CustomFloodlightVariableType

-- | <pre>
--   U100
--   </pre>
U100 :: CustomFloodlightVariableType

-- | <pre>
--   U11
--   </pre>
U11 :: CustomFloodlightVariableType

-- | <pre>
--   U12
--   </pre>
U12 :: CustomFloodlightVariableType

-- | <pre>
--   U13
--   </pre>
U13 :: CustomFloodlightVariableType

-- | <pre>
--   U14
--   </pre>
U14 :: CustomFloodlightVariableType

-- | <pre>
--   U15
--   </pre>
U15 :: CustomFloodlightVariableType

-- | <pre>
--   U16
--   </pre>
U16 :: CustomFloodlightVariableType

-- | <pre>
--   U17
--   </pre>
U17 :: CustomFloodlightVariableType

-- | <pre>
--   U18
--   </pre>
U18 :: CustomFloodlightVariableType

-- | <pre>
--   U19
--   </pre>
U19 :: CustomFloodlightVariableType

-- | <pre>
--   U2
--   </pre>
U2 :: CustomFloodlightVariableType

-- | <pre>
--   U20
--   </pre>
U20 :: CustomFloodlightVariableType

-- | <pre>
--   U21
--   </pre>
U21 :: CustomFloodlightVariableType

-- | <pre>
--   U22
--   </pre>
U22 :: CustomFloodlightVariableType

-- | <pre>
--   U23
--   </pre>
U23 :: CustomFloodlightVariableType

-- | <pre>
--   U24
--   </pre>
U24 :: CustomFloodlightVariableType

-- | <pre>
--   U25
--   </pre>
U25 :: CustomFloodlightVariableType

-- | <pre>
--   U26
--   </pre>
U26 :: CustomFloodlightVariableType

-- | <pre>
--   U27
--   </pre>
U27 :: CustomFloodlightVariableType

-- | <pre>
--   U28
--   </pre>
U28 :: CustomFloodlightVariableType

-- | <pre>
--   U29
--   </pre>
U29 :: CustomFloodlightVariableType

-- | <pre>
--   U3
--   </pre>
U3 :: CustomFloodlightVariableType

-- | <pre>
--   U30
--   </pre>
U30 :: CustomFloodlightVariableType

-- | <pre>
--   U31
--   </pre>
U31 :: CustomFloodlightVariableType

-- | <pre>
--   U32
--   </pre>
U32 :: CustomFloodlightVariableType

-- | <pre>
--   U33
--   </pre>
U33 :: CustomFloodlightVariableType

-- | <pre>
--   U34
--   </pre>
U34 :: CustomFloodlightVariableType

-- | <pre>
--   U35
--   </pre>
U35 :: CustomFloodlightVariableType

-- | <pre>
--   U36
--   </pre>
U36 :: CustomFloodlightVariableType

-- | <pre>
--   U37
--   </pre>
U37 :: CustomFloodlightVariableType

-- | <pre>
--   U38
--   </pre>
U38 :: CustomFloodlightVariableType

-- | <pre>
--   U39
--   </pre>
U39 :: CustomFloodlightVariableType

-- | <pre>
--   U4
--   </pre>
U4 :: CustomFloodlightVariableType

-- | <pre>
--   U40
--   </pre>
U40 :: CustomFloodlightVariableType

-- | <pre>
--   U41
--   </pre>
U41 :: CustomFloodlightVariableType

-- | <pre>
--   U42
--   </pre>
U42 :: CustomFloodlightVariableType

-- | <pre>
--   U43
--   </pre>
U43 :: CustomFloodlightVariableType

-- | <pre>
--   U44
--   </pre>
U44 :: CustomFloodlightVariableType

-- | <pre>
--   U45
--   </pre>
U45 :: CustomFloodlightVariableType

-- | <pre>
--   U46
--   </pre>
U46 :: CustomFloodlightVariableType

-- | <pre>
--   U47
--   </pre>
U47 :: CustomFloodlightVariableType

-- | <pre>
--   U48
--   </pre>
U48 :: CustomFloodlightVariableType

-- | <pre>
--   U49
--   </pre>
U49 :: CustomFloodlightVariableType

-- | <pre>
--   U5
--   </pre>
U5 :: CustomFloodlightVariableType

-- | <pre>
--   U50
--   </pre>
U50 :: CustomFloodlightVariableType

-- | <pre>
--   U51
--   </pre>
U51 :: CustomFloodlightVariableType

-- | <pre>
--   U52
--   </pre>
U52 :: CustomFloodlightVariableType

-- | <pre>
--   U53
--   </pre>
U53 :: CustomFloodlightVariableType

-- | <pre>
--   U54
--   </pre>
U54 :: CustomFloodlightVariableType

-- | <pre>
--   U55
--   </pre>
U55 :: CustomFloodlightVariableType

-- | <pre>
--   U56
--   </pre>
U56 :: CustomFloodlightVariableType

-- | <pre>
--   U57
--   </pre>
U57 :: CustomFloodlightVariableType

-- | <pre>
--   U58
--   </pre>
U58 :: CustomFloodlightVariableType

-- | <pre>
--   U59
--   </pre>
U59 :: CustomFloodlightVariableType

-- | <pre>
--   U6
--   </pre>
U6 :: CustomFloodlightVariableType

-- | <pre>
--   U60
--   </pre>
U60 :: CustomFloodlightVariableType

-- | <pre>
--   U61
--   </pre>
U61 :: CustomFloodlightVariableType

-- | <pre>
--   U62
--   </pre>
U62 :: CustomFloodlightVariableType

-- | <pre>
--   U63
--   </pre>
U63 :: CustomFloodlightVariableType

-- | <pre>
--   U64
--   </pre>
U64 :: CustomFloodlightVariableType

-- | <pre>
--   U65
--   </pre>
U65 :: CustomFloodlightVariableType

-- | <pre>
--   U66
--   </pre>
U66 :: CustomFloodlightVariableType

-- | <pre>
--   U67
--   </pre>
U67 :: CustomFloodlightVariableType

-- | <pre>
--   U68
--   </pre>
U68 :: CustomFloodlightVariableType

-- | <pre>
--   U69
--   </pre>
U69 :: CustomFloodlightVariableType

-- | <pre>
--   U7
--   </pre>
U7 :: CustomFloodlightVariableType

-- | <pre>
--   U70
--   </pre>
U70 :: CustomFloodlightVariableType

-- | <pre>
--   U71
--   </pre>
U71 :: CustomFloodlightVariableType

-- | <pre>
--   U72
--   </pre>
U72 :: CustomFloodlightVariableType

-- | <pre>
--   U73
--   </pre>
U73 :: CustomFloodlightVariableType

-- | <pre>
--   U74
--   </pre>
U74 :: CustomFloodlightVariableType

-- | <pre>
--   U75
--   </pre>
U75 :: CustomFloodlightVariableType

-- | <pre>
--   U76
--   </pre>
U76 :: CustomFloodlightVariableType

-- | <pre>
--   U77
--   </pre>
U77 :: CustomFloodlightVariableType

-- | <pre>
--   U78
--   </pre>
U78 :: CustomFloodlightVariableType

-- | <pre>
--   U79
--   </pre>
U79 :: CustomFloodlightVariableType

-- | <pre>
--   U8
--   </pre>
U8 :: CustomFloodlightVariableType

-- | <pre>
--   U80
--   </pre>
U80 :: CustomFloodlightVariableType

-- | <pre>
--   U81
--   </pre>
U81 :: CustomFloodlightVariableType

-- | <pre>
--   U82
--   </pre>
U82 :: CustomFloodlightVariableType

-- | <pre>
--   U83
--   </pre>
U83 :: CustomFloodlightVariableType

-- | <pre>
--   U84
--   </pre>
U84 :: CustomFloodlightVariableType

-- | <pre>
--   U85
--   </pre>
U85 :: CustomFloodlightVariableType

-- | <pre>
--   U86
--   </pre>
U86 :: CustomFloodlightVariableType

-- | <pre>
--   U87
--   </pre>
U87 :: CustomFloodlightVariableType

-- | <pre>
--   U88
--   </pre>
U88 :: CustomFloodlightVariableType

-- | <pre>
--   U89
--   </pre>
U89 :: CustomFloodlightVariableType

-- | <pre>
--   U9
--   </pre>
U9 :: CustomFloodlightVariableType

-- | <pre>
--   U90
--   </pre>
U90 :: CustomFloodlightVariableType

-- | <pre>
--   U91
--   </pre>
U91 :: CustomFloodlightVariableType

-- | <pre>
--   U92
--   </pre>
U92 :: CustomFloodlightVariableType

-- | <pre>
--   U93
--   </pre>
U93 :: CustomFloodlightVariableType

-- | <pre>
--   U94
--   </pre>
U94 :: CustomFloodlightVariableType

-- | <pre>
--   U95
--   </pre>
U95 :: CustomFloodlightVariableType

-- | <pre>
--   U96
--   </pre>
U96 :: CustomFloodlightVariableType

-- | <pre>
--   U97
--   </pre>
U97 :: CustomFloodlightVariableType

-- | <pre>
--   U98
--   </pre>
U98 :: CustomFloodlightVariableType

-- | <pre>
--   U99
--   </pre>
U99 :: CustomFloodlightVariableType

-- | Contains properties of a DCM ad.
--   
--   <i>See:</i> <a>ad</a> smart constructor.
data Ad

-- | Creates a value of <a>Ad</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aTargetingTemplateId</a></li>
--   <li><a>aCreativeGroupAssignments</a></li>
--   <li><a>aGeoTargeting</a></li>
--   <li><a>aCreativeRotation</a></li>
--   <li><a>aTechnologyTargeting</a></li>
--   <li><a>aAudienceSegmentId</a></li>
--   <li><a>aDayPartTargeting</a></li>
--   <li><a>aSize</a></li>
--   <li><a>aStartTime</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aClickThroughURLSuffixProperties</a></li>
--   <li><a>aCampaignIdDimensionValue</a></li>
--   <li><a>aAdvertiserId</a></li>
--   <li><a>aAdvertiserIdDimensionValue</a></li>
--   <li><a>aSSLCompliant</a></li>
--   <li><a>aCampaignId</a></li>
--   <li><a>aIdDimensionValue</a></li>
--   <li><a>aClickThroughURL</a></li>
--   <li><a>aDeliverySchedule</a></li>
--   <li><a>aEventTagOverrides</a></li>
--   <li><a>aActive</a></li>
--   <li><a>aAccountId</a></li>
--   <li><a>aName</a></li>
--   <li><a>aKeyValueTargetingExpression</a></li>
--   <li><a>aEndTime</a></li>
--   <li><a>aCreateInfo</a></li>
--   <li><a>aLastModifiedInfo</a></li>
--   <li><a>aId</a></li>
--   <li><a>aSSLRequired</a></li>
--   <li><a>aComments</a></li>
--   <li><a>aSubAccountId</a></li>
--   <li><a>aType</a></li>
--   <li><a>aRemarketingListExpression</a></li>
--   <li><a>aLanguageTargeting</a></li>
--   <li><a>aDynamicClickTracker</a></li>
--   <li><a>aCompatibility</a></li>
--   <li><a>aArchived</a></li>
--   <li><a>aDefaultClickThroughEventTagProperties</a></li>
--   <li><a>aPlacementAssignments</a></li>
--   </ul>
ad :: Ad

-- | Targeting template ID, used to apply preconfigured targeting
--   information to this ad. This cannot be set while any of
--   dayPartTargeting, geoTargeting, keyValueTargetingExpression,
--   languageTargeting, remarketingListExpression, or technologyTargeting
--   are set. Applicable when type is AD_SERVING_STANDARD_AD.
aTargetingTemplateId :: Lens' Ad (Maybe Int64)

-- | Creative group assignments for this ad. Applicable when type is
--   AD_SERVING_CLICK_TRACKER. Only one assignment per creative group
--   number is allowed for a maximum of two assignments.
aCreativeGroupAssignments :: Lens' Ad [CreativeGroupAssignment]

-- | Geographical targeting information for this ad. This field must be
--   left blank if the ad is using a targeting template. Applicable when
--   type is AD_SERVING_STANDARD_AD.
aGeoTargeting :: Lens' Ad (Maybe GeoTargeting)

-- | Creative rotation for this ad. Applicable when type is
--   AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING.
--   When type is AD_SERVING_DEFAULT_AD, this field should have exactly one
--   creativeAssignment.
aCreativeRotation :: Lens' Ad (Maybe CreativeRotation)

-- | Technology platform targeting information for this ad. This field must
--   be left blank if the ad is using a targeting template. Applicable when
--   type is AD_SERVING_STANDARD_AD.
aTechnologyTargeting :: Lens' Ad (Maybe TechnologyTargeting)

-- | Audience segment ID that is being targeted for this ad. Applicable
--   when type is AD_SERVING_STANDARD_AD.
aAudienceSegmentId :: Lens' Ad (Maybe Int64)

-- | Time and day targeting information for this ad. This field must be
--   left blank if the ad is using a targeting template. Applicable when
--   type is AD_SERVING_STANDARD_AD.
aDayPartTargeting :: Lens' Ad (Maybe DayPartTargeting)

-- | Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
aSize :: Lens' Ad (Maybe Size)

-- | Date and time that this ad should start serving. If creating an ad,
--   this field must be a time in the future. This is a required field on
--   insertion.
aStartTime :: Lens' Ad (Maybe UTCTime)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#ad".
aKind :: Lens' Ad Text

-- | Click-through URL suffix properties for this ad. Applies to the URL in
--   the ad or (if overriding ad properties) the URL in the creative.
aClickThroughURLSuffixProperties :: Lens' Ad (Maybe ClickThroughURLSuffixProperties)

-- | Dimension value for the ID of the campaign. This is a read-only,
--   auto-generated field.
aCampaignIdDimensionValue :: Lens' Ad (Maybe DimensionValue)

-- | Advertiser ID of this ad. This is a required field on insertion.
aAdvertiserId :: Lens' Ad (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
aAdvertiserIdDimensionValue :: Lens' Ad (Maybe DimensionValue)

-- | Whether this ad is ssl compliant. This is a read-only field that is
--   auto-generated when the ad is inserted or updated.
aSSLCompliant :: Lens' Ad (Maybe Bool)

-- | Campaign ID of this ad. This is a required field on insertion.
aCampaignId :: Lens' Ad (Maybe Int64)

-- | Dimension value for the ID of this ad. This is a read-only,
--   auto-generated field.
aIdDimensionValue :: Lens' Ad (Maybe DimensionValue)

-- | Click-through URL for this ad. This is a required field on insertion.
--   Applicable when type is AD_SERVING_CLICK_TRACKER.
aClickThroughURL :: Lens' Ad (Maybe ClickThroughURL)

-- | Delivery schedule information for this ad. Applicable when type is
--   AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with
--   subfields priority and impressionRatio are required on insertion when
--   type is AD_SERVING_STANDARD_AD.
aDeliverySchedule :: Lens' Ad (Maybe DeliverySchedule)

-- | Event tag overrides for this ad.
aEventTagOverrides :: Lens' Ad [EventTagOverride]

-- | Whether this ad is active. When true, archived must be false.
aActive :: Lens' Ad (Maybe Bool)

-- | Account ID of this ad. This is a read-only field that can be left
--   blank.
aAccountId :: Lens' Ad (Maybe Int64)

-- | Name of this ad. This is a required field and must be less than 256
--   characters long.
aName :: Lens' Ad (Maybe Text)

-- | Key-value targeting information for this ad. This field must be left
--   blank if the ad is using a targeting template. Applicable when type is
--   AD_SERVING_STANDARD_AD.
aKeyValueTargetingExpression :: Lens' Ad (Maybe KeyValueTargetingExpression)

-- | Date and time that this ad should stop serving. Must be later than the
--   start time. This is a required field on insertion.
aEndTime :: Lens' Ad (Maybe UTCTime)

-- | Information about the creation of this ad. This is a read-only field.
aCreateInfo :: Lens' Ad (Maybe LastModifiedInfo)

-- | Information about the most recent modification of this ad. This is a
--   read-only field.
aLastModifiedInfo :: Lens' Ad (Maybe LastModifiedInfo)

-- | ID of this ad. This is a read-only, auto-generated field.
aId :: Lens' Ad (Maybe Int64)

-- | Whether this ad requires ssl. This is a read-only field that is
--   auto-generated when the ad is inserted or updated.
aSSLRequired :: Lens' Ad (Maybe Bool)

-- | Comments for this ad.
aComments :: Lens' Ad (Maybe Text)

-- | Subaccount ID of this ad. This is a read-only field that can be left
--   blank.
aSubAccountId :: Lens' Ad (Maybe Int64)

-- | Type of ad. This is a required field on insertion. Note that default
--   ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative
--   resource).
aType :: Lens' Ad (Maybe AdType)

-- | Remarketing list targeting expression for this ad. This field must be
--   left blank if the ad is using a targeting template. Applicable when
--   type is AD_SERVING_STANDARD_AD.
aRemarketingListExpression :: Lens' Ad (Maybe ListTargetingExpression)

-- | Language targeting information for this ad. This field must be left
--   blank if the ad is using a targeting template. Applicable when type is
--   AD_SERVING_STANDARD_AD.
aLanguageTargeting :: Lens' Ad (Maybe LanguageTargeting)

-- | Whether this ad is a dynamic click tracker. Applicable when type is
--   AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is
--   read-only after insert.
aDynamicClickTracker :: Lens' Ad (Maybe Bool)

-- | Compatibility of this ad. Applicable when type is
--   AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   either rendering on desktop or on mobile devices or in mobile apps for
--   regular or interstitial ads, respectively. APP and APP_INTERSTITIAL
--   are only used for existing default ads. New mobile placements must be
--   assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for
--   those placements will be limited to those compatibility types.
--   IN_STREAM_VIDEO refers to rendering in-stream video ads developed with
--   the VAST standard.
aCompatibility :: Lens' Ad (Maybe AdCompatibility)

-- | Whether this ad is archived. When true, active must be false.
aArchived :: Lens' Ad (Maybe Bool)

-- | Default click-through event tag properties for this ad.
aDefaultClickThroughEventTagProperties :: Lens' Ad (Maybe DefaultClickThroughEventTagProperties)

-- | Placement assignments for this ad.
aPlacementAssignments :: Lens' Ad [PlacementAssignment]

-- | The error code.
data ConversionErrorCode

-- | <pre>
--   INTERNAL
--   </pre>
Internal :: ConversionErrorCode

-- | <pre>
--   INVALID_ARGUMENT
--   </pre>
InvalidArgument :: ConversionErrorCode

-- | <pre>
--   NOT_FOUND
--   </pre>
NotFound :: ConversionErrorCode

-- | <pre>
--   PERMISSION_DENIED
--   </pre>
PermissionDenied :: ConversionErrorCode

-- | Order of sorted results, default is ASCENDING.
data FloodlightActivitiesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
FALSOAscending :: FloodlightActivitiesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
FALSODescending :: FloodlightActivitiesListSortOrder

-- | Contains properties of a DoubleClick Planning project.
--   
--   <i>See:</i> <a>project</a> smart constructor.
data Project

-- | Creates a value of <a>Project</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pTargetClicks</a></li>
--   <li><a>pClientBillingCode</a></li>
--   <li><a>pTargetCpmNanos</a></li>
--   <li><a>pTargetConversions</a></li>
--   <li><a>pBudget</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pAdvertiserId</a></li>
--   <li><a>pEndDate</a></li>
--   <li><a>pOverview</a></li>
--   <li><a>pTargetImpressions</a></li>
--   <li><a>pStartDate</a></li>
--   <li><a>pTargetCpcNanos</a></li>
--   <li><a>pAccountId</a></li>
--   <li><a>pName</a></li>
--   <li><a>pLastModifiedInfo</a></li>
--   <li><a>pId</a></li>
--   <li><a>pAudienceAgeGroup</a></li>
--   <li><a>pSubAccountId</a></li>
--   <li><a>pTargetCpmActiveViewNanos</a></li>
--   <li><a>pAudienceGender</a></li>
--   <li><a>pClientName</a></li>
--   <li><a>pTargetCpaNanos</a></li>
--   </ul>
project :: Project

-- | Number of clicks that the advertiser is targeting.
pTargetClicks :: Lens' Project (Maybe Int64)

-- | Client billing code of this project.
pClientBillingCode :: Lens' Project (Maybe Text)

-- | CPM that the advertiser is targeting.
pTargetCpmNanos :: Lens' Project (Maybe Int64)

-- | Number of conversions that the advertiser is targeting.
pTargetConversions :: Lens' Project (Maybe Int64)

-- | Budget of this project in the currency specified by the current
--   account. The value stored in this field represents only the
--   non-fractional amount. For example, for USD, the smallest value that
--   can be represented by this field is 1 US dollar.
pBudget :: Lens' Project (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#project".
pKind :: Lens' Project Text

-- | Advertiser ID of this project.
pAdvertiserId :: Lens' Project (Maybe Int64)

-- | End date of the project.
pEndDate :: Lens' Project (Maybe Day)

-- | Overview of this project.
pOverview :: Lens' Project (Maybe Text)

-- | Number of impressions that the advertiser is targeting.
pTargetImpressions :: Lens' Project (Maybe Int64)

-- | Start date of the project.
pStartDate :: Lens' Project (Maybe Day)

-- | CPC that the advertiser is targeting.
pTargetCpcNanos :: Lens' Project (Maybe Int64)

-- | Account ID of this project.
pAccountId :: Lens' Project (Maybe Int64)

-- | Name of this project.
pName :: Lens' Project (Maybe Text)

-- | Information about the most recent modification of this project.
pLastModifiedInfo :: Lens' Project (Maybe LastModifiedInfo)

-- | ID of this project. This is a read-only, auto-generated field.
pId :: Lens' Project (Maybe Int64)

-- | Audience age group of this project.
pAudienceAgeGroup :: Lens' Project (Maybe ProjectAudienceAgeGroup)

-- | Subaccount ID of this project.
pSubAccountId :: Lens' Project (Maybe Int64)

-- | vCPM from Active View that the advertiser is targeting.
pTargetCpmActiveViewNanos :: Lens' Project (Maybe Int64)

-- | Audience gender of this project.
pAudienceGender :: Lens' Project (Maybe ProjectAudienceGender)

-- | Name of the project client.
pClientName :: Lens' Project (Maybe Text)

-- | CPA that the advertiser is targeting.
pTargetCpaNanos :: Lens' Project (Maybe Int64)

-- | The output format of the report. Only available once the file is
--   available.
data FileFormat

-- | <pre>
--   CSV
--   </pre>
CSV :: FileFormat

-- | <pre>
--   EXCEL
--   </pre>
Excel :: FileFormat

-- | The encryption entity type. This should match the encryption
--   configuration for ad serving or Data Transfer.
data EncryptionInfoEncryptionEntityType

-- | <pre>
--   ADWORDS_CUSTOMER
--   </pre>
AdwordsCustomer :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   DBM_ADVERTISER
--   </pre>
DBmAdvertiser :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   DBM_PARTNER
--   </pre>
DBmPartner :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   DCM_ACCOUNT
--   </pre>
DcmAccount :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   DCM_ADVERTISER
--   </pre>
DcmAdvertiser :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   ENCRYPTION_ENTITY_TYPE_UNKNOWN
--   </pre>
EncryptionEntityTypeUnknown :: EncryptionInfoEncryptionEntityType

-- | Placement pricing type. This field is required on insertion.
data PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_CPA
--   </pre>
PricingTypeCpa :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_CPC
--   </pre>
PricingTypeCpc :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_CPM
--   </pre>
PricingTypeCpm :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_CPM_ACTIVEVIEW
--   </pre>
PricingTypeCpmActiveview :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_CLICKS
--   </pre>
PricingTypeFlatRateClicks :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_IMPRESSIONS
--   </pre>
PricingTypeFlatRateImpressions :: PricingSchedulePricingType

-- | The report criteria for a report of type "FLOODLIGHT".
--   
--   <i>See:</i> <a>reportFloodlightCriteria</a> smart constructor.
data ReportFloodlightCriteria

-- | Creates a value of <a>ReportFloodlightCriteria</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rfcReportProperties</a></li>
--   <li><a>rfcMetricNames</a></li>
--   <li><a>rfcCustomRichMediaEvents</a></li>
--   <li><a>rfcDimensionFilters</a></li>
--   <li><a>rfcDateRange</a></li>
--   <li><a>rfcFloodlightConfigId</a></li>
--   <li><a>rfcDimensions</a></li>
--   </ul>
reportFloodlightCriteria :: ReportFloodlightCriteria

-- | The properties of the report.
rfcReportProperties :: Lens' ReportFloodlightCriteria (Maybe ReportFloodlightCriteriaReportProperties)

-- | The list of names of metrics the report should include.
rfcMetricNames :: Lens' ReportFloodlightCriteria [Text]

-- | The list of custom rich media events to include.
rfcCustomRichMediaEvents :: Lens' ReportFloodlightCriteria [DimensionValue]

-- | The list of filters on which dimensions are filtered. Filters for
--   different dimensions are ANDed, filters for the same dimension are
--   grouped together and ORed.
rfcDimensionFilters :: Lens' ReportFloodlightCriteria [DimensionValue]

-- | The date range this report should be run for.
rfcDateRange :: Lens' ReportFloodlightCriteria (Maybe DateRange)

-- | The floodlight ID for which to show data in this report. All
--   advertisers associated with that ID will automatically be added. The
--   dimension of the value needs to be 'dfa:floodlightConfigId'.
rfcFloodlightConfigId :: Lens' ReportFloodlightCriteria (Maybe DimensionValue)

-- | The list of dimensions the report should include.
rfcDimensions :: Lens' ReportFloodlightCriteria [SortedDimension]

-- | Target type used by the event.
data CreativeCustomEventTargetType

-- | <pre>
--   TARGET_BLANK
--   </pre>
TargetBlank :: CreativeCustomEventTargetType

-- | <pre>
--   TARGET_PARENT
--   </pre>
TargetParent :: CreativeCustomEventTargetType

-- | <pre>
--   TARGET_POPUP
--   </pre>
TargetPopup :: CreativeCustomEventTargetType

-- | <pre>
--   TARGET_SELF
--   </pre>
TargetSelf :: CreativeCustomEventTargetType

-- | <pre>
--   TARGET_TOP
--   </pre>
TargetTop :: CreativeCustomEventTargetType

-- | The scope that defines which results are returned, default is 'MINE'.
data ReportsListScope

-- | <tt>ALL</tt> All reports in account.
All :: ReportsListScope

-- | <tt>MINE</tt> My reports.
Mine :: ReportsListScope

-- | Represents the dimensions of ads, placements, creatives, or creative
--   assets.
--   
--   <i>See:</i> <a>size</a> smart constructor.
data Size

-- | Creates a value of <a>Size</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sHeight</a></li>
--   <li><a>sKind</a></li>
--   <li><a>sWidth</a></li>
--   <li><a>sIab</a></li>
--   <li><a>sId</a></li>
--   </ul>
size :: Size

-- | Height of this size.
sHeight :: Lens' Size (Maybe Int32)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#size".
sKind :: Lens' Size Text

-- | Width of this size.
sWidth :: Lens' Size (Maybe Int32)

-- | IAB standard size. This is a read-only, auto-generated field.
sIab :: Lens' Size (Maybe Bool)

-- | ID of this size. This is a read-only, auto-generated field.
sId :: Lens' Size (Maybe Int64)

-- | Duration type for which an asset will be displayed. Applicable to the
--   following creative types: all RICH_MEDIA.
data CreativeAssetDurationType

-- | <pre>
--   ASSET_DURATION_TYPE_AUTO
--   </pre>
AssetDurationTypeAuto :: CreativeAssetDurationType

-- | <pre>
--   ASSET_DURATION_TYPE_CUSTOM
--   </pre>
AssetDurationTypeCustom :: CreativeAssetDurationType

-- | <pre>
--   ASSET_DURATION_TYPE_NONE
--   </pre>
AssetDurationTypeNone :: CreativeAssetDurationType

-- | Product from which this targetable remarketing list was originated.
data TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_ADX
--   </pre>
RemarketingListSourceAdx :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DBM
--   </pre>
RemarketingListSourceDBm :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DFA
--   </pre>
RemarketingListSourceDfa :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DFP
--   </pre>
RemarketingListSourceDfp :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DMP
--   </pre>
RemarketingListSourceDmp :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_GA
--   </pre>
RemarketingListSourceGa :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_GPLUS
--   </pre>
RemarketingListSourceGplus :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_OTHER
--   </pre>
RemarketingListSourceOther :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_PLAY_STORE
--   </pre>
RemarketingListSourcePlayStore :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_XFP
--   </pre>
RemarketingListSourceXfp :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_YOUTUBE
--   </pre>
RemarketingListSourceYouTube :: TargetableRemarketingListListSource

-- | Object Filter.
--   
--   <i>See:</i> <a>objectFilter</a> smart constructor.
data ObjectFilter

-- | Creates a value of <a>ObjectFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ofStatus</a></li>
--   <li><a>ofKind</a></li>
--   <li><a>ofObjectIds</a></li>
--   </ul>
objectFilter :: ObjectFilter

-- | Status of the filter. NONE means the user has access to none of the
--   objects. ALL means the user has access to all objects. ASSIGNED means
--   the user has access to the objects with IDs in the objectIds list.
ofStatus :: Lens' ObjectFilter (Maybe ObjectFilterStatus)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#objectFilter".
ofKind :: Lens' ObjectFilter Text

-- | Applicable when status is ASSIGNED. The user has access to objects
--   with these object IDs.
ofObjectIds :: Lens' ObjectFilter [Int64]

-- | Skippable Settings
--   
--   <i>See:</i> <a>skippableSetting</a> smart constructor.
data SkippableSetting

-- | Creates a value of <a>SkippableSetting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssSkipOffSet</a></li>
--   <li><a>ssProgressOffSet</a></li>
--   <li><a>ssKind</a></li>
--   <li><a>ssSkippable</a></li>
--   </ul>
skippableSetting :: SkippableSetting

-- | Amount of time to play videos served to this placement before the skip
--   button should appear. Applicable when skippable is true.
ssSkipOffSet :: Lens' SkippableSetting (Maybe VideoOffSet)

-- | Amount of time to play videos served to this placement before counting
--   a view. Applicable when skippable is true.
ssProgressOffSet :: Lens' SkippableSetting (Maybe VideoOffSet)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#skippableSetting".
ssKind :: Lens' SkippableSetting Text

-- | Whether the user can skip creatives served to this placement.
ssSkippable :: Lens' SkippableSetting (Maybe Bool)

-- | Field by which to sort the list.
data CreativeGroupsListSortField

-- | <pre>
--   ID
--   </pre>
CGLSFID :: CreativeGroupsListSortField

-- | <pre>
--   NAME
--   </pre>
CGLSFName :: CreativeGroupsListSortField

-- | Reporting Configuration
--   
--   <i>See:</i> <a>reportsConfiguration</a> smart constructor.
data ReportsConfiguration

-- | Creates a value of <a>ReportsConfiguration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcExposureToConversionEnabled</a></li>
--   <li><a>rcReportGenerationTimeZoneId</a></li>
--   <li><a>rcLookbackConfiguration</a></li>
--   </ul>
reportsConfiguration :: ReportsConfiguration

-- | Whether the exposure to conversion report is enabled. This report
--   shows detailed pathway information on up to 10 of the most recent ad
--   exposures seen by a user before converting.
rcExposureToConversionEnabled :: Lens' ReportsConfiguration (Maybe Bool)

-- | Report generation time zone ID of this account. This is a required
--   field that can only be changed by a superuser. Acceptable values are:
--   - "1" for "America/New_York" - "2" for "Europe/London" - "3" for
--   "Europe/Paris" - "4" for "Africa/Johannesburg" - "5" for
--   "Asia/Jerusalem" - "6" for "Asia/Shanghai" - "7" for "Asia/Hong_Kong"
--   - "8" for "Asia/Tokyo" - "9" for "Australia/Sydney" - "10" for
--   "Asia/Dubai" - "11" for "America/Los_Angeles" - "12" for
--   "Pacific/Auckland" - "13" for "America/Sao_Paulo"
rcReportGenerationTimeZoneId :: Lens' ReportsConfiguration (Maybe Int64)

-- | Default lookback windows for new advertisers in this account.
rcLookbackConfiguration :: Lens' ReportsConfiguration (Maybe LookbackConfiguration)

-- | Pricing Schedule
--   
--   <i>See:</i> <a>pricingSchedule</a> smart constructor.
data PricingSchedule

-- | Creates a value of <a>PricingSchedule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psTestingStartDate</a></li>
--   <li><a>psFloodlightActivityId</a></li>
--   <li><a>psEndDate</a></li>
--   <li><a>psDisregardOverdelivery</a></li>
--   <li><a>psStartDate</a></li>
--   <li><a>psCapCostOption</a></li>
--   <li><a>psPricingType</a></li>
--   <li><a>psPricingPeriods</a></li>
--   <li><a>psFlighted</a></li>
--   </ul>
pricingSchedule :: PricingSchedule

-- | Testing start date of this placement. The hours, minutes, and seconds
--   of the start date should not be set, as doing so will result in an
--   error.
psTestingStartDate :: Lens' PricingSchedule (Maybe Day)

-- | Floodlight activity ID associated with this placement. This field
--   should be set when placement pricing type is set to PRICING_TYPE_CPA.
psFloodlightActivityId :: Lens' PricingSchedule (Maybe Int64)

-- | Placement end date. This date must be later than, or the same day as,
--   the placement start date, but not later than the campaign end date.
--   If, for example, you set 6/25/2015 as both the start and end dates,
--   the effective placement date is just that day only, 6/25/2015. The
--   hours, minutes, and seconds of the end date should not be set, as
--   doing so will result in an error. This field is required on insertion.
psEndDate :: Lens' PricingSchedule (Maybe Day)

-- | Whether cap costs are ignored by ad serving.
psDisregardOverdelivery :: Lens' PricingSchedule (Maybe Bool)

-- | Placement start date. This date must be later than, or the same day
--   as, the campaign start date. The hours, minutes, and seconds of the
--   start date should not be set, as doing so will result in an error.
--   This field is required on insertion.
psStartDate :: Lens' PricingSchedule (Maybe Day)

-- | Placement cap cost option.
psCapCostOption :: Lens' PricingSchedule (Maybe PricingScheduleCapCostOption)

-- | Placement pricing type. This field is required on insertion.
psPricingType :: Lens' PricingSchedule (Maybe PricingSchedulePricingType)

-- | Pricing periods for this placement.
psPricingPeriods :: Lens' PricingSchedule [PricingSchedulePricingPeriod]

-- | Whether this placement is flighted. If true, pricing periods will be
--   computed automatically.
psFlighted :: Lens' PricingSchedule (Maybe Bool)

-- | Contains information about a postal code that can be targeted by ads.
--   
--   <i>See:</i> <a>postalCode</a> smart constructor.
data PostalCode

-- | Creates a value of <a>PostalCode</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcKind</a></li>
--   <li><a>pcCode</a></li>
--   <li><a>pcCountryCode</a></li>
--   <li><a>pcId</a></li>
--   <li><a>pcCountryDartId</a></li>
--   </ul>
postalCode :: PostalCode

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#postalCode".
pcKind :: Lens' PostalCode Text

-- | Postal code. This is equivalent to the id field.
pcCode :: Lens' PostalCode (Maybe Text)

-- | Country code of the country to which this postal code belongs.
pcCountryCode :: Lens' PostalCode (Maybe Text)

-- | ID of this postal code.
pcId :: Lens' PostalCode (Maybe Text)

-- | DART ID of the country to which this postal code belongs.
pcCountryDartId :: Lens' PostalCode (Maybe Int64)

-- | Account Permission List Response
--   
--   <i>See:</i> <a>accountPermissionsListResponse</a> smart constructor.
data AccountPermissionsListResponse

-- | Creates a value of <a>AccountPermissionsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aplrKind</a></li>
--   <li><a>aplrAccountPermissions</a></li>
--   </ul>
accountPermissionsListResponse :: AccountPermissionsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountPermissionsListResponse".
aplrKind :: Lens' AccountPermissionsListResponse Text

-- | Account permission collection.
aplrAccountPermissions :: Lens' AccountPermissionsListResponse [AccountPermission]

-- | Contains information about a country that can be targeted by ads.
--   
--   <i>See:</i> <a>country</a> smart constructor.
data Country

-- | Creates a value of <a>Country</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cKind</a></li>
--   <li><a>cName</a></li>
--   <li><a>cCountryCode</a></li>
--   <li><a>cDartId</a></li>
--   <li><a>cSSLEnabled</a></li>
--   </ul>
country :: Country

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#country".
cKind :: Lens' Country Text

-- | Name of this country.
cName :: Lens' Country (Maybe Text)

-- | Country code.
cCountryCode :: Lens' Country (Maybe Text)

-- | DART ID of this country. This is the ID used for targeting and
--   generating reports.
cDartId :: Lens' Country (Maybe Int64)

-- | Whether ad serving supports secure servers in this country.
cSSLEnabled :: Lens' Country (Maybe Bool)

-- | Field by which to sort the list.
data PlacementsListSortField

-- | <pre>
--   ID
--   </pre>
PLSFID :: PlacementsListSortField

-- | <pre>
--   NAME
--   </pre>
PLSFName :: PlacementsListSortField
data CreativeBackupImageFeaturesItem

-- | <pre>
--   APPLICATION_CACHE
--   </pre>
CBIFIApplicationCache :: CreativeBackupImageFeaturesItem

-- | <pre>
--   AUDIO
--   </pre>
CBIFIAudio :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CANVAS
--   </pre>
CBIFICanvas :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CANVAS_TEXT
--   </pre>
CBIFICanvasText :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_ANIMATIONS
--   </pre>
CBIFICssAnimations :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_BACKGROUND_SIZE
--   </pre>
CBIFICssBackgRoundSize :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_BORDER_IMAGE
--   </pre>
CBIFICssBOrderImage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_BORDER_RADIUS
--   </pre>
CBIFICssBOrderRadius :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_BOX_SHADOW
--   </pre>
CBIFICssBoxShadow :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_COLUMNS
--   </pre>
CBIFICssColumns :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_FLEX_BOX
--   </pre>
CBIFICssFlexBox :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_FONT_FACE
--   </pre>
CBIFICssFontFace :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_GENERATED_CONTENT
--   </pre>
CBIFICssGeneratedContent :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_GRADIENTS
--   </pre>
CBIFICssGradients :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_HSLA
--   </pre>
CBIFICssHsla :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_MULTIPLE_BGS
--   </pre>
CBIFICssMultipleBgs :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_OPACITY
--   </pre>
CBIFICssOpacity :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_REFLECTIONS
--   </pre>
CBIFICssReflections :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_RGBA
--   </pre>
CBIFICssRgba :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_TEXT_SHADOW
--   </pre>
CBIFICssTextShadow :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS
--   </pre>
CBIFICssTransforms :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS3D
--   </pre>
CBIFICssTRANSFORMS3D :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_TRANSITIONS
--   </pre>
CBIFICssTransitions :: CreativeBackupImageFeaturesItem

-- | <pre>
--   DRAG_AND_DROP
--   </pre>
CBIFIDragAndDrop :: CreativeBackupImageFeaturesItem

-- | <pre>
--   GEO_LOCATION
--   </pre>
CBIFIGeoLocation :: CreativeBackupImageFeaturesItem

-- | <pre>
--   HASH_CHANGE
--   </pre>
CBIFIHashChange :: CreativeBackupImageFeaturesItem

-- | <pre>
--   HISTORY
--   </pre>
CBIFIHistory :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INDEXED_DB
--   </pre>
CBIFIIndexedDB :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INLINE_SVG
--   </pre>
CBIFIInlineSvg :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOCOMPLETE
--   </pre>
CBIFIInputAttrAutocomplete :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOFOCUS
--   </pre>
CBIFIInputAttrAutofocus :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_LIST
--   </pre>
CBIFIInputAttrList :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_MAX
--   </pre>
CBIFIInputAttrMax :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_MIN
--   </pre>
CBIFIInputAttrMin :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_MULTIPLE
--   </pre>
CBIFIInputAttrMultiple :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_PATTERN
--   </pre>
CBIFIInputAttrPattern :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_PLACEHOLDER
--   </pre>
CBIFIInputAttrPlaceholder :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_REQUIRED
--   </pre>
CBIFIInputAttrRequired :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_STEP
--   </pre>
CBIFIInputAttrStep :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_COLOR
--   </pre>
CBIFIInputTypeColor :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATE
--   </pre>
CBIFIInputTypeDate :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME
--   </pre>
CBIFIInputTypeDatetime :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME_LOCAL
--   </pre>
CBIFIInputTypeDatetimeLocal :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_EMAIL
--   </pre>
CBIFIInputTypeEmail :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_MONTH
--   </pre>
CBIFIInputTypeMonth :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_NUMBER
--   </pre>
CBIFIInputTypeNumber :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_RANGE
--   </pre>
CBIFIInputTypeRange :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_SEARCH
--   </pre>
CBIFIInputTypeSearch :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_TEL
--   </pre>
CBIFIInputTypeTel :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_TIME
--   </pre>
CBIFIInputTypeTime :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_URL
--   </pre>
CBIFIInputTypeURL :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_WEEK
--   </pre>
CBIFIInputTypeWeek :: CreativeBackupImageFeaturesItem

-- | <pre>
--   LOCAL_STORAGE
--   </pre>
CBIFILocalStorage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   POST_MESSAGE
--   </pre>
CBIFIPostMessage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SESSION_STORAGE
--   </pre>
CBIFISessionStorage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SMIL
--   </pre>
CBIFISmil :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SVG_CLIP_PATHS
--   </pre>
CBIFISvgClipPaths :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SVG_FE_IMAGE
--   </pre>
CBIFISvgFeImage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SVG_FILTERS
--   </pre>
CBIFISvgFilters :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SVG_HREF
--   </pre>
CBIFISvgHref :: CreativeBackupImageFeaturesItem

-- | <pre>
--   TOUCH
--   </pre>
CBIFITouch :: CreativeBackupImageFeaturesItem

-- | <pre>
--   VIDEO
--   </pre>
CBIFIVideo :: CreativeBackupImageFeaturesItem

-- | <pre>
--   WEBGL
--   </pre>
CBIFIWebgl :: CreativeBackupImageFeaturesItem

-- | <pre>
--   WEB_SOCKETS
--   </pre>
CBIFIWebSockets :: CreativeBackupImageFeaturesItem

-- | <pre>
--   WEB_SQL_DATABASE
--   </pre>
CBIFIWebSQLDatabase :: CreativeBackupImageFeaturesItem

-- | <pre>
--   WEB_WORKERS
--   </pre>
CBIFIWebWorkers :: CreativeBackupImageFeaturesItem

-- | Operating System Version List Response
--   
--   <i>See:</i> <a>operatingSystemVersionsListResponse</a> smart
--   constructor.
data OperatingSystemVersionsListResponse

-- | Creates a value of <a>OperatingSystemVersionsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osvlrKind</a></li>
--   <li><a>osvlrOperatingSystemVersions</a></li>
--   </ul>
operatingSystemVersionsListResponse :: OperatingSystemVersionsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#operatingSystemVersionsListResponse".
osvlrKind :: Lens' OperatingSystemVersionsListResponse Text

-- | Operating system version collection.
osvlrOperatingSystemVersions :: Lens' OperatingSystemVersionsListResponse [OperatingSystemVersion]

-- | Click Through URL Suffix settings.
--   
--   <i>See:</i> <a>clickThroughURLSuffixProperties</a> smart constructor.
data ClickThroughURLSuffixProperties

-- | Creates a value of <a>ClickThroughURLSuffixProperties</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctuspOverrideInheritedSuffix</a></li>
--   <li><a>ctuspClickThroughURLSuffix</a></li>
--   </ul>
clickThroughURLSuffixProperties :: ClickThroughURLSuffixProperties

-- | Whether this entity should override the inherited click-through URL
--   suffix with its own defined value.
ctuspOverrideInheritedSuffix :: Lens' ClickThroughURLSuffixProperties (Maybe Bool)

-- | Click-through URL suffix to apply to all ads in this entity's scope.
--   Must be less than 128 characters long.
ctuspClickThroughURLSuffix :: Lens' ClickThroughURLSuffixProperties (Maybe Text)

-- | Order of sorted results, default is ASCENDING.
data AdvertisersListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
ALSOAscending :: AdvertisersListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ALSODescending :: AdvertisersListSortOrder

-- | Field by which to sort the list.
data TargetingTemplatesListSortField

-- | <pre>
--   ID
--   </pre>
TTLSFID :: TargetingTemplatesListSortField

-- | <pre>
--   NAME
--   </pre>
TTLSFName :: TargetingTemplatesListSortField

-- | Field by which to sort the list.
data CreativeFieldsListSortField

-- | <pre>
--   ID
--   </pre>
CFLSFID :: CreativeFieldsListSortField

-- | <pre>
--   NAME
--   </pre>
CFLSFName :: CreativeFieldsListSortField

-- | Pricing Information
--   
--   <i>See:</i> <a>pricing</a> smart constructor.
data Pricing

-- | Creates a value of <a>Pricing</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>priEndDate</a></li>
--   <li><a>priStartDate</a></li>
--   <li><a>priGroupType</a></li>
--   <li><a>priPricingType</a></li>
--   <li><a>priFlights</a></li>
--   <li><a>priCapCostType</a></li>
--   </ul>
pricing :: Pricing

-- | End date of this inventory item.
priEndDate :: Lens' Pricing (Maybe Day)

-- | Start date of this inventory item.
priStartDate :: Lens' Pricing (Maybe Day)

-- | Group type of this inventory item if it represents a placement group.
--   Is null otherwise. There are two type of placement groups:
--   PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory
--   items that acts as a single pricing point for a group of tags.
--   PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items
--   that not only acts as a single pricing point, but also assumes that
--   all the tags in it will be served at the same time. A roadblock
--   requires one of its assigned inventory items to be marked as primary.
priGroupType :: Lens' Pricing (Maybe PricingGroupType)

-- | Pricing type of this inventory item.
priPricingType :: Lens' Pricing (Maybe PricingPricingType)

-- | Flights of this inventory item. A flight (a.k.a. pricing period)
--   represents the inventory item pricing information for a specific
--   period of time.
priFlights :: Lens' Pricing [Flight]

-- | Cap cost type of this inventory item.
priCapCostType :: Lens' Pricing (Maybe PricingCapCostType)

-- | Audience Segment Group.
--   
--   <i>See:</i> <a>audienceSegmentGroup</a> smart constructor.
data AudienceSegmentGroup

-- | Creates a value of <a>AudienceSegmentGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asgAudienceSegments</a></li>
--   <li><a>asgName</a></li>
--   <li><a>asgId</a></li>
--   </ul>
audienceSegmentGroup :: AudienceSegmentGroup

-- | Audience segments assigned to this group. The number of segments must
--   be between 2 and 100.
asgAudienceSegments :: Lens' AudienceSegmentGroup [AudienceSegment]

-- | Name of this audience segment group. This is a required field and must
--   be less than 65 characters long.
asgName :: Lens' AudienceSegmentGroup (Maybe Text)

-- | ID of this audience segment group. This is a read-only, auto-generated
--   field.
asgId :: Lens' AudienceSegmentGroup (Maybe Int64)

-- | Contains information about an operating system that can be targeted by
--   ads.
--   
--   <i>See:</i> <a>operatingSystem</a> smart constructor.
data OperatingSystem

-- | Creates a value of <a>OperatingSystem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osDesktop</a></li>
--   <li><a>osKind</a></li>
--   <li><a>osName</a></li>
--   <li><a>osMobile</a></li>
--   <li><a>osDartId</a></li>
--   </ul>
operatingSystem :: OperatingSystem

-- | Whether this operating system is for desktop.
osDesktop :: Lens' OperatingSystem (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#operatingSystem".
osKind :: Lens' OperatingSystem Text

-- | Name of this operating system.
osName :: Lens' OperatingSystem (Maybe Text)

-- | Whether this operating system is for mobile.
osMobile :: Lens' OperatingSystem (Maybe Bool)

-- | DART ID of this operating system. This is the ID used for targeting.
osDartId :: Lens' OperatingSystem (Maybe Int64)

-- | Flight
--   
--   <i>See:</i> <a>flight</a> smart constructor.
data Flight

-- | Creates a value of <a>Flight</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fRateOrCost</a></li>
--   <li><a>fEndDate</a></li>
--   <li><a>fStartDate</a></li>
--   <li><a>fUnits</a></li>
--   </ul>
flight :: Flight

-- | Rate or cost of this flight.
fRateOrCost :: Lens' Flight (Maybe Int64)

-- | Inventory item flight end date.
fEndDate :: Lens' Flight (Maybe Day)

-- | Inventory item flight start date.
fStartDate :: Lens' Flight (Maybe Day)

-- | Units of this flight.
fUnits :: Lens' Flight (Maybe Int64)

-- | Variable name in the tag. This is a required field.
data UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U1
--   </pre>
UDVCVTU1 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U10
--   </pre>
UDVCVTU10 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U100
--   </pre>
UDVCVTU100 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U11
--   </pre>
UDVCVTU11 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U12
--   </pre>
UDVCVTU12 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U13
--   </pre>
UDVCVTU13 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U14
--   </pre>
UDVCVTU14 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U15
--   </pre>
UDVCVTU15 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U16
--   </pre>
UDVCVTU16 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U17
--   </pre>
UDVCVTU17 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U18
--   </pre>
UDVCVTU18 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U19
--   </pre>
UDVCVTU19 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U2
--   </pre>
UDVCVTU2 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U20
--   </pre>
UDVCVTU20 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U21
--   </pre>
UDVCVTU21 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U22
--   </pre>
UDVCVTU22 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U23
--   </pre>
UDVCVTU23 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U24
--   </pre>
UDVCVTU24 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U25
--   </pre>
UDVCVTU25 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U26
--   </pre>
UDVCVTU26 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U27
--   </pre>
UDVCVTU27 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U28
--   </pre>
UDVCVTU28 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U29
--   </pre>
UDVCVTU29 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U3
--   </pre>
UDVCVTU3 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U30
--   </pre>
UDVCVTU30 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U31
--   </pre>
UDVCVTU31 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U32
--   </pre>
UDVCVTU32 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U33
--   </pre>
UDVCVTU33 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U34
--   </pre>
UDVCVTU34 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U35
--   </pre>
UDVCVTU35 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U36
--   </pre>
UDVCVTU36 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U37
--   </pre>
UDVCVTU37 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U38
--   </pre>
UDVCVTU38 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U39
--   </pre>
UDVCVTU39 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U4
--   </pre>
UDVCVTU4 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U40
--   </pre>
UDVCVTU40 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U41
--   </pre>
UDVCVTU41 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U42
--   </pre>
UDVCVTU42 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U43
--   </pre>
UDVCVTU43 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U44
--   </pre>
UDVCVTU44 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U45
--   </pre>
UDVCVTU45 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U46
--   </pre>
UDVCVTU46 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U47
--   </pre>
UDVCVTU47 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U48
--   </pre>
UDVCVTU48 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U49
--   </pre>
UDVCVTU49 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U5
--   </pre>
UDVCVTU5 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U50
--   </pre>
UDVCVTU50 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U51
--   </pre>
UDVCVTU51 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U52
--   </pre>
UDVCVTU52 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U53
--   </pre>
UDVCVTU53 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U54
--   </pre>
UDVCVTU54 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U55
--   </pre>
UDVCVTU55 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U56
--   </pre>
UDVCVTU56 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U57
--   </pre>
UDVCVTU57 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U58
--   </pre>
UDVCVTU58 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U59
--   </pre>
UDVCVTU59 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U6
--   </pre>
UDVCVTU6 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U60
--   </pre>
UDVCVTU60 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U61
--   </pre>
UDVCVTU61 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U62
--   </pre>
UDVCVTU62 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U63
--   </pre>
UDVCVTU63 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U64
--   </pre>
UDVCVTU64 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U65
--   </pre>
UDVCVTU65 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U66
--   </pre>
UDVCVTU66 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U67
--   </pre>
UDVCVTU67 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U68
--   </pre>
UDVCVTU68 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U69
--   </pre>
UDVCVTU69 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U7
--   </pre>
UDVCVTU7 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U70
--   </pre>
UDVCVTU70 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U71
--   </pre>
UDVCVTU71 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U72
--   </pre>
UDVCVTU72 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U73
--   </pre>
UDVCVTU73 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U74
--   </pre>
UDVCVTU74 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U75
--   </pre>
UDVCVTU75 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U76
--   </pre>
UDVCVTU76 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U77
--   </pre>
UDVCVTU77 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U78
--   </pre>
UDVCVTU78 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U79
--   </pre>
UDVCVTU79 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U8
--   </pre>
UDVCVTU8 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U80
--   </pre>
UDVCVTU80 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U81
--   </pre>
UDVCVTU81 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U82
--   </pre>
UDVCVTU82 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U83
--   </pre>
UDVCVTU83 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U84
--   </pre>
UDVCVTU84 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U85
--   </pre>
UDVCVTU85 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U86
--   </pre>
UDVCVTU86 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U87
--   </pre>
UDVCVTU87 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U88
--   </pre>
UDVCVTU88 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U89
--   </pre>
UDVCVTU89 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U9
--   </pre>
UDVCVTU9 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U90
--   </pre>
UDVCVTU90 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U91
--   </pre>
UDVCVTU91 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U92
--   </pre>
UDVCVTU92 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U93
--   </pre>
UDVCVTU93 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U94
--   </pre>
UDVCVTU94 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U95
--   </pre>
UDVCVTU95 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U96
--   </pre>
UDVCVTU96 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U97
--   </pre>
UDVCVTU97 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U98
--   </pre>
UDVCVTU98 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U99
--   </pre>
UDVCVTU99 :: UserDefinedVariableConfigurationVariableType

-- | Position in the browser where the window will open.
data FsCommandPositionOption

-- | <pre>
--   CENTERED
--   </pre>
Centered :: FsCommandPositionOption

-- | <pre>
--   DISTANCE_FROM_TOP_LEFT_CORNER
--   </pre>
DistanceFromTopLeftCorner :: FsCommandPositionOption

-- | City List Response
--   
--   <i>See:</i> <a>citiesListResponse</a> smart constructor.
data CitiesListResponse

-- | Creates a value of <a>CitiesListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>citKind</a></li>
--   <li><a>citCities</a></li>
--   </ul>
citiesListResponse :: CitiesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#citiesListResponse".
citKind :: Lens' CitiesListResponse Text

-- | City collection.
citCities :: Lens' CitiesListResponse [City]

-- | Represents a dimension.
--   
--   <i>See:</i> <a>dimension</a> smart constructor.
data Dimension

-- | Creates a value of <a>Dimension</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dKind</a></li>
--   <li><a>dName</a></li>
--   </ul>
dimension :: Dimension

-- | The kind of resource this is, in this case dfareporting#dimension.
dKind :: Lens' Dimension Text

-- | The dimension name, e.g. dfa:advertiser
dName :: Lens' Dimension (Maybe Text)

-- | The report criteria for a report of type "REACH".
--   
--   <i>See:</i> <a>reportReachCriteria</a> smart constructor.
data ReportReachCriteria

-- | Creates a value of <a>ReportReachCriteria</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrcReachByFrequencyMetricNames</a></li>
--   <li><a>rrcEnableAllDimensionCombinations</a></li>
--   <li><a>rrcMetricNames</a></li>
--   <li><a>rrcCustomRichMediaEvents</a></li>
--   <li><a>rrcDimensionFilters</a></li>
--   <li><a>rrcActivities</a></li>
--   <li><a>rrcDateRange</a></li>
--   <li><a>rrcDimensions</a></li>
--   </ul>
reportReachCriteria :: ReportReachCriteria

-- | The list of names of Reach By Frequency metrics the report should
--   include.
rrcReachByFrequencyMetricNames :: Lens' ReportReachCriteria [Text]

-- | Whether to enable all reach dimension combinations in the report.
--   Defaults to false. If enabled, the date range of the report should be
--   within the last three months.
rrcEnableAllDimensionCombinations :: Lens' ReportReachCriteria (Maybe Bool)

-- | The list of names of metrics the report should include.
rrcMetricNames :: Lens' ReportReachCriteria [Text]

-- | Custom Rich Media Events group.
rrcCustomRichMediaEvents :: Lens' ReportReachCriteria (Maybe CustomRichMediaEvents)

-- | The list of filters on which dimensions are filtered. Filters for
--   different dimensions are ANDed, filters for the same dimension are
--   grouped together and ORed.
rrcDimensionFilters :: Lens' ReportReachCriteria [DimensionValue]

-- | Activity group.
rrcActivities :: Lens' ReportReachCriteria (Maybe Activities)

-- | The date range this report should be run for.
rrcDateRange :: Lens' ReportReachCriteria (Maybe DateRange)

-- | The list of dimensions the report should include.
rrcDimensions :: Lens' ReportReachCriteria [SortedDimension]

-- | Represents a Custom Rich Media Events group.
--   
--   <i>See:</i> <a>customRichMediaEvents</a> smart constructor.
data CustomRichMediaEvents

-- | Creates a value of <a>CustomRichMediaEvents</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crmeKind</a></li>
--   <li><a>crmeFilteredEventIds</a></li>
--   </ul>
customRichMediaEvents :: CustomRichMediaEvents

-- | The kind of resource this is, in this case
--   dfareporting#customRichMediaEvents.
crmeKind :: Lens' CustomRichMediaEvents Text

-- | List of custom rich media event IDs. Dimension values must be all of
--   type dfa:richMediaEventTypeIdAndName.
crmeFilteredEventIds :: Lens' CustomRichMediaEvents [DimensionValue]

-- | Language List Response
--   
--   <i>See:</i> <a>languagesListResponse</a> smart constructor.
data LanguagesListResponse

-- | Creates a value of <a>LanguagesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>llrKind</a></li>
--   <li><a>llrLanguages</a></li>
--   </ul>
languagesListResponse :: LanguagesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#languagesListResponse".
llrKind :: Lens' LanguagesListResponse Text

-- | Language collection.
llrLanguages :: Lens' LanguagesListResponse [Language]

-- | Order of sorted results, default is ASCENDING.
data UserRolesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
URLSOAscending :: UserRolesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
URLSODescending :: UserRolesListSortOrder

-- | Select only placements that are associated with these compatibilities.
--   DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
--   or on mobile devices for regular or interstitial ads respectively. APP
--   and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO
--   refers to rendering in in-stream video ads developed with the VAST
--   standard.
data PlacementsListCompatibilities

-- | <pre>
--   APP
--   </pre>
PLCApp :: PlacementsListCompatibilities

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
PLCAppInterstitial :: PlacementsListCompatibilities

-- | <pre>
--   DISPLAY
--   </pre>
PLCDisplay :: PlacementsListCompatibilities

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
PLCDisplayInterstitial :: PlacementsListCompatibilities

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
PLCInStreamVideo :: PlacementsListCompatibilities

-- | Targetable remarketing list response
--   
--   <i>See:</i> <a>targetableRemarketingListsListResponse</a> smart
--   constructor.
data TargetableRemarketingListsListResponse

-- | Creates a value of <a>TargetableRemarketingListsListResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trllrNextPageToken</a></li>
--   <li><a>trllrKind</a></li>
--   <li><a>trllrTargetableRemarketingLists</a></li>
--   </ul>
targetableRemarketingListsListResponse :: TargetableRemarketingListsListResponse

-- | Pagination token to be used for the next list operation.
trllrNextPageToken :: Lens' TargetableRemarketingListsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#targetableRemarketingListsListResponse".
trllrKind :: Lens' TargetableRemarketingListsListResponse Text

-- | Targetable remarketing list collection.
trllrTargetableRemarketingLists :: Lens' TargetableRemarketingListsListResponse [TargetableRemarketingList]

-- | Field by which to sort the list.
data OrderDocumentsListSortField

-- | <pre>
--   ID
--   </pre>
ODLSFID :: OrderDocumentsListSortField

-- | <pre>
--   NAME
--   </pre>
ODLSFName :: OrderDocumentsListSortField
data CreativeCompatibilityItem

-- | <pre>
--   APP
--   </pre>
CCIApp :: CreativeCompatibilityItem

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
CCIAppInterstitial :: CreativeCompatibilityItem

-- | <pre>
--   DISPLAY
--   </pre>
CCIDisplay :: CreativeCompatibilityItem

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
CCIDisplayInterstitial :: CreativeCompatibilityItem

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
CCIInStreamVideo :: CreativeCompatibilityItem

-- | Change Log List Response
--   
--   <i>See:</i> <a>changeLogsListResponse</a> smart constructor.
data ChangeLogsListResponse

-- | Creates a value of <a>ChangeLogsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cllrNextPageToken</a></li>
--   <li><a>cllrKind</a></li>
--   <li><a>cllrChangeLogs</a></li>
--   </ul>
changeLogsListResponse :: ChangeLogsListResponse

-- | Pagination token to be used for the next list operation.
cllrNextPageToken :: Lens' ChangeLogsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#changeLogsListResponse".
cllrKind :: Lens' ChangeLogsListResponse Text

-- | Change log collection.
cllrChangeLogs :: Lens' ChangeLogsListResponse [ChangeLog]

-- | The type of delivery for the owner to receive, if enabled.
data ReportDeliveryEmailOwnerDeliveryType

-- | <pre>
--   ATTACHMENT
--   </pre>
RDEODTAttachment :: ReportDeliveryEmailOwnerDeliveryType

-- | <pre>
--   LINK
--   </pre>
RDEODTLink :: ReportDeliveryEmailOwnerDeliveryType

-- | Site contact type.
data SiteContactContactType

-- | <pre>
--   SALES_PERSON
--   </pre>
SalesPerson :: SiteContactContactType

-- | <pre>
--   TRAFFICKER
--   </pre>
Trafficker :: SiteContactContactType

-- | AccountUserProfiles contains properties of a DCM user profile. This
--   resource is specifically for managing user profiles, whereas
--   UserProfiles is for accessing the API.
--   
--   <i>See:</i> <a>accountUserProFile</a> smart constructor.
data AccountUserProFile

-- | Creates a value of <a>AccountUserProFile</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aupfEmail</a></li>
--   <li><a>aupfUserRoleFilter</a></li>
--   <li><a>aupfAdvertiserFilter</a></li>
--   <li><a>aupfUserRoleId</a></li>
--   <li><a>aupfKind</a></li>
--   <li><a>aupfLocale</a></li>
--   <li><a>aupfSiteFilter</a></li>
--   <li><a>aupfTraffickerType</a></li>
--   <li><a>aupfActive</a></li>
--   <li><a>aupfAccountId</a></li>
--   <li><a>aupfName</a></li>
--   <li><a>aupfId</a></li>
--   <li><a>aupfUserAccessType</a></li>
--   <li><a>aupfComments</a></li>
--   <li><a>aupfSubAccountId</a></li>
--   <li><a>aupfCampaignFilter</a></li>
--   </ul>
accountUserProFile :: AccountUserProFile

-- | Email of the user profile. The email addresss must be linked to a
--   Google Account. This field is required on insertion and is read-only
--   after insertion.
aupfEmail :: Lens' AccountUserProFile (Maybe Text)

-- | Filter that describes which user roles are visible to the user
--   profile.
aupfUserRoleFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)

-- | Filter that describes which advertisers are visible to the user
--   profile.
aupfAdvertiserFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)

-- | User role ID of the user profile. This is a required field.
aupfUserRoleId :: Lens' AccountUserProFile (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountUserProfile".
aupfKind :: Lens' AccountUserProFile Text

-- | Locale of the user profile. This is a required field. Acceptable
--   values are: - "cs" (Czech) - "de" (German) - "en" (English) - "en-GB"
--   (English United Kingdom) - "es" (Spanish) - "fr" (French) - "it"
--   (Italian) - "ja" (Japanese) - "ko" (Korean) - "pl" (Polish) - "pt-BR"
--   (Portuguese Brazil) - "ru" (Russian) - "sv" (Swedish) - "tr" (Turkish)
--   - "zh-CN" (Chinese Simplified) - "zh-TW" (Chinese Traditional)
aupfLocale :: Lens' AccountUserProFile (Maybe Text)

-- | Filter that describes which sites are visible to the user profile.
aupfSiteFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)

-- | Trafficker type of this user profile.
aupfTraffickerType :: Lens' AccountUserProFile (Maybe AccountUserProFileTraffickerType)

-- | Whether this user profile is active. This defaults to false, and must
--   be set true on insert for the user profile to be usable.
aupfActive :: Lens' AccountUserProFile (Maybe Bool)

-- | Account ID of the user profile. This is a read-only field that can be
--   left blank.
aupfAccountId :: Lens' AccountUserProFile (Maybe Int64)

-- | Name of the user profile. This is a required field. Must be less than
--   64 characters long, must be globally unique, and cannot contain
--   whitespace or any of the following characters: "&amp;;"#%,".
aupfName :: Lens' AccountUserProFile (Maybe Text)

-- | ID of the user profile. This is a read-only, auto-generated field.
aupfId :: Lens' AccountUserProFile (Maybe Int64)

-- | User type of the user profile. This is a read-only field that can be
--   left blank.
aupfUserAccessType :: Lens' AccountUserProFile (Maybe AccountUserProFileUserAccessType)

-- | Comments for this user profile.
aupfComments :: Lens' AccountUserProFile (Maybe Text)

-- | Subaccount ID of the user profile. This is a read-only field that can
--   be left blank.
aupfSubAccountId :: Lens' AccountUserProFile (Maybe Int64)

-- | Filter that describes which campaigns are visible to the user profile.
aupfCampaignFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)

-- | Order of sorted results, default is 'DESCENDING'.
data ReportsListSortOrder

-- | <tt>ASCENDING</tt> Ascending order.
RLSOAscending :: ReportsListSortOrder

-- | <tt>DESCENDING</tt> Descending order.
RLSODescending :: ReportsListSortOrder

-- | Represents a DimensionValue resource.
--   
--   <i>See:</i> <a>dimensionValue</a> smart constructor.
data DimensionValue

-- | Creates a value of <a>DimensionValue</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvEtag</a></li>
--   <li><a>dvKind</a></li>
--   <li><a>dvValue</a></li>
--   <li><a>dvMatchType</a></li>
--   <li><a>dvDimensionName</a></li>
--   <li><a>dvId</a></li>
--   </ul>
dimensionValue :: DimensionValue

-- | The eTag of this response for caching purposes.
dvEtag :: Lens' DimensionValue (Maybe Text)

-- | The kind of resource this is, in this case
--   dfareporting#dimensionValue.
dvKind :: Lens' DimensionValue Text

-- | The value of the dimension.
dvValue :: Lens' DimensionValue (Maybe Text)

-- | Determines how the 'value' field is matched when filtering. If not
--   specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is
--   allowed as a placeholder for variable length character sequences, and
--   it can be escaped with a backslash. Note, only paid search dimensions
--   ('dfa:paidSearch*') allow a matchType other than EXACT.
dvMatchType :: Lens' DimensionValue (Maybe DimensionValueMatchType)

-- | The name of the dimension.
dvDimensionName :: Lens' DimensionValue (Maybe Text)

-- | The ID associated with the value if available.
dvId :: Lens' DimensionValue (Maybe Text)

-- | Field by which to sort the list.
data TargetableRemarketingListsListSortField

-- | <pre>
--   ID
--   </pre>
TRLLSFID :: TargetableRemarketingListsListSortField

-- | <pre>
--   NAME
--   </pre>
TRLLSFName :: TargetableRemarketingListsListSortField

-- | Order of sorted results, default is ASCENDING.
data CampaignsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CLSOAscending :: CampaignsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CLSODescending :: CampaignsListSortOrder

-- | Represents an activity group.
--   
--   <i>See:</i> <a>activities</a> smart constructor.
data Activities

-- | Creates a value of <a>Activities</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actKind</a></li>
--   <li><a>actMetricNames</a></li>
--   <li><a>actFilters</a></li>
--   </ul>
activities :: Activities

-- | The kind of resource this is, in this case dfareporting#activities.
actKind :: Lens' Activities Text

-- | List of names of floodlight activity metrics.
actMetricNames :: Lens' Activities [Text]

-- | List of activity filters. The dimension values need to be all either
--   of type "dfa:activity" or "dfa:activityGroup".
actFilters :: Lens' Activities [DimensionValue]

-- | Select only floodlight activity groups with the specified floodlight
--   activity group type.
data FloodlightActivityGroupsListType

-- | <pre>
--   COUNTER
--   </pre>
Counter :: FloodlightActivityGroupsListType

-- | <pre>
--   SALE
--   </pre>
Sale :: FloodlightActivityGroupsListType

-- | Day that will be counted as the first day of the week in reports. This
--   is a required field.
data FloodlightConfigurationFirstDayOfWeek

-- | <pre>
--   MONDAY
--   </pre>
Monday :: FloodlightConfigurationFirstDayOfWeek

-- | <pre>
--   SUNDAY
--   </pre>
Sunday :: FloodlightConfigurationFirstDayOfWeek

-- | User Role Permission Group List Response
--   
--   <i>See:</i> <a>userRolePermissionGroupsListResponse</a> smart
--   constructor.
data UserRolePermissionGroupsListResponse

-- | Creates a value of <a>UserRolePermissionGroupsListResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urpglrUserRolePermissionGroups</a></li>
--   <li><a>urpglrKind</a></li>
--   </ul>
userRolePermissionGroupsListResponse :: UserRolePermissionGroupsListResponse

-- | User role permission group collection.
urpglrUserRolePermissionGroups :: Lens' UserRolePermissionGroupsListResponse [UserRolePermissionGroup]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolePermissionGroupsListResponse".
urpglrKind :: Lens' UserRolePermissionGroupsListResponse Text

-- | Placement Tag
--   
--   <i>See:</i> <a>placementTag</a> smart constructor.
data PlacementTag

-- | Creates a value of <a>PlacementTag</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptPlacementId</a></li>
--   <li><a>ptTagDatas</a></li>
--   </ul>
placementTag :: PlacementTag

-- | Placement ID
ptPlacementId :: Lens' PlacementTag (Maybe Int64)

-- | Tags generated for this placement.
ptTagDatas :: Lens' PlacementTag [TagData]

-- | Serving priority of an ad, with respect to other ads. The lower the
--   priority number, the greater the priority with which it is served.
data DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_01
--   </pre>
AdPriority01 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_02
--   </pre>
AdPriority02 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_03
--   </pre>
AdPriority03 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_04
--   </pre>
AdPriority04 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_05
--   </pre>
AdPriority05 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_06
--   </pre>
AdPriority06 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_07
--   </pre>
AdPriority07 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_08
--   </pre>
AdPriority08 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_09
--   </pre>
AdPriority09 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_10
--   </pre>
AdPriority10 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_11
--   </pre>
AdPriority11 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_12
--   </pre>
AdPriority12 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_13
--   </pre>
AdPriority13 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_14
--   </pre>
AdPriority14 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_15
--   </pre>
AdPriority15 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_16
--   </pre>
AdPriority16 :: DeliverySchedulePriority

-- | Select only floodlight activities with the specified floodlight
--   activity group type.
data FloodlightActivitiesListFloodlightActivityGroupType

-- | <pre>
--   COUNTER
--   </pre>
FALFAGTCounter :: FloodlightActivitiesListFloodlightActivityGroupType

-- | <pre>
--   SALE
--   </pre>
FALFAGTSale :: FloodlightActivitiesListFloodlightActivityGroupType

-- | Remarketing list response
--   
--   <i>See:</i> <a>remarketingListsListResponse</a> smart constructor.
data RemarketingListsListResponse

-- | Creates a value of <a>RemarketingListsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rllrNextPageToken</a></li>
--   <li><a>rllrRemarketingLists</a></li>
--   <li><a>rllrKind</a></li>
--   </ul>
remarketingListsListResponse :: RemarketingListsListResponse

-- | Pagination token to be used for the next list operation.
rllrNextPageToken :: Lens' RemarketingListsListResponse (Maybe Text)

-- | Remarketing list collection.
rllrRemarketingLists :: Lens' RemarketingListsListResponse [RemarketingList]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#remarketingListsListResponse".
rllrKind :: Lens' RemarketingListsListResponse Text

-- | Contains properties of a dynamic targeting key. Dynamic targeting keys
--   are unique, user-friendly labels, created at the advertiser level in
--   DCM, that can be assigned to ads, creatives, and placements and used
--   for targeting with DoubleClick Studio dynamic creatives. Use these
--   labels instead of numeric DCM IDs (such as placement IDs) to save time
--   and avoid errors in your dynamic feeds.
--   
--   <i>See:</i> <a>dynamicTargetingKey</a> smart constructor.
data DynamicTargetingKey

-- | Creates a value of <a>DynamicTargetingKey</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtkObjectType</a></li>
--   <li><a>dtkKind</a></li>
--   <li><a>dtkObjectId</a></li>
--   <li><a>dtkName</a></li>
--   </ul>
dynamicTargetingKey :: DynamicTargetingKey

-- | Type of the object of this dynamic targeting key. This is a required
--   field.
dtkObjectType :: Lens' DynamicTargetingKey (Maybe DynamicTargetingKeyObjectType)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#dynamicTargetingKey".
dtkKind :: Lens' DynamicTargetingKey Text

-- | ID of the object of this dynamic targeting key. This is a required
--   field.
dtkObjectId :: Lens' DynamicTargetingKey (Maybe Int64)

-- | Name of this dynamic targeting key. This is a required field. Must be
--   less than 256 characters long and cannot contain commas. All
--   characters are converted to lowercase.
dtkName :: Lens' DynamicTargetingKey (Maybe Text)

-- | Contains properties of a Creative.
--   
--   <i>See:</i> <a>creative</a> smart constructor.
data Creative

-- | Creates a value of <a>Creative</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>creConvertFlashToHTML5</a></li>
--   <li><a>creBackupImageTargetWindow</a></li>
--   <li><a>creRenderingIdDimensionValue</a></li>
--   <li><a>creCustomKeyValues</a></li>
--   <li><a>creSkipOffSet</a></li>
--   <li><a>creVideoDuration</a></li>
--   <li><a>creRenderingId</a></li>
--   <li><a>creThirdPartyBackupImageImpressionsURL</a></li>
--   <li><a>creFsCommand</a></li>
--   <li><a>creAllowScriptAccess</a></li>
--   <li><a>creHTMLCodeLocked</a></li>
--   <li><a>creRequiredFlashPluginVersion</a></li>
--   <li><a>creAuthoringTool</a></li>
--   <li><a>creSize</a></li>
--   <li><a>creThirdPartyURLs</a></li>
--   <li><a>creProgressOffSet</a></li>
--   <li><a>creCounterCustomEvents</a></li>
--   <li><a>creKind</a></li>
--   <li><a>creSSLOverride</a></li>
--   <li><a>creHTMLCode</a></li>
--   <li><a>creAdvertiserId</a></li>
--   <li><a>creRequiredFlashVersion</a></li>
--   <li><a>creBackgRoundColor</a></li>
--   <li><a>creAdTagKeys</a></li>
--   <li><a>creSkippable</a></li>
--   <li><a>creSSLCompliant</a></li>
--   <li><a>creIdDimensionValue</a></li>
--   <li><a>creBackupImageReportingLabel</a></li>
--   <li><a>creCommercialId</a></li>
--   <li><a>creActive</a></li>
--   <li><a>creExitCustomEvents</a></li>
--   <li><a>creAccountId</a></li>
--   <li><a>creBackupImageClickThroughURL</a></li>
--   <li><a>creName</a></li>
--   <li><a>creOverrideCss</a></li>
--   <li><a>creVideoDescription</a></li>
--   <li><a>creClickTags</a></li>
--   <li><a>creAdParameters</a></li>
--   <li><a>creVersion</a></li>
--   <li><a>creLatestTraffickedCreativeId</a></li>
--   <li><a>creThirdPartyRichMediaImpressionsURL</a></li>
--   <li><a>creDynamicAssetSelection</a></li>
--   <li><a>creLastModifiedInfo</a></li>
--   <li><a>creId</a></li>
--   <li><a>creAuthoringSource</a></li>
--   <li><a>creStudioAdvertiserId</a></li>
--   <li><a>creCreativeAssets</a></li>
--   <li><a>creSubAccountId</a></li>
--   <li><a>creType</a></li>
--   <li><a>creTimerCustomEvents</a></li>
--   <li><a>creCreativeAssetSelection</a></li>
--   <li><a>creStudioCreativeId</a></li>
--   <li><a>creCompatibility</a></li>
--   <li><a>creBackupImageFeatures</a></li>
--   <li><a>creArtworkType</a></li>
--   <li><a>creArchived</a></li>
--   <li><a>creCompanionCreatives</a></li>
--   <li><a>creTotalFileSize</a></li>
--   <li><a>creStudioTraffickedCreativeId</a></li>
--   <li><a>creRedirectURL</a></li>
--   <li><a>creAutoAdvanceImages</a></li>
--   <li><a>creCreativeFieldAssignments</a></li>
--   </ul>
creative :: Creative

-- | Whether Flash assets associated with the creative need to be
--   automatically converted to HTML5. This flag is enabled by default and
--   users can choose to disable it if they don't want the system to
--   generate and use HTML5 asset for this creative. Applicable to the
--   following creative type: FLASH_INPAGE. Applicable to DISPLAY when the
--   primary asset type is not HTML_IMAGE.
creConvertFlashToHTML5 :: Lens' Creative (Maybe Bool)

-- | Target window for backup image. Applicable to the following creative
--   types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the
--   primary asset type is not HTML_IMAGE.
creBackupImageTargetWindow :: Lens' Creative (Maybe TargetWindow)

-- | Dimension value for the rendering ID of this creative. This is a
--   read-only field. Applicable to all creative types.
creRenderingIdDimensionValue :: Lens' Creative (Maybe DimensionValue)

-- | Custom key-values for a Rich Media creative. Key-values let you
--   customize the creative settings of a Rich Media ad running on your
--   site without having to contact the advertiser. You can use key-values
--   to dynamically change the look or functionality of a creative.
--   Applicable to the following creative types: all RICH_MEDIA, and all
--   VPAID.
creCustomKeyValues :: Lens' Creative [Text]

-- | Amount of time to play the video before the skip button appears.
--   Applicable to the following creative types: all INSTREAM_VIDEO.
creSkipOffSet :: Lens' Creative (Maybe VideoOffSet)

-- | Creative video duration in seconds. This is a read-only field.
--   Applicable to the following creative types: INSTREAM_VIDEO, all
--   RICH_MEDIA, and all VPAID.
creVideoDuration :: Lens' Creative (Maybe Double)

-- | ID of current rendering version. This is a read-only field. Applicable
--   to all creative types.
creRenderingId :: Lens' Creative (Maybe Int64)

-- | Third-party URL used to record backup image impressions. Applicable to
--   the following creative types: all RICH_MEDIA.
creThirdPartyBackupImageImpressionsURL :: Lens' Creative (Maybe Text)

-- | OpenWindow FSCommand of this creative. This lets the SWF file
--   communicate with either Flash Player or the program hosting Flash
--   Player, such as a web browser. This is only triggered if
--   allowScriptAccess field is true. Applicable to the following creative
--   types: FLASH_INPAGE.
creFsCommand :: Lens' Creative (Maybe FsCommand)

-- | Whether script access is allowed for this creative. This is a
--   read-only and deprecated field which will automatically be set to true
--   on update. Applicable to the following creative types: FLASH_INPAGE.
creAllowScriptAccess :: Lens' Creative (Maybe Bool)

-- | Whether HTML code is DCM-generated or manually entered. Set to true to
--   ignore changes to htmlCode. Applicable to the following creative
--   types: FLASH_INPAGE and HTML5_BANNER.
creHTMLCodeLocked :: Lens' Creative (Maybe Bool)

-- | The minimum required Flash plugin version for this creative. For
--   example, 11.2.202.235. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA, and all VPAID.
creRequiredFlashPluginVersion :: Lens' Creative (Maybe Text)

-- | Authoring tool for HTML5 banner creatives. This is a read-only field.
--   Applicable to the following creative types: HTML5_BANNER.
creAuthoringTool :: Lens' Creative (Maybe CreativeAuthoringTool)

-- | Size associated with this creative. When inserting or updating a
--   creative either the size ID field or size width and height fields can
--   be used. This is a required field when applicable; however for IMAGE,
--   FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset
--   of type HTML_IMAGE, if left blank, this field will be automatically
--   set using the actual size of the associated image assets. Applicable
--   to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY,
--   FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
creSize :: Lens' Creative (Maybe Size)

-- | Third-party URLs for tracking in-stream video creative events.
--   Applicable to the following creative types: all INSTREAM_VIDEO and all
--   VPAID.
creThirdPartyURLs :: Lens' Creative [ThirdPartyTrackingURL]

-- | Amount of time to play the video before counting a view. Applicable to
--   the following creative types: all INSTREAM_VIDEO.
creProgressOffSet :: Lens' Creative (Maybe VideoOffSet)

-- | List of counter events configured for the creative. For
--   DISPLAY_IMAGE_GALLERY creatives, these are read-only and
--   auto-generated from clickTags. Applicable to the following creative
--   types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
creCounterCustomEvents :: Lens' Creative [CreativeCustomEvent]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creative".
creKind :: Lens' Creative Text

-- | Whether creative should be treated as SSL compliant even if the system
--   scan shows it's not. Applicable to all creative types.
creSSLOverride :: Lens' Creative (Maybe Bool)

-- | HTML code for the creative. This is a required field when applicable.
--   This field is ignored if htmlCodeLocked is false. Applicable to the
--   following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER,
--   and all RICH_MEDIA.
creHTMLCode :: Lens' Creative (Maybe Text)

-- | Advertiser ID of this creative. This is a required field. Applicable
--   to all creative types.
creAdvertiserId :: Lens' Creative (Maybe Int64)

-- | The internal Flash version for this creative as calculated by
--   DoubleClick Studio. This is a read-only field. Applicable to the
--   following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
--   Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
creRequiredFlashVersion :: Lens' Creative (Maybe Int32)

-- | The 6-character HTML color code, beginning with #, for the background
--   of the window area where the Flash file is displayed. Default is
--   white. Applicable to the following creative types: FLASH_INPAGE.
creBackgRoundColor :: Lens' Creative (Maybe Text)

-- | Keywords for a Rich Media creative. Keywords let you customize the
--   creative settings of a Rich Media ad running on your site without
--   having to contact the advertiser. You can use keywords to dynamically
--   change the look or functionality of a creative. Applicable to the
--   following creative types: all RICH_MEDIA, and all VPAID.
creAdTagKeys :: Lens' Creative [Text]

-- | Whether the user can choose to skip the creative. Applicable to the
--   following creative types: all INSTREAM_VIDEO and all VPAID.
creSkippable :: Lens' Creative (Maybe Bool)

-- | Whether the creative is SSL-compliant. This is a read-only field.
--   Applicable to all creative types.
creSSLCompliant :: Lens' Creative (Maybe Bool)

-- | Dimension value for the ID of this creative. This is a read-only
--   field. Applicable to all creative types.
creIdDimensionValue :: Lens' Creative (Maybe DimensionValue)

-- | Reporting label used for HTML5 banner backup image. Applicable to the
--   following creative types: DISPLAY when the primary asset type is not
--   HTML_IMAGE.
creBackupImageReportingLabel :: Lens' Creative (Maybe Text)

-- | Industry standard ID assigned to creative for reach and frequency.
--   Applicable to the following creative types: all INSTREAM_VIDEO and all
--   VPAID.
creCommercialId :: Lens' Creative (Maybe Text)

-- | Whether the creative is active. Applicable to all creative types.
creActive :: Lens' Creative (Maybe Bool)

-- | List of exit events configured for the creative. For DISPLAY and
--   DISPLAY_IMAGE_GALLERY creatives, these are read-only and
--   auto-generated from clickTags, For DISPLAY, an event is also created
--   from the backupImageReportingLabel. Applicable to the following
--   creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
--   Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
creExitCustomEvents :: Lens' Creative [CreativeCustomEvent]

-- | Account ID of this creative. This field, if left unset, will be
--   auto-generated for both insert and update operations. Applicable to
--   all creative types.
creAccountId :: Lens' Creative (Maybe Int64)

-- | Click-through URL for backup image. Applicable to the following
--   creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY
--   when the primary asset type is not HTML_IMAGE.
creBackupImageClickThroughURL :: Lens' Creative (Maybe Text)

-- | Name of the creative. This is a required field and must be less than
--   256 characters long. Applicable to all creative types.
creName :: Lens' Creative (Maybe Text)

-- | Override CSS value for rich media creatives. Applicable to the
--   following creative types: all RICH_MEDIA.
creOverrideCss :: Lens' Creative (Maybe Text)

-- | Description of the video ad. Applicable to the following creative
--   types: all INSTREAM_VIDEO and all VPAID.
creVideoDescription :: Lens' Creative (Maybe Text)

-- | Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
--   HTML5_BANNER creatives, this is a subset of detected click tags for
--   the assets associated with this creative. After creating a flash
--   asset, detected click tags will be returned in the
--   creativeAssetMetadata. When inserting the creative, populate the
--   creative clickTags field using the creativeAssetMetadata.clickTags
--   field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
--   one entry in this list for each image creative asset. A click tag is
--   matched with a corresponding creative asset by matching the
--   clickTag.name field with the creativeAsset.assetIdentifier.name field.
--   Applicable to the following creative types: DISPLAY_IMAGE_GALLERY,
--   FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary
--   asset type is not HTML_IMAGE.
creClickTags :: Lens' Creative [ClickTag]

-- | Ad parameters user for VPAID creative. This is a read-only field.
--   Applicable to the following creative types: all VPAID.
creAdParameters :: Lens' Creative (Maybe Text)

-- | The version number helps you keep track of multiple versions of your
--   creative in your reports. The version number will always be
--   auto-generated during insert operations to start at 1. For tracking
--   creatives the version cannot be incremented and will always remain at
--   1. For all other creative types the version can be incremented only by
--   1 during update operations. In addition, the version will be
--   automatically incremented by 1 when undergoing Rich Media creative
--   merging. Applicable to all creative types.
creVersion :: Lens' Creative (Maybe Int32)

-- | Latest Studio trafficked creative ID associated with rich media and
--   VPAID creatives. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA, and all VPAID.
creLatestTraffickedCreativeId :: Lens' Creative (Maybe Int64)

-- | Third-party URL used to record rich media impressions. Applicable to
--   the following creative types: all RICH_MEDIA.
creThirdPartyRichMediaImpressionsURL :: Lens' Creative (Maybe Text)

-- | Set this to true to enable the use of rules to target individual
--   assets in this creative. When set to true creativeAssetSelection must
--   be set. This also controls asset-level companions. When this is true,
--   companion creatives should be assigned to creative assets. Learn more.
--   Applicable to INSTREAM_VIDEO creatives.
creDynamicAssetSelection :: Lens' Creative (Maybe Bool)

-- | Creative last modification information. This is a read-only field.
--   Applicable to all creative types.
creLastModifiedInfo :: Lens' Creative (Maybe LastModifiedInfo)

-- | ID of this creative. This is a read-only, auto-generated field.
--   Applicable to all creative types.
creId :: Lens' Creative (Maybe Int64)

-- | Source application where creative was authored. Presently, only DBM
--   authored creatives will have this field set. Applicable to all
--   creative types.
creAuthoringSource :: Lens' Creative (Maybe CreativeAuthoringSource)

-- | Studio advertiser ID associated with rich media and VPAID creatives.
--   This is a read-only field. Applicable to the following creative types:
--   all RICH_MEDIA, and all VPAID.
creStudioAdvertiserId :: Lens' Creative (Maybe Int64)

-- | Assets associated with a creative. Applicable to all but the following
--   creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and
--   REDIRECT
creCreativeAssets :: Lens' Creative [CreativeAsset]

-- | Subaccount ID of this creative. This field, if left unset, will be
--   auto-generated for both insert and update operations. Applicable to
--   all creative types.
creSubAccountId :: Lens' Creative (Maybe Int64)

-- | Type of this creative. This is a required field. Applicable to all
--   creative types. Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only
--   used for existing creatives. New creatives should use DISPLAY as a
--   replacement for these types.
creType :: Lens' Creative (Maybe CreativeType)

-- | List of timer events configured for the creative. For
--   DISPLAY_IMAGE_GALLERY creatives, these are read-only and
--   auto-generated from clickTags. Applicable to the following creative
--   types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
--   Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
creTimerCustomEvents :: Lens' Creative [CreativeCustomEvent]

-- | Required if dynamicAssetSelection is true.
creCreativeAssetSelection :: Lens' Creative (Maybe CreativeAssetSelection)

-- | Studio creative ID associated with rich media and VPAID creatives.
--   This is a read-only field. Applicable to the following creative types:
--   all RICH_MEDIA, and all VPAID.
creStudioCreativeId :: Lens' Creative (Maybe Int64)

-- | Compatibilities associated with this creative. This is a read-only
--   field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on
--   desktop or on mobile devices or in mobile apps for regular or
--   interstitial ads, respectively. APP and APP_INTERSTITIAL are for
--   rendering in mobile apps. Only pre-existing creatives may have these
--   compatibilities since new creatives will either be assigned DISPLAY or
--   DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in
--   in-stream video ads developed with the VAST standard. Applicable to
--   all creative types. Acceptable values are: - "APP" -
--   "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - "DISPLAY" -
--   "DISPLAY_INTERSTITIAL"
creCompatibility :: Lens' Creative [CreativeCompatibilityItem]

-- | List of feature dependencies that will cause a backup image to be
--   served if the browser that serves the ad does not support them.
--   Feature dependencies are features that a browser must be able to
--   support in order to render your HTML5 creative asset correctly. This
--   field is initially auto-generated to contain all features detected by
--   DCM for all the assets of this creative and can then be modified by
--   the client. To reset this field, copy over all the creativeAssets'
--   detected features. Applicable to the following creative types:
--   HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not
--   HTML_IMAGE.
creBackupImageFeatures :: Lens' Creative [CreativeBackupImageFeaturesItem]

-- | Type of artwork used for the creative. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA, and all
--   VPAID.
creArtworkType :: Lens' Creative (Maybe CreativeArtworkType)

-- | Whether the creative is archived. Applicable to all creative types.
creArchived :: Lens' Creative (Maybe Bool)

-- | List of companion creatives assigned to an in-Stream videocreative.
--   Acceptable values include IDs of existing flash and image creatives.
--   Applicable to the following creative types: all VPAID and all
--   INSTREAM_VIDEO with dynamicAssetSelection set to false.
creCompanionCreatives :: Lens' Creative [Int64]

-- | Combined size of all creative assets. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA, and all
--   VPAID.
creTotalFileSize :: Lens' Creative (Maybe Int64)

-- | Studio trafficked creative ID associated with rich media and VPAID
--   creatives. This is a read-only field. Applicable to the following
--   creative types: all RICH_MEDIA, and all VPAID.
creStudioTraffickedCreativeId :: Lens' Creative (Maybe Int64)

-- | URL of hosted image or hosted video or another ad tag. For
--   INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect
--   URL. The standard for a VAST (Video Ad Serving Template) ad response
--   allows for a redirect link to another VAST 2.0 or 3.0 call. This is a
--   required field when applicable. Applicable to the following creative
--   types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
--   INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
creRedirectURL :: Lens' Creative (Maybe Text)

-- | Whether images are automatically advanced for image gallery creatives.
--   Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
creAutoAdvanceImages :: Lens' Creative (Maybe Bool)

-- | Creative field assignments for this creative. Applicable to all
--   creative types.
creCreativeFieldAssignments :: Lens' Creative [CreativeFieldAssignment]

-- | Site Contact
--   
--   <i>See:</i> <a>siteContact</a> smart constructor.
data SiteContact

-- | Creates a value of <a>SiteContact</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scEmail</a></li>
--   <li><a>scPhone</a></li>
--   <li><a>scLastName</a></li>
--   <li><a>scAddress</a></li>
--   <li><a>scFirstName</a></li>
--   <li><a>scId</a></li>
--   <li><a>scTitle</a></li>
--   <li><a>scContactType</a></li>
--   </ul>
siteContact :: SiteContact

-- | Email address of this site contact. This is a required field.
scEmail :: Lens' SiteContact (Maybe Text)

-- | Primary phone number of this site contact.
scPhone :: Lens' SiteContact (Maybe Text)

-- | Last name of this site contact.
scLastName :: Lens' SiteContact (Maybe Text)

-- | Address of this site contact.
scAddress :: Lens' SiteContact (Maybe Text)

-- | First name of this site contact.
scFirstName :: Lens' SiteContact (Maybe Text)

-- | ID of this site contact. This is a read-only, auto-generated field.
scId :: Lens' SiteContact (Maybe Int64)

-- | Title or designation of this site contact.
scTitle :: Lens' SiteContact (Maybe Text)

-- | Site contact type.
scContactType :: Lens' SiteContact (Maybe SiteContactContactType)

-- | Source application where creative was authored. Presently, only DBM
--   authored creatives will have this field set. Applicable to all
--   creative types.
data CreativeAuthoringSource

-- | <pre>
--   CREATIVE_AUTHORING_SOURCE_DBM
--   </pre>
CreativeAuthoringSourceDBm :: CreativeAuthoringSource

-- | <pre>
--   CREATIVE_AUTHORING_SOURCE_DCM
--   </pre>
CreativeAuthoringSourceDcm :: CreativeAuthoringSource

-- | <pre>
--   CREATIVE_AUTHORING_SOURCE_STUDIO
--   </pre>
CreativeAuthoringSourceStudio :: CreativeAuthoringSource

-- | Account List Response
--   
--   <i>See:</i> <a>accountsListResponse</a> smart constructor.
data AccountsListResponse

-- | Creates a value of <a>AccountsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accNextPageToken</a></li>
--   <li><a>accAccounts</a></li>
--   <li><a>accKind</a></li>
--   </ul>
accountsListResponse :: AccountsListResponse

-- | Pagination token to be used for the next list operation.
accNextPageToken :: Lens' AccountsListResponse (Maybe Text)

-- | Account collection.
accAccounts :: Lens' AccountsListResponse [Account]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountsListResponse".
accKind :: Lens' AccountsListResponse Text

-- | Represents a date range.
--   
--   <i>See:</i> <a>dateRange</a> smart constructor.
data DateRange

-- | Creates a value of <a>DateRange</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drKind</a></li>
--   <li><a>drEndDate</a></li>
--   <li><a>drStartDate</a></li>
--   <li><a>drRelativeDateRange</a></li>
--   </ul>
dateRange :: DateRange

-- | The kind of resource this is, in this case dfareporting#dateRange.
drKind :: Lens' DateRange Text

-- | The end date of the date range, inclusive. A string of the format:
--   "yyyy-MM-dd".
drEndDate :: Lens' DateRange (Maybe Day)

-- | The start date of the date range, inclusive. A string of the format:
--   "yyyy-MM-dd".
drStartDate :: Lens' DateRange (Maybe Day)

-- | The date range relative to the date of when the report is run.
drRelativeDateRange :: Lens' DateRange (Maybe DateRangeRelativeDateRange)
data FloodlightConfigurationStandardVariableTypesItem

-- | <pre>
--   NUM
--   </pre>
Num :: FloodlightConfigurationStandardVariableTypesItem

-- | <pre>
--   ORD
--   </pre>
Ord :: FloodlightConfigurationStandardVariableTypesItem

-- | <pre>
--   TRAN
--   </pre>
Tran :: FloodlightConfigurationStandardVariableTypesItem

-- | <pre>
--   U
--   </pre>
U :: FloodlightConfigurationStandardVariableTypesItem

-- | Represents a Report resource.
--   
--   <i>See:</i> <a>report</a> smart constructor.
data Report

-- | Creates a value of <a>Report</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rDelivery</a></li>
--   <li><a>rEtag</a></li>
--   <li><a>rOwnerProFileId</a></li>
--   <li><a>rSchedule</a></li>
--   <li><a>rPathToConversionCriteria</a></li>
--   <li><a>rKind</a></li>
--   <li><a>rFormat</a></li>
--   <li><a>rReachCriteria</a></li>
--   <li><a>rLastModifiedTime</a></li>
--   <li><a>rAccountId</a></li>
--   <li><a>rName</a></li>
--   <li><a>rId</a></li>
--   <li><a>rCrossDimensionReachCriteria</a></li>
--   <li><a>rType</a></li>
--   <li><a>rSubAccountId</a></li>
--   <li><a>rFloodlightCriteria</a></li>
--   <li><a>rCriteria</a></li>
--   <li><a>rFileName</a></li>
--   </ul>
report :: Report

-- | The report's email delivery settings.
rDelivery :: Lens' Report (Maybe ReportDelivery)

-- | The eTag of this response for caching purposes.
rEtag :: Lens' Report (Maybe Text)

-- | The user profile id of the owner of this report.
rOwnerProFileId :: Lens' Report (Maybe Int64)

-- | The report's schedule. Can only be set if the report's 'dateRange' is
--   a relative date range and the relative date range is not "TODAY".
rSchedule :: Lens' Report (Maybe ReportSchedule)

-- | The report criteria for a report of type "PATH_TO_CONVERSION".
rPathToConversionCriteria :: Lens' Report (Maybe ReportPathToConversionCriteria)

-- | The kind of resource this is, in this case dfareporting#report.
rKind :: Lens' Report Text

-- | The output format of the report. If not specified, default format is
--   "CSV". Note that the actual format in the completed report file might
--   differ if for instance the report's size exceeds the format's
--   capabilities. "CSV" will then be the fallback format.
rFormat :: Lens' Report (Maybe ReportFormat)

-- | The report criteria for a report of type "REACH".
rReachCriteria :: Lens' Report (Maybe ReportReachCriteria)

-- | The timestamp (in milliseconds since epoch) of when this report was
--   last modified.
rLastModifiedTime :: Lens' Report (Maybe Word64)

-- | The account ID to which this report belongs.
rAccountId :: Lens' Report (Maybe Int64)

-- | The name of the report.
rName :: Lens' Report (Maybe Text)

-- | The unique ID identifying this report resource.
rId :: Lens' Report (Maybe Int64)

-- | The report criteria for a report of type "CROSS_DIMENSION_REACH".
rCrossDimensionReachCriteria :: Lens' Report (Maybe ReportCrossDimensionReachCriteria)

-- | The type of the report.
rType :: Lens' Report (Maybe ReportType)

-- | The subaccount ID to which this report belongs if applicable.
rSubAccountId :: Lens' Report (Maybe Int64)

-- | The report criteria for a report of type "FLOODLIGHT".
rFloodlightCriteria :: Lens' Report (Maybe ReportFloodlightCriteria)

-- | The report criteria for a report of type "STANDARD".
rCriteria :: Lens' Report (Maybe ReportCriteria)

-- | The filename used when generating report files for this report.
rFileName :: Lens' Report (Maybe Text)

-- | Payment source for this placement. This is a required field that is
--   read-only after insertion.
data PlacementPaymentSource

-- | <pre>
--   PLACEMENT_AGENCY_PAID
--   </pre>
PPSPlacementAgencyPaid :: PlacementPaymentSource

-- | <pre>
--   PLACEMENT_PUBLISHER_PAID
--   </pre>
PPSPlacementPublisherPaid :: PlacementPaymentSource

-- | A rule associates an asset with a targeting template for asset-level
--   targeting. Applicable to INSTREAM_VIDEO creatives.
--   
--   <i>See:</i> <a>rule</a> smart constructor.
data Rule

-- | Creates a value of <a>Rule</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rulTargetingTemplateId</a></li>
--   <li><a>rulName</a></li>
--   <li><a>rulAssetId</a></li>
--   </ul>
rule :: Rule

-- | A targeting template ID. The targeting from the targeting template
--   will be used to determine whether this asset should be served. This is
--   a required field.
rulTargetingTemplateId :: Lens' Rule (Maybe Int64)

-- | A user-friendly name for this rule. This is a required field.
rulName :: Lens' Rule (Maybe Text)

-- | A creativeAssets[].id. This should refer to one of the parent assets
--   in this creative. This is a required field.
rulAssetId :: Lens' Rule (Maybe Int64)

-- | Order of sorted results, default is 'DESCENDING'.
data ReportsFilesListSortOrder

-- | <tt>ASCENDING</tt> Ascending order.
RFLSOAscending :: ReportsFilesListSortOrder

-- | <tt>DESCENDING</tt> Descending order.
RFLSODescending :: ReportsFilesListSortOrder

-- | Contains properties of a DCM campaign.
--   
--   <i>See:</i> <a>campaign</a> smart constructor.
data Campaign

-- | Creates a value of <a>Campaign</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>camCreativeOptimizationConfiguration</a></li>
--   <li><a>camCreativeGroupIds</a></li>
--   <li><a>camNielsenOCREnabled</a></li>
--   <li><a>camKind</a></li>
--   <li><a>camClickThroughURLSuffixProperties</a></li>
--   <li><a>camAdvertiserId</a></li>
--   <li><a>camEndDate</a></li>
--   <li><a>camAdvertiserIdDimensionValue</a></li>
--   <li><a>camIdDimensionValue</a></li>
--   <li><a>camEventTagOverrides</a></li>
--   <li><a>camLookbackConfiguration</a></li>
--   <li><a>camStartDate</a></li>
--   <li><a>camAccountId</a></li>
--   <li><a>camName</a></li>
--   <li><a>camAdvertiserGroupId</a></li>
--   <li><a>camBillingInvoiceCode</a></li>
--   <li><a>camCreateInfo</a></li>
--   <li><a>camLastModifiedInfo</a></li>
--   <li><a>camId</a></li>
--   <li><a>camSubAccountId</a></li>
--   <li><a>camAdditionalCreativeOptimizationConfigurations</a></li>
--   <li><a>camExternalId</a></li>
--   <li><a>camComment</a></li>
--   <li><a>camAudienceSegmentGroups</a></li>
--   <li><a>camArchived</a></li>
--   <li><a>camTraffickerEmails</a></li>
--   <li><a>camDefaultClickThroughEventTagProperties</a></li>
--   </ul>
campaign :: Campaign

-- | Creative optimization configuration for the campaign.
camCreativeOptimizationConfiguration :: Lens' Campaign (Maybe CreativeOptimizationConfiguration)

-- | List of creative group IDs that are assigned to the campaign.
camCreativeGroupIds :: Lens' Campaign [Int64]

-- | Whether Nielsen reports are enabled for this campaign.
camNielsenOCREnabled :: Lens' Campaign (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#campaign".
camKind :: Lens' Campaign Text

-- | Click-through URL suffix override properties for this campaign.
camClickThroughURLSuffixProperties :: Lens' Campaign (Maybe ClickThroughURLSuffixProperties)

-- | Advertiser ID of this campaign. This is a required field.
camAdvertiserId :: Lens' Campaign (Maybe Int64)

-- | Date on which the campaign will stop running. On insert, the end date
--   must be today or a future date. The end date must be later than or be
--   the same as the start date. If, for example, you set 6/25/2015 as both
--   the start and end dates, the effective campaign run date is just that
--   day only, 6/25/2015. The hours, minutes, and seconds of the end date
--   should not be set, as doing so will result in an error. This is a
--   required field.
camEndDate :: Lens' Campaign (Maybe Day)

-- | Dimension value for the advertiser ID of this campaign. This is a
--   read-only, auto-generated field.
camAdvertiserIdDimensionValue :: Lens' Campaign (Maybe DimensionValue)

-- | Dimension value for the ID of this campaign. This is a read-only,
--   auto-generated field.
camIdDimensionValue :: Lens' Campaign (Maybe DimensionValue)

-- | Overrides that can be used to activate or deactivate advertiser event
--   tags.
camEventTagOverrides :: Lens' Campaign [EventTagOverride]

-- | Lookback window settings for the campaign.
camLookbackConfiguration :: Lens' Campaign (Maybe LookbackConfiguration)

-- | Date on which the campaign starts running. The start date can be any
--   date. The hours, minutes, and seconds of the start date should not be
--   set, as doing so will result in an error. This is a required field.
camStartDate :: Lens' Campaign (Maybe Day)

-- | Account ID of this campaign. This is a read-only field that can be
--   left blank.
camAccountId :: Lens' Campaign (Maybe Int64)

-- | Name of this campaign. This is a required field and must be less than
--   256 characters long and unique among campaigns of the same advertiser.
camName :: Lens' Campaign (Maybe Text)

-- | Advertiser group ID of the associated advertiser.
camAdvertiserGroupId :: Lens' Campaign (Maybe Int64)

-- | Billing invoice code included in the DCM client billing invoices
--   associated with the campaign.
camBillingInvoiceCode :: Lens' Campaign (Maybe Text)

-- | Information about the creation of this campaign. This is a read-only
--   field.
camCreateInfo :: Lens' Campaign (Maybe LastModifiedInfo)

-- | Information about the most recent modification of this campaign. This
--   is a read-only field.
camLastModifiedInfo :: Lens' Campaign (Maybe LastModifiedInfo)

-- | ID of this campaign. This is a read-only auto-generated field.
camId :: Lens' Campaign (Maybe Int64)

-- | Subaccount ID of this campaign. This is a read-only field that can be
--   left blank.
camSubAccountId :: Lens' Campaign (Maybe Int64)

-- | Additional creative optimization configurations for the campaign.
camAdditionalCreativeOptimizationConfigurations :: Lens' Campaign [CreativeOptimizationConfiguration]

-- | External ID for this campaign.
camExternalId :: Lens' Campaign (Maybe Text)

-- | Arbitrary comments about this campaign. Must be less than 256
--   characters long.
camComment :: Lens' Campaign (Maybe Text)

-- | Audience segment groups assigned to this campaign. Cannot have more
--   than 300 segment groups.
camAudienceSegmentGroups :: Lens' Campaign [AudienceSegmentGroup]

-- | Whether this campaign has been archived.
camArchived :: Lens' Campaign (Maybe Bool)

-- | Campaign trafficker contact emails.
camTraffickerEmails :: Lens' Campaign [Text]

-- | Click-through event tag ID override properties for this campaign.
camDefaultClickThroughEventTagProperties :: Lens' Campaign (Maybe DefaultClickThroughEventTagProperties)

-- | Field by which to sort the list.
data InventoryItemsListSortField

-- | <pre>
--   ID
--   </pre>
IILSFID :: InventoryItemsListSortField

-- | <pre>
--   NAME
--   </pre>
IILSFName :: InventoryItemsListSortField

-- | Event tag type. Can be used to specify whether to use a third-party
--   pixel, a third-party JavaScript URL, or a third-party click-through
--   URL for either impression or click tracking. This is a required field.
data EventTagType

-- | <pre>
--   CLICK_THROUGH_EVENT_TAG
--   </pre>
ETTClickThroughEventTag :: EventTagType

-- | <pre>
--   IMPRESSION_IMAGE_EVENT_TAG
--   </pre>
ETTImpressionImageEventTag :: EventTagType

-- | <pre>
--   IMPRESSION_JAVASCRIPT_EVENT_TAG
--   </pre>
ETTImpressionJavascriptEventTag :: EventTagType

-- | Order of sorted results, default is ASCENDING.
data CreativesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CAscending :: CreativesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CDescending :: CreativesListSortOrder

-- | Select only inventory items with this type.
data InventoryItemsListType

-- | <pre>
--   PLANNING_PLACEMENT_TYPE_CREDIT
--   </pre>
PlanningPlacementTypeCredit :: InventoryItemsListType

-- | <pre>
--   PLANNING_PLACEMENT_TYPE_REGULAR
--   </pre>
PlanningPlacementTypeRegular :: InventoryItemsListType

-- | Third Party Authentication Token
--   
--   <i>See:</i> <a>thirdPartyAuthenticationToken</a> smart constructor.
data ThirdPartyAuthenticationToken

-- | Creates a value of <a>ThirdPartyAuthenticationToken</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpatValue</a></li>
--   <li><a>tpatName</a></li>
--   </ul>
thirdPartyAuthenticationToken :: ThirdPartyAuthenticationToken

-- | Value of the third-party authentication token. This is a read-only,
--   auto-generated field.
tpatValue :: Lens' ThirdPartyAuthenticationToken (Maybe Text)

-- | Name of the third-party authentication token.
tpatName :: Lens' ThirdPartyAuthenticationToken (Maybe Text)

-- | Popup window position either centered or at specific coordinate.
data PopupWindowPropertiesPositionType

-- | <pre>
--   CENTER
--   </pre>
Center :: PopupWindowPropertiesPositionType

-- | <pre>
--   COORDINATES
--   </pre>
Coordinates :: PopupWindowPropertiesPositionType

-- | Directory site contact role.
data DirectorySiteContactRole

-- | <pre>
--   ADMIN
--   </pre>
Admin :: DirectorySiteContactRole

-- | <pre>
--   EDIT
--   </pre>
Edit :: DirectorySiteContactRole

-- | <pre>
--   VIEW
--   </pre>
View :: DirectorySiteContactRole

-- | Click-through URL
--   
--   <i>See:</i> <a>clickThroughURL</a> smart constructor.
data ClickThroughURL

-- | Creates a value of <a>ClickThroughURL</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctuDefaultLandingPage</a></li>
--   <li><a>ctuComputedClickThroughURL</a></li>
--   <li><a>ctuCustomClickThroughURL</a></li>
--   <li><a>ctuLandingPageId</a></li>
--   </ul>
clickThroughURL :: ClickThroughURL

-- | Whether the campaign default landing page is used.
ctuDefaultLandingPage :: Lens' ClickThroughURL (Maybe Bool)

-- | Read-only convenience field representing the actual URL that will be
--   used for this click-through. The URL is computed as follows: - If
--   defaultLandingPage is enabled then the campaign's default landing page
--   URL is assigned to this field. - If defaultLandingPage is not enabled
--   and a landingPageId is specified then that landing page's URL is
--   assigned to this field. - If neither of the above cases apply, then
--   the customClickThroughUrl is assigned to this field.
ctuComputedClickThroughURL :: Lens' ClickThroughURL (Maybe Text)

-- | Custom click-through URL. Applicable if the defaultLandingPage field
--   is set to false and the landingPageId field is left unset.
ctuCustomClickThroughURL :: Lens' ClickThroughURL (Maybe Text)

-- | ID of the landing page for the click-through URL. Applicable if the
--   defaultLandingPage field is set to false.
ctuLandingPageId :: Lens' ClickThroughURL (Maybe Int64)

-- | Option specifying how keywords are embedded in ad tags. This setting
--   can be used to specify whether keyword placeholders are inserted in
--   placement tags for this site. Publishers can then add keywords to
--   those placeholders.
data TagSettingKeywordOption

-- | <pre>
--   GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD
--   </pre>
GenerateSeparateTagForEachKeyword :: TagSettingKeywordOption

-- | <pre>
--   IGNORE
--   </pre>
Ignore :: TagSettingKeywordOption

-- | <pre>
--   PLACEHOLDER_WITH_LIST_OF_KEYWORDS
--   </pre>
PlaceholderWithListOfKeywords :: TagSettingKeywordOption

-- | Authoring tool for HTML5 banner creatives. This is a read-only field.
--   Applicable to the following creative types: HTML5_BANNER.
data CreativeAuthoringTool

-- | <pre>
--   NINJA
--   </pre>
Ninja :: CreativeAuthoringTool

-- | <pre>
--   SWIFFY
--   </pre>
Swiffy :: CreativeAuthoringTool

-- | Type of this contact.
data OrderContactContactType

-- | <pre>
--   PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT
--   </pre>
PlanningOrderContactBuyerBillingContact :: OrderContactContactType

-- | <pre>
--   PLANNING_ORDER_CONTACT_BUYER_CONTACT
--   </pre>
PlanningOrderContactBuyerContact :: OrderContactContactType

-- | <pre>
--   PLANNING_ORDER_CONTACT_SELLER_CONTACT
--   </pre>
PlanningOrderContactSellerContact :: OrderContactContactType

-- | Type of asset to upload. This is a required field. FLASH and IMAGE are
--   no longer supported for new uploads. All image assets should use
--   HTML_IMAGE.
data CreativeAssetIdType

-- | <pre>
--   FLASH
--   </pre>
CAITFlash :: CreativeAssetIdType

-- | <pre>
--   HTML
--   </pre>
CAITHTML :: CreativeAssetIdType

-- | <pre>
--   HTML_IMAGE
--   </pre>
CAITHTMLImage :: CreativeAssetIdType

-- | <pre>
--   IMAGE
--   </pre>
CAITImage :: CreativeAssetIdType

-- | <pre>
--   VIDEO
--   </pre>
CAITVideo :: CreativeAssetIdType

-- | Order of sorted results, default is ASCENDING.
data AccountUserProFilesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
AUPFLSOAscending :: AccountUserProFilesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
AUPFLSODescending :: AccountUserProFilesListSortOrder

-- | Product from which this remarketing list was originated.
data RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_ADX
--   </pre>
RLLSRemarketingListSourceAdx :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DBM
--   </pre>
RLLSRemarketingListSourceDBm :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DFA
--   </pre>
RLLSRemarketingListSourceDfa :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DFP
--   </pre>
RLLSRemarketingListSourceDfp :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DMP
--   </pre>
RLLSRemarketingListSourceDmp :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_GA
--   </pre>
RLLSRemarketingListSourceGa :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_GPLUS
--   </pre>
RLLSRemarketingListSourceGplus :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_OTHER
--   </pre>
RLLSRemarketingListSourceOther :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_PLAY_STORE
--   </pre>
RLLSRemarketingListSourcePlayStore :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_XFP
--   </pre>
RLLSRemarketingListSourceXfp :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_YOUTUBE
--   </pre>
RLLSRemarketingListSourceYouTube :: RemarketingListListSource

-- | Browser List Response
--   
--   <i>See:</i> <a>browsersListResponse</a> smart constructor.
data BrowsersListResponse

-- | Creates a value of <a>BrowsersListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>blrKind</a></li>
--   <li><a>blrBrowsers</a></li>
--   </ul>
browsersListResponse :: BrowsersListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#browsersListResponse".
blrKind :: Lens' BrowsersListResponse Text

-- | Browser collection.
blrBrowsers :: Lens' BrowsersListResponse [Browser]

-- | User type of the user profile. This is a read-only field that can be
--   left blank.
data AccountUserProFileUserAccessType

-- | <pre>
--   INTERNAL_ADMINISTRATOR
--   </pre>
InternalAdministrator :: AccountUserProFileUserAccessType

-- | <pre>
--   NORMAL_USER
--   </pre>
NormalUser :: AccountUserProFileUserAccessType

-- | <pre>
--   READ_ONLY_SUPER_USER
--   </pre>
ReadOnlySuperUser :: AccountUserProFileUserAccessType

-- | <pre>
--   SUPER_USER
--   </pre>
SuperUser :: AccountUserProFileUserAccessType

-- | Initial wait time type before making the asset visible. Applicable to
--   the following creative types: all RICH_MEDIA.
data CreativeAssetStartTimeType

-- | <pre>
--   ASSET_START_TIME_TYPE_CUSTOM
--   </pre>
AssetStartTimeTypeCustom :: CreativeAssetStartTimeType

-- | <pre>
--   ASSET_START_TIME_TYPE_NONE
--   </pre>
AssetStartTimeTypeNone :: CreativeAssetStartTimeType

-- | Audience gender of this project.
data ProjectAudienceGender

-- | <pre>
--   PLANNING_AUDIENCE_GENDER_FEMALE
--   </pre>
PlanningAudienceGenderFemale :: ProjectAudienceGender

-- | <pre>
--   PLANNING_AUDIENCE_GENDER_MALE
--   </pre>
PlanningAudienceGenderMale :: ProjectAudienceGender

-- | Site Settings
--   
--   <i>See:</i> <a>siteSettings</a> smart constructor.
data SiteSettings

-- | Creates a value of <a>SiteSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssDisableNewCookie</a></li>
--   <li><a>ssVideoActiveViewOptOutTemplate</a></li>
--   <li><a>ssDisableBrandSafeAds</a></li>
--   <li><a>ssLookbackConfiguration</a></li>
--   <li><a>ssTagSetting</a></li>
--   <li><a>ssActiveViewOptOut</a></li>
--   <li><a>ssVpaidAdapterChoiceTemplate</a></li>
--   <li><a>ssCreativeSettings</a></li>
--   </ul>
siteSettings :: SiteSettings

-- | Whether new cookies are disabled for this site.
ssDisableNewCookie :: Lens' SiteSettings (Maybe Bool)

-- | Whether Verification and ActiveView for in-stream video creatives are
--   disabled by default for new placements created under this site. This
--   value will be used to populate the placement.videoActiveViewOptOut
--   field, when no value is specified for the new placement.
ssVideoActiveViewOptOutTemplate :: Lens' SiteSettings (Maybe Bool)

-- | Whether brand safe ads are disabled for this site.
ssDisableBrandSafeAds :: Lens' SiteSettings (Maybe Bool)

-- | Lookback window settings for this site.
ssLookbackConfiguration :: Lens' SiteSettings (Maybe LookbackConfiguration)

-- | Configuration settings for dynamic and image floodlight tags.
ssTagSetting :: Lens' SiteSettings (Maybe TagSetting)

-- | Whether active view creatives are disabled for this site.
ssActiveViewOptOut :: Lens' SiteSettings (Maybe Bool)

-- | Default VPAID adapter setting for new placements created under this
--   site. This value will be used to populate the
--   placements.vpaidAdapterChoice field, when no value is specified for
--   the new placement. Controls which VPAID format the measurement adapter
--   will use for in-stream video creatives assigned to the placement. The
--   publisher's specifications will typically determine this setting. For
--   VPAID creatives, the adapter format will match the VPAID format (HTML5
--   VPAID creatives use the HTML5 adapter, and Flash VPAID creatives use
--   the Flash adapter).
ssVpaidAdapterChoiceTemplate :: Lens' SiteSettings (Maybe SiteSettingsVpaidAdapterChoiceTemplate)

-- | Site-wide creative settings.
ssCreativeSettings :: Lens' SiteSettings (Maybe CreativeSettings)

-- | Field by which to sort the list.
data PlacementStrategiesListSortField

-- | <pre>
--   ID
--   </pre>
PSLSFID :: PlacementStrategiesListSortField

-- | <pre>
--   NAME
--   </pre>
PSLSFName :: PlacementStrategiesListSortField

-- | Content Category List Response
--   
--   <i>See:</i> <a>contentCategoriesListResponse</a> smart constructor.
data ContentCategoriesListResponse

-- | Creates a value of <a>ContentCategoriesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cclrNextPageToken</a></li>
--   <li><a>cclrKind</a></li>
--   <li><a>cclrContentCategories</a></li>
--   </ul>
contentCategoriesListResponse :: ContentCategoriesListResponse

-- | Pagination token to be used for the next list operation.
cclrNextPageToken :: Lens' ContentCategoriesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#contentCategoriesListResponse".
cclrKind :: Lens' ContentCategoriesListResponse Text

-- | Content category collection.
cclrContentCategories :: Lens' ContentCategoriesListResponse [ContentCategory]

-- | Data type for the variable. This is a required field.
data UserDefinedVariableConfigurationDataType

-- | <pre>
--   NUMBER
--   </pre>
Number :: UserDefinedVariableConfigurationDataType

-- | <pre>
--   STRING
--   </pre>
String :: UserDefinedVariableConfigurationDataType

-- | Code type used for cache busting in the generated tag.
data FloodlightActivityCacheBustingType

-- | <pre>
--   ACTIVE_SERVER_PAGE
--   </pre>
ActiveServerPage :: FloodlightActivityCacheBustingType

-- | <pre>
--   COLD_FUSION
--   </pre>
ColdFusion :: FloodlightActivityCacheBustingType

-- | <pre>
--   JAVASCRIPT
--   </pre>
Javascript :: FloodlightActivityCacheBustingType

-- | <pre>
--   JSP
--   </pre>
Jsp :: FloodlightActivityCacheBustingType

-- | <pre>
--   PHP
--   </pre>
Php :: FloodlightActivityCacheBustingType

-- | Creative List Response
--   
--   <i>See:</i> <a>creativesListResponse</a> smart constructor.
data CreativesListResponse

-- | Creates a value of <a>CreativesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clrlNextPageToken</a></li>
--   <li><a>clrlKind</a></li>
--   <li><a>clrlCreatives</a></li>
--   </ul>
creativesListResponse :: CreativesListResponse

-- | Pagination token to be used for the next list operation.
clrlNextPageToken :: Lens' CreativesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativesListResponse".
clrlKind :: Lens' CreativesListResponse Text

-- | Creative collection.
clrlCreatives :: Lens' CreativesListResponse [Creative]

-- | Order of sorted results, default is ASCENDING.
data CreativeGroupsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CGLSOAscending :: CreativeGroupsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CGLSODescending :: CreativeGroupsListSortOrder

-- | Type of this order document
data OrderDocumentType

-- | <pre>
--   PLANNING_ORDER_TYPE_CHANGE_ORDER
--   </pre>
PlanningOrderTypeChangeOrder :: OrderDocumentType

-- | <pre>
--   PLANNING_ORDER_TYPE_INSERTION_ORDER
--   </pre>
PlanningOrderTypeInsertionOrder :: OrderDocumentType

-- | TagData tag format of this tag.
data TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_CLICK_COMMANDS
--   </pre>
PlacementTagClickCommands :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_IFRAME_ILAYER
--   </pre>
PlacementTagIframeIlayer :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT
--   </pre>
PlacementTagIframeJavascript :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PlacementTagIframeJavascriptLegacy :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH
--   </pre>
PlacementTagInstreamVideoPrefetch :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3
--   </pre>
PlacementTagInstreamVideoPrefetchVast3 :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERNAL_REDIRECT
--   </pre>
PlacementTagInternalRedirect :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT
--   </pre>
PlacementTagInterstitialIframeJavascript :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PlacementTagInterstitialIframeJavascriptLegacy :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
PlacementTagInterstitialInternalRedirect :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT
--   </pre>
PlacementTagInterstitialJavascript :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY
--   </pre>
PlacementTagInterstitialJavascriptLegacy :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT
--   </pre>
PlacementTagJavascript :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT_LEGACY
--   </pre>
PlacementTagJavascriptLegacy :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_STANDARD
--   </pre>
PlacementTagStandard :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_TRACKING
--   </pre>
PlacementTagTracking :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_TRACKING_IFRAME
--   </pre>
PlacementTagTrackingIframe :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_TRACKING_JAVASCRIPT
--   </pre>
PlacementTagTrackingJavascript :: TagDataFormat

-- | Contains properties of a DCM account.
--   
--   <i>See:</i> <a>account</a> smart constructor.
data Account

-- | Creates a value of <a>Account</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaAccountPermissionIds</a></li>
--   <li><a>aaMaximumImageSize</a></li>
--   <li><a>aaCurrencyId</a></li>
--   <li><a>aaReportsConfiguration</a></li>
--   <li><a>aaNielsenOCREnabled</a></li>
--   <li><a>aaKind</a></li>
--   <li><a>aaLocale</a></li>
--   <li><a>aaActive</a></li>
--   <li><a>aaAvailablePermissionIds</a></li>
--   <li><a>aaTeaserSizeLimit</a></li>
--   <li><a>aaActiveViewOptOut</a></li>
--   <li><a>aaShareReportsWithTwitter</a></li>
--   <li><a>aaName</a></li>
--   <li><a>aaAccountProFile</a></li>
--   <li><a>aaId</a></li>
--   <li><a>aaCountryId</a></li>
--   <li><a>aaActiveAdsLimitTier</a></li>
--   <li><a>aaDefaultCreativeSizeId</a></li>
--   <li><a>aaDescription</a></li>
--   </ul>
account :: Account

-- | Account permissions assigned to this account.
aaAccountPermissionIds :: Lens' Account [Int64]

-- | Maximum image size allowed for this account.
aaMaximumImageSize :: Lens' Account (Maybe Int64)

-- | ID of currency associated with this account. This is a required field.
--   Acceptable values are: - "1" for USD - "2" for GBP - "3" for ESP - "4"
--   for SEK - "5" for CAD - "6" for JPY - "7" for DEM - "8" for AUD - "9"
--   for FRF - "10" for ITL - "11" for DKK - "12" for NOK - "13" for FIM -
--   "14" for ZAR - "15" for IEP - "16" for NLG - "17" for EUR - "18" for
--   KRW - "19" for TWD - "20" for SGD - "21" for CNY - "22" for HKD - "23"
--   for NZD - "24" for MYR - "25" for BRL - "26" for PTE - "27" for MXP -
--   "28" for CLP - "29" for TRY - "30" for ARS - "31" for PEN - "32" for
--   ILS - "33" for CHF - "34" for VEF - "35" for COP - "36" for GTQ - "37"
--   for PLN - "39" for INR - "40" for THB - "41" for IDR - "42" for CZK -
--   "43" for RON - "44" for HUF - "45" for RUB - "46" for AED - "47" for
--   BGN - "48" for HRK
aaCurrencyId :: Lens' Account (Maybe Int64)

-- | Reporting configuration of this account.
aaReportsConfiguration :: Lens' Account (Maybe ReportsConfiguration)

-- | Whether campaigns created in this account will be enabled for Nielsen
--   OCR reach ratings by default.
aaNielsenOCREnabled :: Lens' Account (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#account".
aaKind :: Lens' Account Text

-- | Locale of this account. Acceptable values are: - "cs" (Czech) - "de"
--   (German) - "en" (English) - "en-GB" (English United Kingdom) - "es"
--   (Spanish) - "fr" (French) - "it" (Italian) - "ja" (Japanese) - "ko"
--   (Korean) - "pl" (Polish) - "pt-BR" (Portuguese Brazil) - "ru"
--   (Russian) - "sv" (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese
--   Simplified) - "zh-TW" (Chinese Traditional)
aaLocale :: Lens' Account (Maybe Text)

-- | Whether this account is active.
aaActive :: Lens' Account (Maybe Bool)

-- | User role permissions available to the user roles of this account.
aaAvailablePermissionIds :: Lens' Account [Int64]

-- | File size limit in kilobytes of Rich Media teaser creatives. Must be
--   between 1 and 10240.
aaTeaserSizeLimit :: Lens' Account (Maybe Int64)

-- | Whether to serve creatives with Active View tags. If disabled,
--   viewability data will not be available for any impressions.
aaActiveViewOptOut :: Lens' Account (Maybe Bool)

-- | Share Path to Conversion reports with Twitter.
aaShareReportsWithTwitter :: Lens' Account (Maybe Bool)

-- | Name of this account. This is a required field, and must be less than
--   128 characters long and be globally unique.
aaName :: Lens' Account (Maybe Text)

-- | Profile for this account. This is a read-only field that can be left
--   blank.
aaAccountProFile :: Lens' Account (Maybe AccountAccountProFile)

-- | ID of this account. This is a read-only, auto-generated field.
aaId :: Lens' Account (Maybe Int64)

-- | ID of the country associated with this account.
aaCountryId :: Lens' Account (Maybe Int64)

-- | Maximum number of active ads allowed for this account.
aaActiveAdsLimitTier :: Lens' Account (Maybe AccountActiveAdsLimitTier)

-- | Default placement dimensions for this account.
aaDefaultCreativeSizeId :: Lens' Account (Maybe Int64)

-- | Description of this account.
aaDescription :: Lens' Account (Maybe Text)

-- | Insert Conversions Request.
--   
--   <i>See:</i> <a>conversionsBatchInsertRequest</a> smart constructor.
data ConversionsBatchInsertRequest

-- | Creates a value of <a>ConversionsBatchInsertRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbirKind</a></li>
--   <li><a>cbirConversions</a></li>
--   <li><a>cbirEncryptionInfo</a></li>
--   </ul>
conversionsBatchInsertRequest :: ConversionsBatchInsertRequest

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversionsBatchInsertRequest".
cbirKind :: Lens' ConversionsBatchInsertRequest Text

-- | The set of conversions to insert.
cbirConversions :: Lens' ConversionsBatchInsertRequest [Conversion]

-- | Describes how encryptedUserId or encryptedUserIdCandidates[] is
--   encrypted. This is a required field if encryptedUserId or
--   encryptedUserIdCandidates[] is used.
cbirEncryptionInfo :: Lens' ConversionsBatchInsertRequest (Maybe EncryptionInfo)

-- | Maximum number of active ads allowed for the account.
data AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_100K
--   </pre>
ActiveAdsTier100K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_200K
--   </pre>
ActiveAdsTier200K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_300K
--   </pre>
ActiveAdsTier300K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_40K
--   </pre>
ActiveAdsTier40K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_500K
--   </pre>
ActiveAdsTier500K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_750K
--   </pre>
ActiveAdsTier750K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_75K
--   </pre>
ActiveAdsTier75K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | Rich media child asset type. This is a read-only field. Applicable to
--   the following creative types: all VPAID.
data CreativeAssetChildAssetType

-- | <pre>
--   CHILD_ASSET_TYPE_DATA
--   </pre>
ChildAssetTypeData :: CreativeAssetChildAssetType

-- | <pre>
--   CHILD_ASSET_TYPE_FLASH
--   </pre>
ChildAssetTypeFlash :: CreativeAssetChildAssetType

-- | <pre>
--   CHILD_ASSET_TYPE_IMAGE
--   </pre>
ChildAssetTypeImage :: CreativeAssetChildAssetType

-- | <pre>
--   CHILD_ASSET_TYPE_VIDEO
--   </pre>
ChildAssetTypeVideo :: CreativeAssetChildAssetType

-- | Select only placement groups belonging with this group type. A package
--   is a simple group of placements that acts as a single pricing point
--   for a group of tags. A roadblock is a group of placements that not
--   only acts as a single pricing point but also assumes that all the tags
--   in it will be served at the same time. A roadblock requires one of its
--   assigned placements to be marked as primary for reporting.
data PlacementGroupsListPlacementGroupType

-- | <pre>
--   PLACEMENT_PACKAGE
--   </pre>
PlacementPackage :: PlacementGroupsListPlacementGroupType

-- | <pre>
--   PLACEMENT_ROADBLOCK
--   </pre>
PlacementRoadblock :: PlacementGroupsListPlacementGroupType

-- | Account User Profile List Response
--   
--   <i>See:</i> <a>accountUserProFilesListResponse</a> smart constructor.
data AccountUserProFilesListResponse

-- | Creates a value of <a>AccountUserProFilesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aupflrNextPageToken</a></li>
--   <li><a>aupflrAccountUserProFiles</a></li>
--   <li><a>aupflrKind</a></li>
--   </ul>
accountUserProFilesListResponse :: AccountUserProFilesListResponse

-- | Pagination token to be used for the next list operation.
aupflrNextPageToken :: Lens' AccountUserProFilesListResponse (Maybe Text)

-- | Account user profile collection.
aupflrAccountUserProFiles :: Lens' AccountUserProFilesListResponse [AccountUserProFile]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountUserProfilesListResponse".
aupflrKind :: Lens' AccountUserProFilesListResponse Text

-- | Organizes placements according to the contents of their associated
--   webpages.
--   
--   <i>See:</i> <a>contentCategory</a> smart constructor.
data ContentCategory

-- | Creates a value of <a>ContentCategory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>conKind</a></li>
--   <li><a>conAccountId</a></li>
--   <li><a>conName</a></li>
--   <li><a>conId</a></li>
--   </ul>
contentCategory :: ContentCategory

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#contentCategory".
conKind :: Lens' ContentCategory Text

-- | Account ID of this content category. This is a read-only field that
--   can be left blank.
conAccountId :: Lens' ContentCategory (Maybe Int64)

-- | Name of this content category. This is a required field and must be
--   less than 256 characters long and unique among content categories of
--   the same account.
conName :: Lens' ContentCategory (Maybe Text)

-- | ID of this content category. This is a read-only, auto-generated
--   field.
conId :: Lens' ContentCategory (Maybe Int64)

-- | Status of the filter. NONE means the user has access to none of the
--   objects. ALL means the user has access to all objects. ASSIGNED means
--   the user has access to the objects with IDs in the objectIds list.
data ObjectFilterStatus

-- | <pre>
--   ALL
--   </pre>
OFSAll :: ObjectFilterStatus

-- | <pre>
--   ASSIGNED
--   </pre>
OFSAssigned :: ObjectFilterStatus

-- | <pre>
--   NONE
--   </pre>
OFSNone :: ObjectFilterStatus

-- | Represents fields that are compatible to be selected for a report of
--   type "STANDARD".
--   
--   <i>See:</i> <a>reportCompatibleFields</a> smart constructor.
data ReportCompatibleFields

-- | Creates a value of <a>ReportCompatibleFields</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcfMetrics</a></li>
--   <li><a>rcfKind</a></li>
--   <li><a>rcfDimensionFilters</a></li>
--   <li><a>rcfPivotedActivityMetrics</a></li>
--   <li><a>rcfDimensions</a></li>
--   </ul>
reportCompatibleFields :: ReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
rcfMetrics :: Lens' ReportCompatibleFields [Metric]

-- | The kind of resource this is, in this case
--   dfareporting#reportCompatibleFields.
rcfKind :: Lens' ReportCompatibleFields Text

-- | Dimensions which are compatible to be selected in the
--   "dimensionFilters" section of the report.
rcfDimensionFilters :: Lens' ReportCompatibleFields [Dimension]

-- | Metrics which are compatible to be selected as activity metrics to
--   pivot on in the "activities" section of the report.
rcfPivotedActivityMetrics :: Lens' ReportCompatibleFields [Metric]

-- | Dimensions which are compatible to be selected in the "dimensions"
--   section of the report.
rcfDimensions :: Lens' ReportCompatibleFields [Dimension]

-- | Order of sorted results, default is ASCENDING.
data CampaignCreativeAssociationsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CCALSOAscending :: CampaignCreativeAssociationsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CCALSODescending :: CampaignCreativeAssociationsListSortOrder

-- | Delivery Schedule.
--   
--   <i>See:</i> <a>deliverySchedule</a> smart constructor.
data DeliverySchedule

-- | Creates a value of <a>DeliverySchedule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsHardCutoff</a></li>
--   <li><a>dsPriority</a></li>
--   <li><a>dsImpressionRatio</a></li>
--   <li><a>dsFrequencyCap</a></li>
--   </ul>
deliverySchedule :: DeliverySchedule

-- | Whether or not hard cutoff is enabled. If true, the ad will not serve
--   after the end date and time. Otherwise the ad will continue to be
--   served until it has reached its delivery goals.
dsHardCutoff :: Lens' DeliverySchedule (Maybe Bool)

-- | Serving priority of an ad, with respect to other ads. The lower the
--   priority number, the greater the priority with which it is served.
dsPriority :: Lens' DeliverySchedule (Maybe DeliverySchedulePriority)

-- | Impression ratio for this ad. This ratio determines how often each ad
--   is served relative to the others. For example, if ad A has an
--   impression ratio of 1 and ad B has an impression ratio of 3, then DCM
--   will serve ad B three times as often as ad A. Must be between 1 and
--   10.
dsImpressionRatio :: Lens' DeliverySchedule (Maybe Int64)

-- | Limit on the number of times an individual user can be served the ad
--   within a specified period of time.
dsFrequencyCap :: Lens' DeliverySchedule (Maybe FrequencyCap)

-- | Contains properties of a remarketing list. Remarketing enables you to
--   create lists of users who have performed specific actions on a site,
--   then target ads to members of those lists. This resource can be used
--   to manage remarketing lists that are owned by your advertisers. To see
--   all remarketing lists that are visible to your advertisers, including
--   those that are shared to your advertiser or account, use the
--   TargetableRemarketingLists resource.
--   
--   <i>See:</i> <a>remarketingList</a> smart constructor.
data RemarketingList

-- | Creates a value of <a>RemarketingList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlListSize</a></li>
--   <li><a>rlListPopulationRule</a></li>
--   <li><a>rlLifeSpan</a></li>
--   <li><a>rlKind</a></li>
--   <li><a>rlAdvertiserId</a></li>
--   <li><a>rlAdvertiserIdDimensionValue</a></li>
--   <li><a>rlActive</a></li>
--   <li><a>rlAccountId</a></li>
--   <li><a>rlName</a></li>
--   <li><a>rlListSource</a></li>
--   <li><a>rlId</a></li>
--   <li><a>rlSubAccountId</a></li>
--   <li><a>rlDescription</a></li>
--   </ul>
remarketingList :: RemarketingList

-- | Number of users currently in the list. This is a read-only field.
rlListSize :: Lens' RemarketingList (Maybe Int64)

-- | Rule used to populate the remarketing list with users.
rlListPopulationRule :: Lens' RemarketingList (Maybe ListPopulationRule)

-- | Number of days that a user should remain in the remarketing list
--   without an impression.
rlLifeSpan :: Lens' RemarketingList (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#remarketingList".
rlKind :: Lens' RemarketingList Text

-- | Dimension value for the advertiser ID that owns this remarketing list.
--   This is a required field.
rlAdvertiserId :: Lens' RemarketingList (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
rlAdvertiserIdDimensionValue :: Lens' RemarketingList (Maybe DimensionValue)

-- | Whether this remarketing list is active.
rlActive :: Lens' RemarketingList (Maybe Bool)

-- | Account ID of this remarketing list. This is a read-only,
--   auto-generated field that is only returned in GET requests.
rlAccountId :: Lens' RemarketingList (Maybe Int64)

-- | Name of the remarketing list. This is a required field. Must be no
--   greater than 128 characters long.
rlName :: Lens' RemarketingList (Maybe Text)

-- | Product from which this remarketing list was originated.
rlListSource :: Lens' RemarketingList (Maybe RemarketingListListSource)

-- | Remarketing list ID. This is a read-only, auto-generated field.
rlId :: Lens' RemarketingList (Maybe Int64)

-- | Subaccount ID of this remarketing list. This is a read-only,
--   auto-generated field that is only returned in GET requests.
rlSubAccountId :: Lens' RemarketingList (Maybe Int64)

-- | Remarketing list description.
rlDescription :: Lens' RemarketingList (Maybe Text)

-- | Field by which to sort the list.
data FloodlightActivitiesListSortField

-- | <pre>
--   ID
--   </pre>
FALSFID :: FloodlightActivitiesListSortField

-- | <pre>
--   NAME
--   </pre>
FALSFName :: FloodlightActivitiesListSortField

-- | Dynamic Targeting Key List Response
--   
--   <i>See:</i> <a>dynamicTargetingKeysListResponse</a> smart constructor.
data DynamicTargetingKeysListResponse

-- | Creates a value of <a>DynamicTargetingKeysListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtklrKind</a></li>
--   <li><a>dtklrDynamicTargetingKeys</a></li>
--   </ul>
dynamicTargetingKeysListResponse :: DynamicTargetingKeysListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#dynamicTargetingKeysListResponse".
dtklrKind :: Lens' DynamicTargetingKeysListResponse Text

-- | Dynamic targeting key collection.
dtklrDynamicTargetingKeys :: Lens' DynamicTargetingKeysListResponse [DynamicTargetingKey]

-- | Represents the list of DimensionValue resources.
--   
--   <i>See:</i> <a>dimensionValueList</a> smart constructor.
data DimensionValueList

-- | Creates a value of <a>DimensionValueList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvlEtag</a></li>
--   <li><a>dvlNextPageToken</a></li>
--   <li><a>dvlKind</a></li>
--   <li><a>dvlItems</a></li>
--   </ul>
dimensionValueList :: DimensionValueList

-- | The eTag of this response for caching purposes.
dvlEtag :: Lens' DimensionValueList (Maybe Text)

-- | Continuation token used to page through dimension values. To retrieve
--   the next page of results, set the next request's "pageToken" to the
--   value of this field. The page token is only valid for a limited amount
--   of time and should not be persisted.
dvlNextPageToken :: Lens' DimensionValueList (Maybe Text)

-- | The kind of list this is, in this case
--   dfareporting#dimensionValueList.
dvlKind :: Lens' DimensionValueList Text

-- | The dimension values returned in this response.
dvlItems :: Lens' DimensionValueList [DimensionValue]

-- | Represents fields that are compatible to be selected for a report of
--   type "FlOODLIGHT".
--   
--   <i>See:</i> <a>floodlightReportCompatibleFields</a> smart constructor.
data FloodlightReportCompatibleFields

-- | Creates a value of <a>FloodlightReportCompatibleFields</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>frcfMetrics</a></li>
--   <li><a>frcfKind</a></li>
--   <li><a>frcfDimensionFilters</a></li>
--   <li><a>frcfDimensions</a></li>
--   </ul>
floodlightReportCompatibleFields :: FloodlightReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
frcfMetrics :: Lens' FloodlightReportCompatibleFields [Metric]

-- | The kind of resource this is, in this case
--   dfareporting#floodlightReportCompatibleFields.
frcfKind :: Lens' FloodlightReportCompatibleFields Text

-- | Dimensions which are compatible to be selected in the
--   "dimensionFilters" section of the report.
frcfDimensionFilters :: Lens' FloodlightReportCompatibleFields [Dimension]

-- | Dimensions which are compatible to be selected in the "dimensions"
--   section of the report.
frcfDimensions :: Lens' FloodlightReportCompatibleFields [Dimension]

-- | Represents a grouping of related user role permissions.
--   
--   <i>See:</i> <a>userRolePermissionGroup</a> smart constructor.
data UserRolePermissionGroup

-- | Creates a value of <a>UserRolePermissionGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urpgKind</a></li>
--   <li><a>urpgName</a></li>
--   <li><a>urpgId</a></li>
--   </ul>
userRolePermissionGroup :: UserRolePermissionGroup

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolePermissionGroup".
urpgKind :: Lens' UserRolePermissionGroup Text

-- | Name of this user role permission group.
urpgName :: Lens' UserRolePermissionGroup (Maybe Text)

-- | ID of this user role permission.
urpgId :: Lens' UserRolePermissionGroup (Maybe Int64)

-- | Select only creatives with these creative types.
data CreativesListTypes

-- | <pre>
--   BRAND_SAFE_DEFAULT_INSTREAM_VIDEO
--   </pre>
CLTBrandSafeDefaultInstreamVideo :: CreativesListTypes

-- | <pre>
--   CUSTOM_DISPLAY
--   </pre>
CLTCustomDisplay :: CreativesListTypes

-- | <pre>
--   CUSTOM_DISPLAY_INTERSTITIAL
--   </pre>
CLTCustomDisplayInterstitial :: CreativesListTypes

-- | <pre>
--   DISPLAY
--   </pre>
CLTDisplay :: CreativesListTypes

-- | <pre>
--   DISPLAY_IMAGE_GALLERY
--   </pre>
CLTDisplayImageGallery :: CreativesListTypes

-- | <pre>
--   DISPLAY_REDIRECT
--   </pre>
CLTDisplayRedirect :: CreativesListTypes

-- | <pre>
--   FLASH_INPAGE
--   </pre>
CLTFlashInpage :: CreativesListTypes

-- | <pre>
--   HTML5_BANNER
--   </pre>
CLTHTML5Banner :: CreativesListTypes

-- | <pre>
--   IMAGE
--   </pre>
CLTImage :: CreativesListTypes

-- | <pre>
--   INSTREAM_VIDEO
--   </pre>
CLTInstreamVideo :: CreativesListTypes

-- | <pre>
--   INSTREAM_VIDEO_REDIRECT
--   </pre>
CLTInstreamVideoRedirect :: CreativesListTypes

-- | <pre>
--   INTERNAL_REDIRECT
--   </pre>
CLTInternalRedirect :: CreativesListTypes

-- | <pre>
--   INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
CLTInterstitialInternalRedirect :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_DISPLAY_BANNER
--   </pre>
CLTRichMediaDisplayBanner :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_DISPLAY_EXPANDING
--   </pre>
CLTRichMediaDisplayExpanding :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_DISPLAY_INTERSTITIAL
--   </pre>
CLTRichMediaDisplayInterstitial :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL
--   </pre>
CLTRichMediaDisplayMultiFloatingInterstitial :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_IM_EXPAND
--   </pre>
CLTRichMediaImExpand :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_INPAGE_FLOATING
--   </pre>
CLTRichMediaInpageFloating :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_MOBILE_IN_APP
--   </pre>
CLTRichMediaMobileInApp :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_PEEL_DOWN
--   </pre>
CLTRichMediaPeelDown :: CreativesListTypes

-- | <pre>
--   TRACKING_TEXT
--   </pre>
CLTTrackingText :: CreativesListTypes

-- | <pre>
--   VPAID_LINEAR_VIDEO
--   </pre>
CLTVpaidLinearVideo :: CreativesListTypes

-- | <pre>
--   VPAID_NON_LINEAR_VIDEO
--   </pre>
CLTVpaidNonLinearVideo :: CreativesListTypes
data DirectorySiteInpageTagFormatsItem

-- | <pre>
--   IFRAME_JAVASCRIPT_INPAGE
--   </pre>
IframeJavascriptInpage :: DirectorySiteInpageTagFormatsItem

-- | <pre>
--   INTERNAL_REDIRECT_INPAGE
--   </pre>
InternalRedirectInpage :: DirectorySiteInpageTagFormatsItem

-- | <pre>
--   JAVASCRIPT_INPAGE
--   </pre>
JavascriptInpage :: DirectorySiteInpageTagFormatsItem

-- | <pre>
--   STANDARD
--   </pre>
Standard :: DirectorySiteInpageTagFormatsItem

-- | Tag Settings
--   
--   <i>See:</i> <a>tagSetting</a> smart constructor.
data TagSetting

-- | Creates a value of <a>TagSetting</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsKeywordOption</a></li>
--   <li><a>tsIncludeClickThroughURLs</a></li>
--   <li><a>tsIncludeClickTracking</a></li>
--   <li><a>tsAdditionalKeyValues</a></li>
--   </ul>
tagSetting :: TagSetting

-- | Option specifying how keywords are embedded in ad tags. This setting
--   can be used to specify whether keyword placeholders are inserted in
--   placement tags for this site. Publishers can then add keywords to
--   those placeholders.
tsKeywordOption :: Lens' TagSetting (Maybe TagSettingKeywordOption)

-- | Whether static landing page URLs should be included in the tags. This
--   setting applies only to placements.
tsIncludeClickThroughURLs :: Lens' TagSetting (Maybe Bool)

-- | Whether click-tracking string should be included in the tags.
tsIncludeClickTracking :: Lens' TagSetting (Maybe Bool)

-- | Additional key-values to be included in tags. Each key-value pair must
--   be of the form key=value, and pairs must be separated by a semicolon
--   (;). Keys and values must not contain commas. For example,
--   id=2;color=red is a valid value for this field.
tsAdditionalKeyValues :: Lens' TagSetting (Maybe Text)

-- | Window mode options for flash assets. Applicable to the following
--   creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
--   RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
--   RICH_MEDIA_INPAGE_FLOATING.
data CreativeAssetWindowMode

-- | <pre>
--   OPAQUE
--   </pre>
Opaque :: CreativeAssetWindowMode

-- | <pre>
--   TRANSPARENT
--   </pre>
Transparent :: CreativeAssetWindowMode

-- | <pre>
--   WINDOW
--   </pre>
Window :: CreativeAssetWindowMode

-- | Possible alignments for an asset. This is a read-only field.
--   Applicable to the following creative types:
--   RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
data CreativeAssetAlignment

-- | <pre>
--   ALIGNMENT_BOTTOM
--   </pre>
AlignmentBottom :: CreativeAssetAlignment

-- | <pre>
--   ALIGNMENT_LEFT
--   </pre>
AlignmentLeft :: CreativeAssetAlignment

-- | <pre>
--   ALIGNMENT_RIGHT
--   </pre>
AlignmentRight :: CreativeAssetAlignment

-- | <pre>
--   ALIGNMENT_TOP
--   </pre>
AlignmentTop :: CreativeAssetAlignment

-- | Order of sorted results, default is ASCENDING.
data RemarketingListsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
RLLSOAscending :: RemarketingListsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
RLLSODescending :: RemarketingListsListSortOrder

-- | The properties of the report.
--   
--   <i>See:</i> <a>reportPathToConversionCriteriaReportProperties</a>
--   smart constructor.
data ReportPathToConversionCriteriaReportProperties

-- | Creates a value of
--   <a>ReportPathToConversionCriteriaReportProperties</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rptccrpMaximumInteractionGap</a></li>
--   <li><a>rptccrpMaximumClickInteractions</a></li>
--   <li><a>rptccrpPivotOnInteractionPath</a></li>
--   <li><a>rptccrpMaximumImpressionInteractions</a></li>
--   <li><a>rptccrpIncludeUnattributedIPConversions</a></li>
--   <li><a>rptccrpImpressionsLookbackWindow</a></li>
--   <li><a>rptccrpClicksLookbackWindow</a></li>
--   <li><a>rptccrpIncludeUnattributedCookieConversions</a></li>
--   <li><a>rptccrpIncludeAttributedIPConversions</a></li>
--   </ul>
reportPathToConversionCriteriaReportProperties :: ReportPathToConversionCriteriaReportProperties

-- | The maximum amount of time that can take place between interactions
--   (clicks or impressions) by the same user. Valid values: 1-90.
rptccrpMaximumInteractionGap :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | The maximum number of click interactions to include in the report.
--   Advertisers currently paying for E2C reports get up to 200 (100
--   clicks, 100 impressions). If another advertiser in your network is
--   paying for E2C, you can have up to 5 total exposures per report.
rptccrpMaximumClickInteractions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | Enable pivoting on interaction path.
rptccrpPivotOnInteractionPath :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)

-- | The maximum number of click interactions to include in the report.
--   Advertisers currently paying for E2C reports get up to 200 (100
--   clicks, 100 impressions). If another advertiser in your network is
--   paying for E2C, you can have up to 5 total exposures per report.
rptccrpMaximumImpressionInteractions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | Include conversions that have no associated cookies and no exposures.
--   It’s therefore impossible to know how the user was exposed to your ads
--   during the lookback window prior to a conversion.
rptccrpIncludeUnattributedIPConversions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)

-- | DFA checks to see if an impression interaction occurred within the
--   specified period of time before a conversion. By default the value is
--   pulled from Floodlight or you can manually enter a custom value. Valid
--   values: 1-90.
rptccrpImpressionsLookbackWindow :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | DFA checks to see if a click interaction occurred within the specified
--   period of time before a conversion. By default the value is pulled
--   from Floodlight or you can manually enter a custom value. Valid
--   values: 1-90.
rptccrpClicksLookbackWindow :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | Include conversions of users with a DoubleClick cookie but without an
--   exposure. That means the user did not click or see an ad from the
--   advertiser within the Floodlight group, or that the interaction
--   happened outside the lookback window.
rptccrpIncludeUnattributedCookieConversions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)

-- | Deprecated: has no effect.
rptccrpIncludeAttributedIPConversions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)

-- | User Role Permission List Response
--   
--   <i>See:</i> <a>userRolePermissionsListResponse</a> smart constructor.
data UserRolePermissionsListResponse

-- | Creates a value of <a>UserRolePermissionsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urplrKind</a></li>
--   <li><a>urplrUserRolePermissions</a></li>
--   </ul>
userRolePermissionsListResponse :: UserRolePermissionsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolePermissionsListResponse".
urplrKind :: Lens' UserRolePermissionsListResponse Text

-- | User role permission collection.
urplrUserRolePermissions :: Lens' UserRolePermissionsListResponse [UserRolePermission]

-- | Select only placement groups with these pricing types.
data PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPA
--   </pre>
PGLPTPricingTypeCpa :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPC
--   </pre>
PGLPTPricingTypeCpc :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPM
--   </pre>
PGLPTPricingTypeCpm :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPM_ACTIVEVIEW
--   </pre>
PGLPTPricingTypeCpmActiveview :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_CLICKS
--   </pre>
PGLPTPricingTypeFlatRateClicks :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_IMPRESSIONS
--   </pre>
PGLPTPricingTypeFlatRateImpressions :: PlacementGroupsListPricingTypes

-- | Type of the object of this dynamic targeting key. This is a required
--   field.
data DynamicTargetingKeysDeleteObjectType

-- | <pre>
--   OBJECT_AD
--   </pre>
DTKDOTObjectAd :: DynamicTargetingKeysDeleteObjectType

-- | <pre>
--   OBJECT_ADVERTISER
--   </pre>
DTKDOTObjectAdvertiser :: DynamicTargetingKeysDeleteObjectType

-- | <pre>
--   OBJECT_CREATIVE
--   </pre>
DTKDOTObjectCreative :: DynamicTargetingKeysDeleteObjectType

-- | <pre>
--   OBJECT_PLACEMENT
--   </pre>
DTKDOTObjectPlacement :: DynamicTargetingKeysDeleteObjectType

-- | Maximum number of active ads allowed for this account.
data AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_100K
--   </pre>
AAALTActiveAdsTier100K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_200K
--   </pre>
AAALTActiveAdsTier200K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_300K
--   </pre>
AAALTActiveAdsTier300K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_40K
--   </pre>
AAALTActiveAdsTier40K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_500K
--   </pre>
AAALTActiveAdsTier500K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_750K
--   </pre>
AAALTActiveAdsTier750K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_75K
--   </pre>
AAALTActiveAdsTier75K :: AccountActiveAdsLimitTier

-- | Order of sorted results, default is ASCENDING.
data AccountsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
AAscending :: AccountsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ADescending :: AccountsListSortOrder

-- | Placement Group List Response
--   
--   <i>See:</i> <a>placementGroupsListResponse</a> smart constructor.
data PlacementGroupsListResponse

-- | Creates a value of <a>PlacementGroupsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pglrNextPageToken</a></li>
--   <li><a>pglrKind</a></li>
--   <li><a>pglrPlacementGroups</a></li>
--   </ul>
placementGroupsListResponse :: PlacementGroupsListResponse

-- | Pagination token to be used for the next list operation.
pglrNextPageToken :: Lens' PlacementGroupsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementGroupsListResponse".
pglrKind :: Lens' PlacementGroupsListResponse Text

-- | Placement group collection.
pglrPlacementGroups :: Lens' PlacementGroupsListResponse [PlacementGroup]

-- | Contains information about a mobile carrier that can be targeted by
--   ads.
--   
--   <i>See:</i> <a>mobileCarrier</a> smart constructor.
data MobileCarrier

-- | Creates a value of <a>MobileCarrier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mcKind</a></li>
--   <li><a>mcName</a></li>
--   <li><a>mcCountryCode</a></li>
--   <li><a>mcId</a></li>
--   <li><a>mcCountryDartId</a></li>
--   </ul>
mobileCarrier :: MobileCarrier

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#mobileCarrier".
mcKind :: Lens' MobileCarrier Text

-- | Name of this mobile carrier.
mcName :: Lens' MobileCarrier (Maybe Text)

-- | Country code of the country to which this mobile carrier belongs.
mcCountryCode :: Lens' MobileCarrier (Maybe Text)

-- | ID of this mobile carrier.
mcId :: Lens' MobileCarrier (Maybe Int64)

-- | DART ID of the country to which this mobile carrier belongs.
mcCountryDartId :: Lens' MobileCarrier (Maybe Int64)

-- | Contains information about where a user's browser is taken after the
--   user clicks an ad.
--   
--   <i>See:</i> <a>landingPage</a> smart constructor.
data LandingPage

-- | Creates a value of <a>LandingPage</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpKind</a></li>
--   <li><a>lpDefault</a></li>
--   <li><a>lpURL</a></li>
--   <li><a>lpName</a></li>
--   <li><a>lpId</a></li>
--   </ul>
landingPage :: LandingPage

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#landingPage".
lpKind :: Lens' LandingPage Text

-- | Whether or not this landing page will be assigned to any ads or
--   creatives that do not have a landing page assigned explicitly. Only
--   one default landing page is allowed per campaign.
lpDefault :: Lens' LandingPage (Maybe Bool)

-- | URL of this landing page. This is a required field.
lpURL :: Lens' LandingPage (Maybe Text)

-- | Name of this landing page. This is a required field. It must be less
--   than 256 characters long, and must be unique among landing pages of
--   the same campaign.
lpName :: Lens' LandingPage (Maybe Text)

-- | ID of this landing page. This is a read-only, auto-generated field.
lpId :: Lens' LandingPage (Maybe Int64)

-- | Connection Type List Response
--   
--   <i>See:</i> <a>connectionTypesListResponse</a> smart constructor.
data ConnectionTypesListResponse

-- | Creates a value of <a>ConnectionTypesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctlrKind</a></li>
--   <li><a>ctlrConnectionTypes</a></li>
--   </ul>
connectionTypesListResponse :: ConnectionTypesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#connectionTypesListResponse".
ctlrKind :: Lens' ConnectionTypesListResponse Text

-- | Collection of connection types such as broadband and mobile.
ctlrConnectionTypes :: Lens' ConnectionTypesListResponse [ConnectionType]

-- | Order List Response
--   
--   <i>See:</i> <a>ordersListResponse</a> smart constructor.
data OrdersListResponse

-- | Creates a value of <a>OrdersListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olrNextPageToken</a></li>
--   <li><a>olrKind</a></li>
--   <li><a>olrOrders</a></li>
--   </ul>
ordersListResponse :: OrdersListResponse

-- | Pagination token to be used for the next list operation.
olrNextPageToken :: Lens' OrdersListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#ordersListResponse".
olrKind :: Lens' OrdersListResponse Text

-- | Order collection.
olrOrders :: Lens' OrdersListResponse [Order]

-- | Represents the list of reports.
--   
--   <i>See:</i> <a>reportList</a> smart constructor.
data ReportList

-- | Creates a value of <a>ReportList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>repEtag</a></li>
--   <li><a>repNextPageToken</a></li>
--   <li><a>repKind</a></li>
--   <li><a>repItems</a></li>
--   </ul>
reportList :: ReportList

-- | The eTag of this response for caching purposes.
repEtag :: Lens' ReportList (Maybe Text)

-- | Continuation token used to page through reports. To retrieve the next
--   page of results, set the next request's "pageToken" to the value of
--   this field. The page token is only valid for a limited amount of time
--   and should not be persisted.
repNextPageToken :: Lens' ReportList (Maybe Text)

-- | The kind of list this is, in this case dfareporting#reportList.
repKind :: Lens' ReportList Text

-- | The reports returned in this response.
repItems :: Lens' ReportList [Report]

-- | Contains properties of a creative group.
--   
--   <i>See:</i> <a>creativeGroup</a> smart constructor.
data CreativeGroup

-- | Creates a value of <a>CreativeGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cgKind</a></li>
--   <li><a>cgAdvertiserId</a></li>
--   <li><a>cgAdvertiserIdDimensionValue</a></li>
--   <li><a>cgGroupNumber</a></li>
--   <li><a>cgAccountId</a></li>
--   <li><a>cgName</a></li>
--   <li><a>cgId</a></li>
--   <li><a>cgSubAccountId</a></li>
--   </ul>
creativeGroup :: CreativeGroup

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeGroup".
cgKind :: Lens' CreativeGroup Text

-- | Advertiser ID of this creative group. This is a required field on
--   insertion.
cgAdvertiserId :: Lens' CreativeGroup (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
cgAdvertiserIdDimensionValue :: Lens' CreativeGroup (Maybe DimensionValue)

-- | Subgroup of the creative group. Assign your creative groups to one of
--   the following subgroups in order to filter or manage them more easily.
--   This field is required on insertion and is read-only after insertion.
--   Acceptable values are: - 1 - 2
cgGroupNumber :: Lens' CreativeGroup (Maybe Int32)

-- | Account ID of this creative group. This is a read-only field that can
--   be left blank.
cgAccountId :: Lens' CreativeGroup (Maybe Int64)

-- | Name of this creative group. This is a required field and must be less
--   than 256 characters long and unique among creative groups of the same
--   advertiser.
cgName :: Lens' CreativeGroup (Maybe Text)

-- | ID of this creative group. This is a read-only, auto-generated field.
cgId :: Lens' CreativeGroup (Maybe Int64)

-- | Subaccount ID of this creative group. This is a read-only field that
--   can be left blank.
cgSubAccountId :: Lens' CreativeGroup (Maybe Int64)

-- | Field by which to sort the list.
data SubAccountsListSortField

-- | <pre>
--   ID
--   </pre>
SALSFID :: SubAccountsListSortField

-- | <pre>
--   NAME
--   </pre>
SALSFName :: SubAccountsListSortField

-- | Identifies a creative which has been associated with a given campaign.
--   
--   <i>See:</i> <a>campaignCreativeAssociation</a> smart constructor.
data CampaignCreativeAssociation

-- | Creates a value of <a>CampaignCreativeAssociation</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccaKind</a></li>
--   <li><a>ccaCreativeId</a></li>
--   </ul>
campaignCreativeAssociation :: CampaignCreativeAssociation

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#campaignCreativeAssociation".
ccaKind :: Lens' CampaignCreativeAssociation Text

-- | ID of the creative associated with the campaign. This is a required
--   field.
ccaCreativeId :: Lens' CampaignCreativeAssociation (Maybe Int64)

-- | The original conversion that was inserted or updated and whether there
--   were any errors.
--   
--   <i>See:</i> <a>conversionStatus</a> smart constructor.
data ConversionStatus

-- | Creates a value of <a>ConversionStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csKind</a></li>
--   <li><a>csConversion</a></li>
--   <li><a>csErrors</a></li>
--   </ul>
conversionStatus :: ConversionStatus

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversionStatus".
csKind :: Lens' ConversionStatus Text

-- | The original conversion that was inserted or updated.
csConversion :: Lens' ConversionStatus (Maybe Conversion)

-- | A list of errors related to this conversion.
csErrors :: Lens' ConversionStatus [ConversionError]

-- | Lookback configuration settings.
--   
--   <i>See:</i> <a>lookbackConfiguration</a> smart constructor.
data LookbackConfiguration

-- | Creates a value of <a>LookbackConfiguration</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcClickDuration</a></li>
--   <li><a>lcPostImpressionActivitiesDuration</a></li>
--   </ul>
lookbackConfiguration :: LookbackConfiguration

-- | Lookback window, in days, from the last time a given user clicked on
--   one of your ads. If you enter 0, clicks will not be considered as
--   triggering events for floodlight tracking. If you leave this field
--   blank, the default value for your account will be used.
lcClickDuration :: Lens' LookbackConfiguration (Maybe Int32)

-- | Lookback window, in days, from the last time a given user viewed one
--   of your ads. If you enter 0, impressions will not be considered as
--   triggering events for floodlight tracking. If you leave this field
--   blank, the default value for your account will be used.
lcPostImpressionActivitiesDuration :: Lens' LookbackConfiguration (Maybe Int32)

-- | File type of the video format.
data VideoFormatFileType

-- | <pre>
--   FLV
--   </pre>
Flv :: VideoFormatFileType

-- | <pre>
--   M3U8
--   </pre>
M3U8 :: VideoFormatFileType

-- | <pre>
--   MP4
--   </pre>
MP4 :: VideoFormatFileType

-- | <pre>
--   THREEGPP
--   </pre>
Threegpp :: VideoFormatFileType

-- | <pre>
--   WEBM
--   </pre>
Webm :: VideoFormatFileType

-- | Field by which to sort the list.
data AdsListSortField

-- | <pre>
--   ID
--   </pre>
ALSFID :: AdsListSortField

-- | <pre>
--   NAME
--   </pre>
ALSFName :: AdsListSortField

-- | Field by which to sort the list.
data ProjectsListSortField

-- | <pre>
--   ID
--   </pre>
PID :: ProjectsListSortField

-- | <pre>
--   NAME
--   </pre>
PName :: ProjectsListSortField

-- | Publisher Dynamic Tag
--   
--   <i>See:</i> <a>floodlightActivityPublisherDynamicTag</a> smart
--   constructor.
data FloodlightActivityPublisherDynamicTag

-- | Creates a value of <a>FloodlightActivityPublisherDynamicTag</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fapdtClickThrough</a></li>
--   <li><a>fapdtSiteIdDimensionValue</a></li>
--   <li><a>fapdtDynamicTag</a></li>
--   <li><a>fapdtDirectorySiteId</a></li>
--   <li><a>fapdtSiteId</a></li>
--   <li><a>fapdtViewThrough</a></li>
--   </ul>
floodlightActivityPublisherDynamicTag :: FloodlightActivityPublisherDynamicTag

-- | Whether this tag is applicable only for click-throughs.
fapdtClickThrough :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Bool)

-- | Dimension value for the ID of the site. This is a read-only,
--   auto-generated field.
fapdtSiteIdDimensionValue :: Lens' FloodlightActivityPublisherDynamicTag (Maybe DimensionValue)

-- | Dynamic floodlight tag.
fapdtDynamicTag :: Lens' FloodlightActivityPublisherDynamicTag (Maybe FloodlightActivityDynamicTag)

-- | Directory site ID of this dynamic tag. This is a write-only field that
--   can be used as an alternative to the siteId field. When this resource
--   is retrieved, only the siteId field will be populated.
fapdtDirectorySiteId :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Int64)

-- | Site ID of this dynamic tag.
fapdtSiteId :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Int64)

-- | Whether this tag is applicable only for view-throughs.
fapdtViewThrough :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Bool)

-- | Select only ads with these types.
data AdsListType

-- | <pre>
--   AD_SERVING_CLICK_TRACKER
--   </pre>
AdServingClickTracker :: AdsListType

-- | <pre>
--   AD_SERVING_DEFAULT_AD
--   </pre>
AdServingDefaultAd :: AdsListType

-- | <pre>
--   AD_SERVING_STANDARD_AD
--   </pre>
AdServingStandardAd :: AdsListType

-- | <pre>
--   AD_SERVING_TRACKING
--   </pre>
AdServingTracking :: AdsListType

-- | Gets a summary of active ads in an account.
--   
--   <i>See:</i> <a>accountActiveAdSummary</a> smart constructor.
data AccountActiveAdSummary

-- | Creates a value of <a>AccountActiveAdSummary</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaasAvailableAds</a></li>
--   <li><a>aaasKind</a></li>
--   <li><a>aaasAccountId</a></li>
--   <li><a>aaasActiveAds</a></li>
--   <li><a>aaasActiveAdsLimitTier</a></li>
--   </ul>
accountActiveAdSummary :: AccountActiveAdSummary

-- | Ads that can be activated for the account.
aaasAvailableAds :: Lens' AccountActiveAdSummary (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountActiveAdSummary".
aaasKind :: Lens' AccountActiveAdSummary Text

-- | ID of the account.
aaasAccountId :: Lens' AccountActiveAdSummary (Maybe Int64)

-- | Ads that have been activated for the account
aaasActiveAds :: Lens' AccountActiveAdSummary (Maybe Int64)

-- | Maximum number of active ads allowed for the account.
aaasActiveAdsLimitTier :: Lens' AccountActiveAdSummary (Maybe AccountActiveAdSummaryActiveAdsLimitTier)

-- | Optimization model for this configuration.
data CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   CLICK
--   </pre>
Click :: CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   POST_CLICK
--   </pre>
PostClick :: CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   POST_CLICK_AND_IMPRESSION
--   </pre>
PostClickAndImpression :: CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   POST_IMPRESSION
--   </pre>
PostImpression :: CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   VIDEO_COMPLETION
--   </pre>
VideoCompletion :: CreativeOptimizationConfigurationOptimizationModel

-- | Administrative level required to enable this account permission.
data AccountPermissionLevel

-- | <pre>
--   ADMINISTRATOR
--   </pre>
Administrator :: AccountPermissionLevel

-- | <pre>
--   USER
--   </pre>
User :: AccountPermissionLevel

-- | Offset Position.
--   
--   <i>See:</i> <a>offSetPosition</a> smart constructor.
data OffSetPosition

-- | Creates a value of <a>OffSetPosition</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ospLeft</a></li>
--   <li><a>ospTop</a></li>
--   </ul>
offSetPosition :: OffSetPosition

-- | Offset distance from left side of an asset or a window.
ospLeft :: Lens' OffSetPosition (Maybe Int32)

-- | Offset distance from top side of an asset or a window.
ospTop :: Lens' OffSetPosition (Maybe Int32)

-- | Represents a metric.
--   
--   <i>See:</i> <a>metric</a> smart constructor.
data Metric

-- | Creates a value of <a>Metric</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mKind</a></li>
--   <li><a>mName</a></li>
--   </ul>
metric :: Metric

-- | The kind of resource this is, in this case dfareporting#metric.
mKind :: Lens' Metric Text

-- | The metric name, e.g. dfa:impressions
mName :: Lens' Metric (Maybe Text)

-- | Contains properties of a remarketing list's sharing information.
--   Sharing allows other accounts or advertisers to target to your
--   remarketing lists. This resource can be used to manage remarketing
--   list sharing to other accounts and advertisers.
--   
--   <i>See:</i> <a>remarketingListShare</a> smart constructor.
data RemarketingListShare

-- | Creates a value of <a>RemarketingListShare</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlsSharedAdvertiserIds</a></li>
--   <li><a>rlsKind</a></li>
--   <li><a>rlsRemarketingListId</a></li>
--   <li><a>rlsSharedAccountIds</a></li>
--   </ul>
remarketingListShare :: RemarketingListShare

-- | Advertisers that the remarketing list is shared with.
rlsSharedAdvertiserIds :: Lens' RemarketingListShare [Int64]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#remarketingListShare".
rlsKind :: Lens' RemarketingListShare Text

-- | Remarketing list ID. This is a read-only, auto-generated field.
rlsRemarketingListId :: Lens' RemarketingListShare (Maybe Int64)

-- | Accounts that the remarketing list is shared with.
rlsSharedAccountIds :: Lens' RemarketingListShare [Int64]

-- | Event Tag List Response
--   
--   <i>See:</i> <a>eventTagsListResponse</a> smart constructor.
data EventTagsListResponse

-- | Creates a value of <a>EventTagsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etlrKind</a></li>
--   <li><a>etlrEventTags</a></li>
--   </ul>
eventTagsListResponse :: EventTagsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#eventTagsListResponse".
etlrKind :: Lens' EventTagsListResponse Text

-- | Event tag collection.
etlrEventTags :: Lens' EventTagsListResponse [EventTag]

-- | User Role List Response
--   
--   <i>See:</i> <a>userRolesListResponse</a> smart constructor.
data UserRolesListResponse

-- | Creates a value of <a>UserRolesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urlrNextPageToken</a></li>
--   <li><a>urlrKind</a></li>
--   <li><a>urlrUserRoles</a></li>
--   </ul>
userRolesListResponse :: UserRolesListResponse

-- | Pagination token to be used for the next list operation.
urlrNextPageToken :: Lens' UserRolesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolesListResponse".
urlrKind :: Lens' UserRolesListResponse Text

-- | User role collection.
urlrUserRoles :: Lens' UserRolesListResponse [UserRole]

-- | List population term type determines the applicable fields in this
--   object. If left unset or set to CUSTOM_VARIABLE_TERM, then
--   variableName, variableFriendlyName, operator, value, and negation are
--   applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
--   contains are applicable. If set to REFERRER_TERM then operator, value,
--   and negation are applicable.
data ListPopulationTermType

-- | <pre>
--   CUSTOM_VARIABLE_TERM
--   </pre>
CustomVariableTerm :: ListPopulationTermType

-- | <pre>
--   LIST_MEMBERSHIP_TERM
--   </pre>
ListMembershipTerm :: ListPopulationTermType

-- | <pre>
--   REFERRER_TERM
--   </pre>
ReferrerTerm :: ListPopulationTermType

-- | Order of sorted results, default is ASCENDING.
data AdvertiserGroupsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
AGLSOAscending :: AdvertiserGroupsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
AGLSODescending :: AdvertiserGroupsListSortOrder

-- | Order of sorted results, default is ASCENDING.
data CreativeFieldValuesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CFVLSOAscending :: CreativeFieldValuesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CFVLSODescending :: CreativeFieldValuesListSortOrder

-- | An optional sort order for the dimension column.
data SortedDimensionSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
SDSOAscending :: SortedDimensionSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
SDSODescending :: SortedDimensionSortOrder

-- | Represents a response to the queryCompatibleFields method.
--   
--   <i>See:</i> <a>compatibleFields</a> smart constructor.
data CompatibleFields

-- | Creates a value of <a>CompatibleFields</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfReachReportCompatibleFields</a></li>
--   <li><a>cfCrossDimensionReachReportCompatibleFields</a></li>
--   <li><a>cfKind</a></li>
--   <li><a>cfFloodlightReportCompatibleFields</a></li>
--   <li><a>cfReportCompatibleFields</a></li>
--   <li><a>cfPathToConversionReportCompatibleFields</a></li>
--   </ul>
compatibleFields :: CompatibleFields

-- | Contains items that are compatible to be selected for a report of type
--   "REACH".
cfReachReportCompatibleFields :: Lens' CompatibleFields (Maybe ReachReportCompatibleFields)

-- | Contains items that are compatible to be selected for a report of type
--   "CROSS_DIMENSION_REACH".
cfCrossDimensionReachReportCompatibleFields :: Lens' CompatibleFields (Maybe CrossDimensionReachReportCompatibleFields)

-- | The kind of resource this is, in this case
--   dfareporting#compatibleFields.
cfKind :: Lens' CompatibleFields Text

-- | Contains items that are compatible to be selected for a report of type
--   "FLOODLIGHT".
cfFloodlightReportCompatibleFields :: Lens' CompatibleFields (Maybe FloodlightReportCompatibleFields)

-- | Contains items that are compatible to be selected for a report of type
--   "STANDARD".
cfReportCompatibleFields :: Lens' CompatibleFields (Maybe ReportCompatibleFields)

-- | Contains items that are compatible to be selected for a report of type
--   "PATH_TO_CONVERSION".
cfPathToConversionReportCompatibleFields :: Lens' CompatibleFields (Maybe PathToConversionReportCompatibleFields)

-- | Audience Segment.
--   
--   <i>See:</i> <a>audienceSegment</a> smart constructor.
data AudienceSegment

-- | Creates a value of <a>AudienceSegment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asName</a></li>
--   <li><a>asId</a></li>
--   <li><a>asAllocation</a></li>
--   </ul>
audienceSegment :: AudienceSegment

-- | Name of this audience segment. This is a required field and must be
--   less than 65 characters long.
asName :: Lens' AudienceSegment (Maybe Text)

-- | ID of this audience segment. This is a read-only, auto-generated
--   field.
asId :: Lens' AudienceSegment (Maybe Int64)

-- | Weight allocated to this segment. Must be between 1 and 1000. The
--   weight assigned will be understood in proportion to the weights
--   assigned to other segments in the same segment group.
asAllocation :: Lens' AudienceSegment (Maybe Int32)

-- | The field by which to sort the list.
data FilesListSortField

-- | <tt>ID</tt> Sort by file ID.
FLSFID :: FilesListSortField

-- | <tt>LAST_MODIFIED_TIME</tt> Sort by 'lastmodifiedAt' field.
FLSFLastModifiedTime :: FilesListSortField
data DirectorySiteInterstitialTagFormatsItem

-- | <pre>
--   IFRAME_JAVASCRIPT_INTERSTITIAL
--   </pre>
IframeJavascriptInterstitial :: DirectorySiteInterstitialTagFormatsItem

-- | <pre>
--   INTERNAL_REDIRECT_INTERSTITIAL
--   </pre>
InternalRedirectInterstitial :: DirectorySiteInterstitialTagFormatsItem

-- | <pre>
--   JAVASCRIPT_INTERSTITIAL
--   </pre>
JavascriptInterstitial :: DirectorySiteInterstitialTagFormatsItem

-- | DFP Settings
--   
--   <i>See:</i> <a>dfpSettings</a> smart constructor.
data DfpSettings

-- | Creates a value of <a>DfpSettings</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsPubPaidPlacementAccepted</a></li>
--   <li><a>dsDfpNetworkName</a></li>
--   <li><a>dsPublisherPortalOnly</a></li>
--   <li><a>dsProgrammaticPlacementAccepted</a></li>
--   <li><a>dsDfpNetworkCode</a></li>
--   </ul>
dfpSettings :: DfpSettings

-- | Whether this directory site accepts publisher-paid tags.
dsPubPaidPlacementAccepted :: Lens' DfpSettings (Maybe Bool)

-- | DFP network name for this directory site.
dsDfpNetworkName :: Lens' DfpSettings (Maybe Text)

-- | Whether this directory site is available only via DoubleClick
--   Publisher Portal.
dsPublisherPortalOnly :: Lens' DfpSettings (Maybe Bool)

-- | Whether this directory site accepts programmatic placements.
dsProgrammaticPlacementAccepted :: Lens' DfpSettings (Maybe Bool)

-- | DFP network code for this directory site.
dsDfpNetworkCode :: Lens' DfpSettings (Maybe Text)

-- | Field by which to sort the list.
data EventTagsListSortField

-- | <pre>
--   ID
--   </pre>
ETLSFID :: EventTagsListSortField

-- | <pre>
--   NAME
--   </pre>
ETLSFName :: EventTagsListSortField

-- | Represents fields that are compatible to be selected for a report of
--   type "PATH_TO_CONVERSION".
--   
--   <i>See:</i> <a>pathToConversionReportCompatibleFields</a> smart
--   constructor.
data PathToConversionReportCompatibleFields

-- | Creates a value of <a>PathToConversionReportCompatibleFields</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptcrcfMetrics</a></li>
--   <li><a>ptcrcfKind</a></li>
--   <li><a>ptcrcfConversionDimensions</a></li>
--   <li><a>ptcrcfCustomFloodlightVariables</a></li>
--   <li><a>ptcrcfPerInteractionDimensions</a></li>
--   </ul>
pathToConversionReportCompatibleFields :: PathToConversionReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
ptcrcfMetrics :: Lens' PathToConversionReportCompatibleFields [Metric]

-- | The kind of resource this is, in this case
--   dfareporting#pathToConversionReportCompatibleFields.
ptcrcfKind :: Lens' PathToConversionReportCompatibleFields Text

-- | Conversion dimensions which are compatible to be selected in the
--   "conversionDimensions" section of the report.
ptcrcfConversionDimensions :: Lens' PathToConversionReportCompatibleFields [Dimension]

-- | Custom floodlight variables which are compatible to be selected in the
--   "customFloodlightVariables" section of the report.
ptcrcfCustomFloodlightVariables :: Lens' PathToConversionReportCompatibleFields [Dimension]

-- | Per-interaction dimensions which are compatible to be selected in the
--   "perInteractionDimensions" section of the report.
ptcrcfPerInteractionDimensions :: Lens' PathToConversionReportCompatibleFields [Dimension]

-- | Type of inventory item.
data InventoryItemType

-- | <pre>
--   PLANNING_PLACEMENT_TYPE_CREDIT
--   </pre>
IITPlanningPlacementTypeCredit :: InventoryItemType

-- | <pre>
--   PLANNING_PLACEMENT_TYPE_REGULAR
--   </pre>
IITPlanningPlacementTypeRegular :: InventoryItemType

-- | Offset top unit for an asset. This is a read-only field if the asset
--   displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following
--   creative types: all RICH_MEDIA.
data CreativeAssetPositionTopUnit

-- | <pre>
--   OFFSET_UNIT_PERCENT
--   </pre>
CAPTUOffSetUnitPercent :: CreativeAssetPositionTopUnit

-- | <pre>
--   OFFSET_UNIT_PIXEL
--   </pre>
CAPTUOffSetUnitPixel :: CreativeAssetPositionTopUnit

-- | <pre>
--   OFFSET_UNIT_PIXEL_FROM_CENTER
--   </pre>
CAPTUOffSetUnitPixelFromCenter :: CreativeAssetPositionTopUnit

-- | Contains information about a city that can be targeted by ads.
--   
--   <i>See:</i> <a>city</a> smart constructor.
data City

-- | Creates a value of <a>City</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccMetroCode</a></li>
--   <li><a>ccRegionCode</a></li>
--   <li><a>ccKind</a></li>
--   <li><a>ccRegionDartId</a></li>
--   <li><a>ccMetroDmaId</a></li>
--   <li><a>ccName</a></li>
--   <li><a>ccCountryCode</a></li>
--   <li><a>ccCountryDartId</a></li>
--   <li><a>ccDartId</a></li>
--   </ul>
city :: City

-- | Metro region code of the metro region (DMA) to which this city
--   belongs.
ccMetroCode :: Lens' City (Maybe Text)

-- | Region code of the region to which this city belongs.
ccRegionCode :: Lens' City (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#city".
ccKind :: Lens' City Text

-- | DART ID of the region to which this city belongs.
ccRegionDartId :: Lens' City (Maybe Int64)

-- | ID of the metro region (DMA) to which this city belongs.
ccMetroDmaId :: Lens' City (Maybe Int64)

-- | Name of this city.
ccName :: Lens' City (Maybe Text)

-- | Country code of the country to which this city belongs.
ccCountryCode :: Lens' City (Maybe Text)

-- | DART ID of the country to which this city belongs.
ccCountryDartId :: Lens' City (Maybe Int64)

-- | DART ID of this city. This is the ID used for targeting and generating
--   reports.
ccDartId :: Lens' City (Maybe Int64)

-- | Contains information about a platform type that can be targeted by
--   ads.
--   
--   <i>See:</i> <a>platformType</a> smart constructor.
data PlatformType

-- | Creates a value of <a>PlatformType</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptKind</a></li>
--   <li><a>ptName</a></li>
--   <li><a>ptId</a></li>
--   </ul>
platformType :: PlatformType

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#platformType".
ptKind :: Lens' PlatformType Text

-- | Name of this platform type.
ptName :: Lens' PlatformType (Maybe Text)

-- | ID of this platform type.
ptId :: Lens' PlatformType (Maybe Int64)

-- | Type of the associated floodlight activity group. This is a read-only
--   field.
data FloodlightActivityFloodlightActivityGroupType

-- | <pre>
--   COUNTER
--   </pre>
FAFAGTCounter :: FloodlightActivityFloodlightActivityGroupType

-- | <pre>
--   SALE
--   </pre>
FAFAGTSale :: FloodlightActivityFloodlightActivityGroupType

-- | Order of sorted results, default is ASCENDING.
data DirectorySiteContactsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
DSCLSOAscending :: DirectorySiteContactsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
DSCLSODescending :: DirectorySiteContactsListSortOrder

-- | Group type of this inventory item if it represents a placement group.
--   Is null otherwise. There are two type of placement groups:
--   PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory
--   items that acts as a single pricing point for a group of tags.
--   PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items
--   that not only acts as a single pricing point, but also assumes that
--   all the tags in it will be served at the same time. A roadblock
--   requires one of its assigned inventory items to be marked as primary.
data PricingGroupType

-- | <pre>
--   PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE
--   </pre>
PlanningPlacementGroupTypePackage :: PricingGroupType

-- | <pre>
--   PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK
--   </pre>
PlanningPlacementGroupTypeRoadblock :: PricingGroupType

-- | Key Value Targeting Expression.
--   
--   <i>See:</i> <a>keyValueTargetingExpression</a> smart constructor.
data KeyValueTargetingExpression

-- | Creates a value of <a>KeyValueTargetingExpression</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>kvteExpression</a></li>
--   </ul>
keyValueTargetingExpression :: KeyValueTargetingExpression

-- | Keyword expression being targeted by the ad.
kvteExpression :: Lens' KeyValueTargetingExpression (Maybe Text)

-- | Companion Click-through override.
--   
--   <i>See:</i> <a>companionClickThroughOverride</a> smart constructor.
data CompanionClickThroughOverride

-- | Creates a value of <a>CompanionClickThroughOverride</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cctoCreativeId</a></li>
--   <li><a>cctoClickThroughURL</a></li>
--   </ul>
companionClickThroughOverride :: CompanionClickThroughOverride

-- | ID of the creative for this companion click-through override.
cctoCreativeId :: Lens' CompanionClickThroughOverride (Maybe Int64)

-- | Click-through URL of this companion click-through override.
cctoClickThroughURL :: Lens' CompanionClickThroughOverride (Maybe ClickThroughURL)

-- | Order of sorted results, default is ASCENDING.
data FloodlightActivityGroupsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
FAGLSOAscending :: FloodlightActivityGroupsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
FAGLSODescending :: FloodlightActivityGroupsListSortOrder

-- | Type of creative rotation. Can be used to specify whether to use
--   sequential or random rotation.
data CreativeRotationType

-- | <pre>
--   CREATIVE_ROTATION_TYPE_RANDOM
--   </pre>
CreativeRotationTypeRandom :: CreativeRotationType

-- | <pre>
--   CREATIVE_ROTATION_TYPE_SEQUENTIAL
--   </pre>
CreativeRotationTypeSequential :: CreativeRotationType

-- | Field by which to sort the list.
data OrdersListSortField

-- | <pre>
--   ID
--   </pre>
OLSFID :: OrdersListSortField

-- | <pre>
--   NAME
--   </pre>
OLSFName :: OrdersListSortField

-- | Field by which to sort the list.
data PlacementGroupsListSortField

-- | <pre>
--   ID
--   </pre>
PGLSFID :: PlacementGroupsListSortField

-- | <pre>
--   NAME
--   </pre>
PGLSFName :: PlacementGroupsListSortField

-- | Order of sorted results, default is ASCENDING.
data DirectorySitesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
DSLSOAscending :: DirectorySitesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
DSLSODescending :: DirectorySitesListSortOrder

-- | Advertiser List Response
--   
--   <i>See:</i> <a>advertisersListResponse</a> smart constructor.
data AdvertisersListResponse

-- | Creates a value of <a>AdvertisersListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>advNextPageToken</a></li>
--   <li><a>advKind</a></li>
--   <li><a>advAdvertisers</a></li>
--   </ul>
advertisersListResponse :: AdvertisersListResponse

-- | Pagination token to be used for the next list operation.
advNextPageToken :: Lens' AdvertisersListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#advertisersListResponse".
advKind :: Lens' AdvertisersListResponse Text

-- | Advertiser collection.
advAdvertisers :: Lens' AdvertisersListResponse [Advertiser]

-- | Country List Response
--   
--   <i>See:</i> <a>countriesListResponse</a> smart constructor.
data CountriesListResponse

-- | Creates a value of <a>CountriesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>couKind</a></li>
--   <li><a>couCountries</a></li>
--   </ul>
countriesListResponse :: CountriesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#countriesListResponse".
couKind :: Lens' CountriesListResponse Text

-- | Country collection.
couCountries :: Lens' CountriesListResponse [Country]

-- | Account Permission Group List Response
--   
--   <i>See:</i> <a>accountPermissionGroupsListResponse</a> smart
--   constructor.
data AccountPermissionGroupsListResponse

-- | Creates a value of <a>AccountPermissionGroupsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apglrKind</a></li>
--   <li><a>apglrAccountPermissionGroups</a></li>
--   </ul>
accountPermissionGroupsListResponse :: AccountPermissionGroupsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountPermissionGroupsListResponse".
apglrKind :: Lens' AccountPermissionGroupsListResponse Text

-- | Account permission group collection.
apglrAccountPermissionGroups :: Lens' AccountPermissionGroupsListResponse [AccountPermissionGroup]

-- | Popup Window Properties.
--   
--   <i>See:</i> <a>popupWindowProperties</a> smart constructor.
data PopupWindowProperties

-- | Creates a value of <a>PopupWindowProperties</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pwpOffSet</a></li>
--   <li><a>pwpDimension</a></li>
--   <li><a>pwpShowStatusBar</a></li>
--   <li><a>pwpShowMenuBar</a></li>
--   <li><a>pwpPositionType</a></li>
--   <li><a>pwpShowAddressBar</a></li>
--   <li><a>pwpShowScrollBar</a></li>
--   <li><a>pwpShowToolBar</a></li>
--   <li><a>pwpTitle</a></li>
--   </ul>
popupWindowProperties :: PopupWindowProperties

-- | Upper-left corner coordinates of the popup window. Applicable if
--   positionType is COORDINATES.
pwpOffSet :: Lens' PopupWindowProperties (Maybe OffSetPosition)

-- | Popup dimension for a creative. This is a read-only field. Applicable
--   to the following creative types: all RICH_MEDIA and all VPAID
pwpDimension :: Lens' PopupWindowProperties (Maybe Size)

-- | Whether to display the browser status bar.
pwpShowStatusBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Whether to display the browser menu bar.
pwpShowMenuBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Popup window position either centered or at specific coordinate.
pwpPositionType :: Lens' PopupWindowProperties (Maybe PopupWindowPropertiesPositionType)

-- | Whether to display the browser address bar.
pwpShowAddressBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Whether to display the browser scroll bar.
pwpShowScrollBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Whether to display the browser tool bar.
pwpShowToolBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Title of popup window.
pwpTitle :: Lens' PopupWindowProperties (Maybe Text)
data CreativeAssetDetectedFeaturesItem

-- | <pre>
--   APPLICATION_CACHE
--   </pre>
CADFIApplicationCache :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   AUDIO
--   </pre>
CADFIAudio :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CANVAS
--   </pre>
CADFICanvas :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CANVAS_TEXT
--   </pre>
CADFICanvasText :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_ANIMATIONS
--   </pre>
CADFICssAnimations :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_BACKGROUND_SIZE
--   </pre>
CADFICssBackgRoundSize :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_BORDER_IMAGE
--   </pre>
CADFICssBOrderImage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_BORDER_RADIUS
--   </pre>
CADFICssBOrderRadius :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_BOX_SHADOW
--   </pre>
CADFICssBoxShadow :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_COLUMNS
--   </pre>
CADFICssColumns :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_FLEX_BOX
--   </pre>
CADFICssFlexBox :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_FONT_FACE
--   </pre>
CADFICssFontFace :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_GENERATED_CONTENT
--   </pre>
CADFICssGeneratedContent :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_GRADIENTS
--   </pre>
CADFICssGradients :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_HSLA
--   </pre>
CADFICssHsla :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_MULTIPLE_BGS
--   </pre>
CADFICssMultipleBgs :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_OPACITY
--   </pre>
CADFICssOpacity :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_REFLECTIONS
--   </pre>
CADFICssReflections :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_RGBA
--   </pre>
CADFICssRgba :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_TEXT_SHADOW
--   </pre>
CADFICssTextShadow :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS
--   </pre>
CADFICssTransforms :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS3D
--   </pre>
CADFICssTRANSFORMS3D :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSITIONS
--   </pre>
CADFICssTransitions :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   DRAG_AND_DROP
--   </pre>
CADFIDragAndDrop :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   GEO_LOCATION
--   </pre>
CADFIGeoLocation :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   HASH_CHANGE
--   </pre>
CADFIHashChange :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   HISTORY
--   </pre>
CADFIHistory :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INDEXED_DB
--   </pre>
CADFIIndexedDB :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INLINE_SVG
--   </pre>
CADFIInlineSvg :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOCOMPLETE
--   </pre>
CADFIInputAttrAutocomplete :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOFOCUS
--   </pre>
CADFIInputAttrAutofocus :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_LIST
--   </pre>
CADFIInputAttrList :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MAX
--   </pre>
CADFIInputAttrMax :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MIN
--   </pre>
CADFIInputAttrMin :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MULTIPLE
--   </pre>
CADFIInputAttrMultiple :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_PATTERN
--   </pre>
CADFIInputAttrPattern :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_PLACEHOLDER
--   </pre>
CADFIInputAttrPlaceholder :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_REQUIRED
--   </pre>
CADFIInputAttrRequired :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_STEP
--   </pre>
CADFIInputAttrStep :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_COLOR
--   </pre>
CADFIInputTypeColor :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATE
--   </pre>
CADFIInputTypeDate :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME
--   </pre>
CADFIInputTypeDatetime :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME_LOCAL
--   </pre>
CADFIInputTypeDatetimeLocal :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_EMAIL
--   </pre>
CADFIInputTypeEmail :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_MONTH
--   </pre>
CADFIInputTypeMonth :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_NUMBER
--   </pre>
CADFIInputTypeNumber :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_RANGE
--   </pre>
CADFIInputTypeRange :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_SEARCH
--   </pre>
CADFIInputTypeSearch :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_TEL
--   </pre>
CADFIInputTypeTel :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_TIME
--   </pre>
CADFIInputTypeTime :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_URL
--   </pre>
CADFIInputTypeURL :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_WEEK
--   </pre>
CADFIInputTypeWeek :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   LOCAL_STORAGE
--   </pre>
CADFILocalStorage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   POST_MESSAGE
--   </pre>
CADFIPostMessage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SESSION_STORAGE
--   </pre>
CADFISessionStorage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SMIL
--   </pre>
CADFISmil :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SVG_CLIP_PATHS
--   </pre>
CADFISvgClipPaths :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SVG_FE_IMAGE
--   </pre>
CADFISvgFeImage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SVG_FILTERS
--   </pre>
CADFISvgFilters :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SVG_HREF
--   </pre>
CADFISvgHref :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   TOUCH
--   </pre>
CADFITouch :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   VIDEO
--   </pre>
CADFIVideo :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   WEBGL
--   </pre>
CADFIWebgl :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   WEB_SOCKETS
--   </pre>
CADFIWebSockets :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   WEB_SQL_DATABASE
--   </pre>
CADFIWebSQLDatabase :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   WEB_WORKERS
--   </pre>
CADFIWebWorkers :: CreativeAssetDetectedFeaturesItem

-- | Type of the floodlight activity group. This is a required field that
--   is read-only after insertion.
data FloodlightActivityGroupType

-- | <pre>
--   COUNTER
--   </pre>
FAGTCounter :: FloodlightActivityGroupType

-- | <pre>
--   SALE
--   </pre>
FAGTSale :: FloodlightActivityGroupType

-- | Directory site contact type.
data DirectorySiteContactType

-- | <pre>
--   BILLING
--   </pre>
DSCTBilling :: DirectorySiteContactType

-- | <pre>
--   OTHER
--   </pre>
DSCTOther :: DirectorySiteContactType

-- | <pre>
--   SALES
--   </pre>
DSCTSales :: DirectorySiteContactType

-- | <pre>
--   TECHNICAL
--   </pre>
DSCTTechnical :: DirectorySiteContactType

-- | Event tag override information.
--   
--   <i>See:</i> <a>eventTagOverride</a> smart constructor.
data EventTagOverride

-- | Creates a value of <a>EventTagOverride</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etoEnabled</a></li>
--   <li><a>etoId</a></li>
--   </ul>
eventTagOverride :: EventTagOverride

-- | Whether this override is enabled.
etoEnabled :: Lens' EventTagOverride (Maybe Bool)

-- | ID of this event tag override. This is a read-only, auto-generated
--   field.
etoId :: Lens' EventTagOverride (Maybe Int64)

-- | Tag formats to generate for these placements.
data PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_CLICK_COMMANDS
--   </pre>
PGTFPlacementTagClickCommands :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_IFRAME_ILAYER
--   </pre>
PGTFPlacementTagIframeIlayer :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT
--   </pre>
PGTFPlacementTagIframeJavascript :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PGTFPlacementTagIframeJavascriptLegacy :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH
--   </pre>
PGTFPlacementTagInstreamVideoPrefetch :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3
--   </pre>
PGTFPlacementTagInstreamVideoPrefetchVast3 :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERNAL_REDIRECT
--   </pre>
PGTFPlacementTagInternalRedirect :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT
--   </pre>
PGTFPlacementTagInterstitialIframeJavascript :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PGTFPlacementTagInterstitialIframeJavascriptLegacy :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
PGTFPlacementTagInterstitialInternalRedirect :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT
--   </pre>
PGTFPlacementTagInterstitialJavascript :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY
--   </pre>
PGTFPlacementTagInterstitialJavascriptLegacy :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT
--   </pre>
PGTFPlacementTagJavascript :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT_LEGACY
--   </pre>
PGTFPlacementTagJavascriptLegacy :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_STANDARD
--   </pre>
PGTFPlacementTagStandard :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_TRACKING
--   </pre>
PGTFPlacementTagTracking :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_TRACKING_IFRAME
--   </pre>
PGTFPlacementTagTrackingIframe :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_TRACKING_JAVASCRIPT
--   </pre>
PGTFPlacementTagTrackingJavascript :: PlacementsGeneratetagsTagFormats

-- | Field by which to sort the list.
data AccountUserProFilesListSortField

-- | <pre>
--   ID
--   </pre>
AUPFLSFID :: AccountUserProFilesListSortField

-- | <pre>
--   NAME
--   </pre>
AUPFLSFName :: AccountUserProFilesListSortField

-- | Contains information about a particular version of an operating system
--   that can be targeted by ads.
--   
--   <i>See:</i> <a>operatingSystemVersion</a> smart constructor.
data OperatingSystemVersion

-- | Creates a value of <a>OperatingSystemVersion</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osvMinorVersion</a></li>
--   <li><a>osvKind</a></li>
--   <li><a>osvOperatingSystem</a></li>
--   <li><a>osvMajorVersion</a></li>
--   <li><a>osvName</a></li>
--   <li><a>osvId</a></li>
--   </ul>
operatingSystemVersion :: OperatingSystemVersion

-- | Minor version (number after the first dot) of this operating system
--   version.
osvMinorVersion :: Lens' OperatingSystemVersion (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#operatingSystemVersion".
osvKind :: Lens' OperatingSystemVersion Text

-- | Operating system of this operating system version.
osvOperatingSystem :: Lens' OperatingSystemVersion (Maybe OperatingSystem)

-- | Major version (leftmost number) of this operating system version.
osvMajorVersion :: Lens' OperatingSystemVersion (Maybe Text)

-- | Name of this operating system version.
osvName :: Lens' OperatingSystemVersion (Maybe Text)

-- | ID of this operating system version.
osvId :: Lens' OperatingSystemVersion (Maybe Int64)

-- | Order of sorted results, default is ASCENDING.
data InventoryItemsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
IILSOAscending :: InventoryItemsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
IILSODescending :: InventoryItemsListSortOrder

-- | Order of sorted results, default is ASCENDING.
data PlacementStrategiesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
PSLSOAscending :: PlacementStrategiesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
PSLSODescending :: PlacementStrategiesListSortOrder

-- | AccountPermissions contains information about a particular account
--   permission. Some features of DCM require an account permission to be
--   present in the account.
--   
--   <i>See:</i> <a>accountPermission</a> smart constructor.
data AccountPermission

-- | Creates a value of <a>AccountPermission</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acccKind</a></li>
--   <li><a>acccAccountProFiles</a></li>
--   <li><a>acccName</a></li>
--   <li><a>acccId</a></li>
--   <li><a>acccLevel</a></li>
--   <li><a>acccPermissionGroupId</a></li>
--   </ul>
accountPermission :: AccountPermission

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountPermission".
acccKind :: Lens' AccountPermission Text

-- | Account profiles associated with this account permission. Possible
--   values are: - "ACCOUNT_PROFILE_BASIC" - "ACCOUNT_PROFILE_STANDARD"
acccAccountProFiles :: Lens' AccountPermission [AccountPermissionAccountProFilesItem]

-- | Name of this account permission.
acccName :: Lens' AccountPermission (Maybe Text)

-- | ID of this account permission.
acccId :: Lens' AccountPermission (Maybe Int64)

-- | Administrative level required to enable this account permission.
acccLevel :: Lens' AccountPermission (Maybe AccountPermissionLevel)

-- | Permission group of this account permission.
acccPermissionGroupId :: Lens' AccountPermission (Maybe Int64)

-- | Represents a UserProfile resource.
--   
--   <i>See:</i> <a>userProFile</a> smart constructor.
data UserProFile

-- | Creates a value of <a>UserProFile</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upfEtag</a></li>
--   <li><a>upfKind</a></li>
--   <li><a>upfAccountName</a></li>
--   <li><a>upfProFileId</a></li>
--   <li><a>upfUserName</a></li>
--   <li><a>upfAccountId</a></li>
--   <li><a>upfSubAccountName</a></li>
--   <li><a>upfSubAccountId</a></li>
--   </ul>
userProFile :: UserProFile

-- | The eTag of this response for caching purposes.
upfEtag :: Lens' UserProFile (Maybe Text)

-- | The kind of resource this is, in this case dfareporting#userProfile.
upfKind :: Lens' UserProFile Text

-- | The account name this profile belongs to.
upfAccountName :: Lens' UserProFile (Maybe Text)

-- | The unique ID of the user profile.
upfProFileId :: Lens' UserProFile (Maybe Int64)

-- | The user name.
upfUserName :: Lens' UserProFile (Maybe Text)

-- | The account ID to which this profile belongs.
upfAccountId :: Lens' UserProFile (Maybe Int64)

-- | The sub account name this profile belongs to if applicable.
upfSubAccountName :: Lens' UserProFile (Maybe Text)

-- | The sub account ID this profile belongs to if applicable.
upfSubAccountId :: Lens' UserProFile (Maybe Int64)

-- | Operating System List Response
--   
--   <i>See:</i> <a>operatingSystemsListResponse</a> smart constructor.
data OperatingSystemsListResponse

-- | Creates a value of <a>OperatingSystemsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oslrKind</a></li>
--   <li><a>oslrOperatingSystems</a></li>
--   </ul>
operatingSystemsListResponse :: OperatingSystemsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#operatingSystemsListResponse".
oslrKind :: Lens' OperatingSystemsListResponse Text

-- | Operating system collection.
oslrOperatingSystems :: Lens' OperatingSystemsListResponse [OperatingSystem]

-- | The report's email delivery settings.
--   
--   <i>See:</i> <a>reportDelivery</a> smart constructor.
data ReportDelivery

-- | Creates a value of <a>ReportDelivery</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdEmailOwner</a></li>
--   <li><a>rdRecipients</a></li>
--   <li><a>rdMessage</a></li>
--   <li><a>rdEmailOwnerDeliveryType</a></li>
--   </ul>
reportDelivery :: ReportDelivery

-- | Whether the report should be emailed to the report owner.
rdEmailOwner :: Lens' ReportDelivery (Maybe Bool)

-- | The list of recipients to which to email the report.
rdRecipients :: Lens' ReportDelivery [Recipient]

-- | The message to be sent with each email.
rdMessage :: Lens' ReportDelivery (Maybe Text)

-- | The type of delivery for the owner to receive, if enabled.
rdEmailOwnerDeliveryType :: Lens' ReportDelivery (Maybe ReportDeliveryEmailOwnerDeliveryType)

-- | Contains properties of a targetable remarketing list. Remarketing
--   enables you to create lists of users who have performed specific
--   actions on a site, then target ads to members of those lists. This
--   resource is a read-only view of a remarketing list to be used to
--   faciliate targeting ads to specific lists. Remarketing lists that are
--   owned by your advertisers and those that are shared to your
--   advertisers or account are accessible via this resource. To manage
--   remarketing lists that are owned by your advertisers, use the
--   RemarketingLists resource.
--   
--   <i>See:</i> <a>targetableRemarketingList</a> smart constructor.
data TargetableRemarketingList

-- | Creates a value of <a>TargetableRemarketingList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trlListSize</a></li>
--   <li><a>trlLifeSpan</a></li>
--   <li><a>trlKind</a></li>
--   <li><a>trlAdvertiserId</a></li>
--   <li><a>trlAdvertiserIdDimensionValue</a></li>
--   <li><a>trlActive</a></li>
--   <li><a>trlAccountId</a></li>
--   <li><a>trlName</a></li>
--   <li><a>trlListSource</a></li>
--   <li><a>trlId</a></li>
--   <li><a>trlSubAccountId</a></li>
--   <li><a>trlDescription</a></li>
--   </ul>
targetableRemarketingList :: TargetableRemarketingList

-- | Number of users currently in the list. This is a read-only field.
trlListSize :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Number of days that a user should remain in the targetable remarketing
--   list without an impression.
trlLifeSpan :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#targetableRemarketingList".
trlKind :: Lens' TargetableRemarketingList Text

-- | Dimension value for the advertiser ID that owns this targetable
--   remarketing list.
trlAdvertiserId :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Dimension value for the ID of the advertiser.
trlAdvertiserIdDimensionValue :: Lens' TargetableRemarketingList (Maybe DimensionValue)

-- | Whether this targetable remarketing list is active.
trlActive :: Lens' TargetableRemarketingList (Maybe Bool)

-- | Account ID of this remarketing list. This is a read-only,
--   auto-generated field that is only returned in GET requests.
trlAccountId :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Name of the targetable remarketing list. Is no greater than 128
--   characters long.
trlName :: Lens' TargetableRemarketingList (Maybe Text)

-- | Product from which this targetable remarketing list was originated.
trlListSource :: Lens' TargetableRemarketingList (Maybe TargetableRemarketingListListSource)

-- | Targetable remarketing list ID.
trlId :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Subaccount ID of this remarketing list. This is a read-only,
--   auto-generated field that is only returned in GET requests.
trlSubAccountId :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Targetable remarketing list description.
trlDescription :: Lens' TargetableRemarketingList (Maybe Text)

-- | The field by which to sort the list.
data ReportsFilesListSortField

-- | <tt>ID</tt> Sort by file ID.
RFLSFID :: ReportsFilesListSortField

-- | <tt>LAST_MODIFIED_TIME</tt> Sort by 'lastmodifiedAt' field.
RFLSFLastModifiedTime :: ReportsFilesListSortField

-- | Postal Code List Response
--   
--   <i>See:</i> <a>postalCodesListResponse</a> smart constructor.
data PostalCodesListResponse

-- | Creates a value of <a>PostalCodesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pclrKind</a></li>
--   <li><a>pclrPostalCodes</a></li>
--   </ul>
postalCodesListResponse :: PostalCodesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#postalCodesListResponse".
pclrKind :: Lens' PostalCodesListResponse Text

-- | Postal code collection.
pclrPostalCodes :: Lens' PostalCodesListResponse [PostalCode]

-- | Describes a change that a user has made to a resource.
--   
--   <i>See:</i> <a>changeLog</a> smart constructor.
data ChangeLog

-- | Creates a value of <a>ChangeLog</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>chaUserProFileId</a></li>
--   <li><a>chaObjectType</a></li>
--   <li><a>chaUserProFileName</a></li>
--   <li><a>chaKind</a></li>
--   <li><a>chaObjectId</a></li>
--   <li><a>chaAction</a></li>
--   <li><a>chaTransactionId</a></li>
--   <li><a>chaOldValue</a></li>
--   <li><a>chaAccountId</a></li>
--   <li><a>chaNewValue</a></li>
--   <li><a>chaFieldName</a></li>
--   <li><a>chaId</a></li>
--   <li><a>chaSubAccountId</a></li>
--   <li><a>chaChangeTime</a></li>
--   </ul>
changeLog :: ChangeLog

-- | ID of the user who modified the object.
chaUserProFileId :: Lens' ChangeLog (Maybe Int64)

-- | Object type of the change log.
chaObjectType :: Lens' ChangeLog (Maybe Text)

-- | User profile name of the user who modified the object.
chaUserProFileName :: Lens' ChangeLog (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#changeLog".
chaKind :: Lens' ChangeLog Text

-- | ID of the object of this change log. The object could be a campaign,
--   placement, ad, or other type.
chaObjectId :: Lens' ChangeLog (Maybe Int64)

-- | Action which caused the change.
chaAction :: Lens' ChangeLog (Maybe Text)

-- | Transaction ID of this change log. When a single API call results in
--   many changes, each change will have a separate ID in the change log
--   but will share the same transactionId.
chaTransactionId :: Lens' ChangeLog (Maybe Int64)

-- | Old value of the object field.
chaOldValue :: Lens' ChangeLog (Maybe Text)

-- | Account ID of the modified object.
chaAccountId :: Lens' ChangeLog (Maybe Int64)

-- | New value of the object field.
chaNewValue :: Lens' ChangeLog (Maybe Text)

-- | Field name of the object which changed.
chaFieldName :: Lens' ChangeLog (Maybe Text)

-- | ID of this change log.
chaId :: Lens' ChangeLog (Maybe Int64)

-- | Subaccount ID of the modified object.
chaSubAccountId :: Lens' ChangeLog (Maybe Int64)

-- | Time when the object was modified.
chaChangeTime :: Lens' ChangeLog (Maybe UTCTime)

-- | Contains information about a language that can be targeted by ads.
--   
--   <i>See:</i> <a>language</a> smart constructor.
data Language

-- | Creates a value of <a>Language</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lLanguageCode</a></li>
--   <li><a>lKind</a></li>
--   <li><a>lName</a></li>
--   <li><a>lId</a></li>
--   </ul>
language :: Language

-- | Format of language code is an ISO 639 two-letter language code
--   optionally followed by an underscore followed by an ISO 3166 code.
--   Examples are "en" for English or "zh_CN" for Simplified Chinese.
lLanguageCode :: Lens' Language (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#language".
lKind :: Lens' Language Text

-- | Name of this language.
lName :: Lens' Language (Maybe Text)

-- | Language ID of this language. This is the ID used for targeting and
--   generating reports.
lId :: Lens' Language (Maybe Int64)

-- | Field by which to sort the list.
data CreativesListSortField

-- | <pre>
--   ID
--   </pre>
CID :: CreativesListSortField

-- | <pre>
--   NAME
--   </pre>
CName :: CreativesListSortField

-- | Contains properties of a placement strategy.
--   
--   <i>See:</i> <a>placementStrategy</a> smart constructor.
data PlacementStrategy

-- | Creates a value of <a>PlacementStrategy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psKind</a></li>
--   <li><a>psAccountId</a></li>
--   <li><a>psName</a></li>
--   <li><a>psId</a></li>
--   </ul>
placementStrategy :: PlacementStrategy

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementStrategy".
psKind :: Lens' PlacementStrategy Text

-- | Account ID of this placement strategy.This is a read-only field that
--   can be left blank.
psAccountId :: Lens' PlacementStrategy (Maybe Int64)

-- | Name of this placement strategy. This is a required field. It must be
--   less than 256 characters long and unique among placement strategies of
--   the same account.
psName :: Lens' PlacementStrategy (Maybe Text)

-- | ID of this placement strategy. This is a read-only, auto-generated
--   field.
psId :: Lens' PlacementStrategy (Maybe Int64)

-- | Contains properties of a Floodlight activity.
--   
--   <i>See:</i> <a>floodlightActivity</a> smart constructor.
data FloodlightActivity

-- | Creates a value of <a>FloodlightActivity</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>faCountingMethod</a></li>
--   <li><a>faTagString</a></li>
--   <li><a>faSecure</a></li>
--   <li><a>faExpectedURL</a></li>
--   <li><a>faFloodlightActivityGroupTagString</a></li>
--   <li><a>faFloodlightConfigurationId</a></li>
--   <li><a>faKind</a></li>
--   <li><a>faImageTagEnabled</a></li>
--   <li><a>faAdvertiserId</a></li>
--   <li><a>faAdvertiserIdDimensionValue</a></li>
--   <li><a>faSSLCompliant</a></li>
--   <li><a>faIdDimensionValue</a></li>
--   <li><a>faTagFormat</a></li>
--   <li><a>faCacheBustingType</a></li>
--   <li><a>faAccountId</a></li>
--   <li><a>faName</a></li>
--   <li><a>faPublisherTags</a></li>
--   <li><a>faFloodlightActivityGroupId</a></li>
--   <li><a>faHidden</a></li>
--   <li><a>faFloodlightActivityGroupType</a></li>
--   <li><a>faDefaultTags</a></li>
--   <li><a>faFloodlightActivityGroupName</a></li>
--   <li><a>faId</a></li>
--   <li><a>faSSLRequired</a></li>
--   <li><a>faUserDefinedVariableTypes</a></li>
--   <li><a>faSubAccountId</a></li>
--   <li><a>faNotes</a></li>
--   <li><a>faFloodlightConfigurationIdDimensionValue</a></li>
--   </ul>
floodlightActivity :: FloodlightActivity

-- | Counting method for conversions for this floodlight activity. This is
--   a required field.
faCountingMethod :: Lens' FloodlightActivity (Maybe FloodlightActivityCountingMethod)

-- | Value of the cat= paramter in the floodlight tag, which the ad servers
--   use to identify the activity. This is optional: if empty, a new tag
--   string will be generated for you. This string must be 1 to 8
--   characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ].
--   This tag string must also be unique among activities of the same
--   activity group. This field is read-only after insertion.
faTagString :: Lens' FloodlightActivity (Maybe Text)

-- | Whether this tag should use SSL.
faSecure :: Lens' FloodlightActivity (Maybe Bool)

-- | URL where this tag will be deployed. If specified, must be less than
--   256 characters long.
faExpectedURL :: Lens' FloodlightActivity (Maybe Text)

-- | Tag string of the associated floodlight activity group. This is a
--   read-only field.
faFloodlightActivityGroupTagString :: Lens' FloodlightActivity (Maybe Text)

-- | Floodlight configuration ID of this floodlight activity. If this field
--   is left blank, the value will be copied over either from the activity
--   group's floodlight configuration or from the existing activity's
--   floodlight configuration.
faFloodlightConfigurationId :: Lens' FloodlightActivity (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivity".
faKind :: Lens' FloodlightActivity Text

-- | Whether the image tag is enabled for this activity.
faImageTagEnabled :: Lens' FloodlightActivity (Maybe Bool)

-- | Advertiser ID of this floodlight activity. If this field is left
--   blank, the value will be copied over either from the activity group's
--   advertiser or the existing activity's advertiser.
faAdvertiserId :: Lens' FloodlightActivity (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
faAdvertiserIdDimensionValue :: Lens' FloodlightActivity (Maybe DimensionValue)

-- | Whether the floodlight activity is SSL-compliant. This is a read-only
--   field, its value detected by the system from the floodlight tags.
faSSLCompliant :: Lens' FloodlightActivity (Maybe Bool)

-- | Dimension value for the ID of this floodlight activity. This is a
--   read-only, auto-generated field.
faIdDimensionValue :: Lens' FloodlightActivity (Maybe DimensionValue)

-- | Tag format type for the floodlight activity. If left blank, the tag
--   format will default to HTML.
faTagFormat :: Lens' FloodlightActivity (Maybe FloodlightActivityTagFormat)

-- | Code type used for cache busting in the generated tag.
faCacheBustingType :: Lens' FloodlightActivity (Maybe FloodlightActivityCacheBustingType)

-- | Account ID of this floodlight activity. This is a read-only field that
--   can be left blank.
faAccountId :: Lens' FloodlightActivity (Maybe Int64)

-- | Name of this floodlight activity. This is a required field. Must be
--   less than 129 characters long and cannot contain quotes.
faName :: Lens' FloodlightActivity (Maybe Text)

-- | Publisher dynamic floodlight tags.
faPublisherTags :: Lens' FloodlightActivity [FloodlightActivityPublisherDynamicTag]

-- | Floodlight activity group ID of this floodlight activity. This is a
--   required field.
faFloodlightActivityGroupId :: Lens' FloodlightActivity (Maybe Int64)

-- | Whether this activity is archived.
faHidden :: Lens' FloodlightActivity (Maybe Bool)

-- | Type of the associated floodlight activity group. This is a read-only
--   field.
faFloodlightActivityGroupType :: Lens' FloodlightActivity (Maybe FloodlightActivityFloodlightActivityGroupType)

-- | Dynamic floodlight tags.
faDefaultTags :: Lens' FloodlightActivity [FloodlightActivityDynamicTag]

-- | Name of the associated floodlight activity group. This is a read-only
--   field.
faFloodlightActivityGroupName :: Lens' FloodlightActivity (Maybe Text)

-- | ID of this floodlight activity. This is a read-only, auto-generated
--   field.
faId :: Lens' FloodlightActivity (Maybe Int64)

-- | Whether this floodlight activity must be SSL-compliant.
faSSLRequired :: Lens' FloodlightActivity (Maybe Bool)

-- | List of the user-defined variables used by this conversion tag. These
--   map to the "u[1-20]=" in the tags. Each of these can have a user
--   defined type. Acceptable values are: - "U1" - "U2" - "U3" - "U4" -
--   "U5" - "U6" - "U7" - "U8" - "U9" - "U10" - "U11" - "U12" - "U13" -
--   "U14" - "U15" - "U16" - "U17" - "U18" - "U19" - "U20"
faUserDefinedVariableTypes :: Lens' FloodlightActivity [FloodlightActivityUserDefinedVariableTypesItem]

-- | Subaccount ID of this floodlight activity. This is a read-only field
--   that can be left blank.
faSubAccountId :: Lens' FloodlightActivity (Maybe Int64)

-- | General notes or implementation instructions for the tag.
faNotes :: Lens' FloodlightActivity (Maybe Text)

-- | Dimension value for the ID of the floodlight configuration. This is a
--   read-only, auto-generated field.
faFloodlightConfigurationIdDimensionValue :: Lens' FloodlightActivity (Maybe DimensionValue)
data DayPartTargetingDaysOfWeekItem

-- | <pre>
--   FRIDAY
--   </pre>
DPTDOWIFriday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   MONDAY
--   </pre>
DPTDOWIMonday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   SATURDAY
--   </pre>
DPTDOWISaturday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   SUNDAY
--   </pre>
DPTDOWISunday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   THURSDAY
--   </pre>
DPTDOWIThursday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   TUESDAY
--   </pre>
DPTDOWITuesday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   WEDNESDAY
--   </pre>
DPTDOWIWednesday :: DayPartTargetingDaysOfWeekItem

-- | A custom floodlight variable.
--   
--   <i>See:</i> <a>customFloodlightVariable</a> smart constructor.
data CustomFloodlightVariable

-- | Creates a value of <a>CustomFloodlightVariable</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cusKind</a></li>
--   <li><a>cusValue</a></li>
--   <li><a>cusType</a></li>
--   </ul>
customFloodlightVariable :: CustomFloodlightVariable

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#customFloodlightVariable".
cusKind :: Lens' CustomFloodlightVariable Text

-- | The value of the custom floodlight variable. The length of string must
--   not exceed 50 characters.
cusValue :: Lens' CustomFloodlightVariable (Maybe Text)

-- | The type of custom floodlight variable to supply a value for. These
--   map to the "u[1-20]=" in the tags.
cusType :: Lens' CustomFloodlightVariable (Maybe CustomFloodlightVariableType)

-- | Strategy for calculating weights. Used with
--   CREATIVE_ROTATION_TYPE_RANDOM.
data CreativeRotationWeightCalculationStrategy

-- | <pre>
--   WEIGHT_STRATEGY_CUSTOM
--   </pre>
WeightStrategyCustom :: CreativeRotationWeightCalculationStrategy

-- | <pre>
--   WEIGHT_STRATEGY_EQUAL
--   </pre>
WeightStrategyEqual :: CreativeRotationWeightCalculationStrategy

-- | <pre>
--   WEIGHT_STRATEGY_HIGHEST_CTR
--   </pre>
WeightStrategyHighestCtr :: CreativeRotationWeightCalculationStrategy

-- | <pre>
--   WEIGHT_STRATEGY_OPTIMIZED
--   </pre>
WeightStrategyOptimized :: CreativeRotationWeightCalculationStrategy

-- | The scope that defines which results are returned, default is 'MINE'.
data FilesListScope

-- | <tt>ALL</tt> All files in account.
FLSAll :: FilesListScope

-- | <tt>MINE</tt> My files.
FLSMine :: FilesListScope

-- | <tt>SHARED_WITH_ME</tt> Files shared with me.
FLSSharedWithMe :: FilesListScope

-- | Field by which to sort the list.
data ContentCategoriesListSortField

-- | <pre>
--   ID
--   </pre>
CCLSFID :: ContentCategoriesListSortField

-- | <pre>
--   NAME
--   </pre>
CCLSFName :: ContentCategoriesListSortField

-- | Audience age group of this project.
data ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_18_24
--   </pre>
PlanningAudienceAge1824 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_25_34
--   </pre>
PlanningAudienceAge2534 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_35_44
--   </pre>
PlanningAudienceAge3544 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_45_54
--   </pre>
PlanningAudienceAge4554 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_55_64
--   </pre>
PlanningAudienceAge5564 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_65_OR_MORE
--   </pre>
PlanningAudienceAge65OrMore :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_UNKNOWN
--   </pre>
PlanningAudienceAgeUnknown :: ProjectAudienceAgeGroup

-- | Platform Type List Response
--   
--   <i>See:</i> <a>platformTypesListResponse</a> smart constructor.
data PlatformTypesListResponse

-- | Creates a value of <a>PlatformTypesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptlrKind</a></li>
--   <li><a>ptlrPlatformTypes</a></li>
--   </ul>
platformTypesListResponse :: PlatformTypesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#platformTypesListResponse".
ptlrKind :: Lens' PlatformTypesListResponse Text

-- | Platform type collection.
ptlrPlatformTypes :: Lens' PlatformTypesListResponse [PlatformType]

-- | Type of ad. This is a required field on insertion. Note that default
--   ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative
--   resource).
data AdType

-- | <pre>
--   AD_SERVING_CLICK_TRACKER
--   </pre>
ATAdServingClickTracker :: AdType

-- | <pre>
--   AD_SERVING_DEFAULT_AD
--   </pre>
ATAdServingDefaultAd :: AdType

-- | <pre>
--   AD_SERVING_STANDARD_AD
--   </pre>
ATAdServingStandardAd :: AdType

-- | <pre>
--   AD_SERVING_TRACKING
--   </pre>
ATAdServingTracking :: AdType

-- | Modification timestamp.
--   
--   <i>See:</i> <a>lastModifiedInfo</a> smart constructor.
data LastModifiedInfo

-- | Creates a value of <a>LastModifiedInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lmiTime</a></li>
--   </ul>
lastModifiedInfo :: LastModifiedInfo

-- | Timestamp of the last change in milliseconds since epoch.
lmiTime :: Lens' LastModifiedInfo (Maybe Int64)

-- | Target Window.
--   
--   <i>See:</i> <a>targetWindow</a> smart constructor.
data TargetWindow

-- | Creates a value of <a>TargetWindow</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>twCustomHTML</a></li>
--   <li><a>twTargetWindowOption</a></li>
--   </ul>
targetWindow :: TargetWindow

-- | User-entered value.
twCustomHTML :: Lens' TargetWindow (Maybe Text)

-- | Type of browser window for which the backup image of the flash
--   creative can be displayed.
twTargetWindowOption :: Lens' TargetWindow (Maybe TargetWindowTargetWindowOption)

-- | Select only change logs with the specified action.
data ChangeLogsListAction

-- | <pre>
--   ACTION_ADD
--   </pre>
ActionAdd :: ChangeLogsListAction

-- | <pre>
--   ACTION_ASSIGN
--   </pre>
ActionAssign :: ChangeLogsListAction

-- | <pre>
--   ACTION_ASSOCIATE
--   </pre>
ActionAssociate :: ChangeLogsListAction

-- | <pre>
--   ACTION_CREATE
--   </pre>
ActionCreate :: ChangeLogsListAction

-- | <pre>
--   ACTION_DELETE
--   </pre>
ActionDelete :: ChangeLogsListAction

-- | <pre>
--   ACTION_DISABLE
--   </pre>
ActionDisable :: ChangeLogsListAction

-- | <pre>
--   ACTION_EMAIL_TAGS
--   </pre>
ActionEmailTags :: ChangeLogsListAction

-- | <pre>
--   ACTION_ENABLE
--   </pre>
ActionEnable :: ChangeLogsListAction

-- | <pre>
--   ACTION_LINK
--   </pre>
ActionLink :: ChangeLogsListAction

-- | <pre>
--   ACTION_MARK_AS_DEFAULT
--   </pre>
ActionMarkAsDefault :: ChangeLogsListAction

-- | <pre>
--   ACTION_PUSH
--   </pre>
ActionPush :: ChangeLogsListAction

-- | <pre>
--   ACTION_REMOVE
--   </pre>
ActionRemove :: ChangeLogsListAction

-- | <pre>
--   ACTION_SEND
--   </pre>
ActionSend :: ChangeLogsListAction

-- | <pre>
--   ACTION_SHARE
--   </pre>
ActionShare :: ChangeLogsListAction

-- | <pre>
--   ACTION_UNASSIGN
--   </pre>
ActionUnassign :: ChangeLogsListAction

-- | <pre>
--   ACTION_UNLINK
--   </pre>
ActionUnlink :: ChangeLogsListAction

-- | <pre>
--   ACTION_UPDATE
--   </pre>
ActionUpdate :: ChangeLogsListAction

-- | Type of artwork used for the creative. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA, and all
--   VPAID.
data CreativeArtworkType

-- | <pre>
--   ARTWORK_TYPE_FLASH
--   </pre>
CATArtworkTypeFlash :: CreativeArtworkType

-- | <pre>
--   ARTWORK_TYPE_HTML5
--   </pre>
CATArtworkTypeHTML5 :: CreativeArtworkType

-- | <pre>
--   ARTWORK_TYPE_IMAGE
--   </pre>
CATArtworkTypeImage :: CreativeArtworkType

-- | <pre>
--   ARTWORK_TYPE_MIXED
--   </pre>
CATArtworkTypeMixed :: CreativeArtworkType

-- | Third-party placement status.
data PlacementStatus

-- | <pre>
--   ACKNOWLEDGE_ACCEPTANCE
--   </pre>
AcknowledgeAcceptance :: PlacementStatus

-- | <pre>
--   ACKNOWLEDGE_REJECTION
--   </pre>
AcknowledgeRejection :: PlacementStatus

-- | <pre>
--   DRAFT
--   </pre>
Draft :: PlacementStatus

-- | <pre>
--   PAYMENT_ACCEPTED
--   </pre>
PaymentAccepted :: PlacementStatus

-- | <pre>
--   PAYMENT_REJECTED
--   </pre>
PaymentRejected :: PlacementStatus

-- | <pre>
--   PENDING_REVIEW
--   </pre>
PendingReview :: PlacementStatus

-- | AccountPermissionGroups contains a mapping of permission group IDs to
--   names. A permission group is a grouping of account permissions.
--   
--   <i>See:</i> <a>accountPermissionGroup</a> smart constructor.
data AccountPermissionGroup

-- | Creates a value of <a>AccountPermissionGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apgpKind</a></li>
--   <li><a>apgpName</a></li>
--   <li><a>apgpId</a></li>
--   </ul>
accountPermissionGroup :: AccountPermissionGroup

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountPermissionGroup".
apgpKind :: Lens' AccountPermissionGroup Text

-- | Name of this account permission group.
apgpName :: Lens' AccountPermissionGroup (Maybe Text)

-- | ID of this account permission group.
apgpId :: Lens' AccountPermissionGroup (Maybe Int64)

-- | Contains properties of a DCM advertiser.
--   
--   <i>See:</i> <a>advertiser</a> smart constructor.
data Advertiser

-- | Creates a value of <a>Advertiser</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>advdOriginalFloodlightConfigurationId</a></li>
--   <li><a>advdStatus</a></li>
--   <li><a>advdFloodlightConfigurationId</a></li>
--   <li><a>advdKind</a></li>
--   <li><a>advdSuspended</a></li>
--   <li><a>advdIdDimensionValue</a></li>
--   <li><a>advdAccountId</a></li>
--   <li><a>advdDefaultEmail</a></li>
--   <li><a>advdName</a></li>
--   <li><a>advdAdvertiserGroupId</a></li>
--   <li><a>advdDefaultClickThroughEventTagId</a></li>
--   <li><a>advdId</a></li>
--   <li><a>advdSubAccountId</a></li>
--   <li><a>advdFloodlightConfigurationIdDimensionValue</a></li>
--   <li><a>advdClickThroughURLSuffix</a></li>
--   </ul>
advertiser :: Advertiser

-- | Original floodlight configuration before any sharing occurred. Set the
--   floodlightConfigurationId of this advertiser to
--   originalFloodlightConfigurationId to unshare the advertiser's current
--   floodlight configuration. You cannot unshare an advertiser's
--   floodlight configuration if the shared configuration has activities
--   associated with any campaign or placement.
advdOriginalFloodlightConfigurationId :: Lens' Advertiser (Maybe Int64)

-- | Status of this advertiser.
advdStatus :: Lens' Advertiser (Maybe AdvertiserStatus)

-- | Floodlight configuration ID of this advertiser. The floodlight
--   configuration ID will be created automatically, so on insert this
--   field should be left blank. This field can be set to another
--   advertiser's floodlight configuration ID in order to share that
--   advertiser's floodlight configuration with this advertiser, so long
--   as: - This advertiser's original floodlight configuration is not
--   already associated with floodlight activities or floodlight activity
--   groups. - This advertiser's original floodlight configuration is not
--   already shared with another advertiser.
advdFloodlightConfigurationId :: Lens' Advertiser (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#advertiser".
advdKind :: Lens' Advertiser Text

-- | Suspension status of this advertiser.
advdSuspended :: Lens' Advertiser (Maybe Bool)

-- | Dimension value for the ID of this advertiser. This is a read-only,
--   auto-generated field.
advdIdDimensionValue :: Lens' Advertiser (Maybe DimensionValue)

-- | Account ID of this advertiser.This is a read-only field that can be
--   left blank.
advdAccountId :: Lens' Advertiser (Maybe Int64)

-- | Default email address used in sender field for tag emails.
advdDefaultEmail :: Lens' Advertiser (Maybe Text)

-- | Name of this advertiser. This is a required field and must be less
--   than 256 characters long and unique among advertisers of the same
--   account.
advdName :: Lens' Advertiser (Maybe Text)

-- | ID of the advertiser group this advertiser belongs to. You can group
--   advertisers for reporting purposes, allowing you to see aggregated
--   information for all advertisers in each group.
advdAdvertiserGroupId :: Lens' Advertiser (Maybe Int64)

-- | ID of the click-through event tag to apply by default to the landing
--   pages of this advertiser's campaigns.
advdDefaultClickThroughEventTagId :: Lens' Advertiser (Maybe Int64)

-- | ID of this advertiser. This is a read-only, auto-generated field.
advdId :: Lens' Advertiser (Maybe Int64)

-- | Subaccount ID of this advertiser.This is a read-only field that can be
--   left blank.
advdSubAccountId :: Lens' Advertiser (Maybe Int64)

-- | Dimension value for the ID of the floodlight configuration. This is a
--   read-only, auto-generated field.
advdFloodlightConfigurationIdDimensionValue :: Lens' Advertiser (Maybe DimensionValue)

-- | Suffix added to click-through URL of ad creative associations under
--   this advertiser. Must be less than 129 characters long.
advdClickThroughURLSuffix :: Lens' Advertiser (Maybe Text)

-- | Enum to define for "MONTHLY" scheduled reports whether reports should
--   be repeated on the same day of the month as "startDate" or the same
--   day of the week of the month. Example: If 'startDate' is Monday, April
--   2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on
--   the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent
--   reports on the first Monday of the month.
data ReportScheduleRunsOnDayOfMonth

-- | <pre>
--   DAY_OF_MONTH
--   </pre>
DayOfMonth :: ReportScheduleRunsOnDayOfMonth

-- | <pre>
--   WEEK_OF_MONTH
--   </pre>
WeekOfMonth :: ReportScheduleRunsOnDayOfMonth

-- | Contains properties of auser role, which is used to manage user
--   access.
--   
--   <i>See:</i> <a>userRole</a> smart constructor.
data UserRole

-- | Creates a value of <a>UserRole</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urParentUserRoleId</a></li>
--   <li><a>urKind</a></li>
--   <li><a>urDefaultUserRole</a></li>
--   <li><a>urAccountId</a></li>
--   <li><a>urName</a></li>
--   <li><a>urId</a></li>
--   <li><a>urPermissions</a></li>
--   <li><a>urSubAccountId</a></li>
--   </ul>
userRole :: UserRole

-- | ID of the user role that this user role is based on or copied from.
--   This is a required field.
urParentUserRoleId :: Lens' UserRole (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRole".
urKind :: Lens' UserRole Text

-- | Whether this is a default user role. Default user roles are created by
--   the system for the account/subaccount and cannot be modified or
--   deleted. Each default user role comes with a basic set of preassigned
--   permissions.
urDefaultUserRole :: Lens' UserRole (Maybe Bool)

-- | Account ID of this user role. This is a read-only field that can be
--   left blank.
urAccountId :: Lens' UserRole (Maybe Int64)

-- | Name of this user role. This is a required field. Must be less than
--   256 characters long. If this user role is under a subaccount, the name
--   must be unique among sites of the same subaccount. Otherwise, this
--   user role is a top-level user role, and the name must be unique among
--   top-level user roles of the same account.
urName :: Lens' UserRole (Maybe Text)

-- | ID of this user role. This is a read-only, auto-generated field.
urId :: Lens' UserRole (Maybe Int64)

-- | List of permissions associated with this user role.
urPermissions :: Lens' UserRole [UserRolePermission]

-- | Subaccount ID of this user role. This is a read-only field that can be
--   left blank.
urSubAccountId :: Lens' UserRole (Maybe Int64)
data FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U1
--   </pre>
FAUDVTIU1 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U10
--   </pre>
FAUDVTIU10 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U100
--   </pre>
FAUDVTIU100 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U11
--   </pre>
FAUDVTIU11 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U12
--   </pre>
FAUDVTIU12 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U13
--   </pre>
FAUDVTIU13 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U14
--   </pre>
FAUDVTIU14 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U15
--   </pre>
FAUDVTIU15 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U16
--   </pre>
FAUDVTIU16 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U17
--   </pre>
FAUDVTIU17 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U18
--   </pre>
FAUDVTIU18 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U19
--   </pre>
FAUDVTIU19 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U2
--   </pre>
FAUDVTIU2 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U20
--   </pre>
FAUDVTIU20 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U21
--   </pre>
FAUDVTIU21 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U22
--   </pre>
FAUDVTIU22 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U23
--   </pre>
FAUDVTIU23 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U24
--   </pre>
FAUDVTIU24 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U25
--   </pre>
FAUDVTIU25 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U26
--   </pre>
FAUDVTIU26 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U27
--   </pre>
FAUDVTIU27 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U28
--   </pre>
FAUDVTIU28 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U29
--   </pre>
FAUDVTIU29 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U3
--   </pre>
FAUDVTIU3 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U30
--   </pre>
FAUDVTIU30 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U31
--   </pre>
FAUDVTIU31 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U32
--   </pre>
FAUDVTIU32 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U33
--   </pre>
FAUDVTIU33 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U34
--   </pre>
FAUDVTIU34 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U35
--   </pre>
FAUDVTIU35 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U36
--   </pre>
FAUDVTIU36 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U37
--   </pre>
FAUDVTIU37 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U38
--   </pre>
FAUDVTIU38 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U39
--   </pre>
FAUDVTIU39 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U4
--   </pre>
FAUDVTIU4 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U40
--   </pre>
FAUDVTIU40 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U41
--   </pre>
FAUDVTIU41 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U42
--   </pre>
FAUDVTIU42 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U43
--   </pre>
FAUDVTIU43 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U44
--   </pre>
FAUDVTIU44 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U45
--   </pre>
FAUDVTIU45 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U46
--   </pre>
FAUDVTIU46 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U47
--   </pre>
FAUDVTIU47 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U48
--   </pre>
FAUDVTIU48 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U49
--   </pre>
FAUDVTIU49 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U5
--   </pre>
FAUDVTIU5 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U50
--   </pre>
FAUDVTIU50 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U51
--   </pre>
FAUDVTIU51 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U52
--   </pre>
FAUDVTIU52 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U53
--   </pre>
FAUDVTIU53 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U54
--   </pre>
FAUDVTIU54 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U55
--   </pre>
FAUDVTIU55 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U56
--   </pre>
FAUDVTIU56 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U57
--   </pre>
FAUDVTIU57 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U58
--   </pre>
FAUDVTIU58 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U59
--   </pre>
FAUDVTIU59 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U6
--   </pre>
FAUDVTIU6 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U60
--   </pre>
FAUDVTIU60 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U61
--   </pre>
FAUDVTIU61 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U62
--   </pre>
FAUDVTIU62 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U63
--   </pre>
FAUDVTIU63 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U64
--   </pre>
FAUDVTIU64 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U65
--   </pre>
FAUDVTIU65 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U66
--   </pre>
FAUDVTIU66 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U67
--   </pre>
FAUDVTIU67 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U68
--   </pre>
FAUDVTIU68 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U69
--   </pre>
FAUDVTIU69 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U7
--   </pre>
FAUDVTIU7 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U70
--   </pre>
FAUDVTIU70 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U71
--   </pre>
FAUDVTIU71 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U72
--   </pre>
FAUDVTIU72 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U73
--   </pre>
FAUDVTIU73 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U74
--   </pre>
FAUDVTIU74 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U75
--   </pre>
FAUDVTIU75 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U76
--   </pre>
FAUDVTIU76 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U77
--   </pre>
FAUDVTIU77 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U78
--   </pre>
FAUDVTIU78 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U79
--   </pre>
FAUDVTIU79 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U8
--   </pre>
FAUDVTIU8 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U80
--   </pre>
FAUDVTIU80 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U81
--   </pre>
FAUDVTIU81 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U82
--   </pre>
FAUDVTIU82 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U83
--   </pre>
FAUDVTIU83 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U84
--   </pre>
FAUDVTIU84 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U85
--   </pre>
FAUDVTIU85 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U86
--   </pre>
FAUDVTIU86 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U87
--   </pre>
FAUDVTIU87 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U88
--   </pre>
FAUDVTIU88 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U89
--   </pre>
FAUDVTIU89 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U9
--   </pre>
FAUDVTIU9 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U90
--   </pre>
FAUDVTIU90 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U91
--   </pre>
FAUDVTIU91 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U92
--   </pre>
FAUDVTIU92 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U93
--   </pre>
FAUDVTIU93 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U94
--   </pre>
FAUDVTIU94 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U95
--   </pre>
FAUDVTIU95 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U96
--   </pre>
FAUDVTIU96 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U97
--   </pre>
FAUDVTIU97 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U98
--   </pre>
FAUDVTIU98 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U99
--   </pre>
FAUDVTIU99 :: FloodlightActivityUserDefinedVariableTypesItem

-- | Site filter type for this event tag. If no type is specified then the
--   event tag will be applied to all sites.
data EventTagSiteFilterType

-- | <pre>
--   BLACKLIST
--   </pre>
BlackList :: EventTagSiteFilterType

-- | <pre>
--   WHITELIST
--   </pre>
WhiteList :: EventTagSiteFilterType

-- | The output format of the report. If not specified, default format is
--   "CSV". Note that the actual format in the completed report file might
--   differ if for instance the report's size exceeds the format's
--   capabilities. "CSV" will then be the fallback format.
data ReportFormat

-- | <pre>
--   CSV
--   </pre>
RFCSV :: ReportFormat

-- | <pre>
--   EXCEL
--   </pre>
RFExcel :: ReportFormat

-- | Type of this placement group. A package is a simple group of
--   placements that acts as a single pricing point for a group of tags. A
--   roadblock is a group of placements that not only acts as a single
--   pricing point, but also assumes that all the tags in it will be served
--   at the same time. A roadblock requires one of its assigned placements
--   to be marked as primary for reporting. This field is required on
--   insertion.
data PlacementGroupPlacementGroupType

-- | <pre>
--   PLACEMENT_PACKAGE
--   </pre>
PGPGTPlacementPackage :: PlacementGroupPlacementGroupType

-- | <pre>
--   PLACEMENT_ROADBLOCK
--   </pre>
PGPGTPlacementRoadblock :: PlacementGroupPlacementGroupType

-- | Video Format List Response
--   
--   <i>See:</i> <a>videoFormatsListResponse</a> smart constructor.
data VideoFormatsListResponse

-- | Creates a value of <a>VideoFormatsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vflrKind</a></li>
--   <li><a>vflrVideoFormats</a></li>
--   </ul>
videoFormatsListResponse :: VideoFormatsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#videoFormatsListResponse".
vflrKind :: Lens' VideoFormatsListResponse Text

-- | Video format collection.
vflrVideoFormats :: Lens' VideoFormatsListResponse [VideoFormat]

-- | Directory Site List Response
--   
--   <i>See:</i> <a>directorySitesListResponse</a> smart constructor.
data DirectorySitesListResponse

-- | Creates a value of <a>DirectorySitesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dslrNextPageToken</a></li>
--   <li><a>dslrKind</a></li>
--   <li><a>dslrDirectorySites</a></li>
--   </ul>
directorySitesListResponse :: DirectorySitesListResponse

-- | Pagination token to be used for the next list operation.
dslrNextPageToken :: Lens' DirectorySitesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#directorySitesListResponse".
dslrKind :: Lens' DirectorySitesListResponse Text

-- | Directory site collection.
dslrDirectorySites :: Lens' DirectorySitesListResponse [DirectorySite]

-- | The error code and description for a conversion that failed to insert
--   or update.
--   
--   <i>See:</i> <a>conversionError</a> smart constructor.
data ConversionError

-- | Creates a value of <a>ConversionError</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ceKind</a></li>
--   <li><a>ceCode</a></li>
--   <li><a>ceMessage</a></li>
--   </ul>
conversionError :: ConversionError

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversionError".
ceKind :: Lens' ConversionError Text

-- | The error code.
ceCode :: Lens' ConversionError (Maybe ConversionErrorCode)

-- | A description of the error.
ceMessage :: Lens' ConversionError (Maybe Text)

-- | Pricing type of this inventory item.
data PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CLICKS
--   </pre>
PlanningPlacementPricingTypeClicks :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CPA
--   </pre>
PlanningPlacementPricingTypeCpa :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CPC
--   </pre>
PlanningPlacementPricingTypeCpc :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CPM
--   </pre>
PlanningPlacementPricingTypeCpm :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW
--   </pre>
PlanningPlacementPricingTypeCpmActiveview :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS
--   </pre>
PlanningPlacementPricingTypeFlatRateClicks :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS
--   </pre>
PlanningPlacementPricingTypeFlatRateImpressions :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS
--   </pre>
PlanningPlacementPricingTypeImpressions :: PricingPricingType

-- | Pricing Period
--   
--   <i>See:</i> <a>pricingSchedulePricingPeriod</a> smart constructor.
data PricingSchedulePricingPeriod

-- | Creates a value of <a>PricingSchedulePricingPeriod</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psppEndDate</a></li>
--   <li><a>psppRateOrCostNanos</a></li>
--   <li><a>psppStartDate</a></li>
--   <li><a>psppUnits</a></li>
--   <li><a>psppPricingComment</a></li>
--   </ul>
pricingSchedulePricingPeriod :: PricingSchedulePricingPeriod

-- | Pricing period end date. This date must be later than, or the same day
--   as, the pricing period start date, but not later than the placement
--   end date. The period end date can be the same date as the period start
--   date. If, for example, you set 6/25/2015 as both the start and end
--   dates, the effective pricing period date is just that day only,
--   6/25/2015. The hours, minutes, and seconds of the end date should not
--   be set, as doing so will result in an error.
psppEndDate :: Lens' PricingSchedulePricingPeriod (Maybe Day)

-- | Rate or cost of this pricing period.
psppRateOrCostNanos :: Lens' PricingSchedulePricingPeriod (Maybe Int64)

-- | Pricing period start date. This date must be later than, or the same
--   day as, the placement start date. The hours, minutes, and seconds of
--   the start date should not be set, as doing so will result in an error.
psppStartDate :: Lens' PricingSchedulePricingPeriod (Maybe Day)

-- | Units of this pricing period.
psppUnits :: Lens' PricingSchedulePricingPeriod (Maybe Int64)

-- | Comments for this pricing period.
psppPricingComment :: Lens' PricingSchedulePricingPeriod (Maybe Text)

-- | Order of sorted results, default is ASCENDING.
data SubAccountsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
SALSOAscending :: SubAccountsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
SALSODescending :: SubAccountsListSortOrder

-- | Directory Site Contact List Response
--   
--   <i>See:</i> <a>directorySiteContactsListResponse</a> smart
--   constructor.
data DirectorySiteContactsListResponse

-- | Creates a value of <a>DirectorySiteContactsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsclrNextPageToken</a></li>
--   <li><a>dsclrKind</a></li>
--   <li><a>dsclrDirectorySiteContacts</a></li>
--   </ul>
directorySiteContactsListResponse :: DirectorySiteContactsListResponse

-- | Pagination token to be used for the next list operation.
dsclrNextPageToken :: Lens' DirectorySiteContactsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#directorySiteContactsListResponse".
dsclrKind :: Lens' DirectorySiteContactsListResponse Text

-- | Directory site contact collection
dsclrDirectorySiteContacts :: Lens' DirectorySiteContactsListResponse [DirectorySiteContact]

-- | Contains information about a region that can be targeted by ads.
--   
--   <i>See:</i> <a>region</a> smart constructor.
data Region

-- | Creates a value of <a>Region</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>regRegionCode</a></li>
--   <li><a>regKind</a></li>
--   <li><a>regName</a></li>
--   <li><a>regCountryCode</a></li>
--   <li><a>regCountryDartId</a></li>
--   <li><a>regDartId</a></li>
--   </ul>
region :: Region

-- | Region code.
regRegionCode :: Lens' Region (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#region".
regKind :: Lens' Region Text

-- | Name of this region.
regName :: Lens' Region (Maybe Text)

-- | Country code of the country to which this region belongs.
regCountryCode :: Lens' Region (Maybe Text)

-- | DART ID of the country to which this region belongs.
regCountryDartId :: Lens' Region (Maybe Int64)

-- | DART ID of this region.
regDartId :: Lens' Region (Maybe Int64)

-- | Advertiser Group List Response
--   
--   <i>See:</i> <a>advertiserGroupsListResponse</a> smart constructor.
data AdvertiserGroupsListResponse

-- | Creates a value of <a>AdvertiserGroupsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aglrNextPageToken</a></li>
--   <li><a>aglrKind</a></li>
--   <li><a>aglrAdvertiserGroups</a></li>
--   </ul>
advertiserGroupsListResponse :: AdvertiserGroupsListResponse

-- | Pagination token to be used for the next list operation.
aglrNextPageToken :: Lens' AdvertiserGroupsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#advertiserGroupsListResponse".
aglrKind :: Lens' AdvertiserGroupsListResponse Text

-- | Advertiser group collection.
aglrAdvertiserGroups :: Lens' AdvertiserGroupsListResponse [AdvertiserGroup]

-- | Order of sorted results, default is ASCENDING.
data AdsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
ADSAscending :: AdsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ADSDescending :: AdsListSortOrder

-- | Order of sorted results, default is ASCENDING.
data ProjectsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
PLSOAscending :: ProjectsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
PLSODescending :: ProjectsListSortOrder

-- | Creative Assignment.
--   
--   <i>See:</i> <a>creativeAssignment</a> smart constructor.
data CreativeAssignment

-- | Creates a value of <a>CreativeAssignment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caCreativeGroupAssignments</a></li>
--   <li><a>caStartTime</a></li>
--   <li><a>caWeight</a></li>
--   <li><a>caRichMediaExitOverrides</a></li>
--   <li><a>caSSLCompliant</a></li>
--   <li><a>caCreativeId</a></li>
--   <li><a>caClickThroughURL</a></li>
--   <li><a>caApplyEventTags</a></li>
--   <li><a>caActive</a></li>
--   <li><a>caSequence</a></li>
--   <li><a>caEndTime</a></li>
--   <li><a>caCompanionCreativeOverrides</a></li>
--   <li><a>caCreativeIdDimensionValue</a></li>
--   </ul>
creativeAssignment :: CreativeAssignment

-- | Creative group assignments for this creative assignment. Only one
--   assignment per creative group number is allowed for a maximum of two
--   assignments.
caCreativeGroupAssignments :: Lens' CreativeAssignment [CreativeGroupAssignment]

-- | Date and time that the assigned creative should start serving.
caStartTime :: Lens' CreativeAssignment (Maybe UTCTime)

-- | Weight of the creative assignment, applicable when the rotation type
--   is CREATIVE_ROTATION_TYPE_RANDOM.
caWeight :: Lens' CreativeAssignment (Maybe Int32)

-- | Rich media exit overrides for this creative assignment. Applicable
--   when the creative type is any of the following: - RICH_MEDIA_INPAGE -
--   RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND -
--   RICH_MEDIA_EXPANDING - RICH_MEDIA_INTERSTITIAL_FLOAT -
--   RICH_MEDIA_MOBILE_IN_APP - RICH_MEDIA_MULTI_FLOATING -
--   RICH_MEDIA_PEEL_DOWN - ADVANCED_BANNER - VPAID_LINEAR -
--   VPAID_NON_LINEAR
caRichMediaExitOverrides :: Lens' CreativeAssignment [RichMediaExitOverride]

-- | Whether the creative to be assigned is SSL-compliant. This is a
--   read-only field that is auto-generated when the ad is inserted or
--   updated.
caSSLCompliant :: Lens' CreativeAssignment (Maybe Bool)

-- | ID of the creative to be assigned. This is a required field.
caCreativeId :: Lens' CreativeAssignment (Maybe Int64)

-- | Click-through URL of the creative assignment.
caClickThroughURL :: Lens' CreativeAssignment (Maybe ClickThroughURL)

-- | Whether applicable event tags should fire when this creative
--   assignment is rendered. If this value is unset when the ad is inserted
--   or updated, it will default to true for all creative types EXCEPT for
--   INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
caApplyEventTags :: Lens' CreativeAssignment (Maybe Bool)

-- | Whether this creative assignment is active. When true, the creative
--   will be included in the ad's rotation.
caActive :: Lens' CreativeAssignment (Maybe Bool)

-- | Sequence number of the creative assignment, applicable when the
--   rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
caSequence :: Lens' CreativeAssignment (Maybe Int32)

-- | Date and time that the assigned creative should stop serving. Must be
--   later than the start time.
caEndTime :: Lens' CreativeAssignment (Maybe UTCTime)

-- | Companion creative overrides for this creative assignment. Applicable
--   to video ads.
caCompanionCreativeOverrides :: Lens' CreativeAssignment [CompanionClickThroughOverride]

-- | Dimension value for the ID of the creative. This is a read-only,
--   auto-generated field.
caCreativeIdDimensionValue :: Lens' CreativeAssignment (Maybe DimensionValue)

-- | Represents a dimension filter.
--   
--   <i>See:</i> <a>dimensionFilter</a> smart constructor.
data DimensionFilter

-- | Creates a value of <a>DimensionFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfKind</a></li>
--   <li><a>dfValue</a></li>
--   <li><a>dfDimensionName</a></li>
--   </ul>
dimensionFilter :: DimensionFilter

-- | The kind of resource this is, in this case
--   dfareporting#dimensionFilter.
dfKind :: Lens' DimensionFilter Text

-- | The value of the dimension to filter.
dfValue :: Lens' DimensionFilter (Maybe Text)

-- | The name of the dimension to filter.
dfDimensionName :: Lens' DimensionFilter (Maybe Text)

-- | Represents the list of user profiles.
--   
--   <i>See:</i> <a>userProFileList</a> smart constructor.
data UserProFileList

-- | Creates a value of <a>UserProFileList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upflEtag</a></li>
--   <li><a>upflKind</a></li>
--   <li><a>upflItems</a></li>
--   </ul>
userProFileList :: UserProFileList

-- | The eTag of this response for caching purposes.
upflEtag :: Lens' UserProFileList (Maybe Text)

-- | The kind of list this is, in this case dfareporting#userProfileList.
upflKind :: Lens' UserProFileList Text

-- | The user profiles returned in this response.
upflItems :: Lens' UserProFileList [UserProFile]

-- | Field by which to sort the list.
data RemarketingListsListSortField

-- | <pre>
--   ID
--   </pre>
RLLSFID :: RemarketingListsListSortField

-- | <pre>
--   NAME
--   </pre>
RLLSFName :: RemarketingListsListSortField

-- | Contains properties of a Floodlight configuration.
--   
--   <i>See:</i> <a>floodlightConfiguration</a> smart constructor.
data FloodlightConfiguration

-- | Creates a value of <a>FloodlightConfiguration</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcTagSettings</a></li>
--   <li><a>fcExposureToConversionEnabled</a></li>
--   <li><a>fcInAppAttributionTrackingEnabled</a></li>
--   <li><a>fcThirdPartyAuthenticationTokens</a></li>
--   <li><a>fcKind</a></li>
--   <li><a>fcAdvertiserId</a></li>
--   <li><a>fcAnalyticsDataSharingEnabled</a></li>
--   <li><a>fcAdvertiserIdDimensionValue</a></li>
--   <li><a>fcIdDimensionValue</a></li>
--   <li><a>fcLookbackConfiguration</a></li>
--   <li><a>fcAccountId</a></li>
--   <li><a>fcId</a></li>
--   <li><a>fcNATuralSearchConversionAttributionOption</a></li>
--   <li><a>fcUserDefinedVariableConfigurations</a></li>
--   <li><a>fcSubAccountId</a></li>
--   <li><a>fcFirstDayOfWeek</a></li>
--   <li><a>fcOmnitureSettings</a></li>
--   <li><a>fcStandardVariableTypes</a></li>
--   </ul>
floodlightConfiguration :: FloodlightConfiguration

-- | Configuration settings for dynamic and image floodlight tags.
fcTagSettings :: Lens' FloodlightConfiguration (Maybe TagSettings)

-- | Whether the exposure-to-conversion report is enabled. This report
--   shows detailed pathway information on up to 10 of the most recent ad
--   exposures seen by a user before converting.
fcExposureToConversionEnabled :: Lens' FloodlightConfiguration (Maybe Bool)

-- | Whether in-app attribution tracking is enabled.
fcInAppAttributionTrackingEnabled :: Lens' FloodlightConfiguration (Maybe Bool)

-- | List of third-party authentication tokens enabled for this
--   configuration.
fcThirdPartyAuthenticationTokens :: Lens' FloodlightConfiguration [ThirdPartyAuthenticationToken]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightConfiguration".
fcKind :: Lens' FloodlightConfiguration Text

-- | Advertiser ID of the parent advertiser of this floodlight
--   configuration.
fcAdvertiserId :: Lens' FloodlightConfiguration (Maybe Int64)

-- | Whether advertiser data is shared with Google Analytics.
fcAnalyticsDataSharingEnabled :: Lens' FloodlightConfiguration (Maybe Bool)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
fcAdvertiserIdDimensionValue :: Lens' FloodlightConfiguration (Maybe DimensionValue)

-- | Dimension value for the ID of this floodlight configuration. This is a
--   read-only, auto-generated field.
fcIdDimensionValue :: Lens' FloodlightConfiguration (Maybe DimensionValue)

-- | Lookback window settings for this floodlight configuration.
fcLookbackConfiguration :: Lens' FloodlightConfiguration (Maybe LookbackConfiguration)

-- | Account ID of this floodlight configuration. This is a read-only field
--   that can be left blank.
fcAccountId :: Lens' FloodlightConfiguration (Maybe Int64)

-- | ID of this floodlight configuration. This is a read-only,
--   auto-generated field.
fcId :: Lens' FloodlightConfiguration (Maybe Int64)

-- | Types of attribution options for natural search conversions.
fcNATuralSearchConversionAttributionOption :: Lens' FloodlightConfiguration (Maybe FloodlightConfigurationNATuralSearchConversionAttributionOption)

-- | List of user defined variables enabled for this configuration.
fcUserDefinedVariableConfigurations :: Lens' FloodlightConfiguration [UserDefinedVariableConfiguration]

-- | Subaccount ID of this floodlight configuration. This is a read-only
--   field that can be left blank.
fcSubAccountId :: Lens' FloodlightConfiguration (Maybe Int64)

-- | Day that will be counted as the first day of the week in reports. This
--   is a required field.
fcFirstDayOfWeek :: Lens' FloodlightConfiguration (Maybe FloodlightConfigurationFirstDayOfWeek)

-- | Settings for DCM Omniture integration.
fcOmnitureSettings :: Lens' FloodlightConfiguration (Maybe OmnitureSettings)

-- | List of standard variables enabled for this configuration. Acceptable
--   values are: - "ORD" - "NUM"
fcStandardVariableTypes :: Lens' FloodlightConfiguration [FloodlightConfigurationStandardVariableTypesItem]

-- | Companion Settings
--   
--   <i>See:</i> <a>companionSetting</a> smart constructor.
data CompanionSetting

-- | Creates a value of <a>CompanionSetting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>comKind</a></li>
--   <li><a>comImageOnly</a></li>
--   <li><a>comCompanionsDisabled</a></li>
--   <li><a>comEnabledSizes</a></li>
--   </ul>
companionSetting :: CompanionSetting

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#companionSetting".
comKind :: Lens' CompanionSetting Text

-- | Whether to serve only static images as companions.
comImageOnly :: Lens' CompanionSetting (Maybe Bool)

-- | Whether companions are disabled for this placement.
comCompanionsDisabled :: Lens' CompanionSetting (Maybe Bool)

-- | Whitelist of companion sizes to be served to this placement. Set this
--   list to null or empty to serve all companion sizes.
comEnabledSizes :: Lens' CompanionSetting [Size]
data ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   FRIDAY
--   </pre>
RSROWDIFriday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   MONDAY
--   </pre>
RSROWDIMonday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   SATURDAY
--   </pre>
RSROWDISaturday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   SUNDAY
--   </pre>
RSROWDISunday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   THURSDAY
--   </pre>
RSROWDIThursday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   TUESDAY
--   </pre>
RSROWDITuesday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   WEDNESDAY
--   </pre>
RSROWDIWednesday :: ReportScheduleRepeatsOnWeekDaysItem

-- | Floodlight Activity Group List Response
--   
--   <i>See:</i> <a>floodlightActivityGroupsListResponse</a> smart
--   constructor.
data FloodlightActivityGroupsListResponse

-- | Creates a value of <a>FloodlightActivityGroupsListResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>faglrNextPageToken</a></li>
--   <li><a>faglrKind</a></li>
--   <li><a>faglrFloodlightActivityGroups</a></li>
--   </ul>
floodlightActivityGroupsListResponse :: FloodlightActivityGroupsListResponse

-- | Pagination token to be used for the next list operation.
faglrNextPageToken :: Lens' FloodlightActivityGroupsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivityGroupsListResponse".
faglrKind :: Lens' FloodlightActivityGroupsListResponse Text

-- | Floodlight activity group collection.
faglrFloodlightActivityGroups :: Lens' FloodlightActivityGroupsListResponse [FloodlightActivityGroup]

-- | Creative group number of the creative group assignment.
data CreativeGroupAssignmentCreativeGroupNumber

-- | <pre>
--   CREATIVE_GROUP_ONE
--   </pre>
CreativeGroupOne :: CreativeGroupAssignmentCreativeGroupNumber

-- | <pre>
--   CREATIVE_GROUP_TWO
--   </pre>
CreativeGroupTwo :: CreativeGroupAssignmentCreativeGroupNumber

-- | A Conversion represents when a user successfully performs a desired
--   action after seeing an ad.
--   
--   <i>See:</i> <a>conversion</a> smart constructor.
data Conversion

-- | Creates a value of <a>Conversion</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>conoEncryptedUserIdCandidates</a></li>
--   <li><a>conoTimestampMicros</a></li>
--   <li><a>conoLimitAdTracking</a></li>
--   <li><a>conoEncryptedUserId</a></li>
--   <li><a>conoMobileDeviceId</a></li>
--   <li><a>conoFloodlightConfigurationId</a></li>
--   <li><a>conoKind</a></li>
--   <li><a>conoFloodlightActivityId</a></li>
--   <li><a>conoQuantity</a></li>
--   <li><a>conoValue</a></li>
--   <li><a>conoCustomVariables</a></li>
--   <li><a>conoChildDirectedTreatment</a></li>
--   <li><a>conoOrdinal</a></li>
--   </ul>
conversion :: Conversion

-- | A list of the alphanumeric encrypted user IDs. Any user ID with
--   exposure prior to the conversion timestamp will be used in the
--   inserted conversion. If no such user ID is found then the conversion
--   will be rejected with NO_COOKIE_MATCH_FOUND error. When set,
--   encryptionInfo should also be specified. This field should only be
--   used when calling conversions.batchinsert. This field is mutually
--   exclusive with encryptedUserId and mobileDeviceId. This or
--   encryptedUserId or mobileDeviceId is a required field.
conoEncryptedUserIdCandidates :: Lens' Conversion [Text]

-- | The timestamp of conversion, in Unix epoch micros. This is a required
--   field.
conoTimestampMicros :: Lens' Conversion (Maybe Int64)

-- | Whether Limit Ad Tracking is enabled. When set to true, the conversion
--   will be used for reporting but not targeting. This will prevent
--   remarketing.
conoLimitAdTracking :: Lens' Conversion (Maybe Bool)

-- | The alphanumeric encrypted user ID. When set, encryptionInfo should
--   also be specified. This field is mutually exclusive with
--   encryptedUserIdCandidates[] and mobileDeviceId. This or
--   encryptedUserIdCandidates[] or mobileDeviceId is a required field.
conoEncryptedUserId :: Lens' Conversion (Maybe Text)

-- | The mobile device ID. This field is mutually exclusive with
--   encryptedUserId and encryptedUserIdCandidates[]. This or
--   encryptedUserId or encryptedUserIdCandidates[] is a required field.
conoMobileDeviceId :: Lens' Conversion (Maybe Text)

-- | Floodlight Configuration ID of this conversion. This is a required
--   field.
conoFloodlightConfigurationId :: Lens' Conversion (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversion".
conoKind :: Lens' Conversion Text

-- | Floodlight Activity ID of this conversion. This is a required field.
conoFloodlightActivityId :: Lens' Conversion (Maybe Int64)

-- | The quantity of the conversion.
conoQuantity :: Lens' Conversion (Maybe Int64)

-- | The value of the conversion.
conoValue :: Lens' Conversion (Maybe Double)

-- | Custom floodlight variables.
conoCustomVariables :: Lens' Conversion [CustomFloodlightVariable]

-- | Whether the conversion was directed toward children.
conoChildDirectedTreatment :: Lens' Conversion (Maybe Bool)

-- | The ordinal of the conversion. Use this field to control how
--   conversions of the same user and day are de-duplicated. This is a
--   required field.
conoOrdinal :: Lens' Conversion (Maybe Text)

-- | Creative Field Value List Response
--   
--   <i>See:</i> <a>creativeFieldValuesListResponse</a> smart constructor.
data CreativeFieldValuesListResponse

-- | Creates a value of <a>CreativeFieldValuesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfvlrNextPageToken</a></li>
--   <li><a>cfvlrKind</a></li>
--   <li><a>cfvlrCreativeFieldValues</a></li>
--   </ul>
creativeFieldValuesListResponse :: CreativeFieldValuesListResponse

-- | Pagination token to be used for the next list operation.
cfvlrNextPageToken :: Lens' CreativeFieldValuesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeFieldValuesListResponse".
cfvlrKind :: Lens' CreativeFieldValuesListResponse Text

-- | Creative field value collection.
cfvlrCreativeFieldValues :: Lens' CreativeFieldValuesListResponse [CreativeFieldValue]

-- | Default VPAID adapter setting for new placements created under this
--   site. This value will be used to populate the
--   placements.vpaidAdapterChoice field, when no value is specified for
--   the new placement. Controls which VPAID format the measurement adapter
--   will use for in-stream video creatives assigned to the placement. The
--   publisher's specifications will typically determine this setting. For
--   VPAID creatives, the adapter format will match the VPAID format (HTML5
--   VPAID creatives use the HTML5 adapter, and Flash VPAID creatives use
--   the Flash adapter).
data SiteSettingsVpaidAdapterChoiceTemplate

-- | <pre>
--   BOTH
--   </pre>
SSVACTBoth :: SiteSettingsVpaidAdapterChoiceTemplate

-- | <pre>
--   DEFAULT
--   </pre>
SSVACTDefault :: SiteSettingsVpaidAdapterChoiceTemplate

-- | <pre>
--   FLASH
--   </pre>
SSVACTFlash :: SiteSettingsVpaidAdapterChoiceTemplate

-- | <pre>
--   HTML5
--   </pre>
SSVACTHTML5 :: SiteSettingsVpaidAdapterChoiceTemplate

-- | Field by which to sort the list.
data AccountsListSortField

-- | <pre>
--   ID
--   </pre>
AID :: AccountsListSortField

-- | <pre>
--   NAME
--   </pre>
AName :: AccountsListSortField

-- | Rich Media Exit Override.
--   
--   <i>See:</i> <a>richMediaExitOverride</a> smart constructor.
data RichMediaExitOverride

-- | Creates a value of <a>RichMediaExitOverride</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rmeoEnabled</a></li>
--   <li><a>rmeoClickThroughURL</a></li>
--   <li><a>rmeoExitId</a></li>
--   </ul>
richMediaExitOverride :: RichMediaExitOverride

-- | Whether to use the clickThroughUrl. If false, the creative-level exit
--   will be used.
rmeoEnabled :: Lens' RichMediaExitOverride (Maybe Bool)

-- | Click-through URL of this rich media exit override. Applicable if the
--   enabled field is set to true.
rmeoClickThroughURL :: Lens' RichMediaExitOverride (Maybe ClickThroughURL)

-- | ID for the override to refer to a specific exit in the creative.
rmeoExitId :: Lens' RichMediaExitOverride (Maybe Int64)

-- | Select only advertisers with the specified status.
data AdvertisersListStatus

-- | <pre>
--   APPROVED
--   </pre>
Approved :: AdvertisersListStatus

-- | <pre>
--   ON_HOLD
--   </pre>
OnHold :: AdvertisersListStatus

-- | Determines how the 'value' field is matched when filtering. If not
--   specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is
--   allowed as a placeholder for variable length character sequences, and
--   it can be escaped with a backslash. Note, only paid search dimensions
--   ('dfa:paidSearch*') allow a matchType other than EXACT.
data DimensionValueMatchType

-- | <pre>
--   BEGINS_WITH
--   </pre>
BeginsWith :: DimensionValueMatchType

-- | <pre>
--   CONTAINS
--   </pre>
Contains :: DimensionValueMatchType

-- | <pre>
--   EXACT
--   </pre>
Exact :: DimensionValueMatchType

-- | <pre>
--   WILDCARD_EXPRESSION
--   </pre>
WildcardExpression :: DimensionValueMatchType

-- | Represents a sorted dimension.
--   
--   <i>See:</i> <a>sortedDimension</a> smart constructor.
data SortedDimension

-- | Creates a value of <a>SortedDimension</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdKind</a></li>
--   <li><a>sdSortOrder</a></li>
--   <li><a>sdName</a></li>
--   </ul>
sortedDimension :: SortedDimension

-- | The kind of resource this is, in this case
--   dfareporting#sortedDimension.
sdKind :: Lens' SortedDimension Text

-- | An optional sort order for the dimension column.
sdSortOrder :: Lens' SortedDimension (Maybe SortedDimensionSortOrder)

-- | The name of the dimension.
sdName :: Lens' SortedDimension (Maybe Text)

-- | Order of sorted results, default is ASCENDING.
data PlacementGroupsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
PGLSOAscending :: PlacementGroupsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
PGLSODescending :: PlacementGroupsListSortOrder

-- | Creative Field List Response
--   
--   <i>See:</i> <a>creativeFieldsListResponse</a> smart constructor.
data CreativeFieldsListResponse

-- | Creates a value of <a>CreativeFieldsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cflrNextPageToken</a></li>
--   <li><a>cflrKind</a></li>
--   <li><a>cflrCreativeFields</a></li>
--   </ul>
creativeFieldsListResponse :: CreativeFieldsListResponse

-- | Pagination token to be used for the next list operation.
cflrNextPageToken :: Lens' CreativeFieldsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeFieldsListResponse".
cflrKind :: Lens' CreativeFieldsListResponse Text

-- | Creative field collection.
cflrCreativeFields :: Lens' CreativeFieldsListResponse [CreativeField]

-- | Targeting Template List Response
--   
--   <i>See:</i> <a>targetingTemplatesListResponse</a> smart constructor.
data TargetingTemplatesListResponse

-- | Creates a value of <a>TargetingTemplatesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttlrNextPageToken</a></li>
--   <li><a>ttlrKind</a></li>
--   <li><a>ttlrTargetingTemplates</a></li>
--   </ul>
targetingTemplatesListResponse :: TargetingTemplatesListResponse

-- | Pagination token to be used for the next list operation.
ttlrNextPageToken :: Lens' TargetingTemplatesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#targetingTemplatesListResponse".
ttlrKind :: Lens' TargetingTemplatesListResponse Text

-- | Targeting template collection.
ttlrTargetingTemplates :: Lens' TargetingTemplatesListResponse [TargetingTemplate]

-- | Placement GenerateTags Response
--   
--   <i>See:</i> <a>placementsGenerateTagsResponse</a> smart constructor.
data PlacementsGenerateTagsResponse

-- | Creates a value of <a>PlacementsGenerateTagsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pgtrKind</a></li>
--   <li><a>pgtrPlacementTags</a></li>
--   </ul>
placementsGenerateTagsResponse :: PlacementsGenerateTagsResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementsGenerateTagsResponse".
pgtrKind :: Lens' PlacementsGenerateTagsResponse Text

-- | Set of generated tags for the specified placements.
pgtrPlacementTags :: Lens' PlacementsGenerateTagsResponse [PlacementTag]

-- | Creative Asset.
--   
--   <i>See:</i> <a>creativeAsset</a> smart constructor.
data CreativeAsset

-- | Creates a value of <a>CreativeAsset</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caaZIndex</a></li>
--   <li><a>caaPushdown</a></li>
--   <li><a>caaVideoDuration</a></li>
--   <li><a>caaOriginalBackup</a></li>
--   <li><a>caaWindowMode</a></li>
--   <li><a>caaFlashVersion</a></li>
--   <li><a>caaPushdownDuration</a></li>
--   <li><a>caaSize</a></li>
--   <li><a>caaVerticallyLocked</a></li>
--   <li><a>caaOffSet</a></li>
--   <li><a>caaStreamingServingURL</a></li>
--   <li><a>caaZipFilesize</a></li>
--   <li><a>caaTransparency</a></li>
--   <li><a>caaHideSelectionBoxes</a></li>
--   <li><a>caaSSLCompliant</a></li>
--   <li><a>caaFileSize</a></li>
--   <li><a>caaAssetIdentifier</a></li>
--   <li><a>caaCompanionCreativeIds</a></li>
--   <li><a>caaDurationType</a></li>
--   <li><a>caaProgressiveServingURL</a></li>
--   <li><a>caaIdDimensionValue</a></li>
--   <li><a>caaActive</a></li>
--   <li><a>caaRole</a></li>
--   <li><a>caaMimeType</a></li>
--   <li><a>caaPositionTopUnit</a></li>
--   <li><a>caaPositionLeftUnit</a></li>
--   <li><a>caaAlignment</a></li>
--   <li><a>caaExpandedDimension</a></li>
--   <li><a>caaZipFilename</a></li>
--   <li><a>caaActionScript3</a></li>
--   <li><a>caaDisplayType</a></li>
--   <li><a>caaChildAssetType</a></li>
--   <li><a>caaCollapsedSize</a></li>
--   <li><a>caaId</a></li>
--   <li><a>caaBitRate</a></li>
--   <li><a>caaCustomStartTimeValue</a></li>
--   <li><a>caaStartTimeType</a></li>
--   <li><a>caaDuration</a></li>
--   <li><a>caaArtworkType</a></li>
--   <li><a>caaHideFlashObjects</a></li>
--   <li><a>caaDetectedFeatures</a></li>
--   <li><a>caaBackupImageExit</a></li>
--   <li><a>caaPosition</a></li>
--   <li><a>caaHorizontallyLocked</a></li>
--   </ul>
creativeAsset :: CreativeAsset

-- | zIndex value of an asset. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA.Additionally, only applicable
--   to assets whose displayType is NOT one of the following types:
--   ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
caaZIndex :: Lens' CreativeAsset (Maybe Int32)

-- | Whether the asset pushes down other content. Applicable to the
--   following creative types: all RICH_MEDIA. Additionally, only
--   applicable when the asset offsets are 0, the collapsedSize.width
--   matches size.width, and the collapsedSize.height is less than
--   size.height.
caaPushdown :: Lens' CreativeAsset (Maybe Bool)

-- | Detected video duration for video asset. This is a read-only field.
--   Applicable to the following creative types: INSTREAM_VIDEO and all
--   VPAID.
caaVideoDuration :: Lens' CreativeAsset (Maybe Double)

-- | Whether the backup asset is original or changed by the user in DCM.
--   Applicable to the following creative types: all RICH_MEDIA.
caaOriginalBackup :: Lens' CreativeAsset (Maybe Bool)

-- | Window mode options for flash assets. Applicable to the following
--   creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
--   RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
--   RICH_MEDIA_INPAGE_FLOATING.
caaWindowMode :: Lens' CreativeAsset (Maybe CreativeAssetWindowMode)

-- | Flash version of the asset. This is a read-only field. Applicable to
--   the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all
--   VPAID. Applicable to DISPLAY when the primary asset type is not
--   HTML_IMAGE.
caaFlashVersion :: Lens' CreativeAsset (Maybe Int32)

-- | Pushdown duration in seconds for an asset. Must be between 0 and 9.99.
--   Applicable to the following creative types: all
--   RICH_MEDIA.Additionally, only applicable when the asset pushdown field
--   is true, the offsets are 0, the collapsedSize.width matches
--   size.width, and the collapsedSize.height is less than size.height.
caaPushdownDuration :: Lens' CreativeAsset (Maybe Double)

-- | Size associated with this creative asset. This is a required field
--   when applicable; however for IMAGE and FLASH_INPAGE, creatives if left
--   blank, this field will be automatically set using the actual size of
--   the associated image asset. Applicable to the following creative
--   types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and
--   all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is
--   not HTML_IMAGE.
caaSize :: Lens' CreativeAsset (Maybe Size)

-- | Whether the asset is vertically locked. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA.
caaVerticallyLocked :: Lens' CreativeAsset (Maybe Bool)

-- | Offset position for an asset in collapsed mode. This is a read-only
--   field. Applicable to the following creative types: all RICH_MEDIA and
--   all VPAID. Additionally, only applicable to assets whose displayType
--   is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
caaOffSet :: Lens' CreativeAsset (Maybe OffSetPosition)

-- | Streaming URL for video asset. This is a read-only field. Applicable
--   to the following creative types: INSTREAM_VIDEO and all VPAID.
caaStreamingServingURL :: Lens' CreativeAsset (Maybe Text)

-- | Size of zip file. This is a read-only field. Applicable to the
--   following creative types: HTML5_BANNER.
caaZipFilesize :: Lens' CreativeAsset (Maybe Text)

-- | Whether the asset is transparent. Applicable to the following creative
--   types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
caaTransparency :: Lens' CreativeAsset (Maybe Bool)

-- | Whether to hide selection boxes flag for an asset. Applicable to the
--   following creative types: all RICH_MEDIA.
caaHideSelectionBoxes :: Lens' CreativeAsset (Maybe Bool)

-- | Whether the asset is SSL-compliant. This is a read-only field.
--   Applicable to all but the following creative types: all REDIRECT and
--   TRACKING_TEXT.
caaSSLCompliant :: Lens' CreativeAsset (Maybe Bool)

-- | File size associated with this creative asset. This is a read-only
--   field. Applicable to all but the following creative types: all
--   REDIRECT and TRACKING_TEXT.
caaFileSize :: Lens' CreativeAsset (Maybe Int64)

-- | Identifier of this asset. This is the same identifier returned during
--   creative asset insert operation. This is a required field. Applicable
--   to all but the following creative types: all REDIRECT and
--   TRACKING_TEXT.
caaAssetIdentifier :: Lens' CreativeAsset (Maybe CreativeAssetId)

-- | List of companion creatives assigned to an in-stream video creative
--   asset. Acceptable values include IDs of existing flash and image
--   creatives. Applicable to INSTREAM_VIDEO creative type with
--   dynamicAssetSelection set to true.
caaCompanionCreativeIds :: Lens' CreativeAsset [Int64]

-- | Duration type for which an asset will be displayed. Applicable to the
--   following creative types: all RICH_MEDIA.
caaDurationType :: Lens' CreativeAsset (Maybe CreativeAssetDurationType)

-- | Progressive URL for video asset. This is a read-only field. Applicable
--   to the following creative types: INSTREAM_VIDEO and all VPAID.
caaProgressiveServingURL :: Lens' CreativeAsset (Maybe Text)

-- | Dimension value for the ID of the asset. This is a read-only,
--   auto-generated field.
caaIdDimensionValue :: Lens' CreativeAsset (Maybe DimensionValue)

-- | Whether the video asset is active. This is a read-only field for
--   VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative
--   types: INSTREAM_VIDEO and all VPAID.
caaActive :: Lens' CreativeAsset (Maybe Bool)

-- | Role of the asset in relation to creative. Applicable to all but the
--   following creative types: all REDIRECT and TRACKING_TEXT. This is a
--   required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
--   HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
--   contain multiple primary assets), and all VPAID creatives.
--   BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
--   and all VPAID creatives. Applicable to DISPLAY when the primary asset
--   type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to
--   FLASH_INPAGE creatives. OTHER refers to assets from sources other than
--   DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and
--   all VPAID creatives. PARENT_VIDEO refers to videos uploaded by the
--   user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
--   creatives. TRANSCODED_VIDEO refers to videos transcoded by DCM from
--   PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
--   VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the DCM
--   representation of child asset videos from Studio, and is applicable to
--   VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
--   DCM. For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO
--   and ALTERNATE_VIDEO assets that are marked active serve as backup in
--   case the VPAID creative cannot be served. Only PARENT_VIDEO assets can
--   be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
--   creative.
caaRole :: Lens' CreativeAsset (Maybe CreativeAssetRole)

-- | Detected MIME type for video asset. This is a read-only field.
--   Applicable to the following creative types: INSTREAM_VIDEO and all
--   VPAID.
caaMimeType :: Lens' CreativeAsset (Maybe Text)

-- | Offset top unit for an asset. This is a read-only field if the asset
--   displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following
--   creative types: all RICH_MEDIA.
caaPositionTopUnit :: Lens' CreativeAsset (Maybe CreativeAssetPositionTopUnit)

-- | Offset left unit for an asset. This is a read-only field. Applicable
--   to the following creative types: all RICH_MEDIA.
caaPositionLeftUnit :: Lens' CreativeAsset (Maybe CreativeAssetPositionLeftUnit)

-- | Possible alignments for an asset. This is a read-only field.
--   Applicable to the following creative types:
--   RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
caaAlignment :: Lens' CreativeAsset (Maybe CreativeAssetAlignment)

-- | Detected expanded dimension for video asset. This is a read-only
--   field. Applicable to the following creative types: INSTREAM_VIDEO and
--   all VPAID.
caaExpandedDimension :: Lens' CreativeAsset (Maybe Size)

-- | File name of zip file. This is a read-only field. Applicable to the
--   following creative types: HTML5_BANNER.
caaZipFilename :: Lens' CreativeAsset (Maybe Text)

-- | Whether ActionScript3 is enabled for the flash asset. This is a
--   read-only field. Applicable to the following creative type:
--   FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not
--   HTML_IMAGE.
caaActionScript3 :: Lens' CreativeAsset (Maybe Bool)

-- | Type of rich media asset. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA.
caaDisplayType :: Lens' CreativeAsset (Maybe CreativeAssetDisplayType)

-- | Rich media child asset type. This is a read-only field. Applicable to
--   the following creative types: all VPAID.
caaChildAssetType :: Lens' CreativeAsset (Maybe CreativeAssetChildAssetType)

-- | Size of an asset when collapsed. This is a read-only field. Applicable
--   to the following creative types: all RICH_MEDIA and all VPAID.
--   Additionally, applicable to assets whose displayType is
--   ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
caaCollapsedSize :: Lens' CreativeAsset (Maybe Size)

-- | Numeric ID of this creative asset. This is a required field and should
--   not be modified. Applicable to all but the following creative types:
--   all REDIRECT and TRACKING_TEXT.
caaId :: Lens' CreativeAsset (Maybe Int64)

-- | Detected bit-rate for video asset. This is a read-only field.
--   Applicable to the following creative types: INSTREAM_VIDEO and all
--   VPAID.
caaBitRate :: Lens' CreativeAsset (Maybe Int32)

-- | Custom start time in seconds for making the asset visible. Applicable
--   to the following creative types: all RICH_MEDIA.
caaCustomStartTimeValue :: Lens' CreativeAsset (Maybe Int32)

-- | Initial wait time type before making the asset visible. Applicable to
--   the following creative types: all RICH_MEDIA.
caaStartTimeType :: Lens' CreativeAsset (Maybe CreativeAssetStartTimeType)

-- | Duration in seconds for which an asset will be displayed. Applicable
--   to the following creative types: INSTREAM_VIDEO and
--   VPAID_LINEAR_VIDEO.
caaDuration :: Lens' CreativeAsset (Maybe Int32)

-- | Artwork type of rich media creative. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA.
caaArtworkType :: Lens' CreativeAsset (Maybe CreativeAssetArtworkType)

-- | Whether to hide Flash objects flag for an asset. Applicable to the
--   following creative types: all RICH_MEDIA.
caaHideFlashObjects :: Lens' CreativeAsset (Maybe Bool)

-- | List of feature dependencies for the creative asset that are detected
--   by DCM. Feature dependencies are features that a browser must be able
--   to support in order to render your HTML5 creative correctly. This is a
--   read-only, auto-generated field. Applicable to the following creative
--   types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type
--   is not HTML_IMAGE.
caaDetectedFeatures :: Lens' CreativeAsset [CreativeAssetDetectedFeaturesItem]

-- | Exit event configured for the backup image. Applicable to the
--   following creative types: all RICH_MEDIA.
caaBackupImageExit :: Lens' CreativeAsset (Maybe CreativeCustomEvent)

-- | Offset position for an asset. Applicable to the following creative
--   types: all RICH_MEDIA.
caaPosition :: Lens' CreativeAsset (Maybe OffSetPosition)

-- | Whether the asset is horizontally locked. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA.
caaHorizontallyLocked :: Lens' CreativeAsset (Maybe Bool)

-- | Compatibility of this ad. Applicable when type is
--   AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   either rendering on desktop or on mobile devices or in mobile apps for
--   regular or interstitial ads, respectively. APP and APP_INTERSTITIAL
--   are only used for existing default ads. New mobile placements must be
--   assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for
--   those placements will be limited to those compatibility types.
--   IN_STREAM_VIDEO refers to rendering in-stream video ads developed with
--   the VAST standard.
data AdCompatibility

-- | <pre>
--   APP
--   </pre>
ACApp :: AdCompatibility

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
ACAppInterstitial :: AdCompatibility

-- | <pre>
--   DISPLAY
--   </pre>
ACDisplay :: AdCompatibility

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
ACDisplayInterstitial :: AdCompatibility

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
ACInStreamVideo :: AdCompatibility

-- | Field by which to sort the list.
data CreativeFieldValuesListSortField

-- | <pre>
--   ID
--   </pre>
CFVLSFID :: CreativeFieldValuesListSortField

-- | <pre>
--   VALUE
--   </pre>
CFVLSFValue :: CreativeFieldValuesListSortField

-- | Language Targeting.
--   
--   <i>See:</i> <a>languageTargeting</a> smart constructor.
data LanguageTargeting

-- | Creates a value of <a>LanguageTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltLanguages</a></li>
--   </ul>
languageTargeting :: LanguageTargeting

-- | Languages that this ad targets. For each language only languageId is
--   required. The other fields are populated automatically when the ad is
--   inserted or updated.
ltLanguages :: Lens' LanguageTargeting [Language]

-- | Encapsulates the list of rules for asset selection and a default asset
--   in case none of the rules match. Applicable to INSTREAM_VIDEO
--   creatives.
--   
--   <i>See:</i> <a>creativeAssetSelection</a> smart constructor.
data CreativeAssetSelection

-- | Creates a value of <a>CreativeAssetSelection</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>casRules</a></li>
--   <li><a>casDefaultAssetId</a></li>
--   </ul>
creativeAssetSelection :: CreativeAssetSelection

-- | Rules determine which asset will be served to a viewer. Rules will be
--   evaluated in the order in which they are stored in this list. This
--   list must contain at least one rule. Applicable to INSTREAM_VIDEO
--   creatives.
casRules :: Lens' CreativeAssetSelection [Rule]

-- | A creativeAssets[].id. This should refer to one of the parent assets
--   in this creative, and will be served if none of the rules match. This
--   is a required field.
casDefaultAssetId :: Lens' CreativeAssetSelection (Maybe Int64)

-- | Placement List Response
--   
--   <i>See:</i> <a>placementsListResponse</a> smart constructor.
data PlacementsListResponse

-- | Creates a value of <a>PlacementsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plaNextPageToken</a></li>
--   <li><a>plaKind</a></li>
--   <li><a>plaPlacements</a></li>
--   </ul>
placementsListResponse :: PlacementsListResponse

-- | Pagination token to be used for the next list operation.
plaNextPageToken :: Lens' PlacementsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementsListResponse".
plaKind :: Lens' PlacementsListResponse Text

-- | Placement collection.
plaPlacements :: Lens' PlacementsListResponse [Placement]

-- | Field by which to sort the list.
data FloodlightActivityGroupsListSortField

-- | <pre>
--   ID
--   </pre>
FAGLSFID :: FloodlightActivityGroupsListSortField

-- | <pre>
--   NAME
--   </pre>
FAGLSFName :: FloodlightActivityGroupsListSortField

-- | Order of sorted results, default is ASCENDING.
data OrdersListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
OLSOAscending :: OrdersListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
OLSODescending :: OrdersListSortOrder

-- | The report's schedule. Can only be set if the report's 'dateRange' is
--   a relative date range and the relative date range is not "TODAY".
--   
--   <i>See:</i> <a>reportSchedule</a> smart constructor.
data ReportSchedule

-- | Creates a value of <a>ReportSchedule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsEvery</a></li>
--   <li><a>rsActive</a></li>
--   <li><a>rsRepeats</a></li>
--   <li><a>rsStartDate</a></li>
--   <li><a>rsExpirationDate</a></li>
--   <li><a>rsRunsOnDayOfMonth</a></li>
--   <li><a>rsRepeatsOnWeekDays</a></li>
--   </ul>
reportSchedule :: ReportSchedule

-- | Defines every how many days, weeks or months the report should be run.
--   Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
--   "MONTHLY".
rsEvery :: Lens' ReportSchedule (Maybe Int32)

-- | Whether the schedule is active or not. Must be set to either true or
--   false.
rsActive :: Lens' ReportSchedule (Maybe Bool)

-- | The interval for which the report is repeated. Note: - "DAILY" also
--   requires field "every" to be set. - "WEEKLY" also requires fields
--   "every" and "repeatsOnWeekDays" to be set. - "MONTHLY" also requires
--   fields "every" and "runsOnDayOfMonth" to be set.
rsRepeats :: Lens' ReportSchedule (Maybe Text)

-- | Start date of date range for which scheduled reports should be run.
rsStartDate :: Lens' ReportSchedule (Maybe Day)

-- | The expiration date when the scheduled report stops running.
rsExpirationDate :: Lens' ReportSchedule (Maybe Day)

-- | Enum to define for "MONTHLY" scheduled reports whether reports should
--   be repeated on the same day of the month as "startDate" or the same
--   day of the week of the month. Example: If 'startDate' is Monday, April
--   2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on
--   the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent
--   reports on the first Monday of the month.
rsRunsOnDayOfMonth :: Lens' ReportSchedule (Maybe ReportScheduleRunsOnDayOfMonth)

-- | List of week days "WEEKLY" on which scheduled reports should run.
rsRepeatsOnWeekDays :: Lens' ReportSchedule [ReportScheduleRepeatsOnWeekDaysItem]

-- | The report criteria for a report of type "PATH_TO_CONVERSION".
--   
--   <i>See:</i> <a>reportPathToConversionCriteria</a> smart constructor.
data ReportPathToConversionCriteria

-- | Creates a value of <a>ReportPathToConversionCriteria</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rptccReportProperties</a></li>
--   <li><a>rptccMetricNames</a></li>
--   <li><a>rptccCustomRichMediaEvents</a></li>
--   <li><a>rptccDateRange</a></li>
--   <li><a>rptccConversionDimensions</a></li>
--   <li><a>rptccCustomFloodlightVariables</a></li>
--   <li><a>rptccFloodlightConfigId</a></li>
--   <li><a>rptccActivityFilters</a></li>
--   <li><a>rptccPerInteractionDimensions</a></li>
--   </ul>
reportPathToConversionCriteria :: ReportPathToConversionCriteria

-- | The properties of the report.
rptccReportProperties :: Lens' ReportPathToConversionCriteria (Maybe ReportPathToConversionCriteriaReportProperties)

-- | The list of names of metrics the report should include.
rptccMetricNames :: Lens' ReportPathToConversionCriteria [Text]

-- | The list of custom rich media events to include.
rptccCustomRichMediaEvents :: Lens' ReportPathToConversionCriteria [DimensionValue]

-- | The date range this report should be run for.
rptccDateRange :: Lens' ReportPathToConversionCriteria (Maybe DateRange)

-- | The list of conversion dimensions the report should include.
rptccConversionDimensions :: Lens' ReportPathToConversionCriteria [SortedDimension]

-- | The list of custom floodlight variables the report should include.
rptccCustomFloodlightVariables :: Lens' ReportPathToConversionCriteria [SortedDimension]

-- | The floodlight ID for which to show data in this report. All
--   advertisers associated with that ID will automatically be added. The
--   dimension of the value needs to be 'dfa:floodlightConfigId'.
rptccFloodlightConfigId :: Lens' ReportPathToConversionCriteria (Maybe DimensionValue)

-- | The list of 'dfa:activity' values to filter on.
rptccActivityFilters :: Lens' ReportPathToConversionCriteria [DimensionValue]

-- | The list of per interaction dimensions the report should include.
rptccPerInteractionDimensions :: Lens' ReportPathToConversionCriteria [SortedDimension]

-- | Metro List Response
--   
--   <i>See:</i> <a>metrosListResponse</a> smart constructor.
data MetrosListResponse

-- | Creates a value of <a>MetrosListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mlrKind</a></li>
--   <li><a>mlrMetros</a></li>
--   </ul>
metrosListResponse :: MetrosListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#metrosListResponse".
mlrKind :: Lens' MetrosListResponse Text

-- | Metro collection.
mlrMetros :: Lens' MetrosListResponse [Metro]

-- | Profile for this account. This is a read-only field that can be left
--   blank.
data AccountAccountProFile

-- | <pre>
--   ACCOUNT_PROFILE_BASIC
--   </pre>
AccountProFileBasic :: AccountAccountProFile

-- | <pre>
--   ACCOUNT_PROFILE_STANDARD
--   </pre>
AccountProFileStandard :: AccountAccountProFile

-- | Insert Conversions Response.
--   
--   <i>See:</i> <a>conversionsBatchInsertResponse</a> smart constructor.
data ConversionsBatchInsertResponse

-- | Creates a value of <a>ConversionsBatchInsertResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbirbStatus</a></li>
--   <li><a>cbirbKind</a></li>
--   <li><a>cbirbHasFailures</a></li>
--   </ul>
conversionsBatchInsertResponse :: ConversionsBatchInsertResponse

-- | The status of each conversion's insertion status. The status is
--   returned in the same order that conversions are inserted.
cbirbStatus :: Lens' ConversionsBatchInsertResponse [ConversionStatus]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversionsBatchInsertResponse".
cbirbKind :: Lens' ConversionsBatchInsertResponse Text

-- | Indicates that some or all conversions failed to insert.
cbirbHasFailures :: Lens' ConversionsBatchInsertResponse (Maybe Bool)

-- | Order document List Response
--   
--   <i>See:</i> <a>orderDocumentsListResponse</a> smart constructor.
data OrderDocumentsListResponse

-- | Creates a value of <a>OrderDocumentsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>odlrNextPageToken</a></li>
--   <li><a>odlrKind</a></li>
--   <li><a>odlrOrderDocuments</a></li>
--   </ul>
orderDocumentsListResponse :: OrderDocumentsListResponse

-- | Pagination token to be used for the next list operation.
odlrNextPageToken :: Lens' OrderDocumentsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#orderDocumentsListResponse".
odlrKind :: Lens' OrderDocumentsListResponse Text

-- | Order document collection
odlrOrderDocuments :: Lens' OrderDocumentsListResponse [OrderDocument]

-- | Represents a recipient.
--   
--   <i>See:</i> <a>recipient</a> smart constructor.
data Recipient

-- | Creates a value of <a>Recipient</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>recEmail</a></li>
--   <li><a>recKind</a></li>
--   <li><a>recDeliveryType</a></li>
--   </ul>
recipient :: Recipient

-- | The email address of the recipient.
recEmail :: Lens' Recipient (Maybe Text)

-- | The kind of resource this is, in this case dfareporting#recipient.
recKind :: Lens' Recipient Text

-- | The delivery type for the recipient.
recDeliveryType :: Lens' Recipient (Maybe RecipientDeliveryType)

-- | Type of this creative. This is a required field. Applicable to all
--   creative types. Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only
--   used for existing creatives. New creatives should use DISPLAY as a
--   replacement for these types.
data CreativeType

-- | <pre>
--   BRAND_SAFE_DEFAULT_INSTREAM_VIDEO
--   </pre>
CTBrandSafeDefaultInstreamVideo :: CreativeType

-- | <pre>
--   CUSTOM_DISPLAY
--   </pre>
CTCustomDisplay :: CreativeType

-- | <pre>
--   CUSTOM_DISPLAY_INTERSTITIAL
--   </pre>
CTCustomDisplayInterstitial :: CreativeType

-- | <pre>
--   DISPLAY
--   </pre>
CTDisplay :: CreativeType

-- | <pre>
--   DISPLAY_IMAGE_GALLERY
--   </pre>
CTDisplayImageGallery :: CreativeType

-- | <pre>
--   DISPLAY_REDIRECT
--   </pre>
CTDisplayRedirect :: CreativeType

-- | <pre>
--   FLASH_INPAGE
--   </pre>
CTFlashInpage :: CreativeType

-- | <pre>
--   HTML5_BANNER
--   </pre>
CTHTML5Banner :: CreativeType

-- | <pre>
--   IMAGE
--   </pre>
CTImage :: CreativeType

-- | <pre>
--   INSTREAM_VIDEO
--   </pre>
CTInstreamVideo :: CreativeType

-- | <pre>
--   INSTREAM_VIDEO_REDIRECT
--   </pre>
CTInstreamVideoRedirect :: CreativeType

-- | <pre>
--   INTERNAL_REDIRECT
--   </pre>
CTInternalRedirect :: CreativeType

-- | <pre>
--   INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
CTInterstitialInternalRedirect :: CreativeType

-- | <pre>
--   RICH_MEDIA_DISPLAY_BANNER
--   </pre>
CTRichMediaDisplayBanner :: CreativeType

-- | <pre>
--   RICH_MEDIA_DISPLAY_EXPANDING
--   </pre>
CTRichMediaDisplayExpanding :: CreativeType

-- | <pre>
--   RICH_MEDIA_DISPLAY_INTERSTITIAL
--   </pre>
CTRichMediaDisplayInterstitial :: CreativeType

-- | <pre>
--   RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL
--   </pre>
CTRichMediaDisplayMultiFloatingInterstitial :: CreativeType

-- | <pre>
--   RICH_MEDIA_IM_EXPAND
--   </pre>
CTRichMediaImExpand :: CreativeType

-- | <pre>
--   RICH_MEDIA_INPAGE_FLOATING
--   </pre>
CTRichMediaInpageFloating :: CreativeType

-- | <pre>
--   RICH_MEDIA_MOBILE_IN_APP
--   </pre>
CTRichMediaMobileInApp :: CreativeType

-- | <pre>
--   RICH_MEDIA_PEEL_DOWN
--   </pre>
CTRichMediaPeelDown :: CreativeType

-- | <pre>
--   TRACKING_TEXT
--   </pre>
CTTrackingText :: CreativeType

-- | <pre>
--   VPAID_LINEAR_VIDEO
--   </pre>
CTVpaidLinearVideo :: CreativeType

-- | <pre>
--   VPAID_NON_LINEAR_VIDEO
--   </pre>
CTVpaidNonLinearVideo :: CreativeType

-- | Order of sorted results, default is 'DESCENDING'.
data FilesListSortOrder

-- | <tt>ASCENDING</tt> Ascending order.
FLSOAscending :: FilesListSortOrder

-- | <tt>DESCENDING</tt> Descending order.
FLSODescending :: FilesListSortOrder

-- | Field by which to sort the list.
data AdvertiserGroupsListSortField

-- | <pre>
--   ID
--   </pre>
AGLSFID :: AdvertiserGroupsListSortField

-- | <pre>
--   NAME
--   </pre>
AGLSFName :: AdvertiserGroupsListSortField

-- | Type of browser window for which the backup image of the flash
--   creative can be displayed.
data TargetWindowTargetWindowOption

-- | <pre>
--   CURRENT_WINDOW
--   </pre>
CurrentWindow :: TargetWindowTargetWindowOption

-- | <pre>
--   CUSTOM
--   </pre>
Custom :: TargetWindowTargetWindowOption

-- | <pre>
--   NEW_WINDOW
--   </pre>
NewWindow :: TargetWindowTargetWindowOption

-- | Field by which to sort the list.
data DirectorySiteContactsListSortField

-- | <pre>
--   ID
--   </pre>
DSCLSFID :: DirectorySiteContactsListSortField

-- | <pre>
--   NAME
--   </pre>
DSCLSFName :: DirectorySiteContactsListSortField

-- | Select only placements with these pricing types.
data PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPA
--   </pre>
PLPTPricingTypeCpa :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPC
--   </pre>
PLPTPricingTypeCpc :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPM
--   </pre>
PLPTPricingTypeCpm :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPM_ACTIVEVIEW
--   </pre>
PLPTPricingTypeCpmActiveview :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_CLICKS
--   </pre>
PLPTPricingTypeFlatRateClicks :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_IMPRESSIONS
--   </pre>
PLPTPricingTypeFlatRateImpressions :: PlacementsListPricingTypes

-- | Order of sorted results, default is ASCENDING.
data EventTagsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
ETLSOAscending :: EventTagsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ETLSODescending :: EventTagsListSortOrder

-- | Describes whether the encrypted cookie was received from ad serving
--   (the %m macro) or from Data Transfer.
data EncryptionInfoEncryptionSource

-- | <pre>
--   AD_SERVING
--   </pre>
AdServing :: EncryptionInfoEncryptionSource

-- | <pre>
--   DATA_TRANSFER
--   </pre>
DataTransfer :: EncryptionInfoEncryptionSource

-- | <pre>
--   ENCRYPTION_SCOPE_UNKNOWN
--   </pre>
EncryptionScopeUnknown :: EncryptionInfoEncryptionSource

-- | Field by which to sort the list.
data DirectorySitesListSortField

-- | <pre>
--   ID
--   </pre>
DSLSFID :: DirectorySitesListSortField

-- | <pre>
--   NAME
--   </pre>
DSLSFName :: DirectorySitesListSortField

-- | Contains properties of a site.
--   
--   <i>See:</i> <a>site</a> smart constructor.
data Site

-- | Creates a value of <a>Site</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sitiKind</a></li>
--   <li><a>sitiKeyName</a></li>
--   <li><a>sitiSiteContacts</a></li>
--   <li><a>sitiSiteSettings</a></li>
--   <li><a>sitiIdDimensionValue</a></li>
--   <li><a>sitiDirectorySiteIdDimensionValue</a></li>
--   <li><a>sitiAccountId</a></li>
--   <li><a>sitiName</a></li>
--   <li><a>sitiDirectorySiteId</a></li>
--   <li><a>sitiId</a></li>
--   <li><a>sitiSubAccountId</a></li>
--   <li><a>sitiApproved</a></li>
--   </ul>
site :: Site

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#site".
sitiKind :: Lens' Site Text

-- | Key name of this site. This is a read-only, auto-generated field.
sitiKeyName :: Lens' Site (Maybe Text)

-- | Site contacts.
sitiSiteContacts :: Lens' Site [SiteContact]

-- | Site-wide settings.
sitiSiteSettings :: Lens' Site (Maybe SiteSettings)

-- | Dimension value for the ID of this site. This is a read-only,
--   auto-generated field.
sitiIdDimensionValue :: Lens' Site (Maybe DimensionValue)

-- | Dimension value for the ID of the directory site. This is a read-only,
--   auto-generated field.
sitiDirectorySiteIdDimensionValue :: Lens' Site (Maybe DimensionValue)

-- | Account ID of this site. This is a read-only field that can be left
--   blank.
sitiAccountId :: Lens' Site (Maybe Int64)

-- | Name of this site.This is a required field. Must be less than 128
--   characters long. If this site is under a subaccount, the name must be
--   unique among sites of the same subaccount. Otherwise, this site is a
--   top-level site, and the name must be unique among top-level sites of
--   the same account.
sitiName :: Lens' Site (Maybe Text)

-- | Directory site associated with this site. This is a required field
--   that is read-only after insertion.
sitiDirectorySiteId :: Lens' Site (Maybe Int64)

-- | ID of this site. This is a read-only, auto-generated field.
sitiId :: Lens' Site (Maybe Int64)

-- | Subaccount ID of this site. This is a read-only field that can be left
--   blank.
sitiSubAccountId :: Lens' Site (Maybe Int64)

-- | Whether this site is approved.
sitiApproved :: Lens' Site (Maybe Bool)

-- | The dimension option.
data ReportCrossDimensionReachCriteriaDimension

-- | <pre>
--   ADVERTISER
--   </pre>
RCDRCDAdvertiser :: ReportCrossDimensionReachCriteriaDimension

-- | <pre>
--   CAMPAIGN
--   </pre>
RCDRCDCampaign :: ReportCrossDimensionReachCriteriaDimension

-- | <pre>
--   SITE_BY_ADVERTISER
--   </pre>
RCDRCDSiteByAdvertiser :: ReportCrossDimensionReachCriteriaDimension

-- | <pre>
--   SITE_BY_CAMPAIGN
--   </pre>
RCDRCDSiteByCampaign :: ReportCrossDimensionReachCriteriaDimension

-- | Order of sorted results, default is ASCENDING.
data SitesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
SLSOAscending :: SitesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
SLSODescending :: SitesListSortOrder

-- | User Defined Variable configuration.
--   
--   <i>See:</i> <a>userDefinedVariableConfiguration</a> smart constructor.
data UserDefinedVariableConfiguration

-- | Creates a value of <a>UserDefinedVariableConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udvcReportName</a></li>
--   <li><a>udvcDataType</a></li>
--   <li><a>udvcVariableType</a></li>
--   </ul>
userDefinedVariableConfiguration :: UserDefinedVariableConfiguration

-- | User-friendly name for the variable which will appear in reports. This
--   is a required field, must be less than 64 characters long, and cannot
--   contain the following characters: ""&lt;&gt;".
udvcReportName :: Lens' UserDefinedVariableConfiguration (Maybe Text)

-- | Data type for the variable. This is a required field.
udvcDataType :: Lens' UserDefinedVariableConfiguration (Maybe UserDefinedVariableConfigurationDataType)

-- | Variable name in the tag. This is a required field.
udvcVariableType :: Lens' UserDefinedVariableConfiguration (Maybe UserDefinedVariableConfigurationVariableType)

-- | The report criteria for a report of type "CROSS_DIMENSION_REACH".
--   
--   <i>See:</i> <a>reportCrossDimensionReachCriteria</a> smart
--   constructor.
data ReportCrossDimensionReachCriteria

-- | Creates a value of <a>ReportCrossDimensionReachCriteria</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcdrcPivoted</a></li>
--   <li><a>rcdrcBreakdown</a></li>
--   <li><a>rcdrcDimension</a></li>
--   <li><a>rcdrcMetricNames</a></li>
--   <li><a>rcdrcDimensionFilters</a></li>
--   <li><a>rcdrcDateRange</a></li>
--   <li><a>rcdrcOverlapMetricNames</a></li>
--   </ul>
reportCrossDimensionReachCriteria :: ReportCrossDimensionReachCriteria

-- | Whether the report is pivoted or not. Defaults to true.
rcdrcPivoted :: Lens' ReportCrossDimensionReachCriteria (Maybe Bool)

-- | The list of dimensions the report should include.
rcdrcBreakdown :: Lens' ReportCrossDimensionReachCriteria [SortedDimension]

-- | The dimension option.
rcdrcDimension :: Lens' ReportCrossDimensionReachCriteria (Maybe ReportCrossDimensionReachCriteriaDimension)

-- | The list of names of metrics the report should include.
rcdrcMetricNames :: Lens' ReportCrossDimensionReachCriteria [Text]

-- | The list of filters on which dimensions are filtered.
rcdrcDimensionFilters :: Lens' ReportCrossDimensionReachCriteria [DimensionValue]

-- | The date range this report should be run for.
rcdrcDateRange :: Lens' ReportCrossDimensionReachCriteria (Maybe DateRange)

-- | The list of names of overlap metrics the report should include.
rcdrcOverlapMetricNames :: Lens' ReportCrossDimensionReachCriteria [Text]

-- | The URLs where the completed report file can be downloaded.
--   
--   <i>See:</i> <a>fileURLs</a> smart constructor.
data FileURLs

-- | Creates a value of <a>FileURLs</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fuBrowserURL</a></li>
--   <li><a>fuAPIURL</a></li>
--   </ul>
fileURLs :: FileURLs

-- | The URL for downloading the report data through a browser.
fuBrowserURL :: Lens' FileURLs (Maybe Text)

-- | The URL for downloading the report data through the API.
fuAPIURL :: Lens' FileURLs (Maybe Text)

-- | Campaign Creative Association List Response
--   
--   <i>See:</i> <a>campaignCreativeAssociationsListResponse</a> smart
--   constructor.
data CampaignCreativeAssociationsListResponse

-- | Creates a value of <a>CampaignCreativeAssociationsListResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccalrCampaignCreativeAssociations</a></li>
--   <li><a>ccalrNextPageToken</a></li>
--   <li><a>ccalrKind</a></li>
--   </ul>
campaignCreativeAssociationsListResponse :: CampaignCreativeAssociationsListResponse

-- | Campaign creative association collection
ccalrCampaignCreativeAssociations :: Lens' CampaignCreativeAssociationsListResponse [CampaignCreativeAssociation]

-- | Pagination token to be used for the next list operation.
ccalrNextPageToken :: Lens' CampaignCreativeAssociationsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#campaignCreativeAssociationsListResponse".
ccalrKind :: Lens' CampaignCreativeAssociationsListResponse Text
data PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_CLICK_COMMANDS
--   </pre>
PTFIPlacementTagClickCommands :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_IFRAME_ILAYER
--   </pre>
PTFIPlacementTagIframeIlayer :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT
--   </pre>
PTFIPlacementTagIframeJavascript :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PTFIPlacementTagIframeJavascriptLegacy :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH
--   </pre>
PTFIPlacementTagInstreamVideoPrefetch :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3
--   </pre>
PTFIPlacementTagInstreamVideoPrefetchVast3 :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERNAL_REDIRECT
--   </pre>
PTFIPlacementTagInternalRedirect :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT
--   </pre>
PTFIPlacementTagInterstitialIframeJavascript :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PTFIPlacementTagInterstitialIframeJavascriptLegacy :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
PTFIPlacementTagInterstitialInternalRedirect :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT
--   </pre>
PTFIPlacementTagInterstitialJavascript :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY
--   </pre>
PTFIPlacementTagInterstitialJavascriptLegacy :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT
--   </pre>
PTFIPlacementTagJavascript :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT_LEGACY
--   </pre>
PTFIPlacementTagJavascriptLegacy :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_STANDARD
--   </pre>
PTFIPlacementTagStandard :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_TRACKING
--   </pre>
PTFIPlacementTagTracking :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_TRACKING_IFRAME
--   </pre>
PTFIPlacementTagTrackingIframe :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_TRACKING_JAVASCRIPT
--   </pre>
PTFIPlacementTagTrackingJavascript :: PlacementTagFormatsItem

-- | Describes properties of a DoubleClick Planning order.
--   
--   <i>See:</i> <a>order</a> smart constructor.
data Order

-- | Creates a value of <a>Order</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oSellerOrderId</a></li>
--   <li><a>oSellerOrganizationName</a></li>
--   <li><a>oKind</a></li>
--   <li><a>oAdvertiserId</a></li>
--   <li><a>oPlanningTermId</a></li>
--   <li><a>oAccountId</a></li>
--   <li><a>oName</a></li>
--   <li><a>oSiteNames</a></li>
--   <li><a>oLastModifiedInfo</a></li>
--   <li><a>oBuyerOrganizationName</a></li>
--   <li><a>oId</a></li>
--   <li><a>oBuyerInvoiceId</a></li>
--   <li><a>oComments</a></li>
--   <li><a>oProjectId</a></li>
--   <li><a>oSubAccountId</a></li>
--   <li><a>oNotes</a></li>
--   <li><a>oContacts</a></li>
--   <li><a>oSiteId</a></li>
--   <li><a>oTermsAndConditions</a></li>
--   <li><a>oApproverUserProFileIds</a></li>
--   </ul>
order :: Order

-- | Seller order ID associated with this order.
oSellerOrderId :: Lens' Order (Maybe Text)

-- | Name of the seller organization.
oSellerOrganizationName :: Lens' Order (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#order".
oKind :: Lens' Order Text

-- | Advertiser ID of this order.
oAdvertiserId :: Lens' Order (Maybe Int64)

-- | ID of the terms and conditions template used in this order.
oPlanningTermId :: Lens' Order (Maybe Int64)

-- | Account ID of this order.
oAccountId :: Lens' Order (Maybe Int64)

-- | Name of this order.
oName :: Lens' Order (Maybe Text)

-- | Free-form site names this order is associated with.
oSiteNames :: Lens' Order [Text]

-- | Information about the most recent modification of this order.
oLastModifiedInfo :: Lens' Order (Maybe LastModifiedInfo)

-- | Name of the buyer organization.
oBuyerOrganizationName :: Lens' Order (Maybe Text)

-- | ID of this order. This is a read-only, auto-generated field.
oId :: Lens' Order (Maybe Int64)

-- | Buyer invoice ID associated with this order.
oBuyerInvoiceId :: Lens' Order (Maybe Text)

-- | Comments in this order.
oComments :: Lens' Order (Maybe Text)

-- | Project ID of this order.
oProjectId :: Lens' Order (Maybe Int64)

-- | Subaccount ID of this order.
oSubAccountId :: Lens' Order (Maybe Int64)

-- | Notes of this order.
oNotes :: Lens' Order (Maybe Text)

-- | Contacts for this order.
oContacts :: Lens' Order [OrderContact]

-- | Site IDs this order is associated with.
oSiteId :: Lens' Order [Int64]

-- | Terms and conditions of this order.
oTermsAndConditions :: Lens' Order (Maybe Text)

-- | IDs for users that have to approve documents created for this order.
oApproverUserProFileIds :: Lens' Order [Int64]

-- | Creative Asset ID.
--   
--   <i>See:</i> <a>creativeAssetId</a> smart constructor.
data CreativeAssetId

-- | Creates a value of <a>CreativeAssetId</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caiName</a></li>
--   <li><a>caiType</a></li>
--   </ul>
creativeAssetId :: CreativeAssetId

-- | Name of the creative asset. This is a required field while inserting
--   an asset. After insertion, this assetIdentifier is used to identify
--   the uploaded asset. Characters in the name must be alphanumeric or one
--   of the following: ".-_ ". Spaces are allowed.
caiName :: Lens' CreativeAssetId (Maybe Text)

-- | Type of asset to upload. This is a required field. FLASH and IMAGE are
--   no longer supported for new uploads. All image assets should use
--   HTML_IMAGE.
caiType :: Lens' CreativeAssetId (Maybe CreativeAssetIdType)

-- | Frequency Cap.
--   
--   <i>See:</i> <a>frequencyCap</a> smart constructor.
data FrequencyCap

-- | Creates a value of <a>FrequencyCap</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcImpressions</a></li>
--   <li><a>fcDuration</a></li>
--   </ul>
frequencyCap :: FrequencyCap

-- | Number of times an individual user can be served the ad within the
--   specified duration. The maximum allowed is 15.
fcImpressions :: Lens' FrequencyCap (Maybe Int64)

-- | Duration of time, in seconds, for this frequency cap. The maximum
--   duration is 90 days in seconds, or 7,776,000.
fcDuration :: Lens' FrequencyCap (Maybe Int64)

-- | Represents a File resource. A file contains the metadata for a report
--   run. It shows the status of the run and holds the URLs to the
--   generated report data if the run is finished and the status is
--   "REPORT_AVAILABLE".
--   
--   <i>See:</i> <a>file</a> smart constructor.
data File

-- | Creates a value of <a>File</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>filStatus</a></li>
--   <li><a>filEtag</a></li>
--   <li><a>filKind</a></li>
--   <li><a>filURLs</a></li>
--   <li><a>filReportId</a></li>
--   <li><a>filDateRange</a></li>
--   <li><a>filFormat</a></li>
--   <li><a>filLastModifiedTime</a></li>
--   <li><a>filId</a></li>
--   <li><a>filFileName</a></li>
--   </ul>
file :: File

-- | The status of the report file.
filStatus :: Lens' File (Maybe FileStatus)

-- | The eTag of this response for caching purposes.
filEtag :: Lens' File (Maybe Text)

-- | The kind of resource this is, in this case dfareporting#file.
filKind :: Lens' File Text

-- | The URLs where the completed report file can be downloaded.
filURLs :: Lens' File (Maybe FileURLs)

-- | The ID of the report this file was generated from.
filReportId :: Lens' File (Maybe Int64)

-- | The date range for which the file has report data. The date range will
--   always be the absolute date range for which the report is run.
filDateRange :: Lens' File (Maybe DateRange)

-- | The output format of the report. Only available once the file is
--   available.
filFormat :: Lens' File (Maybe FileFormat)

-- | The timestamp in milliseconds since epoch when this file was last
--   modified.
filLastModifiedTime :: Lens' File (Maybe Int64)

-- | The unique ID of this report file.
filId :: Lens' File (Maybe Int64)

-- | The filename of the file.
filFileName :: Lens' File (Maybe Text)

-- | Creative Settings
--   
--   <i>See:</i> <a>creativeSettings</a> smart constructor.
data CreativeSettings

-- | Creates a value of <a>CreativeSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csIFrameHeader</a></li>
--   <li><a>csIFrameFooter</a></li>
--   </ul>
creativeSettings :: CreativeSettings

-- | Header text for iFrames for this site. Must be less than or equal to
--   2000 characters long.
csIFrameHeader :: Lens' CreativeSettings (Maybe Text)

-- | Header text for iFrames for this site. Must be less than or equal to
--   2000 characters long.
csIFrameFooter :: Lens' CreativeSettings (Maybe Text)

-- | Type of the object of this dynamic targeting key. This is a required
--   field.
data DynamicTargetingKeyObjectType

-- | <pre>
--   OBJECT_AD
--   </pre>
DTKOTObjectAd :: DynamicTargetingKeyObjectType

-- | <pre>
--   OBJECT_ADVERTISER
--   </pre>
DTKOTObjectAdvertiser :: DynamicTargetingKeyObjectType

-- | <pre>
--   OBJECT_CREATIVE
--   </pre>
DTKOTObjectCreative :: DynamicTargetingKeyObjectType

-- | <pre>
--   OBJECT_PLACEMENT
--   </pre>
DTKOTObjectPlacement :: DynamicTargetingKeyObjectType

-- | The type of the report.
data ReportType

-- | <pre>
--   CROSS_DIMENSION_REACH
--   </pre>
RTCrossDimensionReach :: ReportType

-- | <pre>
--   FLOODLIGHT
--   </pre>
RTFloodlight :: ReportType

-- | <pre>
--   PATH_TO_CONVERSION
--   </pre>
RTPathToConversion :: ReportType

-- | <pre>
--   REACH
--   </pre>
RTReach :: ReportType

-- | <pre>
--   STANDARD
--   </pre>
RTStandard :: ReportType
data CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ADMOB_REFERENCED
--   </pre>
ADMobReferenced :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ASSET_FORMAT_UNSUPPORTED_DCM
--   </pre>
AssetFormatUnsupportedDcm :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ASSET_INVALID
--   </pre>
AssetInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_HARD_CODED
--   </pre>
ClickTagHardCoded :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_INVALID
--   </pre>
ClickTagInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_IN_GWD
--   </pre>
ClickTagInGwd :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_MISSING
--   </pre>
ClickTagMissing :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_MORE_THAN_ONE
--   </pre>
ClickTagMoreThanOne :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_NON_TOP_LEVEL
--   </pre>
ClickTagNonTopLevel :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   COMPONENT_UNSUPPORTED_DCM
--   </pre>
ComponentUnsupportedDcm :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ENABLER_UNSUPPORTED_METHOD_DCM
--   </pre>
EnablerUnsupportedMethodDcm :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   EXTERNAL_FILE_REFERENCED
--   </pre>
ExternalFileReferenced :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   FILE_DETAIL_EMPTY
--   </pre>
FileDetailEmpty :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   FILE_TYPE_INVALID
--   </pre>
FileTypeInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   GWD_PROPERTIES_INVALID
--   </pre>
GwdPropertiesInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   HTML5_FEATURE_UNSUPPORTED
--   </pre>
HTML5FeatureUnsupported :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   LINKED_FILE_NOT_FOUND
--   </pre>
LinkedFileNotFound :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   MAX_FLASH_VERSION_11
--   </pre>
MaxFlashVersion11 :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   MRAID_REFERENCED
--   </pre>
MraidReferenced :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   NOT_SSL_COMPLIANT
--   </pre>
NotSSLCompliant :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ORPHANED_ASSET
--   </pre>
OrphanedAsset :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   PRIMARY_HTML_MISSING
--   </pre>
PrimaryHTMLMissing :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   SVG_INVALID
--   </pre>
SvgInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ZIP_INVALID
--   </pre>
ZipInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | Creative Group List Response
--   
--   <i>See:</i> <a>creativeGroupsListResponse</a> smart constructor.
data CreativeGroupsListResponse

-- | Creates a value of <a>CreativeGroupsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cglrCreativeGroups</a></li>
--   <li><a>cglrNextPageToken</a></li>
--   <li><a>cglrKind</a></li>
--   </ul>
creativeGroupsListResponse :: CreativeGroupsListResponse

-- | Creative group collection.
cglrCreativeGroups :: Lens' CreativeGroupsListResponse [CreativeGroup]

-- | Pagination token to be used for the next list operation.
cglrNextPageToken :: Lens' CreativeGroupsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeGroupsListResponse".
cglrKind :: Lens' CreativeGroupsListResponse Text

-- | Payment source type of this ad slot.
data AdSlotPaymentSourceType

-- | <pre>
--   PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID
--   </pre>
PlanningPaymentSourceTypeAgencyPaid :: AdSlotPaymentSourceType

-- | <pre>
--   PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID
--   </pre>
PlanningPaymentSourceTypePublisherPaid :: AdSlotPaymentSourceType

-- | Mobile Carrier List Response
--   
--   <i>See:</i> <a>mobileCarriersListResponse</a> smart constructor.
data MobileCarriersListResponse

-- | Creates a value of <a>MobileCarriersListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mclrMobileCarriers</a></li>
--   <li><a>mclrKind</a></li>
--   </ul>
mobileCarriersListResponse :: MobileCarriersListResponse

-- | Mobile carrier collection.
mclrMobileCarriers :: Lens' MobileCarriersListResponse [MobileCarrier]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#mobileCarriersListResponse".
mclrKind :: Lens' MobileCarriersListResponse Text

-- | Landing Page List Response
--   
--   <i>See:</i> <a>landingPagesListResponse</a> smart constructor.
data LandingPagesListResponse

-- | Creates a value of <a>LandingPagesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lplrLandingPages</a></li>
--   <li><a>lplrKind</a></li>
--   </ul>
landingPagesListResponse :: LandingPagesListResponse

-- | Landing page collection
lplrLandingPages :: Lens' LandingPagesListResponse [LandingPage]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#landingPagesListResponse".
lplrKind :: Lens' LandingPagesListResponse Text
data AccountPermissionAccountProFilesItem

-- | <pre>
--   ACCOUNT_PROFILE_BASIC
--   </pre>
APAPFIAccountProFileBasic :: AccountPermissionAccountProFilesItem

-- | <pre>
--   ACCOUNT_PROFILE_STANDARD
--   </pre>
APAPFIAccountProFileStandard :: AccountPermissionAccountProFilesItem

-- | CreativeAssets contains properties of a creative asset file which will
--   be uploaded or has already been uploaded. Refer to the creative sample
--   code for how to upload assets and insert a creative.
--   
--   <i>See:</i> <a>creativeAssetMetadata</a> smart constructor.
data CreativeAssetMetadata

-- | Creates a value of <a>CreativeAssetMetadata</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>camaKind</a></li>
--   <li><a>camaAssetIdentifier</a></li>
--   <li><a>camaIdDimensionValue</a></li>
--   <li><a>camaClickTags</a></li>
--   <li><a>camaWarnedValidationRules</a></li>
--   <li><a>camaId</a></li>
--   <li><a>camaDetectedFeatures</a></li>
--   </ul>
creativeAssetMetadata :: CreativeAssetMetadata

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeAssetMetadata".
camaKind :: Lens' CreativeAssetMetadata Text

-- | ID of the creative asset. This is a required field.
camaAssetIdentifier :: Lens' CreativeAssetMetadata (Maybe CreativeAssetId)

-- | Dimension value for the numeric ID of the asset. This is a read-only,
--   auto-generated field.
camaIdDimensionValue :: Lens' CreativeAssetMetadata (Maybe DimensionValue)

-- | List of detected click tags for assets. This is a read-only
--   auto-generated field.
camaClickTags :: Lens' CreativeAssetMetadata [ClickTag]

-- | Rules validated during code generation that generated a warning. This
--   is a read-only, auto-generated field. Possible values are: -
--   "ADMOB_REFERENCED" - "ASSET_FORMAT_UNSUPPORTED_DCM" - "ASSET_INVALID"
--   - "CLICK_TAG_HARD_CODED" - "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" -
--   "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" -
--   "CLICK_TAG_NON_TOP_LEVEL" - "COMPONENT_UNSUPPORTED_DCM" -
--   "ENABLER_UNSUPPORTED_METHOD_DCM" - "EXTERNAL_FILE_REFERENCED" -
--   "FILE_DETAIL_EMPTY" - "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID" -
--   "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" -
--   "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - "NOT_SSL_COMPLIANT" -
--   "ORPHANED_ASSET" - "PRIMARY_HTML_MISSING" - "SVG_INVALID" -
--   "ZIP_INVALID"
camaWarnedValidationRules :: Lens' CreativeAssetMetadata [CreativeAssetMetadataWarnedValidationRulesItem]

-- | Numeric ID of the asset. This is a read-only, auto-generated field.
camaId :: Lens' CreativeAssetMetadata (Maybe Int64)

-- | List of feature dependencies for the creative asset that are detected
--   by DCM. Feature dependencies are features that a browser must be able
--   to support in order to render your HTML5 creative correctly. This is a
--   read-only, auto-generated field.
camaDetectedFeatures :: Lens' CreativeAssetMetadata [CreativeAssetMetadataDetectedFeaturesItem]

-- | Omniture Integration Settings.
--   
--   <i>See:</i> <a>omnitureSettings</a> smart constructor.
data OmnitureSettings

-- | Creates a value of <a>OmnitureSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osOmnitureCostDataEnabled</a></li>
--   <li><a>osOmnitureIntegrationEnabled</a></li>
--   </ul>
omnitureSettings :: OmnitureSettings

-- | Whether placement cost data will be sent to Omniture. This property
--   can be enabled only if omnitureIntegrationEnabled is true.
osOmnitureCostDataEnabled :: Lens' OmnitureSettings (Maybe Bool)

-- | Whether Omniture integration is enabled. This property can be enabled
--   only when the "Advanced Ad Serving" account setting is enabled.
osOmnitureIntegrationEnabled :: Lens' OmnitureSettings (Maybe Bool)

-- | Contains information about an internet connection type that can be
--   targeted by ads. Clients can use the connection type to target mobile
--   vs. broadband users.
--   
--   <i>See:</i> <a>connectionType</a> smart constructor.
data ConnectionType

-- | Creates a value of <a>ConnectionType</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cttKind</a></li>
--   <li><a>cttName</a></li>
--   <li><a>cttId</a></li>
--   </ul>
connectionType :: ConnectionType

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#connectionType".
cttKind :: Lens' ConnectionType Text

-- | Name of this connection type.
cttName :: Lens' ConnectionType (Maybe Text)

-- | ID of this connection type.
cttId :: Lens' ConnectionType (Maybe Int64)

-- | Type of the event. This is a read-only field.
data CreativeCustomEventAdvertiserCustomEventType

-- | <pre>
--   ADVERTISER_EVENT_COUNTER
--   </pre>
AdvertiserEventCounter :: CreativeCustomEventAdvertiserCustomEventType

-- | <pre>
--   ADVERTISER_EVENT_EXIT
--   </pre>
AdvertiserEventExit :: CreativeCustomEventAdvertiserCustomEventType

-- | <pre>
--   ADVERTISER_EVENT_TIMER
--   </pre>
AdvertiserEventTimer :: CreativeCustomEventAdvertiserCustomEventType

-- | Contains properties of a package or roadblock.
--   
--   <i>See:</i> <a>placementGroup</a> smart constructor.
data PlacementGroup

-- | Creates a value of <a>PlacementGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plalPlacementStrategyId</a></li>
--   <li><a>plalSiteIdDimensionValue</a></li>
--   <li><a>plalPricingSchedule</a></li>
--   <li><a>plalKind</a></li>
--   <li><a>plalCampaignIdDimensionValue</a></li>
--   <li><a>plalAdvertiserId</a></li>
--   <li><a>plalAdvertiserIdDimensionValue</a></li>
--   <li><a>plalCampaignId</a></li>
--   <li><a>plalIdDimensionValue</a></li>
--   <li><a>plalPlacementGroupType</a></li>
--   <li><a>plalContentCategoryId</a></li>
--   <li><a>plalDirectorySiteIdDimensionValue</a></li>
--   <li><a>plalAccountId</a></li>
--   <li><a>plalName</a></li>
--   <li><a>plalDirectorySiteId</a></li>
--   <li><a>plalCreateInfo</a></li>
--   <li><a>plalChildPlacementIds</a></li>
--   <li><a>plalLastModifiedInfo</a></li>
--   <li><a>plalId</a></li>
--   <li><a>plalPrimaryPlacementId</a></li>
--   <li><a>plalSubAccountId</a></li>
--   <li><a>plalExternalId</a></li>
--   <li><a>plalComment</a></li>
--   <li><a>plalPrimaryPlacementIdDimensionValue</a></li>
--   <li><a>plalSiteId</a></li>
--   <li><a>plalArchived</a></li>
--   </ul>
placementGroup :: PlacementGroup

-- | ID of the placement strategy assigned to this placement group.
plalPlacementStrategyId :: Lens' PlacementGroup (Maybe Int64)

-- | Dimension value for the ID of the site. This is a read-only,
--   auto-generated field.
plalSiteIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Pricing schedule of this placement group. This field is required on
--   insertion.
plalPricingSchedule :: Lens' PlacementGroup (Maybe PricingSchedule)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementGroup".
plalKind :: Lens' PlacementGroup Text

-- | Dimension value for the ID of the campaign. This is a read-only,
--   auto-generated field.
plalCampaignIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Advertiser ID of this placement group. This is a required field on
--   insertion.
plalAdvertiserId :: Lens' PlacementGroup (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
plalAdvertiserIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Campaign ID of this placement group. This field is required on
--   insertion.
plalCampaignId :: Lens' PlacementGroup (Maybe Int64)

-- | Dimension value for the ID of this placement group. This is a
--   read-only, auto-generated field.
plalIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Type of this placement group. A package is a simple group of
--   placements that acts as a single pricing point for a group of tags. A
--   roadblock is a group of placements that not only acts as a single
--   pricing point, but also assumes that all the tags in it will be served
--   at the same time. A roadblock requires one of its assigned placements
--   to be marked as primary for reporting. This field is required on
--   insertion.
plalPlacementGroupType :: Lens' PlacementGroup (Maybe PlacementGroupPlacementGroupType)

-- | ID of the content category assigned to this placement group.
plalContentCategoryId :: Lens' PlacementGroup (Maybe Int64)

-- | Dimension value for the ID of the directory site. This is a read-only,
--   auto-generated field.
plalDirectorySiteIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Account ID of this placement group. This is a read-only field that can
--   be left blank.
plalAccountId :: Lens' PlacementGroup (Maybe Int64)

-- | Name of this placement group. This is a required field and must be
--   less than 256 characters long.
plalName :: Lens' PlacementGroup (Maybe Text)

-- | Directory site ID associated with this placement group. On insert, you
--   must set either this field or the site_id field to specify the site
--   associated with this placement group. This is a required field that is
--   read-only after insertion.
plalDirectorySiteId :: Lens' PlacementGroup (Maybe Int64)

-- | Information about the creation of this placement group. This is a
--   read-only field.
plalCreateInfo :: Lens' PlacementGroup (Maybe LastModifiedInfo)

-- | IDs of placements which are assigned to this placement group. This is
--   a read-only, auto-generated field.
plalChildPlacementIds :: Lens' PlacementGroup [Int64]

-- | Information about the most recent modification of this placement
--   group. This is a read-only field.
plalLastModifiedInfo :: Lens' PlacementGroup (Maybe LastModifiedInfo)

-- | ID of this placement group. This is a read-only, auto-generated field.
plalId :: Lens' PlacementGroup (Maybe Int64)

-- | ID of the primary placement, used to calculate the media cost of a
--   roadblock (placement group). Modifying this field will automatically
--   modify the primary field on all affected roadblock child placements.
plalPrimaryPlacementId :: Lens' PlacementGroup (Maybe Int64)

-- | Subaccount ID of this placement group. This is a read-only field that
--   can be left blank.
plalSubAccountId :: Lens' PlacementGroup (Maybe Int64)

-- | External ID for this placement.
plalExternalId :: Lens' PlacementGroup (Maybe Text)

-- | Comments for this placement group.
plalComment :: Lens' PlacementGroup (Maybe Text)

-- | Dimension value for the ID of the primary placement. This is a
--   read-only, auto-generated field.
plalPrimaryPlacementIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Site ID associated with this placement group. On insert, you must set
--   either this field or the directorySiteId field to specify the site
--   associated with this placement group. This is a required field that is
--   read-only after insertion.
plalSiteId :: Lens' PlacementGroup (Maybe Int64)

-- | Whether this placement group is archived.
plalArchived :: Lens' PlacementGroup (Maybe Bool)

-- | Contains properties of an event tag.
--   
--   <i>See:</i> <a>eventTag</a> smart constructor.
data EventTag

-- | Creates a value of <a>EventTag</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etStatus</a></li>
--   <li><a>etExcludeFromAdxRequests</a></li>
--   <li><a>etEnabledByDefault</a></li>
--   <li><a>etKind</a></li>
--   <li><a>etCampaignIdDimensionValue</a></li>
--   <li><a>etAdvertiserId</a></li>
--   <li><a>etURL</a></li>
--   <li><a>etAdvertiserIdDimensionValue</a></li>
--   <li><a>etSSLCompliant</a></li>
--   <li><a>etCampaignId</a></li>
--   <li><a>etAccountId</a></li>
--   <li><a>etName</a></li>
--   <li><a>etURLEscapeLevels</a></li>
--   <li><a>etSiteIds</a></li>
--   <li><a>etId</a></li>
--   <li><a>etSubAccountId</a></li>
--   <li><a>etType</a></li>
--   <li><a>etSiteFilterType</a></li>
--   </ul>
eventTag :: EventTag

-- | Status of this event tag. Must be ENABLED for this event tag to fire.
--   This is a required field.
etStatus :: Lens' EventTag (Maybe EventTagStatus)

-- | Whether to remove this event tag from ads that are trafficked through
--   DoubleClick Bid Manager to Ad Exchange. This may be useful if the
--   event tag uses a pixel that is unapproved for Ad Exchange bids on one
--   or more networks, such as the Google Display Network.
etExcludeFromAdxRequests :: Lens' EventTag (Maybe Bool)

-- | Whether this event tag should be automatically enabled for all of the
--   advertiser's campaigns and ads.
etEnabledByDefault :: Lens' EventTag (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#eventTag".
etKind :: Lens' EventTag Text

-- | Dimension value for the ID of the campaign. This is a read-only,
--   auto-generated field.
etCampaignIdDimensionValue :: Lens' EventTag (Maybe DimensionValue)

-- | Advertiser ID of this event tag. This field or the campaignId field is
--   required on insertion.
etAdvertiserId :: Lens' EventTag (Maybe Int64)

-- | Payload URL for this event tag. The URL on a click-through event tag
--   should have a landing page URL appended to the end of it. This field
--   is required on insertion.
etURL :: Lens' EventTag (Maybe Text)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
etAdvertiserIdDimensionValue :: Lens' EventTag (Maybe DimensionValue)

-- | Whether this tag is SSL-compliant or not. This is a read-only field.
etSSLCompliant :: Lens' EventTag (Maybe Bool)

-- | Campaign ID of this event tag. This field or the advertiserId field is
--   required on insertion.
etCampaignId :: Lens' EventTag (Maybe Int64)

-- | Account ID of this event tag. This is a read-only field that can be
--   left blank.
etAccountId :: Lens' EventTag (Maybe Int64)

-- | Name of this event tag. This is a required field and must be less than
--   256 characters long.
etName :: Lens' EventTag (Maybe Text)

-- | Number of times the landing page URL should be URL-escaped before
--   being appended to the click-through event tag URL. Only applies to
--   click-through event tags as specified by the event tag type.
etURLEscapeLevels :: Lens' EventTag (Maybe Int32)

-- | Filter list of site IDs associated with this event tag. The
--   siteFilterType determines whether this is a whitelist or blacklist
--   filter.
etSiteIds :: Lens' EventTag [Int64]

-- | ID of this event tag. This is a read-only, auto-generated field.
etId :: Lens' EventTag (Maybe Int64)

-- | Subaccount ID of this event tag. This is a read-only field that can be
--   left blank.
etSubAccountId :: Lens' EventTag (Maybe Int64)

-- | Event tag type. Can be used to specify whether to use a third-party
--   pixel, a third-party JavaScript URL, or a third-party click-through
--   URL for either impression or click tracking. This is a required field.
etType :: Lens' EventTag (Maybe EventTagType)

-- | Site filter type for this event tag. If no type is specified then the
--   event tag will be applied to all sites.
etSiteFilterType :: Lens' EventTag (Maybe EventTagSiteFilterType)

-- | Contains properties of a user role permission.
--   
--   <i>See:</i> <a>userRolePermission</a> smart constructor.
data UserRolePermission

-- | Creates a value of <a>UserRolePermission</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>useKind</a></li>
--   <li><a>useAvailability</a></li>
--   <li><a>useName</a></li>
--   <li><a>useId</a></li>
--   <li><a>usePermissionGroupId</a></li>
--   </ul>
userRolePermission :: UserRolePermission

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolePermission".
useKind :: Lens' UserRolePermission Text

-- | Levels of availability for a user role permission.
useAvailability :: Lens' UserRolePermission (Maybe UserRolePermissionAvailability)

-- | Name of this user role permission.
useName :: Lens' UserRolePermission (Maybe Text)

-- | ID of this user role permission.
useId :: Lens' UserRolePermission (Maybe Int64)

-- | ID of the permission group that this user role permission belongs to.
usePermissionGroupId :: Lens' UserRolePermission (Maybe Int64)

-- | Select only change logs with the specified object type.
data ChangeLogsListObjectType

-- | <pre>
--   OBJECT_ACCOUNT
--   </pre>
CLLOTObjectAccount :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_ACCOUNT_BILLING_FEATURE
--   </pre>
CLLOTObjectAccountBillingFeature :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_AD
--   </pre>
CLLOTObjectAd :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_ADVERTISER
--   </pre>
CLLOTObjectAdvertiser :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_ADVERTISER_GROUP
--   </pre>
CLLOTObjectAdvertiserGroup :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_BILLING_ACCOUNT_GROUP
--   </pre>
CLLOTObjectBillingAccountGroup :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_BILLING_FEATURE
--   </pre>
CLLOTObjectBillingFeature :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_BILLING_MINIMUM_FEE
--   </pre>
CLLOTObjectBillingMinimumFee :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_BILLING_PROFILE
--   </pre>
CLLOTObjectBillingProFile :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CAMPAIGN
--   </pre>
CLLOTObjectCampaign :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CONTENT_CATEGORY
--   </pre>
CLLOTObjectContentCategory :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE
--   </pre>
CLLOTObjectCreative :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE_ASSET
--   </pre>
CLLOTObjectCreativeAsset :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE_BUNDLE
--   </pre>
CLLOTObjectCreativeBundle :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE_FIELD
--   </pre>
CLLOTObjectCreativeField :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE_GROUP
--   </pre>
CLLOTObjectCreativeGroup :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_DFA_SITE
--   </pre>
CLLOTObjectDfaSite :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_EVENT_TAG
--   </pre>
CLLOTObjectEventTag :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_FLOODLIGHT_ACTIVITY_GROUP
--   </pre>
CLLOTObjectFloodlightActivityGroup :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_FLOODLIGHT_ACTVITY
--   </pre>
CLLOTObjectFloodlightActvity :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_FLOODLIGHT_CONFIGURATION
--   </pre>
CLLOTObjectFloodlightConfiguration :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_INSTREAM_CREATIVE
--   </pre>
CLLOTObjectInstreamCreative :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_LANDING_PAGE
--   </pre>
CLLOTObjectLandingPage :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_MEDIA_ORDER
--   </pre>
CLLOTObjectMediaOrder :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_PLACEMENT
--   </pre>
CLLOTObjectPlacement :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_PLACEMENT_STRATEGY
--   </pre>
CLLOTObjectPlacementStrategy :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_PLAYSTORE_LINK
--   </pre>
CLLOTObjectPlaystoreLink :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_PROVIDED_LIST_CLIENT
--   </pre>
CLLOTObjectProvidedListClient :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_RATE_CARD
--   </pre>
CLLOTObjectRateCard :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_REMARKETING_LIST
--   </pre>
CLLOTObjectRemarketingList :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_RICHMEDIA_CREATIVE
--   </pre>
CLLOTObjectRichmediaCreative :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_SD_SITE
--   </pre>
CLLOTObjectSdSite :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_SEARCH_LIFT_STUDY
--   </pre>
CLLOTObjectSearchLiftStudy :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_SIZE
--   </pre>
CLLOTObjectSize :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_SUBACCOUNT
--   </pre>
CLLOTObjectSubAccount :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_TARGETING_TEMPLATE
--   </pre>
CLLOTObjectTargetingTemplate :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_USER_PROFILE
--   </pre>
CLLOTObjectUserProFile :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_USER_PROFILE_FILTER
--   </pre>
CLLOTObjectUserProFileFilter :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_USER_ROLE
--   </pre>
CLLOTObjectUserRole :: ChangeLogsListObjectType

-- | Contact of an order.
--   
--   <i>See:</i> <a>orderContact</a> smart constructor.
data OrderContact

-- | Creates a value of <a>OrderContact</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocSignatureUserProFileId</a></li>
--   <li><a>ocContactName</a></li>
--   <li><a>ocContactTitle</a></li>
--   <li><a>ocContactType</a></li>
--   <li><a>ocContactInfo</a></li>
--   </ul>
orderContact :: OrderContact

-- | ID of the user profile containing the signature that will be embedded
--   into order documents.
ocSignatureUserProFileId :: Lens' OrderContact (Maybe Int64)

-- | Name of this contact.
ocContactName :: Lens' OrderContact (Maybe Text)

-- | Title of this contact.
ocContactTitle :: Lens' OrderContact (Maybe Text)

-- | Type of this contact.
ocContactType :: Lens' OrderContact (Maybe OrderContactContactType)

-- | Free-form information about this contact. It could be any information
--   related to this contact in addition to type, title, name, and
--   signature user profile ID.
ocContactInfo :: Lens' OrderContact (Maybe Text)

-- | Transcode Settings
--   
--   <i>See:</i> <a>transcodeSetting</a> smart constructor.
data TranscodeSetting

-- | Creates a value of <a>TranscodeSetting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsKind</a></li>
--   <li><a>tsEnabledVideoFormats</a></li>
--   </ul>
transcodeSetting :: TranscodeSetting

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#transcodeSetting".
tsKind :: Lens' TranscodeSetting Text

-- | Whitelist of video formats to be served to this placement. Set this
--   list to null or empty to serve all video formats.
tsEnabledVideoFormats :: Lens' TranscodeSetting [Int32]

-- | Floodlight Activity GenerateTag Response
--   
--   <i>See:</i> <a>floodlightActivitiesGenerateTagResponse</a> smart
--   constructor.
data FloodlightActivitiesGenerateTagResponse

-- | Creates a value of <a>FloodlightActivitiesGenerateTagResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fagtrFloodlightActivityTag</a></li>
--   <li><a>fagtrKind</a></li>
--   </ul>
floodlightActivitiesGenerateTagResponse :: FloodlightActivitiesGenerateTagResponse

-- | Generated tag for this floodlight activity.
fagtrFloodlightActivityTag :: Lens' FloodlightActivitiesGenerateTagResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivitiesGenerateTagResponse".
fagtrKind :: Lens' FloodlightActivitiesGenerateTagResponse Text

-- | Directory Site Contact Assignment
--   
--   <i>See:</i> <a>directorySiteContactAssignment</a> smart constructor.
data DirectorySiteContactAssignment

-- | Creates a value of <a>DirectorySiteContactAssignment</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dscaVisibility</a></li>
--   <li><a>dscaContactId</a></li>
--   </ul>
directorySiteContactAssignment :: DirectorySiteContactAssignment

-- | Visibility of this directory site contact assignment. When set to
--   PUBLIC this contact assignment is visible to all account and agency
--   users; when set to PRIVATE it is visible only to the site.
dscaVisibility :: Lens' DirectorySiteContactAssignment (Maybe DirectorySiteContactAssignmentVisibility)

-- | ID of this directory site contact. This is a read-only, auto-generated
--   field.
dscaContactId :: Lens' DirectorySiteContactAssignment (Maybe Int64)

-- | Ad Slot
--   
--   <i>See:</i> <a>adSlot</a> smart constructor.
data AdSlot

-- | Creates a value of <a>AdSlot</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assHeight</a></li>
--   <li><a>assPaymentSourceType</a></li>
--   <li><a>assLinkedPlacementId</a></li>
--   <li><a>assWidth</a></li>
--   <li><a>assPrimary</a></li>
--   <li><a>assName</a></li>
--   <li><a>assComment</a></li>
--   <li><a>assCompatibility</a></li>
--   </ul>
adSlot :: AdSlot

-- | Height of this ad slot.
assHeight :: Lens' AdSlot (Maybe Int64)

-- | Payment source type of this ad slot.
assPaymentSourceType :: Lens' AdSlot (Maybe AdSlotPaymentSourceType)

-- | ID of the placement from an external platform that is linked to this
--   ad slot.
assLinkedPlacementId :: Lens' AdSlot (Maybe Int64)

-- | Width of this ad slot.
assWidth :: Lens' AdSlot (Maybe Int64)

-- | Primary ad slot of a roadblock inventory item.
assPrimary :: Lens' AdSlot (Maybe Bool)

-- | Name of this ad slot.
assName :: Lens' AdSlot (Maybe Text)

-- | Comment for this ad slot.
assComment :: Lens' AdSlot (Maybe Text)

-- | Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   rendering either on desktop, mobile devices or in mobile apps for
--   regular or interstitial ads respectively. APP and APP_INTERSTITIAL are
--   for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in
--   in-stream video ads developed with the VAST standard.
assCompatibility :: Lens' AdSlot (Maybe AdSlotCompatibility)

-- | Third-party Tracking URL.
--   
--   <i>See:</i> <a>thirdPartyTrackingURL</a> smart constructor.
data ThirdPartyTrackingURL

-- | Creates a value of <a>ThirdPartyTrackingURL</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tptuURL</a></li>
--   <li><a>tptuThirdPartyURLType</a></li>
--   </ul>
thirdPartyTrackingURL :: ThirdPartyTrackingURL

-- | URL for the specified third-party URL type.
tptuURL :: Lens' ThirdPartyTrackingURL (Maybe Text)

-- | Third-party URL type for in-stream video creatives.
tptuThirdPartyURLType :: Lens' ThirdPartyTrackingURL (Maybe ThirdPartyTrackingURLThirdPartyURLType)

-- | Cap cost type of this inventory item.
data PricingCapCostType

-- | <pre>
--   PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE
--   </pre>
PlanningPlacementCapCostTypeCumulative :: PricingCapCostType

-- | <pre>
--   PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY
--   </pre>
PlanningPlacementCapCostTypeMonthly :: PricingCapCostType

-- | <pre>
--   PLANNING_PLACEMENT_CAP_COST_TYPE_NONE
--   </pre>
PlanningPlacementCapCostTypeNone :: PricingCapCostType

-- | Contains properties of a DoubleClick Planning order document.
--   
--   <i>See:</i> <a>orderDocument</a> smart constructor.
data OrderDocument

-- | Creates a value of <a>OrderDocument</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>odSigned</a></li>
--   <li><a>odKind</a></li>
--   <li><a>odAdvertiserId</a></li>
--   <li><a>odLastSentTime</a></li>
--   <li><a>odAmendedOrderDocumentId</a></li>
--   <li><a>odLastSentRecipients</a></li>
--   <li><a>odEffectiveDate</a></li>
--   <li><a>odApprovedByUserProFileIds</a></li>
--   <li><a>odAccountId</a></li>
--   <li><a>odId</a></li>
--   <li><a>odProjectId</a></li>
--   <li><a>odTitle</a></li>
--   <li><a>odSubAccountId</a></li>
--   <li><a>odType</a></li>
--   <li><a>odOrderId</a></li>
--   <li><a>odCancelled</a></li>
--   <li><a>odCreatedInfo</a></li>
--   </ul>
orderDocument :: OrderDocument

-- | Whether this order document has been signed.
odSigned :: Lens' OrderDocument (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#orderDocument".
odKind :: Lens' OrderDocument Text

-- | Advertiser ID of this order document.
odAdvertiserId :: Lens' OrderDocument (Maybe Int64)

-- | Timestamp of the last email sent with this order document.
odLastSentTime :: Lens' OrderDocument (Maybe UTCTime)

-- | The amended order document ID of this order document. An order
--   document can be created by optionally amending another order document
--   so that the change history can be preserved.
odAmendedOrderDocumentId :: Lens' OrderDocument (Maybe Int64)

-- | List of email addresses that received the last sent document.
odLastSentRecipients :: Lens' OrderDocument [Text]

-- | Effective date of this order document.
odEffectiveDate :: Lens' OrderDocument (Maybe Day)

-- | IDs of users who have approved this order document.
odApprovedByUserProFileIds :: Lens' OrderDocument [Int64]

-- | Account ID of this order document.
odAccountId :: Lens' OrderDocument (Maybe Int64)

-- | ID of this order document.
odId :: Lens' OrderDocument (Maybe Int64)

-- | Project ID of this order document.
odProjectId :: Lens' OrderDocument (Maybe Int64)

-- | Title of this order document.
odTitle :: Lens' OrderDocument (Maybe Text)

-- | Subaccount ID of this order document.
odSubAccountId :: Lens' OrderDocument (Maybe Int64)

-- | Type of this order document
odType :: Lens' OrderDocument (Maybe OrderDocumentType)

-- | ID of the order from which this order document is created.
odOrderId :: Lens' OrderDocument (Maybe Int64)

-- | Whether this order document is cancelled.
odCancelled :: Lens' OrderDocument (Maybe Bool)

-- | Information about the creation of this order document.
odCreatedInfo :: Lens' OrderDocument (Maybe LastModifiedInfo)

-- | Contains information about a metro region that can be targeted by ads.
--   
--   <i>See:</i> <a>metro</a> smart constructor.
data Metro

-- | Creates a value of <a>Metro</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>metMetroCode</a></li>
--   <li><a>metKind</a></li>
--   <li><a>metName</a></li>
--   <li><a>metCountryCode</a></li>
--   <li><a>metDmaId</a></li>
--   <li><a>metCountryDartId</a></li>
--   <li><a>metDartId</a></li>
--   </ul>
metro :: Metro

-- | Metro code of this metro region. This is equivalent to dma_id.
metMetroCode :: Lens' Metro (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#metro".
metKind :: Lens' Metro Text

-- | Name of this metro region.
metName :: Lens' Metro (Maybe Text)

-- | Country code of the country to which this metro region belongs.
metCountryCode :: Lens' Metro (Maybe Text)

-- | DMA ID of this metro region. This is the ID used for targeting and
--   generating reports, and is equivalent to metro_code.
metDmaId :: Lens' Metro (Maybe Int64)

-- | DART ID of the country to which this metro region belongs.
metCountryDartId :: Lens' Metro (Maybe Int64)

-- | DART ID of this metro region.
metDartId :: Lens' Metro (Maybe Int64)

-- | Type of rich media asset. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA.
data CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_BACKDROP
--   </pre>
AssetDisplayTypeBackdrop :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_EXPANDING
--   </pre>
AssetDisplayTypeExpanding :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_FLASH_IN_FLASH
--   </pre>
AssetDisplayTypeFlashInFlash :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING
--   </pre>
AssetDisplayTypeFlashInFlashExpanding :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_FLOATING
--   </pre>
AssetDisplayTypeFloating :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_INPAGE
--   </pre>
AssetDisplayTypeInpage :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_OVERLAY
--   </pre>
AssetDisplayTypeOverlay :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_PEEL_DOWN
--   </pre>
AssetDisplayTypePeelDown :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_VPAID_LINEAR
--   </pre>
AssetDisplayTypeVpaidLinear :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR
--   </pre>
AssetDisplayTypeVpaidNonLinear :: CreativeAssetDisplayType

-- | Contains properties of a placement.
--   
--   <i>See:</i> <a>placement</a> smart constructor.
data Placement

-- | Creates a value of <a>Placement</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>p1Status</a></li>
--   <li><a>p1VideoSettings</a></li>
--   <li><a>p1PlacementStrategyId</a></li>
--   <li><a>p1TagFormats</a></li>
--   <li><a>p1SiteIdDimensionValue</a></li>
--   <li><a>p1PricingSchedule</a></li>
--   <li><a>p1Size</a></li>
--   <li><a>p1Kind</a></li>
--   <li><a>p1KeyName</a></li>
--   <li><a>p1CampaignIdDimensionValue</a></li>
--   <li><a>p1AdvertiserId</a></li>
--   <li><a>p1AdvertiserIdDimensionValue</a></li>
--   <li><a>p1CampaignId</a></li>
--   <li><a>p1IdDimensionValue</a></li>
--   <li><a>p1VpaidAdapterChoice</a></li>
--   <li><a>p1Primary</a></li>
--   <li><a>p1LookbackConfiguration</a></li>
--   <li><a>p1TagSetting</a></li>
--   <li><a>p1ContentCategoryId</a></li>
--   <li><a>p1DirectorySiteIdDimensionValue</a></li>
--   <li><a>p1AccountId</a></li>
--   <li><a>p1PaymentSource</a></li>
--   <li><a>p1Name</a></li>
--   <li><a>p1DirectorySiteId</a></li>
--   <li><a>p1CreateInfo</a></li>
--   <li><a>p1VideoActiveViewOptOut</a></li>
--   <li><a>p1LastModifiedInfo</a></li>
--   <li><a>p1Id</a></li>
--   <li><a>p1SSLRequired</a></li>
--   <li><a>p1SubAccountId</a></li>
--   <li><a>p1PlacementGroupIdDimensionValue</a></li>
--   <li><a>p1ExternalId</a></li>
--   <li><a>p1PlacementGroupId</a></li>
--   <li><a>p1Comment</a></li>
--   <li><a>p1SiteId</a></li>
--   <li><a>p1Compatibility</a></li>
--   <li><a>p1Archived</a></li>
--   <li><a>p1PaymentApproved</a></li>
--   <li><a>p1PublisherUpdateInfo</a></li>
--   </ul>
placement :: Placement

-- | Third-party placement status.
p1Status :: Lens' Placement (Maybe PlacementStatus)

-- | A collection of settings which affect video creatives served through
--   this placement. Applicable to placements with IN_STREAM_VIDEO
--   compatibility.
p1VideoSettings :: Lens' Placement (Maybe VideoSettings)

-- | ID of the placement strategy assigned to this placement.
p1PlacementStrategyId :: Lens' Placement (Maybe Int64)

-- | Tag formats to generate for this placement. This field is required on
--   insertion. Acceptable values are: - "PLACEMENT_TAG_STANDARD" -
--   "PLACEMENT_TAG_IFRAME_JAVASCRIPT" - "PLACEMENT_TAG_IFRAME_ILAYER" -
--   "PLACEMENT_TAG_INTERNAL_REDIRECT" - "PLACEMENT_TAG_JAVASCRIPT" -
--   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -
--   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -
--   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -
--   "PLACEMENT_TAG_CLICK_COMMANDS" -
--   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" - "PLACEMENT_TAG_TRACKING" -
--   "PLACEMENT_TAG_TRACKING_IFRAME" - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
p1TagFormats :: Lens' Placement [PlacementTagFormatsItem]

-- | Dimension value for the ID of the site. This is a read-only,
--   auto-generated field.
p1SiteIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | Pricing schedule of this placement. This field is required on
--   insertion, specifically subfields startDate, endDate and pricingType.
p1PricingSchedule :: Lens' Placement (Maybe PricingSchedule)

-- | Size associated with this placement. When inserting or updating a
--   placement, only the size ID field is used. This field is required on
--   insertion.
p1Size :: Lens' Placement (Maybe Size)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placement".
p1Kind :: Lens' Placement Text

-- | Key name of this placement. This is a read-only, auto-generated field.
p1KeyName :: Lens' Placement (Maybe Text)

-- | Dimension value for the ID of the campaign. This is a read-only,
--   auto-generated field.
p1CampaignIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | Advertiser ID of this placement. This field can be left blank.
p1AdvertiserId :: Lens' Placement (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
p1AdvertiserIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | Campaign ID of this placement. This field is a required field on
--   insertion.
p1CampaignId :: Lens' Placement (Maybe Int64)

-- | Dimension value for the ID of this placement. This is a read-only,
--   auto-generated field.
p1IdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | VPAID adapter setting for this placement. Controls which VPAID format
--   the measurement adapter will use for in-stream video creatives
--   assigned to this placement.
p1VpaidAdapterChoice :: Lens' Placement (Maybe PlacementVpaidAdapterChoice)

-- | Whether this placement is the primary placement of a roadblock
--   (placement group). You cannot change this field from true to false.
--   Setting this field to true will automatically set the primary field on
--   the original primary placement of the roadblock to false, and it will
--   automatically set the roadblock's primaryPlacementId field to the ID
--   of this placement.
p1Primary :: Lens' Placement (Maybe Bool)

-- | Lookback window settings for this placement.
p1LookbackConfiguration :: Lens' Placement (Maybe LookbackConfiguration)

-- | Tag settings for this placement.
p1TagSetting :: Lens' Placement (Maybe TagSetting)

-- | ID of the content category assigned to this placement.
p1ContentCategoryId :: Lens' Placement (Maybe Int64)

-- | Dimension value for the ID of the directory site. This is a read-only,
--   auto-generated field.
p1DirectorySiteIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | Account ID of this placement. This field can be left blank.
p1AccountId :: Lens' Placement (Maybe Int64)

-- | Payment source for this placement. This is a required field that is
--   read-only after insertion.
p1PaymentSource :: Lens' Placement (Maybe PlacementPaymentSource)

-- | Name of this placement.This is a required field and must be less than
--   256 characters long.
p1Name :: Lens' Placement (Maybe Text)

-- | Directory site ID of this placement. On insert, you must set either
--   this field or the siteId field to specify the site associated with
--   this placement. This is a required field that is read-only after
--   insertion.
p1DirectorySiteId :: Lens' Placement (Maybe Int64)

-- | Information about the creation of this placement. This is a read-only
--   field.
p1CreateInfo :: Lens' Placement (Maybe LastModifiedInfo)

-- | Whether Verification and ActiveView are disabled for in-stream video
--   creatives for this placement. The same setting videoActiveViewOptOut
--   exists on the site level -- the opt out occurs if either of these
--   settings are true. These settings are distinct from
--   DirectorySites.settings.activeViewOptOut or
--   Sites.siteSettings.activeViewOptOut which only apply to display ads.
--   However, Accounts.activeViewOptOut opts out both video traffic, as
--   well as display ads, from Verification and ActiveView.
p1VideoActiveViewOptOut :: Lens' Placement (Maybe Bool)

-- | Information about the most recent modification of this placement. This
--   is a read-only field.
p1LastModifiedInfo :: Lens' Placement (Maybe LastModifiedInfo)

-- | ID of this placement. This is a read-only, auto-generated field.
p1Id :: Lens' Placement (Maybe Int64)

-- | Whether creatives assigned to this placement must be SSL-compliant.
p1SSLRequired :: Lens' Placement (Maybe Bool)

-- | Subaccount ID of this placement. This field can be left blank.
p1SubAccountId :: Lens' Placement (Maybe Int64)

-- | Dimension value for the ID of the placement group. This is a
--   read-only, auto-generated field.
p1PlacementGroupIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | External ID for this placement.
p1ExternalId :: Lens' Placement (Maybe Text)

-- | ID of this placement's group, if applicable.
p1PlacementGroupId :: Lens' Placement (Maybe Int64)

-- | Comments for this placement.
p1Comment :: Lens' Placement (Maybe Text)

-- | Site ID associated with this placement. On insert, you must set either
--   this field or the directorySiteId field to specify the site associated
--   with this placement. This is a required field that is read-only after
--   insertion.
p1SiteId :: Lens' Placement (Maybe Int64)

-- | Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   rendering on desktop, on mobile devices or in mobile apps for regular
--   or interstitial ads respectively. APP and APP_INTERSTITIAL are no
--   longer allowed for new placement insertions. Instead, use DISPLAY or
--   DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream
--   video ads developed with the VAST standard. This field is required on
--   insertion.
p1Compatibility :: Lens' Placement (Maybe PlacementCompatibility)

-- | Whether this placement is archived.
p1Archived :: Lens' Placement (Maybe Bool)

-- | Whether payment was approved for this placement. This is a read-only
--   field relevant only to publisher-paid placements.
p1PaymentApproved :: Lens' Placement (Maybe Bool)

-- | Information about the last publisher update. This is a read-only
--   field.
p1PublisherUpdateInfo :: Lens' Placement (Maybe LastModifiedInfo)

-- | Counting method for conversions for this floodlight activity. This is
--   a required field.
data FloodlightActivityCountingMethod

-- | <pre>
--   ITEMS_SOLD_COUNTING
--   </pre>
ItemsSoldCounting :: FloodlightActivityCountingMethod

-- | <pre>
--   SESSION_COUNTING
--   </pre>
SessionCounting :: FloodlightActivityCountingMethod

-- | <pre>
--   STANDARD_COUNTING
--   </pre>
StandardCounting :: FloodlightActivityCountingMethod

-- | <pre>
--   TRANSACTIONS_COUNTING
--   </pre>
TransactionsCounting :: FloodlightActivityCountingMethod

-- | <pre>
--   UNIQUE_COUNTING
--   </pre>
UniqueCounting :: FloodlightActivityCountingMethod

-- | A description of how user IDs are encrypted.
--   
--   <i>See:</i> <a>encryptionInfo</a> smart constructor.
data EncryptionInfo

-- | Creates a value of <a>EncryptionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eiEncryptionSource</a></li>
--   <li><a>eiKind</a></li>
--   <li><a>eiEncryptionEntityType</a></li>
--   <li><a>eiEncryptionEntityId</a></li>
--   </ul>
encryptionInfo :: EncryptionInfo

-- | Describes whether the encrypted cookie was received from ad serving
--   (the %m macro) or from Data Transfer.
eiEncryptionSource :: Lens' EncryptionInfo (Maybe EncryptionInfoEncryptionSource)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#encryptionInfo".
eiKind :: Lens' EncryptionInfo Text

-- | The encryption entity type. This should match the encryption
--   configuration for ad serving or Data Transfer.
eiEncryptionEntityType :: Lens' EncryptionInfo (Maybe EncryptionInfoEncryptionEntityType)

-- | The encryption entity ID. This should match the encryption
--   configuration for ad serving or Data Transfer.
eiEncryptionEntityId :: Lens' EncryptionInfo (Maybe Int64)

-- | Site List Response
--   
--   <i>See:</i> <a>sitesListResponse</a> smart constructor.
data SitesListResponse

-- | Creates a value of <a>SitesListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sitNextPageToken</a></li>
--   <li><a>sitKind</a></li>
--   <li><a>sitSites</a></li>
--   </ul>
sitesListResponse :: SitesListResponse

-- | Pagination token to be used for the next list operation.
sitNextPageToken :: Lens' SitesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#sitesListResponse".
sitKind :: Lens' SitesListResponse Text

-- | Site collection.
sitSites :: Lens' SitesListResponse [Site]

-- | Order of sorted results, default is ASCENDING.
data ContentCategoriesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CCLSOAscending :: ContentCategoriesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CCLSODescending :: ContentCategoriesListSortOrder

-- | Contains properties of a targeting template. A targeting template
--   encapsulates targeting information which can be reused across multiple
--   ads.
--   
--   <i>See:</i> <a>targetingTemplate</a> smart constructor.
data TargetingTemplate

-- | Creates a value of <a>TargetingTemplate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttGeoTargeting</a></li>
--   <li><a>ttTechnologyTargeting</a></li>
--   <li><a>ttDayPartTargeting</a></li>
--   <li><a>ttKind</a></li>
--   <li><a>ttAdvertiserId</a></li>
--   <li><a>ttAdvertiserIdDimensionValue</a></li>
--   <li><a>ttAccountId</a></li>
--   <li><a>ttName</a></li>
--   <li><a>ttKeyValueTargetingExpression</a></li>
--   <li><a>ttId</a></li>
--   <li><a>ttSubAccountId</a></li>
--   <li><a>ttLanguageTargeting</a></li>
--   <li><a>ttListTargetingExpression</a></li>
--   </ul>
targetingTemplate :: TargetingTemplate

-- | Geographical targeting criteria.
ttGeoTargeting :: Lens' TargetingTemplate (Maybe GeoTargeting)

-- | Technology platform targeting criteria.
ttTechnologyTargeting :: Lens' TargetingTemplate (Maybe TechnologyTargeting)

-- | Time and day targeting criteria.
ttDayPartTargeting :: Lens' TargetingTemplate (Maybe DayPartTargeting)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#targetingTemplate".
ttKind :: Lens' TargetingTemplate Text

-- | Advertiser ID of this targeting template. This is a required field on
--   insert and is read-only after insert.
ttAdvertiserId :: Lens' TargetingTemplate (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
ttAdvertiserIdDimensionValue :: Lens' TargetingTemplate (Maybe DimensionValue)

-- | Account ID of this targeting template. This field, if left unset, will
--   be auto-generated on insert and is read-only after insert.
ttAccountId :: Lens' TargetingTemplate (Maybe Int64)

-- | Name of this targeting template. This field is required. It must be
--   less than 256 characters long and unique within an advertiser.
ttName :: Lens' TargetingTemplate (Maybe Text)

-- | Key-value targeting criteria.
ttKeyValueTargetingExpression :: Lens' TargetingTemplate (Maybe KeyValueTargetingExpression)

-- | ID of this targeting template. This is a read-only, auto-generated
--   field.
ttId :: Lens' TargetingTemplate (Maybe Int64)

-- | Subaccount ID of this targeting template. This field, if left unset,
--   will be auto-generated on insert and is read-only after insert.
ttSubAccountId :: Lens' TargetingTemplate (Maybe Int64)

-- | Language targeting criteria.
ttLanguageTargeting :: Lens' TargetingTemplate (Maybe LanguageTargeting)

-- | Remarketing list targeting criteria.
ttListTargetingExpression :: Lens' TargetingTemplate (Maybe ListTargetingExpression)

-- | Contains properties of a creative field.
--   
--   <i>See:</i> <a>creativeField</a> smart constructor.
data CreativeField

-- | Creates a value of <a>CreativeField</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cffKind</a></li>
--   <li><a>cffAdvertiserId</a></li>
--   <li><a>cffAdvertiserIdDimensionValue</a></li>
--   <li><a>cffAccountId</a></li>
--   <li><a>cffName</a></li>
--   <li><a>cffId</a></li>
--   <li><a>cffSubAccountId</a></li>
--   </ul>
creativeField :: CreativeField

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeField".
cffKind :: Lens' CreativeField Text

-- | Advertiser ID of this creative field. This is a required field on
--   insertion.
cffAdvertiserId :: Lens' CreativeField (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
cffAdvertiserIdDimensionValue :: Lens' CreativeField (Maybe DimensionValue)

-- | Account ID of this creative field. This is a read-only field that can
--   be left blank.
cffAccountId :: Lens' CreativeField (Maybe Int64)

-- | Name of this creative field. This is a required field and must be less
--   than 256 characters long and unique among creative fields of the same
--   advertiser.
cffName :: Lens' CreativeField (Maybe Text)

-- | ID of this creative field. This is a read-only, auto-generated field.
cffId :: Lens' CreativeField (Maybe Int64)

-- | Subaccount ID of this creative field. This is a read-only field that
--   can be left blank.
cffSubAccountId :: Lens' CreativeField (Maybe Int64)

-- | Status of this advertiser.
data AdvertiserStatus

-- | <pre>
--   APPROVED
--   </pre>
ASApproved :: AdvertiserStatus

-- | <pre>
--   ON_HOLD
--   </pre>
ASOnHold :: AdvertiserStatus

-- | Properties of inheriting and overriding the default click-through
--   event tag. A campaign may override the event tag defined at the
--   advertiser level, and an ad may also override the campaign's setting
--   further.
--   
--   <i>See:</i> <a>defaultClickThroughEventTagProperties</a> smart
--   constructor.
data DefaultClickThroughEventTagProperties

-- | Creates a value of <a>DefaultClickThroughEventTagProperties</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dctetpOverrideInheritedEventTag</a></li>
--   <li><a>dctetpDefaultClickThroughEventTagId</a></li>
--   </ul>
defaultClickThroughEventTagProperties :: DefaultClickThroughEventTagProperties

-- | Whether this entity should override the inherited default
--   click-through event tag with its own defined value.
dctetpOverrideInheritedEventTag :: Lens' DefaultClickThroughEventTagProperties (Maybe Bool)

-- | ID of the click-through event tag to apply to all ads in this entity's
--   scope.
dctetpDefaultClickThroughEventTagId :: Lens' DefaultClickThroughEventTagProperties (Maybe Int64)

-- | Remarketing List Targeting Expression.
--   
--   <i>See:</i> <a>listTargetingExpression</a> smart constructor.
data ListTargetingExpression

-- | Creates a value of <a>ListTargetingExpression</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lteExpression</a></li>
--   </ul>
listTargetingExpression :: ListTargetingExpression

-- | Expression describing which lists are being targeted by the ad.
lteExpression :: Lens' ListTargetingExpression (Maybe Text)


-- | Gets the account's active ad summary by account ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountActiveAdSummaries.get</tt>.
module Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get

-- | A resource alias for
--   <tt>dfareporting.accountActiveAdSummaries.get</tt> method which the
--   <a>AccountActiveAdSummariesGet</a> request conforms to.
type AccountActiveAdSummariesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountActiveAdSummaries" :> (Capture "summaryAccountId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountActiveAdSummary))))))

-- | Creates a value of <a>AccountActiveAdSummariesGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaasgProFileId</a></li>
--   <li><a>aaasgSummaryAccountId</a></li>
--   </ul>
accountActiveAdSummariesGet :: Int64 -> Int64 -> AccountActiveAdSummariesGet

-- | Gets the account's active ad summary by account ID.
--   
--   <i>See:</i> <a>accountActiveAdSummariesGet</a> smart constructor.
data AccountActiveAdSummariesGet

-- | User profile ID associated with this request.
aaasgProFileId :: Lens' AccountActiveAdSummariesGet Int64

-- | Account ID.
aaasgSummaryAccountId :: Lens' AccountActiveAdSummariesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get.AccountActiveAdSummariesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get.AccountActiveAdSummariesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get.AccountActiveAdSummariesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get.AccountActiveAdSummariesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get.AccountActiveAdSummariesGet


-- | Gets one account permission group by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountPermissionGroups.get</tt>.
module Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get

-- | A resource alias for <tt>dfareporting.accountPermissionGroups.get</tt>
--   method which the <a>AccountPermissionGroupsGet</a> request conforms
--   to.
type AccountPermissionGroupsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountPermissionGroups" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountPermissionGroup))))))

-- | Creates a value of <a>AccountPermissionGroupsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apggProFileId</a></li>
--   <li><a>apggId</a></li>
--   </ul>
accountPermissionGroupsGet :: Int64 -> Int64 -> AccountPermissionGroupsGet

-- | Gets one account permission group by ID.
--   
--   <i>See:</i> <a>accountPermissionGroupsGet</a> smart constructor.
data AccountPermissionGroupsGet

-- | User profile ID associated with this request.
apggProFileId :: Lens' AccountPermissionGroupsGet Int64

-- | Account permission group ID.
apggId :: Lens' AccountPermissionGroupsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get.AccountPermissionGroupsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get.AccountPermissionGroupsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get.AccountPermissionGroupsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get.AccountPermissionGroupsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get.AccountPermissionGroupsGet


-- | Retrieves the list of account permission groups.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountPermissionGroups.list</tt>.
module Network.Google.Resource.DFAReporting.AccountPermissionGroups.List

-- | A resource alias for
--   <tt>dfareporting.accountPermissionGroups.list</tt> method which the
--   <a>AccountPermissionGroupsList</a> request conforms to.
type AccountPermissionGroupsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountPermissionGroups" :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountPermissionGroupsListResponse)))))

-- | Creates a value of <a>AccountPermissionGroupsList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apglProFileId</a></li>
--   </ul>
accountPermissionGroupsList :: Int64 -> AccountPermissionGroupsList

-- | Retrieves the list of account permission groups.
--   
--   <i>See:</i> <a>accountPermissionGroupsList</a> smart constructor.
data AccountPermissionGroupsList

-- | User profile ID associated with this request.
apglProFileId :: Lens' AccountPermissionGroupsList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountPermissionGroups.List.AccountPermissionGroupsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountPermissionGroups.List.AccountPermissionGroupsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountPermissionGroups.List.AccountPermissionGroupsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountPermissionGroups.List.AccountPermissionGroupsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountPermissionGroups.List.AccountPermissionGroupsList


-- | Gets one account permission by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountPermissions.get</tt>.
module Network.Google.Resource.DFAReporting.AccountPermissions.Get

-- | A resource alias for <tt>dfareporting.accountPermissions.get</tt>
--   method which the <a>AccountPermissionsGet</a> request conforms to.
type AccountPermissionsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountPermissions" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountPermission))))))

-- | Creates a value of <a>AccountPermissionsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apgProFileId</a></li>
--   <li><a>apgId</a></li>
--   </ul>
accountPermissionsGet :: Int64 -> Int64 -> AccountPermissionsGet

-- | Gets one account permission by ID.
--   
--   <i>See:</i> <a>accountPermissionsGet</a> smart constructor.
data AccountPermissionsGet

-- | User profile ID associated with this request.
apgProFileId :: Lens' AccountPermissionsGet Int64

-- | Account permission ID.
apgId :: Lens' AccountPermissionsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountPermissions.Get.AccountPermissionsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountPermissions.Get.AccountPermissionsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountPermissions.Get.AccountPermissionsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountPermissions.Get.AccountPermissionsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountPermissions.Get.AccountPermissionsGet


-- | Retrieves the list of account permissions.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountPermissions.list</tt>.
module Network.Google.Resource.DFAReporting.AccountPermissions.List

-- | A resource alias for <tt>dfareporting.accountPermissions.list</tt>
--   method which the <a>AccountPermissionsList</a> request conforms to.
type AccountPermissionsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountPermissions" :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountPermissionsListResponse)))))

-- | Creates a value of <a>AccountPermissionsList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aplProFileId</a></li>
--   </ul>
accountPermissionsList :: Int64 -> AccountPermissionsList

-- | Retrieves the list of account permissions.
--   
--   <i>See:</i> <a>accountPermissionsList</a> smart constructor.
data AccountPermissionsList

-- | User profile ID associated with this request.
aplProFileId :: Lens' AccountPermissionsList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountPermissions.List.AccountPermissionsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountPermissions.List.AccountPermissionsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountPermissions.List.AccountPermissionsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountPermissions.List.AccountPermissionsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountPermissions.List.AccountPermissionsList


-- | Gets one account user profile by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountUserProfiles.get</tt>.
module Network.Google.Resource.DFAReporting.AccountUserProFiles.Get

-- | A resource alias for <tt>dfareporting.accountUserProfiles.get</tt>
--   method which the <a>AccountUserProFilesGet</a> request conforms to.
type AccountUserProFilesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountUserProfiles" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountUserProFile))))))

-- | Creates a value of <a>AccountUserProFilesGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aupfgProFileId</a></li>
--   <li><a>aupfgId</a></li>
--   </ul>
accountUserProFilesGet :: Int64 -> Int64 -> AccountUserProFilesGet

-- | Gets one account user profile by ID.
--   
--   <i>See:</i> <a>accountUserProFilesGet</a> smart constructor.
data AccountUserProFilesGet

-- | User profile ID associated with this request.
aupfgProFileId :: Lens' AccountUserProFilesGet Int64

-- | User profile ID.
aupfgId :: Lens' AccountUserProFilesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountUserProFiles.Get.AccountUserProFilesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountUserProFiles.Get.AccountUserProFilesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountUserProFiles.Get.AccountUserProFilesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountUserProFiles.Get.AccountUserProFilesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountUserProFiles.Get.AccountUserProFilesGet


-- | Inserts a new account user profile.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountUserProfiles.insert</tt>.
module Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert

-- | A resource alias for <tt>dfareporting.accountUserProfiles.insert</tt>
--   method which the <a>AccountUserProFilesInsert</a> request conforms to.
type AccountUserProFilesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountUserProfiles" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountUserProFile :> Post '[JSON] AccountUserProFile))))))

-- | Creates a value of <a>AccountUserProFilesInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aupfiProFileId</a></li>
--   <li><a>aupfiPayload</a></li>
--   </ul>
accountUserProFilesInsert :: Int64 -> AccountUserProFile -> AccountUserProFilesInsert

-- | Inserts a new account user profile.
--   
--   <i>See:</i> <a>accountUserProFilesInsert</a> smart constructor.
data AccountUserProFilesInsert

-- | User profile ID associated with this request.
aupfiProFileId :: Lens' AccountUserProFilesInsert Int64

-- | Multipart request metadata.
aupfiPayload :: Lens' AccountUserProFilesInsert AccountUserProFile
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert.AccountUserProFilesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert.AccountUserProFilesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert.AccountUserProFilesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert.AccountUserProFilesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert.AccountUserProFilesInsert


-- | Retrieves a list of account user profiles, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountUserProfiles.list</tt>.
module Network.Google.Resource.DFAReporting.AccountUserProFiles.List

-- | A resource alias for <tt>dfareporting.accountUserProfiles.list</tt>
--   method which the <a>AccountUserProFilesList</a> request conforms to.
type AccountUserProFilesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountUserProfiles" :> (QueryParam "userRoleId" (Textual Int64) :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" AccountUserProFilesListSortOrder :> (QueryParam "active" Bool :> (QueryParam "pageToken" Text :> (QueryParam "sortField" AccountUserProFilesListSortField :> (QueryParam "subaccountId" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountUserProFilesListResponse))))))))))))))

-- | Creates a value of <a>AccountUserProFilesList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aupflUserRoleId</a></li>
--   <li><a>aupflSearchString</a></li>
--   <li><a>aupflIds</a></li>
--   <li><a>aupflProFileId</a></li>
--   <li><a>aupflSortOrder</a></li>
--   <li><a>aupflActive</a></li>
--   <li><a>aupflPageToken</a></li>
--   <li><a>aupflSortField</a></li>
--   <li><a>aupflSubAccountId</a></li>
--   <li><a>aupflMaxResults</a></li>
--   </ul>
accountUserProFilesList :: Int64 -> AccountUserProFilesList

-- | Retrieves a list of account user profiles, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>accountUserProFilesList</a> smart constructor.
data AccountUserProFilesList

-- | Select only user profiles with the specified user role ID.
aupflUserRoleId :: Lens' AccountUserProFilesList (Maybe Int64)

-- | Allows searching for objects by name, ID or email. Wildcards (*) are
--   allowed. For example, "user profile*2015" will return objects with
--   names like "user profile June 2015", "user profile April 2015", or
--   simply "user profile 2015". Most of the searches also add wildcards
--   implicitly at the start and the end of the search string. For example,
--   a search string of "user profile" will match objects with name "my
--   user profile", "user profile 2015", or simply "user profile".
aupflSearchString :: Lens' AccountUserProFilesList (Maybe Text)

-- | Select only user profiles with these IDs.
aupflIds :: Lens' AccountUserProFilesList [Int64]

-- | User profile ID associated with this request.
aupflProFileId :: Lens' AccountUserProFilesList Int64

-- | Order of sorted results, default is ASCENDING.
aupflSortOrder :: Lens' AccountUserProFilesList (Maybe AccountUserProFilesListSortOrder)

-- | Select only active user profiles.
aupflActive :: Lens' AccountUserProFilesList (Maybe Bool)

-- | Value of the nextPageToken from the previous result page.
aupflPageToken :: Lens' AccountUserProFilesList (Maybe Text)

-- | Field by which to sort the list.
aupflSortField :: Lens' AccountUserProFilesList (Maybe AccountUserProFilesListSortField)

-- | Select only user profiles with the specified subaccount ID.
aupflSubAccountId :: Lens' AccountUserProFilesList (Maybe Int64)

-- | Maximum number of results to return.
aupflMaxResults :: Lens' AccountUserProFilesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountUserProFiles.List.AccountUserProFilesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountUserProFiles.List.AccountUserProFilesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountUserProFiles.List.AccountUserProFilesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountUserProFiles.List.AccountUserProFilesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountUserProFiles.List.AccountUserProFilesList


-- | Updates an existing account user profile. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountUserProfiles.patch</tt>.
module Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch

-- | A resource alias for <tt>dfareporting.accountUserProfiles.patch</tt>
--   method which the <a>AccountUserProFilesPatch</a> request conforms to.
type AccountUserProFilesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountUserProfiles" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountUserProFile :> Patch '[JSON] AccountUserProFile)))))))

-- | Creates a value of <a>AccountUserProFilesPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aupfpProFileId</a></li>
--   <li><a>aupfpPayload</a></li>
--   <li><a>aupfpId</a></li>
--   </ul>
accountUserProFilesPatch :: Int64 -> AccountUserProFile -> Int64 -> AccountUserProFilesPatch

-- | Updates an existing account user profile. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>accountUserProFilesPatch</a> smart constructor.
data AccountUserProFilesPatch

-- | User profile ID associated with this request.
aupfpProFileId :: Lens' AccountUserProFilesPatch Int64

-- | Multipart request metadata.
aupfpPayload :: Lens' AccountUserProFilesPatch AccountUserProFile

-- | User profile ID.
aupfpId :: Lens' AccountUserProFilesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch.AccountUserProFilesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch.AccountUserProFilesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch.AccountUserProFilesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch.AccountUserProFilesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch.AccountUserProFilesPatch


-- | Updates an existing account user profile.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accountUserProfiles.update</tt>.
module Network.Google.Resource.DFAReporting.AccountUserProFiles.Update

-- | A resource alias for <tt>dfareporting.accountUserProfiles.update</tt>
--   method which the <a>AccountUserProFilesUpdate</a> request conforms to.
type AccountUserProFilesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accountUserProfiles" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountUserProFile :> Put '[JSON] AccountUserProFile))))))

-- | Creates a value of <a>AccountUserProFilesUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aupfuProFileId</a></li>
--   <li><a>aupfuPayload</a></li>
--   </ul>
accountUserProFilesUpdate :: Int64 -> AccountUserProFile -> AccountUserProFilesUpdate

-- | Updates an existing account user profile.
--   
--   <i>See:</i> <a>accountUserProFilesUpdate</a> smart constructor.
data AccountUserProFilesUpdate

-- | User profile ID associated with this request.
aupfuProFileId :: Lens' AccountUserProFilesUpdate Int64

-- | Multipart request metadata.
aupfuPayload :: Lens' AccountUserProFilesUpdate AccountUserProFile
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AccountUserProFiles.Update.AccountUserProFilesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.AccountUserProFiles.Update.AccountUserProFilesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AccountUserProFiles.Update.AccountUserProFilesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AccountUserProFiles.Update.AccountUserProFilesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AccountUserProFiles.Update.AccountUserProFilesUpdate


-- | Gets one account by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accounts.get</tt>.
module Network.Google.Resource.DFAReporting.Accounts.Get

-- | A resource alias for <tt>dfareporting.accounts.get</tt> method which
--   the <a>AccountsGet</a> request conforms to.
type AccountsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accounts" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Account))))))

-- | Creates a value of <a>AccountsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aggProFileId</a></li>
--   <li><a>aggId</a></li>
--   </ul>
accountsGet :: Int64 -> Int64 -> AccountsGet

-- | Gets one account by ID.
--   
--   <i>See:</i> <a>accountsGet</a> smart constructor.
data AccountsGet

-- | User profile ID associated with this request.
aggProFileId :: Lens' AccountsGet Int64

-- | Account ID.
aggId :: Lens' AccountsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Accounts.Get.AccountsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Accounts.Get.AccountsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Accounts.Get.AccountsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Accounts.Get.AccountsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Accounts.Get.AccountsGet


-- | Retrieves the list of accounts, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accounts.list</tt>.
module Network.Google.Resource.DFAReporting.Accounts.List

-- | A resource alias for <tt>dfareporting.accounts.list</tt> method which
--   the <a>AccountsList</a> request conforms to.
type AccountsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accounts" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" AccountsListSortOrder :> (QueryParam "active" Bool :> (QueryParam "pageToken" Text :> (QueryParam "sortField" AccountsListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountsListResponse))))))))))))

-- | Creates a value of <a>AccountsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accSearchString</a></li>
--   <li><a>accIds</a></li>
--   <li><a>accProFileId</a></li>
--   <li><a>accSortOrder</a></li>
--   <li><a>accActive</a></li>
--   <li><a>accPageToken</a></li>
--   <li><a>accSortField</a></li>
--   <li><a>accMaxResults</a></li>
--   </ul>
accountsList :: Int64 -> AccountsList

-- | Retrieves the list of accounts, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>accountsList</a> smart constructor.
data AccountsList

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "account*2015" will return objects with names like
--   "account June 2015", "account April 2015", or simply "account 2015".
--   Most of the searches also add wildcards implicitly at the start and
--   the end of the search string. For example, a search string of
--   "account" will match objects with name "my account", "account 2015",
--   or simply "account".
accSearchString :: Lens' AccountsList (Maybe Text)

-- | Select only accounts with these IDs.
accIds :: Lens' AccountsList [Int64]

-- | User profile ID associated with this request.
accProFileId :: Lens' AccountsList Int64

-- | Order of sorted results, default is ASCENDING.
accSortOrder :: Lens' AccountsList (Maybe AccountsListSortOrder)

-- | Select only active accounts. Don't set this field to select both
--   active and non-active accounts.
accActive :: Lens' AccountsList (Maybe Bool)

-- | Value of the nextPageToken from the previous result page.
accPageToken :: Lens' AccountsList (Maybe Text)

-- | Field by which to sort the list.
accSortField :: Lens' AccountsList (Maybe AccountsListSortField)

-- | Maximum number of results to return.
accMaxResults :: Lens' AccountsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Accounts.List.AccountsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Accounts.List.AccountsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Accounts.List.AccountsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Accounts.List.AccountsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Accounts.List.AccountsList


-- | Updates an existing account. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accounts.patch</tt>.
module Network.Google.Resource.DFAReporting.Accounts.Patch

-- | A resource alias for <tt>dfareporting.accounts.patch</tt> method which
--   the <a>AccountsPatch</a> request conforms to.
type AccountsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accounts" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Account :> Patch '[JSON] Account)))))))

-- | Creates a value of <a>AccountsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>appProFileId</a></li>
--   <li><a>appPayload</a></li>
--   <li><a>appId</a></li>
--   </ul>
accountsPatch :: Int64 -> Account -> Int64 -> AccountsPatch

-- | Updates an existing account. This method supports patch semantics.
--   
--   <i>See:</i> <a>accountsPatch</a> smart constructor.
data AccountsPatch

-- | User profile ID associated with this request.
appProFileId :: Lens' AccountsPatch Int64

-- | Multipart request metadata.
appPayload :: Lens' AccountsPatch Account

-- | Account ID.
appId :: Lens' AccountsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Accounts.Patch.AccountsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.Accounts.Patch.AccountsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Accounts.Patch.AccountsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Accounts.Patch.AccountsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Accounts.Patch.AccountsPatch


-- | Updates an existing account.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.accounts.update</tt>.
module Network.Google.Resource.DFAReporting.Accounts.Update

-- | A resource alias for <tt>dfareporting.accounts.update</tt> method
--   which the <a>AccountsUpdate</a> request conforms to.
type AccountsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("accounts" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Account :> Put '[JSON] Account))))))

-- | Creates a value of <a>AccountsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auuProFileId</a></li>
--   <li><a>auuPayload</a></li>
--   </ul>
accountsUpdate :: Int64 -> Account -> AccountsUpdate

-- | Updates an existing account.
--   
--   <i>See:</i> <a>accountsUpdate</a> smart constructor.
data AccountsUpdate

-- | User profile ID associated with this request.
auuProFileId :: Lens' AccountsUpdate Int64

-- | Multipart request metadata.
auuPayload :: Lens' AccountsUpdate Account
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Accounts.Update.AccountsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.Accounts.Update.AccountsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Accounts.Update.AccountsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Accounts.Update.AccountsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Accounts.Update.AccountsUpdate


-- | Gets one ad by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.ads.get</tt>.
module Network.Google.Resource.DFAReporting.Ads.Get

-- | A resource alias for <tt>dfareporting.ads.get</tt> method which the
--   <a>AdsGet</a> request conforms to.
type AdsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("ads" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Ad))))))

-- | Creates a value of <a>AdsGet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adsProFileId</a></li>
--   <li><a>adsId</a></li>
--   </ul>
adsGet :: Int64 -> Int64 -> AdsGet

-- | Gets one ad by ID.
--   
--   <i>See:</i> <a>adsGet</a> smart constructor.
data AdsGet

-- | User profile ID associated with this request.
adsProFileId :: Lens' AdsGet Int64

-- | Ad ID.
adsId :: Lens' AdsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Ads.Get.AdsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Ads.Get.AdsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Ads.Get.AdsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Ads.Get.AdsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Ads.Get.AdsGet


-- | Inserts a new ad.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.ads.insert</tt>.
module Network.Google.Resource.DFAReporting.Ads.Insert

-- | A resource alias for <tt>dfareporting.ads.insert</tt> method which the
--   <a>AdsInsert</a> request conforms to.
type AdsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("ads" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Ad :> Post '[JSON] Ad))))))

-- | Creates a value of <a>AdsInsert</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aiProFileId</a></li>
--   <li><a>aiPayload</a></li>
--   </ul>
adsInsert :: Int64 -> Ad -> AdsInsert

-- | Inserts a new ad.
--   
--   <i>See:</i> <a>adsInsert</a> smart constructor.
data AdsInsert

-- | User profile ID associated with this request.
aiProFileId :: Lens' AdsInsert Int64

-- | Multipart request metadata.
aiPayload :: Lens' AdsInsert Ad
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Ads.Insert.AdsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.Ads.Insert.AdsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Ads.Insert.AdsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Ads.Insert.AdsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Ads.Insert.AdsInsert


-- | Retrieves a list of ads, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.ads.list</tt>.
module Network.Google.Resource.DFAReporting.Ads.List

-- | A resource alias for <tt>dfareporting.ads.list</tt> method which the
--   <a>AdsList</a> request conforms to.
type AdsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("ads" :> (QueryParams "remarketingListIds" (Textual Int64) :> (QueryParams "landingPageIds" (Textual Int64) :> (QueryParams "creativeIds" (Textual Int64) :> (QueryParam "advertiserId" (Textual Int64) :> (QueryParams "campaignIds" (Textual Int64) :> (QueryParam "searchString" Text :> (QueryParams "sizeIds" (Textual Int64) :> (QueryParam "sslCompliant" Bool :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" AdsListSortOrder :> (QueryParam "active" Bool :> (QueryParams "creativeOptimizationConfigurationIds" (Textual Int64) :> (QueryParams "placementIds" (Textual Int64) :> (QueryParam "sslRequired" Bool :> (QueryParam "overriddenEventTagId" (Textual Int64) :> (QueryParam "pageToken" Text :> (QueryParam "sortField" AdsListSortField :> (QueryParams "type" AdsListType :> (QueryParam "dynamicClickTracker" Bool :> (QueryParam "compatibility" AdsListCompatibility :> (QueryParam "archived" Bool :> (QueryParam "maxResults" (Textual Int32) :> (QueryParams "audienceSegmentIds" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] AdsListResponse))))))))))))))))))))))))))))

-- | Creates a value of <a>AdsList</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alRemarketingListIds</a></li>
--   <li><a>alLandingPageIds</a></li>
--   <li><a>alCreativeIds</a></li>
--   <li><a>alAdvertiserId</a></li>
--   <li><a>alCampaignIds</a></li>
--   <li><a>alSearchString</a></li>
--   <li><a>alSizeIds</a></li>
--   <li><a>alSSLCompliant</a></li>
--   <li><a>alIds</a></li>
--   <li><a>alProFileId</a></li>
--   <li><a>alSortOrder</a></li>
--   <li><a>alActive</a></li>
--   <li><a>alCreativeOptimizationConfigurationIds</a></li>
--   <li><a>alPlacementIds</a></li>
--   <li><a>alSSLRequired</a></li>
--   <li><a>alOverriddenEventTagId</a></li>
--   <li><a>alPageToken</a></li>
--   <li><a>alSortField</a></li>
--   <li><a>alType</a></li>
--   <li><a>alDynamicClickTracker</a></li>
--   <li><a>alCompatibility</a></li>
--   <li><a>alArchived</a></li>
--   <li><a>alMaxResults</a></li>
--   <li><a>alAudienceSegmentIds</a></li>
--   </ul>
adsList :: Int64 -> AdsList

-- | Retrieves a list of ads, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>adsList</a> smart constructor.
data AdsList

-- | Select only ads whose list targeting expression use these remarketing
--   list IDs.
alRemarketingListIds :: Lens' AdsList [Int64]

-- | Select only ads with these landing page IDs.
alLandingPageIds :: Lens' AdsList [Int64]

-- | Select only ads with these creative IDs assigned.
alCreativeIds :: Lens' AdsList [Int64]

-- | Select only ads with this advertiser ID.
alAdvertiserId :: Lens' AdsList (Maybe Int64)

-- | Select only ads with these campaign IDs.
alCampaignIds :: Lens' AdsList [Int64]

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "ad*2015" will return objects with names like "ad June
--   2015", "ad April 2015", or simply "ad 2015". Most of the searches also
--   add wildcards implicitly at the start and the end of the search
--   string. For example, a search string of "ad" will match objects with
--   name "my ad", "ad 2015", or simply "ad".
alSearchString :: Lens' AdsList (Maybe Text)

-- | Select only ads with these size IDs.
alSizeIds :: Lens' AdsList [Int64]

-- | Select only ads that are SSL-compliant.
alSSLCompliant :: Lens' AdsList (Maybe Bool)

-- | Select only ads with these IDs.
alIds :: Lens' AdsList [Int64]

-- | User profile ID associated with this request.
alProFileId :: Lens' AdsList Int64

-- | Order of sorted results, default is ASCENDING.
alSortOrder :: Lens' AdsList (Maybe AdsListSortOrder)

-- | Select only active ads.
alActive :: Lens' AdsList (Maybe Bool)

-- | Select only ads with these creative optimization configuration IDs.
alCreativeOptimizationConfigurationIds :: Lens' AdsList [Int64]

-- | Select only ads with these placement IDs assigned.
alPlacementIds :: Lens' AdsList [Int64]

-- | Select only ads that require SSL.
alSSLRequired :: Lens' AdsList (Maybe Bool)

-- | Select only ads with this event tag override ID.
alOverriddenEventTagId :: Lens' AdsList (Maybe Int64)

-- | Value of the nextPageToken from the previous result page.
alPageToken :: Lens' AdsList (Maybe Text)

-- | Field by which to sort the list.
alSortField :: Lens' AdsList (Maybe AdsListSortField)

-- | Select only ads with these types.
alType :: Lens' AdsList [AdsListType]

-- | Select only dynamic click trackers. Applicable when type is
--   AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If
--   false, select static click trackers. Leave unset to select both.
alDynamicClickTracker :: Lens' AdsList (Maybe Bool)

-- | Select default ads with the specified compatibility. Applicable when
--   type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer
--   to rendering either on desktop or on mobile devices for regular or
--   interstitial ads, respectively. APP and APP_INTERSTITIAL are for
--   rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
--   in-stream video ads developed with the VAST standard.
alCompatibility :: Lens' AdsList (Maybe AdsListCompatibility)

-- | Select only archived ads.
alArchived :: Lens' AdsList (Maybe Bool)

-- | Maximum number of results to return.
alMaxResults :: Lens' AdsList (Maybe Int32)

-- | Select only ads with these audience segment IDs.
alAudienceSegmentIds :: Lens' AdsList [Int64]
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Ads.List.AdsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Ads.List.AdsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Ads.List.AdsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Ads.List.AdsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Ads.List.AdsList


-- | Updates an existing ad. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.ads.patch</tt>.
module Network.Google.Resource.DFAReporting.Ads.Patch

-- | A resource alias for <tt>dfareporting.ads.patch</tt> method which the
--   <a>AdsPatch</a> request conforms to.
type AdsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("ads" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Ad :> Patch '[JSON] Ad)))))))

-- | Creates a value of <a>AdsPatch</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adsdProFileId</a></li>
--   <li><a>adsdPayload</a></li>
--   <li><a>adsdId</a></li>
--   </ul>
adsPatch :: Int64 -> Ad -> Int64 -> AdsPatch

-- | Updates an existing ad. This method supports patch semantics.
--   
--   <i>See:</i> <a>adsPatch</a> smart constructor.
data AdsPatch

-- | User profile ID associated with this request.
adsdProFileId :: Lens' AdsPatch Int64

-- | Multipart request metadata.
adsdPayload :: Lens' AdsPatch Ad

-- | Ad ID.
adsdId :: Lens' AdsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Ads.Patch.AdsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.Ads.Patch.AdsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Ads.Patch.AdsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Ads.Patch.AdsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Ads.Patch.AdsPatch


-- | Updates an existing ad.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.ads.update</tt>.
module Network.Google.Resource.DFAReporting.Ads.Update

-- | A resource alias for <tt>dfareporting.ads.update</tt> method which the
--   <a>AdsUpdate</a> request conforms to.
type AdsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("ads" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Ad :> Put '[JSON] Ad))))))

-- | Creates a value of <a>AdsUpdate</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aProFileId</a></li>
--   <li><a>aPayload</a></li>
--   </ul>
adsUpdate :: Int64 -> Ad -> AdsUpdate

-- | Updates an existing ad.
--   
--   <i>See:</i> <a>adsUpdate</a> smart constructor.
data AdsUpdate

-- | User profile ID associated with this request.
aProFileId :: Lens' AdsUpdate Int64

-- | Multipart request metadata.
aPayload :: Lens' AdsUpdate Ad
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Ads.Update.AdsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.Ads.Update.AdsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Ads.Update.AdsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Ads.Update.AdsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Ads.Update.AdsUpdate


-- | Deletes an existing advertiser group.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertiserGroups.delete</tt>.
module Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete

-- | A resource alias for <tt>dfareporting.advertiserGroups.delete</tt>
--   method which the <a>AdvertiserGroupsDelete</a> request conforms to.
type AdvertiserGroupsDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertiserGroups" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>AdvertiserGroupsDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agdProFileId</a></li>
--   <li><a>agdId</a></li>
--   </ul>
advertiserGroupsDelete :: Int64 -> Int64 -> AdvertiserGroupsDelete

-- | Deletes an existing advertiser group.
--   
--   <i>See:</i> <a>advertiserGroupsDelete</a> smart constructor.
data AdvertiserGroupsDelete

-- | User profile ID associated with this request.
agdProFileId :: Lens' AdvertiserGroupsDelete Int64

-- | Advertiser group ID.
agdId :: Lens' AdvertiserGroupsDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete.AdvertiserGroupsDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete.AdvertiserGroupsDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete.AdvertiserGroupsDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete.AdvertiserGroupsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete.AdvertiserGroupsDelete


-- | Gets one advertiser group by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertiserGroups.get</tt>.
module Network.Google.Resource.DFAReporting.AdvertiserGroups.Get

-- | A resource alias for <tt>dfareporting.advertiserGroups.get</tt> method
--   which the <a>AdvertiserGroupsGet</a> request conforms to.
type AdvertiserGroupsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertiserGroups" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] AdvertiserGroup))))))

-- | Creates a value of <a>AdvertiserGroupsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agggProFileId</a></li>
--   <li><a>agggId</a></li>
--   </ul>
advertiserGroupsGet :: Int64 -> Int64 -> AdvertiserGroupsGet

-- | Gets one advertiser group by ID.
--   
--   <i>See:</i> <a>advertiserGroupsGet</a> smart constructor.
data AdvertiserGroupsGet

-- | User profile ID associated with this request.
agggProFileId :: Lens' AdvertiserGroupsGet Int64

-- | Advertiser group ID.
agggId :: Lens' AdvertiserGroupsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AdvertiserGroups.Get.AdvertiserGroupsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.AdvertiserGroups.Get.AdvertiserGroupsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AdvertiserGroups.Get.AdvertiserGroupsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AdvertiserGroups.Get.AdvertiserGroupsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AdvertiserGroups.Get.AdvertiserGroupsGet


-- | Inserts a new advertiser group.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertiserGroups.insert</tt>.
module Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert

-- | A resource alias for <tt>dfareporting.advertiserGroups.insert</tt>
--   method which the <a>AdvertiserGroupsInsert</a> request conforms to.
type AdvertiserGroupsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertiserGroups" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AdvertiserGroup :> Post '[JSON] AdvertiserGroup))))))

-- | Creates a value of <a>AdvertiserGroupsInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agiProFileId</a></li>
--   <li><a>agiPayload</a></li>
--   </ul>
advertiserGroupsInsert :: Int64 -> AdvertiserGroup -> AdvertiserGroupsInsert

-- | Inserts a new advertiser group.
--   
--   <i>See:</i> <a>advertiserGroupsInsert</a> smart constructor.
data AdvertiserGroupsInsert

-- | User profile ID associated with this request.
agiProFileId :: Lens' AdvertiserGroupsInsert Int64

-- | Multipart request metadata.
agiPayload :: Lens' AdvertiserGroupsInsert AdvertiserGroup
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert.AdvertiserGroupsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert.AdvertiserGroupsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert.AdvertiserGroupsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert.AdvertiserGroupsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert.AdvertiserGroupsInsert


-- | Retrieves a list of advertiser groups, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertiserGroups.list</tt>.
module Network.Google.Resource.DFAReporting.AdvertiserGroups.List

-- | A resource alias for <tt>dfareporting.advertiserGroups.list</tt>
--   method which the <a>AdvertiserGroupsList</a> request conforms to.
type AdvertiserGroupsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertiserGroups" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" AdvertiserGroupsListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" AdvertiserGroupsListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AdvertiserGroupsListResponse)))))))))))

-- | Creates a value of <a>AdvertiserGroupsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aglSearchString</a></li>
--   <li><a>aglIds</a></li>
--   <li><a>aglProFileId</a></li>
--   <li><a>aglSortOrder</a></li>
--   <li><a>aglPageToken</a></li>
--   <li><a>aglSortField</a></li>
--   <li><a>aglMaxResults</a></li>
--   </ul>
advertiserGroupsList :: Int64 -> AdvertiserGroupsList

-- | Retrieves a list of advertiser groups, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>advertiserGroupsList</a> smart constructor.
data AdvertiserGroupsList

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "advertiser*2015" will return objects with names like
--   "advertiser group June 2015", "advertiser group April 2015", or simply
--   "advertiser group 2015". Most of the searches also add wildcards
--   implicitly at the start and the end of the search string. For example,
--   a search string of "advertisergroup" will match objects with name "my
--   advertisergroup", "advertisergroup 2015", or simply "advertisergroup".
aglSearchString :: Lens' AdvertiserGroupsList (Maybe Text)

-- | Select only advertiser groups with these IDs.
aglIds :: Lens' AdvertiserGroupsList [Int64]

-- | User profile ID associated with this request.
aglProFileId :: Lens' AdvertiserGroupsList Int64

-- | Order of sorted results, default is ASCENDING.
aglSortOrder :: Lens' AdvertiserGroupsList (Maybe AdvertiserGroupsListSortOrder)

-- | Value of the nextPageToken from the previous result page.
aglPageToken :: Lens' AdvertiserGroupsList (Maybe Text)

-- | Field by which to sort the list.
aglSortField :: Lens' AdvertiserGroupsList (Maybe AdvertiserGroupsListSortField)

-- | Maximum number of results to return.
aglMaxResults :: Lens' AdvertiserGroupsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AdvertiserGroups.List.AdvertiserGroupsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.AdvertiserGroups.List.AdvertiserGroupsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AdvertiserGroups.List.AdvertiserGroupsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AdvertiserGroups.List.AdvertiserGroupsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AdvertiserGroups.List.AdvertiserGroupsList


-- | Updates an existing advertiser group. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertiserGroups.patch</tt>.
module Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch

-- | A resource alias for <tt>dfareporting.advertiserGroups.patch</tt>
--   method which the <a>AdvertiserGroupsPatch</a> request conforms to.
type AdvertiserGroupsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertiserGroups" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AdvertiserGroup :> Patch '[JSON] AdvertiserGroup)))))))

-- | Creates a value of <a>AdvertiserGroupsPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agpProFileId</a></li>
--   <li><a>agpPayload</a></li>
--   <li><a>agpId</a></li>
--   </ul>
advertiserGroupsPatch :: Int64 -> AdvertiserGroup -> Int64 -> AdvertiserGroupsPatch

-- | Updates an existing advertiser group. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>advertiserGroupsPatch</a> smart constructor.
data AdvertiserGroupsPatch

-- | User profile ID associated with this request.
agpProFileId :: Lens' AdvertiserGroupsPatch Int64

-- | Multipart request metadata.
agpPayload :: Lens' AdvertiserGroupsPatch AdvertiserGroup

-- | Advertiser group ID.
agpId :: Lens' AdvertiserGroupsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch.AdvertiserGroupsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch.AdvertiserGroupsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch.AdvertiserGroupsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch.AdvertiserGroupsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch.AdvertiserGroupsPatch


-- | Updates an existing advertiser group.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertiserGroups.update</tt>.
module Network.Google.Resource.DFAReporting.AdvertiserGroups.Update

-- | A resource alias for <tt>dfareporting.advertiserGroups.update</tt>
--   method which the <a>AdvertiserGroupsUpdate</a> request conforms to.
type AdvertiserGroupsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertiserGroups" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AdvertiserGroup :> Put '[JSON] AdvertiserGroup))))))

-- | Creates a value of <a>AdvertiserGroupsUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aguProFileId</a></li>
--   <li><a>aguPayload</a></li>
--   </ul>
advertiserGroupsUpdate :: Int64 -> AdvertiserGroup -> AdvertiserGroupsUpdate

-- | Updates an existing advertiser group.
--   
--   <i>See:</i> <a>advertiserGroupsUpdate</a> smart constructor.
data AdvertiserGroupsUpdate

-- | User profile ID associated with this request.
aguProFileId :: Lens' AdvertiserGroupsUpdate Int64

-- | Multipart request metadata.
aguPayload :: Lens' AdvertiserGroupsUpdate AdvertiserGroup
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.AdvertiserGroups.Update.AdvertiserGroupsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.AdvertiserGroups.Update.AdvertiserGroupsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.AdvertiserGroups.Update.AdvertiserGroupsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.AdvertiserGroups.Update.AdvertiserGroupsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.AdvertiserGroups.Update.AdvertiserGroupsUpdate


-- | Gets one advertiser by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertisers.get</tt>.
module Network.Google.Resource.DFAReporting.Advertisers.Get

-- | A resource alias for <tt>dfareporting.advertisers.get</tt> method
--   which the <a>AdvertisersGet</a> request conforms to.
type AdvertisersGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertisers" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Advertiser))))))

-- | Creates a value of <a>AdvertisersGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>advProFileId</a></li>
--   <li><a>advId</a></li>
--   </ul>
advertisersGet :: Int64 -> Int64 -> AdvertisersGet

-- | Gets one advertiser by ID.
--   
--   <i>See:</i> <a>advertisersGet</a> smart constructor.
data AdvertisersGet

-- | User profile ID associated with this request.
advProFileId :: Lens' AdvertisersGet Int64

-- | Advertiser ID.
advId :: Lens' AdvertisersGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Advertisers.Get.AdvertisersGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Advertisers.Get.AdvertisersGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Advertisers.Get.AdvertisersGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Advertisers.Get.AdvertisersGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Advertisers.Get.AdvertisersGet


-- | Inserts a new advertiser.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertisers.insert</tt>.
module Network.Google.Resource.DFAReporting.Advertisers.Insert

-- | A resource alias for <tt>dfareporting.advertisers.insert</tt> method
--   which the <a>AdvertisersInsert</a> request conforms to.
type AdvertisersInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertisers" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Advertiser :> Post '[JSON] Advertiser))))))

-- | Creates a value of <a>AdvertisersInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aiiProFileId</a></li>
--   <li><a>aiiPayload</a></li>
--   </ul>
advertisersInsert :: Int64 -> Advertiser -> AdvertisersInsert

-- | Inserts a new advertiser.
--   
--   <i>See:</i> <a>advertisersInsert</a> smart constructor.
data AdvertisersInsert

-- | User profile ID associated with this request.
aiiProFileId :: Lens' AdvertisersInsert Int64

-- | Multipart request metadata.
aiiPayload :: Lens' AdvertisersInsert Advertiser
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Advertisers.Insert.AdvertisersInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.Advertisers.Insert.AdvertisersInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Advertisers.Insert.AdvertisersInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Advertisers.Insert.AdvertisersInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Advertisers.Insert.AdvertisersInsert


-- | Retrieves a list of advertisers, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertisers.list</tt>.
module Network.Google.Resource.DFAReporting.Advertisers.List

-- | A resource alias for <tt>dfareporting.advertisers.list</tt> method
--   which the <a>AdvertisersList</a> request conforms to.
type AdvertisersListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertisers" :> (QueryParam "status" AdvertisersListStatus :> (QueryParam "onlyParent" Bool :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "includeAdvertisersWithoutGroupsOnly" Bool :> (QueryParam "sortOrder" AdvertisersListSortOrder :> (QueryParams "advertiserGroupIds" (Textual Int64) :> (QueryParam "pageToken" Text :> (QueryParam "sortField" AdvertisersListSortField :> (QueryParam "subaccountId" (Textual Int64) :> (QueryParams "floodlightConfigurationIds" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AdvertisersListResponse)))))))))))))))))

-- | Creates a value of <a>AdvertisersList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>allStatus</a></li>
--   <li><a>allOnlyParent</a></li>
--   <li><a>allSearchString</a></li>
--   <li><a>allIds</a></li>
--   <li><a>allIncludeAdvertisersWithoutGroupsOnly</a></li>
--   <li><a>allProFileId</a></li>
--   <li><a>allSortOrder</a></li>
--   <li><a>allAdvertiserGroupIds</a></li>
--   <li><a>allPageToken</a></li>
--   <li><a>allSortField</a></li>
--   <li><a>allSubAccountId</a></li>
--   <li><a>allFloodlightConfigurationIds</a></li>
--   <li><a>allMaxResults</a></li>
--   </ul>
advertisersList :: Int64 -> AdvertisersList

-- | Retrieves a list of advertisers, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>advertisersList</a> smart constructor.
data AdvertisersList

-- | Select only advertisers with the specified status.
allStatus :: Lens' AdvertisersList (Maybe AdvertisersListStatus)

-- | Select only advertisers which use another advertiser's floodlight
--   configuration.
allOnlyParent :: Lens' AdvertisersList (Maybe Bool)

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "advertiser*2015" will return objects with names like
--   "advertiser June 2015", "advertiser April 2015", or simply "advertiser
--   2015". Most of the searches also add wildcards implicitly at the start
--   and the end of the search string. For example, a search string of
--   "advertiser" will match objects with name "my advertiser", "advertiser
--   2015", or simply "advertiser".
allSearchString :: Lens' AdvertisersList (Maybe Text)

-- | Select only advertisers with these IDs.
allIds :: Lens' AdvertisersList [Int64]

-- | Select only advertisers which do not belong to any advertiser group.
allIncludeAdvertisersWithoutGroupsOnly :: Lens' AdvertisersList (Maybe Bool)

-- | User profile ID associated with this request.
allProFileId :: Lens' AdvertisersList Int64

-- | Order of sorted results, default is ASCENDING.
allSortOrder :: Lens' AdvertisersList (Maybe AdvertisersListSortOrder)

-- | Select only advertisers with these advertiser group IDs.
allAdvertiserGroupIds :: Lens' AdvertisersList [Int64]

-- | Value of the nextPageToken from the previous result page.
allPageToken :: Lens' AdvertisersList (Maybe Text)

-- | Field by which to sort the list.
allSortField :: Lens' AdvertisersList (Maybe AdvertisersListSortField)

-- | Select only advertisers with these subaccount IDs.
allSubAccountId :: Lens' AdvertisersList (Maybe Int64)

-- | Select only advertisers with these floodlight configuration IDs.
allFloodlightConfigurationIds :: Lens' AdvertisersList [Int64]

-- | Maximum number of results to return.
allMaxResults :: Lens' AdvertisersList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Advertisers.List.AdvertisersList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Advertisers.List.AdvertisersList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Advertisers.List.AdvertisersList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Advertisers.List.AdvertisersList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Advertisers.List.AdvertisersList


-- | Updates an existing advertiser. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertisers.patch</tt>.
module Network.Google.Resource.DFAReporting.Advertisers.Patch

-- | A resource alias for <tt>dfareporting.advertisers.patch</tt> method
--   which the <a>AdvertisersPatch</a> request conforms to.
type AdvertisersPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertisers" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Advertiser :> Patch '[JSON] Advertiser)))))))

-- | Creates a value of <a>AdvertisersPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apProFileId</a></li>
--   <li><a>apPayload</a></li>
--   <li><a>apId</a></li>
--   </ul>
advertisersPatch :: Int64 -> Advertiser -> Int64 -> AdvertisersPatch

-- | Updates an existing advertiser. This method supports patch semantics.
--   
--   <i>See:</i> <a>advertisersPatch</a> smart constructor.
data AdvertisersPatch

-- | User profile ID associated with this request.
apProFileId :: Lens' AdvertisersPatch Int64

-- | Multipart request metadata.
apPayload :: Lens' AdvertisersPatch Advertiser

-- | Advertiser ID.
apId :: Lens' AdvertisersPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Advertisers.Patch.AdvertisersPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.Advertisers.Patch.AdvertisersPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Advertisers.Patch.AdvertisersPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Advertisers.Patch.AdvertisersPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Advertisers.Patch.AdvertisersPatch


-- | Updates an existing advertiser.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.advertisers.update</tt>.
module Network.Google.Resource.DFAReporting.Advertisers.Update

-- | A resource alias for <tt>dfareporting.advertisers.update</tt> method
--   which the <a>AdvertisersUpdate</a> request conforms to.
type AdvertisersUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("advertisers" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Advertiser :> Put '[JSON] Advertiser))))))

-- | Creates a value of <a>AdvertisersUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auProFileId</a></li>
--   <li><a>auPayload</a></li>
--   </ul>
advertisersUpdate :: Int64 -> Advertiser -> AdvertisersUpdate

-- | Updates an existing advertiser.
--   
--   <i>See:</i> <a>advertisersUpdate</a> smart constructor.
data AdvertisersUpdate

-- | User profile ID associated with this request.
auProFileId :: Lens' AdvertisersUpdate Int64

-- | Multipart request metadata.
auPayload :: Lens' AdvertisersUpdate Advertiser
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Advertisers.Update.AdvertisersUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.Advertisers.Update.AdvertisersUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Advertisers.Update.AdvertisersUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Advertisers.Update.AdvertisersUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Advertisers.Update.AdvertisersUpdate


-- | Retrieves a list of browsers.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.browsers.list</tt>.
module Network.Google.Resource.DFAReporting.Browsers.List

-- | A resource alias for <tt>dfareporting.browsers.list</tt> method which
--   the <a>BrowsersList</a> request conforms to.
type BrowsersListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("browsers" :> (QueryParam "alt" AltJSON :> Get '[JSON] BrowsersListResponse)))))

-- | Creates a value of <a>BrowsersList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>blProFileId</a></li>
--   </ul>
browsersList :: Int64 -> BrowsersList

-- | Retrieves a list of browsers.
--   
--   <i>See:</i> <a>browsersList</a> smart constructor.
data BrowsersList

-- | User profile ID associated with this request.
blProFileId :: Lens' BrowsersList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Browsers.List.BrowsersList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Browsers.List.BrowsersList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Browsers.List.BrowsersList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Browsers.List.BrowsersList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Browsers.List.BrowsersList


-- | Associates a creative with the specified campaign. This method creates
--   a default ad with dimensions matching the creative in the campaign if
--   such a default ad does not exist already.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.campaignCreativeAssociations.insert</tt>.
module Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert

-- | A resource alias for
--   <tt>dfareporting.campaignCreativeAssociations.insert</tt> method which
--   the <a>CampaignCreativeAssociationsInsert</a> request conforms to.
type CampaignCreativeAssociationsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (Capture "campaignId" (Textual Int64) :> ("campaignCreativeAssociations" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CampaignCreativeAssociation :> Post '[JSON] CampaignCreativeAssociation))))))))

-- | Creates a value of <a>CampaignCreativeAssociationsInsert</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccaiCampaignId</a></li>
--   <li><a>ccaiProFileId</a></li>
--   <li><a>ccaiPayload</a></li>
--   </ul>
campaignCreativeAssociationsInsert :: Int64 -> Int64 -> CampaignCreativeAssociation -> CampaignCreativeAssociationsInsert

-- | Associates a creative with the specified campaign. This method creates
--   a default ad with dimensions matching the creative in the campaign if
--   such a default ad does not exist already.
--   
--   <i>See:</i> <a>campaignCreativeAssociationsInsert</a> smart
--   constructor.
data CampaignCreativeAssociationsInsert

-- | Campaign ID in this association.
ccaiCampaignId :: Lens' CampaignCreativeAssociationsInsert Int64

-- | User profile ID associated with this request.
ccaiProFileId :: Lens' CampaignCreativeAssociationsInsert Int64

-- | Multipart request metadata.
ccaiPayload :: Lens' CampaignCreativeAssociationsInsert CampaignCreativeAssociation
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert.CampaignCreativeAssociationsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert.CampaignCreativeAssociationsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert.CampaignCreativeAssociationsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert.CampaignCreativeAssociationsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert.CampaignCreativeAssociationsInsert


-- | Retrieves the list of creative IDs associated with the specified
--   campaign. This method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.campaignCreativeAssociations.list</tt>.
module Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List

-- | A resource alias for
--   <tt>dfareporting.campaignCreativeAssociations.list</tt> method which
--   the <a>CampaignCreativeAssociationsList</a> request conforms to.
type CampaignCreativeAssociationsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (Capture "campaignId" (Textual Int64) :> ("campaignCreativeAssociations" :> (QueryParam "sortOrder" CampaignCreativeAssociationsListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CampaignCreativeAssociationsListResponse))))))))))

-- | Creates a value of <a>CampaignCreativeAssociationsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccalCampaignId</a></li>
--   <li><a>ccalProFileId</a></li>
--   <li><a>ccalSortOrder</a></li>
--   <li><a>ccalPageToken</a></li>
--   <li><a>ccalMaxResults</a></li>
--   </ul>
campaignCreativeAssociationsList :: Int64 -> Int64 -> CampaignCreativeAssociationsList

-- | Retrieves the list of creative IDs associated with the specified
--   campaign. This method supports paging.
--   
--   <i>See:</i> <a>campaignCreativeAssociationsList</a> smart constructor.
data CampaignCreativeAssociationsList

-- | Campaign ID in this association.
ccalCampaignId :: Lens' CampaignCreativeAssociationsList Int64

-- | User profile ID associated with this request.
ccalProFileId :: Lens' CampaignCreativeAssociationsList Int64

-- | Order of sorted results, default is ASCENDING.
ccalSortOrder :: Lens' CampaignCreativeAssociationsList (Maybe CampaignCreativeAssociationsListSortOrder)

-- | Value of the nextPageToken from the previous result page.
ccalPageToken :: Lens' CampaignCreativeAssociationsList (Maybe Text)

-- | Maximum number of results to return.
ccalMaxResults :: Lens' CampaignCreativeAssociationsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List.CampaignCreativeAssociationsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List.CampaignCreativeAssociationsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List.CampaignCreativeAssociationsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List.CampaignCreativeAssociationsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List.CampaignCreativeAssociationsList


-- | Gets one campaign by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.campaigns.get</tt>.
module Network.Google.Resource.DFAReporting.Campaigns.Get

-- | A resource alias for <tt>dfareporting.campaigns.get</tt> method which
--   the <a>CampaignsGet</a> request conforms to.
type CampaignsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Campaign))))))

-- | Creates a value of <a>CampaignsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cggProFileId</a></li>
--   <li><a>cggId</a></li>
--   </ul>
campaignsGet :: Int64 -> Int64 -> CampaignsGet

-- | Gets one campaign by ID.
--   
--   <i>See:</i> <a>campaignsGet</a> smart constructor.
data CampaignsGet

-- | User profile ID associated with this request.
cggProFileId :: Lens' CampaignsGet Int64

-- | Campaign ID.
cggId :: Lens' CampaignsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Campaigns.Get.CampaignsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Campaigns.Get.CampaignsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Campaigns.Get.CampaignsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Campaigns.Get.CampaignsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Campaigns.Get.CampaignsGet


-- | Inserts a new campaign.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.campaigns.insert</tt>.
module Network.Google.Resource.DFAReporting.Campaigns.Insert

-- | A resource alias for <tt>dfareporting.campaigns.insert</tt> method
--   which the <a>CampaignsInsert</a> request conforms to.
type CampaignsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (QueryParam "defaultLandingPageName" Text :> (QueryParam "defaultLandingPageUrl" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Campaign :> Post '[JSON] Campaign))))))))

-- | Creates a value of <a>CampaignsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>camProFileId</a></li>
--   <li><a>camPayload</a></li>
--   <li><a>camDefaultLandingPageURL</a></li>
--   <li><a>camDefaultLandingPageName</a></li>
--   </ul>
campaignsInsert :: Int64 -> Campaign -> Text -> Text -> CampaignsInsert

-- | Inserts a new campaign.
--   
--   <i>See:</i> <a>campaignsInsert</a> smart constructor.
data CampaignsInsert

-- | User profile ID associated with this request.
camProFileId :: Lens' CampaignsInsert Int64

-- | Multipart request metadata.
camPayload :: Lens' CampaignsInsert Campaign

-- | Default landing page URL for this new campaign.
camDefaultLandingPageURL :: Lens' CampaignsInsert Text

-- | Default landing page name for this new campaign. Must be less than 256
--   characters long.
camDefaultLandingPageName :: Lens' CampaignsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Campaigns.Insert.CampaignsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.Campaigns.Insert.CampaignsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Campaigns.Insert.CampaignsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Campaigns.Insert.CampaignsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Campaigns.Insert.CampaignsInsert


-- | Retrieves a list of campaigns, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.campaigns.list</tt>.
module Network.Google.Resource.DFAReporting.Campaigns.List

-- | A resource alias for <tt>dfareporting.campaigns.list</tt> method which
--   the <a>CampaignsList</a> request conforms to.
type CampaignsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (QueryParams "excludedIds" (Textual Int64) :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" CampaignsListSortOrder :> (QueryParams "advertiserGroupIds" (Textual Int64) :> (QueryParam "atLeastOneOptimizationActivity" Bool :> (QueryParam "overriddenEventTagId" (Textual Int64) :> (QueryParam "pageToken" Text :> (QueryParam "sortField" CampaignsListSortField :> (QueryParam "subaccountId" (Textual Int64) :> (QueryParams "advertiserIds" (Textual Int64) :> (QueryParam "archived" Bool :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CampaignsListResponse))))))))))))))))))

-- | Creates a value of <a>CampaignsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clExcludedIds</a></li>
--   <li><a>clSearchString</a></li>
--   <li><a>clIds</a></li>
--   <li><a>clProFileId</a></li>
--   <li><a>clSortOrder</a></li>
--   <li><a>clAdvertiserGroupIds</a></li>
--   <li><a>clAtLeastOneOptimizationActivity</a></li>
--   <li><a>clOverriddenEventTagId</a></li>
--   <li><a>clPageToken</a></li>
--   <li><a>clSortField</a></li>
--   <li><a>clSubAccountId</a></li>
--   <li><a>clAdvertiserIds</a></li>
--   <li><a>clArchived</a></li>
--   <li><a>clMaxResults</a></li>
--   </ul>
campaignsList :: Int64 -> CampaignsList

-- | Retrieves a list of campaigns, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>campaignsList</a> smart constructor.
data CampaignsList

-- | Exclude campaigns with these IDs.
clExcludedIds :: Lens' CampaignsList [Int64]

-- | Allows searching for campaigns by name or ID. Wildcards (*) are
--   allowed. For example, "campaign*2015" will return campaigns with names
--   like "campaign June 2015", "campaign April 2015", or simply "campaign
--   2015". Most of the searches also add wildcards implicitly at the start
--   and the end of the search string. For example, a search string of
--   "campaign" will match campaigns with name "my campaign", "campaign
--   2015", or simply "campaign".
clSearchString :: Lens' CampaignsList (Maybe Text)

-- | Select only campaigns with these IDs.
clIds :: Lens' CampaignsList [Int64]

-- | User profile ID associated with this request.
clProFileId :: Lens' CampaignsList Int64

-- | Order of sorted results, default is ASCENDING.
clSortOrder :: Lens' CampaignsList (Maybe CampaignsListSortOrder)

-- | Select only campaigns whose advertisers belong to these advertiser
--   groups.
clAdvertiserGroupIds :: Lens' CampaignsList [Int64]

-- | Select only campaigns that have at least one optimization activity.
clAtLeastOneOptimizationActivity :: Lens' CampaignsList (Maybe Bool)

-- | Select only campaigns that have overridden this event tag ID.
clOverriddenEventTagId :: Lens' CampaignsList (Maybe Int64)

-- | Value of the nextPageToken from the previous result page.
clPageToken :: Lens' CampaignsList (Maybe Text)

-- | Field by which to sort the list.
clSortField :: Lens' CampaignsList (Maybe CampaignsListSortField)

-- | Select only campaigns that belong to this subaccount.
clSubAccountId :: Lens' CampaignsList (Maybe Int64)

-- | Select only campaigns that belong to these advertisers.
clAdvertiserIds :: Lens' CampaignsList [Int64]

-- | Select only archived campaigns. Don't set this field to select both
--   archived and non-archived campaigns.
clArchived :: Lens' CampaignsList (Maybe Bool)

-- | Maximum number of results to return.
clMaxResults :: Lens' CampaignsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Campaigns.List.CampaignsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Campaigns.List.CampaignsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Campaigns.List.CampaignsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Campaigns.List.CampaignsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Campaigns.List.CampaignsList


-- | Updates an existing campaign. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.campaigns.patch</tt>.
module Network.Google.Resource.DFAReporting.Campaigns.Patch

-- | A resource alias for <tt>dfareporting.campaigns.patch</tt> method
--   which the <a>CampaignsPatch</a> request conforms to.
type CampaignsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Campaign :> Patch '[JSON] Campaign)))))))

-- | Creates a value of <a>CampaignsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpProFileId</a></li>
--   <li><a>cpPayload</a></li>
--   <li><a>cpId</a></li>
--   </ul>
campaignsPatch :: Int64 -> Campaign -> Int64 -> CampaignsPatch

-- | Updates an existing campaign. This method supports patch semantics.
--   
--   <i>See:</i> <a>campaignsPatch</a> smart constructor.
data CampaignsPatch

-- | User profile ID associated with this request.
cpProFileId :: Lens' CampaignsPatch Int64

-- | Multipart request metadata.
cpPayload :: Lens' CampaignsPatch Campaign

-- | Campaign ID.
cpId :: Lens' CampaignsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Campaigns.Patch.CampaignsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.Campaigns.Patch.CampaignsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Campaigns.Patch.CampaignsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Campaigns.Patch.CampaignsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Campaigns.Patch.CampaignsPatch


-- | Updates an existing campaign.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.campaigns.update</tt>.
module Network.Google.Resource.DFAReporting.Campaigns.Update

-- | A resource alias for <tt>dfareporting.campaigns.update</tt> method
--   which the <a>CampaignsUpdate</a> request conforms to.
type CampaignsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Campaign :> Put '[JSON] Campaign))))))

-- | Creates a value of <a>CampaignsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cuProFileId</a></li>
--   <li><a>cuPayload</a></li>
--   </ul>
campaignsUpdate :: Int64 -> Campaign -> CampaignsUpdate

-- | Updates an existing campaign.
--   
--   <i>See:</i> <a>campaignsUpdate</a> smart constructor.
data CampaignsUpdate

-- | User profile ID associated with this request.
cuProFileId :: Lens' CampaignsUpdate Int64

-- | Multipart request metadata.
cuPayload :: Lens' CampaignsUpdate Campaign
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Campaigns.Update.CampaignsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.Campaigns.Update.CampaignsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Campaigns.Update.CampaignsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Campaigns.Update.CampaignsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Campaigns.Update.CampaignsUpdate


-- | Gets one change log by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.changeLogs.get</tt>.
module Network.Google.Resource.DFAReporting.ChangeLogs.Get

-- | A resource alias for <tt>dfareporting.changeLogs.get</tt> method which
--   the <a>ChangeLogsGet</a> request conforms to.
type ChangeLogsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("changeLogs" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] ChangeLog))))))

-- | Creates a value of <a>ChangeLogsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clgProFileId</a></li>
--   <li><a>clgId</a></li>
--   </ul>
changeLogsGet :: Int64 -> Int64 -> ChangeLogsGet

-- | Gets one change log by ID.
--   
--   <i>See:</i> <a>changeLogsGet</a> smart constructor.
data ChangeLogsGet

-- | User profile ID associated with this request.
clgProFileId :: Lens' ChangeLogsGet Int64

-- | Change log ID.
clgId :: Lens' ChangeLogsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ChangeLogs.Get.ChangeLogsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.ChangeLogs.Get.ChangeLogsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ChangeLogs.Get.ChangeLogsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ChangeLogs.Get.ChangeLogsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ChangeLogs.Get.ChangeLogsGet


-- | Retrieves a list of change logs. This method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.changeLogs.list</tt>.
module Network.Google.Resource.DFAReporting.ChangeLogs.List

-- | A resource alias for <tt>dfareporting.changeLogs.list</tt> method
--   which the <a>ChangeLogsList</a> request conforms to.
type ChangeLogsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("changeLogs" :> (QueryParams "userProfileIds" (Textual Int64) :> (QueryParam "objectType" ChangeLogsListObjectType :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "action" ChangeLogsListAction :> (QueryParam "minChangeTime" Text :> (QueryParam "maxChangeTime" Text :> (QueryParam "pageToken" Text :> (QueryParams "objectIds" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ChangeLogsListResponse)))))))))))))))

-- | Creates a value of <a>ChangeLogsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cllUserProFileIds</a></li>
--   <li><a>cllObjectType</a></li>
--   <li><a>cllSearchString</a></li>
--   <li><a>cllIds</a></li>
--   <li><a>cllProFileId</a></li>
--   <li><a>cllAction</a></li>
--   <li><a>cllMinChangeTime</a></li>
--   <li><a>cllMaxChangeTime</a></li>
--   <li><a>cllPageToken</a></li>
--   <li><a>cllObjectIds</a></li>
--   <li><a>cllMaxResults</a></li>
--   </ul>
changeLogsList :: Int64 -> ChangeLogsList

-- | Retrieves a list of change logs. This method supports paging.
--   
--   <i>See:</i> <a>changeLogsList</a> smart constructor.
data ChangeLogsList

-- | Select only change logs with these user profile IDs.
cllUserProFileIds :: Lens' ChangeLogsList [Int64]

-- | Select only change logs with the specified object type.
cllObjectType :: Lens' ChangeLogsList (Maybe ChangeLogsListObjectType)

-- | Select only change logs whose object ID, user name, old or new values
--   match the search string.
cllSearchString :: Lens' ChangeLogsList (Maybe Text)

-- | Select only change logs with these IDs.
cllIds :: Lens' ChangeLogsList [Int64]

-- | User profile ID associated with this request.
cllProFileId :: Lens' ChangeLogsList Int64

-- | Select only change logs with the specified action.
cllAction :: Lens' ChangeLogsList (Maybe ChangeLogsListAction)

-- | Select only change logs whose change time is before the specified
--   minChangeTime.The time should be formatted as an RFC3339 date/time
--   string. For example, for 10:54 PM on July 18th, 2015, in the
--   America/New York time zone, the format is "2015-07-18T22:54:00-04:00".
--   In other words, the year, month, day, the letter T, the hour (24-hour
--   clock system), minute, second, and then the time zone offset.
cllMinChangeTime :: Lens' ChangeLogsList (Maybe Text)

-- | Select only change logs whose change time is before the specified
--   maxChangeTime.The time should be formatted as an RFC3339 date/time
--   string. For example, for 10:54 PM on July 18th, 2015, in the
--   America/New York time zone, the format is "2015-07-18T22:54:00-04:00".
--   In other words, the year, month, day, the letter T, the hour (24-hour
--   clock system), minute, second, and then the time zone offset.
cllMaxChangeTime :: Lens' ChangeLogsList (Maybe Text)

-- | Value of the nextPageToken from the previous result page.
cllPageToken :: Lens' ChangeLogsList (Maybe Text)

-- | Select only change logs with these object IDs.
cllObjectIds :: Lens' ChangeLogsList [Int64]

-- | Maximum number of results to return.
cllMaxResults :: Lens' ChangeLogsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ChangeLogs.List.ChangeLogsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.ChangeLogs.List.ChangeLogsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ChangeLogs.List.ChangeLogsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ChangeLogs.List.ChangeLogsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ChangeLogs.List.ChangeLogsList


-- | Retrieves a list of cities, possibly filtered.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.cities.list</tt>.
module Network.Google.Resource.DFAReporting.Cities.List

-- | A resource alias for <tt>dfareporting.cities.list</tt> method which
--   the <a>CitiesList</a> request conforms to.
type CitiesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("cities" :> (QueryParams "regionDartIds" (Textual Int64) :> (QueryParam "namePrefix" Text :> (QueryParams "countryDartIds" (Textual Int64) :> (QueryParams "dartIds" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] CitiesListResponse)))))))))

-- | Creates a value of <a>CitiesList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>citRegionDartIds</a></li>
--   <li><a>citProFileId</a></li>
--   <li><a>citNamePrefix</a></li>
--   <li><a>citCountryDartIds</a></li>
--   <li><a>citDartIds</a></li>
--   </ul>
citiesList :: Int64 -> CitiesList

-- | Retrieves a list of cities, possibly filtered.
--   
--   <i>See:</i> <a>citiesList</a> smart constructor.
data CitiesList

-- | Select only cities from these regions.
citRegionDartIds :: Lens' CitiesList [Int64]

-- | User profile ID associated with this request.
citProFileId :: Lens' CitiesList Int64

-- | Select only cities with names starting with this prefix.
citNamePrefix :: Lens' CitiesList (Maybe Text)

-- | Select only cities from these countries.
citCountryDartIds :: Lens' CitiesList [Int64]

-- | Select only cities with these DART IDs.
citDartIds :: Lens' CitiesList [Int64]
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Cities.List.CitiesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Cities.List.CitiesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Cities.List.CitiesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Cities.List.CitiesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Cities.List.CitiesList


-- | Gets one connection type by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.connectionTypes.get</tt>.
module Network.Google.Resource.DFAReporting.ConnectionTypes.Get

-- | A resource alias for <tt>dfareporting.connectionTypes.get</tt> method
--   which the <a>ConnectionTypesGet</a> request conforms to.
type ConnectionTypesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("connectionTypes" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] ConnectionType))))))

-- | Creates a value of <a>ConnectionTypesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctgProFileId</a></li>
--   <li><a>ctgId</a></li>
--   </ul>
connectionTypesGet :: Int64 -> Int64 -> ConnectionTypesGet

-- | Gets one connection type by ID.
--   
--   <i>See:</i> <a>connectionTypesGet</a> smart constructor.
data ConnectionTypesGet

-- | User profile ID associated with this request.
ctgProFileId :: Lens' ConnectionTypesGet Int64

-- | Connection type ID.
ctgId :: Lens' ConnectionTypesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ConnectionTypes.Get.ConnectionTypesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.ConnectionTypes.Get.ConnectionTypesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ConnectionTypes.Get.ConnectionTypesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ConnectionTypes.Get.ConnectionTypesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ConnectionTypes.Get.ConnectionTypesGet


-- | Retrieves a list of connection types.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.connectionTypes.list</tt>.
module Network.Google.Resource.DFAReporting.ConnectionTypes.List

-- | A resource alias for <tt>dfareporting.connectionTypes.list</tt> method
--   which the <a>ConnectionTypesList</a> request conforms to.
type ConnectionTypesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("connectionTypes" :> (QueryParam "alt" AltJSON :> Get '[JSON] ConnectionTypesListResponse)))))

-- | Creates a value of <a>ConnectionTypesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctlProFileId</a></li>
--   </ul>
connectionTypesList :: Int64 -> ConnectionTypesList

-- | Retrieves a list of connection types.
--   
--   <i>See:</i> <a>connectionTypesList</a> smart constructor.
data ConnectionTypesList

-- | User profile ID associated with this request.
ctlProFileId :: Lens' ConnectionTypesList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ConnectionTypes.List.ConnectionTypesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.ConnectionTypes.List.ConnectionTypesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ConnectionTypes.List.ConnectionTypesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ConnectionTypes.List.ConnectionTypesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ConnectionTypes.List.ConnectionTypesList


-- | Deletes an existing content category.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.contentCategories.delete</tt>.
module Network.Google.Resource.DFAReporting.ContentCategories.Delete

-- | A resource alias for <tt>dfareporting.contentCategories.delete</tt>
--   method which the <a>ContentCategoriesDelete</a> request conforms to.
type ContentCategoriesDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("contentCategories" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>ContentCategoriesDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccdProFileId</a></li>
--   <li><a>ccdId</a></li>
--   </ul>
contentCategoriesDelete :: Int64 -> Int64 -> ContentCategoriesDelete

-- | Deletes an existing content category.
--   
--   <i>See:</i> <a>contentCategoriesDelete</a> smart constructor.
data ContentCategoriesDelete

-- | User profile ID associated with this request.
ccdProFileId :: Lens' ContentCategoriesDelete Int64

-- | Content category ID.
ccdId :: Lens' ContentCategoriesDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ContentCategories.Delete.ContentCategoriesDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.ContentCategories.Delete.ContentCategoriesDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ContentCategories.Delete.ContentCategoriesDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ContentCategories.Delete.ContentCategoriesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ContentCategories.Delete.ContentCategoriesDelete


-- | Gets one content category by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.contentCategories.get</tt>.
module Network.Google.Resource.DFAReporting.ContentCategories.Get

-- | A resource alias for <tt>dfareporting.contentCategories.get</tt>
--   method which the <a>ContentCategoriesGet</a> request conforms to.
type ContentCategoriesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("contentCategories" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] ContentCategory))))))

-- | Creates a value of <a>ContentCategoriesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccgProFileId</a></li>
--   <li><a>ccgId</a></li>
--   </ul>
contentCategoriesGet :: Int64 -> Int64 -> ContentCategoriesGet

-- | Gets one content category by ID.
--   
--   <i>See:</i> <a>contentCategoriesGet</a> smart constructor.
data ContentCategoriesGet

-- | User profile ID associated with this request.
ccgProFileId :: Lens' ContentCategoriesGet Int64

-- | Content category ID.
ccgId :: Lens' ContentCategoriesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ContentCategories.Get.ContentCategoriesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.ContentCategories.Get.ContentCategoriesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ContentCategories.Get.ContentCategoriesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ContentCategories.Get.ContentCategoriesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ContentCategories.Get.ContentCategoriesGet


-- | Inserts a new content category.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.contentCategories.insert</tt>.
module Network.Google.Resource.DFAReporting.ContentCategories.Insert

-- | A resource alias for <tt>dfareporting.contentCategories.insert</tt>
--   method which the <a>ContentCategoriesInsert</a> request conforms to.
type ContentCategoriesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("contentCategories" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ContentCategory :> Post '[JSON] ContentCategory))))))

-- | Creates a value of <a>ContentCategoriesInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cciProFileId</a></li>
--   <li><a>cciPayload</a></li>
--   </ul>
contentCategoriesInsert :: Int64 -> ContentCategory -> ContentCategoriesInsert

-- | Inserts a new content category.
--   
--   <i>See:</i> <a>contentCategoriesInsert</a> smart constructor.
data ContentCategoriesInsert

-- | User profile ID associated with this request.
cciProFileId :: Lens' ContentCategoriesInsert Int64

-- | Multipart request metadata.
cciPayload :: Lens' ContentCategoriesInsert ContentCategory
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ContentCategories.Insert.ContentCategoriesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.ContentCategories.Insert.ContentCategoriesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ContentCategories.Insert.ContentCategoriesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ContentCategories.Insert.ContentCategoriesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ContentCategories.Insert.ContentCategoriesInsert


-- | Retrieves a list of content categories, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.contentCategories.list</tt>.
module Network.Google.Resource.DFAReporting.ContentCategories.List

-- | A resource alias for <tt>dfareporting.contentCategories.list</tt>
--   method which the <a>ContentCategoriesList</a> request conforms to.
type ContentCategoriesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("contentCategories" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" ContentCategoriesListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" ContentCategoriesListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ContentCategoriesListResponse)))))))))))

-- | Creates a value of <a>ContentCategoriesList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cclSearchString</a></li>
--   <li><a>cclIds</a></li>
--   <li><a>cclProFileId</a></li>
--   <li><a>cclSortOrder</a></li>
--   <li><a>cclPageToken</a></li>
--   <li><a>cclSortField</a></li>
--   <li><a>cclMaxResults</a></li>
--   </ul>
contentCategoriesList :: Int64 -> ContentCategoriesList

-- | Retrieves a list of content categories, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>contentCategoriesList</a> smart constructor.
data ContentCategoriesList

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "contentcategory*2015" will return objects with names
--   like "contentcategory June 2015", "contentcategory April 2015", or
--   simply "contentcategory 2015". Most of the searches also add wildcards
--   implicitly at the start and the end of the search string. For example,
--   a search string of "contentcategory" will match objects with name "my
--   contentcategory", "contentcategory 2015", or simply "contentcategory".
cclSearchString :: Lens' ContentCategoriesList (Maybe Text)

-- | Select only content categories with these IDs.
cclIds :: Lens' ContentCategoriesList [Int64]

-- | User profile ID associated with this request.
cclProFileId :: Lens' ContentCategoriesList Int64

-- | Order of sorted results, default is ASCENDING.
cclSortOrder :: Lens' ContentCategoriesList (Maybe ContentCategoriesListSortOrder)

-- | Value of the nextPageToken from the previous result page.
cclPageToken :: Lens' ContentCategoriesList (Maybe Text)

-- | Field by which to sort the list.
cclSortField :: Lens' ContentCategoriesList (Maybe ContentCategoriesListSortField)

-- | Maximum number of results to return.
cclMaxResults :: Lens' ContentCategoriesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ContentCategories.List.ContentCategoriesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.ContentCategories.List.ContentCategoriesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ContentCategories.List.ContentCategoriesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ContentCategories.List.ContentCategoriesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ContentCategories.List.ContentCategoriesList


-- | Updates an existing content category. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.contentCategories.patch</tt>.
module Network.Google.Resource.DFAReporting.ContentCategories.Patch

-- | A resource alias for <tt>dfareporting.contentCategories.patch</tt>
--   method which the <a>ContentCategoriesPatch</a> request conforms to.
type ContentCategoriesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("contentCategories" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ContentCategory :> Patch '[JSON] ContentCategory)))))))

-- | Creates a value of <a>ContentCategoriesPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccpProFileId</a></li>
--   <li><a>ccpPayload</a></li>
--   <li><a>ccpId</a></li>
--   </ul>
contentCategoriesPatch :: Int64 -> ContentCategory -> Int64 -> ContentCategoriesPatch

-- | Updates an existing content category. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>contentCategoriesPatch</a> smart constructor.
data ContentCategoriesPatch

-- | User profile ID associated with this request.
ccpProFileId :: Lens' ContentCategoriesPatch Int64

-- | Multipart request metadata.
ccpPayload :: Lens' ContentCategoriesPatch ContentCategory

-- | Content category ID.
ccpId :: Lens' ContentCategoriesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ContentCategories.Patch.ContentCategoriesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.ContentCategories.Patch.ContentCategoriesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ContentCategories.Patch.ContentCategoriesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ContentCategories.Patch.ContentCategoriesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ContentCategories.Patch.ContentCategoriesPatch


-- | Updates an existing content category.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.contentCategories.update</tt>.
module Network.Google.Resource.DFAReporting.ContentCategories.Update

-- | A resource alias for <tt>dfareporting.contentCategories.update</tt>
--   method which the <a>ContentCategoriesUpdate</a> request conforms to.
type ContentCategoriesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("contentCategories" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ContentCategory :> Put '[JSON] ContentCategory))))))

-- | Creates a value of <a>ContentCategoriesUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccuProFileId</a></li>
--   <li><a>ccuPayload</a></li>
--   </ul>
contentCategoriesUpdate :: Int64 -> ContentCategory -> ContentCategoriesUpdate

-- | Updates an existing content category.
--   
--   <i>See:</i> <a>contentCategoriesUpdate</a> smart constructor.
data ContentCategoriesUpdate

-- | User profile ID associated with this request.
ccuProFileId :: Lens' ContentCategoriesUpdate Int64

-- | Multipart request metadata.
ccuPayload :: Lens' ContentCategoriesUpdate ContentCategory
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.ContentCategories.Update.ContentCategoriesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.ContentCategories.Update.ContentCategoriesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.ContentCategories.Update.ContentCategoriesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.ContentCategories.Update.ContentCategoriesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.ContentCategories.Update.ContentCategoriesUpdate


-- | Inserts conversions.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.conversions.batchinsert</tt>.
module Network.Google.Resource.DFAReporting.Conversions.Batchinsert

-- | A resource alias for <tt>dfareporting.conversions.batchinsert</tt>
--   method which the <a>ConversionsBatchinsert</a> request conforms to.
type ConversionsBatchinsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("conversions" :> ("batchinsert" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ConversionsBatchInsertRequest :> Post '[JSON] ConversionsBatchInsertResponse)))))))

-- | Creates a value of <a>ConversionsBatchinsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbProFileId</a></li>
--   <li><a>cbPayload</a></li>
--   </ul>
conversionsBatchinsert :: Int64 -> ConversionsBatchInsertRequest -> ConversionsBatchinsert

-- | Inserts conversions.
--   
--   <i>See:</i> <a>conversionsBatchinsert</a> smart constructor.
data ConversionsBatchinsert

-- | User profile ID associated with this request.
cbProFileId :: Lens' ConversionsBatchinsert Int64

-- | Multipart request metadata.
cbPayload :: Lens' ConversionsBatchinsert ConversionsBatchInsertRequest
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Conversions.Batchinsert.ConversionsBatchinsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.Conversions.Batchinsert.ConversionsBatchinsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Conversions.Batchinsert.ConversionsBatchinsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Conversions.Batchinsert.ConversionsBatchinsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Conversions.Batchinsert.ConversionsBatchinsert


-- | Gets one country by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.countries.get</tt>.
module Network.Google.Resource.DFAReporting.Countries.Get

-- | A resource alias for <tt>dfareporting.countries.get</tt> method which
--   the <a>CountriesGet</a> request conforms to.
type CountriesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("countries" :> (Capture "dartId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Country))))))

-- | Creates a value of <a>CountriesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cgProFileId</a></li>
--   <li><a>cgDartId</a></li>
--   </ul>
countriesGet :: Int64 -> Int64 -> CountriesGet

-- | Gets one country by ID.
--   
--   <i>See:</i> <a>countriesGet</a> smart constructor.
data CountriesGet

-- | User profile ID associated with this request.
cgProFileId :: Lens' CountriesGet Int64

-- | Country DART ID.
cgDartId :: Lens' CountriesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Countries.Get.CountriesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Countries.Get.CountriesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Countries.Get.CountriesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Countries.Get.CountriesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Countries.Get.CountriesGet


-- | Retrieves a list of countries.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.countries.list</tt>.
module Network.Google.Resource.DFAReporting.Countries.List

-- | A resource alias for <tt>dfareporting.countries.list</tt> method which
--   the <a>CountriesList</a> request conforms to.
type CountriesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("countries" :> (QueryParam "alt" AltJSON :> Get '[JSON] CountriesListResponse)))))

-- | Creates a value of <a>CountriesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>couProFileId</a></li>
--   </ul>
countriesList :: Int64 -> CountriesList

-- | Retrieves a list of countries.
--   
--   <i>See:</i> <a>countriesList</a> smart constructor.
data CountriesList

-- | User profile ID associated with this request.
couProFileId :: Lens' CountriesList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Countries.List.CountriesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Countries.List.CountriesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Countries.List.CountriesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Countries.List.CountriesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Countries.List.CountriesList


-- | Inserts a new creative asset.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeAssets.insert</tt>.
module Network.Google.Resource.DFAReporting.CreativeAssets.Insert

-- | A resource alias for <tt>dfareporting.creativeAssets.insert</tt>
--   method which the <a>CreativeAssetsInsert</a> request conforms to.
type CreativeAssetsInsertResource = ("dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeAssets" :> (Capture "advertiserId" (Textual Int64) :> ("creativeAssets" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeAssetMetadata :> Post '[JSON] CreativeAssetMetadata))))))))) :<|> ("upload" :> ("dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeAssets" :> (Capture "advertiserId" (Textual Int64) :> ("creativeAssets" :> (QueryParam "alt" AltJSON :> (QueryParam "uploadType" Multipart :> (MultipartRelated '[JSON] CreativeAssetMetadata :> Post '[JSON] CreativeAssetMetadata)))))))))))

-- | Creates a value of <a>CreativeAssetsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caiAdvertiserId</a></li>
--   <li><a>caiProFileId</a></li>
--   <li><a>caiPayload</a></li>
--   </ul>
creativeAssetsInsert :: Int64 -> Int64 -> CreativeAssetMetadata -> CreativeAssetsInsert

-- | Inserts a new creative asset.
--   
--   <i>See:</i> <a>creativeAssetsInsert</a> smart constructor.
data CreativeAssetsInsert

-- | Advertiser ID of this creative. This is a required field.
caiAdvertiserId :: Lens' CreativeAssetsInsert Int64

-- | User profile ID associated with this request.
caiProFileId :: Lens' CreativeAssetsInsert Int64

-- | Multipart request metadata.
caiPayload :: Lens' CreativeAssetsInsert CreativeAssetMetadata
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeAssets.Insert.CreativeAssetsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeAssets.Insert.CreativeAssetsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeAssets.Insert.CreativeAssetsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeAssets.Insert.CreativeAssetsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeAssets.Insert.CreativeAssetsInsert
instance Network.Google.Types.GoogleRequest (Network.Google.Types.MediaUpload Network.Google.Resource.DFAReporting.CreativeAssets.Insert.CreativeAssetsInsert)


-- | Deletes an existing creative field value.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFieldValues.delete</tt>.
module Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete

-- | A resource alias for <tt>dfareporting.creativeFieldValues.delete</tt>
--   method which the <a>CreativeFieldValuesDelete</a> request conforms to.
type CreativeFieldValuesDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (Capture "creativeFieldId" (Textual Int64) :> ("creativeFieldValues" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>CreativeFieldValuesDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfvdCreativeFieldId</a></li>
--   <li><a>cfvdProFileId</a></li>
--   <li><a>cfvdId</a></li>
--   </ul>
creativeFieldValuesDelete :: Int64 -> Int64 -> Int64 -> CreativeFieldValuesDelete

-- | Deletes an existing creative field value.
--   
--   <i>See:</i> <a>creativeFieldValuesDelete</a> smart constructor.
data CreativeFieldValuesDelete

-- | Creative field ID for this creative field value.
cfvdCreativeFieldId :: Lens' CreativeFieldValuesDelete Int64

-- | User profile ID associated with this request.
cfvdProFileId :: Lens' CreativeFieldValuesDelete Int64

-- | Creative Field Value ID
cfvdId :: Lens' CreativeFieldValuesDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete.CreativeFieldValuesDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete.CreativeFieldValuesDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete.CreativeFieldValuesDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete.CreativeFieldValuesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete.CreativeFieldValuesDelete


-- | Gets one creative field value by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFieldValues.get</tt>.
module Network.Google.Resource.DFAReporting.CreativeFieldValues.Get

-- | A resource alias for <tt>dfareporting.creativeFieldValues.get</tt>
--   method which the <a>CreativeFieldValuesGet</a> request conforms to.
type CreativeFieldValuesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (Capture "creativeFieldId" (Textual Int64) :> ("creativeFieldValues" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] CreativeFieldValue))))))))

-- | Creates a value of <a>CreativeFieldValuesGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfvgCreativeFieldId</a></li>
--   <li><a>cfvgProFileId</a></li>
--   <li><a>cfvgId</a></li>
--   </ul>
creativeFieldValuesGet :: Int64 -> Int64 -> Int64 -> CreativeFieldValuesGet

-- | Gets one creative field value by ID.
--   
--   <i>See:</i> <a>creativeFieldValuesGet</a> smart constructor.
data CreativeFieldValuesGet

-- | Creative field ID for this creative field value.
cfvgCreativeFieldId :: Lens' CreativeFieldValuesGet Int64

-- | User profile ID associated with this request.
cfvgProFileId :: Lens' CreativeFieldValuesGet Int64

-- | Creative Field Value ID
cfvgId :: Lens' CreativeFieldValuesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFieldValues.Get.CreativeFieldValuesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFieldValues.Get.CreativeFieldValuesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFieldValues.Get.CreativeFieldValuesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFieldValues.Get.CreativeFieldValuesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFieldValues.Get.CreativeFieldValuesGet


-- | Inserts a new creative field value.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFieldValues.insert</tt>.
module Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert

-- | A resource alias for <tt>dfareporting.creativeFieldValues.insert</tt>
--   method which the <a>CreativeFieldValuesInsert</a> request conforms to.
type CreativeFieldValuesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (Capture "creativeFieldId" (Textual Int64) :> ("creativeFieldValues" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeFieldValue :> Post '[JSON] CreativeFieldValue))))))))

-- | Creates a value of <a>CreativeFieldValuesInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfviCreativeFieldId</a></li>
--   <li><a>cfviProFileId</a></li>
--   <li><a>cfviPayload</a></li>
--   </ul>
creativeFieldValuesInsert :: Int64 -> Int64 -> CreativeFieldValue -> CreativeFieldValuesInsert

-- | Inserts a new creative field value.
--   
--   <i>See:</i> <a>creativeFieldValuesInsert</a> smart constructor.
data CreativeFieldValuesInsert

-- | Creative field ID for this creative field value.
cfviCreativeFieldId :: Lens' CreativeFieldValuesInsert Int64

-- | User profile ID associated with this request.
cfviProFileId :: Lens' CreativeFieldValuesInsert Int64

-- | Multipart request metadata.
cfviPayload :: Lens' CreativeFieldValuesInsert CreativeFieldValue
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert.CreativeFieldValuesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert.CreativeFieldValuesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert.CreativeFieldValuesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert.CreativeFieldValuesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert.CreativeFieldValuesInsert


-- | Retrieves a list of creative field values, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFieldValues.list</tt>.
module Network.Google.Resource.DFAReporting.CreativeFieldValues.List

-- | A resource alias for <tt>dfareporting.creativeFieldValues.list</tt>
--   method which the <a>CreativeFieldValuesList</a> request conforms to.
type CreativeFieldValuesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (Capture "creativeFieldId" (Textual Int64) :> ("creativeFieldValues" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" CreativeFieldValuesListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" CreativeFieldValuesListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CreativeFieldValuesListResponse)))))))))))))

-- | Creates a value of <a>CreativeFieldValuesList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfvlCreativeFieldId</a></li>
--   <li><a>cfvlSearchString</a></li>
--   <li><a>cfvlIds</a></li>
--   <li><a>cfvlProFileId</a></li>
--   <li><a>cfvlSortOrder</a></li>
--   <li><a>cfvlPageToken</a></li>
--   <li><a>cfvlSortField</a></li>
--   <li><a>cfvlMaxResults</a></li>
--   </ul>
creativeFieldValuesList :: Int64 -> Int64 -> CreativeFieldValuesList

-- | Retrieves a list of creative field values, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>creativeFieldValuesList</a> smart constructor.
data CreativeFieldValuesList

-- | Creative field ID for this creative field value.
cfvlCreativeFieldId :: Lens' CreativeFieldValuesList Int64

-- | Allows searching for creative field values by their values. Wildcards
--   (e.g. *) are not allowed.
cfvlSearchString :: Lens' CreativeFieldValuesList (Maybe Text)

-- | Select only creative field values with these IDs.
cfvlIds :: Lens' CreativeFieldValuesList [Int64]

-- | User profile ID associated with this request.
cfvlProFileId :: Lens' CreativeFieldValuesList Int64

-- | Order of sorted results, default is ASCENDING.
cfvlSortOrder :: Lens' CreativeFieldValuesList (Maybe CreativeFieldValuesListSortOrder)

-- | Value of the nextPageToken from the previous result page.
cfvlPageToken :: Lens' CreativeFieldValuesList (Maybe Text)

-- | Field by which to sort the list.
cfvlSortField :: Lens' CreativeFieldValuesList (Maybe CreativeFieldValuesListSortField)

-- | Maximum number of results to return.
cfvlMaxResults :: Lens' CreativeFieldValuesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFieldValues.List.CreativeFieldValuesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFieldValues.List.CreativeFieldValuesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFieldValues.List.CreativeFieldValuesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFieldValues.List.CreativeFieldValuesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFieldValues.List.CreativeFieldValuesList


-- | Updates an existing creative field value. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFieldValues.patch</tt>.
module Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch

-- | A resource alias for <tt>dfareporting.creativeFieldValues.patch</tt>
--   method which the <a>CreativeFieldValuesPatch</a> request conforms to.
type CreativeFieldValuesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (Capture "creativeFieldId" (Textual Int64) :> ("creativeFieldValues" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeFieldValue :> Patch '[JSON] CreativeFieldValue)))))))))

-- | Creates a value of <a>CreativeFieldValuesPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfvpCreativeFieldId</a></li>
--   <li><a>cfvpProFileId</a></li>
--   <li><a>cfvpPayload</a></li>
--   <li><a>cfvpId</a></li>
--   </ul>
creativeFieldValuesPatch :: Int64 -> Int64 -> CreativeFieldValue -> Int64 -> CreativeFieldValuesPatch

-- | Updates an existing creative field value. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>creativeFieldValuesPatch</a> smart constructor.
data CreativeFieldValuesPatch

-- | Creative field ID for this creative field value.
cfvpCreativeFieldId :: Lens' CreativeFieldValuesPatch Int64

-- | User profile ID associated with this request.
cfvpProFileId :: Lens' CreativeFieldValuesPatch Int64

-- | Multipart request metadata.
cfvpPayload :: Lens' CreativeFieldValuesPatch CreativeFieldValue

-- | Creative Field Value ID
cfvpId :: Lens' CreativeFieldValuesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch.CreativeFieldValuesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch.CreativeFieldValuesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch.CreativeFieldValuesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch.CreativeFieldValuesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch.CreativeFieldValuesPatch


-- | Updates an existing creative field value.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFieldValues.update</tt>.
module Network.Google.Resource.DFAReporting.CreativeFieldValues.Update

-- | A resource alias for <tt>dfareporting.creativeFieldValues.update</tt>
--   method which the <a>CreativeFieldValuesUpdate</a> request conforms to.
type CreativeFieldValuesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (Capture "creativeFieldId" (Textual Int64) :> ("creativeFieldValues" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeFieldValue :> Put '[JSON] CreativeFieldValue))))))))

-- | Creates a value of <a>CreativeFieldValuesUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfvuCreativeFieldId</a></li>
--   <li><a>cfvuProFileId</a></li>
--   <li><a>cfvuPayload</a></li>
--   </ul>
creativeFieldValuesUpdate :: Int64 -> Int64 -> CreativeFieldValue -> CreativeFieldValuesUpdate

-- | Updates an existing creative field value.
--   
--   <i>See:</i> <a>creativeFieldValuesUpdate</a> smart constructor.
data CreativeFieldValuesUpdate

-- | Creative field ID for this creative field value.
cfvuCreativeFieldId :: Lens' CreativeFieldValuesUpdate Int64

-- | User profile ID associated with this request.
cfvuProFileId :: Lens' CreativeFieldValuesUpdate Int64

-- | Multipart request metadata.
cfvuPayload :: Lens' CreativeFieldValuesUpdate CreativeFieldValue
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFieldValues.Update.CreativeFieldValuesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFieldValues.Update.CreativeFieldValuesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFieldValues.Update.CreativeFieldValuesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFieldValues.Update.CreativeFieldValuesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFieldValues.Update.CreativeFieldValuesUpdate


-- | Deletes an existing creative field.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFields.delete</tt>.
module Network.Google.Resource.DFAReporting.CreativeFields.Delete

-- | A resource alias for <tt>dfareporting.creativeFields.delete</tt>
--   method which the <a>CreativeFieldsDelete</a> request conforms to.
type CreativeFieldsDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>CreativeFieldsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfdProFileId</a></li>
--   <li><a>cfdId</a></li>
--   </ul>
creativeFieldsDelete :: Int64 -> Int64 -> CreativeFieldsDelete

-- | Deletes an existing creative field.
--   
--   <i>See:</i> <a>creativeFieldsDelete</a> smart constructor.
data CreativeFieldsDelete

-- | User profile ID associated with this request.
cfdProFileId :: Lens' CreativeFieldsDelete Int64

-- | Creative Field ID
cfdId :: Lens' CreativeFieldsDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFields.Delete.CreativeFieldsDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFields.Delete.CreativeFieldsDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFields.Delete.CreativeFieldsDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFields.Delete.CreativeFieldsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFields.Delete.CreativeFieldsDelete


-- | Gets one creative field by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFields.get</tt>.
module Network.Google.Resource.DFAReporting.CreativeFields.Get

-- | A resource alias for <tt>dfareporting.creativeFields.get</tt> method
--   which the <a>CreativeFieldsGet</a> request conforms to.
type CreativeFieldsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] CreativeField))))))

-- | Creates a value of <a>CreativeFieldsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfgProFileId</a></li>
--   <li><a>cfgId</a></li>
--   </ul>
creativeFieldsGet :: Int64 -> Int64 -> CreativeFieldsGet

-- | Gets one creative field by ID.
--   
--   <i>See:</i> <a>creativeFieldsGet</a> smart constructor.
data CreativeFieldsGet

-- | User profile ID associated with this request.
cfgProFileId :: Lens' CreativeFieldsGet Int64

-- | Creative Field ID
cfgId :: Lens' CreativeFieldsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFields.Get.CreativeFieldsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFields.Get.CreativeFieldsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFields.Get.CreativeFieldsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFields.Get.CreativeFieldsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFields.Get.CreativeFieldsGet


-- | Inserts a new creative field.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFields.insert</tt>.
module Network.Google.Resource.DFAReporting.CreativeFields.Insert

-- | A resource alias for <tt>dfareporting.creativeFields.insert</tt>
--   method which the <a>CreativeFieldsInsert</a> request conforms to.
type CreativeFieldsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeField :> Post '[JSON] CreativeField))))))

-- | Creates a value of <a>CreativeFieldsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfiProFileId</a></li>
--   <li><a>cfiPayload</a></li>
--   </ul>
creativeFieldsInsert :: Int64 -> CreativeField -> CreativeFieldsInsert

-- | Inserts a new creative field.
--   
--   <i>See:</i> <a>creativeFieldsInsert</a> smart constructor.
data CreativeFieldsInsert

-- | User profile ID associated with this request.
cfiProFileId :: Lens' CreativeFieldsInsert Int64

-- | Multipart request metadata.
cfiPayload :: Lens' CreativeFieldsInsert CreativeField
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFields.Insert.CreativeFieldsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFields.Insert.CreativeFieldsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFields.Insert.CreativeFieldsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFields.Insert.CreativeFieldsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFields.Insert.CreativeFieldsInsert


-- | Retrieves a list of creative fields, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFields.list</tt>.
module Network.Google.Resource.DFAReporting.CreativeFields.List

-- | A resource alias for <tt>dfareporting.creativeFields.list</tt> method
--   which the <a>CreativeFieldsList</a> request conforms to.
type CreativeFieldsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" CreativeFieldsListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" CreativeFieldsListSortField :> (QueryParams "advertiserIds" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CreativeFieldsListResponse))))))))))))

-- | Creates a value of <a>CreativeFieldsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cflSearchString</a></li>
--   <li><a>cflIds</a></li>
--   <li><a>cflProFileId</a></li>
--   <li><a>cflSortOrder</a></li>
--   <li><a>cflPageToken</a></li>
--   <li><a>cflSortField</a></li>
--   <li><a>cflAdvertiserIds</a></li>
--   <li><a>cflMaxResults</a></li>
--   </ul>
creativeFieldsList :: Int64 -> CreativeFieldsList

-- | Retrieves a list of creative fields, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>creativeFieldsList</a> smart constructor.
data CreativeFieldsList

-- | Allows searching for creative fields by name or ID. Wildcards (*) are
--   allowed. For example, "creativefield*2015" will return creative fields
--   with names like "creativefield June 2015", "creativefield April 2015",
--   or simply "creativefield 2015". Most of the searches also add
--   wild-cards implicitly at the start and the end of the search string.
--   For example, a search string of "creativefield" will match creative
--   fields with the name "my creativefield", "creativefield 2015", or
--   simply "creativefield".
cflSearchString :: Lens' CreativeFieldsList (Maybe Text)

-- | Select only creative fields with these IDs.
cflIds :: Lens' CreativeFieldsList [Int64]

-- | User profile ID associated with this request.
cflProFileId :: Lens' CreativeFieldsList Int64

-- | Order of sorted results, default is ASCENDING.
cflSortOrder :: Lens' CreativeFieldsList (Maybe CreativeFieldsListSortOrder)

-- | Value of the nextPageToken from the previous result page.
cflPageToken :: Lens' CreativeFieldsList (Maybe Text)

-- | Field by which to sort the list.
cflSortField :: Lens' CreativeFieldsList (Maybe CreativeFieldsListSortField)

-- | Select only creative fields that belong to these advertisers.
cflAdvertiserIds :: Lens' CreativeFieldsList [Int64]

-- | Maximum number of results to return.
cflMaxResults :: Lens' CreativeFieldsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFields.List.CreativeFieldsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFields.List.CreativeFieldsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFields.List.CreativeFieldsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFields.List.CreativeFieldsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFields.List.CreativeFieldsList


-- | Updates an existing creative field. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFields.patch</tt>.
module Network.Google.Resource.DFAReporting.CreativeFields.Patch

-- | A resource alias for <tt>dfareporting.creativeFields.patch</tt> method
--   which the <a>CreativeFieldsPatch</a> request conforms to.
type CreativeFieldsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeField :> Patch '[JSON] CreativeField)))))))

-- | Creates a value of <a>CreativeFieldsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfpProFileId</a></li>
--   <li><a>cfpPayload</a></li>
--   <li><a>cfpId</a></li>
--   </ul>
creativeFieldsPatch :: Int64 -> CreativeField -> Int64 -> CreativeFieldsPatch

-- | Updates an existing creative field. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>creativeFieldsPatch</a> smart constructor.
data CreativeFieldsPatch

-- | User profile ID associated with this request.
cfpProFileId :: Lens' CreativeFieldsPatch Int64

-- | Multipart request metadata.
cfpPayload :: Lens' CreativeFieldsPatch CreativeField

-- | Creative Field ID
cfpId :: Lens' CreativeFieldsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFields.Patch.CreativeFieldsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFields.Patch.CreativeFieldsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFields.Patch.CreativeFieldsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFields.Patch.CreativeFieldsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFields.Patch.CreativeFieldsPatch


-- | Updates an existing creative field.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeFields.update</tt>.
module Network.Google.Resource.DFAReporting.CreativeFields.Update

-- | A resource alias for <tt>dfareporting.creativeFields.update</tt>
--   method which the <a>CreativeFieldsUpdate</a> request conforms to.
type CreativeFieldsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeFields" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeField :> Put '[JSON] CreativeField))))))

-- | Creates a value of <a>CreativeFieldsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfuProFileId</a></li>
--   <li><a>cfuPayload</a></li>
--   </ul>
creativeFieldsUpdate :: Int64 -> CreativeField -> CreativeFieldsUpdate

-- | Updates an existing creative field.
--   
--   <i>See:</i> <a>creativeFieldsUpdate</a> smart constructor.
data CreativeFieldsUpdate

-- | User profile ID associated with this request.
cfuProFileId :: Lens' CreativeFieldsUpdate Int64

-- | Multipart request metadata.
cfuPayload :: Lens' CreativeFieldsUpdate CreativeField
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeFields.Update.CreativeFieldsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeFields.Update.CreativeFieldsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeFields.Update.CreativeFieldsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeFields.Update.CreativeFieldsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeFields.Update.CreativeFieldsUpdate


-- | Gets one creative group by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeGroups.get</tt>.
module Network.Google.Resource.DFAReporting.CreativeGroups.Get

-- | A resource alias for <tt>dfareporting.creativeGroups.get</tt> method
--   which the <a>CreativeGroupsGet</a> request conforms to.
type CreativeGroupsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeGroups" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] CreativeGroup))))))

-- | Creates a value of <a>CreativeGroupsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cgggProFileId</a></li>
--   <li><a>cgggId</a></li>
--   </ul>
creativeGroupsGet :: Int64 -> Int64 -> CreativeGroupsGet

-- | Gets one creative group by ID.
--   
--   <i>See:</i> <a>creativeGroupsGet</a> smart constructor.
data CreativeGroupsGet

-- | User profile ID associated with this request.
cgggProFileId :: Lens' CreativeGroupsGet Int64

-- | Creative group ID.
cgggId :: Lens' CreativeGroupsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeGroups.Get.CreativeGroupsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeGroups.Get.CreativeGroupsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeGroups.Get.CreativeGroupsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeGroups.Get.CreativeGroupsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeGroups.Get.CreativeGroupsGet


-- | Inserts a new creative group.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeGroups.insert</tt>.
module Network.Google.Resource.DFAReporting.CreativeGroups.Insert

-- | A resource alias for <tt>dfareporting.creativeGroups.insert</tt>
--   method which the <a>CreativeGroupsInsert</a> request conforms to.
type CreativeGroupsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeGroups" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeGroup :> Post '[JSON] CreativeGroup))))))

-- | Creates a value of <a>CreativeGroupsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cgiProFileId</a></li>
--   <li><a>cgiPayload</a></li>
--   </ul>
creativeGroupsInsert :: Int64 -> CreativeGroup -> CreativeGroupsInsert

-- | Inserts a new creative group.
--   
--   <i>See:</i> <a>creativeGroupsInsert</a> smart constructor.
data CreativeGroupsInsert

-- | User profile ID associated with this request.
cgiProFileId :: Lens' CreativeGroupsInsert Int64

-- | Multipart request metadata.
cgiPayload :: Lens' CreativeGroupsInsert CreativeGroup
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeGroups.Insert.CreativeGroupsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeGroups.Insert.CreativeGroupsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeGroups.Insert.CreativeGroupsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeGroups.Insert.CreativeGroupsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeGroups.Insert.CreativeGroupsInsert


-- | Retrieves a list of creative groups, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeGroups.list</tt>.
module Network.Google.Resource.DFAReporting.CreativeGroups.List

-- | A resource alias for <tt>dfareporting.creativeGroups.list</tt> method
--   which the <a>CreativeGroupsList</a> request conforms to.
type CreativeGroupsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeGroups" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" CreativeGroupsListSortOrder :> (QueryParam "groupNumber" (Textual Int32) :> (QueryParam "pageToken" Text :> (QueryParam "sortField" CreativeGroupsListSortField :> (QueryParams "advertiserIds" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CreativeGroupsListResponse)))))))))))))

-- | Creates a value of <a>CreativeGroupsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cglSearchString</a></li>
--   <li><a>cglIds</a></li>
--   <li><a>cglProFileId</a></li>
--   <li><a>cglSortOrder</a></li>
--   <li><a>cglGroupNumber</a></li>
--   <li><a>cglPageToken</a></li>
--   <li><a>cglSortField</a></li>
--   <li><a>cglAdvertiserIds</a></li>
--   <li><a>cglMaxResults</a></li>
--   </ul>
creativeGroupsList :: Int64 -> CreativeGroupsList

-- | Retrieves a list of creative groups, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>creativeGroupsList</a> smart constructor.
data CreativeGroupsList

-- | Allows searching for creative groups by name or ID. Wildcards (*) are
--   allowed. For example, "creativegroup*2015" will return creative groups
--   with names like "creativegroup June 2015", "creativegroup April 2015",
--   or simply "creativegroup 2015". Most of the searches also add
--   wild-cards implicitly at the start and the end of the search string.
--   For example, a search string of "creativegroup" will match creative
--   groups with the name "my creativegroup", "creativegroup 2015", or
--   simply "creativegroup".
cglSearchString :: Lens' CreativeGroupsList (Maybe Text)

-- | Select only creative groups with these IDs.
cglIds :: Lens' CreativeGroupsList [Int64]

-- | User profile ID associated with this request.
cglProFileId :: Lens' CreativeGroupsList Int64

-- | Order of sorted results, default is ASCENDING.
cglSortOrder :: Lens' CreativeGroupsList (Maybe CreativeGroupsListSortOrder)

-- | Select only creative groups that belong to this subgroup.
cglGroupNumber :: Lens' CreativeGroupsList (Maybe Int32)

-- | Value of the nextPageToken from the previous result page.
cglPageToken :: Lens' CreativeGroupsList (Maybe Text)

-- | Field by which to sort the list.
cglSortField :: Lens' CreativeGroupsList (Maybe CreativeGroupsListSortField)

-- | Select only creative groups that belong to these advertisers.
cglAdvertiserIds :: Lens' CreativeGroupsList [Int64]

-- | Maximum number of results to return.
cglMaxResults :: Lens' CreativeGroupsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeGroups.List.CreativeGroupsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeGroups.List.CreativeGroupsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeGroups.List.CreativeGroupsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeGroups.List.CreativeGroupsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeGroups.List.CreativeGroupsList


-- | Updates an existing creative group. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeGroups.patch</tt>.
module Network.Google.Resource.DFAReporting.CreativeGroups.Patch

-- | A resource alias for <tt>dfareporting.creativeGroups.patch</tt> method
--   which the <a>CreativeGroupsPatch</a> request conforms to.
type CreativeGroupsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeGroups" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeGroup :> Patch '[JSON] CreativeGroup)))))))

-- | Creates a value of <a>CreativeGroupsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cgpProFileId</a></li>
--   <li><a>cgpPayload</a></li>
--   <li><a>cgpId</a></li>
--   </ul>
creativeGroupsPatch :: Int64 -> CreativeGroup -> Int64 -> CreativeGroupsPatch

-- | Updates an existing creative group. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>creativeGroupsPatch</a> smart constructor.
data CreativeGroupsPatch

-- | User profile ID associated with this request.
cgpProFileId :: Lens' CreativeGroupsPatch Int64

-- | Multipart request metadata.
cgpPayload :: Lens' CreativeGroupsPatch CreativeGroup

-- | Creative group ID.
cgpId :: Lens' CreativeGroupsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeGroups.Patch.CreativeGroupsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeGroups.Patch.CreativeGroupsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeGroups.Patch.CreativeGroupsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeGroups.Patch.CreativeGroupsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeGroups.Patch.CreativeGroupsPatch


-- | Updates an existing creative group.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creativeGroups.update</tt>.
module Network.Google.Resource.DFAReporting.CreativeGroups.Update

-- | A resource alias for <tt>dfareporting.creativeGroups.update</tt>
--   method which the <a>CreativeGroupsUpdate</a> request conforms to.
type CreativeGroupsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creativeGroups" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreativeGroup :> Put '[JSON] CreativeGroup))))))

-- | Creates a value of <a>CreativeGroupsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cguProFileId</a></li>
--   <li><a>cguPayload</a></li>
--   </ul>
creativeGroupsUpdate :: Int64 -> CreativeGroup -> CreativeGroupsUpdate

-- | Updates an existing creative group.
--   
--   <i>See:</i> <a>creativeGroupsUpdate</a> smart constructor.
data CreativeGroupsUpdate

-- | User profile ID associated with this request.
cguProFileId :: Lens' CreativeGroupsUpdate Int64

-- | Multipart request metadata.
cguPayload :: Lens' CreativeGroupsUpdate CreativeGroup
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.CreativeGroups.Update.CreativeGroupsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.CreativeGroups.Update.CreativeGroupsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.CreativeGroups.Update.CreativeGroupsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.CreativeGroups.Update.CreativeGroupsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.CreativeGroups.Update.CreativeGroupsUpdate


-- | Gets one creative by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creatives.get</tt>.
module Network.Google.Resource.DFAReporting.Creatives.Get

-- | A resource alias for <tt>dfareporting.creatives.get</tt> method which
--   the <a>CreativesGet</a> request conforms to.
type CreativesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creatives" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Creative))))))

-- | Creates a value of <a>CreativesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccProFileId</a></li>
--   <li><a>ccId</a></li>
--   </ul>
creativesGet :: Int64 -> Int64 -> CreativesGet

-- | Gets one creative by ID.
--   
--   <i>See:</i> <a>creativesGet</a> smart constructor.
data CreativesGet

-- | User profile ID associated with this request.
ccProFileId :: Lens' CreativesGet Int64

-- | Creative ID.
ccId :: Lens' CreativesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Creatives.Get.CreativesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Creatives.Get.CreativesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Creatives.Get.CreativesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Creatives.Get.CreativesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Creatives.Get.CreativesGet


-- | Inserts a new creative.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creatives.insert</tt>.
module Network.Google.Resource.DFAReporting.Creatives.Insert

-- | A resource alias for <tt>dfareporting.creatives.insert</tt> method
--   which the <a>CreativesInsert</a> request conforms to.
type CreativesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creatives" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Creative :> Post '[JSON] Creative))))))

-- | Creates a value of <a>CreativesInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ciProFileId</a></li>
--   <li><a>ciPayload</a></li>
--   </ul>
creativesInsert :: Int64 -> Creative -> CreativesInsert

-- | Inserts a new creative.
--   
--   <i>See:</i> <a>creativesInsert</a> smart constructor.
data CreativesInsert

-- | User profile ID associated with this request.
ciProFileId :: Lens' CreativesInsert Int64

-- | Multipart request metadata.
ciPayload :: Lens' CreativesInsert Creative
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Creatives.Insert.CreativesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.Creatives.Insert.CreativesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Creatives.Insert.CreativesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Creatives.Insert.CreativesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Creatives.Insert.CreativesInsert


-- | Retrieves a list of creatives, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creatives.list</tt>.
module Network.Google.Resource.DFAReporting.Creatives.List

-- | A resource alias for <tt>dfareporting.creatives.list</tt> method which
--   the <a>CreativesList</a> request conforms to.
type CreativesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creatives" :> (QueryParams "renderingIds" (Textual Int64) :> (QueryParam "advertiserId" (Textual Int64) :> (QueryParam "searchString" Text :> (QueryParams "sizeIds" (Textual Int64) :> (QueryParams "companionCreativeIds" (Textual Int64) :> (QueryParam "campaignId" (Textual Int64) :> (QueryParams "types" CreativesListTypes :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" CreativesListSortOrder :> (QueryParam "active" Bool :> (QueryParams "creativeFieldIds" (Textual Int64) :> (QueryParam "pageToken" Text :> (QueryParam "sortField" CreativesListSortField :> (QueryParam "studioCreativeId" (Textual Int64) :> (QueryParam "archived" Bool :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CreativesListResponse)))))))))))))))))))))

-- | Creates a value of <a>CreativesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cRenderingIds</a></li>
--   <li><a>cAdvertiserId</a></li>
--   <li><a>cSearchString</a></li>
--   <li><a>cSizeIds</a></li>
--   <li><a>cCompanionCreativeIds</a></li>
--   <li><a>cCampaignId</a></li>
--   <li><a>cTypes</a></li>
--   <li><a>cIds</a></li>
--   <li><a>cProFileId</a></li>
--   <li><a>cSortOrder</a></li>
--   <li><a>cActive</a></li>
--   <li><a>cCreativeFieldIds</a></li>
--   <li><a>cPageToken</a></li>
--   <li><a>cSortField</a></li>
--   <li><a>cStudioCreativeId</a></li>
--   <li><a>cArchived</a></li>
--   <li><a>cMaxResults</a></li>
--   </ul>
creativesList :: Int64 -> CreativesList

-- | Retrieves a list of creatives, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>creativesList</a> smart constructor.
data CreativesList

-- | Select only creatives with these rendering IDs.
cRenderingIds :: Lens' CreativesList [Int64]

-- | Select only creatives with this advertiser ID.
cAdvertiserId :: Lens' CreativesList (Maybe Int64)

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "creative*2015" will return objects with names like
--   "creative June 2015", "creative April 2015", or simply "creative
--   2015". Most of the searches also add wildcards implicitly at the start
--   and the end of the search string. For example, a search string of
--   "creative" will match objects with name "my creative", "creative
--   2015", or simply "creative".
cSearchString :: Lens' CreativesList (Maybe Text)

-- | Select only creatives with these size IDs.
cSizeIds :: Lens' CreativesList [Int64]

-- | Select only in-stream video creatives with these companion IDs.
cCompanionCreativeIds :: Lens' CreativesList [Int64]

-- | Select only creatives with this campaign ID.
cCampaignId :: Lens' CreativesList (Maybe Int64)

-- | Select only creatives with these creative types.
cTypes :: Lens' CreativesList [CreativesListTypes]

-- | Select only creatives with these IDs.
cIds :: Lens' CreativesList [Int64]

-- | User profile ID associated with this request.
cProFileId :: Lens' CreativesList Int64

-- | Order of sorted results, default is ASCENDING.
cSortOrder :: Lens' CreativesList (Maybe CreativesListSortOrder)

-- | Select only active creatives. Leave blank to select active and
--   inactive creatives.
cActive :: Lens' CreativesList (Maybe Bool)

-- | Select only creatives with these creative field IDs.
cCreativeFieldIds :: Lens' CreativesList [Int64]

-- | Value of the nextPageToken from the previous result page.
cPageToken :: Lens' CreativesList (Maybe Text)

-- | Field by which to sort the list.
cSortField :: Lens' CreativesList (Maybe CreativesListSortField)

-- | Select only creatives corresponding to this Studio creative ID.
cStudioCreativeId :: Lens' CreativesList (Maybe Int64)

-- | Select only archived creatives. Leave blank to select archived and
--   unarchived creatives.
cArchived :: Lens' CreativesList (Maybe Bool)

-- | Maximum number of results to return.
cMaxResults :: Lens' CreativesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Creatives.List.CreativesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Creatives.List.CreativesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Creatives.List.CreativesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Creatives.List.CreativesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Creatives.List.CreativesList


-- | Updates an existing creative. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creatives.patch</tt>.
module Network.Google.Resource.DFAReporting.Creatives.Patch

-- | A resource alias for <tt>dfareporting.creatives.patch</tt> method
--   which the <a>CreativesPatch</a> request conforms to.
type CreativesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creatives" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Creative :> Patch '[JSON] Creative)))))))

-- | Creates a value of <a>CreativesPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cppProFileId</a></li>
--   <li><a>cppPayload</a></li>
--   <li><a>cppId</a></li>
--   </ul>
creativesPatch :: Int64 -> Creative -> Int64 -> CreativesPatch

-- | Updates an existing creative. This method supports patch semantics.
--   
--   <i>See:</i> <a>creativesPatch</a> smart constructor.
data CreativesPatch

-- | User profile ID associated with this request.
cppProFileId :: Lens' CreativesPatch Int64

-- | Multipart request metadata.
cppPayload :: Lens' CreativesPatch Creative

-- | Creative ID.
cppId :: Lens' CreativesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Creatives.Patch.CreativesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.Creatives.Patch.CreativesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Creatives.Patch.CreativesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Creatives.Patch.CreativesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Creatives.Patch.CreativesPatch


-- | Updates an existing creative.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.creatives.update</tt>.
module Network.Google.Resource.DFAReporting.Creatives.Update

-- | A resource alias for <tt>dfareporting.creatives.update</tt> method
--   which the <a>CreativesUpdate</a> request conforms to.
type CreativesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("creatives" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Creative :> Put '[JSON] Creative))))))

-- | Creates a value of <a>CreativesUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>creProFileId</a></li>
--   <li><a>crePayload</a></li>
--   </ul>
creativesUpdate :: Int64 -> Creative -> CreativesUpdate

-- | Updates an existing creative.
--   
--   <i>See:</i> <a>creativesUpdate</a> smart constructor.
data CreativesUpdate

-- | User profile ID associated with this request.
creProFileId :: Lens' CreativesUpdate Int64

-- | Multipart request metadata.
crePayload :: Lens' CreativesUpdate Creative
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Creatives.Update.CreativesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.Creatives.Update.CreativesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Creatives.Update.CreativesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Creatives.Update.CreativesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Creatives.Update.CreativesUpdate


-- | Retrieves list of report dimension values for a list of filters.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.dimensionValues.query</tt>.
module Network.Google.Resource.DFAReporting.DimensionValues.Query

-- | A resource alias for <tt>dfareporting.dimensionValues.query</tt>
--   method which the <a>DimensionValuesQuery</a> request conforms to.
type DimensionValuesQueryResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("dimensionvalues" :> ("query" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DimensionValueRequest :> Post '[JSON] DimensionValueList)))))))))

-- | Creates a value of <a>DimensionValuesQuery</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvqProFileId</a></li>
--   <li><a>dvqPayload</a></li>
--   <li><a>dvqPageToken</a></li>
--   <li><a>dvqMaxResults</a></li>
--   </ul>
dimensionValuesQuery :: Int64 -> DimensionValueRequest -> DimensionValuesQuery

-- | Retrieves list of report dimension values for a list of filters.
--   
--   <i>See:</i> <a>dimensionValuesQuery</a> smart constructor.
data DimensionValuesQuery

-- | The DFA user profile ID.
dvqProFileId :: Lens' DimensionValuesQuery Int64

-- | Multipart request metadata.
dvqPayload :: Lens' DimensionValuesQuery DimensionValueRequest

-- | The value of the nextToken from the previous result page.
dvqPageToken :: Lens' DimensionValuesQuery (Maybe Text)

-- | Maximum number of results to return.
dvqMaxResults :: Lens' DimensionValuesQuery (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.DimensionValues.Query.DimensionValuesQuery
instance Data.Data.Data Network.Google.Resource.DFAReporting.DimensionValues.Query.DimensionValuesQuery
instance GHC.Show.Show Network.Google.Resource.DFAReporting.DimensionValues.Query.DimensionValuesQuery
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.DimensionValues.Query.DimensionValuesQuery
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.DimensionValues.Query.DimensionValuesQuery


-- | Gets one directory site contact by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.directorySiteContacts.get</tt>.
module Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get

-- | A resource alias for <tt>dfareporting.directorySiteContacts.get</tt>
--   method which the <a>DirectorySiteContactsGet</a> request conforms to.
type DirectorySiteContactsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("directorySiteContacts" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] DirectorySiteContact))))))

-- | Creates a value of <a>DirectorySiteContactsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dscgProFileId</a></li>
--   <li><a>dscgId</a></li>
--   </ul>
directorySiteContactsGet :: Int64 -> Int64 -> DirectorySiteContactsGet

-- | Gets one directory site contact by ID.
--   
--   <i>See:</i> <a>directorySiteContactsGet</a> smart constructor.
data DirectorySiteContactsGet

-- | User profile ID associated with this request.
dscgProFileId :: Lens' DirectorySiteContactsGet Int64

-- | Directory site contact ID.
dscgId :: Lens' DirectorySiteContactsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get.DirectorySiteContactsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get.DirectorySiteContactsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get.DirectorySiteContactsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get.DirectorySiteContactsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get.DirectorySiteContactsGet


-- | Retrieves a list of directory site contacts, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.directorySiteContacts.list</tt>.
module Network.Google.Resource.DFAReporting.DirectorySiteContacts.List

-- | A resource alias for <tt>dfareporting.directorySiteContacts.list</tt>
--   method which the <a>DirectorySiteContactsList</a> request conforms to.
type DirectorySiteContactsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("directorySiteContacts" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParams "directorySiteIds" (Textual Int64) :> (QueryParam "sortOrder" DirectorySiteContactsListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" DirectorySiteContactsListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DirectorySiteContactsListResponse))))))))))))

-- | Creates a value of <a>DirectorySiteContactsList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsclSearchString</a></li>
--   <li><a>dsclIds</a></li>
--   <li><a>dsclProFileId</a></li>
--   <li><a>dsclDirectorySiteIds</a></li>
--   <li><a>dsclSortOrder</a></li>
--   <li><a>dsclPageToken</a></li>
--   <li><a>dsclSortField</a></li>
--   <li><a>dsclMaxResults</a></li>
--   </ul>
directorySiteContactsList :: Int64 -> DirectorySiteContactsList

-- | Retrieves a list of directory site contacts, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>directorySiteContactsList</a> smart constructor.
data DirectorySiteContactsList

-- | Allows searching for objects by name, ID or email. Wildcards (*) are
--   allowed. For example, "directory site contact*2015" will return
--   objects with names like "directory site contact June 2015", "directory
--   site contact April 2015", or simply "directory site contact 2015".
--   Most of the searches also add wildcards implicitly at the start and
--   the end of the search string. For example, a search string of
--   "directory site contact" will match objects with name "my directory
--   site contact", "directory site contact 2015", or simply "directory
--   site contact".
dsclSearchString :: Lens' DirectorySiteContactsList (Maybe Text)

-- | Select only directory site contacts with these IDs.
dsclIds :: Lens' DirectorySiteContactsList [Int64]

-- | User profile ID associated with this request.
dsclProFileId :: Lens' DirectorySiteContactsList Int64

-- | Select only directory site contacts with these directory site IDs.
--   This is a required field.
dsclDirectorySiteIds :: Lens' DirectorySiteContactsList [Int64]

-- | Order of sorted results, default is ASCENDING.
dsclSortOrder :: Lens' DirectorySiteContactsList (Maybe DirectorySiteContactsListSortOrder)

-- | Value of the nextPageToken from the previous result page.
dsclPageToken :: Lens' DirectorySiteContactsList (Maybe Text)

-- | Field by which to sort the list.
dsclSortField :: Lens' DirectorySiteContactsList (Maybe DirectorySiteContactsListSortField)

-- | Maximum number of results to return.
dsclMaxResults :: Lens' DirectorySiteContactsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.DirectorySiteContacts.List.DirectorySiteContactsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.DirectorySiteContacts.List.DirectorySiteContactsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.DirectorySiteContacts.List.DirectorySiteContactsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.DirectorySiteContacts.List.DirectorySiteContactsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.DirectorySiteContacts.List.DirectorySiteContactsList


-- | Gets one directory site by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.directorySites.get</tt>.
module Network.Google.Resource.DFAReporting.DirectorySites.Get

-- | A resource alias for <tt>dfareporting.directorySites.get</tt> method
--   which the <a>DirectorySitesGet</a> request conforms to.
type DirectorySitesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("directorySites" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] DirectorySite))))))

-- | Creates a value of <a>DirectorySitesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsgProFileId</a></li>
--   <li><a>dsgId</a></li>
--   </ul>
directorySitesGet :: Int64 -> Int64 -> DirectorySitesGet

-- | Gets one directory site by ID.
--   
--   <i>See:</i> <a>directorySitesGet</a> smart constructor.
data DirectorySitesGet

-- | User profile ID associated with this request.
dsgProFileId :: Lens' DirectorySitesGet Int64

-- | Directory site ID.
dsgId :: Lens' DirectorySitesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.DirectorySites.Get.DirectorySitesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.DirectorySites.Get.DirectorySitesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.DirectorySites.Get.DirectorySitesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.DirectorySites.Get.DirectorySitesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.DirectorySites.Get.DirectorySitesGet


-- | Inserts a new directory site.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.directorySites.insert</tt>.
module Network.Google.Resource.DFAReporting.DirectorySites.Insert

-- | A resource alias for <tt>dfareporting.directorySites.insert</tt>
--   method which the <a>DirectorySitesInsert</a> request conforms to.
type DirectorySitesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("directorySites" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DirectorySite :> Post '[JSON] DirectorySite))))))

-- | Creates a value of <a>DirectorySitesInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsiProFileId</a></li>
--   <li><a>dsiPayload</a></li>
--   </ul>
directorySitesInsert :: Int64 -> DirectorySite -> DirectorySitesInsert

-- | Inserts a new directory site.
--   
--   <i>See:</i> <a>directorySitesInsert</a> smart constructor.
data DirectorySitesInsert

-- | User profile ID associated with this request.
dsiProFileId :: Lens' DirectorySitesInsert Int64

-- | Multipart request metadata.
dsiPayload :: Lens' DirectorySitesInsert DirectorySite
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.DirectorySites.Insert.DirectorySitesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.DirectorySites.Insert.DirectorySitesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.DirectorySites.Insert.DirectorySitesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.DirectorySites.Insert.DirectorySitesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.DirectorySites.Insert.DirectorySitesInsert


-- | Retrieves a list of directory sites, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.directorySites.list</tt>.
module Network.Google.Resource.DFAReporting.DirectorySites.List

-- | A resource alias for <tt>dfareporting.directorySites.list</tt> method
--   which the <a>DirectorySitesList</a> request conforms to.
type DirectorySitesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("directorySites" :> (QueryParam "searchString" Text :> (QueryParam "acceptsInterstitialPlacements" Bool :> (QueryParam "acceptsPublisherPaidPlacements" Bool :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" DirectorySitesListSortOrder :> (QueryParam "active" Bool :> (QueryParam "countryId" (Textual Int64) :> (QueryParam "pageToken" Text :> (QueryParam "sortField" DirectorySitesListSortField :> (QueryParam "acceptsInStreamVideoPlacements" Bool :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "parentId" (Textual Int64) :> (QueryParam "dfp_network_code" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] DirectorySitesListResponse))))))))))))))))))

-- | Creates a value of <a>DirectorySitesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dslSearchString</a></li>
--   <li><a>dslAcceptsInterstitialPlacements</a></li>
--   <li><a>dslAcceptsPublisherPaidPlacements</a></li>
--   <li><a>dslIds</a></li>
--   <li><a>dslProFileId</a></li>
--   <li><a>dslSortOrder</a></li>
--   <li><a>dslActive</a></li>
--   <li><a>dslCountryId</a></li>
--   <li><a>dslPageToken</a></li>
--   <li><a>dslSortField</a></li>
--   <li><a>dslAcceptsInStreamVideoPlacements</a></li>
--   <li><a>dslMaxResults</a></li>
--   <li><a>dslParentId</a></li>
--   <li><a>dslDfpNetworkCode</a></li>
--   </ul>
directorySitesList :: Int64 -> DirectorySitesList

-- | Retrieves a list of directory sites, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>directorySitesList</a> smart constructor.
data DirectorySitesList

-- | Allows searching for objects by name, ID or URL. Wildcards (*) are
--   allowed. For example, "directory site*2015" will return objects with
--   names like "directory site June 2015", "directory site April 2015", or
--   simply "directory site 2015". Most of the searches also add wildcards
--   implicitly at the start and the end of the search string. For example,
--   a search string of "directory site" will match objects with name "my
--   directory site", "directory site 2015" or simply, "directory site".
dslSearchString :: Lens' DirectorySitesList (Maybe Text)

-- | This search filter is no longer supported and will have no effect on
--   the results returned.
dslAcceptsInterstitialPlacements :: Lens' DirectorySitesList (Maybe Bool)

-- | Select only directory sites that accept publisher paid placements.
--   This field can be left blank.
dslAcceptsPublisherPaidPlacements :: Lens' DirectorySitesList (Maybe Bool)

-- | Select only directory sites with these IDs.
dslIds :: Lens' DirectorySitesList [Int64]

-- | User profile ID associated with this request.
dslProFileId :: Lens' DirectorySitesList Int64

-- | Order of sorted results, default is ASCENDING.
dslSortOrder :: Lens' DirectorySitesList (Maybe DirectorySitesListSortOrder)

-- | Select only active directory sites. Leave blank to retrieve both
--   active and inactive directory sites.
dslActive :: Lens' DirectorySitesList (Maybe Bool)

-- | Select only directory sites with this country ID.
dslCountryId :: Lens' DirectorySitesList (Maybe Int64)

-- | Value of the nextPageToken from the previous result page.
dslPageToken :: Lens' DirectorySitesList (Maybe Text)

-- | Field by which to sort the list.
dslSortField :: Lens' DirectorySitesList (Maybe DirectorySitesListSortField)

-- | This search filter is no longer supported and will have no effect on
--   the results returned.
dslAcceptsInStreamVideoPlacements :: Lens' DirectorySitesList (Maybe Bool)

-- | Maximum number of results to return.
dslMaxResults :: Lens' DirectorySitesList (Maybe Int32)

-- | Select only directory sites with this parent ID.
dslParentId :: Lens' DirectorySitesList (Maybe Int64)

-- | Select only directory sites with this DFP network code.
dslDfpNetworkCode :: Lens' DirectorySitesList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.DirectorySites.List.DirectorySitesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.DirectorySites.List.DirectorySitesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.DirectorySites.List.DirectorySitesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.DirectorySites.List.DirectorySitesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.DirectorySites.List.DirectorySitesList


-- | Deletes an existing dynamic targeting key.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.dynamicTargetingKeys.delete</tt>.
module Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Delete

-- | A resource alias for <tt>dfareporting.dynamicTargetingKeys.delete</tt>
--   method which the <a>DynamicTargetingKeysDelete</a> request conforms
--   to.
type DynamicTargetingKeysDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("dynamicTargetingKeys" :> (Capture "objectId" (Textual Int64) :> (QueryParam "name" Text :> (QueryParam "objectType" DynamicTargetingKeysDeleteObjectType :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>DynamicTargetingKeysDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtkdObjectType</a></li>
--   <li><a>dtkdObjectId</a></li>
--   <li><a>dtkdProFileId</a></li>
--   <li><a>dtkdName</a></li>
--   </ul>
dynamicTargetingKeysDelete :: DynamicTargetingKeysDeleteObjectType -> Int64 -> Int64 -> Text -> DynamicTargetingKeysDelete

-- | Deletes an existing dynamic targeting key.
--   
--   <i>See:</i> <a>dynamicTargetingKeysDelete</a> smart constructor.
data DynamicTargetingKeysDelete

-- | Type of the object of this dynamic targeting key. This is a required
--   field.
dtkdObjectType :: Lens' DynamicTargetingKeysDelete DynamicTargetingKeysDeleteObjectType

-- | ID of the object of this dynamic targeting key. This is a required
--   field.
dtkdObjectId :: Lens' DynamicTargetingKeysDelete Int64

-- | User profile ID associated with this request.
dtkdProFileId :: Lens' DynamicTargetingKeysDelete Int64

-- | Name of this dynamic targeting key. This is a required field. Must be
--   less than 256 characters long and cannot contain commas. All
--   characters are converted to lowercase.
dtkdName :: Lens' DynamicTargetingKeysDelete Text
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Delete.DynamicTargetingKeysDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Delete.DynamicTargetingKeysDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Delete.DynamicTargetingKeysDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Delete.DynamicTargetingKeysDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Delete.DynamicTargetingKeysDelete


-- | Inserts a new dynamic targeting key. Keys must be created at the
--   advertiser level before being assigned to the advertiser's ads,
--   creatives, or placements. There is a maximum of 1000 keys per
--   advertiser, out of which a maximum of 20 keys can be assigned per ad,
--   creative, or placement.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.dynamicTargetingKeys.insert</tt>.
module Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Insert

-- | A resource alias for <tt>dfareporting.dynamicTargetingKeys.insert</tt>
--   method which the <a>DynamicTargetingKeysInsert</a> request conforms
--   to.
type DynamicTargetingKeysInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("dynamicTargetingKeys" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DynamicTargetingKey :> Post '[JSON] DynamicTargetingKey))))))

-- | Creates a value of <a>DynamicTargetingKeysInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtkiProFileId</a></li>
--   <li><a>dtkiPayload</a></li>
--   </ul>
dynamicTargetingKeysInsert :: Int64 -> DynamicTargetingKey -> DynamicTargetingKeysInsert

-- | Inserts a new dynamic targeting key. Keys must be created at the
--   advertiser level before being assigned to the advertiser's ads,
--   creatives, or placements. There is a maximum of 1000 keys per
--   advertiser, out of which a maximum of 20 keys can be assigned per ad,
--   creative, or placement.
--   
--   <i>See:</i> <a>dynamicTargetingKeysInsert</a> smart constructor.
data DynamicTargetingKeysInsert

-- | User profile ID associated with this request.
dtkiProFileId :: Lens' DynamicTargetingKeysInsert Int64

-- | Multipart request metadata.
dtkiPayload :: Lens' DynamicTargetingKeysInsert DynamicTargetingKey
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Insert.DynamicTargetingKeysInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Insert.DynamicTargetingKeysInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Insert.DynamicTargetingKeysInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Insert.DynamicTargetingKeysInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Insert.DynamicTargetingKeysInsert


-- | Retrieves a list of dynamic targeting keys.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.dynamicTargetingKeys.list</tt>.
module Network.Google.Resource.DFAReporting.DynamicTargetingKeys.List

-- | A resource alias for <tt>dfareporting.dynamicTargetingKeys.list</tt>
--   method which the <a>DynamicTargetingKeysList</a> request conforms to.
type DynamicTargetingKeysListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("dynamicTargetingKeys" :> (QueryParam "objectType" DynamicTargetingKeysListObjectType :> (QueryParam "advertiserId" (Textual Int64) :> (QueryParam "objectId" (Textual Int64) :> (QueryParams "names" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] DynamicTargetingKeysListResponse)))))))))

-- | Creates a value of <a>DynamicTargetingKeysList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtklObjectType</a></li>
--   <li><a>dtklAdvertiserId</a></li>
--   <li><a>dtklObjectId</a></li>
--   <li><a>dtklProFileId</a></li>
--   <li><a>dtklNames</a></li>
--   </ul>
dynamicTargetingKeysList :: Int64 -> DynamicTargetingKeysList

-- | Retrieves a list of dynamic targeting keys.
--   
--   <i>See:</i> <a>dynamicTargetingKeysList</a> smart constructor.
data DynamicTargetingKeysList

-- | Select only dynamic targeting keys with this object type.
dtklObjectType :: Lens' DynamicTargetingKeysList (Maybe DynamicTargetingKeysListObjectType)

-- | Select only dynamic targeting keys whose object has this advertiser
--   ID.
dtklAdvertiserId :: Lens' DynamicTargetingKeysList (Maybe Int64)

-- | Select only dynamic targeting keys with this object ID.
dtklObjectId :: Lens' DynamicTargetingKeysList (Maybe Int64)

-- | User profile ID associated with this request.
dtklProFileId :: Lens' DynamicTargetingKeysList Int64

-- | Select only dynamic targeting keys exactly matching these names.
dtklNames :: Lens' DynamicTargetingKeysList [Text]
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.DynamicTargetingKeys.List.DynamicTargetingKeysList
instance Data.Data.Data Network.Google.Resource.DFAReporting.DynamicTargetingKeys.List.DynamicTargetingKeysList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.DynamicTargetingKeys.List.DynamicTargetingKeysList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.DynamicTargetingKeys.List.DynamicTargetingKeysList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.DynamicTargetingKeys.List.DynamicTargetingKeysList


-- | Deletes an existing event tag.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.eventTags.delete</tt>.
module Network.Google.Resource.DFAReporting.EventTags.Delete

-- | A resource alias for <tt>dfareporting.eventTags.delete</tt> method
--   which the <a>EventTagsDelete</a> request conforms to.
type EventTagsDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("eventTags" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>EventTagsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etdProFileId</a></li>
--   <li><a>etdId</a></li>
--   </ul>
eventTagsDelete :: Int64 -> Int64 -> EventTagsDelete

-- | Deletes an existing event tag.
--   
--   <i>See:</i> <a>eventTagsDelete</a> smart constructor.
data EventTagsDelete

-- | User profile ID associated with this request.
etdProFileId :: Lens' EventTagsDelete Int64

-- | Event tag ID.
etdId :: Lens' EventTagsDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.EventTags.Delete.EventTagsDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.EventTags.Delete.EventTagsDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.EventTags.Delete.EventTagsDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.EventTags.Delete.EventTagsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.EventTags.Delete.EventTagsDelete


-- | Gets one event tag by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.eventTags.get</tt>.
module Network.Google.Resource.DFAReporting.EventTags.Get

-- | A resource alias for <tt>dfareporting.eventTags.get</tt> method which
--   the <a>EventTagsGet</a> request conforms to.
type EventTagsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("eventTags" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] EventTag))))))

-- | Creates a value of <a>EventTagsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etgProFileId</a></li>
--   <li><a>etgId</a></li>
--   </ul>
eventTagsGet :: Int64 -> Int64 -> EventTagsGet

-- | Gets one event tag by ID.
--   
--   <i>See:</i> <a>eventTagsGet</a> smart constructor.
data EventTagsGet

-- | User profile ID associated with this request.
etgProFileId :: Lens' EventTagsGet Int64

-- | Event tag ID.
etgId :: Lens' EventTagsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.EventTags.Get.EventTagsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.EventTags.Get.EventTagsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.EventTags.Get.EventTagsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.EventTags.Get.EventTagsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.EventTags.Get.EventTagsGet


-- | Inserts a new event tag.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.eventTags.insert</tt>.
module Network.Google.Resource.DFAReporting.EventTags.Insert

-- | A resource alias for <tt>dfareporting.eventTags.insert</tt> method
--   which the <a>EventTagsInsert</a> request conforms to.
type EventTagsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("eventTags" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EventTag :> Post '[JSON] EventTag))))))

-- | Creates a value of <a>EventTagsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etiProFileId</a></li>
--   <li><a>etiPayload</a></li>
--   </ul>
eventTagsInsert :: Int64 -> EventTag -> EventTagsInsert

-- | Inserts a new event tag.
--   
--   <i>See:</i> <a>eventTagsInsert</a> smart constructor.
data EventTagsInsert

-- | User profile ID associated with this request.
etiProFileId :: Lens' EventTagsInsert Int64

-- | Multipart request metadata.
etiPayload :: Lens' EventTagsInsert EventTag
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.EventTags.Insert.EventTagsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.EventTags.Insert.EventTagsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.EventTags.Insert.EventTagsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.EventTags.Insert.EventTagsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.EventTags.Insert.EventTagsInsert


-- | Retrieves a list of event tags, possibly filtered.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.eventTags.list</tt>.
module Network.Google.Resource.DFAReporting.EventTags.List

-- | A resource alias for <tt>dfareporting.eventTags.list</tt> method which
--   the <a>EventTagsList</a> request conforms to.
type EventTagsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("eventTags" :> (QueryParam "definitionsOnly" Bool :> (QueryParams "eventTagTypes" EventTagsListEventTagTypes :> (QueryParam "enabled" Bool :> (QueryParam "advertiserId" (Textual Int64) :> (QueryParam "searchString" Text :> (QueryParam "campaignId" (Textual Int64) :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" EventTagsListSortOrder :> (QueryParam "adId" (Textual Int64) :> (QueryParam "sortField" EventTagsListSortField :> (QueryParam "alt" AltJSON :> Get '[JSON] EventTagsListResponse)))))))))))))))

-- | Creates a value of <a>EventTagsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etlDefinitionsOnly</a></li>
--   <li><a>etlEventTagTypes</a></li>
--   <li><a>etlEnabled</a></li>
--   <li><a>etlAdvertiserId</a></li>
--   <li><a>etlSearchString</a></li>
--   <li><a>etlCampaignId</a></li>
--   <li><a>etlIds</a></li>
--   <li><a>etlProFileId</a></li>
--   <li><a>etlSortOrder</a></li>
--   <li><a>etlAdId</a></li>
--   <li><a>etlSortField</a></li>
--   </ul>
eventTagsList :: Int64 -> EventTagsList

-- | Retrieves a list of event tags, possibly filtered.
--   
--   <i>See:</i> <a>eventTagsList</a> smart constructor.
data EventTagsList

-- | Examine only the specified campaign or advertiser's event tags for
--   matching selector criteria. When set to false, the parent advertiser
--   and parent campaign of the specified ad or campaign is examined as
--   well. In addition, when set to false, the status field is examined as
--   well, along with the enabledByDefault field. This parameter can not be
--   set to true when adId is specified as ads do not define their own even
--   tags.
etlDefinitionsOnly :: Lens' EventTagsList (Maybe Bool)

-- | Select only event tags with the specified event tag types. Event tag
--   types can be used to specify whether to use a third-party pixel, a
--   third-party JavaScript URL, or a third-party click-through URL for
--   either impression or click tracking.
etlEventTagTypes :: Lens' EventTagsList [EventTagsListEventTagTypes]

-- | Select only enabled event tags. What is considered enabled or disabled
--   depends on the definitionsOnly parameter. When definitionsOnly is set
--   to true, only the specified advertiser or campaign's event tags'
--   enabledByDefault field is examined. When definitionsOnly is set to
--   false, the specified ad or specified campaign's parent advertiser's or
--   parent campaign's event tags' enabledByDefault and status fields are
--   examined as well.
etlEnabled :: Lens' EventTagsList (Maybe Bool)

-- | Select only event tags that belong to this advertiser.
etlAdvertiserId :: Lens' EventTagsList (Maybe Int64)

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "eventtag*2015" will return objects with names like
--   "eventtag June 2015", "eventtag April 2015", or simply "eventtag
--   2015". Most of the searches also add wildcards implicitly at the start
--   and the end of the search string. For example, a search string of
--   "eventtag" will match objects with name "my eventtag", "eventtag
--   2015", or simply "eventtag".
etlSearchString :: Lens' EventTagsList (Maybe Text)

-- | Select only event tags that belong to this campaign.
etlCampaignId :: Lens' EventTagsList (Maybe Int64)

-- | Select only event tags with these IDs.
etlIds :: Lens' EventTagsList [Int64]

-- | User profile ID associated with this request.
etlProFileId :: Lens' EventTagsList Int64

-- | Order of sorted results, default is ASCENDING.
etlSortOrder :: Lens' EventTagsList (Maybe EventTagsListSortOrder)

-- | Select only event tags that belong to this ad.
etlAdId :: Lens' EventTagsList (Maybe Int64)

-- | Field by which to sort the list.
etlSortField :: Lens' EventTagsList (Maybe EventTagsListSortField)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.EventTags.List.EventTagsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.EventTags.List.EventTagsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.EventTags.List.EventTagsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.EventTags.List.EventTagsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.EventTags.List.EventTagsList


-- | Updates an existing event tag. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.eventTags.patch</tt>.
module Network.Google.Resource.DFAReporting.EventTags.Patch

-- | A resource alias for <tt>dfareporting.eventTags.patch</tt> method
--   which the <a>EventTagsPatch</a> request conforms to.
type EventTagsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("eventTags" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EventTag :> Patch '[JSON] EventTag)))))))

-- | Creates a value of <a>EventTagsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etpProFileId</a></li>
--   <li><a>etpPayload</a></li>
--   <li><a>etpId</a></li>
--   </ul>
eventTagsPatch :: Int64 -> EventTag -> Int64 -> EventTagsPatch

-- | Updates an existing event tag. This method supports patch semantics.
--   
--   <i>See:</i> <a>eventTagsPatch</a> smart constructor.
data EventTagsPatch

-- | User profile ID associated with this request.
etpProFileId :: Lens' EventTagsPatch Int64

-- | Multipart request metadata.
etpPayload :: Lens' EventTagsPatch EventTag

-- | Event tag ID.
etpId :: Lens' EventTagsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.EventTags.Patch.EventTagsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.EventTags.Patch.EventTagsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.EventTags.Patch.EventTagsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.EventTags.Patch.EventTagsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.EventTags.Patch.EventTagsPatch


-- | Updates an existing event tag.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.eventTags.update</tt>.
module Network.Google.Resource.DFAReporting.EventTags.Update

-- | A resource alias for <tt>dfareporting.eventTags.update</tt> method
--   which the <a>EventTagsUpdate</a> request conforms to.
type EventTagsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("eventTags" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EventTag :> Put '[JSON] EventTag))))))

-- | Creates a value of <a>EventTagsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etuProFileId</a></li>
--   <li><a>etuPayload</a></li>
--   </ul>
eventTagsUpdate :: Int64 -> EventTag -> EventTagsUpdate

-- | Updates an existing event tag.
--   
--   <i>See:</i> <a>eventTagsUpdate</a> smart constructor.
data EventTagsUpdate

-- | User profile ID associated with this request.
etuProFileId :: Lens' EventTagsUpdate Int64

-- | Multipart request metadata.
etuPayload :: Lens' EventTagsUpdate EventTag
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.EventTags.Update.EventTagsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.EventTags.Update.EventTagsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.EventTags.Update.EventTagsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.EventTags.Update.EventTagsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.EventTags.Update.EventTagsUpdate


-- | Retrieves a report file by its report ID and file ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.files.get</tt>.
module Network.Google.Resource.DFAReporting.Files.Get

-- | A resource alias for <tt>dfareporting.files.get</tt> method which the
--   <a>FilesGet</a> request conforms to.
type FilesGetResource = ("dfareporting" :> ("v2.7" :> ("reports" :> (Capture "reportId" (Textual Int64) :> ("files" :> (Capture "fileId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] File))))))) :<|> ("dfareporting" :> ("v2.7" :> ("reports" :> (Capture "reportId" (Textual Int64) :> ("files" :> (Capture "fileId" (Textual Int64) :> (QueryParam "alt" AltMedia :> Get '[OctetStream] Stream)))))))

-- | Creates a value of <a>FilesGet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fgReportId</a></li>
--   <li><a>fgFileId</a></li>
--   </ul>
filesGet :: Int64 -> Int64 -> FilesGet

-- | Retrieves a report file by its report ID and file ID.
--   
--   <i>See:</i> <a>filesGet</a> smart constructor.
data FilesGet

-- | The ID of the report.
fgReportId :: Lens' FilesGet Int64

-- | The ID of the report file.
fgFileId :: Lens' FilesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Files.Get.FilesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Files.Get.FilesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Files.Get.FilesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Files.Get.FilesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Files.Get.FilesGet
instance Network.Google.Types.GoogleRequest (Network.Google.Types.MediaDownload Network.Google.Resource.DFAReporting.Files.Get.FilesGet)


-- | Lists files for a user profile.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.files.list</tt>.
module Network.Google.Resource.DFAReporting.Files.List

-- | A resource alias for <tt>dfareporting.files.list</tt> method which the
--   <a>FilesList</a> request conforms to.
type FilesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("files" :> (QueryParam "sortOrder" FilesListSortOrder :> (QueryParam "scope" FilesListScope :> (QueryParam "pageToken" Text :> (QueryParam "sortField" FilesListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] FileList))))))))))

-- | Creates a value of <a>FilesList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>flProFileId</a></li>
--   <li><a>flSortOrder</a></li>
--   <li><a>flScope</a></li>
--   <li><a>flPageToken</a></li>
--   <li><a>flSortField</a></li>
--   <li><a>flMaxResults</a></li>
--   </ul>
filesList :: Int64 -> FilesList

-- | Lists files for a user profile.
--   
--   <i>See:</i> <a>filesList</a> smart constructor.
data FilesList

-- | The DFA profile ID.
flProFileId :: Lens' FilesList Int64

-- | Order of sorted results, default is 'DESCENDING'.
flSortOrder :: Lens' FilesList FilesListSortOrder

-- | The scope that defines which results are returned, default is 'MINE'.
flScope :: Lens' FilesList FilesListScope

-- | The value of the nextToken from the previous result page.
flPageToken :: Lens' FilesList (Maybe Text)

-- | The field by which to sort the list.
flSortField :: Lens' FilesList FilesListSortField

-- | Maximum number of results to return.
flMaxResults :: Lens' FilesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Files.List.FilesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Files.List.FilesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Files.List.FilesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Files.List.FilesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Files.List.FilesList


-- | Deletes an existing floodlight activity.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivities.delete</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivities.Delete

-- | A resource alias for <tt>dfareporting.floodlightActivities.delete</tt>
--   method which the <a>FloodlightActivitiesDelete</a> request conforms
--   to.
type FloodlightActivitiesDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivities" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>FloodlightActivitiesDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fadProFileId</a></li>
--   <li><a>fadId</a></li>
--   </ul>
floodlightActivitiesDelete :: Int64 -> Int64 -> FloodlightActivitiesDelete

-- | Deletes an existing floodlight activity.
--   
--   <i>See:</i> <a>floodlightActivitiesDelete</a> smart constructor.
data FloodlightActivitiesDelete

-- | User profile ID associated with this request.
fadProFileId :: Lens' FloodlightActivitiesDelete Int64

-- | Floodlight activity ID.
fadId :: Lens' FloodlightActivitiesDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivities.Delete.FloodlightActivitiesDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivities.Delete.FloodlightActivitiesDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivities.Delete.FloodlightActivitiesDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivities.Delete.FloodlightActivitiesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivities.Delete.FloodlightActivitiesDelete


-- | Generates a tag for a floodlight activity.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivities.generatetag</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag

-- | A resource alias for
--   <tt>dfareporting.floodlightActivities.generatetag</tt> method which
--   the <a>FloodlightActivitiesGeneratetag</a> request conforms to.
type FloodlightActivitiesGeneratetagResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivities" :> ("generatetag" :> (QueryParam "floodlightActivityId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Post '[JSON] FloodlightActivitiesGenerateTagResponse)))))))

-- | Creates a value of <a>FloodlightActivitiesGeneratetag</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fagFloodlightActivityId</a></li>
--   <li><a>fagProFileId</a></li>
--   </ul>
floodlightActivitiesGeneratetag :: Int64 -> FloodlightActivitiesGeneratetag

-- | Generates a tag for a floodlight activity.
--   
--   <i>See:</i> <a>floodlightActivitiesGeneratetag</a> smart constructor.
data FloodlightActivitiesGeneratetag

-- | Floodlight activity ID for which we want to generate a tag.
fagFloodlightActivityId :: Lens' FloodlightActivitiesGeneratetag (Maybe Int64)

-- | User profile ID associated with this request.
fagProFileId :: Lens' FloodlightActivitiesGeneratetag Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag.FloodlightActivitiesGeneratetag
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag.FloodlightActivitiesGeneratetag
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag.FloodlightActivitiesGeneratetag
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag.FloodlightActivitiesGeneratetag
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag.FloodlightActivitiesGeneratetag


-- | Gets one floodlight activity by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivities.get</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivities.Get

-- | A resource alias for <tt>dfareporting.floodlightActivities.get</tt>
--   method which the <a>FloodlightActivitiesGet</a> request conforms to.
type FloodlightActivitiesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivities" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] FloodlightActivity))))))

-- | Creates a value of <a>FloodlightActivitiesGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fProFileId</a></li>
--   <li><a>fId</a></li>
--   </ul>
floodlightActivitiesGet :: Int64 -> Int64 -> FloodlightActivitiesGet

-- | Gets one floodlight activity by ID.
--   
--   <i>See:</i> <a>floodlightActivitiesGet</a> smart constructor.
data FloodlightActivitiesGet

-- | User profile ID associated with this request.
fProFileId :: Lens' FloodlightActivitiesGet Int64

-- | Floodlight activity ID.
fId :: Lens' FloodlightActivitiesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivities.Get.FloodlightActivitiesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivities.Get.FloodlightActivitiesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivities.Get.FloodlightActivitiesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivities.Get.FloodlightActivitiesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivities.Get.FloodlightActivitiesGet


-- | Inserts a new floodlight activity.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivities.insert</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivities.Insert

-- | A resource alias for <tt>dfareporting.floodlightActivities.insert</tt>
--   method which the <a>FloodlightActivitiesInsert</a> request conforms
--   to.
type FloodlightActivitiesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivities" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] FloodlightActivity :> Post '[JSON] FloodlightActivity))))))

-- | Creates a value of <a>FloodlightActivitiesInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>faiProFileId</a></li>
--   <li><a>faiPayload</a></li>
--   </ul>
floodlightActivitiesInsert :: Int64 -> FloodlightActivity -> FloodlightActivitiesInsert

-- | Inserts a new floodlight activity.
--   
--   <i>See:</i> <a>floodlightActivitiesInsert</a> smart constructor.
data FloodlightActivitiesInsert

-- | User profile ID associated with this request.
faiProFileId :: Lens' FloodlightActivitiesInsert Int64

-- | Multipart request metadata.
faiPayload :: Lens' FloodlightActivitiesInsert FloodlightActivity
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivities.Insert.FloodlightActivitiesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivities.Insert.FloodlightActivitiesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivities.Insert.FloodlightActivitiesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivities.Insert.FloodlightActivitiesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivities.Insert.FloodlightActivitiesInsert


-- | Retrieves a list of floodlight activities, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivities.list</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivities.List

-- | A resource alias for <tt>dfareporting.floodlightActivities.list</tt>
--   method which the <a>FloodlightActivitiesList</a> request conforms to.
type FloodlightActivitiesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivities" :> (QueryParam "tagString" Text :> (QueryParam "floodlightActivityGroupTagString" Text :> (QueryParam "floodlightConfigurationId" (Textual Int64) :> (QueryParam "advertiserId" (Textual Int64) :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParams "floodlightActivityGroupIds" (Textual Int64) :> (QueryParam "sortOrder" FloodlightActivitiesListSortOrder :> (QueryParam "floodlightActivityGroupType" FloodlightActivitiesListFloodlightActivityGroupType :> (QueryParam "floodlightActivityGroupName" Text :> (QueryParam "pageToken" Text :> (QueryParam "sortField" FloodlightActivitiesListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] FloodlightActivitiesListResponse))))))))))))))))))

-- | Creates a value of <a>FloodlightActivitiesList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>falTagString</a></li>
--   <li><a>falFloodlightActivityGroupTagString</a></li>
--   <li><a>falFloodlightConfigurationId</a></li>
--   <li><a>falAdvertiserId</a></li>
--   <li><a>falSearchString</a></li>
--   <li><a>falIds</a></li>
--   <li><a>falProFileId</a></li>
--   <li><a>falFloodlightActivityGroupIds</a></li>
--   <li><a>falSortOrder</a></li>
--   <li><a>falFloodlightActivityGroupType</a></li>
--   <li><a>falFloodlightActivityGroupName</a></li>
--   <li><a>falPageToken</a></li>
--   <li><a>falSortField</a></li>
--   <li><a>falMaxResults</a></li>
--   </ul>
floodlightActivitiesList :: Int64 -> FloodlightActivitiesList

-- | Retrieves a list of floodlight activities, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>floodlightActivitiesList</a> smart constructor.
data FloodlightActivitiesList

-- | Select only floodlight activities with the specified tag string.
falTagString :: Lens' FloodlightActivitiesList (Maybe Text)

-- | Select only floodlight activities with the specified floodlight
--   activity group tag string.
falFloodlightActivityGroupTagString :: Lens' FloodlightActivitiesList (Maybe Text)

-- | Select only floodlight activities for the specified floodlight
--   configuration ID. Must specify either ids, advertiserId, or
--   floodlightConfigurationId for a non-empty result.
falFloodlightConfigurationId :: Lens' FloodlightActivitiesList (Maybe Int64)

-- | Select only floodlight activities for the specified advertiser ID.
--   Must specify either ids, advertiserId, or floodlightConfigurationId
--   for a non-empty result.
falAdvertiserId :: Lens' FloodlightActivitiesList (Maybe Int64)

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "floodlightactivity*2015" will return objects with names
--   like "floodlightactivity June 2015", "floodlightactivity April 2015",
--   or simply "floodlightactivity 2015". Most of the searches also add
--   wildcards implicitly at the start and the end of the search string.
--   For example, a search string of "floodlightactivity" will match
--   objects with name "my floodlightactivity activity",
--   "floodlightactivity 2015", or simply "floodlightactivity".
falSearchString :: Lens' FloodlightActivitiesList (Maybe Text)

-- | Select only floodlight activities with the specified IDs. Must specify
--   either ids, advertiserId, or floodlightConfigurationId for a non-empty
--   result.
falIds :: Lens' FloodlightActivitiesList [Int64]

-- | User profile ID associated with this request.
falProFileId :: Lens' FloodlightActivitiesList Int64

-- | Select only floodlight activities with the specified floodlight
--   activity group IDs.
falFloodlightActivityGroupIds :: Lens' FloodlightActivitiesList [Int64]

-- | Order of sorted results, default is ASCENDING.
falSortOrder :: Lens' FloodlightActivitiesList (Maybe FloodlightActivitiesListSortOrder)

-- | Select only floodlight activities with the specified floodlight
--   activity group type.
falFloodlightActivityGroupType :: Lens' FloodlightActivitiesList (Maybe FloodlightActivitiesListFloodlightActivityGroupType)

-- | Select only floodlight activities with the specified floodlight
--   activity group name.
falFloodlightActivityGroupName :: Lens' FloodlightActivitiesList (Maybe Text)

-- | Value of the nextPageToken from the previous result page.
falPageToken :: Lens' FloodlightActivitiesList (Maybe Text)

-- | Field by which to sort the list.
falSortField :: Lens' FloodlightActivitiesList (Maybe FloodlightActivitiesListSortField)

-- | Maximum number of results to return.
falMaxResults :: Lens' FloodlightActivitiesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivities.List.FloodlightActivitiesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivities.List.FloodlightActivitiesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivities.List.FloodlightActivitiesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivities.List.FloodlightActivitiesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivities.List.FloodlightActivitiesList


-- | Updates an existing floodlight activity. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivities.patch</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivities.Patch

-- | A resource alias for <tt>dfareporting.floodlightActivities.patch</tt>
--   method which the <a>FloodlightActivitiesPatch</a> request conforms to.
type FloodlightActivitiesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivities" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] FloodlightActivity :> Patch '[JSON] FloodlightActivity)))))))

-- | Creates a value of <a>FloodlightActivitiesPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fapProFileId</a></li>
--   <li><a>fapPayload</a></li>
--   <li><a>fapId</a></li>
--   </ul>
floodlightActivitiesPatch :: Int64 -> FloodlightActivity -> Int64 -> FloodlightActivitiesPatch

-- | Updates an existing floodlight activity. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>floodlightActivitiesPatch</a> smart constructor.
data FloodlightActivitiesPatch

-- | User profile ID associated with this request.
fapProFileId :: Lens' FloodlightActivitiesPatch Int64

-- | Multipart request metadata.
fapPayload :: Lens' FloodlightActivitiesPatch FloodlightActivity

-- | Floodlight activity ID.
fapId :: Lens' FloodlightActivitiesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivities.Patch.FloodlightActivitiesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivities.Patch.FloodlightActivitiesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivities.Patch.FloodlightActivitiesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivities.Patch.FloodlightActivitiesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivities.Patch.FloodlightActivitiesPatch


-- | Updates an existing floodlight activity.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivities.update</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivities.Update

-- | A resource alias for <tt>dfareporting.floodlightActivities.update</tt>
--   method which the <a>FloodlightActivitiesUpdate</a> request conforms
--   to.
type FloodlightActivitiesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivities" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] FloodlightActivity :> Put '[JSON] FloodlightActivity))))))

-- | Creates a value of <a>FloodlightActivitiesUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fauProFileId</a></li>
--   <li><a>fauPayload</a></li>
--   </ul>
floodlightActivitiesUpdate :: Int64 -> FloodlightActivity -> FloodlightActivitiesUpdate

-- | Updates an existing floodlight activity.
--   
--   <i>See:</i> <a>floodlightActivitiesUpdate</a> smart constructor.
data FloodlightActivitiesUpdate

-- | User profile ID associated with this request.
fauProFileId :: Lens' FloodlightActivitiesUpdate Int64

-- | Multipart request metadata.
fauPayload :: Lens' FloodlightActivitiesUpdate FloodlightActivity
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivities.Update.FloodlightActivitiesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivities.Update.FloodlightActivitiesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivities.Update.FloodlightActivitiesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivities.Update.FloodlightActivitiesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivities.Update.FloodlightActivitiesUpdate


-- | Gets one floodlight activity group by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivityGroups.get</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get

-- | A resource alias for
--   <tt>dfareporting.floodlightActivityGroups.get</tt> method which the
--   <a>FloodlightActivityGroupsGet</a> request conforms to.
type FloodlightActivityGroupsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivityGroups" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] FloodlightActivityGroup))))))

-- | Creates a value of <a>FloodlightActivityGroupsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>faggProFileId</a></li>
--   <li><a>faggId</a></li>
--   </ul>
floodlightActivityGroupsGet :: Int64 -> Int64 -> FloodlightActivityGroupsGet

-- | Gets one floodlight activity group by ID.
--   
--   <i>See:</i> <a>floodlightActivityGroupsGet</a> smart constructor.
data FloodlightActivityGroupsGet

-- | User profile ID associated with this request.
faggProFileId :: Lens' FloodlightActivityGroupsGet Int64

-- | Floodlight activity Group ID.
faggId :: Lens' FloodlightActivityGroupsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get.FloodlightActivityGroupsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get.FloodlightActivityGroupsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get.FloodlightActivityGroupsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get.FloodlightActivityGroupsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get.FloodlightActivityGroupsGet


-- | Inserts a new floodlight activity group.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivityGroups.insert</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert

-- | A resource alias for
--   <tt>dfareporting.floodlightActivityGroups.insert</tt> method which the
--   <a>FloodlightActivityGroupsInsert</a> request conforms to.
type FloodlightActivityGroupsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivityGroups" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] FloodlightActivityGroup :> Post '[JSON] FloodlightActivityGroup))))))

-- | Creates a value of <a>FloodlightActivityGroupsInsert</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fagiProFileId</a></li>
--   <li><a>fagiPayload</a></li>
--   </ul>
floodlightActivityGroupsInsert :: Int64 -> FloodlightActivityGroup -> FloodlightActivityGroupsInsert

-- | Inserts a new floodlight activity group.
--   
--   <i>See:</i> <a>floodlightActivityGroupsInsert</a> smart constructor.
data FloodlightActivityGroupsInsert

-- | User profile ID associated with this request.
fagiProFileId :: Lens' FloodlightActivityGroupsInsert Int64

-- | Multipart request metadata.
fagiPayload :: Lens' FloodlightActivityGroupsInsert FloodlightActivityGroup
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert.FloodlightActivityGroupsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert.FloodlightActivityGroupsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert.FloodlightActivityGroupsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert.FloodlightActivityGroupsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert.FloodlightActivityGroupsInsert


-- | Retrieves a list of floodlight activity groups, possibly filtered.
--   This method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivityGroups.list</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List

-- | A resource alias for
--   <tt>dfareporting.floodlightActivityGroups.list</tt> method which the
--   <a>FloodlightActivityGroupsList</a> request conforms to.
type FloodlightActivityGroupsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivityGroups" :> (QueryParam "floodlightConfigurationId" (Textual Int64) :> (QueryParam "advertiserId" (Textual Int64) :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" FloodlightActivityGroupsListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" FloodlightActivityGroupsListSortField :> (QueryParam "type" FloodlightActivityGroupsListType :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] FloodlightActivityGroupsListResponse))))))))))))))

-- | Creates a value of <a>FloodlightActivityGroupsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>faglFloodlightConfigurationId</a></li>
--   <li><a>faglAdvertiserId</a></li>
--   <li><a>faglSearchString</a></li>
--   <li><a>faglIds</a></li>
--   <li><a>faglProFileId</a></li>
--   <li><a>faglSortOrder</a></li>
--   <li><a>faglPageToken</a></li>
--   <li><a>faglSortField</a></li>
--   <li><a>faglType</a></li>
--   <li><a>faglMaxResults</a></li>
--   </ul>
floodlightActivityGroupsList :: Int64 -> FloodlightActivityGroupsList

-- | Retrieves a list of floodlight activity groups, possibly filtered.
--   This method supports paging.
--   
--   <i>See:</i> <a>floodlightActivityGroupsList</a> smart constructor.
data FloodlightActivityGroupsList

-- | Select only floodlight activity groups with the specified floodlight
--   configuration ID. Must specify either advertiserId, or
--   floodlightConfigurationId for a non-empty result.
faglFloodlightConfigurationId :: Lens' FloodlightActivityGroupsList (Maybe Int64)

-- | Select only floodlight activity groups with the specified advertiser
--   ID. Must specify either advertiserId or floodlightConfigurationId for
--   a non-empty result.
faglAdvertiserId :: Lens' FloodlightActivityGroupsList (Maybe Int64)

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "floodlightactivitygroup*2015" will return objects with
--   names like "floodlightactivitygroup June 2015",
--   "floodlightactivitygroup April 2015", or simply
--   "floodlightactivitygroup 2015". Most of the searches also add
--   wildcards implicitly at the start and the end of the search string.
--   For example, a search string of "floodlightactivitygroup" will match
--   objects with name "my floodlightactivitygroup activity",
--   "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
faglSearchString :: Lens' FloodlightActivityGroupsList (Maybe Text)

-- | Select only floodlight activity groups with the specified IDs. Must
--   specify either advertiserId or floodlightConfigurationId for a
--   non-empty result.
faglIds :: Lens' FloodlightActivityGroupsList [Int64]

-- | User profile ID associated with this request.
faglProFileId :: Lens' FloodlightActivityGroupsList Int64

-- | Order of sorted results, default is ASCENDING.
faglSortOrder :: Lens' FloodlightActivityGroupsList (Maybe FloodlightActivityGroupsListSortOrder)

-- | Value of the nextPageToken from the previous result page.
faglPageToken :: Lens' FloodlightActivityGroupsList (Maybe Text)

-- | Field by which to sort the list.
faglSortField :: Lens' FloodlightActivityGroupsList (Maybe FloodlightActivityGroupsListSortField)

-- | Select only floodlight activity groups with the specified floodlight
--   activity group type.
faglType :: Lens' FloodlightActivityGroupsList (Maybe FloodlightActivityGroupsListType)

-- | Maximum number of results to return.
faglMaxResults :: Lens' FloodlightActivityGroupsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List.FloodlightActivityGroupsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List.FloodlightActivityGroupsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List.FloodlightActivityGroupsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List.FloodlightActivityGroupsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List.FloodlightActivityGroupsList


-- | Updates an existing floodlight activity group. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivityGroups.patch</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch

-- | A resource alias for
--   <tt>dfareporting.floodlightActivityGroups.patch</tt> method which the
--   <a>FloodlightActivityGroupsPatch</a> request conforms to.
type FloodlightActivityGroupsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivityGroups" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] FloodlightActivityGroup :> Patch '[JSON] FloodlightActivityGroup)))))))

-- | Creates a value of <a>FloodlightActivityGroupsPatch</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fagpProFileId</a></li>
--   <li><a>fagpPayload</a></li>
--   <li><a>fagpId</a></li>
--   </ul>
floodlightActivityGroupsPatch :: Int64 -> FloodlightActivityGroup -> Int64 -> FloodlightActivityGroupsPatch

-- | Updates an existing floodlight activity group. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>floodlightActivityGroupsPatch</a> smart constructor.
data FloodlightActivityGroupsPatch

-- | User profile ID associated with this request.
fagpProFileId :: Lens' FloodlightActivityGroupsPatch Int64

-- | Multipart request metadata.
fagpPayload :: Lens' FloodlightActivityGroupsPatch FloodlightActivityGroup

-- | Floodlight activity Group ID.
fagpId :: Lens' FloodlightActivityGroupsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch.FloodlightActivityGroupsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch.FloodlightActivityGroupsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch.FloodlightActivityGroupsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch.FloodlightActivityGroupsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch.FloodlightActivityGroupsPatch


-- | Updates an existing floodlight activity group.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightActivityGroups.update</tt>.
module Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update

-- | A resource alias for
--   <tt>dfareporting.floodlightActivityGroups.update</tt> method which the
--   <a>FloodlightActivityGroupsUpdate</a> request conforms to.
type FloodlightActivityGroupsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightActivityGroups" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] FloodlightActivityGroup :> Put '[JSON] FloodlightActivityGroup))))))

-- | Creates a value of <a>FloodlightActivityGroupsUpdate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>faguProFileId</a></li>
--   <li><a>faguPayload</a></li>
--   </ul>
floodlightActivityGroupsUpdate :: Int64 -> FloodlightActivityGroup -> FloodlightActivityGroupsUpdate

-- | Updates an existing floodlight activity group.
--   
--   <i>See:</i> <a>floodlightActivityGroupsUpdate</a> smart constructor.
data FloodlightActivityGroupsUpdate

-- | User profile ID associated with this request.
faguProFileId :: Lens' FloodlightActivityGroupsUpdate Int64

-- | Multipart request metadata.
faguPayload :: Lens' FloodlightActivityGroupsUpdate FloodlightActivityGroup
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update.FloodlightActivityGroupsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update.FloodlightActivityGroupsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update.FloodlightActivityGroupsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update.FloodlightActivityGroupsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update.FloodlightActivityGroupsUpdate


-- | Gets one floodlight configuration by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightConfigurations.get</tt>.
module Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get

-- | A resource alias for
--   <tt>dfareporting.floodlightConfigurations.get</tt> method which the
--   <a>FloodlightConfigurationsGet</a> request conforms to.
type FloodlightConfigurationsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightConfigurations" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] FloodlightConfiguration))))))

-- | Creates a value of <a>FloodlightConfigurationsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcgProFileId</a></li>
--   <li><a>fcgId</a></li>
--   </ul>
floodlightConfigurationsGet :: Int64 -> Int64 -> FloodlightConfigurationsGet

-- | Gets one floodlight configuration by ID.
--   
--   <i>See:</i> <a>floodlightConfigurationsGet</a> smart constructor.
data FloodlightConfigurationsGet

-- | User profile ID associated with this request.
fcgProFileId :: Lens' FloodlightConfigurationsGet Int64

-- | Floodlight configuration ID.
fcgId :: Lens' FloodlightConfigurationsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get.FloodlightConfigurationsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get.FloodlightConfigurationsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get.FloodlightConfigurationsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get.FloodlightConfigurationsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get.FloodlightConfigurationsGet


-- | Retrieves a list of floodlight configurations, possibly filtered.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightConfigurations.list</tt>.
module Network.Google.Resource.DFAReporting.FloodlightConfigurations.List

-- | A resource alias for
--   <tt>dfareporting.floodlightConfigurations.list</tt> method which the
--   <a>FloodlightConfigurationsList</a> request conforms to.
type FloodlightConfigurationsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightConfigurations" :> (QueryParams "ids" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] FloodlightConfigurationsListResponse))))))

-- | Creates a value of <a>FloodlightConfigurationsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fclIds</a></li>
--   <li><a>fclProFileId</a></li>
--   </ul>
floodlightConfigurationsList :: Int64 -> FloodlightConfigurationsList

-- | Retrieves a list of floodlight configurations, possibly filtered.
--   
--   <i>See:</i> <a>floodlightConfigurationsList</a> smart constructor.
data FloodlightConfigurationsList

-- | Set of IDs of floodlight configurations to retrieve. Required field;
--   otherwise an empty list will be returned.
fclIds :: Lens' FloodlightConfigurationsList [Int64]

-- | User profile ID associated with this request.
fclProFileId :: Lens' FloodlightConfigurationsList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightConfigurations.List.FloodlightConfigurationsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightConfigurations.List.FloodlightConfigurationsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightConfigurations.List.FloodlightConfigurationsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightConfigurations.List.FloodlightConfigurationsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightConfigurations.List.FloodlightConfigurationsList


-- | Updates an existing floodlight configuration. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightConfigurations.patch</tt>.
module Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch

-- | A resource alias for
--   <tt>dfareporting.floodlightConfigurations.patch</tt> method which the
--   <a>FloodlightConfigurationsPatch</a> request conforms to.
type FloodlightConfigurationsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightConfigurations" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] FloodlightConfiguration :> Patch '[JSON] FloodlightConfiguration)))))))

-- | Creates a value of <a>FloodlightConfigurationsPatch</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcpProFileId</a></li>
--   <li><a>fcpPayload</a></li>
--   <li><a>fcpId</a></li>
--   </ul>
floodlightConfigurationsPatch :: Int64 -> FloodlightConfiguration -> Int64 -> FloodlightConfigurationsPatch

-- | Updates an existing floodlight configuration. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>floodlightConfigurationsPatch</a> smart constructor.
data FloodlightConfigurationsPatch

-- | User profile ID associated with this request.
fcpProFileId :: Lens' FloodlightConfigurationsPatch Int64

-- | Multipart request metadata.
fcpPayload :: Lens' FloodlightConfigurationsPatch FloodlightConfiguration

-- | Floodlight configuration ID.
fcpId :: Lens' FloodlightConfigurationsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch.FloodlightConfigurationsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch.FloodlightConfigurationsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch.FloodlightConfigurationsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch.FloodlightConfigurationsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch.FloodlightConfigurationsPatch


-- | Updates an existing floodlight configuration.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.floodlightConfigurations.update</tt>.
module Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update

-- | A resource alias for
--   <tt>dfareporting.floodlightConfigurations.update</tt> method which the
--   <a>FloodlightConfigurationsUpdate</a> request conforms to.
type FloodlightConfigurationsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("floodlightConfigurations" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] FloodlightConfiguration :> Put '[JSON] FloodlightConfiguration))))))

-- | Creates a value of <a>FloodlightConfigurationsUpdate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcuProFileId</a></li>
--   <li><a>fcuPayload</a></li>
--   </ul>
floodlightConfigurationsUpdate :: Int64 -> FloodlightConfiguration -> FloodlightConfigurationsUpdate

-- | Updates an existing floodlight configuration.
--   
--   <i>See:</i> <a>floodlightConfigurationsUpdate</a> smart constructor.
data FloodlightConfigurationsUpdate

-- | User profile ID associated with this request.
fcuProFileId :: Lens' FloodlightConfigurationsUpdate Int64

-- | Multipart request metadata.
fcuPayload :: Lens' FloodlightConfigurationsUpdate FloodlightConfiguration
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update.FloodlightConfigurationsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update.FloodlightConfigurationsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update.FloodlightConfigurationsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update.FloodlightConfigurationsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update.FloodlightConfigurationsUpdate


-- | Gets one inventory item by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.inventoryItems.get</tt>.
module Network.Google.Resource.DFAReporting.InventoryItems.Get

-- | A resource alias for <tt>dfareporting.inventoryItems.get</tt> method
--   which the <a>InventoryItemsGet</a> request conforms to.
type InventoryItemsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("projects" :> (Capture "projectId" (Textual Int64) :> ("inventoryItems" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] InventoryItem))))))))

-- | Creates a value of <a>InventoryItemsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iigProFileId</a></li>
--   <li><a>iigId</a></li>
--   <li><a>iigProjectId</a></li>
--   </ul>
inventoryItemsGet :: Int64 -> Int64 -> Int64 -> InventoryItemsGet

-- | Gets one inventory item by ID.
--   
--   <i>See:</i> <a>inventoryItemsGet</a> smart constructor.
data InventoryItemsGet

-- | User profile ID associated with this request.
iigProFileId :: Lens' InventoryItemsGet Int64

-- | Inventory item ID.
iigId :: Lens' InventoryItemsGet Int64

-- | Project ID for order documents.
iigProjectId :: Lens' InventoryItemsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.InventoryItems.Get.InventoryItemsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.InventoryItems.Get.InventoryItemsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.InventoryItems.Get.InventoryItemsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.InventoryItems.Get.InventoryItemsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.InventoryItems.Get.InventoryItemsGet


-- | Retrieves a list of inventory items, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.inventoryItems.list</tt>.
module Network.Google.Resource.DFAReporting.InventoryItems.List

-- | A resource alias for <tt>dfareporting.inventoryItems.list</tt> method
--   which the <a>InventoryItemsList</a> request conforms to.
type InventoryItemsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("projects" :> (Capture "projectId" (Textual Int64) :> ("inventoryItems" :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" InventoryItemsListSortOrder :> (QueryParam "inPlan" Bool :> (QueryParam "pageToken" Text :> (QueryParam "sortField" InventoryItemsListSortField :> (QueryParam "type" InventoryItemsListType :> (QueryParams "orderId" (Textual Int64) :> (QueryParams "siteId" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InventoryItemsListResponse))))))))))))))))

-- | Creates a value of <a>InventoryItemsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iilIds</a></li>
--   <li><a>iilProFileId</a></li>
--   <li><a>iilSortOrder</a></li>
--   <li><a>iilInPlan</a></li>
--   <li><a>iilPageToken</a></li>
--   <li><a>iilProjectId</a></li>
--   <li><a>iilSortField</a></li>
--   <li><a>iilType</a></li>
--   <li><a>iilOrderId</a></li>
--   <li><a>iilSiteId</a></li>
--   <li><a>iilMaxResults</a></li>
--   </ul>
inventoryItemsList :: Int64 -> Int64 -> InventoryItemsList

-- | Retrieves a list of inventory items, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>inventoryItemsList</a> smart constructor.
data InventoryItemsList

-- | Select only inventory items with these IDs.
iilIds :: Lens' InventoryItemsList [Int64]

-- | User profile ID associated with this request.
iilProFileId :: Lens' InventoryItemsList Int64

-- | Order of sorted results, default is ASCENDING.
iilSortOrder :: Lens' InventoryItemsList (Maybe InventoryItemsListSortOrder)

-- | Select only inventory items that are in plan.
iilInPlan :: Lens' InventoryItemsList (Maybe Bool)

-- | Value of the nextPageToken from the previous result page.
iilPageToken :: Lens' InventoryItemsList (Maybe Text)

-- | Project ID for order documents.
iilProjectId :: Lens' InventoryItemsList Int64

-- | Field by which to sort the list.
iilSortField :: Lens' InventoryItemsList (Maybe InventoryItemsListSortField)

-- | Select only inventory items with this type.
iilType :: Lens' InventoryItemsList (Maybe InventoryItemsListType)

-- | Select only inventory items that belong to specified orders.
iilOrderId :: Lens' InventoryItemsList [Int64]

-- | Select only inventory items that are associated with these sites.
iilSiteId :: Lens' InventoryItemsList [Int64]

-- | Maximum number of results to return.
iilMaxResults :: Lens' InventoryItemsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.InventoryItems.List.InventoryItemsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.InventoryItems.List.InventoryItemsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.InventoryItems.List.InventoryItemsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.InventoryItems.List.InventoryItemsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.InventoryItems.List.InventoryItemsList


-- | Deletes an existing campaign landing page.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.landingPages.delete</tt>.
module Network.Google.Resource.DFAReporting.LandingPages.Delete

-- | A resource alias for <tt>dfareporting.landingPages.delete</tt> method
--   which the <a>LandingPagesDelete</a> request conforms to.
type LandingPagesDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (Capture "campaignId" (Textual Int64) :> ("landingPages" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>LandingPagesDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpdCampaignId</a></li>
--   <li><a>lpdProFileId</a></li>
--   <li><a>lpdId</a></li>
--   </ul>
landingPagesDelete :: Int64 -> Int64 -> Int64 -> LandingPagesDelete

-- | Deletes an existing campaign landing page.
--   
--   <i>See:</i> <a>landingPagesDelete</a> smart constructor.
data LandingPagesDelete

-- | Landing page campaign ID.
lpdCampaignId :: Lens' LandingPagesDelete Int64

-- | User profile ID associated with this request.
lpdProFileId :: Lens' LandingPagesDelete Int64

-- | Landing page ID.
lpdId :: Lens' LandingPagesDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.LandingPages.Delete.LandingPagesDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.LandingPages.Delete.LandingPagesDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.LandingPages.Delete.LandingPagesDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.LandingPages.Delete.LandingPagesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.LandingPages.Delete.LandingPagesDelete


-- | Gets one campaign landing page by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.landingPages.get</tt>.
module Network.Google.Resource.DFAReporting.LandingPages.Get

-- | A resource alias for <tt>dfareporting.landingPages.get</tt> method
--   which the <a>LandingPagesGet</a> request conforms to.
type LandingPagesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (Capture "campaignId" (Textual Int64) :> ("landingPages" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] LandingPage))))))))

-- | Creates a value of <a>LandingPagesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpgCampaignId</a></li>
--   <li><a>lpgProFileId</a></li>
--   <li><a>lpgId</a></li>
--   </ul>
landingPagesGet :: Int64 -> Int64 -> Int64 -> LandingPagesGet

-- | Gets one campaign landing page by ID.
--   
--   <i>See:</i> <a>landingPagesGet</a> smart constructor.
data LandingPagesGet

-- | Landing page campaign ID.
lpgCampaignId :: Lens' LandingPagesGet Int64

-- | User profile ID associated with this request.
lpgProFileId :: Lens' LandingPagesGet Int64

-- | Landing page ID.
lpgId :: Lens' LandingPagesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.LandingPages.Get.LandingPagesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.LandingPages.Get.LandingPagesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.LandingPages.Get.LandingPagesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.LandingPages.Get.LandingPagesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.LandingPages.Get.LandingPagesGet


-- | Inserts a new landing page for the specified campaign.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.landingPages.insert</tt>.
module Network.Google.Resource.DFAReporting.LandingPages.Insert

-- | A resource alias for <tt>dfareporting.landingPages.insert</tt> method
--   which the <a>LandingPagesInsert</a> request conforms to.
type LandingPagesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (Capture "campaignId" (Textual Int64) :> ("landingPages" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] LandingPage :> Post '[JSON] LandingPage))))))))

-- | Creates a value of <a>LandingPagesInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpiCampaignId</a></li>
--   <li><a>lpiProFileId</a></li>
--   <li><a>lpiPayload</a></li>
--   </ul>
landingPagesInsert :: Int64 -> Int64 -> LandingPage -> LandingPagesInsert

-- | Inserts a new landing page for the specified campaign.
--   
--   <i>See:</i> <a>landingPagesInsert</a> smart constructor.
data LandingPagesInsert

-- | Landing page campaign ID.
lpiCampaignId :: Lens' LandingPagesInsert Int64

-- | User profile ID associated with this request.
lpiProFileId :: Lens' LandingPagesInsert Int64

-- | Multipart request metadata.
lpiPayload :: Lens' LandingPagesInsert LandingPage
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.LandingPages.Insert.LandingPagesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.LandingPages.Insert.LandingPagesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.LandingPages.Insert.LandingPagesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.LandingPages.Insert.LandingPagesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.LandingPages.Insert.LandingPagesInsert


-- | Retrieves the list of landing pages for the specified campaign.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.landingPages.list</tt>.
module Network.Google.Resource.DFAReporting.LandingPages.List

-- | A resource alias for <tt>dfareporting.landingPages.list</tt> method
--   which the <a>LandingPagesList</a> request conforms to.
type LandingPagesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (Capture "campaignId" (Textual Int64) :> ("landingPages" :> (QueryParam "alt" AltJSON :> Get '[JSON] LandingPagesListResponse)))))))

-- | Creates a value of <a>LandingPagesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lplCampaignId</a></li>
--   <li><a>lplProFileId</a></li>
--   </ul>
landingPagesList :: Int64 -> Int64 -> LandingPagesList

-- | Retrieves the list of landing pages for the specified campaign.
--   
--   <i>See:</i> <a>landingPagesList</a> smart constructor.
data LandingPagesList

-- | Landing page campaign ID.
lplCampaignId :: Lens' LandingPagesList Int64

-- | User profile ID associated with this request.
lplProFileId :: Lens' LandingPagesList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.LandingPages.List.LandingPagesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.LandingPages.List.LandingPagesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.LandingPages.List.LandingPagesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.LandingPages.List.LandingPagesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.LandingPages.List.LandingPagesList


-- | Updates an existing campaign landing page. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.landingPages.patch</tt>.
module Network.Google.Resource.DFAReporting.LandingPages.Patch

-- | A resource alias for <tt>dfareporting.landingPages.patch</tt> method
--   which the <a>LandingPagesPatch</a> request conforms to.
type LandingPagesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (Capture "campaignId" (Textual Int64) :> ("landingPages" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] LandingPage :> Patch '[JSON] LandingPage)))))))))

-- | Creates a value of <a>LandingPagesPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lppCampaignId</a></li>
--   <li><a>lppProFileId</a></li>
--   <li><a>lppPayload</a></li>
--   <li><a>lppId</a></li>
--   </ul>
landingPagesPatch :: Int64 -> Int64 -> LandingPage -> Int64 -> LandingPagesPatch

-- | Updates an existing campaign landing page. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>landingPagesPatch</a> smart constructor.
data LandingPagesPatch

-- | Landing page campaign ID.
lppCampaignId :: Lens' LandingPagesPatch Int64

-- | User profile ID associated with this request.
lppProFileId :: Lens' LandingPagesPatch Int64

-- | Multipart request metadata.
lppPayload :: Lens' LandingPagesPatch LandingPage

-- | Landing page ID.
lppId :: Lens' LandingPagesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.LandingPages.Patch.LandingPagesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.LandingPages.Patch.LandingPagesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.LandingPages.Patch.LandingPagesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.LandingPages.Patch.LandingPagesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.LandingPages.Patch.LandingPagesPatch


-- | Updates an existing campaign landing page.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.landingPages.update</tt>.
module Network.Google.Resource.DFAReporting.LandingPages.Update

-- | A resource alias for <tt>dfareporting.landingPages.update</tt> method
--   which the <a>LandingPagesUpdate</a> request conforms to.
type LandingPagesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("campaigns" :> (Capture "campaignId" (Textual Int64) :> ("landingPages" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] LandingPage :> Put '[JSON] LandingPage))))))))

-- | Creates a value of <a>LandingPagesUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpuCampaignId</a></li>
--   <li><a>lpuProFileId</a></li>
--   <li><a>lpuPayload</a></li>
--   </ul>
landingPagesUpdate :: Int64 -> Int64 -> LandingPage -> LandingPagesUpdate

-- | Updates an existing campaign landing page.
--   
--   <i>See:</i> <a>landingPagesUpdate</a> smart constructor.
data LandingPagesUpdate

-- | Landing page campaign ID.
lpuCampaignId :: Lens' LandingPagesUpdate Int64

-- | User profile ID associated with this request.
lpuProFileId :: Lens' LandingPagesUpdate Int64

-- | Multipart request metadata.
lpuPayload :: Lens' LandingPagesUpdate LandingPage
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.LandingPages.Update.LandingPagesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.LandingPages.Update.LandingPagesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.LandingPages.Update.LandingPagesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.LandingPages.Update.LandingPagesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.LandingPages.Update.LandingPagesUpdate


-- | Retrieves a list of languages.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.languages.list</tt>.
module Network.Google.Resource.DFAReporting.Languages.List

-- | A resource alias for <tt>dfareporting.languages.list</tt> method which
--   the <a>LanguagesList</a> request conforms to.
type LanguagesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("languages" :> (QueryParam "alt" AltJSON :> Get '[JSON] LanguagesListResponse)))))

-- | Creates a value of <a>LanguagesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>llProFileId</a></li>
--   </ul>
languagesList :: Int64 -> LanguagesList

-- | Retrieves a list of languages.
--   
--   <i>See:</i> <a>languagesList</a> smart constructor.
data LanguagesList

-- | User profile ID associated with this request.
llProFileId :: Lens' LanguagesList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Languages.List.LanguagesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Languages.List.LanguagesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Languages.List.LanguagesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Languages.List.LanguagesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Languages.List.LanguagesList


-- | Retrieves a list of metros.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.metros.list</tt>.
module Network.Google.Resource.DFAReporting.Metros.List

-- | A resource alias for <tt>dfareporting.metros.list</tt> method which
--   the <a>MetrosList</a> request conforms to.
type MetrosListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("metros" :> (QueryParam "alt" AltJSON :> Get '[JSON] MetrosListResponse)))))

-- | Creates a value of <a>MetrosList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mlProFileId</a></li>
--   </ul>
metrosList :: Int64 -> MetrosList

-- | Retrieves a list of metros.
--   
--   <i>See:</i> <a>metrosList</a> smart constructor.
data MetrosList

-- | User profile ID associated with this request.
mlProFileId :: Lens' MetrosList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Metros.List.MetrosList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Metros.List.MetrosList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Metros.List.MetrosList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Metros.List.MetrosList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Metros.List.MetrosList


-- | Gets one mobile carrier by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.mobileCarriers.get</tt>.
module Network.Google.Resource.DFAReporting.MobileCarriers.Get

-- | A resource alias for <tt>dfareporting.mobileCarriers.get</tt> method
--   which the <a>MobileCarriersGet</a> request conforms to.
type MobileCarriersGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("mobileCarriers" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] MobileCarrier))))))

-- | Creates a value of <a>MobileCarriersGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mcgProFileId</a></li>
--   <li><a>mcgId</a></li>
--   </ul>
mobileCarriersGet :: Int64 -> Int64 -> MobileCarriersGet

-- | Gets one mobile carrier by ID.
--   
--   <i>See:</i> <a>mobileCarriersGet</a> smart constructor.
data MobileCarriersGet

-- | User profile ID associated with this request.
mcgProFileId :: Lens' MobileCarriersGet Int64

-- | Mobile carrier ID.
mcgId :: Lens' MobileCarriersGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.MobileCarriers.Get.MobileCarriersGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.MobileCarriers.Get.MobileCarriersGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.MobileCarriers.Get.MobileCarriersGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.MobileCarriers.Get.MobileCarriersGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.MobileCarriers.Get.MobileCarriersGet


-- | Retrieves a list of mobile carriers.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.mobileCarriers.list</tt>.
module Network.Google.Resource.DFAReporting.MobileCarriers.List

-- | A resource alias for <tt>dfareporting.mobileCarriers.list</tt> method
--   which the <a>MobileCarriersList</a> request conforms to.
type MobileCarriersListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("mobileCarriers" :> (QueryParam "alt" AltJSON :> Get '[JSON] MobileCarriersListResponse)))))

-- | Creates a value of <a>MobileCarriersList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mclProFileId</a></li>
--   </ul>
mobileCarriersList :: Int64 -> MobileCarriersList

-- | Retrieves a list of mobile carriers.
--   
--   <i>See:</i> <a>mobileCarriersList</a> smart constructor.
data MobileCarriersList

-- | User profile ID associated with this request.
mclProFileId :: Lens' MobileCarriersList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.MobileCarriers.List.MobileCarriersList
instance Data.Data.Data Network.Google.Resource.DFAReporting.MobileCarriers.List.MobileCarriersList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.MobileCarriers.List.MobileCarriersList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.MobileCarriers.List.MobileCarriersList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.MobileCarriers.List.MobileCarriersList


-- | Gets one operating system version by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.operatingSystemVersions.get</tt>.
module Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get

-- | A resource alias for <tt>dfareporting.operatingSystemVersions.get</tt>
--   method which the <a>OperatingSystemVersionsGet</a> request conforms
--   to.
type OperatingSystemVersionsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("operatingSystemVersions" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperatingSystemVersion))))))

-- | Creates a value of <a>OperatingSystemVersionsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osvgProFileId</a></li>
--   <li><a>osvgId</a></li>
--   </ul>
operatingSystemVersionsGet :: Int64 -> Int64 -> OperatingSystemVersionsGet

-- | Gets one operating system version by ID.
--   
--   <i>See:</i> <a>operatingSystemVersionsGet</a> smart constructor.
data OperatingSystemVersionsGet

-- | User profile ID associated with this request.
osvgProFileId :: Lens' OperatingSystemVersionsGet Int64

-- | Operating system version ID.
osvgId :: Lens' OperatingSystemVersionsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get.OperatingSystemVersionsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get.OperatingSystemVersionsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get.OperatingSystemVersionsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get.OperatingSystemVersionsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get.OperatingSystemVersionsGet


-- | Retrieves a list of operating system versions.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.operatingSystemVersions.list</tt>.
module Network.Google.Resource.DFAReporting.OperatingSystemVersions.List

-- | A resource alias for
--   <tt>dfareporting.operatingSystemVersions.list</tt> method which the
--   <a>OperatingSystemVersionsList</a> request conforms to.
type OperatingSystemVersionsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("operatingSystemVersions" :> (QueryParam "alt" AltJSON :> Get '[JSON] OperatingSystemVersionsListResponse)))))

-- | Creates a value of <a>OperatingSystemVersionsList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osvlProFileId</a></li>
--   </ul>
operatingSystemVersionsList :: Int64 -> OperatingSystemVersionsList

-- | Retrieves a list of operating system versions.
--   
--   <i>See:</i> <a>operatingSystemVersionsList</a> smart constructor.
data OperatingSystemVersionsList

-- | User profile ID associated with this request.
osvlProFileId :: Lens' OperatingSystemVersionsList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.OperatingSystemVersions.List.OperatingSystemVersionsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.OperatingSystemVersions.List.OperatingSystemVersionsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.OperatingSystemVersions.List.OperatingSystemVersionsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.OperatingSystemVersions.List.OperatingSystemVersionsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.OperatingSystemVersions.List.OperatingSystemVersionsList


-- | Gets one operating system by DART ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.operatingSystems.get</tt>.
module Network.Google.Resource.DFAReporting.OperatingSystems.Get

-- | A resource alias for <tt>dfareporting.operatingSystems.get</tt> method
--   which the <a>OperatingSystemsGet</a> request conforms to.
type OperatingSystemsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("operatingSystems" :> (Capture "dartId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] OperatingSystem))))))

-- | Creates a value of <a>OperatingSystemsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osgProFileId</a></li>
--   <li><a>osgDartId</a></li>
--   </ul>
operatingSystemsGet :: Int64 -> Int64 -> OperatingSystemsGet

-- | Gets one operating system by DART ID.
--   
--   <i>See:</i> <a>operatingSystemsGet</a> smart constructor.
data OperatingSystemsGet

-- | User profile ID associated with this request.
osgProFileId :: Lens' OperatingSystemsGet Int64

-- | Operating system DART ID.
osgDartId :: Lens' OperatingSystemsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.OperatingSystems.Get.OperatingSystemsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.OperatingSystems.Get.OperatingSystemsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.OperatingSystems.Get.OperatingSystemsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.OperatingSystems.Get.OperatingSystemsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.OperatingSystems.Get.OperatingSystemsGet


-- | Retrieves a list of operating systems.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.operatingSystems.list</tt>.
module Network.Google.Resource.DFAReporting.OperatingSystems.List

-- | A resource alias for <tt>dfareporting.operatingSystems.list</tt>
--   method which the <a>OperatingSystemsList</a> request conforms to.
type OperatingSystemsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("operatingSystems" :> (QueryParam "alt" AltJSON :> Get '[JSON] OperatingSystemsListResponse)))))

-- | Creates a value of <a>OperatingSystemsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oslProFileId</a></li>
--   </ul>
operatingSystemsList :: Int64 -> OperatingSystemsList

-- | Retrieves a list of operating systems.
--   
--   <i>See:</i> <a>operatingSystemsList</a> smart constructor.
data OperatingSystemsList

-- | User profile ID associated with this request.
oslProFileId :: Lens' OperatingSystemsList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.OperatingSystems.List.OperatingSystemsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.OperatingSystems.List.OperatingSystemsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.OperatingSystems.List.OperatingSystemsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.OperatingSystems.List.OperatingSystemsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.OperatingSystems.List.OperatingSystemsList


-- | Gets one order document by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.orderDocuments.get</tt>.
module Network.Google.Resource.DFAReporting.OrderDocuments.Get

-- | A resource alias for <tt>dfareporting.orderDocuments.get</tt> method
--   which the <a>OrderDocumentsGet</a> request conforms to.
type OrderDocumentsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("projects" :> (Capture "projectId" (Textual Int64) :> ("orderDocuments" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] OrderDocument))))))))

-- | Creates a value of <a>OrderDocumentsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>odgProFileId</a></li>
--   <li><a>odgId</a></li>
--   <li><a>odgProjectId</a></li>
--   </ul>
orderDocumentsGet :: Int64 -> Int64 -> Int64 -> OrderDocumentsGet

-- | Gets one order document by ID.
--   
--   <i>See:</i> <a>orderDocumentsGet</a> smart constructor.
data OrderDocumentsGet

-- | User profile ID associated with this request.
odgProFileId :: Lens' OrderDocumentsGet Int64

-- | Order document ID.
odgId :: Lens' OrderDocumentsGet Int64

-- | Project ID for order documents.
odgProjectId :: Lens' OrderDocumentsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.OrderDocuments.Get.OrderDocumentsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.OrderDocuments.Get.OrderDocumentsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.OrderDocuments.Get.OrderDocumentsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.OrderDocuments.Get.OrderDocumentsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.OrderDocuments.Get.OrderDocumentsGet


-- | Retrieves a list of order documents, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.orderDocuments.list</tt>.
module Network.Google.Resource.DFAReporting.OrderDocuments.List

-- | A resource alias for <tt>dfareporting.orderDocuments.list</tt> method
--   which the <a>OrderDocumentsList</a> request conforms to.
type OrderDocumentsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("projects" :> (Capture "projectId" (Textual Int64) :> ("orderDocuments" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" OrderDocumentsListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" OrderDocumentsListSortField :> (QueryParams "orderId" (Textual Int64) :> (QueryParam "approved" Bool :> (QueryParams "siteId" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OrderDocumentsListResponse))))))))))))))))

-- | Creates a value of <a>OrderDocumentsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>odlSearchString</a></li>
--   <li><a>odlIds</a></li>
--   <li><a>odlProFileId</a></li>
--   <li><a>odlSortOrder</a></li>
--   <li><a>odlPageToken</a></li>
--   <li><a>odlProjectId</a></li>
--   <li><a>odlSortField</a></li>
--   <li><a>odlOrderId</a></li>
--   <li><a>odlApproved</a></li>
--   <li><a>odlSiteId</a></li>
--   <li><a>odlMaxResults</a></li>
--   </ul>
orderDocumentsList :: Int64 -> Int64 -> OrderDocumentsList

-- | Retrieves a list of order documents, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>orderDocumentsList</a> smart constructor.
data OrderDocumentsList

-- | Allows searching for order documents by name or ID. Wildcards (*) are
--   allowed. For example, "orderdocument*2015" will return order documents
--   with names like "orderdocument June 2015", "orderdocument April 2015",
--   or simply "orderdocument 2015". Most of the searches also add
--   wildcards implicitly at the start and the end of the search string.
--   For example, a search string of "orderdocument" will match order
--   documents with name "my orderdocument", "orderdocument 2015", or
--   simply "orderdocument".
odlSearchString :: Lens' OrderDocumentsList (Maybe Text)

-- | Select only order documents with these IDs.
odlIds :: Lens' OrderDocumentsList [Int64]

-- | User profile ID associated with this request.
odlProFileId :: Lens' OrderDocumentsList Int64

-- | Order of sorted results, default is ASCENDING.
odlSortOrder :: Lens' OrderDocumentsList (Maybe OrderDocumentsListSortOrder)

-- | Value of the nextPageToken from the previous result page.
odlPageToken :: Lens' OrderDocumentsList (Maybe Text)

-- | Project ID for order documents.
odlProjectId :: Lens' OrderDocumentsList Int64

-- | Field by which to sort the list.
odlSortField :: Lens' OrderDocumentsList (Maybe OrderDocumentsListSortField)

-- | Select only order documents for specified orders.
odlOrderId :: Lens' OrderDocumentsList [Int64]

-- | Select only order documents that have been approved by at least one
--   user.
odlApproved :: Lens' OrderDocumentsList (Maybe Bool)

-- | Select only order documents that are associated with these sites.
odlSiteId :: Lens' OrderDocumentsList [Int64]

-- | Maximum number of results to return.
odlMaxResults :: Lens' OrderDocumentsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.OrderDocuments.List.OrderDocumentsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.OrderDocuments.List.OrderDocumentsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.OrderDocuments.List.OrderDocumentsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.OrderDocuments.List.OrderDocumentsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.OrderDocuments.List.OrderDocumentsList


-- | Gets one order by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.orders.get</tt>.
module Network.Google.Resource.DFAReporting.Orders.Get

-- | A resource alias for <tt>dfareporting.orders.get</tt> method which the
--   <a>OrdersGet</a> request conforms to.
type OrdersGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("projects" :> (Capture "projectId" (Textual Int64) :> ("orders" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Order))))))))

-- | Creates a value of <a>OrdersGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogProFileId</a></li>
--   <li><a>ogId</a></li>
--   <li><a>ogProjectId</a></li>
--   </ul>
ordersGet :: Int64 -> Int64 -> Int64 -> OrdersGet

-- | Gets one order by ID.
--   
--   <i>See:</i> <a>ordersGet</a> smart constructor.
data OrdersGet

-- | User profile ID associated with this request.
ogProFileId :: Lens' OrdersGet Int64

-- | Order ID.
ogId :: Lens' OrdersGet Int64

-- | Project ID for orders.
ogProjectId :: Lens' OrdersGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Orders.Get.OrdersGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Orders.Get.OrdersGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Orders.Get.OrdersGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Orders.Get.OrdersGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Orders.Get.OrdersGet


-- | Retrieves a list of orders, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.orders.list</tt>.
module Network.Google.Resource.DFAReporting.Orders.List

-- | A resource alias for <tt>dfareporting.orders.list</tt> method which
--   the <a>OrdersList</a> request conforms to.
type OrdersListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("projects" :> (Capture "projectId" (Textual Int64) :> ("orders" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" OrdersListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" OrdersListSortField :> (QueryParams "siteId" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OrdersListResponse))))))))))))))

-- | Creates a value of <a>OrdersList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olSearchString</a></li>
--   <li><a>olIds</a></li>
--   <li><a>olProFileId</a></li>
--   <li><a>olSortOrder</a></li>
--   <li><a>olPageToken</a></li>
--   <li><a>olProjectId</a></li>
--   <li><a>olSortField</a></li>
--   <li><a>olSiteId</a></li>
--   <li><a>olMaxResults</a></li>
--   </ul>
ordersList :: Int64 -> Int64 -> OrdersList

-- | Retrieves a list of orders, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>ordersList</a> smart constructor.
data OrdersList

-- | Allows searching for orders by name or ID. Wildcards (*) are allowed.
--   For example, "order*2015" will return orders with names like "order
--   June 2015", "order April 2015", or simply "order 2015". Most of the
--   searches also add wildcards implicitly at the start and the end of the
--   search string. For example, a search string of "order" will match
--   orders with name "my order", "order 2015", or simply "order".
olSearchString :: Lens' OrdersList (Maybe Text)

-- | Select only orders with these IDs.
olIds :: Lens' OrdersList [Int64]

-- | User profile ID associated with this request.
olProFileId :: Lens' OrdersList Int64

-- | Order of sorted results, default is ASCENDING.
olSortOrder :: Lens' OrdersList (Maybe OrdersListSortOrder)

-- | Value of the nextPageToken from the previous result page.
olPageToken :: Lens' OrdersList (Maybe Text)

-- | Project ID for orders.
olProjectId :: Lens' OrdersList Int64

-- | Field by which to sort the list.
olSortField :: Lens' OrdersList (Maybe OrdersListSortField)

-- | Select only orders that are associated with these site IDs.
olSiteId :: Lens' OrdersList [Int64]

-- | Maximum number of results to return.
olMaxResults :: Lens' OrdersList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Orders.List.OrdersList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Orders.List.OrdersList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Orders.List.OrdersList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Orders.List.OrdersList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Orders.List.OrdersList


-- | Gets one placement group by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementGroups.get</tt>.
module Network.Google.Resource.DFAReporting.PlacementGroups.Get

-- | A resource alias for <tt>dfareporting.placementGroups.get</tt> method
--   which the <a>PlacementGroupsGet</a> request conforms to.
type PlacementGroupsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementGroups" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] PlacementGroup))))))

-- | Creates a value of <a>PlacementGroupsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pggProFileId</a></li>
--   <li><a>pggId</a></li>
--   </ul>
placementGroupsGet :: Int64 -> Int64 -> PlacementGroupsGet

-- | Gets one placement group by ID.
--   
--   <i>See:</i> <a>placementGroupsGet</a> smart constructor.
data PlacementGroupsGet

-- | User profile ID associated with this request.
pggProFileId :: Lens' PlacementGroupsGet Int64

-- | Placement group ID.
pggId :: Lens' PlacementGroupsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementGroups.Get.PlacementGroupsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementGroups.Get.PlacementGroupsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementGroups.Get.PlacementGroupsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementGroups.Get.PlacementGroupsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementGroups.Get.PlacementGroupsGet


-- | Inserts a new placement group.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementGroups.insert</tt>.
module Network.Google.Resource.DFAReporting.PlacementGroups.Insert

-- | A resource alias for <tt>dfareporting.placementGroups.insert</tt>
--   method which the <a>PlacementGroupsInsert</a> request conforms to.
type PlacementGroupsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementGroups" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] PlacementGroup :> Post '[JSON] PlacementGroup))))))

-- | Creates a value of <a>PlacementGroupsInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pgiProFileId</a></li>
--   <li><a>pgiPayload</a></li>
--   </ul>
placementGroupsInsert :: Int64 -> PlacementGroup -> PlacementGroupsInsert

-- | Inserts a new placement group.
--   
--   <i>See:</i> <a>placementGroupsInsert</a> smart constructor.
data PlacementGroupsInsert

-- | User profile ID associated with this request.
pgiProFileId :: Lens' PlacementGroupsInsert Int64

-- | Multipart request metadata.
pgiPayload :: Lens' PlacementGroupsInsert PlacementGroup
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementGroups.Insert.PlacementGroupsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementGroups.Insert.PlacementGroupsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementGroups.Insert.PlacementGroupsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementGroups.Insert.PlacementGroupsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementGroups.Insert.PlacementGroupsInsert


-- | Retrieves a list of placement groups, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementGroups.list</tt>.
module Network.Google.Resource.DFAReporting.PlacementGroups.List

-- | A resource alias for <tt>dfareporting.placementGroups.list</tt> method
--   which the <a>PlacementGroupsList</a> request conforms to.
type PlacementGroupsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementGroups" :> (QueryParams "placementStrategyIds" (Textual Int64) :> (QueryParams "contentCategoryIds" (Textual Int64) :> (QueryParam "maxEndDate" Text :> (QueryParams "campaignIds" (Textual Int64) :> (QueryParams "pricingTypes" PlacementGroupsListPricingTypes :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "placementGroupType" PlacementGroupsListPlacementGroupType :> (QueryParams "directorySiteIds" (Textual Int64) :> (QueryParam "sortOrder" PlacementGroupsListSortOrder :> (QueryParams "siteIds" (Textual Int64) :> (QueryParam "pageToken" Text :> (QueryParam "sortField" PlacementGroupsListSortField :> (QueryParam "maxStartDate" Text :> (QueryParams "advertiserIds" (Textual Int64) :> (QueryParam "minStartDate" Text :> (QueryParam "archived" Bool :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "minEndDate" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] PlacementGroupsListResponse))))))))))))))))))))))))

-- | Creates a value of <a>PlacementGroupsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pglPlacementStrategyIds</a></li>
--   <li><a>pglContentCategoryIds</a></li>
--   <li><a>pglMaxEndDate</a></li>
--   <li><a>pglCampaignIds</a></li>
--   <li><a>pglPricingTypes</a></li>
--   <li><a>pglSearchString</a></li>
--   <li><a>pglIds</a></li>
--   <li><a>pglProFileId</a></li>
--   <li><a>pglPlacementGroupType</a></li>
--   <li><a>pglDirectorySiteIds</a></li>
--   <li><a>pglSortOrder</a></li>
--   <li><a>pglSiteIds</a></li>
--   <li><a>pglPageToken</a></li>
--   <li><a>pglSortField</a></li>
--   <li><a>pglMaxStartDate</a></li>
--   <li><a>pglAdvertiserIds</a></li>
--   <li><a>pglMinStartDate</a></li>
--   <li><a>pglArchived</a></li>
--   <li><a>pglMaxResults</a></li>
--   <li><a>pglMinEndDate</a></li>
--   </ul>
placementGroupsList :: Int64 -> PlacementGroupsList

-- | Retrieves a list of placement groups, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>placementGroupsList</a> smart constructor.
data PlacementGroupsList

-- | Select only placement groups that are associated with these placement
--   strategies.
pglPlacementStrategyIds :: Lens' PlacementGroupsList [Int64]

-- | Select only placement groups that are associated with these content
--   categories.
pglContentCategoryIds :: Lens' PlacementGroupsList [Int64]

-- | Select only placements or placement groups whose end date is on or
--   before the specified maxEndDate. The date should be formatted as
--   "yyyy-MM-dd".
pglMaxEndDate :: Lens' PlacementGroupsList (Maybe Text)

-- | Select only placement groups that belong to these campaigns.
pglCampaignIds :: Lens' PlacementGroupsList [Int64]

-- | Select only placement groups with these pricing types.
pglPricingTypes :: Lens' PlacementGroupsList [PlacementGroupsListPricingTypes]

-- | Allows searching for placement groups by name or ID. Wildcards (*) are
--   allowed. For example, "placement*2015" will return placement groups
--   with names like "placement group June 2015", "placement group May
--   2015", or simply "placements 2015". Most of the searches also add
--   wildcards implicitly at the start and the end of the search string.
--   For example, a search string of "placementgroup" will match placement
--   groups with name "my placementgroup", "placementgroup 2015", or simply
--   "placementgroup".
pglSearchString :: Lens' PlacementGroupsList (Maybe Text)

-- | Select only placement groups with these IDs.
pglIds :: Lens' PlacementGroupsList [Int64]

-- | User profile ID associated with this request.
pglProFileId :: Lens' PlacementGroupsList Int64

-- | Select only placement groups belonging with this group type. A package
--   is a simple group of placements that acts as a single pricing point
--   for a group of tags. A roadblock is a group of placements that not
--   only acts as a single pricing point but also assumes that all the tags
--   in it will be served at the same time. A roadblock requires one of its
--   assigned placements to be marked as primary for reporting.
pglPlacementGroupType :: Lens' PlacementGroupsList (Maybe PlacementGroupsListPlacementGroupType)

-- | Select only placement groups that are associated with these directory
--   sites.
pglDirectorySiteIds :: Lens' PlacementGroupsList [Int64]

-- | Order of sorted results, default is ASCENDING.
pglSortOrder :: Lens' PlacementGroupsList (Maybe PlacementGroupsListSortOrder)

-- | Select only placement groups that are associated with these sites.
pglSiteIds :: Lens' PlacementGroupsList [Int64]

-- | Value of the nextPageToken from the previous result page.
pglPageToken :: Lens' PlacementGroupsList (Maybe Text)

-- | Field by which to sort the list.
pglSortField :: Lens' PlacementGroupsList (Maybe PlacementGroupsListSortField)

-- | Select only placements or placement groups whose start date is on or
--   before the specified maxStartDate. The date should be formatted as
--   "yyyy-MM-dd".
pglMaxStartDate :: Lens' PlacementGroupsList (Maybe Text)

-- | Select only placement groups that belong to these advertisers.
pglAdvertiserIds :: Lens' PlacementGroupsList [Int64]

-- | Select only placements or placement groups whose start date is on or
--   after the specified minStartDate. The date should be formatted as
--   "yyyy-MM-dd".
pglMinStartDate :: Lens' PlacementGroupsList (Maybe Text)

-- | Select only archived placements. Don't set this field to select both
--   archived and non-archived placements.
pglArchived :: Lens' PlacementGroupsList (Maybe Bool)

-- | Maximum number of results to return.
pglMaxResults :: Lens' PlacementGroupsList (Maybe Int32)

-- | Select only placements or placement groups whose end date is on or
--   after the specified minEndDate. The date should be formatted as
--   "yyyy-MM-dd".
pglMinEndDate :: Lens' PlacementGroupsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementGroups.List.PlacementGroupsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementGroups.List.PlacementGroupsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementGroups.List.PlacementGroupsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementGroups.List.PlacementGroupsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementGroups.List.PlacementGroupsList


-- | Updates an existing placement group. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementGroups.patch</tt>.
module Network.Google.Resource.DFAReporting.PlacementGroups.Patch

-- | A resource alias for <tt>dfareporting.placementGroups.patch</tt>
--   method which the <a>PlacementGroupsPatch</a> request conforms to.
type PlacementGroupsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementGroups" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] PlacementGroup :> Patch '[JSON] PlacementGroup)))))))

-- | Creates a value of <a>PlacementGroupsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pgpProFileId</a></li>
--   <li><a>pgpPayload</a></li>
--   <li><a>pgpId</a></li>
--   </ul>
placementGroupsPatch :: Int64 -> PlacementGroup -> Int64 -> PlacementGroupsPatch

-- | Updates an existing placement group. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>placementGroupsPatch</a> smart constructor.
data PlacementGroupsPatch

-- | User profile ID associated with this request.
pgpProFileId :: Lens' PlacementGroupsPatch Int64

-- | Multipart request metadata.
pgpPayload :: Lens' PlacementGroupsPatch PlacementGroup

-- | Placement group ID.
pgpId :: Lens' PlacementGroupsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementGroups.Patch.PlacementGroupsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementGroups.Patch.PlacementGroupsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementGroups.Patch.PlacementGroupsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementGroups.Patch.PlacementGroupsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementGroups.Patch.PlacementGroupsPatch


-- | Updates an existing placement group.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementGroups.update</tt>.
module Network.Google.Resource.DFAReporting.PlacementGroups.Update

-- | A resource alias for <tt>dfareporting.placementGroups.update</tt>
--   method which the <a>PlacementGroupsUpdate</a> request conforms to.
type PlacementGroupsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementGroups" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] PlacementGroup :> Put '[JSON] PlacementGroup))))))

-- | Creates a value of <a>PlacementGroupsUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pguProFileId</a></li>
--   <li><a>pguPayload</a></li>
--   </ul>
placementGroupsUpdate :: Int64 -> PlacementGroup -> PlacementGroupsUpdate

-- | Updates an existing placement group.
--   
--   <i>See:</i> <a>placementGroupsUpdate</a> smart constructor.
data PlacementGroupsUpdate

-- | User profile ID associated with this request.
pguProFileId :: Lens' PlacementGroupsUpdate Int64

-- | Multipart request metadata.
pguPayload :: Lens' PlacementGroupsUpdate PlacementGroup
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementGroups.Update.PlacementGroupsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementGroups.Update.PlacementGroupsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementGroups.Update.PlacementGroupsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementGroups.Update.PlacementGroupsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementGroups.Update.PlacementGroupsUpdate


-- | Deletes an existing placement strategy.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementStrategies.delete</tt>.
module Network.Google.Resource.DFAReporting.PlacementStrategies.Delete

-- | A resource alias for <tt>dfareporting.placementStrategies.delete</tt>
--   method which the <a>PlacementStrategiesDelete</a> request conforms to.
type PlacementStrategiesDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementStrategies" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>PlacementStrategiesDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psdProFileId</a></li>
--   <li><a>psdId</a></li>
--   </ul>
placementStrategiesDelete :: Int64 -> Int64 -> PlacementStrategiesDelete

-- | Deletes an existing placement strategy.
--   
--   <i>See:</i> <a>placementStrategiesDelete</a> smart constructor.
data PlacementStrategiesDelete

-- | User profile ID associated with this request.
psdProFileId :: Lens' PlacementStrategiesDelete Int64

-- | Placement strategy ID.
psdId :: Lens' PlacementStrategiesDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementStrategies.Delete.PlacementStrategiesDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementStrategies.Delete.PlacementStrategiesDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementStrategies.Delete.PlacementStrategiesDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementStrategies.Delete.PlacementStrategiesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementStrategies.Delete.PlacementStrategiesDelete


-- | Gets one placement strategy by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementStrategies.get</tt>.
module Network.Google.Resource.DFAReporting.PlacementStrategies.Get

-- | A resource alias for <tt>dfareporting.placementStrategies.get</tt>
--   method which the <a>PlacementStrategiesGet</a> request conforms to.
type PlacementStrategiesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementStrategies" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] PlacementStrategy))))))

-- | Creates a value of <a>PlacementStrategiesGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psgProFileId</a></li>
--   <li><a>psgId</a></li>
--   </ul>
placementStrategiesGet :: Int64 -> Int64 -> PlacementStrategiesGet

-- | Gets one placement strategy by ID.
--   
--   <i>See:</i> <a>placementStrategiesGet</a> smart constructor.
data PlacementStrategiesGet

-- | User profile ID associated with this request.
psgProFileId :: Lens' PlacementStrategiesGet Int64

-- | Placement strategy ID.
psgId :: Lens' PlacementStrategiesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementStrategies.Get.PlacementStrategiesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementStrategies.Get.PlacementStrategiesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementStrategies.Get.PlacementStrategiesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementStrategies.Get.PlacementStrategiesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementStrategies.Get.PlacementStrategiesGet


-- | Inserts a new placement strategy.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementStrategies.insert</tt>.
module Network.Google.Resource.DFAReporting.PlacementStrategies.Insert

-- | A resource alias for <tt>dfareporting.placementStrategies.insert</tt>
--   method which the <a>PlacementStrategiesInsert</a> request conforms to.
type PlacementStrategiesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementStrategies" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] PlacementStrategy :> Post '[JSON] PlacementStrategy))))))

-- | Creates a value of <a>PlacementStrategiesInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psiProFileId</a></li>
--   <li><a>psiPayload</a></li>
--   </ul>
placementStrategiesInsert :: Int64 -> PlacementStrategy -> PlacementStrategiesInsert

-- | Inserts a new placement strategy.
--   
--   <i>See:</i> <a>placementStrategiesInsert</a> smart constructor.
data PlacementStrategiesInsert

-- | User profile ID associated with this request.
psiProFileId :: Lens' PlacementStrategiesInsert Int64

-- | Multipart request metadata.
psiPayload :: Lens' PlacementStrategiesInsert PlacementStrategy
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementStrategies.Insert.PlacementStrategiesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementStrategies.Insert.PlacementStrategiesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementStrategies.Insert.PlacementStrategiesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementStrategies.Insert.PlacementStrategiesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementStrategies.Insert.PlacementStrategiesInsert


-- | Retrieves a list of placement strategies, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementStrategies.list</tt>.
module Network.Google.Resource.DFAReporting.PlacementStrategies.List

-- | A resource alias for <tt>dfareporting.placementStrategies.list</tt>
--   method which the <a>PlacementStrategiesList</a> request conforms to.
type PlacementStrategiesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementStrategies" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" PlacementStrategiesListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" PlacementStrategiesListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] PlacementStrategiesListResponse)))))))))))

-- | Creates a value of <a>PlacementStrategiesList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pslSearchString</a></li>
--   <li><a>pslIds</a></li>
--   <li><a>pslProFileId</a></li>
--   <li><a>pslSortOrder</a></li>
--   <li><a>pslPageToken</a></li>
--   <li><a>pslSortField</a></li>
--   <li><a>pslMaxResults</a></li>
--   </ul>
placementStrategiesList :: Int64 -> PlacementStrategiesList

-- | Retrieves a list of placement strategies, possibly filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>placementStrategiesList</a> smart constructor.
data PlacementStrategiesList

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "placementstrategy*2015" will return objects with names
--   like "placementstrategy June 2015", "placementstrategy April 2015", or
--   simply "placementstrategy 2015". Most of the searches also add
--   wildcards implicitly at the start and the end of the search string.
--   For example, a search string of "placementstrategy" will match objects
--   with name "my placementstrategy", "placementstrategy 2015", or simply
--   "placementstrategy".
pslSearchString :: Lens' PlacementStrategiesList (Maybe Text)

-- | Select only placement strategies with these IDs.
pslIds :: Lens' PlacementStrategiesList [Int64]

-- | User profile ID associated with this request.
pslProFileId :: Lens' PlacementStrategiesList Int64

-- | Order of sorted results, default is ASCENDING.
pslSortOrder :: Lens' PlacementStrategiesList (Maybe PlacementStrategiesListSortOrder)

-- | Value of the nextPageToken from the previous result page.
pslPageToken :: Lens' PlacementStrategiesList (Maybe Text)

-- | Field by which to sort the list.
pslSortField :: Lens' PlacementStrategiesList (Maybe PlacementStrategiesListSortField)

-- | Maximum number of results to return.
pslMaxResults :: Lens' PlacementStrategiesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementStrategies.List.PlacementStrategiesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementStrategies.List.PlacementStrategiesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementStrategies.List.PlacementStrategiesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementStrategies.List.PlacementStrategiesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementStrategies.List.PlacementStrategiesList


-- | Updates an existing placement strategy. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementStrategies.patch</tt>.
module Network.Google.Resource.DFAReporting.PlacementStrategies.Patch

-- | A resource alias for <tt>dfareporting.placementStrategies.patch</tt>
--   method which the <a>PlacementStrategiesPatch</a> request conforms to.
type PlacementStrategiesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementStrategies" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] PlacementStrategy :> Patch '[JSON] PlacementStrategy)))))))

-- | Creates a value of <a>PlacementStrategiesPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pspProFileId</a></li>
--   <li><a>pspPayload</a></li>
--   <li><a>pspId</a></li>
--   </ul>
placementStrategiesPatch :: Int64 -> PlacementStrategy -> Int64 -> PlacementStrategiesPatch

-- | Updates an existing placement strategy. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>placementStrategiesPatch</a> smart constructor.
data PlacementStrategiesPatch

-- | User profile ID associated with this request.
pspProFileId :: Lens' PlacementStrategiesPatch Int64

-- | Multipart request metadata.
pspPayload :: Lens' PlacementStrategiesPatch PlacementStrategy

-- | Placement strategy ID.
pspId :: Lens' PlacementStrategiesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementStrategies.Patch.PlacementStrategiesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementStrategies.Patch.PlacementStrategiesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementStrategies.Patch.PlacementStrategiesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementStrategies.Patch.PlacementStrategiesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementStrategies.Patch.PlacementStrategiesPatch


-- | Updates an existing placement strategy.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placementStrategies.update</tt>.
module Network.Google.Resource.DFAReporting.PlacementStrategies.Update

-- | A resource alias for <tt>dfareporting.placementStrategies.update</tt>
--   method which the <a>PlacementStrategiesUpdate</a> request conforms to.
type PlacementStrategiesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placementStrategies" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] PlacementStrategy :> Put '[JSON] PlacementStrategy))))))

-- | Creates a value of <a>PlacementStrategiesUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psuProFileId</a></li>
--   <li><a>psuPayload</a></li>
--   </ul>
placementStrategiesUpdate :: Int64 -> PlacementStrategy -> PlacementStrategiesUpdate

-- | Updates an existing placement strategy.
--   
--   <i>See:</i> <a>placementStrategiesUpdate</a> smart constructor.
data PlacementStrategiesUpdate

-- | User profile ID associated with this request.
psuProFileId :: Lens' PlacementStrategiesUpdate Int64

-- | Multipart request metadata.
psuPayload :: Lens' PlacementStrategiesUpdate PlacementStrategy
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlacementStrategies.Update.PlacementStrategiesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlacementStrategies.Update.PlacementStrategiesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlacementStrategies.Update.PlacementStrategiesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlacementStrategies.Update.PlacementStrategiesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlacementStrategies.Update.PlacementStrategiesUpdate


-- | Generates tags for a placement.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placements.generatetags</tt>.
module Network.Google.Resource.DFAReporting.Placements.Generatetags

-- | A resource alias for <tt>dfareporting.placements.generatetags</tt>
--   method which the <a>PlacementsGeneratetags</a> request conforms to.
type PlacementsGeneratetagsResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placements" :> ("generatetags" :> (QueryParams "tagFormats" PlacementsGeneratetagsTagFormats :> (QueryParam "campaignId" (Textual Int64) :> (QueryParams "placementIds" (Textual Int64) :> (QueryParam "alt" AltJSON :> Post '[JSON] PlacementsGenerateTagsResponse)))))))))

-- | Creates a value of <a>PlacementsGeneratetags</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pgsTagFormats</a></li>
--   <li><a>pgsCampaignId</a></li>
--   <li><a>pgsProFileId</a></li>
--   <li><a>pgsPlacementIds</a></li>
--   </ul>
placementsGeneratetags :: Int64 -> PlacementsGeneratetags

-- | Generates tags for a placement.
--   
--   <i>See:</i> <a>placementsGeneratetags</a> smart constructor.
data PlacementsGeneratetags

-- | Tag formats to generate for these placements.
pgsTagFormats :: Lens' PlacementsGeneratetags [PlacementsGeneratetagsTagFormats]

-- | Generate placements belonging to this campaign. This is a required
--   field.
pgsCampaignId :: Lens' PlacementsGeneratetags (Maybe Int64)

-- | User profile ID associated with this request.
pgsProFileId :: Lens' PlacementsGeneratetags Int64

-- | Generate tags for these placements.
pgsPlacementIds :: Lens' PlacementsGeneratetags [Int64]
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Placements.Generatetags.PlacementsGeneratetags
instance Data.Data.Data Network.Google.Resource.DFAReporting.Placements.Generatetags.PlacementsGeneratetags
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Placements.Generatetags.PlacementsGeneratetags
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Placements.Generatetags.PlacementsGeneratetags
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Placements.Generatetags.PlacementsGeneratetags


-- | Gets one placement by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placements.get</tt>.
module Network.Google.Resource.DFAReporting.Placements.Get

-- | A resource alias for <tt>dfareporting.placements.get</tt> method which
--   the <a>PlacementsGet</a> request conforms to.
type PlacementsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placements" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Placement))))))

-- | Creates a value of <a>PlacementsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pgProFileId</a></li>
--   <li><a>pgId</a></li>
--   </ul>
placementsGet :: Int64 -> Int64 -> PlacementsGet

-- | Gets one placement by ID.
--   
--   <i>See:</i> <a>placementsGet</a> smart constructor.
data PlacementsGet

-- | User profile ID associated with this request.
pgProFileId :: Lens' PlacementsGet Int64

-- | Placement ID.
pgId :: Lens' PlacementsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Placements.Get.PlacementsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Placements.Get.PlacementsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Placements.Get.PlacementsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Placements.Get.PlacementsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Placements.Get.PlacementsGet


-- | Inserts a new placement.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placements.insert</tt>.
module Network.Google.Resource.DFAReporting.Placements.Insert

-- | A resource alias for <tt>dfareporting.placements.insert</tt> method
--   which the <a>PlacementsInsert</a> request conforms to.
type PlacementsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placements" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Placement :> Post '[JSON] Placement))))))

-- | Creates a value of <a>PlacementsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>piProFileId</a></li>
--   <li><a>piPayload</a></li>
--   </ul>
placementsInsert :: Int64 -> Placement -> PlacementsInsert

-- | Inserts a new placement.
--   
--   <i>See:</i> <a>placementsInsert</a> smart constructor.
data PlacementsInsert

-- | User profile ID associated with this request.
piProFileId :: Lens' PlacementsInsert Int64

-- | Multipart request metadata.
piPayload :: Lens' PlacementsInsert Placement
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Placements.Insert.PlacementsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.Placements.Insert.PlacementsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Placements.Insert.PlacementsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Placements.Insert.PlacementsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Placements.Insert.PlacementsInsert


-- | Retrieves a list of placements, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placements.list</tt>.
module Network.Google.Resource.DFAReporting.Placements.List

-- | A resource alias for <tt>dfareporting.placements.list</tt> method
--   which the <a>PlacementsList</a> request conforms to.
type PlacementsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placements" :> (QueryParams "placementStrategyIds" (Textual Int64) :> (QueryParams "contentCategoryIds" (Textual Int64) :> (QueryParam "maxEndDate" Text :> (QueryParams "campaignIds" (Textual Int64) :> (QueryParams "pricingTypes" PlacementsListPricingTypes :> (QueryParam "searchString" Text :> (QueryParams "sizeIds" (Textual Int64) :> (QueryParams "ids" (Textual Int64) :> (QueryParams "groupIds" (Textual Int64) :> (QueryParams "directorySiteIds" (Textual Int64) :> (QueryParam "sortOrder" PlacementsListSortOrder :> (QueryParam "paymentSource" PlacementsListPaymentSource :> (QueryParams "siteIds" (Textual Int64) :> (QueryParam "pageToken" Text :> (QueryParam "sortField" PlacementsListSortField :> (QueryParams "compatibilities" PlacementsListCompatibilities :> (QueryParam "maxStartDate" Text :> (QueryParams "advertiserIds" (Textual Int64) :> (QueryParam "minStartDate" Text :> (QueryParam "archived" Bool :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "minEndDate" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] PlacementsListResponse)))))))))))))))))))))))))))

-- | Creates a value of <a>PlacementsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pPlacementStrategyIds</a></li>
--   <li><a>pContentCategoryIds</a></li>
--   <li><a>pMaxEndDate</a></li>
--   <li><a>pCampaignIds</a></li>
--   <li><a>pPricingTypes</a></li>
--   <li><a>pSearchString</a></li>
--   <li><a>pSizeIds</a></li>
--   <li><a>pIds</a></li>
--   <li><a>pProFileId</a></li>
--   <li><a>pGroupIds</a></li>
--   <li><a>pDirectorySiteIds</a></li>
--   <li><a>pSortOrder</a></li>
--   <li><a>pPaymentSource</a></li>
--   <li><a>pSiteIds</a></li>
--   <li><a>pPageToken</a></li>
--   <li><a>pSortField</a></li>
--   <li><a>pCompatibilities</a></li>
--   <li><a>pMaxStartDate</a></li>
--   <li><a>pAdvertiserIds</a></li>
--   <li><a>pMinStartDate</a></li>
--   <li><a>pArchived</a></li>
--   <li><a>pMaxResults</a></li>
--   <li><a>pMinEndDate</a></li>
--   </ul>
placementsList :: Int64 -> PlacementsList

-- | Retrieves a list of placements, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>placementsList</a> smart constructor.
data PlacementsList

-- | Select only placements that are associated with these placement
--   strategies.
pPlacementStrategyIds :: Lens' PlacementsList [Int64]

-- | Select only placements that are associated with these content
--   categories.
pContentCategoryIds :: Lens' PlacementsList [Int64]

-- | Select only placements or placement groups whose end date is on or
--   before the specified maxEndDate. The date should be formatted as
--   "yyyy-MM-dd".
pMaxEndDate :: Lens' PlacementsList (Maybe Text)

-- | Select only placements that belong to these campaigns.
pCampaignIds :: Lens' PlacementsList [Int64]

-- | Select only placements with these pricing types.
pPricingTypes :: Lens' PlacementsList [PlacementsListPricingTypes]

-- | Allows searching for placements by name or ID. Wildcards (*) are
--   allowed. For example, "placement*2015" will return placements with
--   names like "placement June 2015", "placement May 2015", or simply
--   "placements 2015". Most of the searches also add wildcards implicitly
--   at the start and the end of the search string. For example, a search
--   string of "placement" will match placements with name "my placement",
--   "placement 2015", or simply "placement".
pSearchString :: Lens' PlacementsList (Maybe Text)

-- | Select only placements that are associated with these sizes.
pSizeIds :: Lens' PlacementsList [Int64]

-- | Select only placements with these IDs.
pIds :: Lens' PlacementsList [Int64]

-- | User profile ID associated with this request.
pProFileId :: Lens' PlacementsList Int64

-- | Select only placements that belong to these placement groups.
pGroupIds :: Lens' PlacementsList [Int64]

-- | Select only placements that are associated with these directory sites.
pDirectorySiteIds :: Lens' PlacementsList [Int64]

-- | Order of sorted results, default is ASCENDING.
pSortOrder :: Lens' PlacementsList (Maybe PlacementsListSortOrder)

-- | Select only placements with this payment source.
pPaymentSource :: Lens' PlacementsList (Maybe PlacementsListPaymentSource)

-- | Select only placements that are associated with these sites.
pSiteIds :: Lens' PlacementsList [Int64]

-- | Value of the nextPageToken from the previous result page.
pPageToken :: Lens' PlacementsList (Maybe Text)

-- | Field by which to sort the list.
pSortField :: Lens' PlacementsList (Maybe PlacementsListSortField)

-- | Select only placements that are associated with these compatibilities.
--   DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
--   or on mobile devices for regular or interstitial ads respectively. APP
--   and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO
--   refers to rendering in in-stream video ads developed with the VAST
--   standard.
pCompatibilities :: Lens' PlacementsList [PlacementsListCompatibilities]

-- | Select only placements or placement groups whose start date is on or
--   before the specified maxStartDate. The date should be formatted as
--   "yyyy-MM-dd".
pMaxStartDate :: Lens' PlacementsList (Maybe Text)

-- | Select only placements that belong to these advertisers.
pAdvertiserIds :: Lens' PlacementsList [Int64]

-- | Select only placements or placement groups whose start date is on or
--   after the specified minStartDate. The date should be formatted as
--   "yyyy-MM-dd".
pMinStartDate :: Lens' PlacementsList (Maybe Text)

-- | Select only archived placements. Don't set this field to select both
--   archived and non-archived placements.
pArchived :: Lens' PlacementsList (Maybe Bool)

-- | Maximum number of results to return.
pMaxResults :: Lens' PlacementsList (Maybe Int32)

-- | Select only placements or placement groups whose end date is on or
--   after the specified minEndDate. The date should be formatted as
--   "yyyy-MM-dd".
pMinEndDate :: Lens' PlacementsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Placements.List.PlacementsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Placements.List.PlacementsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Placements.List.PlacementsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Placements.List.PlacementsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Placements.List.PlacementsList


-- | Updates an existing placement. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placements.patch</tt>.
module Network.Google.Resource.DFAReporting.Placements.Patch

-- | A resource alias for <tt>dfareporting.placements.patch</tt> method
--   which the <a>PlacementsPatch</a> request conforms to.
type PlacementsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placements" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Placement :> Patch '[JSON] Placement)))))))

-- | Creates a value of <a>PlacementsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppProFileId</a></li>
--   <li><a>ppPayload</a></li>
--   <li><a>ppId</a></li>
--   </ul>
placementsPatch :: Int64 -> Placement -> Int64 -> PlacementsPatch

-- | Updates an existing placement. This method supports patch semantics.
--   
--   <i>See:</i> <a>placementsPatch</a> smart constructor.
data PlacementsPatch

-- | User profile ID associated with this request.
ppProFileId :: Lens' PlacementsPatch Int64

-- | Multipart request metadata.
ppPayload :: Lens' PlacementsPatch Placement

-- | Placement ID.
ppId :: Lens' PlacementsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Placements.Patch.PlacementsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.Placements.Patch.PlacementsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Placements.Patch.PlacementsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Placements.Patch.PlacementsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Placements.Patch.PlacementsPatch


-- | Updates an existing placement.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.placements.update</tt>.
module Network.Google.Resource.DFAReporting.Placements.Update

-- | A resource alias for <tt>dfareporting.placements.update</tt> method
--   which the <a>PlacementsUpdate</a> request conforms to.
type PlacementsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("placements" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Placement :> Put '[JSON] Placement))))))

-- | Creates a value of <a>PlacementsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>puProFileId</a></li>
--   <li><a>puPayload</a></li>
--   </ul>
placementsUpdate :: Int64 -> Placement -> PlacementsUpdate

-- | Updates an existing placement.
--   
--   <i>See:</i> <a>placementsUpdate</a> smart constructor.
data PlacementsUpdate

-- | User profile ID associated with this request.
puProFileId :: Lens' PlacementsUpdate Int64

-- | Multipart request metadata.
puPayload :: Lens' PlacementsUpdate Placement
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Placements.Update.PlacementsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.Placements.Update.PlacementsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Placements.Update.PlacementsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Placements.Update.PlacementsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Placements.Update.PlacementsUpdate


-- | Gets one platform type by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.platformTypes.get</tt>.
module Network.Google.Resource.DFAReporting.PlatformTypes.Get

-- | A resource alias for <tt>dfareporting.platformTypes.get</tt> method
--   which the <a>PlatformTypesGet</a> request conforms to.
type PlatformTypesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("platformTypes" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] PlatformType))))))

-- | Creates a value of <a>PlatformTypesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptgProFileId</a></li>
--   <li><a>ptgId</a></li>
--   </ul>
platformTypesGet :: Int64 -> Int64 -> PlatformTypesGet

-- | Gets one platform type by ID.
--   
--   <i>See:</i> <a>platformTypesGet</a> smart constructor.
data PlatformTypesGet

-- | User profile ID associated with this request.
ptgProFileId :: Lens' PlatformTypesGet Int64

-- | Platform type ID.
ptgId :: Lens' PlatformTypesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlatformTypes.Get.PlatformTypesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlatformTypes.Get.PlatformTypesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlatformTypes.Get.PlatformTypesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlatformTypes.Get.PlatformTypesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlatformTypes.Get.PlatformTypesGet


-- | Retrieves a list of platform types.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.platformTypes.list</tt>.
module Network.Google.Resource.DFAReporting.PlatformTypes.List

-- | A resource alias for <tt>dfareporting.platformTypes.list</tt> method
--   which the <a>PlatformTypesList</a> request conforms to.
type PlatformTypesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("platformTypes" :> (QueryParam "alt" AltJSON :> Get '[JSON] PlatformTypesListResponse)))))

-- | Creates a value of <a>PlatformTypesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptlProFileId</a></li>
--   </ul>
platformTypesList :: Int64 -> PlatformTypesList

-- | Retrieves a list of platform types.
--   
--   <i>See:</i> <a>platformTypesList</a> smart constructor.
data PlatformTypesList

-- | User profile ID associated with this request.
ptlProFileId :: Lens' PlatformTypesList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PlatformTypes.List.PlatformTypesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.PlatformTypes.List.PlatformTypesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PlatformTypes.List.PlatformTypesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PlatformTypes.List.PlatformTypesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PlatformTypes.List.PlatformTypesList


-- | Gets one postal code by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.postalCodes.get</tt>.
module Network.Google.Resource.DFAReporting.PostalCodes.Get

-- | A resource alias for <tt>dfareporting.postalCodes.get</tt> method
--   which the <a>PostalCodesGet</a> request conforms to.
type PostalCodesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("postalCodes" :> (Capture "code" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] PostalCode))))))

-- | Creates a value of <a>PostalCodesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcgProFileId</a></li>
--   <li><a>pcgCode</a></li>
--   </ul>
postalCodesGet :: Int64 -> Text -> PostalCodesGet

-- | Gets one postal code by ID.
--   
--   <i>See:</i> <a>postalCodesGet</a> smart constructor.
data PostalCodesGet

-- | User profile ID associated with this request.
pcgProFileId :: Lens' PostalCodesGet Int64

-- | Postal code ID.
pcgCode :: Lens' PostalCodesGet Text
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PostalCodes.Get.PostalCodesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.PostalCodes.Get.PostalCodesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PostalCodes.Get.PostalCodesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PostalCodes.Get.PostalCodesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PostalCodes.Get.PostalCodesGet


-- | Retrieves a list of postal codes.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.postalCodes.list</tt>.
module Network.Google.Resource.DFAReporting.PostalCodes.List

-- | A resource alias for <tt>dfareporting.postalCodes.list</tt> method
--   which the <a>PostalCodesList</a> request conforms to.
type PostalCodesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("postalCodes" :> (QueryParam "alt" AltJSON :> Get '[JSON] PostalCodesListResponse)))))

-- | Creates a value of <a>PostalCodesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pclProFileId</a></li>
--   </ul>
postalCodesList :: Int64 -> PostalCodesList

-- | Retrieves a list of postal codes.
--   
--   <i>See:</i> <a>postalCodesList</a> smart constructor.
data PostalCodesList

-- | User profile ID associated with this request.
pclProFileId :: Lens' PostalCodesList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.PostalCodes.List.PostalCodesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.PostalCodes.List.PostalCodesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.PostalCodes.List.PostalCodesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.PostalCodes.List.PostalCodesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.PostalCodes.List.PostalCodesList


-- | Gets one project by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.projects.get</tt>.
module Network.Google.Resource.DFAReporting.Projects.Get

-- | A resource alias for <tt>dfareporting.projects.get</tt> method which
--   the <a>ProjectsGet</a> request conforms to.
type ProjectsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("projects" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Project))))))

-- | Creates a value of <a>ProjectsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>proProFileId</a></li>
--   <li><a>proId</a></li>
--   </ul>
projectsGet :: Int64 -> Int64 -> ProjectsGet

-- | Gets one project by ID.
--   
--   <i>See:</i> <a>projectsGet</a> smart constructor.
data ProjectsGet

-- | User profile ID associated with this request.
proProFileId :: Lens' ProjectsGet Int64

-- | Project ID.
proId :: Lens' ProjectsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Projects.Get.ProjectsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Projects.Get.ProjectsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Projects.Get.ProjectsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Projects.Get.ProjectsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Projects.Get.ProjectsGet


-- | Retrieves a list of projects, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.projects.list</tt>.
module Network.Google.Resource.DFAReporting.Projects.List

-- | A resource alias for <tt>dfareporting.projects.list</tt> method which
--   the <a>ProjectsList</a> request conforms to.
type ProjectsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("projects" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" ProjectsListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" ProjectsListSortField :> (QueryParams "advertiserIds" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ProjectsListResponse))))))))))))

-- | Creates a value of <a>ProjectsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plSearchString</a></li>
--   <li><a>plIds</a></li>
--   <li><a>plProFileId</a></li>
--   <li><a>plSortOrder</a></li>
--   <li><a>plPageToken</a></li>
--   <li><a>plSortField</a></li>
--   <li><a>plAdvertiserIds</a></li>
--   <li><a>plMaxResults</a></li>
--   </ul>
projectsList :: Int64 -> ProjectsList

-- | Retrieves a list of projects, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>projectsList</a> smart constructor.
data ProjectsList

-- | Allows searching for projects by name or ID. Wildcards (*) are
--   allowed. For example, "project*2015" will return projects with names
--   like "project June 2015", "project April 2015", or simply "project
--   2015". Most of the searches also add wildcards implicitly at the start
--   and the end of the search string. For example, a search string of
--   "project" will match projects with name "my project", "project 2015",
--   or simply "project".
plSearchString :: Lens' ProjectsList (Maybe Text)

-- | Select only projects with these IDs.
plIds :: Lens' ProjectsList [Int64]

-- | User profile ID associated with this request.
plProFileId :: Lens' ProjectsList Int64

-- | Order of sorted results, default is ASCENDING.
plSortOrder :: Lens' ProjectsList (Maybe ProjectsListSortOrder)

-- | Value of the nextPageToken from the previous result page.
plPageToken :: Lens' ProjectsList (Maybe Text)

-- | Field by which to sort the list.
plSortField :: Lens' ProjectsList (Maybe ProjectsListSortField)

-- | Select only projects with these advertiser IDs.
plAdvertiserIds :: Lens' ProjectsList [Int64]

-- | Maximum number of results to return.
plMaxResults :: Lens' ProjectsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Projects.List.ProjectsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Projects.List.ProjectsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Projects.List.ProjectsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Projects.List.ProjectsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Projects.List.ProjectsList


-- | Retrieves a list of regions.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.regions.list</tt>.
module Network.Google.Resource.DFAReporting.Regions.List

-- | A resource alias for <tt>dfareporting.regions.list</tt> method which
--   the <a>RegionsList</a> request conforms to.
type RegionsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("regions" :> (QueryParam "alt" AltJSON :> Get '[JSON] RegionsListResponse)))))

-- | Creates a value of <a>RegionsList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rProFileId</a></li>
--   </ul>
regionsList :: Int64 -> RegionsList

-- | Retrieves a list of regions.
--   
--   <i>See:</i> <a>regionsList</a> smart constructor.
data RegionsList

-- | User profile ID associated with this request.
rProFileId :: Lens' RegionsList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Regions.List.RegionsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Regions.List.RegionsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Regions.List.RegionsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Regions.List.RegionsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Regions.List.RegionsList


-- | Gets one remarketing list share by remarketing list ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.remarketingListShares.get</tt>.
module Network.Google.Resource.DFAReporting.RemarketingListShares.Get

-- | A resource alias for <tt>dfareporting.remarketingListShares.get</tt>
--   method which the <a>RemarketingListSharesGet</a> request conforms to.
type RemarketingListSharesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("remarketingListShares" :> (Capture "remarketingListId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] RemarketingListShare))))))

-- | Creates a value of <a>RemarketingListSharesGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlsgProFileId</a></li>
--   <li><a>rlsgRemarketingListId</a></li>
--   </ul>
remarketingListSharesGet :: Int64 -> Int64 -> RemarketingListSharesGet

-- | Gets one remarketing list share by remarketing list ID.
--   
--   <i>See:</i> <a>remarketingListSharesGet</a> smart constructor.
data RemarketingListSharesGet

-- | User profile ID associated with this request.
rlsgProFileId :: Lens' RemarketingListSharesGet Int64

-- | Remarketing list ID.
rlsgRemarketingListId :: Lens' RemarketingListSharesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.RemarketingListShares.Get.RemarketingListSharesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.RemarketingListShares.Get.RemarketingListSharesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.RemarketingListShares.Get.RemarketingListSharesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.RemarketingListShares.Get.RemarketingListSharesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.RemarketingListShares.Get.RemarketingListSharesGet


-- | Updates an existing remarketing list share. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.remarketingListShares.patch</tt>.
module Network.Google.Resource.DFAReporting.RemarketingListShares.Patch

-- | A resource alias for <tt>dfareporting.remarketingListShares.patch</tt>
--   method which the <a>RemarketingListSharesPatch</a> request conforms
--   to.
type RemarketingListSharesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("remarketingListShares" :> (QueryParam "remarketingListId" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RemarketingListShare :> Patch '[JSON] RemarketingListShare)))))))

-- | Creates a value of <a>RemarketingListSharesPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlspProFileId</a></li>
--   <li><a>rlspPayload</a></li>
--   <li><a>rlspRemarketingListId</a></li>
--   </ul>
remarketingListSharesPatch :: Int64 -> RemarketingListShare -> Int64 -> RemarketingListSharesPatch

-- | Updates an existing remarketing list share. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>remarketingListSharesPatch</a> smart constructor.
data RemarketingListSharesPatch

-- | User profile ID associated with this request.
rlspProFileId :: Lens' RemarketingListSharesPatch Int64

-- | Multipart request metadata.
rlspPayload :: Lens' RemarketingListSharesPatch RemarketingListShare

-- | Remarketing list ID.
rlspRemarketingListId :: Lens' RemarketingListSharesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.RemarketingListShares.Patch.RemarketingListSharesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.RemarketingListShares.Patch.RemarketingListSharesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.RemarketingListShares.Patch.RemarketingListSharesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.RemarketingListShares.Patch.RemarketingListSharesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.RemarketingListShares.Patch.RemarketingListSharesPatch


-- | Updates an existing remarketing list share.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.remarketingListShares.update</tt>.
module Network.Google.Resource.DFAReporting.RemarketingListShares.Update

-- | A resource alias for
--   <tt>dfareporting.remarketingListShares.update</tt> method which the
--   <a>RemarketingListSharesUpdate</a> request conforms to.
type RemarketingListSharesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("remarketingListShares" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RemarketingListShare :> Put '[JSON] RemarketingListShare))))))

-- | Creates a value of <a>RemarketingListSharesUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlsuProFileId</a></li>
--   <li><a>rlsuPayload</a></li>
--   </ul>
remarketingListSharesUpdate :: Int64 -> RemarketingListShare -> RemarketingListSharesUpdate

-- | Updates an existing remarketing list share.
--   
--   <i>See:</i> <a>remarketingListSharesUpdate</a> smart constructor.
data RemarketingListSharesUpdate

-- | User profile ID associated with this request.
rlsuProFileId :: Lens' RemarketingListSharesUpdate Int64

-- | Multipart request metadata.
rlsuPayload :: Lens' RemarketingListSharesUpdate RemarketingListShare
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.RemarketingListShares.Update.RemarketingListSharesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.RemarketingListShares.Update.RemarketingListSharesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.RemarketingListShares.Update.RemarketingListSharesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.RemarketingListShares.Update.RemarketingListSharesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.RemarketingListShares.Update.RemarketingListSharesUpdate


-- | Gets one remarketing list by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.remarketingLists.get</tt>.
module Network.Google.Resource.DFAReporting.RemarketingLists.Get

-- | A resource alias for <tt>dfareporting.remarketingLists.get</tt> method
--   which the <a>RemarketingListsGet</a> request conforms to.
type RemarketingListsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("remarketingLists" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] RemarketingList))))))

-- | Creates a value of <a>RemarketingListsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlgProFileId</a></li>
--   <li><a>rlgId</a></li>
--   </ul>
remarketingListsGet :: Int64 -> Int64 -> RemarketingListsGet

-- | Gets one remarketing list by ID.
--   
--   <i>See:</i> <a>remarketingListsGet</a> smart constructor.
data RemarketingListsGet

-- | User profile ID associated with this request.
rlgProFileId :: Lens' RemarketingListsGet Int64

-- | Remarketing list ID.
rlgId :: Lens' RemarketingListsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.RemarketingLists.Get.RemarketingListsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.RemarketingLists.Get.RemarketingListsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.RemarketingLists.Get.RemarketingListsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.RemarketingLists.Get.RemarketingListsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.RemarketingLists.Get.RemarketingListsGet


-- | Inserts a new remarketing list.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.remarketingLists.insert</tt>.
module Network.Google.Resource.DFAReporting.RemarketingLists.Insert

-- | A resource alias for <tt>dfareporting.remarketingLists.insert</tt>
--   method which the <a>RemarketingListsInsert</a> request conforms to.
type RemarketingListsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("remarketingLists" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RemarketingList :> Post '[JSON] RemarketingList))))))

-- | Creates a value of <a>RemarketingListsInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rliProFileId</a></li>
--   <li><a>rliPayload</a></li>
--   </ul>
remarketingListsInsert :: Int64 -> RemarketingList -> RemarketingListsInsert

-- | Inserts a new remarketing list.
--   
--   <i>See:</i> <a>remarketingListsInsert</a> smart constructor.
data RemarketingListsInsert

-- | User profile ID associated with this request.
rliProFileId :: Lens' RemarketingListsInsert Int64

-- | Multipart request metadata.
rliPayload :: Lens' RemarketingListsInsert RemarketingList
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.RemarketingLists.Insert.RemarketingListsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.RemarketingLists.Insert.RemarketingListsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.RemarketingLists.Insert.RemarketingListsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.RemarketingLists.Insert.RemarketingListsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.RemarketingLists.Insert.RemarketingListsInsert


-- | Retrieves a list of remarketing lists, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.remarketingLists.list</tt>.
module Network.Google.Resource.DFAReporting.RemarketingLists.List

-- | A resource alias for <tt>dfareporting.remarketingLists.list</tt>
--   method which the <a>RemarketingListsList</a> request conforms to.
type RemarketingListsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("remarketingLists" :> (QueryParam "advertiserId" (Textual Int64) :> (QueryParam "floodlightActivityId" (Textual Int64) :> (QueryParam "sortOrder" RemarketingListsListSortOrder :> (QueryParam "active" Bool :> (QueryParam "name" Text :> (QueryParam "pageToken" Text :> (QueryParam "sortField" RemarketingListsListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RemarketingListsListResponse)))))))))))))

-- | Creates a value of <a>RemarketingListsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rllFloodlightActivityId</a></li>
--   <li><a>rllAdvertiserId</a></li>
--   <li><a>rllProFileId</a></li>
--   <li><a>rllSortOrder</a></li>
--   <li><a>rllActive</a></li>
--   <li><a>rllName</a></li>
--   <li><a>rllPageToken</a></li>
--   <li><a>rllSortField</a></li>
--   <li><a>rllMaxResults</a></li>
--   </ul>
remarketingListsList :: Int64 -> Int64 -> RemarketingListsList

-- | Retrieves a list of remarketing lists, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>remarketingListsList</a> smart constructor.
data RemarketingListsList

-- | Select only remarketing lists that have this floodlight activity ID.
rllFloodlightActivityId :: Lens' RemarketingListsList (Maybe Int64)

-- | Select only remarketing lists owned by this advertiser.
rllAdvertiserId :: Lens' RemarketingListsList Int64

-- | User profile ID associated with this request.
rllProFileId :: Lens' RemarketingListsList Int64

-- | Order of sorted results, default is ASCENDING.
rllSortOrder :: Lens' RemarketingListsList (Maybe RemarketingListsListSortOrder)

-- | Select only active or only inactive remarketing lists.
rllActive :: Lens' RemarketingListsList (Maybe Bool)

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "remarketing list*2015" will return objects with names
--   like "remarketing list June 2015", "remarketing list April 2015", or
--   simply "remarketing list 2015". Most of the searches also add
--   wildcards implicitly at the start and the end of the search string.
--   For example, a search string of "remarketing list" will match objects
--   with name "my remarketing list", "remarketing list 2015", or simply
--   "remarketing list".
rllName :: Lens' RemarketingListsList (Maybe Text)

-- | Value of the nextPageToken from the previous result page.
rllPageToken :: Lens' RemarketingListsList (Maybe Text)

-- | Field by which to sort the list.
rllSortField :: Lens' RemarketingListsList (Maybe RemarketingListsListSortField)

-- | Maximum number of results to return.
rllMaxResults :: Lens' RemarketingListsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.RemarketingLists.List.RemarketingListsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.RemarketingLists.List.RemarketingListsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.RemarketingLists.List.RemarketingListsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.RemarketingLists.List.RemarketingListsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.RemarketingLists.List.RemarketingListsList


-- | Updates an existing remarketing list. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.remarketingLists.patch</tt>.
module Network.Google.Resource.DFAReporting.RemarketingLists.Patch

-- | A resource alias for <tt>dfareporting.remarketingLists.patch</tt>
--   method which the <a>RemarketingListsPatch</a> request conforms to.
type RemarketingListsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("remarketingLists" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RemarketingList :> Patch '[JSON] RemarketingList)))))))

-- | Creates a value of <a>RemarketingListsPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlpProFileId</a></li>
--   <li><a>rlpPayload</a></li>
--   <li><a>rlpId</a></li>
--   </ul>
remarketingListsPatch :: Int64 -> RemarketingList -> Int64 -> RemarketingListsPatch

-- | Updates an existing remarketing list. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>remarketingListsPatch</a> smart constructor.
data RemarketingListsPatch

-- | User profile ID associated with this request.
rlpProFileId :: Lens' RemarketingListsPatch Int64

-- | Multipart request metadata.
rlpPayload :: Lens' RemarketingListsPatch RemarketingList

-- | Remarketing list ID.
rlpId :: Lens' RemarketingListsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.RemarketingLists.Patch.RemarketingListsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.RemarketingLists.Patch.RemarketingListsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.RemarketingLists.Patch.RemarketingListsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.RemarketingLists.Patch.RemarketingListsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.RemarketingLists.Patch.RemarketingListsPatch


-- | Updates an existing remarketing list.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.remarketingLists.update</tt>.
module Network.Google.Resource.DFAReporting.RemarketingLists.Update

-- | A resource alias for <tt>dfareporting.remarketingLists.update</tt>
--   method which the <a>RemarketingListsUpdate</a> request conforms to.
type RemarketingListsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("remarketingLists" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RemarketingList :> Put '[JSON] RemarketingList))))))

-- | Creates a value of <a>RemarketingListsUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rluProFileId</a></li>
--   <li><a>rluPayload</a></li>
--   </ul>
remarketingListsUpdate :: Int64 -> RemarketingList -> RemarketingListsUpdate

-- | Updates an existing remarketing list.
--   
--   <i>See:</i> <a>remarketingListsUpdate</a> smart constructor.
data RemarketingListsUpdate

-- | User profile ID associated with this request.
rluProFileId :: Lens' RemarketingListsUpdate Int64

-- | Multipart request metadata.
rluPayload :: Lens' RemarketingListsUpdate RemarketingList
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.RemarketingLists.Update.RemarketingListsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.RemarketingLists.Update.RemarketingListsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.RemarketingLists.Update.RemarketingListsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.RemarketingLists.Update.RemarketingListsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.RemarketingLists.Update.RemarketingListsUpdate


-- | Returns the fields that are compatible to be selected in the
--   respective sections of a report criteria, given the fields already
--   selected in the input report and user permissions.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.compatibleFields.query</tt>.
module Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query

-- | A resource alias for
--   <tt>dfareporting.reports.compatibleFields.query</tt> method which the
--   <a>ReportsCompatibleFieldsQuery</a> request conforms to.
type ReportsCompatibleFieldsQueryResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> ("compatiblefields" :> ("query" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Report :> Post '[JSON] CompatibleFields))))))))

-- | Creates a value of <a>ReportsCompatibleFieldsQuery</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcfqProFileId</a></li>
--   <li><a>rcfqPayload</a></li>
--   </ul>
reportsCompatibleFieldsQuery :: Int64 -> Report -> ReportsCompatibleFieldsQuery

-- | Returns the fields that are compatible to be selected in the
--   respective sections of a report criteria, given the fields already
--   selected in the input report and user permissions.
--   
--   <i>See:</i> <a>reportsCompatibleFieldsQuery</a> smart constructor.
data ReportsCompatibleFieldsQuery

-- | The DFA user profile ID.
rcfqProFileId :: Lens' ReportsCompatibleFieldsQuery Int64

-- | Multipart request metadata.
rcfqPayload :: Lens' ReportsCompatibleFieldsQuery Report
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query.ReportsCompatibleFieldsQuery
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query.ReportsCompatibleFieldsQuery
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query.ReportsCompatibleFieldsQuery
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query.ReportsCompatibleFieldsQuery
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query.ReportsCompatibleFieldsQuery


-- | Deletes a report by its ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.delete</tt>.
module Network.Google.Resource.DFAReporting.Reports.Delete

-- | A resource alias for <tt>dfareporting.reports.delete</tt> method which
--   the <a>ReportsDelete</a> request conforms to.
type ReportsDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (Capture "reportId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>ReportsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdReportId</a></li>
--   <li><a>rdProFileId</a></li>
--   </ul>
reportsDelete :: Int64 -> Int64 -> ReportsDelete

-- | Deletes a report by its ID.
--   
--   <i>See:</i> <a>reportsDelete</a> smart constructor.
data ReportsDelete

-- | The ID of the report.
rdReportId :: Lens' ReportsDelete Int64

-- | The DFA user profile ID.
rdProFileId :: Lens' ReportsDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.Delete.ReportsDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.Delete.ReportsDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.Delete.ReportsDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.Delete.ReportsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.Delete.ReportsDelete


-- | Retrieves a report file.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.files.get</tt>.
module Network.Google.Resource.DFAReporting.Reports.Files.Get

-- | A resource alias for <tt>dfareporting.reports.files.get</tt> method
--   which the <a>ReportsFilesGet</a> request conforms to.
type ReportsFilesGetResource = ("dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (Capture "reportId" (Textual Int64) :> ("files" :> (Capture "fileId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] File))))))))) :<|> ("dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (Capture "reportId" (Textual Int64) :> ("files" :> (Capture "fileId" (Textual Int64) :> (QueryParam "alt" AltMedia :> Get '[OctetStream] Stream)))))))))

-- | Creates a value of <a>ReportsFilesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rfgReportId</a></li>
--   <li><a>rfgProFileId</a></li>
--   <li><a>rfgFileId</a></li>
--   </ul>
reportsFilesGet :: Int64 -> Int64 -> Int64 -> ReportsFilesGet

-- | Retrieves a report file.
--   
--   <i>See:</i> <a>reportsFilesGet</a> smart constructor.
data ReportsFilesGet

-- | The ID of the report.
rfgReportId :: Lens' ReportsFilesGet Int64

-- | The DFA profile ID.
rfgProFileId :: Lens' ReportsFilesGet Int64

-- | The ID of the report file.
rfgFileId :: Lens' ReportsFilesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.Files.Get.ReportsFilesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.Files.Get.ReportsFilesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.Files.Get.ReportsFilesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.Files.Get.ReportsFilesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.Files.Get.ReportsFilesGet
instance Network.Google.Types.GoogleRequest (Network.Google.Types.MediaDownload Network.Google.Resource.DFAReporting.Reports.Files.Get.ReportsFilesGet)


-- | Lists files for a report.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.files.list</tt>.
module Network.Google.Resource.DFAReporting.Reports.Files.List

-- | A resource alias for <tt>dfareporting.reports.files.list</tt> method
--   which the <a>ReportsFilesList</a> request conforms to.
type ReportsFilesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (Capture "reportId" (Textual Int64) :> ("files" :> (QueryParam "sortOrder" ReportsFilesListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" ReportsFilesListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] FileList)))))))))))

-- | Creates a value of <a>ReportsFilesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rflReportId</a></li>
--   <li><a>rflProFileId</a></li>
--   <li><a>rflSortOrder</a></li>
--   <li><a>rflPageToken</a></li>
--   <li><a>rflSortField</a></li>
--   <li><a>rflMaxResults</a></li>
--   </ul>
reportsFilesList :: Int64 -> Int64 -> ReportsFilesList

-- | Lists files for a report.
--   
--   <i>See:</i> <a>reportsFilesList</a> smart constructor.
data ReportsFilesList

-- | The ID of the parent report.
rflReportId :: Lens' ReportsFilesList Int64

-- | The DFA profile ID.
rflProFileId :: Lens' ReportsFilesList Int64

-- | Order of sorted results, default is 'DESCENDING'.
rflSortOrder :: Lens' ReportsFilesList ReportsFilesListSortOrder

-- | The value of the nextToken from the previous result page.
rflPageToken :: Lens' ReportsFilesList (Maybe Text)

-- | The field by which to sort the list.
rflSortField :: Lens' ReportsFilesList ReportsFilesListSortField

-- | Maximum number of results to return.
rflMaxResults :: Lens' ReportsFilesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.Files.List.ReportsFilesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.Files.List.ReportsFilesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.Files.List.ReportsFilesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.Files.List.ReportsFilesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.Files.List.ReportsFilesList


-- | Retrieves a report by its ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.get</tt>.
module Network.Google.Resource.DFAReporting.Reports.Get

-- | A resource alias for <tt>dfareporting.reports.get</tt> method which
--   the <a>ReportsGet</a> request conforms to.
type ReportsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (Capture "reportId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Report))))))

-- | Creates a value of <a>ReportsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgReportId</a></li>
--   <li><a>rgProFileId</a></li>
--   </ul>
reportsGet :: Int64 -> Int64 -> ReportsGet

-- | Retrieves a report by its ID.
--   
--   <i>See:</i> <a>reportsGet</a> smart constructor.
data ReportsGet

-- | The ID of the report.
rgReportId :: Lens' ReportsGet Int64

-- | The DFA user profile ID.
rgProFileId :: Lens' ReportsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.Get.ReportsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.Get.ReportsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.Get.ReportsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.Get.ReportsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.Get.ReportsGet


-- | Creates a report.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.insert</tt>.
module Network.Google.Resource.DFAReporting.Reports.Insert

-- | A resource alias for <tt>dfareporting.reports.insert</tt> method which
--   the <a>ReportsInsert</a> request conforms to.
type ReportsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Report :> Post '[JSON] Report))))))

-- | Creates a value of <a>ReportsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riProFileId</a></li>
--   <li><a>riPayload</a></li>
--   </ul>
reportsInsert :: Int64 -> Report -> ReportsInsert

-- | Creates a report.
--   
--   <i>See:</i> <a>reportsInsert</a> smart constructor.
data ReportsInsert

-- | The DFA user profile ID.
riProFileId :: Lens' ReportsInsert Int64

-- | Multipart request metadata.
riPayload :: Lens' ReportsInsert Report
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.Insert.ReportsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.Insert.ReportsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.Insert.ReportsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.Insert.ReportsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.Insert.ReportsInsert


-- | Retrieves list of reports.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.list</tt>.
module Network.Google.Resource.DFAReporting.Reports.List

-- | A resource alias for <tt>dfareporting.reports.list</tt> method which
--   the <a>ReportsList</a> request conforms to.
type ReportsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (QueryParam "sortOrder" ReportsListSortOrder :> (QueryParam "scope" ReportsListScope :> (QueryParam "pageToken" Text :> (QueryParam "sortField" ReportsListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ReportList))))))))))

-- | Creates a value of <a>ReportsList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlProFileId</a></li>
--   <li><a>rlSortOrder</a></li>
--   <li><a>rlScope</a></li>
--   <li><a>rlPageToken</a></li>
--   <li><a>rlSortField</a></li>
--   <li><a>rlMaxResults</a></li>
--   </ul>
reportsList :: Int64 -> ReportsList

-- | Retrieves list of reports.
--   
--   <i>See:</i> <a>reportsList</a> smart constructor.
data ReportsList

-- | The DFA user profile ID.
rlProFileId :: Lens' ReportsList Int64

-- | Order of sorted results, default is 'DESCENDING'.
rlSortOrder :: Lens' ReportsList ReportsListSortOrder

-- | The scope that defines which results are returned, default is 'MINE'.
rlScope :: Lens' ReportsList ReportsListScope

-- | The value of the nextToken from the previous result page.
rlPageToken :: Lens' ReportsList (Maybe Text)

-- | The field by which to sort the list.
rlSortField :: Lens' ReportsList ReportsListSortField

-- | Maximum number of results to return.
rlMaxResults :: Lens' ReportsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.List.ReportsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.List.ReportsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.List.ReportsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.List.ReportsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.List.ReportsList


-- | Updates a report. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.patch</tt>.
module Network.Google.Resource.DFAReporting.Reports.Patch

-- | A resource alias for <tt>dfareporting.reports.patch</tt> method which
--   the <a>ReportsPatch</a> request conforms to.
type ReportsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (Capture "reportId" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Report :> Patch '[JSON] Report)))))))

-- | Creates a value of <a>ReportsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpReportId</a></li>
--   <li><a>rpProFileId</a></li>
--   <li><a>rpPayload</a></li>
--   </ul>
reportsPatch :: Int64 -> Int64 -> Report -> ReportsPatch

-- | Updates a report. This method supports patch semantics.
--   
--   <i>See:</i> <a>reportsPatch</a> smart constructor.
data ReportsPatch

-- | The ID of the report.
rpReportId :: Lens' ReportsPatch Int64

-- | The DFA user profile ID.
rpProFileId :: Lens' ReportsPatch Int64

-- | Multipart request metadata.
rpPayload :: Lens' ReportsPatch Report
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.Patch.ReportsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.Patch.ReportsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.Patch.ReportsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.Patch.ReportsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.Patch.ReportsPatch


-- | Runs a report.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.run</tt>.
module Network.Google.Resource.DFAReporting.Reports.Run

-- | A resource alias for <tt>dfareporting.reports.run</tt> method which
--   the <a>ReportsRun</a> request conforms to.
type ReportsRunResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (Capture "reportId" (Textual Int64) :> ("run" :> (QueryParam "synchronous" Bool :> (QueryParam "alt" AltJSON :> Post '[JSON] File))))))))

-- | Creates a value of <a>ReportsRun</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrSynchronous</a></li>
--   <li><a>rrReportId</a></li>
--   <li><a>rrProFileId</a></li>
--   </ul>
reportsRun :: Int64 -> Int64 -> ReportsRun

-- | Runs a report.
--   
--   <i>See:</i> <a>reportsRun</a> smart constructor.
data ReportsRun

-- | If set and true, tries to run the report synchronously.
rrSynchronous :: Lens' ReportsRun (Maybe Bool)

-- | The ID of the report.
rrReportId :: Lens' ReportsRun Int64

-- | The DFA profile ID.
rrProFileId :: Lens' ReportsRun Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.Run.ReportsRun
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.Run.ReportsRun
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.Run.ReportsRun
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.Run.ReportsRun
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.Run.ReportsRun


-- | Updates a report.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.reports.update</tt>.
module Network.Google.Resource.DFAReporting.Reports.Update

-- | A resource alias for <tt>dfareporting.reports.update</tt> method which
--   the <a>ReportsUpdate</a> request conforms to.
type ReportsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("reports" :> (Capture "reportId" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Report :> Put '[JSON] Report)))))))

-- | Creates a value of <a>ReportsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ruReportId</a></li>
--   <li><a>ruProFileId</a></li>
--   <li><a>ruPayload</a></li>
--   </ul>
reportsUpdate :: Int64 -> Int64 -> Report -> ReportsUpdate

-- | Updates a report.
--   
--   <i>See:</i> <a>reportsUpdate</a> smart constructor.
data ReportsUpdate

-- | The ID of the report.
ruReportId :: Lens' ReportsUpdate Int64

-- | The DFA user profile ID.
ruProFileId :: Lens' ReportsUpdate Int64

-- | Multipart request metadata.
ruPayload :: Lens' ReportsUpdate Report
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Reports.Update.ReportsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.Reports.Update.ReportsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Reports.Update.ReportsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Reports.Update.ReportsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Reports.Update.ReportsUpdate


-- | Gets one site by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.sites.get</tt>.
module Network.Google.Resource.DFAReporting.Sites.Get

-- | A resource alias for <tt>dfareporting.sites.get</tt> method which the
--   <a>SitesGet</a> request conforms to.
type SitesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("sites" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Site))))))

-- | Creates a value of <a>SitesGet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sggProFileId</a></li>
--   <li><a>sggId</a></li>
--   </ul>
sitesGet :: Int64 -> Int64 -> SitesGet

-- | Gets one site by ID.
--   
--   <i>See:</i> <a>sitesGet</a> smart constructor.
data SitesGet

-- | User profile ID associated with this request.
sggProFileId :: Lens' SitesGet Int64

-- | Site ID.
sggId :: Lens' SitesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Sites.Get.SitesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Sites.Get.SitesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Sites.Get.SitesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Sites.Get.SitesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Sites.Get.SitesGet


-- | Inserts a new site.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.sites.insert</tt>.
module Network.Google.Resource.DFAReporting.Sites.Insert

-- | A resource alias for <tt>dfareporting.sites.insert</tt> method which
--   the <a>SitesInsert</a> request conforms to.
type SitesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("sites" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Site :> Post '[JSON] Site))))))

-- | Creates a value of <a>SitesInsert</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sProFileId</a></li>
--   <li><a>sPayload</a></li>
--   </ul>
sitesInsert :: Int64 -> Site -> SitesInsert

-- | Inserts a new site.
--   
--   <i>See:</i> <a>sitesInsert</a> smart constructor.
data SitesInsert

-- | User profile ID associated with this request.
sProFileId :: Lens' SitesInsert Int64

-- | Multipart request metadata.
sPayload :: Lens' SitesInsert Site
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Sites.Insert.SitesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.Sites.Insert.SitesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Sites.Insert.SitesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Sites.Insert.SitesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Sites.Insert.SitesInsert


-- | Retrieves a list of sites, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.sites.list</tt>.
module Network.Google.Resource.DFAReporting.Sites.List

-- | A resource alias for <tt>dfareporting.sites.list</tt> method which the
--   <a>SitesList</a> request conforms to.
type SitesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("sites" :> (QueryParam "unmappedSite" Bool :> (QueryParams "campaignIds" (Textual Int64) :> (QueryParam "searchString" Text :> (QueryParam "acceptsInterstitialPlacements" Bool :> (QueryParam "acceptsPublisherPaidPlacements" Bool :> (QueryParams "ids" (Textual Int64) :> (QueryParams "directorySiteIds" (Textual Int64) :> (QueryParam "sortOrder" SitesListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" SitesListSortField :> (QueryParam "subaccountId" (Textual Int64) :> (QueryParam "acceptsInStreamVideoPlacements" Bool :> (QueryParam "approved" Bool :> (QueryParam "adWordsSite" Bool :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SitesListResponse))))))))))))))))))))

-- | Creates a value of <a>SitesList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sitUnmAppedSite</a></li>
--   <li><a>sitCampaignIds</a></li>
--   <li><a>sitSearchString</a></li>
--   <li><a>sitAcceptsInterstitialPlacements</a></li>
--   <li><a>sitAcceptsPublisherPaidPlacements</a></li>
--   <li><a>sitIds</a></li>
--   <li><a>sitProFileId</a></li>
--   <li><a>sitDirectorySiteIds</a></li>
--   <li><a>sitSortOrder</a></li>
--   <li><a>sitPageToken</a></li>
--   <li><a>sitSortField</a></li>
--   <li><a>sitSubAccountId</a></li>
--   <li><a>sitAcceptsInStreamVideoPlacements</a></li>
--   <li><a>sitApproved</a></li>
--   <li><a>sitAdWordsSite</a></li>
--   <li><a>sitMaxResults</a></li>
--   </ul>
sitesList :: Int64 -> SitesList

-- | Retrieves a list of sites, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>sitesList</a> smart constructor.
data SitesList

-- | Select only sites that have not been mapped to a directory site.
sitUnmAppedSite :: Lens' SitesList (Maybe Bool)

-- | Select only sites with these campaign IDs.
sitCampaignIds :: Lens' SitesList [Int64]

-- | Allows searching for objects by name, ID or keyName. Wildcards (*) are
--   allowed. For example, "site*2015" will return objects with names like
--   "site June 2015", "site April 2015", or simply "site 2015". Most of
--   the searches also add wildcards implicitly at the start and the end of
--   the search string. For example, a search string of "site" will match
--   objects with name "my site", "site 2015", or simply "site".
sitSearchString :: Lens' SitesList (Maybe Text)

-- | This search filter is no longer supported and will have no effect on
--   the results returned.
sitAcceptsInterstitialPlacements :: Lens' SitesList (Maybe Bool)

-- | Select only sites that accept publisher paid placements.
sitAcceptsPublisherPaidPlacements :: Lens' SitesList (Maybe Bool)

-- | Select only sites with these IDs.
sitIds :: Lens' SitesList [Int64]

-- | User profile ID associated with this request.
sitProFileId :: Lens' SitesList Int64

-- | Select only sites with these directory site IDs.
sitDirectorySiteIds :: Lens' SitesList [Int64]

-- | Order of sorted results, default is ASCENDING.
sitSortOrder :: Lens' SitesList (Maybe SitesListSortOrder)

-- | Value of the nextPageToken from the previous result page.
sitPageToken :: Lens' SitesList (Maybe Text)

-- | Field by which to sort the list.
sitSortField :: Lens' SitesList (Maybe SitesListSortField)

-- | Select only sites with this subaccount ID.
sitSubAccountId :: Lens' SitesList (Maybe Int64)

-- | This search filter is no longer supported and will have no effect on
--   the results returned.
sitAcceptsInStreamVideoPlacements :: Lens' SitesList (Maybe Bool)

-- | Select only approved sites.
sitApproved :: Lens' SitesList (Maybe Bool)

-- | Select only AdWords sites.
sitAdWordsSite :: Lens' SitesList (Maybe Bool)

-- | Maximum number of results to return.
sitMaxResults :: Lens' SitesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Sites.List.SitesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Sites.List.SitesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Sites.List.SitesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Sites.List.SitesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Sites.List.SitesList


-- | Updates an existing site. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.sites.patch</tt>.
module Network.Google.Resource.DFAReporting.Sites.Patch

-- | A resource alias for <tt>dfareporting.sites.patch</tt> method which
--   the <a>SitesPatch</a> request conforms to.
type SitesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("sites" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Site :> Patch '[JSON] Site)))))))

-- | Creates a value of <a>SitesPatch</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>spProFileId</a></li>
--   <li><a>spPayload</a></li>
--   <li><a>spId</a></li>
--   </ul>
sitesPatch :: Int64 -> Site -> Int64 -> SitesPatch

-- | Updates an existing site. This method supports patch semantics.
--   
--   <i>See:</i> <a>sitesPatch</a> smart constructor.
data SitesPatch

-- | User profile ID associated with this request.
spProFileId :: Lens' SitesPatch Int64

-- | Multipart request metadata.
spPayload :: Lens' SitesPatch Site

-- | Site ID.
spId :: Lens' SitesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Sites.Patch.SitesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.Sites.Patch.SitesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Sites.Patch.SitesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Sites.Patch.SitesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Sites.Patch.SitesPatch


-- | Updates an existing site.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.sites.update</tt>.
module Network.Google.Resource.DFAReporting.Sites.Update

-- | A resource alias for <tt>dfareporting.sites.update</tt> method which
--   the <a>SitesUpdate</a> request conforms to.
type SitesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("sites" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Site :> Put '[JSON] Site))))))

-- | Creates a value of <a>SitesUpdate</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>suProFileId</a></li>
--   <li><a>suPayload</a></li>
--   </ul>
sitesUpdate :: Int64 -> Site -> SitesUpdate

-- | Updates an existing site.
--   
--   <i>See:</i> <a>sitesUpdate</a> smart constructor.
data SitesUpdate

-- | User profile ID associated with this request.
suProFileId :: Lens' SitesUpdate Int64

-- | Multipart request metadata.
suPayload :: Lens' SitesUpdate Site
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Sites.Update.SitesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.Sites.Update.SitesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Sites.Update.SitesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Sites.Update.SitesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Sites.Update.SitesUpdate


-- | Gets one size by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.sizes.get</tt>.
module Network.Google.Resource.DFAReporting.Sizes.Get

-- | A resource alias for <tt>dfareporting.sizes.get</tt> method which the
--   <a>SizesGet</a> request conforms to.
type SizesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("sizes" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Size))))))

-- | Creates a value of <a>SizesGet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sgProFileId</a></li>
--   <li><a>sgId</a></li>
--   </ul>
sizesGet :: Int64 -> Int64 -> SizesGet

-- | Gets one size by ID.
--   
--   <i>See:</i> <a>sizesGet</a> smart constructor.
data SizesGet

-- | User profile ID associated with this request.
sgProFileId :: Lens' SizesGet Int64

-- | Size ID.
sgId :: Lens' SizesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Sizes.Get.SizesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.Sizes.Get.SizesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Sizes.Get.SizesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Sizes.Get.SizesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Sizes.Get.SizesGet


-- | Inserts a new size.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.sizes.insert</tt>.
module Network.Google.Resource.DFAReporting.Sizes.Insert

-- | A resource alias for <tt>dfareporting.sizes.insert</tt> method which
--   the <a>SizesInsert</a> request conforms to.
type SizesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("sizes" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Size :> Post '[JSON] Size))))))

-- | Creates a value of <a>SizesInsert</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>siProFileId</a></li>
--   <li><a>siPayload</a></li>
--   </ul>
sizesInsert :: Int64 -> Size -> SizesInsert

-- | Inserts a new size.
--   
--   <i>See:</i> <a>sizesInsert</a> smart constructor.
data SizesInsert

-- | User profile ID associated with this request.
siProFileId :: Lens' SizesInsert Int64

-- | Multipart request metadata.
siPayload :: Lens' SizesInsert Size
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Sizes.Insert.SizesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.Sizes.Insert.SizesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Sizes.Insert.SizesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Sizes.Insert.SizesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Sizes.Insert.SizesInsert


-- | Retrieves a list of sizes, possibly filtered.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.sizes.list</tt>.
module Network.Google.Resource.DFAReporting.Sizes.List

-- | A resource alias for <tt>dfareporting.sizes.list</tt> method which the
--   <a>SizesList</a> request conforms to.
type SizesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("sizes" :> (QueryParam "height" (Textual Int32) :> (QueryParams "ids" (Textual Int64) :> (QueryParam "width" (Textual Int32) :> (QueryParam "iabStandard" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] SizesListResponse)))))))))

-- | Creates a value of <a>SizesList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slHeight</a></li>
--   <li><a>slIds</a></li>
--   <li><a>slWidth</a></li>
--   <li><a>slProFileId</a></li>
--   <li><a>slIabStandard</a></li>
--   </ul>
sizesList :: Int64 -> SizesList

-- | Retrieves a list of sizes, possibly filtered.
--   
--   <i>See:</i> <a>sizesList</a> smart constructor.
data SizesList

-- | Select only sizes with this height.
slHeight :: Lens' SizesList (Maybe Int32)

-- | Select only sizes with these IDs.
slIds :: Lens' SizesList [Int64]

-- | Select only sizes with this width.
slWidth :: Lens' SizesList (Maybe Int32)

-- | User profile ID associated with this request.
slProFileId :: Lens' SizesList Int64

-- | Select only IAB standard sizes.
slIabStandard :: Lens' SizesList (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.Sizes.List.SizesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.Sizes.List.SizesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.Sizes.List.SizesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.Sizes.List.SizesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.Sizes.List.SizesList


-- | Gets one subaccount by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.subaccounts.get</tt>.
module Network.Google.Resource.DFAReporting.SubAccounts.Get

-- | A resource alias for <tt>dfareporting.subaccounts.get</tt> method
--   which the <a>SubAccountsGet</a> request conforms to.
type SubAccountsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("subaccounts" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] SubAccount))))))

-- | Creates a value of <a>SubAccountsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sagProFileId</a></li>
--   <li><a>sagId</a></li>
--   </ul>
subAccountsGet :: Int64 -> Int64 -> SubAccountsGet

-- | Gets one subaccount by ID.
--   
--   <i>See:</i> <a>subAccountsGet</a> smart constructor.
data SubAccountsGet

-- | User profile ID associated with this request.
sagProFileId :: Lens' SubAccountsGet Int64

-- | Subaccount ID.
sagId :: Lens' SubAccountsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.SubAccounts.Get.SubAccountsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.SubAccounts.Get.SubAccountsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.SubAccounts.Get.SubAccountsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.SubAccounts.Get.SubAccountsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.SubAccounts.Get.SubAccountsGet


-- | Inserts a new subaccount.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.subaccounts.insert</tt>.
module Network.Google.Resource.DFAReporting.SubAccounts.Insert

-- | A resource alias for <tt>dfareporting.subaccounts.insert</tt> method
--   which the <a>SubAccountsInsert</a> request conforms to.
type SubAccountsInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("subaccounts" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SubAccount :> Post '[JSON] SubAccount))))))

-- | Creates a value of <a>SubAccountsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>saiProFileId</a></li>
--   <li><a>saiPayload</a></li>
--   </ul>
subAccountsInsert :: Int64 -> SubAccount -> SubAccountsInsert

-- | Inserts a new subaccount.
--   
--   <i>See:</i> <a>subAccountsInsert</a> smart constructor.
data SubAccountsInsert

-- | User profile ID associated with this request.
saiProFileId :: Lens' SubAccountsInsert Int64

-- | Multipart request metadata.
saiPayload :: Lens' SubAccountsInsert SubAccount
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.SubAccounts.Insert.SubAccountsInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.SubAccounts.Insert.SubAccountsInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.SubAccounts.Insert.SubAccountsInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.SubAccounts.Insert.SubAccountsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.SubAccounts.Insert.SubAccountsInsert


-- | Gets a list of subaccounts, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.subaccounts.list</tt>.
module Network.Google.Resource.DFAReporting.SubAccounts.List

-- | A resource alias for <tt>dfareporting.subaccounts.list</tt> method
--   which the <a>SubAccountsList</a> request conforms to.
type SubAccountsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("subaccounts" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" SubAccountsListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" SubAccountsListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] SubAccountsListResponse)))))))))))

-- | Creates a value of <a>SubAccountsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>salSearchString</a></li>
--   <li><a>salIds</a></li>
--   <li><a>salProFileId</a></li>
--   <li><a>salSortOrder</a></li>
--   <li><a>salPageToken</a></li>
--   <li><a>salSortField</a></li>
--   <li><a>salMaxResults</a></li>
--   </ul>
subAccountsList :: Int64 -> SubAccountsList

-- | Gets a list of subaccounts, possibly filtered. This method supports
--   paging.
--   
--   <i>See:</i> <a>subAccountsList</a> smart constructor.
data SubAccountsList

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "subaccount*2015" will return objects with names like
--   "subaccount June 2015", "subaccount April 2015", or simply "subaccount
--   2015". Most of the searches also add wildcards implicitly at the start
--   and the end of the search string. For example, a search string of
--   "subaccount" will match objects with name "my subaccount", "subaccount
--   2015", or simply "subaccount".
salSearchString :: Lens' SubAccountsList (Maybe Text)

-- | Select only subaccounts with these IDs.
salIds :: Lens' SubAccountsList [Int64]

-- | User profile ID associated with this request.
salProFileId :: Lens' SubAccountsList Int64

-- | Order of sorted results, default is ASCENDING.
salSortOrder :: Lens' SubAccountsList (Maybe SubAccountsListSortOrder)

-- | Value of the nextPageToken from the previous result page.
salPageToken :: Lens' SubAccountsList (Maybe Text)

-- | Field by which to sort the list.
salSortField :: Lens' SubAccountsList (Maybe SubAccountsListSortField)

-- | Maximum number of results to return.
salMaxResults :: Lens' SubAccountsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.SubAccounts.List.SubAccountsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.SubAccounts.List.SubAccountsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.SubAccounts.List.SubAccountsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.SubAccounts.List.SubAccountsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.SubAccounts.List.SubAccountsList


-- | Updates an existing subaccount. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.subaccounts.patch</tt>.
module Network.Google.Resource.DFAReporting.SubAccounts.Patch

-- | A resource alias for <tt>dfareporting.subaccounts.patch</tt> method
--   which the <a>SubAccountsPatch</a> request conforms to.
type SubAccountsPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("subaccounts" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SubAccount :> Patch '[JSON] SubAccount)))))))

-- | Creates a value of <a>SubAccountsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sapProFileId</a></li>
--   <li><a>sapPayload</a></li>
--   <li><a>sapId</a></li>
--   </ul>
subAccountsPatch :: Int64 -> SubAccount -> Int64 -> SubAccountsPatch

-- | Updates an existing subaccount. This method supports patch semantics.
--   
--   <i>See:</i> <a>subAccountsPatch</a> smart constructor.
data SubAccountsPatch

-- | User profile ID associated with this request.
sapProFileId :: Lens' SubAccountsPatch Int64

-- | Multipart request metadata.
sapPayload :: Lens' SubAccountsPatch SubAccount

-- | Subaccount ID.
sapId :: Lens' SubAccountsPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.SubAccounts.Patch.SubAccountsPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.SubAccounts.Patch.SubAccountsPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.SubAccounts.Patch.SubAccountsPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.SubAccounts.Patch.SubAccountsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.SubAccounts.Patch.SubAccountsPatch


-- | Updates an existing subaccount.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.subaccounts.update</tt>.
module Network.Google.Resource.DFAReporting.SubAccounts.Update

-- | A resource alias for <tt>dfareporting.subaccounts.update</tt> method
--   which the <a>SubAccountsUpdate</a> request conforms to.
type SubAccountsUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("subaccounts" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SubAccount :> Put '[JSON] SubAccount))))))

-- | Creates a value of <a>SubAccountsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sauProFileId</a></li>
--   <li><a>sauPayload</a></li>
--   </ul>
subAccountsUpdate :: Int64 -> SubAccount -> SubAccountsUpdate

-- | Updates an existing subaccount.
--   
--   <i>See:</i> <a>subAccountsUpdate</a> smart constructor.
data SubAccountsUpdate

-- | User profile ID associated with this request.
sauProFileId :: Lens' SubAccountsUpdate Int64

-- | Multipart request metadata.
sauPayload :: Lens' SubAccountsUpdate SubAccount
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.SubAccounts.Update.SubAccountsUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.SubAccounts.Update.SubAccountsUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.SubAccounts.Update.SubAccountsUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.SubAccounts.Update.SubAccountsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.SubAccounts.Update.SubAccountsUpdate


-- | Gets one remarketing list by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.targetableRemarketingLists.get</tt>.
module Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get

-- | A resource alias for
--   <tt>dfareporting.targetableRemarketingLists.get</tt> method which the
--   <a>TargetableRemarketingListsGet</a> request conforms to.
type TargetableRemarketingListsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("targetableRemarketingLists" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetableRemarketingList))))))

-- | Creates a value of <a>TargetableRemarketingListsGet</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trlgProFileId</a></li>
--   <li><a>trlgId</a></li>
--   </ul>
targetableRemarketingListsGet :: Int64 -> Int64 -> TargetableRemarketingListsGet

-- | Gets one remarketing list by ID.
--   
--   <i>See:</i> <a>targetableRemarketingListsGet</a> smart constructor.
data TargetableRemarketingListsGet

-- | User profile ID associated with this request.
trlgProFileId :: Lens' TargetableRemarketingListsGet Int64

-- | Remarketing list ID.
trlgId :: Lens' TargetableRemarketingListsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get.TargetableRemarketingListsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get.TargetableRemarketingListsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get.TargetableRemarketingListsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get.TargetableRemarketingListsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get.TargetableRemarketingListsGet


-- | Retrieves a list of targetable remarketing lists, possibly filtered.
--   This method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.targetableRemarketingLists.list</tt>.
module Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List

-- | A resource alias for
--   <tt>dfareporting.targetableRemarketingLists.list</tt> method which the
--   <a>TargetableRemarketingListsList</a> request conforms to.
type TargetableRemarketingListsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("targetableRemarketingLists" :> (QueryParam "advertiserId" (Textual Int64) :> (QueryParam "sortOrder" TargetableRemarketingListsListSortOrder :> (QueryParam "active" Bool :> (QueryParam "name" Text :> (QueryParam "pageToken" Text :> (QueryParam "sortField" TargetableRemarketingListsListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetableRemarketingListsListResponse))))))))))))

-- | Creates a value of <a>TargetableRemarketingListsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trllAdvertiserId</a></li>
--   <li><a>trllProFileId</a></li>
--   <li><a>trllSortOrder</a></li>
--   <li><a>trllActive</a></li>
--   <li><a>trllName</a></li>
--   <li><a>trllPageToken</a></li>
--   <li><a>trllSortField</a></li>
--   <li><a>trllMaxResults</a></li>
--   </ul>
targetableRemarketingListsList :: Int64 -> Int64 -> TargetableRemarketingListsList

-- | Retrieves a list of targetable remarketing lists, possibly filtered.
--   This method supports paging.
--   
--   <i>See:</i> <a>targetableRemarketingListsList</a> smart constructor.
data TargetableRemarketingListsList

-- | Select only targetable remarketing lists targetable by these
--   advertisers.
trllAdvertiserId :: Lens' TargetableRemarketingListsList Int64

-- | User profile ID associated with this request.
trllProFileId :: Lens' TargetableRemarketingListsList Int64

-- | Order of sorted results, default is ASCENDING.
trllSortOrder :: Lens' TargetableRemarketingListsList (Maybe TargetableRemarketingListsListSortOrder)

-- | Select only active or only inactive targetable remarketing lists.
trllActive :: Lens' TargetableRemarketingListsList (Maybe Bool)

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "remarketing list*2015" will return objects with names
--   like "remarketing list June 2015", "remarketing list April 2015", or
--   simply "remarketing list 2015". Most of the searches also add
--   wildcards implicitly at the start and the end of the search string.
--   For example, a search string of "remarketing list" will match objects
--   with name "my remarketing list", "remarketing list 2015", or simply
--   "remarketing list".
trllName :: Lens' TargetableRemarketingListsList (Maybe Text)

-- | Value of the nextPageToken from the previous result page.
trllPageToken :: Lens' TargetableRemarketingListsList (Maybe Text)

-- | Field by which to sort the list.
trllSortField :: Lens' TargetableRemarketingListsList (Maybe TargetableRemarketingListsListSortField)

-- | Maximum number of results to return.
trllMaxResults :: Lens' TargetableRemarketingListsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List.TargetableRemarketingListsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List.TargetableRemarketingListsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List.TargetableRemarketingListsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List.TargetableRemarketingListsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List.TargetableRemarketingListsList


-- | Gets one targeting template by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.targetingTemplates.get</tt>.
module Network.Google.Resource.DFAReporting.TargetingTemplates.Get

-- | A resource alias for <tt>dfareporting.targetingTemplates.get</tt>
--   method which the <a>TargetingTemplatesGet</a> request conforms to.
type TargetingTemplatesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("targetingTemplates" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetingTemplate))))))

-- | Creates a value of <a>TargetingTemplatesGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttgProFileId</a></li>
--   <li><a>ttgId</a></li>
--   </ul>
targetingTemplatesGet :: Int64 -> Int64 -> TargetingTemplatesGet

-- | Gets one targeting template by ID.
--   
--   <i>See:</i> <a>targetingTemplatesGet</a> smart constructor.
data TargetingTemplatesGet

-- | User profile ID associated with this request.
ttgProFileId :: Lens' TargetingTemplatesGet Int64

-- | Targeting template ID.
ttgId :: Lens' TargetingTemplatesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.TargetingTemplates.Get.TargetingTemplatesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.TargetingTemplates.Get.TargetingTemplatesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.TargetingTemplates.Get.TargetingTemplatesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.TargetingTemplates.Get.TargetingTemplatesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.TargetingTemplates.Get.TargetingTemplatesGet


-- | Inserts a new targeting template.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.targetingTemplates.insert</tt>.
module Network.Google.Resource.DFAReporting.TargetingTemplates.Insert

-- | A resource alias for <tt>dfareporting.targetingTemplates.insert</tt>
--   method which the <a>TargetingTemplatesInsert</a> request conforms to.
type TargetingTemplatesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("targetingTemplates" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] TargetingTemplate :> Post '[JSON] TargetingTemplate))))))

-- | Creates a value of <a>TargetingTemplatesInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttiProFileId</a></li>
--   <li><a>ttiPayload</a></li>
--   </ul>
targetingTemplatesInsert :: Int64 -> TargetingTemplate -> TargetingTemplatesInsert

-- | Inserts a new targeting template.
--   
--   <i>See:</i> <a>targetingTemplatesInsert</a> smart constructor.
data TargetingTemplatesInsert

-- | User profile ID associated with this request.
ttiProFileId :: Lens' TargetingTemplatesInsert Int64

-- | Multipart request metadata.
ttiPayload :: Lens' TargetingTemplatesInsert TargetingTemplate
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.TargetingTemplates.Insert.TargetingTemplatesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.TargetingTemplates.Insert.TargetingTemplatesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.TargetingTemplates.Insert.TargetingTemplatesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.TargetingTemplates.Insert.TargetingTemplatesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.TargetingTemplates.Insert.TargetingTemplatesInsert


-- | Retrieves a list of targeting templates, optionally filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.targetingTemplates.list</tt>.
module Network.Google.Resource.DFAReporting.TargetingTemplates.List

-- | A resource alias for <tt>dfareporting.targetingTemplates.list</tt>
--   method which the <a>TargetingTemplatesList</a> request conforms to.
type TargetingTemplatesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("targetingTemplates" :> (QueryParam "advertiserId" (Textual Int64) :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" TargetingTemplatesListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "sortField" TargetingTemplatesListSortField :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] TargetingTemplatesListResponse))))))))))))

-- | Creates a value of <a>TargetingTemplatesList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttlAdvertiserId</a></li>
--   <li><a>ttlSearchString</a></li>
--   <li><a>ttlIds</a></li>
--   <li><a>ttlProFileId</a></li>
--   <li><a>ttlSortOrder</a></li>
--   <li><a>ttlPageToken</a></li>
--   <li><a>ttlSortField</a></li>
--   <li><a>ttlMaxResults</a></li>
--   </ul>
targetingTemplatesList :: Int64 -> TargetingTemplatesList

-- | Retrieves a list of targeting templates, optionally filtered. This
--   method supports paging.
--   
--   <i>See:</i> <a>targetingTemplatesList</a> smart constructor.
data TargetingTemplatesList

-- | Select only targeting templates with this advertiser ID.
ttlAdvertiserId :: Lens' TargetingTemplatesList (Maybe Int64)

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "template*2015" will return objects with names like
--   "template June 2015", "template April 2015", or simply "template
--   2015". Most of the searches also add wildcards implicitly at the start
--   and the end of the search string. For example, a search string of
--   "template" will match objects with name "my template", "template
--   2015", or simply "template".
ttlSearchString :: Lens' TargetingTemplatesList (Maybe Text)

-- | Select only targeting templates with these IDs.
ttlIds :: Lens' TargetingTemplatesList [Int64]

-- | User profile ID associated with this request.
ttlProFileId :: Lens' TargetingTemplatesList Int64

-- | Order of sorted results, default is ASCENDING.
ttlSortOrder :: Lens' TargetingTemplatesList (Maybe TargetingTemplatesListSortOrder)

-- | Value of the nextPageToken from the previous result page.
ttlPageToken :: Lens' TargetingTemplatesList (Maybe Text)

-- | Field by which to sort the list.
ttlSortField :: Lens' TargetingTemplatesList (Maybe TargetingTemplatesListSortField)

-- | Maximum number of results to return.
ttlMaxResults :: Lens' TargetingTemplatesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.TargetingTemplates.List.TargetingTemplatesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.TargetingTemplates.List.TargetingTemplatesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.TargetingTemplates.List.TargetingTemplatesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.TargetingTemplates.List.TargetingTemplatesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.TargetingTemplates.List.TargetingTemplatesList


-- | Updates an existing targeting template. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.targetingTemplates.patch</tt>.
module Network.Google.Resource.DFAReporting.TargetingTemplates.Patch

-- | A resource alias for <tt>dfareporting.targetingTemplates.patch</tt>
--   method which the <a>TargetingTemplatesPatch</a> request conforms to.
type TargetingTemplatesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("targetingTemplates" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] TargetingTemplate :> Patch '[JSON] TargetingTemplate)))))))

-- | Creates a value of <a>TargetingTemplatesPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttpProFileId</a></li>
--   <li><a>ttpPayload</a></li>
--   <li><a>ttpId</a></li>
--   </ul>
targetingTemplatesPatch :: Int64 -> TargetingTemplate -> Int64 -> TargetingTemplatesPatch

-- | Updates an existing targeting template. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>targetingTemplatesPatch</a> smart constructor.
data TargetingTemplatesPatch

-- | User profile ID associated with this request.
ttpProFileId :: Lens' TargetingTemplatesPatch Int64

-- | Multipart request metadata.
ttpPayload :: Lens' TargetingTemplatesPatch TargetingTemplate

-- | Targeting template ID.
ttpId :: Lens' TargetingTemplatesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.TargetingTemplates.Patch.TargetingTemplatesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.TargetingTemplates.Patch.TargetingTemplatesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.TargetingTemplates.Patch.TargetingTemplatesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.TargetingTemplates.Patch.TargetingTemplatesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.TargetingTemplates.Patch.TargetingTemplatesPatch


-- | Updates an existing targeting template.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.targetingTemplates.update</tt>.
module Network.Google.Resource.DFAReporting.TargetingTemplates.Update

-- | A resource alias for <tt>dfareporting.targetingTemplates.update</tt>
--   method which the <a>TargetingTemplatesUpdate</a> request conforms to.
type TargetingTemplatesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("targetingTemplates" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] TargetingTemplate :> Put '[JSON] TargetingTemplate))))))

-- | Creates a value of <a>TargetingTemplatesUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttuProFileId</a></li>
--   <li><a>ttuPayload</a></li>
--   </ul>
targetingTemplatesUpdate :: Int64 -> TargetingTemplate -> TargetingTemplatesUpdate

-- | Updates an existing targeting template.
--   
--   <i>See:</i> <a>targetingTemplatesUpdate</a> smart constructor.
data TargetingTemplatesUpdate

-- | User profile ID associated with this request.
ttuProFileId :: Lens' TargetingTemplatesUpdate Int64

-- | Multipart request metadata.
ttuPayload :: Lens' TargetingTemplatesUpdate TargetingTemplate
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.TargetingTemplates.Update.TargetingTemplatesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.TargetingTemplates.Update.TargetingTemplatesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.TargetingTemplates.Update.TargetingTemplatesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.TargetingTemplates.Update.TargetingTemplatesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.TargetingTemplates.Update.TargetingTemplatesUpdate


-- | Gets one user profile by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userProfiles.get</tt>.
module Network.Google.Resource.DFAReporting.UserProFiles.Get

-- | A resource alias for <tt>dfareporting.userProfiles.get</tt> method
--   which the <a>UserProFilesGet</a> request conforms to.
type UserProFilesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] UserProFile))))

-- | Creates a value of <a>UserProFilesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upfgProFileId</a></li>
--   </ul>
userProFilesGet :: Int64 -> UserProFilesGet

-- | Gets one user profile by ID.
--   
--   <i>See:</i> <a>userProFilesGet</a> smart constructor.
data UserProFilesGet

-- | The user profile ID.
upfgProFileId :: Lens' UserProFilesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserProFiles.Get.UserProFilesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserProFiles.Get.UserProFilesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserProFiles.Get.UserProFilesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserProFiles.Get.UserProFilesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserProFiles.Get.UserProFilesGet


-- | Retrieves list of user profiles for a user.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userProfiles.list</tt>.
module Network.Google.Resource.DFAReporting.UserProFiles.List

-- | A resource alias for <tt>dfareporting.userProfiles.list</tt> method
--   which the <a>UserProFilesList</a> request conforms to.
type UserProFilesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (QueryParam "alt" AltJSON :> Get '[JSON] UserProFileList)))

-- | Creates a value of <a>UserProFilesList</a> with the minimum fields
--   required to make a request.
userProFilesList :: UserProFilesList

-- | Retrieves list of user profiles for a user.
--   
--   <i>See:</i> <a>userProFilesList</a> smart constructor.
data UserProFilesList
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserProFiles.List.UserProFilesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserProFiles.List.UserProFilesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserProFiles.List.UserProFilesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserProFiles.List.UserProFilesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserProFiles.List.UserProFilesList


-- | Gets one user role permission group by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRolePermissionGroups.get</tt>.
module Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get

-- | A resource alias for
--   <tt>dfareporting.userRolePermissionGroups.get</tt> method which the
--   <a>UserRolePermissionGroupsGet</a> request conforms to.
type UserRolePermissionGroupsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRolePermissionGroups" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] UserRolePermissionGroup))))))

-- | Creates a value of <a>UserRolePermissionGroupsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urpggProFileId</a></li>
--   <li><a>urpggId</a></li>
--   </ul>
userRolePermissionGroupsGet :: Int64 -> Int64 -> UserRolePermissionGroupsGet

-- | Gets one user role permission group by ID.
--   
--   <i>See:</i> <a>userRolePermissionGroupsGet</a> smart constructor.
data UserRolePermissionGroupsGet

-- | User profile ID associated with this request.
urpggProFileId :: Lens' UserRolePermissionGroupsGet Int64

-- | User role permission group ID.
urpggId :: Lens' UserRolePermissionGroupsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get.UserRolePermissionGroupsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get.UserRolePermissionGroupsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get.UserRolePermissionGroupsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get.UserRolePermissionGroupsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get.UserRolePermissionGroupsGet


-- | Gets a list of all supported user role permission groups.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRolePermissionGroups.list</tt>.
module Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List

-- | A resource alias for
--   <tt>dfareporting.userRolePermissionGroups.list</tt> method which the
--   <a>UserRolePermissionGroupsList</a> request conforms to.
type UserRolePermissionGroupsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRolePermissionGroups" :> (QueryParam "alt" AltJSON :> Get '[JSON] UserRolePermissionGroupsListResponse)))))

-- | Creates a value of <a>UserRolePermissionGroupsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urpglProFileId</a></li>
--   </ul>
userRolePermissionGroupsList :: Int64 -> UserRolePermissionGroupsList

-- | Gets a list of all supported user role permission groups.
--   
--   <i>See:</i> <a>userRolePermissionGroupsList</a> smart constructor.
data UserRolePermissionGroupsList

-- | User profile ID associated with this request.
urpglProFileId :: Lens' UserRolePermissionGroupsList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List.UserRolePermissionGroupsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List.UserRolePermissionGroupsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List.UserRolePermissionGroupsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List.UserRolePermissionGroupsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List.UserRolePermissionGroupsList


-- | Gets one user role permission by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRolePermissions.get</tt>.
module Network.Google.Resource.DFAReporting.UserRolePermissions.Get

-- | A resource alias for <tt>dfareporting.userRolePermissions.get</tt>
--   method which the <a>UserRolePermissionsGet</a> request conforms to.
type UserRolePermissionsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRolePermissions" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] UserRolePermission))))))

-- | Creates a value of <a>UserRolePermissionsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uProFileId</a></li>
--   <li><a>uId</a></li>
--   </ul>
userRolePermissionsGet :: Int64 -> Int64 -> UserRolePermissionsGet

-- | Gets one user role permission by ID.
--   
--   <i>See:</i> <a>userRolePermissionsGet</a> smart constructor.
data UserRolePermissionsGet

-- | User profile ID associated with this request.
uProFileId :: Lens' UserRolePermissionsGet Int64

-- | User role permission ID.
uId :: Lens' UserRolePermissionsGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRolePermissions.Get.UserRolePermissionsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRolePermissions.Get.UserRolePermissionsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRolePermissions.Get.UserRolePermissionsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRolePermissions.Get.UserRolePermissionsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRolePermissions.Get.UserRolePermissionsGet


-- | Gets a list of user role permissions, possibly filtered.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRolePermissions.list</tt>.
module Network.Google.Resource.DFAReporting.UserRolePermissions.List

-- | A resource alias for <tt>dfareporting.userRolePermissions.list</tt>
--   method which the <a>UserRolePermissionsList</a> request conforms to.
type UserRolePermissionsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRolePermissions" :> (QueryParams "ids" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] UserRolePermissionsListResponse))))))

-- | Creates a value of <a>UserRolePermissionsList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urplIds</a></li>
--   <li><a>urplProFileId</a></li>
--   </ul>
userRolePermissionsList :: Int64 -> UserRolePermissionsList

-- | Gets a list of user role permissions, possibly filtered.
--   
--   <i>See:</i> <a>userRolePermissionsList</a> smart constructor.
data UserRolePermissionsList

-- | Select only user role permissions with these IDs.
urplIds :: Lens' UserRolePermissionsList [Int64]

-- | User profile ID associated with this request.
urplProFileId :: Lens' UserRolePermissionsList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRolePermissions.List.UserRolePermissionsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRolePermissions.List.UserRolePermissionsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRolePermissions.List.UserRolePermissionsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRolePermissions.List.UserRolePermissionsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRolePermissions.List.UserRolePermissionsList


-- | Deletes an existing user role.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRoles.delete</tt>.
module Network.Google.Resource.DFAReporting.UserRoles.Delete

-- | A resource alias for <tt>dfareporting.userRoles.delete</tt> method
--   which the <a>UserRolesDelete</a> request conforms to.
type UserRolesDeleteResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRoles" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>UserRolesDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urdProFileId</a></li>
--   <li><a>urdId</a></li>
--   </ul>
userRolesDelete :: Int64 -> Int64 -> UserRolesDelete

-- | Deletes an existing user role.
--   
--   <i>See:</i> <a>userRolesDelete</a> smart constructor.
data UserRolesDelete

-- | User profile ID associated with this request.
urdProFileId :: Lens' UserRolesDelete Int64

-- | User role ID.
urdId :: Lens' UserRolesDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRoles.Delete.UserRolesDelete
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRoles.Delete.UserRolesDelete
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRoles.Delete.UserRolesDelete
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRoles.Delete.UserRolesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRoles.Delete.UserRolesDelete


-- | Gets one user role by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRoles.get</tt>.
module Network.Google.Resource.DFAReporting.UserRoles.Get

-- | A resource alias for <tt>dfareporting.userRoles.get</tt> method which
--   the <a>UserRolesGet</a> request conforms to.
type UserRolesGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRoles" :> (Capture "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] UserRole))))))

-- | Creates a value of <a>UserRolesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urgProFileId</a></li>
--   <li><a>urgId</a></li>
--   </ul>
userRolesGet :: Int64 -> Int64 -> UserRolesGet

-- | Gets one user role by ID.
--   
--   <i>See:</i> <a>userRolesGet</a> smart constructor.
data UserRolesGet

-- | User profile ID associated with this request.
urgProFileId :: Lens' UserRolesGet Int64

-- | User role ID.
urgId :: Lens' UserRolesGet Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRoles.Get.UserRolesGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRoles.Get.UserRolesGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRoles.Get.UserRolesGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRoles.Get.UserRolesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRoles.Get.UserRolesGet


-- | Inserts a new user role.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRoles.insert</tt>.
module Network.Google.Resource.DFAReporting.UserRoles.Insert

-- | A resource alias for <tt>dfareporting.userRoles.insert</tt> method
--   which the <a>UserRolesInsert</a> request conforms to.
type UserRolesInsertResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRoles" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UserRole :> Post '[JSON] UserRole))))))

-- | Creates a value of <a>UserRolesInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uriProFileId</a></li>
--   <li><a>uriPayload</a></li>
--   </ul>
userRolesInsert :: Int64 -> UserRole -> UserRolesInsert

-- | Inserts a new user role.
--   
--   <i>See:</i> <a>userRolesInsert</a> smart constructor.
data UserRolesInsert

-- | User profile ID associated with this request.
uriProFileId :: Lens' UserRolesInsert Int64

-- | Multipart request metadata.
uriPayload :: Lens' UserRolesInsert UserRole
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRoles.Insert.UserRolesInsert
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRoles.Insert.UserRolesInsert
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRoles.Insert.UserRolesInsert
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRoles.Insert.UserRolesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRoles.Insert.UserRolesInsert


-- | Retrieves a list of user roles, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRoles.list</tt>.
module Network.Google.Resource.DFAReporting.UserRoles.List

-- | A resource alias for <tt>dfareporting.userRoles.list</tt> method which
--   the <a>UserRolesList</a> request conforms to.
type UserRolesListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRoles" :> (QueryParam "searchString" Text :> (QueryParams "ids" (Textual Int64) :> (QueryParam "sortOrder" UserRolesListSortOrder :> (QueryParam "accountUserRoleOnly" Bool :> (QueryParam "pageToken" Text :> (QueryParam "sortField" UserRolesListSortField :> (QueryParam "subaccountId" (Textual Int64) :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] UserRolesListResponse)))))))))))))

-- | Creates a value of <a>UserRolesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urlSearchString</a></li>
--   <li><a>urlIds</a></li>
--   <li><a>urlProFileId</a></li>
--   <li><a>urlSortOrder</a></li>
--   <li><a>urlAccountUserRoleOnly</a></li>
--   <li><a>urlPageToken</a></li>
--   <li><a>urlSortField</a></li>
--   <li><a>urlSubAccountId</a></li>
--   <li><a>urlMaxResults</a></li>
--   </ul>
userRolesList :: Int64 -> UserRolesList

-- | Retrieves a list of user roles, possibly filtered. This method
--   supports paging.
--   
--   <i>See:</i> <a>userRolesList</a> smart constructor.
data UserRolesList

-- | Allows searching for objects by name or ID. Wildcards (*) are allowed.
--   For example, "userrole*2015" will return objects with names like
--   "userrole June 2015", "userrole April 2015", or simply "userrole
--   2015". Most of the searches also add wildcards implicitly at the start
--   and the end of the search string. For example, a search string of
--   "userrole" will match objects with name "my userrole", "userrole
--   2015", or simply "userrole".
urlSearchString :: Lens' UserRolesList (Maybe Text)

-- | Select only user roles with the specified IDs.
urlIds :: Lens' UserRolesList [Int64]

-- | User profile ID associated with this request.
urlProFileId :: Lens' UserRolesList Int64

-- | Order of sorted results, default is ASCENDING.
urlSortOrder :: Lens' UserRolesList (Maybe UserRolesListSortOrder)

-- | Select only account level user roles not associated with any specific
--   subaccount.
urlAccountUserRoleOnly :: Lens' UserRolesList (Maybe Bool)

-- | Value of the nextPageToken from the previous result page.
urlPageToken :: Lens' UserRolesList (Maybe Text)

-- | Field by which to sort the list.
urlSortField :: Lens' UserRolesList (Maybe UserRolesListSortField)

-- | Select only user roles that belong to this subaccount.
urlSubAccountId :: Lens' UserRolesList (Maybe Int64)

-- | Maximum number of results to return.
urlMaxResults :: Lens' UserRolesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRoles.List.UserRolesList
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRoles.List.UserRolesList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRoles.List.UserRolesList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRoles.List.UserRolesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRoles.List.UserRolesList


-- | Updates an existing user role. This method supports patch semantics.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRoles.patch</tt>.
module Network.Google.Resource.DFAReporting.UserRoles.Patch

-- | A resource alias for <tt>dfareporting.userRoles.patch</tt> method
--   which the <a>UserRolesPatch</a> request conforms to.
type UserRolesPatchResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRoles" :> (QueryParam "id" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UserRole :> Patch '[JSON] UserRole)))))))

-- | Creates a value of <a>UserRolesPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urpProFileId</a></li>
--   <li><a>urpPayload</a></li>
--   <li><a>urpId</a></li>
--   </ul>
userRolesPatch :: Int64 -> UserRole -> Int64 -> UserRolesPatch

-- | Updates an existing user role. This method supports patch semantics.
--   
--   <i>See:</i> <a>userRolesPatch</a> smart constructor.
data UserRolesPatch

-- | User profile ID associated with this request.
urpProFileId :: Lens' UserRolesPatch Int64

-- | Multipart request metadata.
urpPayload :: Lens' UserRolesPatch UserRole

-- | User role ID.
urpId :: Lens' UserRolesPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRoles.Patch.UserRolesPatch
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRoles.Patch.UserRolesPatch
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRoles.Patch.UserRolesPatch
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRoles.Patch.UserRolesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRoles.Patch.UserRolesPatch


-- | Updates an existing user role.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.userRoles.update</tt>.
module Network.Google.Resource.DFAReporting.UserRoles.Update

-- | A resource alias for <tt>dfareporting.userRoles.update</tt> method
--   which the <a>UserRolesUpdate</a> request conforms to.
type UserRolesUpdateResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("userRoles" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UserRole :> Put '[JSON] UserRole))))))

-- | Creates a value of <a>UserRolesUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uruProFileId</a></li>
--   <li><a>uruPayload</a></li>
--   </ul>
userRolesUpdate :: Int64 -> UserRole -> UserRolesUpdate

-- | Updates an existing user role.
--   
--   <i>See:</i> <a>userRolesUpdate</a> smart constructor.
data UserRolesUpdate

-- | User profile ID associated with this request.
uruProFileId :: Lens' UserRolesUpdate Int64

-- | Multipart request metadata.
uruPayload :: Lens' UserRolesUpdate UserRole
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.UserRoles.Update.UserRolesUpdate
instance Data.Data.Data Network.Google.Resource.DFAReporting.UserRoles.Update.UserRolesUpdate
instance GHC.Show.Show Network.Google.Resource.DFAReporting.UserRoles.Update.UserRolesUpdate
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.UserRoles.Update.UserRolesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.UserRoles.Update.UserRolesUpdate


-- | Gets one video format by ID.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.videoFormats.get</tt>.
module Network.Google.Resource.DFAReporting.VideoFormats.Get

-- | A resource alias for <tt>dfareporting.videoFormats.get</tt> method
--   which the <a>VideoFormatsGet</a> request conforms to.
type VideoFormatsGetResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("videoFormats" :> (Capture "id" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] VideoFormat))))))

-- | Creates a value of <a>VideoFormatsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vfgProFileId</a></li>
--   <li><a>vfgId</a></li>
--   </ul>
videoFormatsGet :: Int64 -> Int32 -> VideoFormatsGet

-- | Gets one video format by ID.
--   
--   <i>See:</i> <a>videoFormatsGet</a> smart constructor.
data VideoFormatsGet

-- | User profile ID associated with this request.
vfgProFileId :: Lens' VideoFormatsGet Int64

-- | Video format ID.
vfgId :: Lens' VideoFormatsGet Int32
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.VideoFormats.Get.VideoFormatsGet
instance Data.Data.Data Network.Google.Resource.DFAReporting.VideoFormats.Get.VideoFormatsGet
instance GHC.Show.Show Network.Google.Resource.DFAReporting.VideoFormats.Get.VideoFormatsGet
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.VideoFormats.Get.VideoFormatsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.VideoFormats.Get.VideoFormatsGet


-- | Lists available video formats.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a> for
--   <tt>dfareporting.videoFormats.list</tt>.
module Network.Google.Resource.DFAReporting.VideoFormats.List

-- | A resource alias for <tt>dfareporting.videoFormats.list</tt> method
--   which the <a>VideoFormatsList</a> request conforms to.
type VideoFormatsListResource = "dfareporting" :> ("v2.7" :> ("userprofiles" :> (Capture "profileId" (Textual Int64) :> ("videoFormats" :> (QueryParam "alt" AltJSON :> Get '[JSON] VideoFormatsListResponse)))))

-- | Creates a value of <a>VideoFormatsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vflProFileId</a></li>
--   </ul>
videoFormatsList :: Int64 -> VideoFormatsList

-- | Lists available video formats.
--   
--   <i>See:</i> <a>videoFormatsList</a> smart constructor.
data VideoFormatsList

-- | User profile ID associated with this request.
vflProFileId :: Lens' VideoFormatsList Int64
instance GHC.Generics.Generic Network.Google.Resource.DFAReporting.VideoFormats.List.VideoFormatsList
instance Data.Data.Data Network.Google.Resource.DFAReporting.VideoFormats.List.VideoFormatsList
instance GHC.Show.Show Network.Google.Resource.DFAReporting.VideoFormats.List.VideoFormatsList
instance GHC.Classes.Eq Network.Google.Resource.DFAReporting.VideoFormats.List.VideoFormatsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.DFAReporting.VideoFormats.List.VideoFormatsList


-- | Manages your DoubleClick Campaign Manager ad campaigns and reports.
--   
--   <i>See:</i> <a>DCM/DFA Reporting And Trafficking API Reference</a>
module Network.Google.DFAReporting

-- | Default request referring to version 'v2.7' of the DCM/DFA Reporting
--   And Trafficking API. This contains the host and root path used as a
--   starting point for constructing service requests.
dFAReportingService :: ServiceConfig

-- | View and manage DoubleClick for Advertisers reports
dFAReportingScope :: Proxy '["https://www.googleapis.com/auth/dfareporting"]

-- | Manage DoubleClick Digital Marketing conversions
ddmconversionsScope :: Proxy '["https://www.googleapis.com/auth/ddmconversions"]

-- | View and manage your DoubleClick Campaign Manager's (DCM) display ad
--   campaigns
dfatraffickingScope :: Proxy '["https://www.googleapis.com/auth/dfatrafficking"]

-- | Represents the entirety of the methods and resources available for the
--   DCM/DFA Reporting And Trafficking API service.
type DFAReportingAPI = InventoryItemsListResource :<|> (InventoryItemsGetResource :<|> (PlacementStrategiesInsertResource :<|> (PlacementStrategiesListResource :<|> (PlacementStrategiesPatchResource :<|> (PlacementStrategiesGetResource :<|> (PlacementStrategiesDeleteResource :<|> (PlacementStrategiesUpdateResource :<|> (CampaignCreativeAssociationsInsertResource :<|> (CampaignCreativeAssociationsListResource :<|> (RemarketingListSharesPatchResource :<|> (RemarketingListSharesGetResource :<|> (RemarketingListSharesUpdateResource :<|> (LandingPagesInsertResource :<|> (LandingPagesListResource :<|> (LandingPagesPatchResource :<|> (LandingPagesGetResource :<|> (LandingPagesDeleteResource :<|> (LandingPagesUpdateResource :<|> (MobileCarriersListResource :<|> (MobileCarriersGetResource :<|> (CreativeGroupsInsertResource :<|> (CreativeGroupsListResource :<|> (CreativeGroupsPatchResource :<|> (CreativeGroupsGetResource :<|> (CreativeGroupsUpdateResource :<|> (RemarketingListsInsertResource :<|> (RemarketingListsListResource :<|> (RemarketingListsPatchResource :<|> (RemarketingListsGetResource :<|> (RemarketingListsUpdateResource :<|> (AccountActiveAdSummariesGetResource :<|> (UserRolePermissionGroupsListResource :<|> (UserRolePermissionGroupsGetResource :<|> (AccountsListResource :<|> (AccountsPatchResource :<|> (AccountsGetResource :<|> (AccountsUpdateResource :<|> (ReportsCompatibleFieldsQueryResource :<|> (ReportsFilesListResource :<|> (ReportsFilesGetResource :<|> (ReportsInsertResource :<|> (ReportsListResource :<|> (ReportsPatchResource :<|> (ReportsGetResource :<|> (ReportsRunResource :<|> (ReportsDeleteResource :<|> (ReportsUpdateResource :<|> (CampaignsInsertResource :<|> (CampaignsListResource :<|> (CampaignsPatchResource :<|> (CampaignsGetResource :<|> (CampaignsUpdateResource :<|> (DynamicTargetingKeysInsertResource :<|> (DynamicTargetingKeysListResource :<|> (DynamicTargetingKeysDeleteResource :<|> (AccountUserProFilesInsertResource :<|> (AccountUserProFilesListResource :<|> (AccountUserProFilesPatchResource :<|> (AccountUserProFilesGetResource :<|> (AccountUserProFilesUpdateResource :<|> (CreativesInsertResource :<|> (CreativesListResource :<|> (CreativesPatchResource :<|> (CreativesGetResource :<|> (CreativesUpdateResource :<|> (DimensionValuesQueryResource :<|> (RegionsListResource :<|> (FloodlightConfigurationsListResource :<|> (FloodlightConfigurationsPatchResource :<|> (FloodlightConfigurationsGetResource :<|> (FloodlightConfigurationsUpdateResource :<|> (ConversionsBatchinsertResource :<|> (FloodlightActivitiesInsertResource :<|> (FloodlightActivitiesListResource :<|> (FloodlightActivitiesPatchResource :<|> (FloodlightActivitiesGetResource :<|> (FloodlightActivitiesGeneratetagResource :<|> (FloodlightActivitiesDeleteResource :<|> (FloodlightActivitiesUpdateResource :<|> (UserRolesInsertResource :<|> (UserRolesListResource :<|> (UserRolesPatchResource :<|> (UserRolesGetResource :<|> (UserRolesDeleteResource :<|> (UserRolesUpdateResource :<|> (AccountPermissionGroupsListResource :<|> (AccountPermissionGroupsGetResource :<|> (AdvertisersInsertResource :<|> (AdvertisersListResource :<|> (AdvertisersPatchResource :<|> (AdvertisersGetResource :<|> (AdvertisersUpdateResource :<|> (CountriesListResource :<|> (CountriesGetResource :<|> (AccountPermissionsListResource :<|> (AccountPermissionsGetResource :<|> (UserProFilesListResource :<|> (UserProFilesGetResource :<|> (OperatingSystemVersionsListResource :<|> (OperatingSystemVersionsGetResource :<|> (ChangeLogsListResource :<|> (ChangeLogsGetResource :<|> (CitiesListResource :<|> (LanguagesListResource :<|> (TargetableRemarketingListsListResource :<|> (TargetableRemarketingListsGetResource :<|> (PlatformTypesListResource :<|> (PlatformTypesGetResource :<|> (BrowsersListResource :<|> (ContentCategoriesInsertResource :<|> (ContentCategoriesListResource :<|> (ContentCategoriesPatchResource :<|> (ContentCategoriesGetResource :<|> (ContentCategoriesDeleteResource :<|> (ContentCategoriesUpdateResource :<|> (PlacementsInsertResource :<|> (PlacementsGeneratetagsResource :<|> (PlacementsListResource :<|> (PlacementsPatchResource :<|> (PlacementsGetResource :<|> (PlacementsUpdateResource :<|> (MetrosListResource :<|> (OrderDocumentsListResource :<|> (OrderDocumentsGetResource :<|> (CreativeFieldsInsertResource :<|> (CreativeFieldsListResource :<|> (CreativeFieldsPatchResource :<|> (CreativeFieldsGetResource :<|> (CreativeFieldsDeleteResource :<|> (CreativeFieldsUpdateResource :<|> (TargetingTemplatesInsertResource :<|> (TargetingTemplatesListResource :<|> (TargetingTemplatesPatchResource :<|> (TargetingTemplatesGetResource :<|> (TargetingTemplatesUpdateResource :<|> (EventTagsInsertResource :<|> (EventTagsListResource :<|> (EventTagsPatchResource :<|> (EventTagsGetResource :<|> (EventTagsDeleteResource :<|> (EventTagsUpdateResource :<|> (FilesListResource :<|> (FilesGetResource :<|> (UserRolePermissionsListResource :<|> (UserRolePermissionsGetResource :<|> (PlacementGroupsInsertResource :<|> (PlacementGroupsListResource :<|> (PlacementGroupsPatchResource :<|> (PlacementGroupsGetResource :<|> (PlacementGroupsUpdateResource :<|> (OrdersListResource :<|> (OrdersGetResource :<|> (ConnectionTypesListResource :<|> (ConnectionTypesGetResource :<|> (CreativeAssetsInsertResource :<|> (SitesInsertResource :<|> (SitesListResource :<|> (SitesPatchResource :<|> (SitesGetResource :<|> (SitesUpdateResource :<|> (PostalCodesListResource :<|> (PostalCodesGetResource :<|> (OperatingSystemsListResource :<|> (OperatingSystemsGetResource :<|> (SizesInsertResource :<|> (SizesListResource :<|> (SizesGetResource :<|> (AdsInsertResource :<|> (AdsListResource :<|> (AdsPatchResource :<|> (AdsGetResource :<|> (AdsUpdateResource :<|> (ProjectsListResource :<|> (ProjectsGetResource :<|> (SubAccountsInsertResource :<|> (SubAccountsListResource :<|> (SubAccountsPatchResource :<|> (SubAccountsGetResource :<|> (SubAccountsUpdateResource :<|> (VideoFormatsListResource :<|> (VideoFormatsGetResource :<|> (CreativeFieldValuesInsertResource :<|> (CreativeFieldValuesListResource :<|> (CreativeFieldValuesPatchResource :<|> (CreativeFieldValuesGetResource :<|> (CreativeFieldValuesDeleteResource :<|> (CreativeFieldValuesUpdateResource :<|> (DirectorySitesInsertResource :<|> (DirectorySitesListResource :<|> (DirectorySitesGetResource :<|> (AdvertiserGroupsInsertResource :<|> (AdvertiserGroupsListResource :<|> (AdvertiserGroupsPatchResource :<|> (AdvertiserGroupsGetResource :<|> (AdvertiserGroupsDeleteResource :<|> (AdvertiserGroupsUpdateResource :<|> (DirectorySiteContactsListResource :<|> (DirectorySiteContactsGetResource :<|> (FloodlightActivityGroupsInsertResource :<|> (FloodlightActivityGroupsListResource :<|> (FloodlightActivityGroupsPatchResource :<|> (FloodlightActivityGroupsGetResource :<|> FloodlightActivityGroupsUpdateResource))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

-- | Video Offset
--   
--   <i>See:</i> <a>videoOffSet</a> smart constructor.
data VideoOffSet

-- | Creates a value of <a>VideoOffSet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vosOffSetPercentage</a></li>
--   <li><a>vosOffSetSeconds</a></li>
--   </ul>
videoOffSet :: VideoOffSet

-- | Duration, as a percentage of video duration. Do not set when
--   offsetSeconds is set.
vosOffSetPercentage :: Lens' VideoOffSet (Maybe Int32)

-- | Duration, in seconds. Do not set when offsetPercentage is set.
vosOffSetSeconds :: Lens' VideoOffSet (Maybe Int32)

-- | Order of sorted results, default is ASCENDING.
data PlacementsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
Ascending :: PlacementsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
Descending :: PlacementsListSortOrder

-- | The date range relative to the date of when the report is run.
data DateRangeRelativeDateRange

-- | <pre>
--   LAST_24_MONTHS
--   </pre>
Last24Months :: DateRangeRelativeDateRange

-- | <pre>
--   LAST_30_DAYS
--   </pre>
Last30Days :: DateRangeRelativeDateRange

-- | <pre>
--   LAST_365_DAYS
--   </pre>
Last365Days :: DateRangeRelativeDateRange

-- | <pre>
--   LAST_7_DAYS
--   </pre>
Last7Days :: DateRangeRelativeDateRange

-- | <pre>
--   LAST_90_DAYS
--   </pre>
Last90Days :: DateRangeRelativeDateRange

-- | <pre>
--   MONTH_TO_DATE
--   </pre>
MonthToDate :: DateRangeRelativeDateRange

-- | <pre>
--   PREVIOUS_MONTH
--   </pre>
PreviousMonth :: DateRangeRelativeDateRange

-- | <pre>
--   PREVIOUS_QUARTER
--   </pre>
PreviousQuarter :: DateRangeRelativeDateRange

-- | <pre>
--   PREVIOUS_WEEK
--   </pre>
PreviousWeek :: DateRangeRelativeDateRange

-- | <pre>
--   PREVIOUS_YEAR
--   </pre>
PreviousYear :: DateRangeRelativeDateRange

-- | <pre>
--   QUARTER_TO_DATE
--   </pre>
QuarterToDate :: DateRangeRelativeDateRange

-- | <pre>
--   TODAY
--   </pre>
Today :: DateRangeRelativeDateRange

-- | <pre>
--   WEEK_TO_DATE
--   </pre>
WeekToDate :: DateRangeRelativeDateRange

-- | <pre>
--   YEAR_TO_DATE
--   </pre>
YearToDate :: DateRangeRelativeDateRange

-- | <pre>
--   YESTERDAY
--   </pre>
Yesterday :: DateRangeRelativeDateRange

-- | Field by which to sort the list.
data AdvertisersListSortField

-- | <pre>
--   ID
--   </pre>
ID :: AdvertisersListSortField

-- | <pre>
--   NAME
--   </pre>
Name :: AdvertisersListSortField

-- | Order of sorted results, default is ASCENDING.
data CreativeFieldsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CFLSOAscending :: CreativeFieldsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CFLSODescending :: CreativeFieldsListSortOrder

-- | Represents the list of File resources.
--   
--   <i>See:</i> <a>fileList</a> smart constructor.
data FileList

-- | Creates a value of <a>FileList</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>flEtag</a></li>
--   <li><a>flNextPageToken</a></li>
--   <li><a>flKind</a></li>
--   <li><a>flItems</a></li>
--   </ul>
fileList :: FileList

-- | The eTag of this response for caching purposes.
flEtag :: Lens' FileList (Maybe Text)

-- | Continuation token used to page through files. To retrieve the next
--   page of results, set the next request's "pageToken" to the value of
--   this field. The page token is only valid for a limited amount of time
--   and should not be persisted.
flNextPageToken :: Lens' FileList (Maybe Text)

-- | The kind of list this is, in this case dfareporting#fileList.
flKind :: Lens' FileList Text

-- | The files returned in this response.
flItems :: Lens' FileList [File]

-- | Order of sorted results, default is ASCENDING.
data TargetingTemplatesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
TTLSOAscending :: TargetingTemplatesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
TTLSODescending :: TargetingTemplatesListSortOrder

-- | Creative optimization activity.
--   
--   <i>See:</i> <a>optimizationActivity</a> smart constructor.
data OptimizationActivity

-- | Creates a value of <a>OptimizationActivity</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oaWeight</a></li>
--   <li><a>oaFloodlightActivityId</a></li>
--   <li><a>oaFloodlightActivityIdDimensionValue</a></li>
--   </ul>
optimizationActivity :: OptimizationActivity

-- | Weight associated with this optimization. Must be greater than 1. The
--   weight assigned will be understood in proportion to the weights
--   assigned to the other optimization activities.
oaWeight :: Lens' OptimizationActivity (Maybe Int32)

-- | Floodlight activity ID of this optimization activity. This is a
--   required field.
oaFloodlightActivityId :: Lens' OptimizationActivity (Maybe Int64)

-- | Dimension value for the ID of the floodlight activity. This is a
--   read-only, auto-generated field.
oaFloodlightActivityIdDimensionValue :: Lens' OptimizationActivity (Maybe DimensionValue)

-- | A group clause made up of list population terms representing
--   constraints joined by ORs.
--   
--   <i>See:</i> <a>listPopulationClause</a> smart constructor.
data ListPopulationClause

-- | Creates a value of <a>ListPopulationClause</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpcTerms</a></li>
--   </ul>
listPopulationClause :: ListPopulationClause

-- | Terms of this list population clause. Each clause is made up of list
--   population terms representing constraints and are joined by ORs.
lpcTerms :: Lens' ListPopulationClause [ListPopulationTerm]

-- | Creative Custom Event.
--   
--   <i>See:</i> <a>creativeCustomEvent</a> smart constructor.
data CreativeCustomEvent

-- | Creates a value of <a>CreativeCustomEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cceAdvertiserCustomEventId</a></li>
--   <li><a>cceAdvertiserCustomEventType</a></li>
--   <li><a>cceAdvertiserCustomEventName</a></li>
--   <li><a>cceExitURL</a></li>
--   <li><a>cceTargetType</a></li>
--   <li><a>ccePopupWindowProperties</a></li>
--   <li><a>cceVideoReportingId</a></li>
--   <li><a>cceId</a></li>
--   <li><a>cceArtworkLabel</a></li>
--   <li><a>cceArtworkType</a></li>
--   </ul>
creativeCustomEvent :: CreativeCustomEvent

-- | Unique ID of this event used by DDM Reporting and Data Transfer. This
--   is a read-only field.
cceAdvertiserCustomEventId :: Lens' CreativeCustomEvent (Maybe Int64)

-- | Type of the event. This is a read-only field.
cceAdvertiserCustomEventType :: Lens' CreativeCustomEvent (Maybe CreativeCustomEventAdvertiserCustomEventType)

-- | User-entered name for the event.
cceAdvertiserCustomEventName :: Lens' CreativeCustomEvent (Maybe Text)

-- | Exit URL of the event. This field is used only for exit events.
cceExitURL :: Lens' CreativeCustomEvent (Maybe Text)

-- | Target type used by the event.
cceTargetType :: Lens' CreativeCustomEvent (Maybe CreativeCustomEventTargetType)

-- | Properties for rich media popup windows. This field is used only for
--   exit events.
ccePopupWindowProperties :: Lens' CreativeCustomEvent (Maybe PopupWindowProperties)

-- | Video reporting ID, used to differentiate multiple videos in a single
--   creative. This is a read-only field.
cceVideoReportingId :: Lens' CreativeCustomEvent (Maybe Text)

-- | ID of this event. This is a required field and should not be modified
--   after insertion.
cceId :: Lens' CreativeCustomEvent (Maybe Int64)

-- | Artwork label column, used to link events in DCM back to events in
--   Studio. This is a required field and should not be modified after
--   insertion.
cceArtworkLabel :: Lens' CreativeCustomEvent (Maybe Text)

-- | Artwork type used by the creative.This is a read-only field.
cceArtworkType :: Lens' CreativeCustomEvent (Maybe CreativeCustomEventArtworkType)

-- | Creative Click Tag.
--   
--   <i>See:</i> <a>clickTag</a> smart constructor.
data ClickTag

-- | Creates a value of <a>ClickTag</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctValue</a></li>
--   <li><a>ctName</a></li>
--   <li><a>ctEventName</a></li>
--   </ul>
clickTag :: ClickTag

-- | Parameter value for the specified click tag. This field contains a
--   click-through url.
ctValue :: Lens' ClickTag (Maybe Text)

-- | Parameter name for the specified click tag. For DISPLAY_IMAGE_GALLERY
--   creative assets, this field must match the value of the creative
--   asset's creativeAssetId.name field.
ctName :: Lens' ClickTag (Maybe Text)

-- | Advertiser event name associated with the click tag. This field is
--   used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives. Applicable
--   to DISPLAY when the primary asset type is not HTML_IMAGE.
ctEventName :: Lens' ClickTag (Maybe Text)

-- | Campaign List Response
--   
--   <i>See:</i> <a>campaignsListResponse</a> smart constructor.
data CampaignsListResponse

-- | Creates a value of <a>CampaignsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clrNextPageToken</a></li>
--   <li><a>clrCampaigns</a></li>
--   <li><a>clrKind</a></li>
--   </ul>
campaignsListResponse :: CampaignsListResponse

-- | Pagination token to be used for the next list operation.
clrNextPageToken :: Lens' CampaignsListResponse (Maybe Text)

-- | Campaign collection.
clrCampaigns :: Lens' CampaignsListResponse [Campaign]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#campaignsListResponse".
clrKind :: Lens' CampaignsListResponse Text

-- | Geographical Targeting.
--   
--   <i>See:</i> <a>geoTargeting</a> smart constructor.
data GeoTargeting

-- | Creates a value of <a>GeoTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gtRegions</a></li>
--   <li><a>gtCountries</a></li>
--   <li><a>gtCities</a></li>
--   <li><a>gtMetros</a></li>
--   <li><a>gtExcludeCountries</a></li>
--   <li><a>gtPostalCodes</a></li>
--   </ul>
geoTargeting :: GeoTargeting

-- | Regions to be targeted. For each region only dartId is required. The
--   other fields are populated automatically when the ad is inserted or
--   updated. If targeting a region, do not target or exclude the country
--   of the region.
gtRegions :: Lens' GeoTargeting [Region]

-- | Countries to be targeted or excluded from targeting, depending on the
--   setting of the excludeCountries field. For each country only dartId is
--   required. The other fields are populated automatically when the ad is
--   inserted or updated. If targeting or excluding a country, do not
--   target regions, cities, metros, or postal codes in the same country.
gtCountries :: Lens' GeoTargeting [Country]

-- | Cities to be targeted. For each city only dartId is required. The
--   other fields are populated automatically when the ad is inserted or
--   updated. If targeting a city, do not target or exclude the country of
--   the city, and do not target the metro or region of the city.
gtCities :: Lens' GeoTargeting [City]

-- | Metros to be targeted. For each metro only dmaId is required. The
--   other fields are populated automatically when the ad is inserted or
--   updated. If targeting a metro, do not target or exclude the country of
--   the metro.
gtMetros :: Lens' GeoTargeting [Metro]

-- | Whether or not to exclude the countries in the countries field from
--   targeting. If false, the countries field refers to countries which
--   will be targeted by the ad.
gtExcludeCountries :: Lens' GeoTargeting (Maybe Bool)

-- | Postal codes to be targeted. For each postal code only id is required.
--   The other fields are populated automatically when the ad is inserted
--   or updated. If targeting a postal code, do not target or exclude the
--   country of the postal code.
gtPostalCodes :: Lens' GeoTargeting [PostalCode]

-- | Field by which to sort the list.
data UserRolesListSortField

-- | <pre>
--   ID
--   </pre>
URLSFID :: UserRolesListSortField

-- | <pre>
--   NAME
--   </pre>
URLSFName :: UserRolesListSortField

-- | Video Settings
--   
--   <i>See:</i> <a>videoSettings</a> smart constructor.
data VideoSettings

-- | Creates a value of <a>VideoSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsKind</a></li>
--   <li><a>vsCompanionSettings</a></li>
--   <li><a>vsTranscodeSettings</a></li>
--   <li><a>vsSkippableSettings</a></li>
--   </ul>
videoSettings :: VideoSettings

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#videoSettings".
vsKind :: Lens' VideoSettings Text

-- | Settings for the companion creatives of video creatives served to this
--   placement.
vsCompanionSettings :: Lens' VideoSettings (Maybe CompanionSetting)

-- | Settings for the transcodes of video creatives served to this
--   placement. If this object is provided, the creative-level transcode
--   settings will be overridden.
vsTranscodeSettings :: Lens' VideoSettings (Maybe TranscodeSetting)

-- | Settings for the skippability of video creatives served to this
--   placement. If this object is provided, the creative-level skippable
--   settings will be overridden.
vsSkippableSettings :: Lens' VideoSettings (Maybe SkippableSetting)

-- | Represents fields that are compatible to be selected for a report of
--   type "REACH".
--   
--   <i>See:</i> <a>reachReportCompatibleFields</a> smart constructor.
data ReachReportCompatibleFields

-- | Creates a value of <a>ReachReportCompatibleFields</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrcfMetrics</a></li>
--   <li><a>rrcfReachByFrequencyMetrics</a></li>
--   <li><a>rrcfKind</a></li>
--   <li><a>rrcfDimensionFilters</a></li>
--   <li><a>rrcfPivotedActivityMetrics</a></li>
--   <li><a>rrcfDimensions</a></li>
--   </ul>
reachReportCompatibleFields :: ReachReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
rrcfMetrics :: Lens' ReachReportCompatibleFields [Metric]

-- | Metrics which are compatible to be selected in the
--   "reachByFrequencyMetricNames" section of the report.
rrcfReachByFrequencyMetrics :: Lens' ReachReportCompatibleFields [Metric]

-- | The kind of resource this is, in this case
--   dfareporting#reachReportCompatibleFields.
rrcfKind :: Lens' ReachReportCompatibleFields Text

-- | Dimensions which are compatible to be selected in the
--   "dimensionFilters" section of the report.
rrcfDimensionFilters :: Lens' ReachReportCompatibleFields [Dimension]

-- | Metrics which are compatible to be selected as activity metrics to
--   pivot on in the "activities" section of the report.
rrcfPivotedActivityMetrics :: Lens' ReachReportCompatibleFields [Metric]

-- | Dimensions which are compatible to be selected in the "dimensions"
--   section of the report.
rrcfDimensions :: Lens' ReachReportCompatibleFields [Dimension]

-- | Contains information about a browser that can be targeted by ads.
--   
--   <i>See:</i> <a>browser</a> smart constructor.
data Browser

-- | Creates a value of <a>Browser</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bMinorVersion</a></li>
--   <li><a>bKind</a></li>
--   <li><a>bBrowserVersionId</a></li>
--   <li><a>bMajorVersion</a></li>
--   <li><a>bName</a></li>
--   <li><a>bDartId</a></li>
--   </ul>
browser :: Browser

-- | Minor version number (number after first dot on left) of this browser.
--   For example, for Chrome 5.0.375.86 beta, this field should be set to
--   0. An asterisk (*) may be used to target any version number, and a
--   question mark (?) may be used to target cases where the version number
--   cannot be identified. For example, Chrome *.* targets any version of
--   Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5,
--   but not 4.0. Firefox ?.? targets cases where the ad server knows the
--   browser is Firefox but can't tell which version it is.
bMinorVersion :: Lens' Browser (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#browser".
bKind :: Lens' Browser Text

-- | ID referring to this grouping of browser and version numbers. This is
--   the ID used for targeting.
bBrowserVersionId :: Lens' Browser (Maybe Int64)

-- | Major version number (leftmost number) of this browser. For example,
--   for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk
--   (*) may be used to target any version number, and a question mark (?)
--   may be used to target cases where the version number cannot be
--   identified. For example, Chrome *.* targets any version of Chrome:
--   1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not
--   4.0. Firefox ?.? targets cases where the ad server knows the browser
--   is Firefox but can't tell which version it is.
bMajorVersion :: Lens' Browser (Maybe Text)

-- | Name of this browser.
bName :: Lens' Browser (Maybe Text)

-- | DART ID of this browser. This is the ID used when generating reports.
bDartId :: Lens' Browser (Maybe Int64)

-- | Tag format type for the floodlight activity. If left blank, the tag
--   format will default to HTML.
data FloodlightActivityTagFormat

-- | <pre>
--   HTML
--   </pre>
HTML :: FloodlightActivityTagFormat

-- | <pre>
--   XHTML
--   </pre>
Xhtml :: FloodlightActivityTagFormat

-- | Order of sorted results, default is ASCENDING.
data OrderDocumentsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
ODLSOAscending :: OrderDocumentsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ODLSODescending :: OrderDocumentsListSortOrder

-- | Creative Group Assignment.
--   
--   <i>See:</i> <a>creativeGroupAssignment</a> smart constructor.
data CreativeGroupAssignment

-- | Creates a value of <a>CreativeGroupAssignment</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cgaCreativeGroupNumber</a></li>
--   <li><a>cgaCreativeGroupId</a></li>
--   </ul>
creativeGroupAssignment :: CreativeGroupAssignment

-- | Creative group number of the creative group assignment.
cgaCreativeGroupNumber :: Lens' CreativeGroupAssignment (Maybe CreativeGroupAssignmentCreativeGroupNumber)

-- | ID of the creative group to be assigned.
cgaCreativeGroupId :: Lens' CreativeGroupAssignment (Maybe Int64)

-- | Role of the asset in relation to creative. Applicable to all but the
--   following creative types: all REDIRECT and TRACKING_TEXT. This is a
--   required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
--   HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
--   contain multiple primary assets), and all VPAID creatives.
--   BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
--   and all VPAID creatives. Applicable to DISPLAY when the primary asset
--   type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to
--   FLASH_INPAGE creatives. OTHER refers to assets from sources other than
--   DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and
--   all VPAID creatives. PARENT_VIDEO refers to videos uploaded by the
--   user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
--   creatives. TRANSCODED_VIDEO refers to videos transcoded by DCM from
--   PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
--   VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the DCM
--   representation of child asset videos from Studio, and is applicable to
--   VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
--   DCM. For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO
--   and ALTERNATE_VIDEO assets that are marked active serve as backup in
--   case the VPAID creative cannot be served. Only PARENT_VIDEO assets can
--   be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
--   creative.
data CreativeAssetRole

-- | <pre>
--   ADDITIONAL_FLASH
--   </pre>
AdditionalFlash :: CreativeAssetRole

-- | <pre>
--   ADDITIONAL_IMAGE
--   </pre>
AdditionalImage :: CreativeAssetRole

-- | <pre>
--   ALTERNATE_VIDEO
--   </pre>
AlternateVideo :: CreativeAssetRole

-- | <pre>
--   BACKUP_IMAGE
--   </pre>
BackupImage :: CreativeAssetRole

-- | <pre>
--   OTHER
--   </pre>
Other :: CreativeAssetRole

-- | <pre>
--   PARENT_VIDEO
--   </pre>
ParentVideo :: CreativeAssetRole

-- | <pre>
--   PRIMARY
--   </pre>
Primary :: CreativeAssetRole

-- | <pre>
--   TRANSCODED_VIDEO
--   </pre>
TranscodedVideo :: CreativeAssetRole

-- | Select only dynamic targeting keys with this object type.
data DynamicTargetingKeysListObjectType

-- | <pre>
--   OBJECT_AD
--   </pre>
ObjectAd :: DynamicTargetingKeysListObjectType

-- | <pre>
--   OBJECT_ADVERTISER
--   </pre>
ObjectAdvertiser :: DynamicTargetingKeysListObjectType

-- | <pre>
--   OBJECT_CREATIVE
--   </pre>
ObjectCreative :: DynamicTargetingKeysListObjectType

-- | <pre>
--   OBJECT_PLACEMENT
--   </pre>
ObjectPlacement :: DynamicTargetingKeysListObjectType

-- | The delivery type for the recipient.
data RecipientDeliveryType

-- | <pre>
--   ATTACHMENT
--   </pre>
Attachment :: RecipientDeliveryType

-- | <pre>
--   LINK
--   </pre>
Link :: RecipientDeliveryType

-- | Third-party URL type for in-stream video creatives.
data ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   CLICK_TRACKING
--   </pre>
ClickTracking :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   IMPRESSION
--   </pre>
Impression :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   RICH_MEDIA_BACKUP_IMPRESSION
--   </pre>
RichMediaBackupImpression :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   RICH_MEDIA_IMPRESSION
--   </pre>
RichMediaImpression :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   RICH_MEDIA_RM_IMPRESSION
--   </pre>
RichMediaRmImpression :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   SURVEY
--   </pre>
Survey :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_COMPLETE
--   </pre>
VideoComplete :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_CUSTOM
--   </pre>
VideoCustom :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_FIRST_QUARTILE
--   </pre>
VideoFirstQuartile :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_FULLSCREEN
--   </pre>
VideoFullscreen :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_MIDPOINT
--   </pre>
VideoMidpoint :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_MUTE
--   </pre>
VideoMute :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_PAUSE
--   </pre>
VideoPause :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_PROGRESS
--   </pre>
VideoProgress :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_REWIND
--   </pre>
VideoRewind :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_SKIP
--   </pre>
VideoSkip :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_START
--   </pre>
VideoStart :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_STOP
--   </pre>
VideoStop :: ThirdPartyTrackingURLThirdPartyURLType

-- | <pre>
--   VIDEO_THIRD_QUARTILE
--   </pre>
VideoThirdQuartile :: ThirdPartyTrackingURLThirdPartyURLType

-- | Directory Site Settings
--   
--   <i>See:</i> <a>directorySiteSettings</a> smart constructor.
data DirectorySiteSettings

-- | Creates a value of <a>DirectorySiteSettings</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dssInterstitialPlacementAccepted</a></li>
--   <li><a>dssDfpSettings</a></li>
--   <li><a>dssVerificationTagOptOut</a></li>
--   <li><a>dssActiveViewOptOut</a></li>
--   <li><a>dssVideoActiveViewOptOut</a></li>
--   <li><a>dssInstreamVideoPlacementAccepted</a></li>
--   <li><a>dssNielsenOCROptOut</a></li>
--   </ul>
directorySiteSettings :: DirectorySiteSettings

-- | Whether this site accepts interstitial ads.
dssInterstitialPlacementAccepted :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Directory site DFP settings.
dssDfpSettings :: Lens' DirectorySiteSettings (Maybe DfpSettings)

-- | Whether this directory site has disabled generation of Verification
--   ins tags.
dssVerificationTagOptOut :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Whether this directory site has disabled active view creatives.
dssActiveViewOptOut :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Whether this directory site has disabled active view for in-stream
--   video creatives.
dssVideoActiveViewOptOut :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Whether this site accepts in-stream video ads.
dssInstreamVideoPlacementAccepted :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Whether this directory site has disabled Nielsen OCR reach ratings.
dssNielsenOCROptOut :: Lens' DirectorySiteSettings (Maybe Bool)

-- | Order of sorted results, default is ASCENDING.
data TargetableRemarketingListsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
TRLLSOAscending :: TargetableRemarketingListsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
TRLLSODescending :: TargetableRemarketingListsListSortOrder

-- | Offset left unit for an asset. This is a read-only field. Applicable
--   to the following creative types: all RICH_MEDIA.
data CreativeAssetPositionLeftUnit

-- | <pre>
--   OFFSET_UNIT_PERCENT
--   </pre>
OffSetUnitPercent :: CreativeAssetPositionLeftUnit

-- | <pre>
--   OFFSET_UNIT_PIXEL
--   </pre>
OffSetUnitPixel :: CreativeAssetPositionLeftUnit

-- | <pre>
--   OFFSET_UNIT_PIXEL_FROM_CENTER
--   </pre>
OffSetUnitPixelFromCenter :: CreativeAssetPositionLeftUnit

-- | Placement cap cost option.
data PricingScheduleCapCostOption

-- | <pre>
--   CAP_COST_CUMULATIVE
--   </pre>
CapCostCumulative :: PricingScheduleCapCostOption

-- | <pre>
--   CAP_COST_MONTHLY
--   </pre>
CapCostMonthly :: PricingScheduleCapCostOption

-- | <pre>
--   CAP_COST_NONE
--   </pre>
CapCostNone :: PricingScheduleCapCostOption

-- | Remarketing List Population Rule.
--   
--   <i>See:</i> <a>listPopulationRule</a> smart constructor.
data ListPopulationRule

-- | Creates a value of <a>ListPopulationRule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lprFloodlightActivityName</a></li>
--   <li><a>lprFloodlightActivityId</a></li>
--   <li><a>lprListPopulationClauses</a></li>
--   </ul>
listPopulationRule :: ListPopulationRule

-- | Name of floodlight activity associated with this rule. This is a
--   read-only, auto-generated field.
lprFloodlightActivityName :: Lens' ListPopulationRule (Maybe Text)

-- | Floodlight activity ID associated with this rule. This field can be
--   left blank.
lprFloodlightActivityId :: Lens' ListPopulationRule (Maybe Int64)

-- | Clauses that make up this list population rule. Clauses are joined by
--   ANDs, and the clauses themselves are made up of list population terms
--   which are joined by ORs.
lprListPopulationClauses :: Lens' ListPopulationRule [ListPopulationClause]

-- | Levels of availability for a user role permission.
data UserRolePermissionAvailability

-- | <pre>
--   ACCOUNT_ALWAYS
--   </pre>
AccountAlways :: UserRolePermissionAvailability

-- | <pre>
--   ACCOUNT_BY_DEFAULT
--   </pre>
AccountByDefault :: UserRolePermissionAvailability

-- | <pre>
--   NOT_AVAILABLE_BY_DEFAULT
--   </pre>
NotAvailableByDefault :: UserRolePermissionAvailability

-- | <pre>
--   SUBACCOUNT_AND_ACCOUNT_ALWAYS
--   </pre>
SubAccountAndAccountAlways :: UserRolePermissionAvailability

-- | <pre>
--   SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT
--   </pre>
SubAccountAndAccountByDefault :: UserRolePermissionAvailability

-- | VPAID adapter setting for this placement. Controls which VPAID format
--   the measurement adapter will use for in-stream video creatives
--   assigned to this placement.
data PlacementVpaidAdapterChoice

-- | <pre>
--   BOTH
--   </pre>
Both :: PlacementVpaidAdapterChoice

-- | <pre>
--   DEFAULT
--   </pre>
Default :: PlacementVpaidAdapterChoice

-- | <pre>
--   FLASH
--   </pre>
Flash :: PlacementVpaidAdapterChoice

-- | <pre>
--   HTML5
--   </pre>
HTML5 :: PlacementVpaidAdapterChoice

-- | Visibility of this directory site contact assignment. When set to
--   PUBLIC this contact assignment is visible to all account and agency
--   users; when set to PRIVATE it is visible only to the site.
data DirectorySiteContactAssignmentVisibility

-- | <pre>
--   PRIVATE
--   </pre>
Private :: DirectorySiteContactAssignmentVisibility

-- | <pre>
--   PUBLIC
--   </pre>
Public :: DirectorySiteContactAssignmentVisibility

-- | Size List Response
--   
--   <i>See:</i> <a>sizesListResponse</a> smart constructor.
data SizesListResponse

-- | Creates a value of <a>SizesListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slrKind</a></li>
--   <li><a>slrSizes</a></li>
--   </ul>
sizesListResponse :: SizesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#sizesListResponse".
slrKind :: Lens' SizesListResponse Text

-- | Size collection.
slrSizes :: Lens' SizesListResponse [Size]

-- | Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   rendering on desktop, on mobile devices or in mobile apps for regular
--   or interstitial ads respectively. APP and APP_INTERSTITIAL are no
--   longer allowed for new placement insertions. Instead, use DISPLAY or
--   DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream
--   video ads developed with the VAST standard. This field is required on
--   insertion.
data PlacementCompatibility

-- | <pre>
--   APP
--   </pre>
App :: PlacementCompatibility

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
AppInterstitial :: PlacementCompatibility

-- | <pre>
--   DISPLAY
--   </pre>
Display :: PlacementCompatibility

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
DisplayInterstitial :: PlacementCompatibility

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
InStreamVideo :: PlacementCompatibility

-- | Creative Rotation.
--   
--   <i>See:</i> <a>creativeRotation</a> smart constructor.
data CreativeRotation

-- | Creates a value of <a>CreativeRotation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crWeightCalculationStrategy</a></li>
--   <li><a>crCreativeAssignments</a></li>
--   <li><a>crCreativeOptimizationConfigurationId</a></li>
--   <li><a>crType</a></li>
--   </ul>
creativeRotation :: CreativeRotation

-- | Strategy for calculating weights. Used with
--   CREATIVE_ROTATION_TYPE_RANDOM.
crWeightCalculationStrategy :: Lens' CreativeRotation (Maybe CreativeRotationWeightCalculationStrategy)

-- | Creative assignments in this creative rotation.
crCreativeAssignments :: Lens' CreativeRotation [CreativeAssignment]

-- | Creative optimization configuration that is used by this ad. It should
--   refer to one of the existing optimization configurations in the ad's
--   campaign. If it is unset or set to 0, then the campaign's default
--   optimization configuration will be used for this ad.
crCreativeOptimizationConfigurationId :: Lens' CreativeRotation (Maybe Int64)

-- | Type of creative rotation. Can be used to specify whether to use
--   sequential or random rotation.
crType :: Lens' CreativeRotation (Maybe CreativeRotationType)

-- | Technology Targeting.
--   
--   <i>See:</i> <a>technologyTargeting</a> smart constructor.
data TechnologyTargeting

-- | Creates a value of <a>TechnologyTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttMobileCarriers</a></li>
--   <li><a>ttOperatingSystemVersions</a></li>
--   <li><a>ttPlatformTypes</a></li>
--   <li><a>ttBrowsers</a></li>
--   <li><a>ttConnectionTypes</a></li>
--   <li><a>ttOperatingSystems</a></li>
--   </ul>
technologyTargeting :: TechnologyTargeting

-- | Mobile carriers that this ad targets. For each mobile carrier only id
--   is required, and the other fields are populated automatically when the
--   ad is inserted or updated. If targeting a mobile carrier, do not set
--   targeting for any zip codes.
ttMobileCarriers :: Lens' TechnologyTargeting [MobileCarrier]

-- | Operating system versions that this ad targets. To target all
--   versions, use operatingSystems. For each operating system version,
--   only id is required. The other fields are populated automatically when
--   the ad is inserted or updated. If targeting an operating system
--   version, do not set targeting for the corresponding operating system
--   in operatingSystems.
ttOperatingSystemVersions :: Lens' TechnologyTargeting [OperatingSystemVersion]

-- | Platform types that this ad targets. For example, desktop, mobile, or
--   tablet. For each platform type, only id is required, and the other
--   fields are populated automatically when the ad is inserted or updated.
ttPlatformTypes :: Lens' TechnologyTargeting [PlatformType]

-- | Browsers that this ad targets. For each browser either set
--   browserVersionId or dartId along with the version numbers. If both are
--   specified, only browserVersionId will be used. The other fields are
--   populated automatically when the ad is inserted or updated.
ttBrowsers :: Lens' TechnologyTargeting [Browser]

-- | Connection types that this ad targets. For each connection type only
--   id is required. The other fields are populated automatically when the
--   ad is inserted or updated.
ttConnectionTypes :: Lens' TechnologyTargeting [ConnectionType]

-- | Operating systems that this ad targets. To target specific versions,
--   use operatingSystemVersions. For each operating system only dartId is
--   required. The other fields are populated automatically when the ad is
--   inserted or updated. If targeting an operating system, do not set
--   targeting for operating system versions for the same operating system.
ttOperatingSystems :: Lens' TechnologyTargeting [OperatingSystem]

-- | Comparison operator of this term. This field is only relevant when
--   type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
data ListPopulationTermOperator

-- | <pre>
--   NUM_EQUALS
--   </pre>
NumEquals :: ListPopulationTermOperator

-- | <pre>
--   NUM_GREATER_THAN
--   </pre>
NumGreaterThan :: ListPopulationTermOperator

-- | <pre>
--   NUM_GREATER_THAN_EQUAL
--   </pre>
NumGreaterThanEqual :: ListPopulationTermOperator

-- | <pre>
--   NUM_LESS_THAN
--   </pre>
NumLessThan :: ListPopulationTermOperator

-- | <pre>
--   NUM_LESS_THAN_EQUAL
--   </pre>
NumLessThanEqual :: ListPopulationTermOperator

-- | <pre>
--   STRING_CONTAINS
--   </pre>
StringContains :: ListPopulationTermOperator

-- | <pre>
--   STRING_EQUALS
--   </pre>
StringEquals :: ListPopulationTermOperator

-- | Select only placements with this payment source.
data PlacementsListPaymentSource

-- | <pre>
--   PLACEMENT_AGENCY_PAID
--   </pre>
PlacementAgencyPaid :: PlacementsListPaymentSource

-- | <pre>
--   PLACEMENT_PUBLISHER_PAID
--   </pre>
PlacementPublisherPaid :: PlacementsListPaymentSource

-- | Represents a buy from the DoubleClick Planning inventory store.
--   
--   <i>See:</i> <a>inventoryItem</a> smart constructor.
data InventoryItem

-- | Creates a value of <a>InventoryItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiPlacementStrategyId</a></li>
--   <li><a>iiEstimatedClickThroughRate</a></li>
--   <li><a>iiPricing</a></li>
--   <li><a>iiKind</a></li>
--   <li><a>iiAdvertiserId</a></li>
--   <li><a>iiRfpId</a></li>
--   <li><a>iiContentCategoryId</a></li>
--   <li><a>iiInPlan</a></li>
--   <li><a>iiAccountId</a></li>
--   <li><a>iiName</a></li>
--   <li><a>iiAdSlots</a></li>
--   <li><a>iiNegotiationChannelId</a></li>
--   <li><a>iiLastModifiedInfo</a></li>
--   <li><a>iiId</a></li>
--   <li><a>iiEstimatedConversionRate</a></li>
--   <li><a>iiProjectId</a></li>
--   <li><a>iiSubAccountId</a></li>
--   <li><a>iiType</a></li>
--   <li><a>iiOrderId</a></li>
--   <li><a>iiSiteId</a></li>
--   </ul>
inventoryItem :: InventoryItem

-- | Placement strategy ID of this inventory item.
iiPlacementStrategyId :: Lens' InventoryItem (Maybe Int64)

-- | Estimated click-through rate of this inventory item.
iiEstimatedClickThroughRate :: Lens' InventoryItem (Maybe Int64)

-- | Pricing of this inventory item.
iiPricing :: Lens' InventoryItem (Maybe Pricing)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#inventoryItem".
iiKind :: Lens' InventoryItem Text

-- | Advertiser ID of this inventory item.
iiAdvertiserId :: Lens' InventoryItem (Maybe Int64)

-- | RFP ID of this inventory item.
iiRfpId :: Lens' InventoryItem (Maybe Int64)

-- | Content category ID of this inventory item.
iiContentCategoryId :: Lens' InventoryItem (Maybe Int64)

-- | Whether this inventory item is in plan.
iiInPlan :: Lens' InventoryItem (Maybe Bool)

-- | Account ID of this inventory item.
iiAccountId :: Lens' InventoryItem (Maybe Int64)

-- | Name of this inventory item. For standalone inventory items, this is
--   the same name as that of its only ad slot. For group inventory items,
--   this can differ from the name of any of its ad slots.
iiName :: Lens' InventoryItem (Maybe Text)

-- | Ad slots of this inventory item. If this inventory item represents a
--   standalone placement, there will be exactly one ad slot. If this
--   inventory item represents a placement group, there will be more than
--   one ad slot, each representing one child placement in that placement
--   group.
iiAdSlots :: Lens' InventoryItem [AdSlot]

-- | Negotiation channel ID of this inventory item.
iiNegotiationChannelId :: Lens' InventoryItem (Maybe Int64)

-- | Information about the most recent modification of this inventory item.
iiLastModifiedInfo :: Lens' InventoryItem (Maybe LastModifiedInfo)

-- | ID of this inventory item.
iiId :: Lens' InventoryItem (Maybe Int64)

-- | Estimated conversion rate of this inventory item.
iiEstimatedConversionRate :: Lens' InventoryItem (Maybe Int64)

-- | Project ID of this inventory item.
iiProjectId :: Lens' InventoryItem (Maybe Int64)

-- | Subaccount ID of this inventory item.
iiSubAccountId :: Lens' InventoryItem (Maybe Int64)

-- | Type of inventory item.
iiType :: Lens' InventoryItem (Maybe InventoryItemType)

-- | Order ID of this inventory item.
iiOrderId :: Lens' InventoryItem (Maybe Int64)

-- | ID of the site this inventory item is associated with.
iiSiteId :: Lens' InventoryItem (Maybe Int64)

-- | Project List Response
--   
--   <i>See:</i> <a>projectsListResponse</a> smart constructor.
data ProjectsListResponse

-- | Creates a value of <a>ProjectsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plrNextPageToken</a></li>
--   <li><a>plrKind</a></li>
--   <li><a>plrProjects</a></li>
--   </ul>
projectsListResponse :: ProjectsListResponse

-- | Pagination token to be used for the next list operation.
plrNextPageToken :: Lens' ProjectsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#projectsListResponse".
plrKind :: Lens' ProjectsListResponse Text

-- | Project collection.
plrProjects :: Lens' ProjectsListResponse [Project]

-- | Ad List Response
--   
--   <i>See:</i> <a>adsListResponse</a> smart constructor.
data AdsListResponse

-- | Creates a value of <a>AdsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alrNextPageToken</a></li>
--   <li><a>alrKind</a></li>
--   <li><a>alrAds</a></li>
--   </ul>
adsListResponse :: AdsListResponse

-- | Pagination token to be used for the next list operation.
alrNextPageToken :: Lens' AdsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#adsListResponse".
alrKind :: Lens' AdsListResponse Text

-- | Ad collection.
alrAds :: Lens' AdsListResponse [Ad]

-- | The field by which to sort the list.
data ReportsListSortField

-- | <tt>ID</tt> Sort by report ID.
RLSFID :: ReportsListSortField

-- | <tt>LAST_MODIFIED_TIME</tt> Sort by 'lastModifiedTime' field.
RLSFLastModifiedTime :: ReportsListSortField

-- | <tt>NAME</tt> Sort by name of reports.
RLSFName :: ReportsListSortField

-- | Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   rendering either on desktop, mobile devices or in mobile apps for
--   regular or interstitial ads respectively. APP and APP_INTERSTITIAL are
--   for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in
--   in-stream video ads developed with the VAST standard.
data AdSlotCompatibility

-- | <pre>
--   APP
--   </pre>
ASCApp :: AdSlotCompatibility

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
ASCAppInterstitial :: AdSlotCompatibility

-- | <pre>
--   DISPLAY
--   </pre>
ASCDisplay :: AdSlotCompatibility

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
ASCDisplayInterstitial :: AdSlotCompatibility

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
ASCInStreamVideo :: AdSlotCompatibility

-- | Remarketing List Population Rule Term.
--   
--   <i>See:</i> <a>listPopulationTerm</a> smart constructor.
data ListPopulationTerm

-- | Creates a value of <a>ListPopulationTerm</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lptOperator</a></li>
--   <li><a>lptValue</a></li>
--   <li><a>lptVariableFriendlyName</a></li>
--   <li><a>lptNegation</a></li>
--   <li><a>lptVariableName</a></li>
--   <li><a>lptRemarketingListId</a></li>
--   <li><a>lptType</a></li>
--   <li><a>lptContains</a></li>
--   </ul>
listPopulationTerm :: ListPopulationTerm

-- | Comparison operator of this term. This field is only relevant when
--   type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
lptOperator :: Lens' ListPopulationTerm (Maybe ListPopulationTermOperator)

-- | Literal to compare the variable to. This field is only relevant when
--   type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
lptValue :: Lens' ListPopulationTerm (Maybe Text)

-- | Friendly name of this term's variable. This is a read-only,
--   auto-generated field. This field is only relevant when type is left
--   unset or set to CUSTOM_VARIABLE_TERM.
lptVariableFriendlyName :: Lens' ListPopulationTerm (Maybe Text)

-- | Whether to negate the comparison result of this term during rule
--   evaluation. This field is only relevant when type is left unset or set
--   to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
lptNegation :: Lens' ListPopulationTerm (Maybe Bool)

-- | Name of the variable (U1, U2, etc.) being compared in this term. This
--   field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM
--   or REFERRER_TERM.
lptVariableName :: Lens' ListPopulationTerm (Maybe Text)

-- | ID of the list in question. This field is only relevant when type is
--   set to LIST_MEMBERSHIP_TERM.
lptRemarketingListId :: Lens' ListPopulationTerm (Maybe Int64)

-- | List population term type determines the applicable fields in this
--   object. If left unset or set to CUSTOM_VARIABLE_TERM, then
--   variableName, variableFriendlyName, operator, value, and negation are
--   applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
--   contains are applicable. If set to REFERRER_TERM then operator, value,
--   and negation are applicable.
lptType :: Lens' ListPopulationTerm (Maybe ListPopulationTermType)

-- | Will be true if the term should check if the user is in the list and
--   false if the term should check if the user is not in the list. This
--   field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False
--   by default.
lptContains :: Lens' ListPopulationTerm (Maybe Bool)

-- | Dynamic and Image Tag Settings.
--   
--   <i>See:</i> <a>tagSettings</a> smart constructor.
data TagSettings

-- | Creates a value of <a>TagSettings</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsDynamicTagEnabled</a></li>
--   <li><a>tsImageTagEnabled</a></li>
--   </ul>
tagSettings :: TagSettings

-- | Whether dynamic floodlight tags are enabled.
tsDynamicTagEnabled :: Lens' TagSettings (Maybe Bool)

-- | Whether image tags are enabled.
tsImageTagEnabled :: Lens' TagSettings (Maybe Bool)

-- | Subaccount List Response
--   
--   <i>See:</i> <a>subAccountsListResponse</a> smart constructor.
data SubAccountsListResponse

-- | Creates a value of <a>SubAccountsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>salrNextPageToken</a></li>
--   <li><a>salrKind</a></li>
--   <li><a>salrSubAccounts</a></li>
--   </ul>
subAccountsListResponse :: SubAccountsListResponse

-- | Pagination token to be used for the next list operation.
salrNextPageToken :: Lens' SubAccountsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#subaccountsListResponse".
salrKind :: Lens' SubAccountsListResponse Text

-- | Subaccount collection.
salrSubAccounts :: Lens' SubAccountsListResponse [SubAccount]

-- | Field by which to sort the list.
data CampaignsListSortField

-- | <pre>
--   ID
--   </pre>
CLSFID :: CampaignsListSortField

-- | <pre>
--   NAME
--   </pre>
CLSFName :: CampaignsListSortField

-- | Contains properties of a Site Directory contact.
--   
--   <i>See:</i> <a>directorySiteContact</a> smart constructor.
data DirectorySiteContact

-- | Creates a value of <a>DirectorySiteContact</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dscEmail</a></li>
--   <li><a>dscPhone</a></li>
--   <li><a>dscLastName</a></li>
--   <li><a>dscKind</a></li>
--   <li><a>dscAddress</a></li>
--   <li><a>dscRole</a></li>
--   <li><a>dscFirstName</a></li>
--   <li><a>dscId</a></li>
--   <li><a>dscTitle</a></li>
--   <li><a>dscType</a></li>
--   </ul>
directorySiteContact :: DirectorySiteContact

-- | Email address of this directory site contact.
dscEmail :: Lens' DirectorySiteContact (Maybe Text)

-- | Phone number of this directory site contact.
dscPhone :: Lens' DirectorySiteContact (Maybe Text)

-- | Last name of this directory site contact.
dscLastName :: Lens' DirectorySiteContact (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#directorySiteContact".
dscKind :: Lens' DirectorySiteContact Text

-- | Address of this directory site contact.
dscAddress :: Lens' DirectorySiteContact (Maybe Text)

-- | Directory site contact role.
dscRole :: Lens' DirectorySiteContact (Maybe DirectorySiteContactRole)

-- | First name of this directory site contact.
dscFirstName :: Lens' DirectorySiteContact (Maybe Text)

-- | ID of this directory site contact. This is a read-only, auto-generated
--   field.
dscId :: Lens' DirectorySiteContact (Maybe Int64)

-- | Title or designation of this directory site contact.
dscTitle :: Lens' DirectorySiteContact (Maybe Text)

-- | Directory site contact type.
dscType :: Lens' DirectorySiteContact (Maybe DirectorySiteContactType)

-- | Region List Response
--   
--   <i>See:</i> <a>regionsListResponse</a> smart constructor.
data RegionsListResponse

-- | Creates a value of <a>RegionsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlrKind</a></li>
--   <li><a>rlrRegions</a></li>
--   </ul>
regionsListResponse :: RegionsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#regionsListResponse".
rlrKind :: Lens' RegionsListResponse Text

-- | Region collection.
rlrRegions :: Lens' RegionsListResponse [Region]

-- | Dynamic Tag
--   
--   <i>See:</i> <a>floodlightActivityDynamicTag</a> smart constructor.
data FloodlightActivityDynamicTag

-- | Creates a value of <a>FloodlightActivityDynamicTag</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fadtTag</a></li>
--   <li><a>fadtName</a></li>
--   <li><a>fadtId</a></li>
--   </ul>
floodlightActivityDynamicTag :: FloodlightActivityDynamicTag

-- | Tag code.
fadtTag :: Lens' FloodlightActivityDynamicTag (Maybe Text)

-- | Name of this tag.
fadtName :: Lens' FloodlightActivityDynamicTag (Maybe Text)

-- | ID of this dynamic tag. This is a read-only, auto-generated field.
fadtId :: Lens' FloodlightActivityDynamicTag (Maybe Int64)

-- | Contains information about supported video formats.
--   
--   <i>See:</i> <a>videoFormat</a> smart constructor.
data VideoFormat

-- | Creates a value of <a>VideoFormat</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vfKind</a></li>
--   <li><a>vfFileType</a></li>
--   <li><a>vfResolution</a></li>
--   <li><a>vfTargetBitRate</a></li>
--   <li><a>vfId</a></li>
--   </ul>
videoFormat :: VideoFormat

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#videoFormat".
vfKind :: Lens' VideoFormat Text

-- | File type of the video format.
vfFileType :: Lens' VideoFormat (Maybe VideoFormatFileType)

-- | The resolution of this video format.
vfResolution :: Lens' VideoFormat (Maybe Size)

-- | The target bit rate of this video format.
vfTargetBitRate :: Lens' VideoFormat (Maybe Int32)

-- | ID of the video format.
vfId :: Lens' VideoFormat (Maybe Int32)

-- | Trafficker type of this user profile.
data AccountUserProFileTraffickerType

-- | <pre>
--   EXTERNAL_TRAFFICKER
--   </pre>
ExternalTrafficker :: AccountUserProFileTraffickerType

-- | <pre>
--   INTERNAL_NON_TRAFFICKER
--   </pre>
InternalNonTrafficker :: AccountUserProFileTraffickerType

-- | <pre>
--   INTERNAL_TRAFFICKER
--   </pre>
InternalTrafficker :: AccountUserProFileTraffickerType

-- | DirectorySites contains properties of a website from the Site
--   Directory. Sites need to be added to an account via the Sites resource
--   before they can be assigned to a placement.
--   
--   <i>See:</i> <a>directorySite</a> smart constructor.
data DirectorySite

-- | Creates a value of <a>DirectorySite</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsCurrencyId</a></li>
--   <li><a>dsSettings</a></li>
--   <li><a>dsInterstitialTagFormats</a></li>
--   <li><a>dsKind</a></li>
--   <li><a>dsURL</a></li>
--   <li><a>dsIdDimensionValue</a></li>
--   <li><a>dsInpageTagFormats</a></li>
--   <li><a>dsActive</a></li>
--   <li><a>dsName</a></li>
--   <li><a>dsId</a></li>
--   <li><a>dsCountryId</a></li>
--   <li><a>dsContactAssignments</a></li>
--   <li><a>dsDescription</a></li>
--   <li><a>dsParentId</a></li>
--   </ul>
directorySite :: DirectorySite

-- | Currency ID of this directory site. Possible values are: - "1" for USD
--   - "2" for GBP - "3" for ESP - "4" for SEK - "5" for CAD - "6" for JPY
--   - "7" for DEM - "8" for AUD - "9" for FRF - "10" for ITL - "11" for
--   DKK - "12" for NOK - "13" for FIM - "14" for ZAR - "15" for IEP - "16"
--   for NLG - "17" for EUR - "18" for KRW - "19" for TWD - "20" for SGD -
--   "21" for CNY - "22" for HKD - "23" for NZD - "24" for MYR - "25" for
--   BRL - "26" for PTE - "27" for MXP - "28" for CLP - "29" for TRY - "30"
--   for ARS - "31" for PEN - "32" for ILS - "33" for CHF - "34" for VEF -
--   "35" for COP - "36" for GTQ - "37" for PLN - "39" for INR - "40" for
--   THB - "41" for IDR - "42" for CZK - "43" for RON - "44" for HUF - "45"
--   for RUB - "46" for AED - "47" for BGN - "48" for HRK
dsCurrencyId :: Lens' DirectorySite (Maybe Int64)

-- | Directory site settings.
dsSettings :: Lens' DirectorySite (Maybe DirectorySiteSettings)

-- | Tag types for interstitial placements. Acceptable values are: -
--   "IFRAME_JAVASCRIPT_INTERSTITIAL" - "INTERNAL_REDIRECT_INTERSTITIAL" -
--   "JAVASCRIPT_INTERSTITIAL"
dsInterstitialTagFormats :: Lens' DirectorySite [DirectorySiteInterstitialTagFormatsItem]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#directorySite".
dsKind :: Lens' DirectorySite Text

-- | URL of this directory site.
dsURL :: Lens' DirectorySite (Maybe Text)

-- | Dimension value for the ID of this directory site. This is a
--   read-only, auto-generated field.
dsIdDimensionValue :: Lens' DirectorySite (Maybe DimensionValue)

-- | Tag types for regular placements. Acceptable values are: - "STANDARD"
--   - "IFRAME_JAVASCRIPT_INPAGE" - "INTERNAL_REDIRECT_INPAGE" -
--   "JAVASCRIPT_INPAGE"
dsInpageTagFormats :: Lens' DirectorySite [DirectorySiteInpageTagFormatsItem]

-- | Whether this directory site is active.
dsActive :: Lens' DirectorySite (Maybe Bool)

-- | Name of this directory site.
dsName :: Lens' DirectorySite (Maybe Text)

-- | ID of this directory site. This is a read-only, auto-generated field.
dsId :: Lens' DirectorySite (Maybe Int64)

-- | Country ID of this directory site.
dsCountryId :: Lens' DirectorySite (Maybe Int64)

-- | Directory site contacts.
dsContactAssignments :: Lens' DirectorySite [DirectorySiteContactAssignment]

-- | Description of this directory site.
dsDescription :: Lens' DirectorySite (Maybe Text)

-- | Parent directory site ID.
dsParentId :: Lens' DirectorySite (Maybe Int64)
data CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   APPLICATION_CACHE
--   </pre>
ApplicationCache :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   AUDIO
--   </pre>
Audio :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CANVAS
--   </pre>
Canvas :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CANVAS_TEXT
--   </pre>
CanvasText :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_ANIMATIONS
--   </pre>
CssAnimations :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_BACKGROUND_SIZE
--   </pre>
CssBackgRoundSize :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_BORDER_IMAGE
--   </pre>
CssBOrderImage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_BORDER_RADIUS
--   </pre>
CssBOrderRadius :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_BOX_SHADOW
--   </pre>
CssBoxShadow :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_COLUMNS
--   </pre>
CssColumns :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_FLEX_BOX
--   </pre>
CssFlexBox :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_FONT_FACE
--   </pre>
CssFontFace :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_GENERATED_CONTENT
--   </pre>
CssGeneratedContent :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_GRADIENTS
--   </pre>
CssGradients :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_HSLA
--   </pre>
CssHsla :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_MULTIPLE_BGS
--   </pre>
CssMultipleBgs :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_OPACITY
--   </pre>
CssOpacity :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_REFLECTIONS
--   </pre>
CssReflections :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_RGBA
--   </pre>
CssRgba :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_TEXT_SHADOW
--   </pre>
CssTextShadow :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS
--   </pre>
CssTransforms :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS3D
--   </pre>
CssTRANSFORMS3D :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSITIONS
--   </pre>
CssTransitions :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   DRAG_AND_DROP
--   </pre>
DragAndDrop :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   GEO_LOCATION
--   </pre>
GeoLocation :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   HASH_CHANGE
--   </pre>
HashChange :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   HISTORY
--   </pre>
History :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INDEXED_DB
--   </pre>
IndexedDB :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INLINE_SVG
--   </pre>
InlineSvg :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOCOMPLETE
--   </pre>
InputAttrAutocomplete :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOFOCUS
--   </pre>
InputAttrAutofocus :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_LIST
--   </pre>
InputAttrList :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MAX
--   </pre>
InputAttrMax :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MIN
--   </pre>
InputAttrMin :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MULTIPLE
--   </pre>
InputAttrMultiple :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_PATTERN
--   </pre>
InputAttrPattern :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_PLACEHOLDER
--   </pre>
InputAttrPlaceholder :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_REQUIRED
--   </pre>
InputAttrRequired :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_STEP
--   </pre>
InputAttrStep :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_COLOR
--   </pre>
InputTypeColor :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATE
--   </pre>
InputTypeDate :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME
--   </pre>
InputTypeDatetime :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME_LOCAL
--   </pre>
InputTypeDatetimeLocal :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_EMAIL
--   </pre>
InputTypeEmail :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_MONTH
--   </pre>
InputTypeMonth :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_NUMBER
--   </pre>
InputTypeNumber :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_RANGE
--   </pre>
InputTypeRange :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_SEARCH
--   </pre>
InputTypeSearch :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_TEL
--   </pre>
InputTypeTel :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_TIME
--   </pre>
InputTypeTime :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_URL
--   </pre>
InputTypeURL :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_WEEK
--   </pre>
InputTypeWeek :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   LOCAL_STORAGE
--   </pre>
LocalStorage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   POST_MESSAGE
--   </pre>
PostMessage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SESSION_STORAGE
--   </pre>
SessionStorage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SMIL
--   </pre>
Smil :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SVG_CLIP_PATHS
--   </pre>
SvgClipPaths :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SVG_FE_IMAGE
--   </pre>
SvgFeImage :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SVG_FILTERS
--   </pre>
SvgFilters :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   SVG_HREF
--   </pre>
SvgHref :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   TOUCH
--   </pre>
Touch :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   VIDEO
--   </pre>
Video :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   WEBGL
--   </pre>
Webgl :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   WEB_SOCKETS
--   </pre>
WebSockets :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   WEB_SQL_DATABASE
--   </pre>
WebSQLDatabase :: CreativeAssetMetadataDetectedFeaturesItem

-- | <pre>
--   WEB_WORKERS
--   </pre>
WebWorkers :: CreativeAssetMetadataDetectedFeaturesItem

-- | The properties of the report.
--   
--   <i>See:</i> <a>reportFloodlightCriteriaReportProperties</a> smart
--   constructor.
data ReportFloodlightCriteriaReportProperties

-- | Creates a value of <a>ReportFloodlightCriteriaReportProperties</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rfcrpIncludeUnattributedIPConversions</a></li>
--   <li><a>rfcrpIncludeUnattributedCookieConversions</a></li>
--   <li><a>rfcrpIncludeAttributedIPConversions</a></li>
--   </ul>
reportFloodlightCriteriaReportProperties :: ReportFloodlightCriteriaReportProperties

-- | Include conversions that have no associated cookies and no exposures.
--   It’s therefore impossible to know how the user was exposed to your ads
--   during the lookback window prior to a conversion.
rfcrpIncludeUnattributedIPConversions :: Lens' ReportFloodlightCriteriaReportProperties (Maybe Bool)

-- | Include conversions of users with a DoubleClick cookie but without an
--   exposure. That means the user did not click or see an ad from the
--   advertiser within the Floodlight group, or that the interaction
--   happened outside the lookback window.
rfcrpIncludeUnattributedCookieConversions :: Lens' ReportFloodlightCriteriaReportProperties (Maybe Bool)

-- | Include conversions that have no cookie, but do have an exposure path.
rfcrpIncludeAttributedIPConversions :: Lens' ReportFloodlightCriteriaReportProperties (Maybe Bool)

-- | Contains properties of a Floodlight activity group.
--   
--   <i>See:</i> <a>floodlightActivityGroup</a> smart constructor.
data FloodlightActivityGroup

-- | Creates a value of <a>FloodlightActivityGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fagTagString</a></li>
--   <li><a>fagFloodlightConfigurationId</a></li>
--   <li><a>fagKind</a></li>
--   <li><a>fagAdvertiserId</a></li>
--   <li><a>fagAdvertiserIdDimensionValue</a></li>
--   <li><a>fagIdDimensionValue</a></li>
--   <li><a>fagAccountId</a></li>
--   <li><a>fagName</a></li>
--   <li><a>fagId</a></li>
--   <li><a>fagSubAccountId</a></li>
--   <li><a>fagType</a></li>
--   <li><a>fagFloodlightConfigurationIdDimensionValue</a></li>
--   </ul>
floodlightActivityGroup :: FloodlightActivityGroup

-- | Value of the type= parameter in the floodlight tag, which the ad
--   servers use to identify the activity group that the activity belongs
--   to. This is optional: if empty, a new tag string will be generated for
--   you. This string must be 1 to 8 characters long, with valid characters
--   being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique
--   among activity groups of the same floodlight configuration. This field
--   is read-only after insertion.
fagTagString :: Lens' FloodlightActivityGroup (Maybe Text)

-- | Floodlight configuration ID of this floodlight activity group. This is
--   a required field.
fagFloodlightConfigurationId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivityGroup".
fagKind :: Lens' FloodlightActivityGroup Text

-- | Advertiser ID of this floodlight activity group. If this field is left
--   blank, the value will be copied over either from the floodlight
--   configuration's advertiser or from the existing activity group's
--   advertiser.
fagAdvertiserId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
fagAdvertiserIdDimensionValue :: Lens' FloodlightActivityGroup (Maybe DimensionValue)

-- | Dimension value for the ID of this floodlight activity group. This is
--   a read-only, auto-generated field.
fagIdDimensionValue :: Lens' FloodlightActivityGroup (Maybe DimensionValue)

-- | Account ID of this floodlight activity group. This is a read-only
--   field that can be left blank.
fagAccountId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Name of this floodlight activity group. This is a required field. Must
--   be less than 65 characters long and cannot contain quotes.
fagName :: Lens' FloodlightActivityGroup (Maybe Text)

-- | ID of this floodlight activity group. This is a read-only,
--   auto-generated field.
fagId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Subaccount ID of this floodlight activity group. This is a read-only
--   field that can be left blank.
fagSubAccountId :: Lens' FloodlightActivityGroup (Maybe Int64)

-- | Type of the floodlight activity group. This is a required field that
--   is read-only after insertion.
fagType :: Lens' FloodlightActivityGroup (Maybe FloodlightActivityGroupType)

-- | Dimension value for the ID of the floodlight configuration. This is a
--   read-only, auto-generated field.
fagFloodlightConfigurationIdDimensionValue :: Lens' FloodlightActivityGroup (Maybe DimensionValue)

-- | Select default ads with the specified compatibility. Applicable when
--   type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer
--   to rendering either on desktop or on mobile devices for regular or
--   interstitial ads, respectively. APP and APP_INTERSTITIAL are for
--   rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
--   in-stream video ads developed with the VAST standard.
data AdsListCompatibility

-- | <pre>
--   APP
--   </pre>
ALCApp :: AdsListCompatibility

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
ALCAppInterstitial :: AdsListCompatibility

-- | <pre>
--   DISPLAY
--   </pre>
ALCDisplay :: AdsListCompatibility

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
ALCDisplayInterstitial :: AdsListCompatibility

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
ALCInStreamVideo :: AdsListCompatibility

-- | Represents fields that are compatible to be selected for a report of
--   type "CROSS_DIMENSION_REACH".
--   
--   <i>See:</i> <a>crossDimensionReachReportCompatibleFields</a> smart
--   constructor.
data CrossDimensionReachReportCompatibleFields

-- | Creates a value of <a>CrossDimensionReachReportCompatibleFields</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdrrcfMetrics</a></li>
--   <li><a>cdrrcfBreakdown</a></li>
--   <li><a>cdrrcfKind</a></li>
--   <li><a>cdrrcfDimensionFilters</a></li>
--   <li><a>cdrrcfOverlapMetrics</a></li>
--   </ul>
crossDimensionReachReportCompatibleFields :: CrossDimensionReachReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
cdrrcfMetrics :: Lens' CrossDimensionReachReportCompatibleFields [Metric]

-- | Dimensions which are compatible to be selected in the "breakdown"
--   section of the report.
cdrrcfBreakdown :: Lens' CrossDimensionReachReportCompatibleFields [Dimension]

-- | The kind of resource this is, in this case
--   dfareporting#crossDimensionReachReportCompatibleFields.
cdrrcfKind :: Lens' CrossDimensionReachReportCompatibleFields Text

-- | Dimensions which are compatible to be selected in the
--   "dimensionFilters" section of the report.
cdrrcfDimensionFilters :: Lens' CrossDimensionReachReportCompatibleFields [Dimension]

-- | Metrics which are compatible to be selected in the
--   "overlapMetricNames" section of the report.
cdrrcfOverlapMetrics :: Lens' CrossDimensionReachReportCompatibleFields [Metric]

-- | FsCommand.
--   
--   <i>See:</i> <a>fsCommand</a> smart constructor.
data FsCommand

-- | Creates a value of <a>FsCommand</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcPositionOption</a></li>
--   <li><a>fcLeft</a></li>
--   <li><a>fcWindowHeight</a></li>
--   <li><a>fcWindowWidth</a></li>
--   <li><a>fcTop</a></li>
--   </ul>
fsCommand :: FsCommand

-- | Position in the browser where the window will open.
fcPositionOption :: Lens' FsCommand (Maybe FsCommandPositionOption)

-- | Distance from the left of the browser.Applicable when positionOption
--   is DISTANCE_FROM_TOP_LEFT_CORNER.
fcLeft :: Lens' FsCommand (Maybe Int32)

-- | Height of the window.
fcWindowHeight :: Lens' FsCommand (Maybe Int32)

-- | Width of the window.
fcWindowWidth :: Lens' FsCommand (Maybe Int32)

-- | Distance from the top of the browser. Applicable when positionOption
--   is DISTANCE_FROM_TOP_LEFT_CORNER.
fcTop :: Lens' FsCommand (Maybe Int32)

-- | Placement Assignment.
--   
--   <i>See:</i> <a>placementAssignment</a> smart constructor.
data PlacementAssignment

-- | Creates a value of <a>PlacementAssignment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>paPlacementId</a></li>
--   <li><a>paPlacementIdDimensionValue</a></li>
--   <li><a>paActive</a></li>
--   <li><a>paSSLRequired</a></li>
--   </ul>
placementAssignment :: PlacementAssignment

-- | ID of the placement to be assigned. This is a required field.
paPlacementId :: Lens' PlacementAssignment (Maybe Int64)

-- | Dimension value for the ID of the placement. This is a read-only,
--   auto-generated field.
paPlacementIdDimensionValue :: Lens' PlacementAssignment (Maybe DimensionValue)

-- | Whether this placement assignment is active. When true, the placement
--   will be included in the ad's rotation.
paActive :: Lens' PlacementAssignment (Maybe Bool)

-- | Whether the placement to be assigned requires SSL. This is a read-only
--   field that is auto-generated when the ad is inserted or updated.
paSSLRequired :: Lens' PlacementAssignment (Maybe Bool)

-- | Contains properties of a creative field value.
--   
--   <i>See:</i> <a>creativeFieldValue</a> smart constructor.
data CreativeFieldValue

-- | Creates a value of <a>CreativeFieldValue</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfvKind</a></li>
--   <li><a>cfvValue</a></li>
--   <li><a>cfvId</a></li>
--   </ul>
creativeFieldValue :: CreativeFieldValue

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeFieldValue".
cfvKind :: Lens' CreativeFieldValue Text

-- | Value of this creative field value. It needs to be less than 256
--   characters in length and unique per creative field.
cfvValue :: Lens' CreativeFieldValue (Maybe Text)

-- | ID of this creative field value. This is a read-only, auto-generated
--   field.
cfvId :: Lens' CreativeFieldValue (Maybe Int64)

-- | Status of this event tag. Must be ENABLED for this event tag to fire.
--   This is a required field.
data EventTagStatus

-- | <pre>
--   DISABLED
--   </pre>
Disabled :: EventTagStatus

-- | <pre>
--   ENABLED
--   </pre>
Enabled :: EventTagStatus

-- | Field by which to sort the list.
data SitesListSortField

-- | <pre>
--   ID
--   </pre>
SLSFID :: SitesListSortField

-- | <pre>
--   NAME
--   </pre>
SLSFName :: SitesListSortField

-- | Represents a DimensionValuesRequest.
--   
--   <i>See:</i> <a>dimensionValueRequest</a> smart constructor.
data DimensionValueRequest

-- | Creates a value of <a>DimensionValueRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvrKind</a></li>
--   <li><a>dvrEndDate</a></li>
--   <li><a>dvrFilters</a></li>
--   <li><a>dvrStartDate</a></li>
--   <li><a>dvrDimensionName</a></li>
--   </ul>
dimensionValueRequest :: DimensionValueRequest

-- | The kind of request this is, in this case
--   dfareporting#dimensionValueRequest.
dvrKind :: Lens' DimensionValueRequest Text

-- | The end date of the date range for which to retrieve dimension values.
--   A string of the format "yyyy-MM-dd".
dvrEndDate :: Lens' DimensionValueRequest (Maybe Day)

-- | The list of filters by which to filter values. The filters are ANDed.
dvrFilters :: Lens' DimensionValueRequest [DimensionFilter]

-- | The start date of the date range for which to retrieve dimension
--   values. A string of the format "yyyy-MM-dd".
dvrStartDate :: Lens' DimensionValueRequest (Maybe Day)

-- | The name of the dimension for which values should be requested.
dvrDimensionName :: Lens' DimensionValueRequest (Maybe Text)

-- | Select only event tags with the specified event tag types. Event tag
--   types can be used to specify whether to use a third-party pixel, a
--   third-party JavaScript URL, or a third-party click-through URL for
--   either impression or click tracking.
data EventTagsListEventTagTypes

-- | <pre>
--   CLICK_THROUGH_EVENT_TAG
--   </pre>
ClickThroughEventTag :: EventTagsListEventTagTypes

-- | <pre>
--   IMPRESSION_IMAGE_EVENT_TAG
--   </pre>
ImpressionImageEventTag :: EventTagsListEventTagTypes

-- | <pre>
--   IMPRESSION_JAVASCRIPT_EVENT_TAG
--   </pre>
ImpressionJavascriptEventTag :: EventTagsListEventTagTypes

-- | Floodlight Configuration List Response
--   
--   <i>See:</i> <a>floodlightConfigurationsListResponse</a> smart
--   constructor.
data FloodlightConfigurationsListResponse

-- | Creates a value of <a>FloodlightConfigurationsListResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fclrKind</a></li>
--   <li><a>fclrFloodlightConfigurations</a></li>
--   </ul>
floodlightConfigurationsListResponse :: FloodlightConfigurationsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightConfigurationsListResponse".
fclrKind :: Lens' FloodlightConfigurationsListResponse Text

-- | Floodlight configuration collection.
fclrFloodlightConfigurations :: Lens' FloodlightConfigurationsListResponse [FloodlightConfiguration]

-- | Floodlight Activity List Response
--   
--   <i>See:</i> <a>floodlightActivitiesListResponse</a> smart constructor.
data FloodlightActivitiesListResponse

-- | Creates a value of <a>FloodlightActivitiesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>falrNextPageToken</a></li>
--   <li><a>falrKind</a></li>
--   <li><a>falrFloodlightActivities</a></li>
--   </ul>
floodlightActivitiesListResponse :: FloodlightActivitiesListResponse

-- | Pagination token to be used for the next list operation.
falrNextPageToken :: Lens' FloodlightActivitiesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivitiesListResponse".
falrKind :: Lens' FloodlightActivitiesListResponse Text

-- | Floodlight activity collection.
falrFloodlightActivities :: Lens' FloodlightActivitiesListResponse [FloodlightActivity]

-- | The status of the report file.
data FileStatus

-- | <pre>
--   CANCELLED
--   </pre>
Cancelled :: FileStatus

-- | <pre>
--   FAILED
--   </pre>
Failed :: FileStatus

-- | <pre>
--   PROCESSING
--   </pre>
Processing :: FileStatus

-- | <pre>
--   REPORT_AVAILABLE
--   </pre>
ReportAvailable :: FileStatus

-- | Artwork type used by the creative.This is a read-only field.
data CreativeCustomEventArtworkType

-- | <pre>
--   ARTWORK_TYPE_FLASH
--   </pre>
ArtworkTypeFlash :: CreativeCustomEventArtworkType

-- | <pre>
--   ARTWORK_TYPE_HTML5
--   </pre>
ArtworkTypeHTML5 :: CreativeCustomEventArtworkType

-- | <pre>
--   ARTWORK_TYPE_IMAGE
--   </pre>
ArtworkTypeImage :: CreativeCustomEventArtworkType

-- | <pre>
--   ARTWORK_TYPE_MIXED
--   </pre>
ArtworkTypeMixed :: CreativeCustomEventArtworkType

-- | Creative Field Assignment.
--   
--   <i>See:</i> <a>creativeFieldAssignment</a> smart constructor.
data CreativeFieldAssignment

-- | Creates a value of <a>CreativeFieldAssignment</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfaCreativeFieldId</a></li>
--   <li><a>cfaCreativeFieldValueId</a></li>
--   </ul>
creativeFieldAssignment :: CreativeFieldAssignment

-- | ID of the creative field.
cfaCreativeFieldId :: Lens' CreativeFieldAssignment (Maybe Int64)

-- | ID of the creative field value.
cfaCreativeFieldValueId :: Lens' CreativeFieldAssignment (Maybe Int64)

-- | Groups advertisers together so that reports can be generated for the
--   entire group at once.
--   
--   <i>See:</i> <a>advertiserGroup</a> smart constructor.
data AdvertiserGroup

-- | Creates a value of <a>AdvertiserGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agKind</a></li>
--   <li><a>agAccountId</a></li>
--   <li><a>agName</a></li>
--   <li><a>agId</a></li>
--   </ul>
advertiserGroup :: AdvertiserGroup

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#advertiserGroup".
agKind :: Lens' AdvertiserGroup Text

-- | Account ID of this advertiser group. This is a read-only field that
--   can be left blank.
agAccountId :: Lens' AdvertiserGroup (Maybe Int64)

-- | Name of this advertiser group. This is a required field and must be
--   less than 256 characters long and unique among advertiser groups of
--   the same account.
agName :: Lens' AdvertiserGroup (Maybe Text)

-- | ID of this advertiser group. This is a read-only, auto-generated
--   field.
agId :: Lens' AdvertiserGroup (Maybe Int64)

-- | Placement Tag Data
--   
--   <i>See:</i> <a>tagData</a> smart constructor.
data TagData

-- | Creates a value of <a>TagData</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tdClickTag</a></li>
--   <li><a>tdFormat</a></li>
--   <li><a>tdCreativeId</a></li>
--   <li><a>tdAdId</a></li>
--   <li><a>tdImpressionTag</a></li>
--   </ul>
tagData :: TagData

-- | Tag string to record a click.
tdClickTag :: Lens' TagData (Maybe Text)

-- | TagData tag format of this tag.
tdFormat :: Lens' TagData (Maybe TagDataFormat)

-- | Creative associated with this placement tag.
tdCreativeId :: Lens' TagData (Maybe Int64)

-- | Ad associated with this placement tag.
tdAdId :: Lens' TagData (Maybe Int64)

-- | Tag string for serving an ad.
tdImpressionTag :: Lens' TagData (Maybe Text)

-- | Day Part Targeting.
--   
--   <i>See:</i> <a>dayPartTargeting</a> smart constructor.
data DayPartTargeting

-- | Creates a value of <a>DayPartTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dptDaysOfWeek</a></li>
--   <li><a>dptHoursOfDay</a></li>
--   <li><a>dptUserLocalTime</a></li>
--   </ul>
dayPartTargeting :: DayPartTargeting

-- | Days of the week when the ad will serve. Acceptable values are: -
--   "SUNDAY" - "MONDAY" - "TUESDAY" - "WEDNESDAY" - "THURSDAY" - "FRIDAY"
--   - "SATURDAY"
dptDaysOfWeek :: Lens' DayPartTargeting [DayPartTargetingDaysOfWeekItem]

-- | Hours of the day when the ad will serve. Must be an integer between 0
--   and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to
--   midnight. Can be specified with days of week, in which case the ad
--   would serve during these hours on the specified days. For example, if
--   Monday, Wednesday, Friday are the days of week specified and 9-10am,
--   3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday,
--   Wednesdays, and Fridays at 9-10am and 3-5pm.
dptHoursOfDay :: Lens' DayPartTargeting [Int32]

-- | Whether or not to use the user's local time. If false, the America/New
--   York time zone applies.
dptUserLocalTime :: Lens' DayPartTargeting (Maybe Bool)

-- | Creative optimization settings.
--   
--   <i>See:</i> <a>creativeOptimizationConfiguration</a> smart
--   constructor.
data CreativeOptimizationConfiguration

-- | Creates a value of <a>CreativeOptimizationConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cocOptimizationModel</a></li>
--   <li><a>cocName</a></li>
--   <li><a>cocOptimizationActivitys</a></li>
--   <li><a>cocId</a></li>
--   </ul>
creativeOptimizationConfiguration :: CreativeOptimizationConfiguration

-- | Optimization model for this configuration.
cocOptimizationModel :: Lens' CreativeOptimizationConfiguration (Maybe CreativeOptimizationConfigurationOptimizationModel)

-- | Name of this creative optimization config. This is a required field
--   and must be less than 129 characters long.
cocName :: Lens' CreativeOptimizationConfiguration (Maybe Text)

-- | List of optimization activities associated with this configuration.
cocOptimizationActivitys :: Lens' CreativeOptimizationConfiguration [OptimizationActivity]

-- | ID of this creative optimization config. This field is auto-generated
--   when the campaign is inserted or updated. It can be null for existing
--   campaigns.
cocId :: Lens' CreativeOptimizationConfiguration (Maybe Int64)

-- | The report criteria for a report of type "STANDARD".
--   
--   <i>See:</i> <a>reportCriteria</a> smart constructor.
data ReportCriteria

-- | Creates a value of <a>ReportCriteria</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcMetricNames</a></li>
--   <li><a>rcCustomRichMediaEvents</a></li>
--   <li><a>rcDimensionFilters</a></li>
--   <li><a>rcActivities</a></li>
--   <li><a>rcDateRange</a></li>
--   <li><a>rcDimensions</a></li>
--   </ul>
reportCriteria :: ReportCriteria

-- | The list of names of metrics the report should include.
rcMetricNames :: Lens' ReportCriteria [Text]

-- | Custom Rich Media Events group.
rcCustomRichMediaEvents :: Lens' ReportCriteria (Maybe CustomRichMediaEvents)

-- | The list of filters on which dimensions are filtered. Filters for
--   different dimensions are ANDed, filters for the same dimension are
--   grouped together and ORed.
rcDimensionFilters :: Lens' ReportCriteria [DimensionValue]

-- | Activity group.
rcActivities :: Lens' ReportCriteria (Maybe Activities)

-- | The date range for which this report should be run.
rcDateRange :: Lens' ReportCriteria (Maybe DateRange)

-- | The list of standard dimensions the report should include.
rcDimensions :: Lens' ReportCriteria [SortedDimension]

-- | Types of attribution options for natural search conversions.
data FloodlightConfigurationNATuralSearchConversionAttributionOption

-- | <pre>
--   EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION
--   </pre>
ExcludeNATuralSearchConversionAttribution :: FloodlightConfigurationNATuralSearchConversionAttributionOption

-- | <pre>
--   INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION
--   </pre>
IncludeNATuralSearchConversionAttribution :: FloodlightConfigurationNATuralSearchConversionAttributionOption

-- | <pre>
--   INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION
--   </pre>
IncludeNATuralSearchTieredConversionAttribution :: FloodlightConfigurationNATuralSearchConversionAttributionOption

-- | Placement Strategy List Response
--   
--   <i>See:</i> <a>placementStrategiesListResponse</a> smart constructor.
data PlacementStrategiesListResponse

-- | Creates a value of <a>PlacementStrategiesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pslrPlacementStrategies</a></li>
--   <li><a>pslrNextPageToken</a></li>
--   <li><a>pslrKind</a></li>
--   </ul>
placementStrategiesListResponse :: PlacementStrategiesListResponse

-- | Placement strategy collection.
pslrPlacementStrategies :: Lens' PlacementStrategiesListResponse [PlacementStrategy]

-- | Pagination token to be used for the next list operation.
pslrNextPageToken :: Lens' PlacementStrategiesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementStrategiesListResponse".
pslrKind :: Lens' PlacementStrategiesListResponse Text

-- | Artwork type of rich media creative. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA.
data CreativeAssetArtworkType

-- | <pre>
--   ARTWORK_TYPE_FLASH
--   </pre>
CAATArtworkTypeFlash :: CreativeAssetArtworkType

-- | <pre>
--   ARTWORK_TYPE_HTML5
--   </pre>
CAATArtworkTypeHTML5 :: CreativeAssetArtworkType

-- | <pre>
--   ARTWORK_TYPE_IMAGE
--   </pre>
CAATArtworkTypeImage :: CreativeAssetArtworkType

-- | <pre>
--   ARTWORK_TYPE_MIXED
--   </pre>
CAATArtworkTypeMixed :: CreativeAssetArtworkType

-- | Contains properties of a DCM subaccount.
--   
--   <i>See:</i> <a>subAccount</a> smart constructor.
data SubAccount

-- | Creates a value of <a>SubAccount</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>saKind</a></li>
--   <li><a>saAvailablePermissionIds</a></li>
--   <li><a>saAccountId</a></li>
--   <li><a>saName</a></li>
--   <li><a>saId</a></li>
--   </ul>
subAccount :: SubAccount

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#subaccount".
saKind :: Lens' SubAccount Text

-- | IDs of the available user role permissions for this subaccount.
saAvailablePermissionIds :: Lens' SubAccount [Int64]

-- | ID of the account that contains this subaccount. This is a read-only
--   field that can be left blank.
saAccountId :: Lens' SubAccount (Maybe Int64)

-- | Name of this subaccount. This is a required field. Must be less than
--   128 characters long and be unique among subaccounts of the same
--   account.
saName :: Lens' SubAccount (Maybe Text)

-- | ID of this subaccount. This is a read-only, auto-generated field.
saId :: Lens' SubAccount (Maybe Int64)

-- | Inventory item List Response
--   
--   <i>See:</i> <a>inventoryItemsListResponse</a> smart constructor.
data InventoryItemsListResponse

-- | Creates a value of <a>InventoryItemsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iilrInventoryItems</a></li>
--   <li><a>iilrNextPageToken</a></li>
--   <li><a>iilrKind</a></li>
--   </ul>
inventoryItemsListResponse :: InventoryItemsListResponse

-- | Inventory item collection
iilrInventoryItems :: Lens' InventoryItemsListResponse [InventoryItem]

-- | Pagination token to be used for the next list operation.
iilrNextPageToken :: Lens' InventoryItemsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#inventoryItemsListResponse".
iilrKind :: Lens' InventoryItemsListResponse Text

-- | The type of custom floodlight variable to supply a value for. These
--   map to the "u[1-20]=" in the tags.
data CustomFloodlightVariableType

-- | <pre>
--   U1
--   </pre>
U1 :: CustomFloodlightVariableType

-- | <pre>
--   U10
--   </pre>
U10 :: CustomFloodlightVariableType

-- | <pre>
--   U100
--   </pre>
U100 :: CustomFloodlightVariableType

-- | <pre>
--   U11
--   </pre>
U11 :: CustomFloodlightVariableType

-- | <pre>
--   U12
--   </pre>
U12 :: CustomFloodlightVariableType

-- | <pre>
--   U13
--   </pre>
U13 :: CustomFloodlightVariableType

-- | <pre>
--   U14
--   </pre>
U14 :: CustomFloodlightVariableType

-- | <pre>
--   U15
--   </pre>
U15 :: CustomFloodlightVariableType

-- | <pre>
--   U16
--   </pre>
U16 :: CustomFloodlightVariableType

-- | <pre>
--   U17
--   </pre>
U17 :: CustomFloodlightVariableType

-- | <pre>
--   U18
--   </pre>
U18 :: CustomFloodlightVariableType

-- | <pre>
--   U19
--   </pre>
U19 :: CustomFloodlightVariableType

-- | <pre>
--   U2
--   </pre>
U2 :: CustomFloodlightVariableType

-- | <pre>
--   U20
--   </pre>
U20 :: CustomFloodlightVariableType

-- | <pre>
--   U21
--   </pre>
U21 :: CustomFloodlightVariableType

-- | <pre>
--   U22
--   </pre>
U22 :: CustomFloodlightVariableType

-- | <pre>
--   U23
--   </pre>
U23 :: CustomFloodlightVariableType

-- | <pre>
--   U24
--   </pre>
U24 :: CustomFloodlightVariableType

-- | <pre>
--   U25
--   </pre>
U25 :: CustomFloodlightVariableType

-- | <pre>
--   U26
--   </pre>
U26 :: CustomFloodlightVariableType

-- | <pre>
--   U27
--   </pre>
U27 :: CustomFloodlightVariableType

-- | <pre>
--   U28
--   </pre>
U28 :: CustomFloodlightVariableType

-- | <pre>
--   U29
--   </pre>
U29 :: CustomFloodlightVariableType

-- | <pre>
--   U3
--   </pre>
U3 :: CustomFloodlightVariableType

-- | <pre>
--   U30
--   </pre>
U30 :: CustomFloodlightVariableType

-- | <pre>
--   U31
--   </pre>
U31 :: CustomFloodlightVariableType

-- | <pre>
--   U32
--   </pre>
U32 :: CustomFloodlightVariableType

-- | <pre>
--   U33
--   </pre>
U33 :: CustomFloodlightVariableType

-- | <pre>
--   U34
--   </pre>
U34 :: CustomFloodlightVariableType

-- | <pre>
--   U35
--   </pre>
U35 :: CustomFloodlightVariableType

-- | <pre>
--   U36
--   </pre>
U36 :: CustomFloodlightVariableType

-- | <pre>
--   U37
--   </pre>
U37 :: CustomFloodlightVariableType

-- | <pre>
--   U38
--   </pre>
U38 :: CustomFloodlightVariableType

-- | <pre>
--   U39
--   </pre>
U39 :: CustomFloodlightVariableType

-- | <pre>
--   U4
--   </pre>
U4 :: CustomFloodlightVariableType

-- | <pre>
--   U40
--   </pre>
U40 :: CustomFloodlightVariableType

-- | <pre>
--   U41
--   </pre>
U41 :: CustomFloodlightVariableType

-- | <pre>
--   U42
--   </pre>
U42 :: CustomFloodlightVariableType

-- | <pre>
--   U43
--   </pre>
U43 :: CustomFloodlightVariableType

-- | <pre>
--   U44
--   </pre>
U44 :: CustomFloodlightVariableType

-- | <pre>
--   U45
--   </pre>
U45 :: CustomFloodlightVariableType

-- | <pre>
--   U46
--   </pre>
U46 :: CustomFloodlightVariableType

-- | <pre>
--   U47
--   </pre>
U47 :: CustomFloodlightVariableType

-- | <pre>
--   U48
--   </pre>
U48 :: CustomFloodlightVariableType

-- | <pre>
--   U49
--   </pre>
U49 :: CustomFloodlightVariableType

-- | <pre>
--   U5
--   </pre>
U5 :: CustomFloodlightVariableType

-- | <pre>
--   U50
--   </pre>
U50 :: CustomFloodlightVariableType

-- | <pre>
--   U51
--   </pre>
U51 :: CustomFloodlightVariableType

-- | <pre>
--   U52
--   </pre>
U52 :: CustomFloodlightVariableType

-- | <pre>
--   U53
--   </pre>
U53 :: CustomFloodlightVariableType

-- | <pre>
--   U54
--   </pre>
U54 :: CustomFloodlightVariableType

-- | <pre>
--   U55
--   </pre>
U55 :: CustomFloodlightVariableType

-- | <pre>
--   U56
--   </pre>
U56 :: CustomFloodlightVariableType

-- | <pre>
--   U57
--   </pre>
U57 :: CustomFloodlightVariableType

-- | <pre>
--   U58
--   </pre>
U58 :: CustomFloodlightVariableType

-- | <pre>
--   U59
--   </pre>
U59 :: CustomFloodlightVariableType

-- | <pre>
--   U6
--   </pre>
U6 :: CustomFloodlightVariableType

-- | <pre>
--   U60
--   </pre>
U60 :: CustomFloodlightVariableType

-- | <pre>
--   U61
--   </pre>
U61 :: CustomFloodlightVariableType

-- | <pre>
--   U62
--   </pre>
U62 :: CustomFloodlightVariableType

-- | <pre>
--   U63
--   </pre>
U63 :: CustomFloodlightVariableType

-- | <pre>
--   U64
--   </pre>
U64 :: CustomFloodlightVariableType

-- | <pre>
--   U65
--   </pre>
U65 :: CustomFloodlightVariableType

-- | <pre>
--   U66
--   </pre>
U66 :: CustomFloodlightVariableType

-- | <pre>
--   U67
--   </pre>
U67 :: CustomFloodlightVariableType

-- | <pre>
--   U68
--   </pre>
U68 :: CustomFloodlightVariableType

-- | <pre>
--   U69
--   </pre>
U69 :: CustomFloodlightVariableType

-- | <pre>
--   U7
--   </pre>
U7 :: CustomFloodlightVariableType

-- | <pre>
--   U70
--   </pre>
U70 :: CustomFloodlightVariableType

-- | <pre>
--   U71
--   </pre>
U71 :: CustomFloodlightVariableType

-- | <pre>
--   U72
--   </pre>
U72 :: CustomFloodlightVariableType

-- | <pre>
--   U73
--   </pre>
U73 :: CustomFloodlightVariableType

-- | <pre>
--   U74
--   </pre>
U74 :: CustomFloodlightVariableType

-- | <pre>
--   U75
--   </pre>
U75 :: CustomFloodlightVariableType

-- | <pre>
--   U76
--   </pre>
U76 :: CustomFloodlightVariableType

-- | <pre>
--   U77
--   </pre>
U77 :: CustomFloodlightVariableType

-- | <pre>
--   U78
--   </pre>
U78 :: CustomFloodlightVariableType

-- | <pre>
--   U79
--   </pre>
U79 :: CustomFloodlightVariableType

-- | <pre>
--   U8
--   </pre>
U8 :: CustomFloodlightVariableType

-- | <pre>
--   U80
--   </pre>
U80 :: CustomFloodlightVariableType

-- | <pre>
--   U81
--   </pre>
U81 :: CustomFloodlightVariableType

-- | <pre>
--   U82
--   </pre>
U82 :: CustomFloodlightVariableType

-- | <pre>
--   U83
--   </pre>
U83 :: CustomFloodlightVariableType

-- | <pre>
--   U84
--   </pre>
U84 :: CustomFloodlightVariableType

-- | <pre>
--   U85
--   </pre>
U85 :: CustomFloodlightVariableType

-- | <pre>
--   U86
--   </pre>
U86 :: CustomFloodlightVariableType

-- | <pre>
--   U87
--   </pre>
U87 :: CustomFloodlightVariableType

-- | <pre>
--   U88
--   </pre>
U88 :: CustomFloodlightVariableType

-- | <pre>
--   U89
--   </pre>
U89 :: CustomFloodlightVariableType

-- | <pre>
--   U9
--   </pre>
U9 :: CustomFloodlightVariableType

-- | <pre>
--   U90
--   </pre>
U90 :: CustomFloodlightVariableType

-- | <pre>
--   U91
--   </pre>
U91 :: CustomFloodlightVariableType

-- | <pre>
--   U92
--   </pre>
U92 :: CustomFloodlightVariableType

-- | <pre>
--   U93
--   </pre>
U93 :: CustomFloodlightVariableType

-- | <pre>
--   U94
--   </pre>
U94 :: CustomFloodlightVariableType

-- | <pre>
--   U95
--   </pre>
U95 :: CustomFloodlightVariableType

-- | <pre>
--   U96
--   </pre>
U96 :: CustomFloodlightVariableType

-- | <pre>
--   U97
--   </pre>
U97 :: CustomFloodlightVariableType

-- | <pre>
--   U98
--   </pre>
U98 :: CustomFloodlightVariableType

-- | <pre>
--   U99
--   </pre>
U99 :: CustomFloodlightVariableType

-- | Contains properties of a DCM ad.
--   
--   <i>See:</i> <a>ad</a> smart constructor.
data Ad

-- | Creates a value of <a>Ad</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aTargetingTemplateId</a></li>
--   <li><a>aCreativeGroupAssignments</a></li>
--   <li><a>aGeoTargeting</a></li>
--   <li><a>aCreativeRotation</a></li>
--   <li><a>aTechnologyTargeting</a></li>
--   <li><a>aAudienceSegmentId</a></li>
--   <li><a>aDayPartTargeting</a></li>
--   <li><a>aSize</a></li>
--   <li><a>aStartTime</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aClickThroughURLSuffixProperties</a></li>
--   <li><a>aCampaignIdDimensionValue</a></li>
--   <li><a>aAdvertiserId</a></li>
--   <li><a>aAdvertiserIdDimensionValue</a></li>
--   <li><a>aSSLCompliant</a></li>
--   <li><a>aCampaignId</a></li>
--   <li><a>aIdDimensionValue</a></li>
--   <li><a>aClickThroughURL</a></li>
--   <li><a>aDeliverySchedule</a></li>
--   <li><a>aEventTagOverrides</a></li>
--   <li><a>aActive</a></li>
--   <li><a>aAccountId</a></li>
--   <li><a>aName</a></li>
--   <li><a>aKeyValueTargetingExpression</a></li>
--   <li><a>aEndTime</a></li>
--   <li><a>aCreateInfo</a></li>
--   <li><a>aLastModifiedInfo</a></li>
--   <li><a>aId</a></li>
--   <li><a>aSSLRequired</a></li>
--   <li><a>aComments</a></li>
--   <li><a>aSubAccountId</a></li>
--   <li><a>aType</a></li>
--   <li><a>aRemarketingListExpression</a></li>
--   <li><a>aLanguageTargeting</a></li>
--   <li><a>aDynamicClickTracker</a></li>
--   <li><a>aCompatibility</a></li>
--   <li><a>aArchived</a></li>
--   <li><a>aDefaultClickThroughEventTagProperties</a></li>
--   <li><a>aPlacementAssignments</a></li>
--   </ul>
ad :: Ad

-- | Targeting template ID, used to apply preconfigured targeting
--   information to this ad. This cannot be set while any of
--   dayPartTargeting, geoTargeting, keyValueTargetingExpression,
--   languageTargeting, remarketingListExpression, or technologyTargeting
--   are set. Applicable when type is AD_SERVING_STANDARD_AD.
aTargetingTemplateId :: Lens' Ad (Maybe Int64)

-- | Creative group assignments for this ad. Applicable when type is
--   AD_SERVING_CLICK_TRACKER. Only one assignment per creative group
--   number is allowed for a maximum of two assignments.
aCreativeGroupAssignments :: Lens' Ad [CreativeGroupAssignment]

-- | Geographical targeting information for this ad. This field must be
--   left blank if the ad is using a targeting template. Applicable when
--   type is AD_SERVING_STANDARD_AD.
aGeoTargeting :: Lens' Ad (Maybe GeoTargeting)

-- | Creative rotation for this ad. Applicable when type is
--   AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING.
--   When type is AD_SERVING_DEFAULT_AD, this field should have exactly one
--   creativeAssignment.
aCreativeRotation :: Lens' Ad (Maybe CreativeRotation)

-- | Technology platform targeting information for this ad. This field must
--   be left blank if the ad is using a targeting template. Applicable when
--   type is AD_SERVING_STANDARD_AD.
aTechnologyTargeting :: Lens' Ad (Maybe TechnologyTargeting)

-- | Audience segment ID that is being targeted for this ad. Applicable
--   when type is AD_SERVING_STANDARD_AD.
aAudienceSegmentId :: Lens' Ad (Maybe Int64)

-- | Time and day targeting information for this ad. This field must be
--   left blank if the ad is using a targeting template. Applicable when
--   type is AD_SERVING_STANDARD_AD.
aDayPartTargeting :: Lens' Ad (Maybe DayPartTargeting)

-- | Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
aSize :: Lens' Ad (Maybe Size)

-- | Date and time that this ad should start serving. If creating an ad,
--   this field must be a time in the future. This is a required field on
--   insertion.
aStartTime :: Lens' Ad (Maybe UTCTime)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#ad".
aKind :: Lens' Ad Text

-- | Click-through URL suffix properties for this ad. Applies to the URL in
--   the ad or (if overriding ad properties) the URL in the creative.
aClickThroughURLSuffixProperties :: Lens' Ad (Maybe ClickThroughURLSuffixProperties)

-- | Dimension value for the ID of the campaign. This is a read-only,
--   auto-generated field.
aCampaignIdDimensionValue :: Lens' Ad (Maybe DimensionValue)

-- | Advertiser ID of this ad. This is a required field on insertion.
aAdvertiserId :: Lens' Ad (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
aAdvertiserIdDimensionValue :: Lens' Ad (Maybe DimensionValue)

-- | Whether this ad is ssl compliant. This is a read-only field that is
--   auto-generated when the ad is inserted or updated.
aSSLCompliant :: Lens' Ad (Maybe Bool)

-- | Campaign ID of this ad. This is a required field on insertion.
aCampaignId :: Lens' Ad (Maybe Int64)

-- | Dimension value for the ID of this ad. This is a read-only,
--   auto-generated field.
aIdDimensionValue :: Lens' Ad (Maybe DimensionValue)

-- | Click-through URL for this ad. This is a required field on insertion.
--   Applicable when type is AD_SERVING_CLICK_TRACKER.
aClickThroughURL :: Lens' Ad (Maybe ClickThroughURL)

-- | Delivery schedule information for this ad. Applicable when type is
--   AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with
--   subfields priority and impressionRatio are required on insertion when
--   type is AD_SERVING_STANDARD_AD.
aDeliverySchedule :: Lens' Ad (Maybe DeliverySchedule)

-- | Event tag overrides for this ad.
aEventTagOverrides :: Lens' Ad [EventTagOverride]

-- | Whether this ad is active. When true, archived must be false.
aActive :: Lens' Ad (Maybe Bool)

-- | Account ID of this ad. This is a read-only field that can be left
--   blank.
aAccountId :: Lens' Ad (Maybe Int64)

-- | Name of this ad. This is a required field and must be less than 256
--   characters long.
aName :: Lens' Ad (Maybe Text)

-- | Key-value targeting information for this ad. This field must be left
--   blank if the ad is using a targeting template. Applicable when type is
--   AD_SERVING_STANDARD_AD.
aKeyValueTargetingExpression :: Lens' Ad (Maybe KeyValueTargetingExpression)

-- | Date and time that this ad should stop serving. Must be later than the
--   start time. This is a required field on insertion.
aEndTime :: Lens' Ad (Maybe UTCTime)

-- | Information about the creation of this ad. This is a read-only field.
aCreateInfo :: Lens' Ad (Maybe LastModifiedInfo)

-- | Information about the most recent modification of this ad. This is a
--   read-only field.
aLastModifiedInfo :: Lens' Ad (Maybe LastModifiedInfo)

-- | ID of this ad. This is a read-only, auto-generated field.
aId :: Lens' Ad (Maybe Int64)

-- | Whether this ad requires ssl. This is a read-only field that is
--   auto-generated when the ad is inserted or updated.
aSSLRequired :: Lens' Ad (Maybe Bool)

-- | Comments for this ad.
aComments :: Lens' Ad (Maybe Text)

-- | Subaccount ID of this ad. This is a read-only field that can be left
--   blank.
aSubAccountId :: Lens' Ad (Maybe Int64)

-- | Type of ad. This is a required field on insertion. Note that default
--   ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative
--   resource).
aType :: Lens' Ad (Maybe AdType)

-- | Remarketing list targeting expression for this ad. This field must be
--   left blank if the ad is using a targeting template. Applicable when
--   type is AD_SERVING_STANDARD_AD.
aRemarketingListExpression :: Lens' Ad (Maybe ListTargetingExpression)

-- | Language targeting information for this ad. This field must be left
--   blank if the ad is using a targeting template. Applicable when type is
--   AD_SERVING_STANDARD_AD.
aLanguageTargeting :: Lens' Ad (Maybe LanguageTargeting)

-- | Whether this ad is a dynamic click tracker. Applicable when type is
--   AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is
--   read-only after insert.
aDynamicClickTracker :: Lens' Ad (Maybe Bool)

-- | Compatibility of this ad. Applicable when type is
--   AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   either rendering on desktop or on mobile devices or in mobile apps for
--   regular or interstitial ads, respectively. APP and APP_INTERSTITIAL
--   are only used for existing default ads. New mobile placements must be
--   assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for
--   those placements will be limited to those compatibility types.
--   IN_STREAM_VIDEO refers to rendering in-stream video ads developed with
--   the VAST standard.
aCompatibility :: Lens' Ad (Maybe AdCompatibility)

-- | Whether this ad is archived. When true, active must be false.
aArchived :: Lens' Ad (Maybe Bool)

-- | Default click-through event tag properties for this ad.
aDefaultClickThroughEventTagProperties :: Lens' Ad (Maybe DefaultClickThroughEventTagProperties)

-- | Placement assignments for this ad.
aPlacementAssignments :: Lens' Ad [PlacementAssignment]

-- | The error code.
data ConversionErrorCode

-- | <pre>
--   INTERNAL
--   </pre>
Internal :: ConversionErrorCode

-- | <pre>
--   INVALID_ARGUMENT
--   </pre>
InvalidArgument :: ConversionErrorCode

-- | <pre>
--   NOT_FOUND
--   </pre>
NotFound :: ConversionErrorCode

-- | <pre>
--   PERMISSION_DENIED
--   </pre>
PermissionDenied :: ConversionErrorCode

-- | Order of sorted results, default is ASCENDING.
data FloodlightActivitiesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
FALSOAscending :: FloodlightActivitiesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
FALSODescending :: FloodlightActivitiesListSortOrder

-- | Contains properties of a DoubleClick Planning project.
--   
--   <i>See:</i> <a>project</a> smart constructor.
data Project

-- | Creates a value of <a>Project</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pTargetClicks</a></li>
--   <li><a>pClientBillingCode</a></li>
--   <li><a>pTargetCpmNanos</a></li>
--   <li><a>pTargetConversions</a></li>
--   <li><a>pBudget</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pAdvertiserId</a></li>
--   <li><a>pEndDate</a></li>
--   <li><a>pOverview</a></li>
--   <li><a>pTargetImpressions</a></li>
--   <li><a>pStartDate</a></li>
--   <li><a>pTargetCpcNanos</a></li>
--   <li><a>pAccountId</a></li>
--   <li><a>pName</a></li>
--   <li><a>pLastModifiedInfo</a></li>
--   <li><a>pId</a></li>
--   <li><a>pAudienceAgeGroup</a></li>
--   <li><a>pSubAccountId</a></li>
--   <li><a>pTargetCpmActiveViewNanos</a></li>
--   <li><a>pAudienceGender</a></li>
--   <li><a>pClientName</a></li>
--   <li><a>pTargetCpaNanos</a></li>
--   </ul>
project :: Project

-- | Number of clicks that the advertiser is targeting.
pTargetClicks :: Lens' Project (Maybe Int64)

-- | Client billing code of this project.
pClientBillingCode :: Lens' Project (Maybe Text)

-- | CPM that the advertiser is targeting.
pTargetCpmNanos :: Lens' Project (Maybe Int64)

-- | Number of conversions that the advertiser is targeting.
pTargetConversions :: Lens' Project (Maybe Int64)

-- | Budget of this project in the currency specified by the current
--   account. The value stored in this field represents only the
--   non-fractional amount. For example, for USD, the smallest value that
--   can be represented by this field is 1 US dollar.
pBudget :: Lens' Project (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#project".
pKind :: Lens' Project Text

-- | Advertiser ID of this project.
pAdvertiserId :: Lens' Project (Maybe Int64)

-- | End date of the project.
pEndDate :: Lens' Project (Maybe Day)

-- | Overview of this project.
pOverview :: Lens' Project (Maybe Text)

-- | Number of impressions that the advertiser is targeting.
pTargetImpressions :: Lens' Project (Maybe Int64)

-- | Start date of the project.
pStartDate :: Lens' Project (Maybe Day)

-- | CPC that the advertiser is targeting.
pTargetCpcNanos :: Lens' Project (Maybe Int64)

-- | Account ID of this project.
pAccountId :: Lens' Project (Maybe Int64)

-- | Name of this project.
pName :: Lens' Project (Maybe Text)

-- | Information about the most recent modification of this project.
pLastModifiedInfo :: Lens' Project (Maybe LastModifiedInfo)

-- | ID of this project. This is a read-only, auto-generated field.
pId :: Lens' Project (Maybe Int64)

-- | Audience age group of this project.
pAudienceAgeGroup :: Lens' Project (Maybe ProjectAudienceAgeGroup)

-- | Subaccount ID of this project.
pSubAccountId :: Lens' Project (Maybe Int64)

-- | vCPM from Active View that the advertiser is targeting.
pTargetCpmActiveViewNanos :: Lens' Project (Maybe Int64)

-- | Audience gender of this project.
pAudienceGender :: Lens' Project (Maybe ProjectAudienceGender)

-- | Name of the project client.
pClientName :: Lens' Project (Maybe Text)

-- | CPA that the advertiser is targeting.
pTargetCpaNanos :: Lens' Project (Maybe Int64)

-- | The output format of the report. Only available once the file is
--   available.
data FileFormat

-- | <pre>
--   CSV
--   </pre>
CSV :: FileFormat

-- | <pre>
--   EXCEL
--   </pre>
Excel :: FileFormat

-- | The encryption entity type. This should match the encryption
--   configuration for ad serving or Data Transfer.
data EncryptionInfoEncryptionEntityType

-- | <pre>
--   ADWORDS_CUSTOMER
--   </pre>
AdwordsCustomer :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   DBM_ADVERTISER
--   </pre>
DBmAdvertiser :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   DBM_PARTNER
--   </pre>
DBmPartner :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   DCM_ACCOUNT
--   </pre>
DcmAccount :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   DCM_ADVERTISER
--   </pre>
DcmAdvertiser :: EncryptionInfoEncryptionEntityType

-- | <pre>
--   ENCRYPTION_ENTITY_TYPE_UNKNOWN
--   </pre>
EncryptionEntityTypeUnknown :: EncryptionInfoEncryptionEntityType

-- | Placement pricing type. This field is required on insertion.
data PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_CPA
--   </pre>
PricingTypeCpa :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_CPC
--   </pre>
PricingTypeCpc :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_CPM
--   </pre>
PricingTypeCpm :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_CPM_ACTIVEVIEW
--   </pre>
PricingTypeCpmActiveview :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_CLICKS
--   </pre>
PricingTypeFlatRateClicks :: PricingSchedulePricingType

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_IMPRESSIONS
--   </pre>
PricingTypeFlatRateImpressions :: PricingSchedulePricingType

-- | The report criteria for a report of type "FLOODLIGHT".
--   
--   <i>See:</i> <a>reportFloodlightCriteria</a> smart constructor.
data ReportFloodlightCriteria

-- | Creates a value of <a>ReportFloodlightCriteria</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rfcReportProperties</a></li>
--   <li><a>rfcMetricNames</a></li>
--   <li><a>rfcCustomRichMediaEvents</a></li>
--   <li><a>rfcDimensionFilters</a></li>
--   <li><a>rfcDateRange</a></li>
--   <li><a>rfcFloodlightConfigId</a></li>
--   <li><a>rfcDimensions</a></li>
--   </ul>
reportFloodlightCriteria :: ReportFloodlightCriteria

-- | The properties of the report.
rfcReportProperties :: Lens' ReportFloodlightCriteria (Maybe ReportFloodlightCriteriaReportProperties)

-- | The list of names of metrics the report should include.
rfcMetricNames :: Lens' ReportFloodlightCriteria [Text]

-- | The list of custom rich media events to include.
rfcCustomRichMediaEvents :: Lens' ReportFloodlightCriteria [DimensionValue]

-- | The list of filters on which dimensions are filtered. Filters for
--   different dimensions are ANDed, filters for the same dimension are
--   grouped together and ORed.
rfcDimensionFilters :: Lens' ReportFloodlightCriteria [DimensionValue]

-- | The date range this report should be run for.
rfcDateRange :: Lens' ReportFloodlightCriteria (Maybe DateRange)

-- | The floodlight ID for which to show data in this report. All
--   advertisers associated with that ID will automatically be added. The
--   dimension of the value needs to be 'dfa:floodlightConfigId'.
rfcFloodlightConfigId :: Lens' ReportFloodlightCriteria (Maybe DimensionValue)

-- | The list of dimensions the report should include.
rfcDimensions :: Lens' ReportFloodlightCriteria [SortedDimension]

-- | Target type used by the event.
data CreativeCustomEventTargetType

-- | <pre>
--   TARGET_BLANK
--   </pre>
TargetBlank :: CreativeCustomEventTargetType

-- | <pre>
--   TARGET_PARENT
--   </pre>
TargetParent :: CreativeCustomEventTargetType

-- | <pre>
--   TARGET_POPUP
--   </pre>
TargetPopup :: CreativeCustomEventTargetType

-- | <pre>
--   TARGET_SELF
--   </pre>
TargetSelf :: CreativeCustomEventTargetType

-- | <pre>
--   TARGET_TOP
--   </pre>
TargetTop :: CreativeCustomEventTargetType

-- | The scope that defines which results are returned, default is 'MINE'.
data ReportsListScope

-- | <tt>ALL</tt> All reports in account.
All :: ReportsListScope

-- | <tt>MINE</tt> My reports.
Mine :: ReportsListScope

-- | Represents the dimensions of ads, placements, creatives, or creative
--   assets.
--   
--   <i>See:</i> <a>size</a> smart constructor.
data Size

-- | Creates a value of <a>Size</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sHeight</a></li>
--   <li><a>sKind</a></li>
--   <li><a>sWidth</a></li>
--   <li><a>sIab</a></li>
--   <li><a>sId</a></li>
--   </ul>
size :: Size

-- | Height of this size.
sHeight :: Lens' Size (Maybe Int32)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#size".
sKind :: Lens' Size Text

-- | Width of this size.
sWidth :: Lens' Size (Maybe Int32)

-- | IAB standard size. This is a read-only, auto-generated field.
sIab :: Lens' Size (Maybe Bool)

-- | ID of this size. This is a read-only, auto-generated field.
sId :: Lens' Size (Maybe Int64)

-- | Duration type for which an asset will be displayed. Applicable to the
--   following creative types: all RICH_MEDIA.
data CreativeAssetDurationType

-- | <pre>
--   ASSET_DURATION_TYPE_AUTO
--   </pre>
AssetDurationTypeAuto :: CreativeAssetDurationType

-- | <pre>
--   ASSET_DURATION_TYPE_CUSTOM
--   </pre>
AssetDurationTypeCustom :: CreativeAssetDurationType

-- | <pre>
--   ASSET_DURATION_TYPE_NONE
--   </pre>
AssetDurationTypeNone :: CreativeAssetDurationType

-- | Product from which this targetable remarketing list was originated.
data TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_ADX
--   </pre>
RemarketingListSourceAdx :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DBM
--   </pre>
RemarketingListSourceDBm :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DFA
--   </pre>
RemarketingListSourceDfa :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DFP
--   </pre>
RemarketingListSourceDfp :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DMP
--   </pre>
RemarketingListSourceDmp :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_GA
--   </pre>
RemarketingListSourceGa :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_GPLUS
--   </pre>
RemarketingListSourceGplus :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_OTHER
--   </pre>
RemarketingListSourceOther :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_PLAY_STORE
--   </pre>
RemarketingListSourcePlayStore :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_XFP
--   </pre>
RemarketingListSourceXfp :: TargetableRemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_YOUTUBE
--   </pre>
RemarketingListSourceYouTube :: TargetableRemarketingListListSource

-- | Object Filter.
--   
--   <i>See:</i> <a>objectFilter</a> smart constructor.
data ObjectFilter

-- | Creates a value of <a>ObjectFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ofStatus</a></li>
--   <li><a>ofKind</a></li>
--   <li><a>ofObjectIds</a></li>
--   </ul>
objectFilter :: ObjectFilter

-- | Status of the filter. NONE means the user has access to none of the
--   objects. ALL means the user has access to all objects. ASSIGNED means
--   the user has access to the objects with IDs in the objectIds list.
ofStatus :: Lens' ObjectFilter (Maybe ObjectFilterStatus)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#objectFilter".
ofKind :: Lens' ObjectFilter Text

-- | Applicable when status is ASSIGNED. The user has access to objects
--   with these object IDs.
ofObjectIds :: Lens' ObjectFilter [Int64]

-- | Skippable Settings
--   
--   <i>See:</i> <a>skippableSetting</a> smart constructor.
data SkippableSetting

-- | Creates a value of <a>SkippableSetting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssSkipOffSet</a></li>
--   <li><a>ssProgressOffSet</a></li>
--   <li><a>ssKind</a></li>
--   <li><a>ssSkippable</a></li>
--   </ul>
skippableSetting :: SkippableSetting

-- | Amount of time to play videos served to this placement before the skip
--   button should appear. Applicable when skippable is true.
ssSkipOffSet :: Lens' SkippableSetting (Maybe VideoOffSet)

-- | Amount of time to play videos served to this placement before counting
--   a view. Applicable when skippable is true.
ssProgressOffSet :: Lens' SkippableSetting (Maybe VideoOffSet)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#skippableSetting".
ssKind :: Lens' SkippableSetting Text

-- | Whether the user can skip creatives served to this placement.
ssSkippable :: Lens' SkippableSetting (Maybe Bool)

-- | Field by which to sort the list.
data CreativeGroupsListSortField

-- | <pre>
--   ID
--   </pre>
CGLSFID :: CreativeGroupsListSortField

-- | <pre>
--   NAME
--   </pre>
CGLSFName :: CreativeGroupsListSortField

-- | Reporting Configuration
--   
--   <i>See:</i> <a>reportsConfiguration</a> smart constructor.
data ReportsConfiguration

-- | Creates a value of <a>ReportsConfiguration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcExposureToConversionEnabled</a></li>
--   <li><a>rcReportGenerationTimeZoneId</a></li>
--   <li><a>rcLookbackConfiguration</a></li>
--   </ul>
reportsConfiguration :: ReportsConfiguration

-- | Whether the exposure to conversion report is enabled. This report
--   shows detailed pathway information on up to 10 of the most recent ad
--   exposures seen by a user before converting.
rcExposureToConversionEnabled :: Lens' ReportsConfiguration (Maybe Bool)

-- | Report generation time zone ID of this account. This is a required
--   field that can only be changed by a superuser. Acceptable values are:
--   - "1" for "America/New_York" - "2" for "Europe/London" - "3" for
--   "Europe/Paris" - "4" for "Africa/Johannesburg" - "5" for
--   "Asia/Jerusalem" - "6" for "Asia/Shanghai" - "7" for "Asia/Hong_Kong"
--   - "8" for "Asia/Tokyo" - "9" for "Australia/Sydney" - "10" for
--   "Asia/Dubai" - "11" for "America/Los_Angeles" - "12" for
--   "Pacific/Auckland" - "13" for "America/Sao_Paulo"
rcReportGenerationTimeZoneId :: Lens' ReportsConfiguration (Maybe Int64)

-- | Default lookback windows for new advertisers in this account.
rcLookbackConfiguration :: Lens' ReportsConfiguration (Maybe LookbackConfiguration)

-- | Pricing Schedule
--   
--   <i>See:</i> <a>pricingSchedule</a> smart constructor.
data PricingSchedule

-- | Creates a value of <a>PricingSchedule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psTestingStartDate</a></li>
--   <li><a>psFloodlightActivityId</a></li>
--   <li><a>psEndDate</a></li>
--   <li><a>psDisregardOverdelivery</a></li>
--   <li><a>psStartDate</a></li>
--   <li><a>psCapCostOption</a></li>
--   <li><a>psPricingType</a></li>
--   <li><a>psPricingPeriods</a></li>
--   <li><a>psFlighted</a></li>
--   </ul>
pricingSchedule :: PricingSchedule

-- | Testing start date of this placement. The hours, minutes, and seconds
--   of the start date should not be set, as doing so will result in an
--   error.
psTestingStartDate :: Lens' PricingSchedule (Maybe Day)

-- | Floodlight activity ID associated with this placement. This field
--   should be set when placement pricing type is set to PRICING_TYPE_CPA.
psFloodlightActivityId :: Lens' PricingSchedule (Maybe Int64)

-- | Placement end date. This date must be later than, or the same day as,
--   the placement start date, but not later than the campaign end date.
--   If, for example, you set 6/25/2015 as both the start and end dates,
--   the effective placement date is just that day only, 6/25/2015. The
--   hours, minutes, and seconds of the end date should not be set, as
--   doing so will result in an error. This field is required on insertion.
psEndDate :: Lens' PricingSchedule (Maybe Day)

-- | Whether cap costs are ignored by ad serving.
psDisregardOverdelivery :: Lens' PricingSchedule (Maybe Bool)

-- | Placement start date. This date must be later than, or the same day
--   as, the campaign start date. The hours, minutes, and seconds of the
--   start date should not be set, as doing so will result in an error.
--   This field is required on insertion.
psStartDate :: Lens' PricingSchedule (Maybe Day)

-- | Placement cap cost option.
psCapCostOption :: Lens' PricingSchedule (Maybe PricingScheduleCapCostOption)

-- | Placement pricing type. This field is required on insertion.
psPricingType :: Lens' PricingSchedule (Maybe PricingSchedulePricingType)

-- | Pricing periods for this placement.
psPricingPeriods :: Lens' PricingSchedule [PricingSchedulePricingPeriod]

-- | Whether this placement is flighted. If true, pricing periods will be
--   computed automatically.
psFlighted :: Lens' PricingSchedule (Maybe Bool)

-- | Contains information about a postal code that can be targeted by ads.
--   
--   <i>See:</i> <a>postalCode</a> smart constructor.
data PostalCode

-- | Creates a value of <a>PostalCode</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcKind</a></li>
--   <li><a>pcCode</a></li>
--   <li><a>pcCountryCode</a></li>
--   <li><a>pcId</a></li>
--   <li><a>pcCountryDartId</a></li>
--   </ul>
postalCode :: PostalCode

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#postalCode".
pcKind :: Lens' PostalCode Text

-- | Postal code. This is equivalent to the id field.
pcCode :: Lens' PostalCode (Maybe Text)

-- | Country code of the country to which this postal code belongs.
pcCountryCode :: Lens' PostalCode (Maybe Text)

-- | ID of this postal code.
pcId :: Lens' PostalCode (Maybe Text)

-- | DART ID of the country to which this postal code belongs.
pcCountryDartId :: Lens' PostalCode (Maybe Int64)

-- | Account Permission List Response
--   
--   <i>See:</i> <a>accountPermissionsListResponse</a> smart constructor.
data AccountPermissionsListResponse

-- | Creates a value of <a>AccountPermissionsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aplrKind</a></li>
--   <li><a>aplrAccountPermissions</a></li>
--   </ul>
accountPermissionsListResponse :: AccountPermissionsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountPermissionsListResponse".
aplrKind :: Lens' AccountPermissionsListResponse Text

-- | Account permission collection.
aplrAccountPermissions :: Lens' AccountPermissionsListResponse [AccountPermission]

-- | Contains information about a country that can be targeted by ads.
--   
--   <i>See:</i> <a>country</a> smart constructor.
data Country

-- | Creates a value of <a>Country</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cKind</a></li>
--   <li><a>cName</a></li>
--   <li><a>cCountryCode</a></li>
--   <li><a>cDartId</a></li>
--   <li><a>cSSLEnabled</a></li>
--   </ul>
country :: Country

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#country".
cKind :: Lens' Country Text

-- | Name of this country.
cName :: Lens' Country (Maybe Text)

-- | Country code.
cCountryCode :: Lens' Country (Maybe Text)

-- | DART ID of this country. This is the ID used for targeting and
--   generating reports.
cDartId :: Lens' Country (Maybe Int64)

-- | Whether ad serving supports secure servers in this country.
cSSLEnabled :: Lens' Country (Maybe Bool)

-- | Field by which to sort the list.
data PlacementsListSortField

-- | <pre>
--   ID
--   </pre>
PLSFID :: PlacementsListSortField

-- | <pre>
--   NAME
--   </pre>
PLSFName :: PlacementsListSortField
data CreativeBackupImageFeaturesItem

-- | <pre>
--   APPLICATION_CACHE
--   </pre>
CBIFIApplicationCache :: CreativeBackupImageFeaturesItem

-- | <pre>
--   AUDIO
--   </pre>
CBIFIAudio :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CANVAS
--   </pre>
CBIFICanvas :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CANVAS_TEXT
--   </pre>
CBIFICanvasText :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_ANIMATIONS
--   </pre>
CBIFICssAnimations :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_BACKGROUND_SIZE
--   </pre>
CBIFICssBackgRoundSize :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_BORDER_IMAGE
--   </pre>
CBIFICssBOrderImage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_BORDER_RADIUS
--   </pre>
CBIFICssBOrderRadius :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_BOX_SHADOW
--   </pre>
CBIFICssBoxShadow :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_COLUMNS
--   </pre>
CBIFICssColumns :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_FLEX_BOX
--   </pre>
CBIFICssFlexBox :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_FONT_FACE
--   </pre>
CBIFICssFontFace :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_GENERATED_CONTENT
--   </pre>
CBIFICssGeneratedContent :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_GRADIENTS
--   </pre>
CBIFICssGradients :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_HSLA
--   </pre>
CBIFICssHsla :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_MULTIPLE_BGS
--   </pre>
CBIFICssMultipleBgs :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_OPACITY
--   </pre>
CBIFICssOpacity :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_REFLECTIONS
--   </pre>
CBIFICssReflections :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_RGBA
--   </pre>
CBIFICssRgba :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_TEXT_SHADOW
--   </pre>
CBIFICssTextShadow :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS
--   </pre>
CBIFICssTransforms :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS3D
--   </pre>
CBIFICssTRANSFORMS3D :: CreativeBackupImageFeaturesItem

-- | <pre>
--   CSS_TRANSITIONS
--   </pre>
CBIFICssTransitions :: CreativeBackupImageFeaturesItem

-- | <pre>
--   DRAG_AND_DROP
--   </pre>
CBIFIDragAndDrop :: CreativeBackupImageFeaturesItem

-- | <pre>
--   GEO_LOCATION
--   </pre>
CBIFIGeoLocation :: CreativeBackupImageFeaturesItem

-- | <pre>
--   HASH_CHANGE
--   </pre>
CBIFIHashChange :: CreativeBackupImageFeaturesItem

-- | <pre>
--   HISTORY
--   </pre>
CBIFIHistory :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INDEXED_DB
--   </pre>
CBIFIIndexedDB :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INLINE_SVG
--   </pre>
CBIFIInlineSvg :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOCOMPLETE
--   </pre>
CBIFIInputAttrAutocomplete :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOFOCUS
--   </pre>
CBIFIInputAttrAutofocus :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_LIST
--   </pre>
CBIFIInputAttrList :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_MAX
--   </pre>
CBIFIInputAttrMax :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_MIN
--   </pre>
CBIFIInputAttrMin :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_MULTIPLE
--   </pre>
CBIFIInputAttrMultiple :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_PATTERN
--   </pre>
CBIFIInputAttrPattern :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_PLACEHOLDER
--   </pre>
CBIFIInputAttrPlaceholder :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_REQUIRED
--   </pre>
CBIFIInputAttrRequired :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_ATTR_STEP
--   </pre>
CBIFIInputAttrStep :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_COLOR
--   </pre>
CBIFIInputTypeColor :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATE
--   </pre>
CBIFIInputTypeDate :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME
--   </pre>
CBIFIInputTypeDatetime :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME_LOCAL
--   </pre>
CBIFIInputTypeDatetimeLocal :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_EMAIL
--   </pre>
CBIFIInputTypeEmail :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_MONTH
--   </pre>
CBIFIInputTypeMonth :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_NUMBER
--   </pre>
CBIFIInputTypeNumber :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_RANGE
--   </pre>
CBIFIInputTypeRange :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_SEARCH
--   </pre>
CBIFIInputTypeSearch :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_TEL
--   </pre>
CBIFIInputTypeTel :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_TIME
--   </pre>
CBIFIInputTypeTime :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_URL
--   </pre>
CBIFIInputTypeURL :: CreativeBackupImageFeaturesItem

-- | <pre>
--   INPUT_TYPE_WEEK
--   </pre>
CBIFIInputTypeWeek :: CreativeBackupImageFeaturesItem

-- | <pre>
--   LOCAL_STORAGE
--   </pre>
CBIFILocalStorage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   POST_MESSAGE
--   </pre>
CBIFIPostMessage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SESSION_STORAGE
--   </pre>
CBIFISessionStorage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SMIL
--   </pre>
CBIFISmil :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SVG_CLIP_PATHS
--   </pre>
CBIFISvgClipPaths :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SVG_FE_IMAGE
--   </pre>
CBIFISvgFeImage :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SVG_FILTERS
--   </pre>
CBIFISvgFilters :: CreativeBackupImageFeaturesItem

-- | <pre>
--   SVG_HREF
--   </pre>
CBIFISvgHref :: CreativeBackupImageFeaturesItem

-- | <pre>
--   TOUCH
--   </pre>
CBIFITouch :: CreativeBackupImageFeaturesItem

-- | <pre>
--   VIDEO
--   </pre>
CBIFIVideo :: CreativeBackupImageFeaturesItem

-- | <pre>
--   WEBGL
--   </pre>
CBIFIWebgl :: CreativeBackupImageFeaturesItem

-- | <pre>
--   WEB_SOCKETS
--   </pre>
CBIFIWebSockets :: CreativeBackupImageFeaturesItem

-- | <pre>
--   WEB_SQL_DATABASE
--   </pre>
CBIFIWebSQLDatabase :: CreativeBackupImageFeaturesItem

-- | <pre>
--   WEB_WORKERS
--   </pre>
CBIFIWebWorkers :: CreativeBackupImageFeaturesItem

-- | Operating System Version List Response
--   
--   <i>See:</i> <a>operatingSystemVersionsListResponse</a> smart
--   constructor.
data OperatingSystemVersionsListResponse

-- | Creates a value of <a>OperatingSystemVersionsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osvlrKind</a></li>
--   <li><a>osvlrOperatingSystemVersions</a></li>
--   </ul>
operatingSystemVersionsListResponse :: OperatingSystemVersionsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#operatingSystemVersionsListResponse".
osvlrKind :: Lens' OperatingSystemVersionsListResponse Text

-- | Operating system version collection.
osvlrOperatingSystemVersions :: Lens' OperatingSystemVersionsListResponse [OperatingSystemVersion]

-- | Click Through URL Suffix settings.
--   
--   <i>See:</i> <a>clickThroughURLSuffixProperties</a> smart constructor.
data ClickThroughURLSuffixProperties

-- | Creates a value of <a>ClickThroughURLSuffixProperties</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctuspOverrideInheritedSuffix</a></li>
--   <li><a>ctuspClickThroughURLSuffix</a></li>
--   </ul>
clickThroughURLSuffixProperties :: ClickThroughURLSuffixProperties

-- | Whether this entity should override the inherited click-through URL
--   suffix with its own defined value.
ctuspOverrideInheritedSuffix :: Lens' ClickThroughURLSuffixProperties (Maybe Bool)

-- | Click-through URL suffix to apply to all ads in this entity's scope.
--   Must be less than 128 characters long.
ctuspClickThroughURLSuffix :: Lens' ClickThroughURLSuffixProperties (Maybe Text)

-- | Order of sorted results, default is ASCENDING.
data AdvertisersListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
ALSOAscending :: AdvertisersListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ALSODescending :: AdvertisersListSortOrder

-- | Field by which to sort the list.
data TargetingTemplatesListSortField

-- | <pre>
--   ID
--   </pre>
TTLSFID :: TargetingTemplatesListSortField

-- | <pre>
--   NAME
--   </pre>
TTLSFName :: TargetingTemplatesListSortField

-- | Field by which to sort the list.
data CreativeFieldsListSortField

-- | <pre>
--   ID
--   </pre>
CFLSFID :: CreativeFieldsListSortField

-- | <pre>
--   NAME
--   </pre>
CFLSFName :: CreativeFieldsListSortField

-- | Pricing Information
--   
--   <i>See:</i> <a>pricing</a> smart constructor.
data Pricing

-- | Creates a value of <a>Pricing</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>priEndDate</a></li>
--   <li><a>priStartDate</a></li>
--   <li><a>priGroupType</a></li>
--   <li><a>priPricingType</a></li>
--   <li><a>priFlights</a></li>
--   <li><a>priCapCostType</a></li>
--   </ul>
pricing :: Pricing

-- | End date of this inventory item.
priEndDate :: Lens' Pricing (Maybe Day)

-- | Start date of this inventory item.
priStartDate :: Lens' Pricing (Maybe Day)

-- | Group type of this inventory item if it represents a placement group.
--   Is null otherwise. There are two type of placement groups:
--   PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory
--   items that acts as a single pricing point for a group of tags.
--   PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items
--   that not only acts as a single pricing point, but also assumes that
--   all the tags in it will be served at the same time. A roadblock
--   requires one of its assigned inventory items to be marked as primary.
priGroupType :: Lens' Pricing (Maybe PricingGroupType)

-- | Pricing type of this inventory item.
priPricingType :: Lens' Pricing (Maybe PricingPricingType)

-- | Flights of this inventory item. A flight (a.k.a. pricing period)
--   represents the inventory item pricing information for a specific
--   period of time.
priFlights :: Lens' Pricing [Flight]

-- | Cap cost type of this inventory item.
priCapCostType :: Lens' Pricing (Maybe PricingCapCostType)

-- | Audience Segment Group.
--   
--   <i>See:</i> <a>audienceSegmentGroup</a> smart constructor.
data AudienceSegmentGroup

-- | Creates a value of <a>AudienceSegmentGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asgAudienceSegments</a></li>
--   <li><a>asgName</a></li>
--   <li><a>asgId</a></li>
--   </ul>
audienceSegmentGroup :: AudienceSegmentGroup

-- | Audience segments assigned to this group. The number of segments must
--   be between 2 and 100.
asgAudienceSegments :: Lens' AudienceSegmentGroup [AudienceSegment]

-- | Name of this audience segment group. This is a required field and must
--   be less than 65 characters long.
asgName :: Lens' AudienceSegmentGroup (Maybe Text)

-- | ID of this audience segment group. This is a read-only, auto-generated
--   field.
asgId :: Lens' AudienceSegmentGroup (Maybe Int64)

-- | Contains information about an operating system that can be targeted by
--   ads.
--   
--   <i>See:</i> <a>operatingSystem</a> smart constructor.
data OperatingSystem

-- | Creates a value of <a>OperatingSystem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osDesktop</a></li>
--   <li><a>osKind</a></li>
--   <li><a>osName</a></li>
--   <li><a>osMobile</a></li>
--   <li><a>osDartId</a></li>
--   </ul>
operatingSystem :: OperatingSystem

-- | Whether this operating system is for desktop.
osDesktop :: Lens' OperatingSystem (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#operatingSystem".
osKind :: Lens' OperatingSystem Text

-- | Name of this operating system.
osName :: Lens' OperatingSystem (Maybe Text)

-- | Whether this operating system is for mobile.
osMobile :: Lens' OperatingSystem (Maybe Bool)

-- | DART ID of this operating system. This is the ID used for targeting.
osDartId :: Lens' OperatingSystem (Maybe Int64)

-- | Flight
--   
--   <i>See:</i> <a>flight</a> smart constructor.
data Flight

-- | Creates a value of <a>Flight</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fRateOrCost</a></li>
--   <li><a>fEndDate</a></li>
--   <li><a>fStartDate</a></li>
--   <li><a>fUnits</a></li>
--   </ul>
flight :: Flight

-- | Rate or cost of this flight.
fRateOrCost :: Lens' Flight (Maybe Int64)

-- | Inventory item flight end date.
fEndDate :: Lens' Flight (Maybe Day)

-- | Inventory item flight start date.
fStartDate :: Lens' Flight (Maybe Day)

-- | Units of this flight.
fUnits :: Lens' Flight (Maybe Int64)

-- | Variable name in the tag. This is a required field.
data UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U1
--   </pre>
UDVCVTU1 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U10
--   </pre>
UDVCVTU10 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U100
--   </pre>
UDVCVTU100 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U11
--   </pre>
UDVCVTU11 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U12
--   </pre>
UDVCVTU12 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U13
--   </pre>
UDVCVTU13 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U14
--   </pre>
UDVCVTU14 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U15
--   </pre>
UDVCVTU15 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U16
--   </pre>
UDVCVTU16 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U17
--   </pre>
UDVCVTU17 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U18
--   </pre>
UDVCVTU18 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U19
--   </pre>
UDVCVTU19 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U2
--   </pre>
UDVCVTU2 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U20
--   </pre>
UDVCVTU20 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U21
--   </pre>
UDVCVTU21 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U22
--   </pre>
UDVCVTU22 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U23
--   </pre>
UDVCVTU23 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U24
--   </pre>
UDVCVTU24 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U25
--   </pre>
UDVCVTU25 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U26
--   </pre>
UDVCVTU26 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U27
--   </pre>
UDVCVTU27 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U28
--   </pre>
UDVCVTU28 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U29
--   </pre>
UDVCVTU29 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U3
--   </pre>
UDVCVTU3 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U30
--   </pre>
UDVCVTU30 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U31
--   </pre>
UDVCVTU31 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U32
--   </pre>
UDVCVTU32 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U33
--   </pre>
UDVCVTU33 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U34
--   </pre>
UDVCVTU34 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U35
--   </pre>
UDVCVTU35 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U36
--   </pre>
UDVCVTU36 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U37
--   </pre>
UDVCVTU37 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U38
--   </pre>
UDVCVTU38 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U39
--   </pre>
UDVCVTU39 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U4
--   </pre>
UDVCVTU4 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U40
--   </pre>
UDVCVTU40 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U41
--   </pre>
UDVCVTU41 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U42
--   </pre>
UDVCVTU42 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U43
--   </pre>
UDVCVTU43 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U44
--   </pre>
UDVCVTU44 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U45
--   </pre>
UDVCVTU45 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U46
--   </pre>
UDVCVTU46 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U47
--   </pre>
UDVCVTU47 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U48
--   </pre>
UDVCVTU48 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U49
--   </pre>
UDVCVTU49 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U5
--   </pre>
UDVCVTU5 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U50
--   </pre>
UDVCVTU50 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U51
--   </pre>
UDVCVTU51 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U52
--   </pre>
UDVCVTU52 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U53
--   </pre>
UDVCVTU53 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U54
--   </pre>
UDVCVTU54 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U55
--   </pre>
UDVCVTU55 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U56
--   </pre>
UDVCVTU56 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U57
--   </pre>
UDVCVTU57 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U58
--   </pre>
UDVCVTU58 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U59
--   </pre>
UDVCVTU59 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U6
--   </pre>
UDVCVTU6 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U60
--   </pre>
UDVCVTU60 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U61
--   </pre>
UDVCVTU61 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U62
--   </pre>
UDVCVTU62 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U63
--   </pre>
UDVCVTU63 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U64
--   </pre>
UDVCVTU64 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U65
--   </pre>
UDVCVTU65 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U66
--   </pre>
UDVCVTU66 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U67
--   </pre>
UDVCVTU67 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U68
--   </pre>
UDVCVTU68 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U69
--   </pre>
UDVCVTU69 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U7
--   </pre>
UDVCVTU7 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U70
--   </pre>
UDVCVTU70 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U71
--   </pre>
UDVCVTU71 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U72
--   </pre>
UDVCVTU72 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U73
--   </pre>
UDVCVTU73 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U74
--   </pre>
UDVCVTU74 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U75
--   </pre>
UDVCVTU75 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U76
--   </pre>
UDVCVTU76 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U77
--   </pre>
UDVCVTU77 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U78
--   </pre>
UDVCVTU78 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U79
--   </pre>
UDVCVTU79 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U8
--   </pre>
UDVCVTU8 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U80
--   </pre>
UDVCVTU80 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U81
--   </pre>
UDVCVTU81 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U82
--   </pre>
UDVCVTU82 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U83
--   </pre>
UDVCVTU83 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U84
--   </pre>
UDVCVTU84 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U85
--   </pre>
UDVCVTU85 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U86
--   </pre>
UDVCVTU86 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U87
--   </pre>
UDVCVTU87 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U88
--   </pre>
UDVCVTU88 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U89
--   </pre>
UDVCVTU89 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U9
--   </pre>
UDVCVTU9 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U90
--   </pre>
UDVCVTU90 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U91
--   </pre>
UDVCVTU91 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U92
--   </pre>
UDVCVTU92 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U93
--   </pre>
UDVCVTU93 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U94
--   </pre>
UDVCVTU94 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U95
--   </pre>
UDVCVTU95 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U96
--   </pre>
UDVCVTU96 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U97
--   </pre>
UDVCVTU97 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U98
--   </pre>
UDVCVTU98 :: UserDefinedVariableConfigurationVariableType

-- | <pre>
--   U99
--   </pre>
UDVCVTU99 :: UserDefinedVariableConfigurationVariableType

-- | Position in the browser where the window will open.
data FsCommandPositionOption

-- | <pre>
--   CENTERED
--   </pre>
Centered :: FsCommandPositionOption

-- | <pre>
--   DISTANCE_FROM_TOP_LEFT_CORNER
--   </pre>
DistanceFromTopLeftCorner :: FsCommandPositionOption

-- | City List Response
--   
--   <i>See:</i> <a>citiesListResponse</a> smart constructor.
data CitiesListResponse

-- | Creates a value of <a>CitiesListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>citKind</a></li>
--   <li><a>citCities</a></li>
--   </ul>
citiesListResponse :: CitiesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#citiesListResponse".
citKind :: Lens' CitiesListResponse Text

-- | City collection.
citCities :: Lens' CitiesListResponse [City]

-- | Represents a dimension.
--   
--   <i>See:</i> <a>dimension</a> smart constructor.
data Dimension

-- | Creates a value of <a>Dimension</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dKind</a></li>
--   <li><a>dName</a></li>
--   </ul>
dimension :: Dimension

-- | The kind of resource this is, in this case dfareporting#dimension.
dKind :: Lens' Dimension Text

-- | The dimension name, e.g. dfa:advertiser
dName :: Lens' Dimension (Maybe Text)

-- | The report criteria for a report of type "REACH".
--   
--   <i>See:</i> <a>reportReachCriteria</a> smart constructor.
data ReportReachCriteria

-- | Creates a value of <a>ReportReachCriteria</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrcReachByFrequencyMetricNames</a></li>
--   <li><a>rrcEnableAllDimensionCombinations</a></li>
--   <li><a>rrcMetricNames</a></li>
--   <li><a>rrcCustomRichMediaEvents</a></li>
--   <li><a>rrcDimensionFilters</a></li>
--   <li><a>rrcActivities</a></li>
--   <li><a>rrcDateRange</a></li>
--   <li><a>rrcDimensions</a></li>
--   </ul>
reportReachCriteria :: ReportReachCriteria

-- | The list of names of Reach By Frequency metrics the report should
--   include.
rrcReachByFrequencyMetricNames :: Lens' ReportReachCriteria [Text]

-- | Whether to enable all reach dimension combinations in the report.
--   Defaults to false. If enabled, the date range of the report should be
--   within the last three months.
rrcEnableAllDimensionCombinations :: Lens' ReportReachCriteria (Maybe Bool)

-- | The list of names of metrics the report should include.
rrcMetricNames :: Lens' ReportReachCriteria [Text]

-- | Custom Rich Media Events group.
rrcCustomRichMediaEvents :: Lens' ReportReachCriteria (Maybe CustomRichMediaEvents)

-- | The list of filters on which dimensions are filtered. Filters for
--   different dimensions are ANDed, filters for the same dimension are
--   grouped together and ORed.
rrcDimensionFilters :: Lens' ReportReachCriteria [DimensionValue]

-- | Activity group.
rrcActivities :: Lens' ReportReachCriteria (Maybe Activities)

-- | The date range this report should be run for.
rrcDateRange :: Lens' ReportReachCriteria (Maybe DateRange)

-- | The list of dimensions the report should include.
rrcDimensions :: Lens' ReportReachCriteria [SortedDimension]

-- | Represents a Custom Rich Media Events group.
--   
--   <i>See:</i> <a>customRichMediaEvents</a> smart constructor.
data CustomRichMediaEvents

-- | Creates a value of <a>CustomRichMediaEvents</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crmeKind</a></li>
--   <li><a>crmeFilteredEventIds</a></li>
--   </ul>
customRichMediaEvents :: CustomRichMediaEvents

-- | The kind of resource this is, in this case
--   dfareporting#customRichMediaEvents.
crmeKind :: Lens' CustomRichMediaEvents Text

-- | List of custom rich media event IDs. Dimension values must be all of
--   type dfa:richMediaEventTypeIdAndName.
crmeFilteredEventIds :: Lens' CustomRichMediaEvents [DimensionValue]

-- | Language List Response
--   
--   <i>See:</i> <a>languagesListResponse</a> smart constructor.
data LanguagesListResponse

-- | Creates a value of <a>LanguagesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>llrKind</a></li>
--   <li><a>llrLanguages</a></li>
--   </ul>
languagesListResponse :: LanguagesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#languagesListResponse".
llrKind :: Lens' LanguagesListResponse Text

-- | Language collection.
llrLanguages :: Lens' LanguagesListResponse [Language]

-- | Order of sorted results, default is ASCENDING.
data UserRolesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
URLSOAscending :: UserRolesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
URLSODescending :: UserRolesListSortOrder

-- | Select only placements that are associated with these compatibilities.
--   DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
--   or on mobile devices for regular or interstitial ads respectively. APP
--   and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO
--   refers to rendering in in-stream video ads developed with the VAST
--   standard.
data PlacementsListCompatibilities

-- | <pre>
--   APP
--   </pre>
PLCApp :: PlacementsListCompatibilities

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
PLCAppInterstitial :: PlacementsListCompatibilities

-- | <pre>
--   DISPLAY
--   </pre>
PLCDisplay :: PlacementsListCompatibilities

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
PLCDisplayInterstitial :: PlacementsListCompatibilities

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
PLCInStreamVideo :: PlacementsListCompatibilities

-- | Targetable remarketing list response
--   
--   <i>See:</i> <a>targetableRemarketingListsListResponse</a> smart
--   constructor.
data TargetableRemarketingListsListResponse

-- | Creates a value of <a>TargetableRemarketingListsListResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trllrNextPageToken</a></li>
--   <li><a>trllrKind</a></li>
--   <li><a>trllrTargetableRemarketingLists</a></li>
--   </ul>
targetableRemarketingListsListResponse :: TargetableRemarketingListsListResponse

-- | Pagination token to be used for the next list operation.
trllrNextPageToken :: Lens' TargetableRemarketingListsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#targetableRemarketingListsListResponse".
trllrKind :: Lens' TargetableRemarketingListsListResponse Text

-- | Targetable remarketing list collection.
trllrTargetableRemarketingLists :: Lens' TargetableRemarketingListsListResponse [TargetableRemarketingList]

-- | Field by which to sort the list.
data OrderDocumentsListSortField

-- | <pre>
--   ID
--   </pre>
ODLSFID :: OrderDocumentsListSortField

-- | <pre>
--   NAME
--   </pre>
ODLSFName :: OrderDocumentsListSortField
data CreativeCompatibilityItem

-- | <pre>
--   APP
--   </pre>
CCIApp :: CreativeCompatibilityItem

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
CCIAppInterstitial :: CreativeCompatibilityItem

-- | <pre>
--   DISPLAY
--   </pre>
CCIDisplay :: CreativeCompatibilityItem

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
CCIDisplayInterstitial :: CreativeCompatibilityItem

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
CCIInStreamVideo :: CreativeCompatibilityItem

-- | Change Log List Response
--   
--   <i>See:</i> <a>changeLogsListResponse</a> smart constructor.
data ChangeLogsListResponse

-- | Creates a value of <a>ChangeLogsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cllrNextPageToken</a></li>
--   <li><a>cllrKind</a></li>
--   <li><a>cllrChangeLogs</a></li>
--   </ul>
changeLogsListResponse :: ChangeLogsListResponse

-- | Pagination token to be used for the next list operation.
cllrNextPageToken :: Lens' ChangeLogsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#changeLogsListResponse".
cllrKind :: Lens' ChangeLogsListResponse Text

-- | Change log collection.
cllrChangeLogs :: Lens' ChangeLogsListResponse [ChangeLog]

-- | The type of delivery for the owner to receive, if enabled.
data ReportDeliveryEmailOwnerDeliveryType

-- | <pre>
--   ATTACHMENT
--   </pre>
RDEODTAttachment :: ReportDeliveryEmailOwnerDeliveryType

-- | <pre>
--   LINK
--   </pre>
RDEODTLink :: ReportDeliveryEmailOwnerDeliveryType

-- | Site contact type.
data SiteContactContactType

-- | <pre>
--   SALES_PERSON
--   </pre>
SalesPerson :: SiteContactContactType

-- | <pre>
--   TRAFFICKER
--   </pre>
Trafficker :: SiteContactContactType

-- | AccountUserProfiles contains properties of a DCM user profile. This
--   resource is specifically for managing user profiles, whereas
--   UserProfiles is for accessing the API.
--   
--   <i>See:</i> <a>accountUserProFile</a> smart constructor.
data AccountUserProFile

-- | Creates a value of <a>AccountUserProFile</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aupfEmail</a></li>
--   <li><a>aupfUserRoleFilter</a></li>
--   <li><a>aupfAdvertiserFilter</a></li>
--   <li><a>aupfUserRoleId</a></li>
--   <li><a>aupfKind</a></li>
--   <li><a>aupfLocale</a></li>
--   <li><a>aupfSiteFilter</a></li>
--   <li><a>aupfTraffickerType</a></li>
--   <li><a>aupfActive</a></li>
--   <li><a>aupfAccountId</a></li>
--   <li><a>aupfName</a></li>
--   <li><a>aupfId</a></li>
--   <li><a>aupfUserAccessType</a></li>
--   <li><a>aupfComments</a></li>
--   <li><a>aupfSubAccountId</a></li>
--   <li><a>aupfCampaignFilter</a></li>
--   </ul>
accountUserProFile :: AccountUserProFile

-- | Email of the user profile. The email addresss must be linked to a
--   Google Account. This field is required on insertion and is read-only
--   after insertion.
aupfEmail :: Lens' AccountUserProFile (Maybe Text)

-- | Filter that describes which user roles are visible to the user
--   profile.
aupfUserRoleFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)

-- | Filter that describes which advertisers are visible to the user
--   profile.
aupfAdvertiserFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)

-- | User role ID of the user profile. This is a required field.
aupfUserRoleId :: Lens' AccountUserProFile (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountUserProfile".
aupfKind :: Lens' AccountUserProFile Text

-- | Locale of the user profile. This is a required field. Acceptable
--   values are: - "cs" (Czech) - "de" (German) - "en" (English) - "en-GB"
--   (English United Kingdom) - "es" (Spanish) - "fr" (French) - "it"
--   (Italian) - "ja" (Japanese) - "ko" (Korean) - "pl" (Polish) - "pt-BR"
--   (Portuguese Brazil) - "ru" (Russian) - "sv" (Swedish) - "tr" (Turkish)
--   - "zh-CN" (Chinese Simplified) - "zh-TW" (Chinese Traditional)
aupfLocale :: Lens' AccountUserProFile (Maybe Text)

-- | Filter that describes which sites are visible to the user profile.
aupfSiteFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)

-- | Trafficker type of this user profile.
aupfTraffickerType :: Lens' AccountUserProFile (Maybe AccountUserProFileTraffickerType)

-- | Whether this user profile is active. This defaults to false, and must
--   be set true on insert for the user profile to be usable.
aupfActive :: Lens' AccountUserProFile (Maybe Bool)

-- | Account ID of the user profile. This is a read-only field that can be
--   left blank.
aupfAccountId :: Lens' AccountUserProFile (Maybe Int64)

-- | Name of the user profile. This is a required field. Must be less than
--   64 characters long, must be globally unique, and cannot contain
--   whitespace or any of the following characters: "&amp;;"#%,".
aupfName :: Lens' AccountUserProFile (Maybe Text)

-- | ID of the user profile. This is a read-only, auto-generated field.
aupfId :: Lens' AccountUserProFile (Maybe Int64)

-- | User type of the user profile. This is a read-only field that can be
--   left blank.
aupfUserAccessType :: Lens' AccountUserProFile (Maybe AccountUserProFileUserAccessType)

-- | Comments for this user profile.
aupfComments :: Lens' AccountUserProFile (Maybe Text)

-- | Subaccount ID of the user profile. This is a read-only field that can
--   be left blank.
aupfSubAccountId :: Lens' AccountUserProFile (Maybe Int64)

-- | Filter that describes which campaigns are visible to the user profile.
aupfCampaignFilter :: Lens' AccountUserProFile (Maybe ObjectFilter)

-- | Order of sorted results, default is 'DESCENDING'.
data ReportsListSortOrder

-- | <tt>ASCENDING</tt> Ascending order.
RLSOAscending :: ReportsListSortOrder

-- | <tt>DESCENDING</tt> Descending order.
RLSODescending :: ReportsListSortOrder

-- | Represents a DimensionValue resource.
--   
--   <i>See:</i> <a>dimensionValue</a> smart constructor.
data DimensionValue

-- | Creates a value of <a>DimensionValue</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvEtag</a></li>
--   <li><a>dvKind</a></li>
--   <li><a>dvValue</a></li>
--   <li><a>dvMatchType</a></li>
--   <li><a>dvDimensionName</a></li>
--   <li><a>dvId</a></li>
--   </ul>
dimensionValue :: DimensionValue

-- | The eTag of this response for caching purposes.
dvEtag :: Lens' DimensionValue (Maybe Text)

-- | The kind of resource this is, in this case
--   dfareporting#dimensionValue.
dvKind :: Lens' DimensionValue Text

-- | The value of the dimension.
dvValue :: Lens' DimensionValue (Maybe Text)

-- | Determines how the 'value' field is matched when filtering. If not
--   specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is
--   allowed as a placeholder for variable length character sequences, and
--   it can be escaped with a backslash. Note, only paid search dimensions
--   ('dfa:paidSearch*') allow a matchType other than EXACT.
dvMatchType :: Lens' DimensionValue (Maybe DimensionValueMatchType)

-- | The name of the dimension.
dvDimensionName :: Lens' DimensionValue (Maybe Text)

-- | The ID associated with the value if available.
dvId :: Lens' DimensionValue (Maybe Text)

-- | Field by which to sort the list.
data TargetableRemarketingListsListSortField

-- | <pre>
--   ID
--   </pre>
TRLLSFID :: TargetableRemarketingListsListSortField

-- | <pre>
--   NAME
--   </pre>
TRLLSFName :: TargetableRemarketingListsListSortField

-- | Order of sorted results, default is ASCENDING.
data CampaignsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CLSOAscending :: CampaignsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CLSODescending :: CampaignsListSortOrder

-- | Represents an activity group.
--   
--   <i>See:</i> <a>activities</a> smart constructor.
data Activities

-- | Creates a value of <a>Activities</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actKind</a></li>
--   <li><a>actMetricNames</a></li>
--   <li><a>actFilters</a></li>
--   </ul>
activities :: Activities

-- | The kind of resource this is, in this case dfareporting#activities.
actKind :: Lens' Activities Text

-- | List of names of floodlight activity metrics.
actMetricNames :: Lens' Activities [Text]

-- | List of activity filters. The dimension values need to be all either
--   of type "dfa:activity" or "dfa:activityGroup".
actFilters :: Lens' Activities [DimensionValue]

-- | Select only floodlight activity groups with the specified floodlight
--   activity group type.
data FloodlightActivityGroupsListType

-- | <pre>
--   COUNTER
--   </pre>
Counter :: FloodlightActivityGroupsListType

-- | <pre>
--   SALE
--   </pre>
Sale :: FloodlightActivityGroupsListType

-- | Day that will be counted as the first day of the week in reports. This
--   is a required field.
data FloodlightConfigurationFirstDayOfWeek

-- | <pre>
--   MONDAY
--   </pre>
Monday :: FloodlightConfigurationFirstDayOfWeek

-- | <pre>
--   SUNDAY
--   </pre>
Sunday :: FloodlightConfigurationFirstDayOfWeek

-- | User Role Permission Group List Response
--   
--   <i>See:</i> <a>userRolePermissionGroupsListResponse</a> smart
--   constructor.
data UserRolePermissionGroupsListResponse

-- | Creates a value of <a>UserRolePermissionGroupsListResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urpglrUserRolePermissionGroups</a></li>
--   <li><a>urpglrKind</a></li>
--   </ul>
userRolePermissionGroupsListResponse :: UserRolePermissionGroupsListResponse

-- | User role permission group collection.
urpglrUserRolePermissionGroups :: Lens' UserRolePermissionGroupsListResponse [UserRolePermissionGroup]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolePermissionGroupsListResponse".
urpglrKind :: Lens' UserRolePermissionGroupsListResponse Text

-- | Placement Tag
--   
--   <i>See:</i> <a>placementTag</a> smart constructor.
data PlacementTag

-- | Creates a value of <a>PlacementTag</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptPlacementId</a></li>
--   <li><a>ptTagDatas</a></li>
--   </ul>
placementTag :: PlacementTag

-- | Placement ID
ptPlacementId :: Lens' PlacementTag (Maybe Int64)

-- | Tags generated for this placement.
ptTagDatas :: Lens' PlacementTag [TagData]

-- | Serving priority of an ad, with respect to other ads. The lower the
--   priority number, the greater the priority with which it is served.
data DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_01
--   </pre>
AdPriority01 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_02
--   </pre>
AdPriority02 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_03
--   </pre>
AdPriority03 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_04
--   </pre>
AdPriority04 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_05
--   </pre>
AdPriority05 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_06
--   </pre>
AdPriority06 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_07
--   </pre>
AdPriority07 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_08
--   </pre>
AdPriority08 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_09
--   </pre>
AdPriority09 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_10
--   </pre>
AdPriority10 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_11
--   </pre>
AdPriority11 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_12
--   </pre>
AdPriority12 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_13
--   </pre>
AdPriority13 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_14
--   </pre>
AdPriority14 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_15
--   </pre>
AdPriority15 :: DeliverySchedulePriority

-- | <pre>
--   AD_PRIORITY_16
--   </pre>
AdPriority16 :: DeliverySchedulePriority

-- | Select only floodlight activities with the specified floodlight
--   activity group type.
data FloodlightActivitiesListFloodlightActivityGroupType

-- | <pre>
--   COUNTER
--   </pre>
FALFAGTCounter :: FloodlightActivitiesListFloodlightActivityGroupType

-- | <pre>
--   SALE
--   </pre>
FALFAGTSale :: FloodlightActivitiesListFloodlightActivityGroupType

-- | Remarketing list response
--   
--   <i>See:</i> <a>remarketingListsListResponse</a> smart constructor.
data RemarketingListsListResponse

-- | Creates a value of <a>RemarketingListsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rllrNextPageToken</a></li>
--   <li><a>rllrRemarketingLists</a></li>
--   <li><a>rllrKind</a></li>
--   </ul>
remarketingListsListResponse :: RemarketingListsListResponse

-- | Pagination token to be used for the next list operation.
rllrNextPageToken :: Lens' RemarketingListsListResponse (Maybe Text)

-- | Remarketing list collection.
rllrRemarketingLists :: Lens' RemarketingListsListResponse [RemarketingList]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#remarketingListsListResponse".
rllrKind :: Lens' RemarketingListsListResponse Text

-- | Contains properties of a dynamic targeting key. Dynamic targeting keys
--   are unique, user-friendly labels, created at the advertiser level in
--   DCM, that can be assigned to ads, creatives, and placements and used
--   for targeting with DoubleClick Studio dynamic creatives. Use these
--   labels instead of numeric DCM IDs (such as placement IDs) to save time
--   and avoid errors in your dynamic feeds.
--   
--   <i>See:</i> <a>dynamicTargetingKey</a> smart constructor.
data DynamicTargetingKey

-- | Creates a value of <a>DynamicTargetingKey</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtkObjectType</a></li>
--   <li><a>dtkKind</a></li>
--   <li><a>dtkObjectId</a></li>
--   <li><a>dtkName</a></li>
--   </ul>
dynamicTargetingKey :: DynamicTargetingKey

-- | Type of the object of this dynamic targeting key. This is a required
--   field.
dtkObjectType :: Lens' DynamicTargetingKey (Maybe DynamicTargetingKeyObjectType)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#dynamicTargetingKey".
dtkKind :: Lens' DynamicTargetingKey Text

-- | ID of the object of this dynamic targeting key. This is a required
--   field.
dtkObjectId :: Lens' DynamicTargetingKey (Maybe Int64)

-- | Name of this dynamic targeting key. This is a required field. Must be
--   less than 256 characters long and cannot contain commas. All
--   characters are converted to lowercase.
dtkName :: Lens' DynamicTargetingKey (Maybe Text)

-- | Contains properties of a Creative.
--   
--   <i>See:</i> <a>creative</a> smart constructor.
data Creative

-- | Creates a value of <a>Creative</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>creConvertFlashToHTML5</a></li>
--   <li><a>creBackupImageTargetWindow</a></li>
--   <li><a>creRenderingIdDimensionValue</a></li>
--   <li><a>creCustomKeyValues</a></li>
--   <li><a>creSkipOffSet</a></li>
--   <li><a>creVideoDuration</a></li>
--   <li><a>creRenderingId</a></li>
--   <li><a>creThirdPartyBackupImageImpressionsURL</a></li>
--   <li><a>creFsCommand</a></li>
--   <li><a>creAllowScriptAccess</a></li>
--   <li><a>creHTMLCodeLocked</a></li>
--   <li><a>creRequiredFlashPluginVersion</a></li>
--   <li><a>creAuthoringTool</a></li>
--   <li><a>creSize</a></li>
--   <li><a>creThirdPartyURLs</a></li>
--   <li><a>creProgressOffSet</a></li>
--   <li><a>creCounterCustomEvents</a></li>
--   <li><a>creKind</a></li>
--   <li><a>creSSLOverride</a></li>
--   <li><a>creHTMLCode</a></li>
--   <li><a>creAdvertiserId</a></li>
--   <li><a>creRequiredFlashVersion</a></li>
--   <li><a>creBackgRoundColor</a></li>
--   <li><a>creAdTagKeys</a></li>
--   <li><a>creSkippable</a></li>
--   <li><a>creSSLCompliant</a></li>
--   <li><a>creIdDimensionValue</a></li>
--   <li><a>creBackupImageReportingLabel</a></li>
--   <li><a>creCommercialId</a></li>
--   <li><a>creActive</a></li>
--   <li><a>creExitCustomEvents</a></li>
--   <li><a>creAccountId</a></li>
--   <li><a>creBackupImageClickThroughURL</a></li>
--   <li><a>creName</a></li>
--   <li><a>creOverrideCss</a></li>
--   <li><a>creVideoDescription</a></li>
--   <li><a>creClickTags</a></li>
--   <li><a>creAdParameters</a></li>
--   <li><a>creVersion</a></li>
--   <li><a>creLatestTraffickedCreativeId</a></li>
--   <li><a>creThirdPartyRichMediaImpressionsURL</a></li>
--   <li><a>creDynamicAssetSelection</a></li>
--   <li><a>creLastModifiedInfo</a></li>
--   <li><a>creId</a></li>
--   <li><a>creAuthoringSource</a></li>
--   <li><a>creStudioAdvertiserId</a></li>
--   <li><a>creCreativeAssets</a></li>
--   <li><a>creSubAccountId</a></li>
--   <li><a>creType</a></li>
--   <li><a>creTimerCustomEvents</a></li>
--   <li><a>creCreativeAssetSelection</a></li>
--   <li><a>creStudioCreativeId</a></li>
--   <li><a>creCompatibility</a></li>
--   <li><a>creBackupImageFeatures</a></li>
--   <li><a>creArtworkType</a></li>
--   <li><a>creArchived</a></li>
--   <li><a>creCompanionCreatives</a></li>
--   <li><a>creTotalFileSize</a></li>
--   <li><a>creStudioTraffickedCreativeId</a></li>
--   <li><a>creRedirectURL</a></li>
--   <li><a>creAutoAdvanceImages</a></li>
--   <li><a>creCreativeFieldAssignments</a></li>
--   </ul>
creative :: Creative

-- | Whether Flash assets associated with the creative need to be
--   automatically converted to HTML5. This flag is enabled by default and
--   users can choose to disable it if they don't want the system to
--   generate and use HTML5 asset for this creative. Applicable to the
--   following creative type: FLASH_INPAGE. Applicable to DISPLAY when the
--   primary asset type is not HTML_IMAGE.
creConvertFlashToHTML5 :: Lens' Creative (Maybe Bool)

-- | Target window for backup image. Applicable to the following creative
--   types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the
--   primary asset type is not HTML_IMAGE.
creBackupImageTargetWindow :: Lens' Creative (Maybe TargetWindow)

-- | Dimension value for the rendering ID of this creative. This is a
--   read-only field. Applicable to all creative types.
creRenderingIdDimensionValue :: Lens' Creative (Maybe DimensionValue)

-- | Custom key-values for a Rich Media creative. Key-values let you
--   customize the creative settings of a Rich Media ad running on your
--   site without having to contact the advertiser. You can use key-values
--   to dynamically change the look or functionality of a creative.
--   Applicable to the following creative types: all RICH_MEDIA, and all
--   VPAID.
creCustomKeyValues :: Lens' Creative [Text]

-- | Amount of time to play the video before the skip button appears.
--   Applicable to the following creative types: all INSTREAM_VIDEO.
creSkipOffSet :: Lens' Creative (Maybe VideoOffSet)

-- | Creative video duration in seconds. This is a read-only field.
--   Applicable to the following creative types: INSTREAM_VIDEO, all
--   RICH_MEDIA, and all VPAID.
creVideoDuration :: Lens' Creative (Maybe Double)

-- | ID of current rendering version. This is a read-only field. Applicable
--   to all creative types.
creRenderingId :: Lens' Creative (Maybe Int64)

-- | Third-party URL used to record backup image impressions. Applicable to
--   the following creative types: all RICH_MEDIA.
creThirdPartyBackupImageImpressionsURL :: Lens' Creative (Maybe Text)

-- | OpenWindow FSCommand of this creative. This lets the SWF file
--   communicate with either Flash Player or the program hosting Flash
--   Player, such as a web browser. This is only triggered if
--   allowScriptAccess field is true. Applicable to the following creative
--   types: FLASH_INPAGE.
creFsCommand :: Lens' Creative (Maybe FsCommand)

-- | Whether script access is allowed for this creative. This is a
--   read-only and deprecated field which will automatically be set to true
--   on update. Applicable to the following creative types: FLASH_INPAGE.
creAllowScriptAccess :: Lens' Creative (Maybe Bool)

-- | Whether HTML code is DCM-generated or manually entered. Set to true to
--   ignore changes to htmlCode. Applicable to the following creative
--   types: FLASH_INPAGE and HTML5_BANNER.
creHTMLCodeLocked :: Lens' Creative (Maybe Bool)

-- | The minimum required Flash plugin version for this creative. For
--   example, 11.2.202.235. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA, and all VPAID.
creRequiredFlashPluginVersion :: Lens' Creative (Maybe Text)

-- | Authoring tool for HTML5 banner creatives. This is a read-only field.
--   Applicable to the following creative types: HTML5_BANNER.
creAuthoringTool :: Lens' Creative (Maybe CreativeAuthoringTool)

-- | Size associated with this creative. When inserting or updating a
--   creative either the size ID field or size width and height fields can
--   be used. This is a required field when applicable; however for IMAGE,
--   FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset
--   of type HTML_IMAGE, if left blank, this field will be automatically
--   set using the actual size of the associated image assets. Applicable
--   to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY,
--   FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
creSize :: Lens' Creative (Maybe Size)

-- | Third-party URLs for tracking in-stream video creative events.
--   Applicable to the following creative types: all INSTREAM_VIDEO and all
--   VPAID.
creThirdPartyURLs :: Lens' Creative [ThirdPartyTrackingURL]

-- | Amount of time to play the video before counting a view. Applicable to
--   the following creative types: all INSTREAM_VIDEO.
creProgressOffSet :: Lens' Creative (Maybe VideoOffSet)

-- | List of counter events configured for the creative. For
--   DISPLAY_IMAGE_GALLERY creatives, these are read-only and
--   auto-generated from clickTags. Applicable to the following creative
--   types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
creCounterCustomEvents :: Lens' Creative [CreativeCustomEvent]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creative".
creKind :: Lens' Creative Text

-- | Whether creative should be treated as SSL compliant even if the system
--   scan shows it's not. Applicable to all creative types.
creSSLOverride :: Lens' Creative (Maybe Bool)

-- | HTML code for the creative. This is a required field when applicable.
--   This field is ignored if htmlCodeLocked is false. Applicable to the
--   following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER,
--   and all RICH_MEDIA.
creHTMLCode :: Lens' Creative (Maybe Text)

-- | Advertiser ID of this creative. This is a required field. Applicable
--   to all creative types.
creAdvertiserId :: Lens' Creative (Maybe Int64)

-- | The internal Flash version for this creative as calculated by
--   DoubleClick Studio. This is a read-only field. Applicable to the
--   following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
--   Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
creRequiredFlashVersion :: Lens' Creative (Maybe Int32)

-- | The 6-character HTML color code, beginning with #, for the background
--   of the window area where the Flash file is displayed. Default is
--   white. Applicable to the following creative types: FLASH_INPAGE.
creBackgRoundColor :: Lens' Creative (Maybe Text)

-- | Keywords for a Rich Media creative. Keywords let you customize the
--   creative settings of a Rich Media ad running on your site without
--   having to contact the advertiser. You can use keywords to dynamically
--   change the look or functionality of a creative. Applicable to the
--   following creative types: all RICH_MEDIA, and all VPAID.
creAdTagKeys :: Lens' Creative [Text]

-- | Whether the user can choose to skip the creative. Applicable to the
--   following creative types: all INSTREAM_VIDEO and all VPAID.
creSkippable :: Lens' Creative (Maybe Bool)

-- | Whether the creative is SSL-compliant. This is a read-only field.
--   Applicable to all creative types.
creSSLCompliant :: Lens' Creative (Maybe Bool)

-- | Dimension value for the ID of this creative. This is a read-only
--   field. Applicable to all creative types.
creIdDimensionValue :: Lens' Creative (Maybe DimensionValue)

-- | Reporting label used for HTML5 banner backup image. Applicable to the
--   following creative types: DISPLAY when the primary asset type is not
--   HTML_IMAGE.
creBackupImageReportingLabel :: Lens' Creative (Maybe Text)

-- | Industry standard ID assigned to creative for reach and frequency.
--   Applicable to the following creative types: all INSTREAM_VIDEO and all
--   VPAID.
creCommercialId :: Lens' Creative (Maybe Text)

-- | Whether the creative is active. Applicable to all creative types.
creActive :: Lens' Creative (Maybe Bool)

-- | List of exit events configured for the creative. For DISPLAY and
--   DISPLAY_IMAGE_GALLERY creatives, these are read-only and
--   auto-generated from clickTags, For DISPLAY, an event is also created
--   from the backupImageReportingLabel. Applicable to the following
--   creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
--   Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
creExitCustomEvents :: Lens' Creative [CreativeCustomEvent]

-- | Account ID of this creative. This field, if left unset, will be
--   auto-generated for both insert and update operations. Applicable to
--   all creative types.
creAccountId :: Lens' Creative (Maybe Int64)

-- | Click-through URL for backup image. Applicable to the following
--   creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY
--   when the primary asset type is not HTML_IMAGE.
creBackupImageClickThroughURL :: Lens' Creative (Maybe Text)

-- | Name of the creative. This is a required field and must be less than
--   256 characters long. Applicable to all creative types.
creName :: Lens' Creative (Maybe Text)

-- | Override CSS value for rich media creatives. Applicable to the
--   following creative types: all RICH_MEDIA.
creOverrideCss :: Lens' Creative (Maybe Text)

-- | Description of the video ad. Applicable to the following creative
--   types: all INSTREAM_VIDEO and all VPAID.
creVideoDescription :: Lens' Creative (Maybe Text)

-- | Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
--   HTML5_BANNER creatives, this is a subset of detected click tags for
--   the assets associated with this creative. After creating a flash
--   asset, detected click tags will be returned in the
--   creativeAssetMetadata. When inserting the creative, populate the
--   creative clickTags field using the creativeAssetMetadata.clickTags
--   field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
--   one entry in this list for each image creative asset. A click tag is
--   matched with a corresponding creative asset by matching the
--   clickTag.name field with the creativeAsset.assetIdentifier.name field.
--   Applicable to the following creative types: DISPLAY_IMAGE_GALLERY,
--   FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary
--   asset type is not HTML_IMAGE.
creClickTags :: Lens' Creative [ClickTag]

-- | Ad parameters user for VPAID creative. This is a read-only field.
--   Applicable to the following creative types: all VPAID.
creAdParameters :: Lens' Creative (Maybe Text)

-- | The version number helps you keep track of multiple versions of your
--   creative in your reports. The version number will always be
--   auto-generated during insert operations to start at 1. For tracking
--   creatives the version cannot be incremented and will always remain at
--   1. For all other creative types the version can be incremented only by
--   1 during update operations. In addition, the version will be
--   automatically incremented by 1 when undergoing Rich Media creative
--   merging. Applicable to all creative types.
creVersion :: Lens' Creative (Maybe Int32)

-- | Latest Studio trafficked creative ID associated with rich media and
--   VPAID creatives. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA, and all VPAID.
creLatestTraffickedCreativeId :: Lens' Creative (Maybe Int64)

-- | Third-party URL used to record rich media impressions. Applicable to
--   the following creative types: all RICH_MEDIA.
creThirdPartyRichMediaImpressionsURL :: Lens' Creative (Maybe Text)

-- | Set this to true to enable the use of rules to target individual
--   assets in this creative. When set to true creativeAssetSelection must
--   be set. This also controls asset-level companions. When this is true,
--   companion creatives should be assigned to creative assets. Learn more.
--   Applicable to INSTREAM_VIDEO creatives.
creDynamicAssetSelection :: Lens' Creative (Maybe Bool)

-- | Creative last modification information. This is a read-only field.
--   Applicable to all creative types.
creLastModifiedInfo :: Lens' Creative (Maybe LastModifiedInfo)

-- | ID of this creative. This is a read-only, auto-generated field.
--   Applicable to all creative types.
creId :: Lens' Creative (Maybe Int64)

-- | Source application where creative was authored. Presently, only DBM
--   authored creatives will have this field set. Applicable to all
--   creative types.
creAuthoringSource :: Lens' Creative (Maybe CreativeAuthoringSource)

-- | Studio advertiser ID associated with rich media and VPAID creatives.
--   This is a read-only field. Applicable to the following creative types:
--   all RICH_MEDIA, and all VPAID.
creStudioAdvertiserId :: Lens' Creative (Maybe Int64)

-- | Assets associated with a creative. Applicable to all but the following
--   creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and
--   REDIRECT
creCreativeAssets :: Lens' Creative [CreativeAsset]

-- | Subaccount ID of this creative. This field, if left unset, will be
--   auto-generated for both insert and update operations. Applicable to
--   all creative types.
creSubAccountId :: Lens' Creative (Maybe Int64)

-- | Type of this creative. This is a required field. Applicable to all
--   creative types. Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only
--   used for existing creatives. New creatives should use DISPLAY as a
--   replacement for these types.
creType :: Lens' Creative (Maybe CreativeType)

-- | List of timer events configured for the creative. For
--   DISPLAY_IMAGE_GALLERY creatives, these are read-only and
--   auto-generated from clickTags. Applicable to the following creative
--   types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
--   Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
creTimerCustomEvents :: Lens' Creative [CreativeCustomEvent]

-- | Required if dynamicAssetSelection is true.
creCreativeAssetSelection :: Lens' Creative (Maybe CreativeAssetSelection)

-- | Studio creative ID associated with rich media and VPAID creatives.
--   This is a read-only field. Applicable to the following creative types:
--   all RICH_MEDIA, and all VPAID.
creStudioCreativeId :: Lens' Creative (Maybe Int64)

-- | Compatibilities associated with this creative. This is a read-only
--   field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on
--   desktop or on mobile devices or in mobile apps for regular or
--   interstitial ads, respectively. APP and APP_INTERSTITIAL are for
--   rendering in mobile apps. Only pre-existing creatives may have these
--   compatibilities since new creatives will either be assigned DISPLAY or
--   DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in
--   in-stream video ads developed with the VAST standard. Applicable to
--   all creative types. Acceptable values are: - "APP" -
--   "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - "DISPLAY" -
--   "DISPLAY_INTERSTITIAL"
creCompatibility :: Lens' Creative [CreativeCompatibilityItem]

-- | List of feature dependencies that will cause a backup image to be
--   served if the browser that serves the ad does not support them.
--   Feature dependencies are features that a browser must be able to
--   support in order to render your HTML5 creative asset correctly. This
--   field is initially auto-generated to contain all features detected by
--   DCM for all the assets of this creative and can then be modified by
--   the client. To reset this field, copy over all the creativeAssets'
--   detected features. Applicable to the following creative types:
--   HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not
--   HTML_IMAGE.
creBackupImageFeatures :: Lens' Creative [CreativeBackupImageFeaturesItem]

-- | Type of artwork used for the creative. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA, and all
--   VPAID.
creArtworkType :: Lens' Creative (Maybe CreativeArtworkType)

-- | Whether the creative is archived. Applicable to all creative types.
creArchived :: Lens' Creative (Maybe Bool)

-- | List of companion creatives assigned to an in-Stream videocreative.
--   Acceptable values include IDs of existing flash and image creatives.
--   Applicable to the following creative types: all VPAID and all
--   INSTREAM_VIDEO with dynamicAssetSelection set to false.
creCompanionCreatives :: Lens' Creative [Int64]

-- | Combined size of all creative assets. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA, and all
--   VPAID.
creTotalFileSize :: Lens' Creative (Maybe Int64)

-- | Studio trafficked creative ID associated with rich media and VPAID
--   creatives. This is a read-only field. Applicable to the following
--   creative types: all RICH_MEDIA, and all VPAID.
creStudioTraffickedCreativeId :: Lens' Creative (Maybe Int64)

-- | URL of hosted image or hosted video or another ad tag. For
--   INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect
--   URL. The standard for a VAST (Video Ad Serving Template) ad response
--   allows for a redirect link to another VAST 2.0 or 3.0 call. This is a
--   required field when applicable. Applicable to the following creative
--   types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
--   INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
creRedirectURL :: Lens' Creative (Maybe Text)

-- | Whether images are automatically advanced for image gallery creatives.
--   Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
creAutoAdvanceImages :: Lens' Creative (Maybe Bool)

-- | Creative field assignments for this creative. Applicable to all
--   creative types.
creCreativeFieldAssignments :: Lens' Creative [CreativeFieldAssignment]

-- | Site Contact
--   
--   <i>See:</i> <a>siteContact</a> smart constructor.
data SiteContact

-- | Creates a value of <a>SiteContact</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scEmail</a></li>
--   <li><a>scPhone</a></li>
--   <li><a>scLastName</a></li>
--   <li><a>scAddress</a></li>
--   <li><a>scFirstName</a></li>
--   <li><a>scId</a></li>
--   <li><a>scTitle</a></li>
--   <li><a>scContactType</a></li>
--   </ul>
siteContact :: SiteContact

-- | Email address of this site contact. This is a required field.
scEmail :: Lens' SiteContact (Maybe Text)

-- | Primary phone number of this site contact.
scPhone :: Lens' SiteContact (Maybe Text)

-- | Last name of this site contact.
scLastName :: Lens' SiteContact (Maybe Text)

-- | Address of this site contact.
scAddress :: Lens' SiteContact (Maybe Text)

-- | First name of this site contact.
scFirstName :: Lens' SiteContact (Maybe Text)

-- | ID of this site contact. This is a read-only, auto-generated field.
scId :: Lens' SiteContact (Maybe Int64)

-- | Title or designation of this site contact.
scTitle :: Lens' SiteContact (Maybe Text)

-- | Site contact type.
scContactType :: Lens' SiteContact (Maybe SiteContactContactType)

-- | Source application where creative was authored. Presently, only DBM
--   authored creatives will have this field set. Applicable to all
--   creative types.
data CreativeAuthoringSource

-- | <pre>
--   CREATIVE_AUTHORING_SOURCE_DBM
--   </pre>
CreativeAuthoringSourceDBm :: CreativeAuthoringSource

-- | <pre>
--   CREATIVE_AUTHORING_SOURCE_DCM
--   </pre>
CreativeAuthoringSourceDcm :: CreativeAuthoringSource

-- | <pre>
--   CREATIVE_AUTHORING_SOURCE_STUDIO
--   </pre>
CreativeAuthoringSourceStudio :: CreativeAuthoringSource

-- | Account List Response
--   
--   <i>See:</i> <a>accountsListResponse</a> smart constructor.
data AccountsListResponse

-- | Creates a value of <a>AccountsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accNextPageToken</a></li>
--   <li><a>accAccounts</a></li>
--   <li><a>accKind</a></li>
--   </ul>
accountsListResponse :: AccountsListResponse

-- | Pagination token to be used for the next list operation.
accNextPageToken :: Lens' AccountsListResponse (Maybe Text)

-- | Account collection.
accAccounts :: Lens' AccountsListResponse [Account]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountsListResponse".
accKind :: Lens' AccountsListResponse Text

-- | Represents a date range.
--   
--   <i>See:</i> <a>dateRange</a> smart constructor.
data DateRange

-- | Creates a value of <a>DateRange</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drKind</a></li>
--   <li><a>drEndDate</a></li>
--   <li><a>drStartDate</a></li>
--   <li><a>drRelativeDateRange</a></li>
--   </ul>
dateRange :: DateRange

-- | The kind of resource this is, in this case dfareporting#dateRange.
drKind :: Lens' DateRange Text

-- | The end date of the date range, inclusive. A string of the format:
--   "yyyy-MM-dd".
drEndDate :: Lens' DateRange (Maybe Day)

-- | The start date of the date range, inclusive. A string of the format:
--   "yyyy-MM-dd".
drStartDate :: Lens' DateRange (Maybe Day)

-- | The date range relative to the date of when the report is run.
drRelativeDateRange :: Lens' DateRange (Maybe DateRangeRelativeDateRange)
data FloodlightConfigurationStandardVariableTypesItem

-- | <pre>
--   NUM
--   </pre>
Num :: FloodlightConfigurationStandardVariableTypesItem

-- | <pre>
--   ORD
--   </pre>
Ord :: FloodlightConfigurationStandardVariableTypesItem

-- | <pre>
--   TRAN
--   </pre>
Tran :: FloodlightConfigurationStandardVariableTypesItem

-- | <pre>
--   U
--   </pre>
U :: FloodlightConfigurationStandardVariableTypesItem

-- | Represents a Report resource.
--   
--   <i>See:</i> <a>report</a> smart constructor.
data Report

-- | Creates a value of <a>Report</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rDelivery</a></li>
--   <li><a>rEtag</a></li>
--   <li><a>rOwnerProFileId</a></li>
--   <li><a>rSchedule</a></li>
--   <li><a>rPathToConversionCriteria</a></li>
--   <li><a>rKind</a></li>
--   <li><a>rFormat</a></li>
--   <li><a>rReachCriteria</a></li>
--   <li><a>rLastModifiedTime</a></li>
--   <li><a>rAccountId</a></li>
--   <li><a>rName</a></li>
--   <li><a>rId</a></li>
--   <li><a>rCrossDimensionReachCriteria</a></li>
--   <li><a>rType</a></li>
--   <li><a>rSubAccountId</a></li>
--   <li><a>rFloodlightCriteria</a></li>
--   <li><a>rCriteria</a></li>
--   <li><a>rFileName</a></li>
--   </ul>
report :: Report

-- | The report's email delivery settings.
rDelivery :: Lens' Report (Maybe ReportDelivery)

-- | The eTag of this response for caching purposes.
rEtag :: Lens' Report (Maybe Text)

-- | The user profile id of the owner of this report.
rOwnerProFileId :: Lens' Report (Maybe Int64)

-- | The report's schedule. Can only be set if the report's 'dateRange' is
--   a relative date range and the relative date range is not "TODAY".
rSchedule :: Lens' Report (Maybe ReportSchedule)

-- | The report criteria for a report of type "PATH_TO_CONVERSION".
rPathToConversionCriteria :: Lens' Report (Maybe ReportPathToConversionCriteria)

-- | The kind of resource this is, in this case dfareporting#report.
rKind :: Lens' Report Text

-- | The output format of the report. If not specified, default format is
--   "CSV". Note that the actual format in the completed report file might
--   differ if for instance the report's size exceeds the format's
--   capabilities. "CSV" will then be the fallback format.
rFormat :: Lens' Report (Maybe ReportFormat)

-- | The report criteria for a report of type "REACH".
rReachCriteria :: Lens' Report (Maybe ReportReachCriteria)

-- | The timestamp (in milliseconds since epoch) of when this report was
--   last modified.
rLastModifiedTime :: Lens' Report (Maybe Word64)

-- | The account ID to which this report belongs.
rAccountId :: Lens' Report (Maybe Int64)

-- | The name of the report.
rName :: Lens' Report (Maybe Text)

-- | The unique ID identifying this report resource.
rId :: Lens' Report (Maybe Int64)

-- | The report criteria for a report of type "CROSS_DIMENSION_REACH".
rCrossDimensionReachCriteria :: Lens' Report (Maybe ReportCrossDimensionReachCriteria)

-- | The type of the report.
rType :: Lens' Report (Maybe ReportType)

-- | The subaccount ID to which this report belongs if applicable.
rSubAccountId :: Lens' Report (Maybe Int64)

-- | The report criteria for a report of type "FLOODLIGHT".
rFloodlightCriteria :: Lens' Report (Maybe ReportFloodlightCriteria)

-- | The report criteria for a report of type "STANDARD".
rCriteria :: Lens' Report (Maybe ReportCriteria)

-- | The filename used when generating report files for this report.
rFileName :: Lens' Report (Maybe Text)

-- | Payment source for this placement. This is a required field that is
--   read-only after insertion.
data PlacementPaymentSource

-- | <pre>
--   PLACEMENT_AGENCY_PAID
--   </pre>
PPSPlacementAgencyPaid :: PlacementPaymentSource

-- | <pre>
--   PLACEMENT_PUBLISHER_PAID
--   </pre>
PPSPlacementPublisherPaid :: PlacementPaymentSource

-- | A rule associates an asset with a targeting template for asset-level
--   targeting. Applicable to INSTREAM_VIDEO creatives.
--   
--   <i>See:</i> <a>rule</a> smart constructor.
data Rule

-- | Creates a value of <a>Rule</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rulTargetingTemplateId</a></li>
--   <li><a>rulName</a></li>
--   <li><a>rulAssetId</a></li>
--   </ul>
rule :: Rule

-- | A targeting template ID. The targeting from the targeting template
--   will be used to determine whether this asset should be served. This is
--   a required field.
rulTargetingTemplateId :: Lens' Rule (Maybe Int64)

-- | A user-friendly name for this rule. This is a required field.
rulName :: Lens' Rule (Maybe Text)

-- | A creativeAssets[].id. This should refer to one of the parent assets
--   in this creative. This is a required field.
rulAssetId :: Lens' Rule (Maybe Int64)

-- | Order of sorted results, default is 'DESCENDING'.
data ReportsFilesListSortOrder

-- | <tt>ASCENDING</tt> Ascending order.
RFLSOAscending :: ReportsFilesListSortOrder

-- | <tt>DESCENDING</tt> Descending order.
RFLSODescending :: ReportsFilesListSortOrder

-- | Contains properties of a DCM campaign.
--   
--   <i>See:</i> <a>campaign</a> smart constructor.
data Campaign

-- | Creates a value of <a>Campaign</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>camCreativeOptimizationConfiguration</a></li>
--   <li><a>camCreativeGroupIds</a></li>
--   <li><a>camNielsenOCREnabled</a></li>
--   <li><a>camKind</a></li>
--   <li><a>camClickThroughURLSuffixProperties</a></li>
--   <li><a>camAdvertiserId</a></li>
--   <li><a>camEndDate</a></li>
--   <li><a>camAdvertiserIdDimensionValue</a></li>
--   <li><a>camIdDimensionValue</a></li>
--   <li><a>camEventTagOverrides</a></li>
--   <li><a>camLookbackConfiguration</a></li>
--   <li><a>camStartDate</a></li>
--   <li><a>camAccountId</a></li>
--   <li><a>camName</a></li>
--   <li><a>camAdvertiserGroupId</a></li>
--   <li><a>camBillingInvoiceCode</a></li>
--   <li><a>camCreateInfo</a></li>
--   <li><a>camLastModifiedInfo</a></li>
--   <li><a>camId</a></li>
--   <li><a>camSubAccountId</a></li>
--   <li><a>camAdditionalCreativeOptimizationConfigurations</a></li>
--   <li><a>camExternalId</a></li>
--   <li><a>camComment</a></li>
--   <li><a>camAudienceSegmentGroups</a></li>
--   <li><a>camArchived</a></li>
--   <li><a>camTraffickerEmails</a></li>
--   <li><a>camDefaultClickThroughEventTagProperties</a></li>
--   </ul>
campaign :: Campaign

-- | Creative optimization configuration for the campaign.
camCreativeOptimizationConfiguration :: Lens' Campaign (Maybe CreativeOptimizationConfiguration)

-- | List of creative group IDs that are assigned to the campaign.
camCreativeGroupIds :: Lens' Campaign [Int64]

-- | Whether Nielsen reports are enabled for this campaign.
camNielsenOCREnabled :: Lens' Campaign (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#campaign".
camKind :: Lens' Campaign Text

-- | Click-through URL suffix override properties for this campaign.
camClickThroughURLSuffixProperties :: Lens' Campaign (Maybe ClickThroughURLSuffixProperties)

-- | Advertiser ID of this campaign. This is a required field.
camAdvertiserId :: Lens' Campaign (Maybe Int64)

-- | Date on which the campaign will stop running. On insert, the end date
--   must be today or a future date. The end date must be later than or be
--   the same as the start date. If, for example, you set 6/25/2015 as both
--   the start and end dates, the effective campaign run date is just that
--   day only, 6/25/2015. The hours, minutes, and seconds of the end date
--   should not be set, as doing so will result in an error. This is a
--   required field.
camEndDate :: Lens' Campaign (Maybe Day)

-- | Dimension value for the advertiser ID of this campaign. This is a
--   read-only, auto-generated field.
camAdvertiserIdDimensionValue :: Lens' Campaign (Maybe DimensionValue)

-- | Dimension value for the ID of this campaign. This is a read-only,
--   auto-generated field.
camIdDimensionValue :: Lens' Campaign (Maybe DimensionValue)

-- | Overrides that can be used to activate or deactivate advertiser event
--   tags.
camEventTagOverrides :: Lens' Campaign [EventTagOverride]

-- | Lookback window settings for the campaign.
camLookbackConfiguration :: Lens' Campaign (Maybe LookbackConfiguration)

-- | Date on which the campaign starts running. The start date can be any
--   date. The hours, minutes, and seconds of the start date should not be
--   set, as doing so will result in an error. This is a required field.
camStartDate :: Lens' Campaign (Maybe Day)

-- | Account ID of this campaign. This is a read-only field that can be
--   left blank.
camAccountId :: Lens' Campaign (Maybe Int64)

-- | Name of this campaign. This is a required field and must be less than
--   256 characters long and unique among campaigns of the same advertiser.
camName :: Lens' Campaign (Maybe Text)

-- | Advertiser group ID of the associated advertiser.
camAdvertiserGroupId :: Lens' Campaign (Maybe Int64)

-- | Billing invoice code included in the DCM client billing invoices
--   associated with the campaign.
camBillingInvoiceCode :: Lens' Campaign (Maybe Text)

-- | Information about the creation of this campaign. This is a read-only
--   field.
camCreateInfo :: Lens' Campaign (Maybe LastModifiedInfo)

-- | Information about the most recent modification of this campaign. This
--   is a read-only field.
camLastModifiedInfo :: Lens' Campaign (Maybe LastModifiedInfo)

-- | ID of this campaign. This is a read-only auto-generated field.
camId :: Lens' Campaign (Maybe Int64)

-- | Subaccount ID of this campaign. This is a read-only field that can be
--   left blank.
camSubAccountId :: Lens' Campaign (Maybe Int64)

-- | Additional creative optimization configurations for the campaign.
camAdditionalCreativeOptimizationConfigurations :: Lens' Campaign [CreativeOptimizationConfiguration]

-- | External ID for this campaign.
camExternalId :: Lens' Campaign (Maybe Text)

-- | Arbitrary comments about this campaign. Must be less than 256
--   characters long.
camComment :: Lens' Campaign (Maybe Text)

-- | Audience segment groups assigned to this campaign. Cannot have more
--   than 300 segment groups.
camAudienceSegmentGroups :: Lens' Campaign [AudienceSegmentGroup]

-- | Whether this campaign has been archived.
camArchived :: Lens' Campaign (Maybe Bool)

-- | Campaign trafficker contact emails.
camTraffickerEmails :: Lens' Campaign [Text]

-- | Click-through event tag ID override properties for this campaign.
camDefaultClickThroughEventTagProperties :: Lens' Campaign (Maybe DefaultClickThroughEventTagProperties)

-- | Field by which to sort the list.
data InventoryItemsListSortField

-- | <pre>
--   ID
--   </pre>
IILSFID :: InventoryItemsListSortField

-- | <pre>
--   NAME
--   </pre>
IILSFName :: InventoryItemsListSortField

-- | Event tag type. Can be used to specify whether to use a third-party
--   pixel, a third-party JavaScript URL, or a third-party click-through
--   URL for either impression or click tracking. This is a required field.
data EventTagType

-- | <pre>
--   CLICK_THROUGH_EVENT_TAG
--   </pre>
ETTClickThroughEventTag :: EventTagType

-- | <pre>
--   IMPRESSION_IMAGE_EVENT_TAG
--   </pre>
ETTImpressionImageEventTag :: EventTagType

-- | <pre>
--   IMPRESSION_JAVASCRIPT_EVENT_TAG
--   </pre>
ETTImpressionJavascriptEventTag :: EventTagType

-- | Order of sorted results, default is ASCENDING.
data CreativesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CAscending :: CreativesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CDescending :: CreativesListSortOrder

-- | Select only inventory items with this type.
data InventoryItemsListType

-- | <pre>
--   PLANNING_PLACEMENT_TYPE_CREDIT
--   </pre>
PlanningPlacementTypeCredit :: InventoryItemsListType

-- | <pre>
--   PLANNING_PLACEMENT_TYPE_REGULAR
--   </pre>
PlanningPlacementTypeRegular :: InventoryItemsListType

-- | Third Party Authentication Token
--   
--   <i>See:</i> <a>thirdPartyAuthenticationToken</a> smart constructor.
data ThirdPartyAuthenticationToken

-- | Creates a value of <a>ThirdPartyAuthenticationToken</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpatValue</a></li>
--   <li><a>tpatName</a></li>
--   </ul>
thirdPartyAuthenticationToken :: ThirdPartyAuthenticationToken

-- | Value of the third-party authentication token. This is a read-only,
--   auto-generated field.
tpatValue :: Lens' ThirdPartyAuthenticationToken (Maybe Text)

-- | Name of the third-party authentication token.
tpatName :: Lens' ThirdPartyAuthenticationToken (Maybe Text)

-- | Popup window position either centered or at specific coordinate.
data PopupWindowPropertiesPositionType

-- | <pre>
--   CENTER
--   </pre>
Center :: PopupWindowPropertiesPositionType

-- | <pre>
--   COORDINATES
--   </pre>
Coordinates :: PopupWindowPropertiesPositionType

-- | Directory site contact role.
data DirectorySiteContactRole

-- | <pre>
--   ADMIN
--   </pre>
Admin :: DirectorySiteContactRole

-- | <pre>
--   EDIT
--   </pre>
Edit :: DirectorySiteContactRole

-- | <pre>
--   VIEW
--   </pre>
View :: DirectorySiteContactRole

-- | Click-through URL
--   
--   <i>See:</i> <a>clickThroughURL</a> smart constructor.
data ClickThroughURL

-- | Creates a value of <a>ClickThroughURL</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctuDefaultLandingPage</a></li>
--   <li><a>ctuComputedClickThroughURL</a></li>
--   <li><a>ctuCustomClickThroughURL</a></li>
--   <li><a>ctuLandingPageId</a></li>
--   </ul>
clickThroughURL :: ClickThroughURL

-- | Whether the campaign default landing page is used.
ctuDefaultLandingPage :: Lens' ClickThroughURL (Maybe Bool)

-- | Read-only convenience field representing the actual URL that will be
--   used for this click-through. The URL is computed as follows: - If
--   defaultLandingPage is enabled then the campaign's default landing page
--   URL is assigned to this field. - If defaultLandingPage is not enabled
--   and a landingPageId is specified then that landing page's URL is
--   assigned to this field. - If neither of the above cases apply, then
--   the customClickThroughUrl is assigned to this field.
ctuComputedClickThroughURL :: Lens' ClickThroughURL (Maybe Text)

-- | Custom click-through URL. Applicable if the defaultLandingPage field
--   is set to false and the landingPageId field is left unset.
ctuCustomClickThroughURL :: Lens' ClickThroughURL (Maybe Text)

-- | ID of the landing page for the click-through URL. Applicable if the
--   defaultLandingPage field is set to false.
ctuLandingPageId :: Lens' ClickThroughURL (Maybe Int64)

-- | Option specifying how keywords are embedded in ad tags. This setting
--   can be used to specify whether keyword placeholders are inserted in
--   placement tags for this site. Publishers can then add keywords to
--   those placeholders.
data TagSettingKeywordOption

-- | <pre>
--   GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD
--   </pre>
GenerateSeparateTagForEachKeyword :: TagSettingKeywordOption

-- | <pre>
--   IGNORE
--   </pre>
Ignore :: TagSettingKeywordOption

-- | <pre>
--   PLACEHOLDER_WITH_LIST_OF_KEYWORDS
--   </pre>
PlaceholderWithListOfKeywords :: TagSettingKeywordOption

-- | Authoring tool for HTML5 banner creatives. This is a read-only field.
--   Applicable to the following creative types: HTML5_BANNER.
data CreativeAuthoringTool

-- | <pre>
--   NINJA
--   </pre>
Ninja :: CreativeAuthoringTool

-- | <pre>
--   SWIFFY
--   </pre>
Swiffy :: CreativeAuthoringTool

-- | Type of this contact.
data OrderContactContactType

-- | <pre>
--   PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT
--   </pre>
PlanningOrderContactBuyerBillingContact :: OrderContactContactType

-- | <pre>
--   PLANNING_ORDER_CONTACT_BUYER_CONTACT
--   </pre>
PlanningOrderContactBuyerContact :: OrderContactContactType

-- | <pre>
--   PLANNING_ORDER_CONTACT_SELLER_CONTACT
--   </pre>
PlanningOrderContactSellerContact :: OrderContactContactType

-- | Type of asset to upload. This is a required field. FLASH and IMAGE are
--   no longer supported for new uploads. All image assets should use
--   HTML_IMAGE.
data CreativeAssetIdType

-- | <pre>
--   FLASH
--   </pre>
CAITFlash :: CreativeAssetIdType

-- | <pre>
--   HTML
--   </pre>
CAITHTML :: CreativeAssetIdType

-- | <pre>
--   HTML_IMAGE
--   </pre>
CAITHTMLImage :: CreativeAssetIdType

-- | <pre>
--   IMAGE
--   </pre>
CAITImage :: CreativeAssetIdType

-- | <pre>
--   VIDEO
--   </pre>
CAITVideo :: CreativeAssetIdType

-- | Order of sorted results, default is ASCENDING.
data AccountUserProFilesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
AUPFLSOAscending :: AccountUserProFilesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
AUPFLSODescending :: AccountUserProFilesListSortOrder

-- | Product from which this remarketing list was originated.
data RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_ADX
--   </pre>
RLLSRemarketingListSourceAdx :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DBM
--   </pre>
RLLSRemarketingListSourceDBm :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DFA
--   </pre>
RLLSRemarketingListSourceDfa :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DFP
--   </pre>
RLLSRemarketingListSourceDfp :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_DMP
--   </pre>
RLLSRemarketingListSourceDmp :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_GA
--   </pre>
RLLSRemarketingListSourceGa :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_GPLUS
--   </pre>
RLLSRemarketingListSourceGplus :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_OTHER
--   </pre>
RLLSRemarketingListSourceOther :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_PLAY_STORE
--   </pre>
RLLSRemarketingListSourcePlayStore :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_XFP
--   </pre>
RLLSRemarketingListSourceXfp :: RemarketingListListSource

-- | <pre>
--   REMARKETING_LIST_SOURCE_YOUTUBE
--   </pre>
RLLSRemarketingListSourceYouTube :: RemarketingListListSource

-- | Browser List Response
--   
--   <i>See:</i> <a>browsersListResponse</a> smart constructor.
data BrowsersListResponse

-- | Creates a value of <a>BrowsersListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>blrKind</a></li>
--   <li><a>blrBrowsers</a></li>
--   </ul>
browsersListResponse :: BrowsersListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#browsersListResponse".
blrKind :: Lens' BrowsersListResponse Text

-- | Browser collection.
blrBrowsers :: Lens' BrowsersListResponse [Browser]

-- | User type of the user profile. This is a read-only field that can be
--   left blank.
data AccountUserProFileUserAccessType

-- | <pre>
--   INTERNAL_ADMINISTRATOR
--   </pre>
InternalAdministrator :: AccountUserProFileUserAccessType

-- | <pre>
--   NORMAL_USER
--   </pre>
NormalUser :: AccountUserProFileUserAccessType

-- | <pre>
--   READ_ONLY_SUPER_USER
--   </pre>
ReadOnlySuperUser :: AccountUserProFileUserAccessType

-- | <pre>
--   SUPER_USER
--   </pre>
SuperUser :: AccountUserProFileUserAccessType

-- | Initial wait time type before making the asset visible. Applicable to
--   the following creative types: all RICH_MEDIA.
data CreativeAssetStartTimeType

-- | <pre>
--   ASSET_START_TIME_TYPE_CUSTOM
--   </pre>
AssetStartTimeTypeCustom :: CreativeAssetStartTimeType

-- | <pre>
--   ASSET_START_TIME_TYPE_NONE
--   </pre>
AssetStartTimeTypeNone :: CreativeAssetStartTimeType

-- | Audience gender of this project.
data ProjectAudienceGender

-- | <pre>
--   PLANNING_AUDIENCE_GENDER_FEMALE
--   </pre>
PlanningAudienceGenderFemale :: ProjectAudienceGender

-- | <pre>
--   PLANNING_AUDIENCE_GENDER_MALE
--   </pre>
PlanningAudienceGenderMale :: ProjectAudienceGender

-- | Site Settings
--   
--   <i>See:</i> <a>siteSettings</a> smart constructor.
data SiteSettings

-- | Creates a value of <a>SiteSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssDisableNewCookie</a></li>
--   <li><a>ssVideoActiveViewOptOutTemplate</a></li>
--   <li><a>ssDisableBrandSafeAds</a></li>
--   <li><a>ssLookbackConfiguration</a></li>
--   <li><a>ssTagSetting</a></li>
--   <li><a>ssActiveViewOptOut</a></li>
--   <li><a>ssVpaidAdapterChoiceTemplate</a></li>
--   <li><a>ssCreativeSettings</a></li>
--   </ul>
siteSettings :: SiteSettings

-- | Whether new cookies are disabled for this site.
ssDisableNewCookie :: Lens' SiteSettings (Maybe Bool)

-- | Whether Verification and ActiveView for in-stream video creatives are
--   disabled by default for new placements created under this site. This
--   value will be used to populate the placement.videoActiveViewOptOut
--   field, when no value is specified for the new placement.
ssVideoActiveViewOptOutTemplate :: Lens' SiteSettings (Maybe Bool)

-- | Whether brand safe ads are disabled for this site.
ssDisableBrandSafeAds :: Lens' SiteSettings (Maybe Bool)

-- | Lookback window settings for this site.
ssLookbackConfiguration :: Lens' SiteSettings (Maybe LookbackConfiguration)

-- | Configuration settings for dynamic and image floodlight tags.
ssTagSetting :: Lens' SiteSettings (Maybe TagSetting)

-- | Whether active view creatives are disabled for this site.
ssActiveViewOptOut :: Lens' SiteSettings (Maybe Bool)

-- | Default VPAID adapter setting for new placements created under this
--   site. This value will be used to populate the
--   placements.vpaidAdapterChoice field, when no value is specified for
--   the new placement. Controls which VPAID format the measurement adapter
--   will use for in-stream video creatives assigned to the placement. The
--   publisher's specifications will typically determine this setting. For
--   VPAID creatives, the adapter format will match the VPAID format (HTML5
--   VPAID creatives use the HTML5 adapter, and Flash VPAID creatives use
--   the Flash adapter).
ssVpaidAdapterChoiceTemplate :: Lens' SiteSettings (Maybe SiteSettingsVpaidAdapterChoiceTemplate)

-- | Site-wide creative settings.
ssCreativeSettings :: Lens' SiteSettings (Maybe CreativeSettings)

-- | Field by which to sort the list.
data PlacementStrategiesListSortField

-- | <pre>
--   ID
--   </pre>
PSLSFID :: PlacementStrategiesListSortField

-- | <pre>
--   NAME
--   </pre>
PSLSFName :: PlacementStrategiesListSortField

-- | Content Category List Response
--   
--   <i>See:</i> <a>contentCategoriesListResponse</a> smart constructor.
data ContentCategoriesListResponse

-- | Creates a value of <a>ContentCategoriesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cclrNextPageToken</a></li>
--   <li><a>cclrKind</a></li>
--   <li><a>cclrContentCategories</a></li>
--   </ul>
contentCategoriesListResponse :: ContentCategoriesListResponse

-- | Pagination token to be used for the next list operation.
cclrNextPageToken :: Lens' ContentCategoriesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#contentCategoriesListResponse".
cclrKind :: Lens' ContentCategoriesListResponse Text

-- | Content category collection.
cclrContentCategories :: Lens' ContentCategoriesListResponse [ContentCategory]

-- | Data type for the variable. This is a required field.
data UserDefinedVariableConfigurationDataType

-- | <pre>
--   NUMBER
--   </pre>
Number :: UserDefinedVariableConfigurationDataType

-- | <pre>
--   STRING
--   </pre>
String :: UserDefinedVariableConfigurationDataType

-- | Code type used for cache busting in the generated tag.
data FloodlightActivityCacheBustingType

-- | <pre>
--   ACTIVE_SERVER_PAGE
--   </pre>
ActiveServerPage :: FloodlightActivityCacheBustingType

-- | <pre>
--   COLD_FUSION
--   </pre>
ColdFusion :: FloodlightActivityCacheBustingType

-- | <pre>
--   JAVASCRIPT
--   </pre>
Javascript :: FloodlightActivityCacheBustingType

-- | <pre>
--   JSP
--   </pre>
Jsp :: FloodlightActivityCacheBustingType

-- | <pre>
--   PHP
--   </pre>
Php :: FloodlightActivityCacheBustingType

-- | Creative List Response
--   
--   <i>See:</i> <a>creativesListResponse</a> smart constructor.
data CreativesListResponse

-- | Creates a value of <a>CreativesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clrlNextPageToken</a></li>
--   <li><a>clrlKind</a></li>
--   <li><a>clrlCreatives</a></li>
--   </ul>
creativesListResponse :: CreativesListResponse

-- | Pagination token to be used for the next list operation.
clrlNextPageToken :: Lens' CreativesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativesListResponse".
clrlKind :: Lens' CreativesListResponse Text

-- | Creative collection.
clrlCreatives :: Lens' CreativesListResponse [Creative]

-- | Order of sorted results, default is ASCENDING.
data CreativeGroupsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CGLSOAscending :: CreativeGroupsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CGLSODescending :: CreativeGroupsListSortOrder

-- | Type of this order document
data OrderDocumentType

-- | <pre>
--   PLANNING_ORDER_TYPE_CHANGE_ORDER
--   </pre>
PlanningOrderTypeChangeOrder :: OrderDocumentType

-- | <pre>
--   PLANNING_ORDER_TYPE_INSERTION_ORDER
--   </pre>
PlanningOrderTypeInsertionOrder :: OrderDocumentType

-- | TagData tag format of this tag.
data TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_CLICK_COMMANDS
--   </pre>
PlacementTagClickCommands :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_IFRAME_ILAYER
--   </pre>
PlacementTagIframeIlayer :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT
--   </pre>
PlacementTagIframeJavascript :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PlacementTagIframeJavascriptLegacy :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH
--   </pre>
PlacementTagInstreamVideoPrefetch :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3
--   </pre>
PlacementTagInstreamVideoPrefetchVast3 :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERNAL_REDIRECT
--   </pre>
PlacementTagInternalRedirect :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT
--   </pre>
PlacementTagInterstitialIframeJavascript :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PlacementTagInterstitialIframeJavascriptLegacy :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
PlacementTagInterstitialInternalRedirect :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT
--   </pre>
PlacementTagInterstitialJavascript :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY
--   </pre>
PlacementTagInterstitialJavascriptLegacy :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT
--   </pre>
PlacementTagJavascript :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT_LEGACY
--   </pre>
PlacementTagJavascriptLegacy :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_STANDARD
--   </pre>
PlacementTagStandard :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_TRACKING
--   </pre>
PlacementTagTracking :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_TRACKING_IFRAME
--   </pre>
PlacementTagTrackingIframe :: TagDataFormat

-- | <pre>
--   PLACEMENT_TAG_TRACKING_JAVASCRIPT
--   </pre>
PlacementTagTrackingJavascript :: TagDataFormat

-- | Contains properties of a DCM account.
--   
--   <i>See:</i> <a>account</a> smart constructor.
data Account

-- | Creates a value of <a>Account</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaAccountPermissionIds</a></li>
--   <li><a>aaMaximumImageSize</a></li>
--   <li><a>aaCurrencyId</a></li>
--   <li><a>aaReportsConfiguration</a></li>
--   <li><a>aaNielsenOCREnabled</a></li>
--   <li><a>aaKind</a></li>
--   <li><a>aaLocale</a></li>
--   <li><a>aaActive</a></li>
--   <li><a>aaAvailablePermissionIds</a></li>
--   <li><a>aaTeaserSizeLimit</a></li>
--   <li><a>aaActiveViewOptOut</a></li>
--   <li><a>aaShareReportsWithTwitter</a></li>
--   <li><a>aaName</a></li>
--   <li><a>aaAccountProFile</a></li>
--   <li><a>aaId</a></li>
--   <li><a>aaCountryId</a></li>
--   <li><a>aaActiveAdsLimitTier</a></li>
--   <li><a>aaDefaultCreativeSizeId</a></li>
--   <li><a>aaDescription</a></li>
--   </ul>
account :: Account

-- | Account permissions assigned to this account.
aaAccountPermissionIds :: Lens' Account [Int64]

-- | Maximum image size allowed for this account.
aaMaximumImageSize :: Lens' Account (Maybe Int64)

-- | ID of currency associated with this account. This is a required field.
--   Acceptable values are: - "1" for USD - "2" for GBP - "3" for ESP - "4"
--   for SEK - "5" for CAD - "6" for JPY - "7" for DEM - "8" for AUD - "9"
--   for FRF - "10" for ITL - "11" for DKK - "12" for NOK - "13" for FIM -
--   "14" for ZAR - "15" for IEP - "16" for NLG - "17" for EUR - "18" for
--   KRW - "19" for TWD - "20" for SGD - "21" for CNY - "22" for HKD - "23"
--   for NZD - "24" for MYR - "25" for BRL - "26" for PTE - "27" for MXP -
--   "28" for CLP - "29" for TRY - "30" for ARS - "31" for PEN - "32" for
--   ILS - "33" for CHF - "34" for VEF - "35" for COP - "36" for GTQ - "37"
--   for PLN - "39" for INR - "40" for THB - "41" for IDR - "42" for CZK -
--   "43" for RON - "44" for HUF - "45" for RUB - "46" for AED - "47" for
--   BGN - "48" for HRK
aaCurrencyId :: Lens' Account (Maybe Int64)

-- | Reporting configuration of this account.
aaReportsConfiguration :: Lens' Account (Maybe ReportsConfiguration)

-- | Whether campaigns created in this account will be enabled for Nielsen
--   OCR reach ratings by default.
aaNielsenOCREnabled :: Lens' Account (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#account".
aaKind :: Lens' Account Text

-- | Locale of this account. Acceptable values are: - "cs" (Czech) - "de"
--   (German) - "en" (English) - "en-GB" (English United Kingdom) - "es"
--   (Spanish) - "fr" (French) - "it" (Italian) - "ja" (Japanese) - "ko"
--   (Korean) - "pl" (Polish) - "pt-BR" (Portuguese Brazil) - "ru"
--   (Russian) - "sv" (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese
--   Simplified) - "zh-TW" (Chinese Traditional)
aaLocale :: Lens' Account (Maybe Text)

-- | Whether this account is active.
aaActive :: Lens' Account (Maybe Bool)

-- | User role permissions available to the user roles of this account.
aaAvailablePermissionIds :: Lens' Account [Int64]

-- | File size limit in kilobytes of Rich Media teaser creatives. Must be
--   between 1 and 10240.
aaTeaserSizeLimit :: Lens' Account (Maybe Int64)

-- | Whether to serve creatives with Active View tags. If disabled,
--   viewability data will not be available for any impressions.
aaActiveViewOptOut :: Lens' Account (Maybe Bool)

-- | Share Path to Conversion reports with Twitter.
aaShareReportsWithTwitter :: Lens' Account (Maybe Bool)

-- | Name of this account. This is a required field, and must be less than
--   128 characters long and be globally unique.
aaName :: Lens' Account (Maybe Text)

-- | Profile for this account. This is a read-only field that can be left
--   blank.
aaAccountProFile :: Lens' Account (Maybe AccountAccountProFile)

-- | ID of this account. This is a read-only, auto-generated field.
aaId :: Lens' Account (Maybe Int64)

-- | ID of the country associated with this account.
aaCountryId :: Lens' Account (Maybe Int64)

-- | Maximum number of active ads allowed for this account.
aaActiveAdsLimitTier :: Lens' Account (Maybe AccountActiveAdsLimitTier)

-- | Default placement dimensions for this account.
aaDefaultCreativeSizeId :: Lens' Account (Maybe Int64)

-- | Description of this account.
aaDescription :: Lens' Account (Maybe Text)

-- | Insert Conversions Request.
--   
--   <i>See:</i> <a>conversionsBatchInsertRequest</a> smart constructor.
data ConversionsBatchInsertRequest

-- | Creates a value of <a>ConversionsBatchInsertRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbirKind</a></li>
--   <li><a>cbirConversions</a></li>
--   <li><a>cbirEncryptionInfo</a></li>
--   </ul>
conversionsBatchInsertRequest :: ConversionsBatchInsertRequest

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversionsBatchInsertRequest".
cbirKind :: Lens' ConversionsBatchInsertRequest Text

-- | The set of conversions to insert.
cbirConversions :: Lens' ConversionsBatchInsertRequest [Conversion]

-- | Describes how encryptedUserId or encryptedUserIdCandidates[] is
--   encrypted. This is a required field if encryptedUserId or
--   encryptedUserIdCandidates[] is used.
cbirEncryptionInfo :: Lens' ConversionsBatchInsertRequest (Maybe EncryptionInfo)

-- | Maximum number of active ads allowed for the account.
data AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_100K
--   </pre>
ActiveAdsTier100K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_200K
--   </pre>
ActiveAdsTier200K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_300K
--   </pre>
ActiveAdsTier300K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_40K
--   </pre>
ActiveAdsTier40K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_500K
--   </pre>
ActiveAdsTier500K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_750K
--   </pre>
ActiveAdsTier750K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_75K
--   </pre>
ActiveAdsTier75K :: AccountActiveAdSummaryActiveAdsLimitTier

-- | Rich media child asset type. This is a read-only field. Applicable to
--   the following creative types: all VPAID.
data CreativeAssetChildAssetType

-- | <pre>
--   CHILD_ASSET_TYPE_DATA
--   </pre>
ChildAssetTypeData :: CreativeAssetChildAssetType

-- | <pre>
--   CHILD_ASSET_TYPE_FLASH
--   </pre>
ChildAssetTypeFlash :: CreativeAssetChildAssetType

-- | <pre>
--   CHILD_ASSET_TYPE_IMAGE
--   </pre>
ChildAssetTypeImage :: CreativeAssetChildAssetType

-- | <pre>
--   CHILD_ASSET_TYPE_VIDEO
--   </pre>
ChildAssetTypeVideo :: CreativeAssetChildAssetType

-- | Select only placement groups belonging with this group type. A package
--   is a simple group of placements that acts as a single pricing point
--   for a group of tags. A roadblock is a group of placements that not
--   only acts as a single pricing point but also assumes that all the tags
--   in it will be served at the same time. A roadblock requires one of its
--   assigned placements to be marked as primary for reporting.
data PlacementGroupsListPlacementGroupType

-- | <pre>
--   PLACEMENT_PACKAGE
--   </pre>
PlacementPackage :: PlacementGroupsListPlacementGroupType

-- | <pre>
--   PLACEMENT_ROADBLOCK
--   </pre>
PlacementRoadblock :: PlacementGroupsListPlacementGroupType

-- | Account User Profile List Response
--   
--   <i>See:</i> <a>accountUserProFilesListResponse</a> smart constructor.
data AccountUserProFilesListResponse

-- | Creates a value of <a>AccountUserProFilesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aupflrNextPageToken</a></li>
--   <li><a>aupflrAccountUserProFiles</a></li>
--   <li><a>aupflrKind</a></li>
--   </ul>
accountUserProFilesListResponse :: AccountUserProFilesListResponse

-- | Pagination token to be used for the next list operation.
aupflrNextPageToken :: Lens' AccountUserProFilesListResponse (Maybe Text)

-- | Account user profile collection.
aupflrAccountUserProFiles :: Lens' AccountUserProFilesListResponse [AccountUserProFile]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountUserProfilesListResponse".
aupflrKind :: Lens' AccountUserProFilesListResponse Text

-- | Organizes placements according to the contents of their associated
--   webpages.
--   
--   <i>See:</i> <a>contentCategory</a> smart constructor.
data ContentCategory

-- | Creates a value of <a>ContentCategory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>conKind</a></li>
--   <li><a>conAccountId</a></li>
--   <li><a>conName</a></li>
--   <li><a>conId</a></li>
--   </ul>
contentCategory :: ContentCategory

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#contentCategory".
conKind :: Lens' ContentCategory Text

-- | Account ID of this content category. This is a read-only field that
--   can be left blank.
conAccountId :: Lens' ContentCategory (Maybe Int64)

-- | Name of this content category. This is a required field and must be
--   less than 256 characters long and unique among content categories of
--   the same account.
conName :: Lens' ContentCategory (Maybe Text)

-- | ID of this content category. This is a read-only, auto-generated
--   field.
conId :: Lens' ContentCategory (Maybe Int64)

-- | Status of the filter. NONE means the user has access to none of the
--   objects. ALL means the user has access to all objects. ASSIGNED means
--   the user has access to the objects with IDs in the objectIds list.
data ObjectFilterStatus

-- | <pre>
--   ALL
--   </pre>
OFSAll :: ObjectFilterStatus

-- | <pre>
--   ASSIGNED
--   </pre>
OFSAssigned :: ObjectFilterStatus

-- | <pre>
--   NONE
--   </pre>
OFSNone :: ObjectFilterStatus

-- | Represents fields that are compatible to be selected for a report of
--   type "STANDARD".
--   
--   <i>See:</i> <a>reportCompatibleFields</a> smart constructor.
data ReportCompatibleFields

-- | Creates a value of <a>ReportCompatibleFields</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcfMetrics</a></li>
--   <li><a>rcfKind</a></li>
--   <li><a>rcfDimensionFilters</a></li>
--   <li><a>rcfPivotedActivityMetrics</a></li>
--   <li><a>rcfDimensions</a></li>
--   </ul>
reportCompatibleFields :: ReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
rcfMetrics :: Lens' ReportCompatibleFields [Metric]

-- | The kind of resource this is, in this case
--   dfareporting#reportCompatibleFields.
rcfKind :: Lens' ReportCompatibleFields Text

-- | Dimensions which are compatible to be selected in the
--   "dimensionFilters" section of the report.
rcfDimensionFilters :: Lens' ReportCompatibleFields [Dimension]

-- | Metrics which are compatible to be selected as activity metrics to
--   pivot on in the "activities" section of the report.
rcfPivotedActivityMetrics :: Lens' ReportCompatibleFields [Metric]

-- | Dimensions which are compatible to be selected in the "dimensions"
--   section of the report.
rcfDimensions :: Lens' ReportCompatibleFields [Dimension]

-- | Order of sorted results, default is ASCENDING.
data CampaignCreativeAssociationsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CCALSOAscending :: CampaignCreativeAssociationsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CCALSODescending :: CampaignCreativeAssociationsListSortOrder

-- | Delivery Schedule.
--   
--   <i>See:</i> <a>deliverySchedule</a> smart constructor.
data DeliverySchedule

-- | Creates a value of <a>DeliverySchedule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsHardCutoff</a></li>
--   <li><a>dsPriority</a></li>
--   <li><a>dsImpressionRatio</a></li>
--   <li><a>dsFrequencyCap</a></li>
--   </ul>
deliverySchedule :: DeliverySchedule

-- | Whether or not hard cutoff is enabled. If true, the ad will not serve
--   after the end date and time. Otherwise the ad will continue to be
--   served until it has reached its delivery goals.
dsHardCutoff :: Lens' DeliverySchedule (Maybe Bool)

-- | Serving priority of an ad, with respect to other ads. The lower the
--   priority number, the greater the priority with which it is served.
dsPriority :: Lens' DeliverySchedule (Maybe DeliverySchedulePriority)

-- | Impression ratio for this ad. This ratio determines how often each ad
--   is served relative to the others. For example, if ad A has an
--   impression ratio of 1 and ad B has an impression ratio of 3, then DCM
--   will serve ad B three times as often as ad A. Must be between 1 and
--   10.
dsImpressionRatio :: Lens' DeliverySchedule (Maybe Int64)

-- | Limit on the number of times an individual user can be served the ad
--   within a specified period of time.
dsFrequencyCap :: Lens' DeliverySchedule (Maybe FrequencyCap)

-- | Contains properties of a remarketing list. Remarketing enables you to
--   create lists of users who have performed specific actions on a site,
--   then target ads to members of those lists. This resource can be used
--   to manage remarketing lists that are owned by your advertisers. To see
--   all remarketing lists that are visible to your advertisers, including
--   those that are shared to your advertiser or account, use the
--   TargetableRemarketingLists resource.
--   
--   <i>See:</i> <a>remarketingList</a> smart constructor.
data RemarketingList

-- | Creates a value of <a>RemarketingList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlListSize</a></li>
--   <li><a>rlListPopulationRule</a></li>
--   <li><a>rlLifeSpan</a></li>
--   <li><a>rlKind</a></li>
--   <li><a>rlAdvertiserId</a></li>
--   <li><a>rlAdvertiserIdDimensionValue</a></li>
--   <li><a>rlActive</a></li>
--   <li><a>rlAccountId</a></li>
--   <li><a>rlName</a></li>
--   <li><a>rlListSource</a></li>
--   <li><a>rlId</a></li>
--   <li><a>rlSubAccountId</a></li>
--   <li><a>rlDescription</a></li>
--   </ul>
remarketingList :: RemarketingList

-- | Number of users currently in the list. This is a read-only field.
rlListSize :: Lens' RemarketingList (Maybe Int64)

-- | Rule used to populate the remarketing list with users.
rlListPopulationRule :: Lens' RemarketingList (Maybe ListPopulationRule)

-- | Number of days that a user should remain in the remarketing list
--   without an impression.
rlLifeSpan :: Lens' RemarketingList (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#remarketingList".
rlKind :: Lens' RemarketingList Text

-- | Dimension value for the advertiser ID that owns this remarketing list.
--   This is a required field.
rlAdvertiserId :: Lens' RemarketingList (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
rlAdvertiserIdDimensionValue :: Lens' RemarketingList (Maybe DimensionValue)

-- | Whether this remarketing list is active.
rlActive :: Lens' RemarketingList (Maybe Bool)

-- | Account ID of this remarketing list. This is a read-only,
--   auto-generated field that is only returned in GET requests.
rlAccountId :: Lens' RemarketingList (Maybe Int64)

-- | Name of the remarketing list. This is a required field. Must be no
--   greater than 128 characters long.
rlName :: Lens' RemarketingList (Maybe Text)

-- | Product from which this remarketing list was originated.
rlListSource :: Lens' RemarketingList (Maybe RemarketingListListSource)

-- | Remarketing list ID. This is a read-only, auto-generated field.
rlId :: Lens' RemarketingList (Maybe Int64)

-- | Subaccount ID of this remarketing list. This is a read-only,
--   auto-generated field that is only returned in GET requests.
rlSubAccountId :: Lens' RemarketingList (Maybe Int64)

-- | Remarketing list description.
rlDescription :: Lens' RemarketingList (Maybe Text)

-- | Field by which to sort the list.
data FloodlightActivitiesListSortField

-- | <pre>
--   ID
--   </pre>
FALSFID :: FloodlightActivitiesListSortField

-- | <pre>
--   NAME
--   </pre>
FALSFName :: FloodlightActivitiesListSortField

-- | Dynamic Targeting Key List Response
--   
--   <i>See:</i> <a>dynamicTargetingKeysListResponse</a> smart constructor.
data DynamicTargetingKeysListResponse

-- | Creates a value of <a>DynamicTargetingKeysListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtklrKind</a></li>
--   <li><a>dtklrDynamicTargetingKeys</a></li>
--   </ul>
dynamicTargetingKeysListResponse :: DynamicTargetingKeysListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#dynamicTargetingKeysListResponse".
dtklrKind :: Lens' DynamicTargetingKeysListResponse Text

-- | Dynamic targeting key collection.
dtklrDynamicTargetingKeys :: Lens' DynamicTargetingKeysListResponse [DynamicTargetingKey]

-- | Represents the list of DimensionValue resources.
--   
--   <i>See:</i> <a>dimensionValueList</a> smart constructor.
data DimensionValueList

-- | Creates a value of <a>DimensionValueList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvlEtag</a></li>
--   <li><a>dvlNextPageToken</a></li>
--   <li><a>dvlKind</a></li>
--   <li><a>dvlItems</a></li>
--   </ul>
dimensionValueList :: DimensionValueList

-- | The eTag of this response for caching purposes.
dvlEtag :: Lens' DimensionValueList (Maybe Text)

-- | Continuation token used to page through dimension values. To retrieve
--   the next page of results, set the next request's "pageToken" to the
--   value of this field. The page token is only valid for a limited amount
--   of time and should not be persisted.
dvlNextPageToken :: Lens' DimensionValueList (Maybe Text)

-- | The kind of list this is, in this case
--   dfareporting#dimensionValueList.
dvlKind :: Lens' DimensionValueList Text

-- | The dimension values returned in this response.
dvlItems :: Lens' DimensionValueList [DimensionValue]

-- | Represents fields that are compatible to be selected for a report of
--   type "FlOODLIGHT".
--   
--   <i>See:</i> <a>floodlightReportCompatibleFields</a> smart constructor.
data FloodlightReportCompatibleFields

-- | Creates a value of <a>FloodlightReportCompatibleFields</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>frcfMetrics</a></li>
--   <li><a>frcfKind</a></li>
--   <li><a>frcfDimensionFilters</a></li>
--   <li><a>frcfDimensions</a></li>
--   </ul>
floodlightReportCompatibleFields :: FloodlightReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
frcfMetrics :: Lens' FloodlightReportCompatibleFields [Metric]

-- | The kind of resource this is, in this case
--   dfareporting#floodlightReportCompatibleFields.
frcfKind :: Lens' FloodlightReportCompatibleFields Text

-- | Dimensions which are compatible to be selected in the
--   "dimensionFilters" section of the report.
frcfDimensionFilters :: Lens' FloodlightReportCompatibleFields [Dimension]

-- | Dimensions which are compatible to be selected in the "dimensions"
--   section of the report.
frcfDimensions :: Lens' FloodlightReportCompatibleFields [Dimension]

-- | Represents a grouping of related user role permissions.
--   
--   <i>See:</i> <a>userRolePermissionGroup</a> smart constructor.
data UserRolePermissionGroup

-- | Creates a value of <a>UserRolePermissionGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urpgKind</a></li>
--   <li><a>urpgName</a></li>
--   <li><a>urpgId</a></li>
--   </ul>
userRolePermissionGroup :: UserRolePermissionGroup

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolePermissionGroup".
urpgKind :: Lens' UserRolePermissionGroup Text

-- | Name of this user role permission group.
urpgName :: Lens' UserRolePermissionGroup (Maybe Text)

-- | ID of this user role permission.
urpgId :: Lens' UserRolePermissionGroup (Maybe Int64)

-- | Select only creatives with these creative types.
data CreativesListTypes

-- | <pre>
--   BRAND_SAFE_DEFAULT_INSTREAM_VIDEO
--   </pre>
CLTBrandSafeDefaultInstreamVideo :: CreativesListTypes

-- | <pre>
--   CUSTOM_DISPLAY
--   </pre>
CLTCustomDisplay :: CreativesListTypes

-- | <pre>
--   CUSTOM_DISPLAY_INTERSTITIAL
--   </pre>
CLTCustomDisplayInterstitial :: CreativesListTypes

-- | <pre>
--   DISPLAY
--   </pre>
CLTDisplay :: CreativesListTypes

-- | <pre>
--   DISPLAY_IMAGE_GALLERY
--   </pre>
CLTDisplayImageGallery :: CreativesListTypes

-- | <pre>
--   DISPLAY_REDIRECT
--   </pre>
CLTDisplayRedirect :: CreativesListTypes

-- | <pre>
--   FLASH_INPAGE
--   </pre>
CLTFlashInpage :: CreativesListTypes

-- | <pre>
--   HTML5_BANNER
--   </pre>
CLTHTML5Banner :: CreativesListTypes

-- | <pre>
--   IMAGE
--   </pre>
CLTImage :: CreativesListTypes

-- | <pre>
--   INSTREAM_VIDEO
--   </pre>
CLTInstreamVideo :: CreativesListTypes

-- | <pre>
--   INSTREAM_VIDEO_REDIRECT
--   </pre>
CLTInstreamVideoRedirect :: CreativesListTypes

-- | <pre>
--   INTERNAL_REDIRECT
--   </pre>
CLTInternalRedirect :: CreativesListTypes

-- | <pre>
--   INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
CLTInterstitialInternalRedirect :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_DISPLAY_BANNER
--   </pre>
CLTRichMediaDisplayBanner :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_DISPLAY_EXPANDING
--   </pre>
CLTRichMediaDisplayExpanding :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_DISPLAY_INTERSTITIAL
--   </pre>
CLTRichMediaDisplayInterstitial :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL
--   </pre>
CLTRichMediaDisplayMultiFloatingInterstitial :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_IM_EXPAND
--   </pre>
CLTRichMediaImExpand :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_INPAGE_FLOATING
--   </pre>
CLTRichMediaInpageFloating :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_MOBILE_IN_APP
--   </pre>
CLTRichMediaMobileInApp :: CreativesListTypes

-- | <pre>
--   RICH_MEDIA_PEEL_DOWN
--   </pre>
CLTRichMediaPeelDown :: CreativesListTypes

-- | <pre>
--   TRACKING_TEXT
--   </pre>
CLTTrackingText :: CreativesListTypes

-- | <pre>
--   VPAID_LINEAR_VIDEO
--   </pre>
CLTVpaidLinearVideo :: CreativesListTypes

-- | <pre>
--   VPAID_NON_LINEAR_VIDEO
--   </pre>
CLTVpaidNonLinearVideo :: CreativesListTypes
data DirectorySiteInpageTagFormatsItem

-- | <pre>
--   IFRAME_JAVASCRIPT_INPAGE
--   </pre>
IframeJavascriptInpage :: DirectorySiteInpageTagFormatsItem

-- | <pre>
--   INTERNAL_REDIRECT_INPAGE
--   </pre>
InternalRedirectInpage :: DirectorySiteInpageTagFormatsItem

-- | <pre>
--   JAVASCRIPT_INPAGE
--   </pre>
JavascriptInpage :: DirectorySiteInpageTagFormatsItem

-- | <pre>
--   STANDARD
--   </pre>
Standard :: DirectorySiteInpageTagFormatsItem

-- | Tag Settings
--   
--   <i>See:</i> <a>tagSetting</a> smart constructor.
data TagSetting

-- | Creates a value of <a>TagSetting</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsKeywordOption</a></li>
--   <li><a>tsIncludeClickThroughURLs</a></li>
--   <li><a>tsIncludeClickTracking</a></li>
--   <li><a>tsAdditionalKeyValues</a></li>
--   </ul>
tagSetting :: TagSetting

-- | Option specifying how keywords are embedded in ad tags. This setting
--   can be used to specify whether keyword placeholders are inserted in
--   placement tags for this site. Publishers can then add keywords to
--   those placeholders.
tsKeywordOption :: Lens' TagSetting (Maybe TagSettingKeywordOption)

-- | Whether static landing page URLs should be included in the tags. This
--   setting applies only to placements.
tsIncludeClickThroughURLs :: Lens' TagSetting (Maybe Bool)

-- | Whether click-tracking string should be included in the tags.
tsIncludeClickTracking :: Lens' TagSetting (Maybe Bool)

-- | Additional key-values to be included in tags. Each key-value pair must
--   be of the form key=value, and pairs must be separated by a semicolon
--   (;). Keys and values must not contain commas. For example,
--   id=2;color=red is a valid value for this field.
tsAdditionalKeyValues :: Lens' TagSetting (Maybe Text)

-- | Window mode options for flash assets. Applicable to the following
--   creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
--   RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
--   RICH_MEDIA_INPAGE_FLOATING.
data CreativeAssetWindowMode

-- | <pre>
--   OPAQUE
--   </pre>
Opaque :: CreativeAssetWindowMode

-- | <pre>
--   TRANSPARENT
--   </pre>
Transparent :: CreativeAssetWindowMode

-- | <pre>
--   WINDOW
--   </pre>
Window :: CreativeAssetWindowMode

-- | Possible alignments for an asset. This is a read-only field.
--   Applicable to the following creative types:
--   RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
data CreativeAssetAlignment

-- | <pre>
--   ALIGNMENT_BOTTOM
--   </pre>
AlignmentBottom :: CreativeAssetAlignment

-- | <pre>
--   ALIGNMENT_LEFT
--   </pre>
AlignmentLeft :: CreativeAssetAlignment

-- | <pre>
--   ALIGNMENT_RIGHT
--   </pre>
AlignmentRight :: CreativeAssetAlignment

-- | <pre>
--   ALIGNMENT_TOP
--   </pre>
AlignmentTop :: CreativeAssetAlignment

-- | Order of sorted results, default is ASCENDING.
data RemarketingListsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
RLLSOAscending :: RemarketingListsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
RLLSODescending :: RemarketingListsListSortOrder

-- | The properties of the report.
--   
--   <i>See:</i> <a>reportPathToConversionCriteriaReportProperties</a>
--   smart constructor.
data ReportPathToConversionCriteriaReportProperties

-- | Creates a value of
--   <a>ReportPathToConversionCriteriaReportProperties</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rptccrpMaximumInteractionGap</a></li>
--   <li><a>rptccrpMaximumClickInteractions</a></li>
--   <li><a>rptccrpPivotOnInteractionPath</a></li>
--   <li><a>rptccrpMaximumImpressionInteractions</a></li>
--   <li><a>rptccrpIncludeUnattributedIPConversions</a></li>
--   <li><a>rptccrpImpressionsLookbackWindow</a></li>
--   <li><a>rptccrpClicksLookbackWindow</a></li>
--   <li><a>rptccrpIncludeUnattributedCookieConversions</a></li>
--   <li><a>rptccrpIncludeAttributedIPConversions</a></li>
--   </ul>
reportPathToConversionCriteriaReportProperties :: ReportPathToConversionCriteriaReportProperties

-- | The maximum amount of time that can take place between interactions
--   (clicks or impressions) by the same user. Valid values: 1-90.
rptccrpMaximumInteractionGap :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | The maximum number of click interactions to include in the report.
--   Advertisers currently paying for E2C reports get up to 200 (100
--   clicks, 100 impressions). If another advertiser in your network is
--   paying for E2C, you can have up to 5 total exposures per report.
rptccrpMaximumClickInteractions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | Enable pivoting on interaction path.
rptccrpPivotOnInteractionPath :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)

-- | The maximum number of click interactions to include in the report.
--   Advertisers currently paying for E2C reports get up to 200 (100
--   clicks, 100 impressions). If another advertiser in your network is
--   paying for E2C, you can have up to 5 total exposures per report.
rptccrpMaximumImpressionInteractions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | Include conversions that have no associated cookies and no exposures.
--   It’s therefore impossible to know how the user was exposed to your ads
--   during the lookback window prior to a conversion.
rptccrpIncludeUnattributedIPConversions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)

-- | DFA checks to see if an impression interaction occurred within the
--   specified period of time before a conversion. By default the value is
--   pulled from Floodlight or you can manually enter a custom value. Valid
--   values: 1-90.
rptccrpImpressionsLookbackWindow :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | DFA checks to see if a click interaction occurred within the specified
--   period of time before a conversion. By default the value is pulled
--   from Floodlight or you can manually enter a custom value. Valid
--   values: 1-90.
rptccrpClicksLookbackWindow :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Int32)

-- | Include conversions of users with a DoubleClick cookie but without an
--   exposure. That means the user did not click or see an ad from the
--   advertiser within the Floodlight group, or that the interaction
--   happened outside the lookback window.
rptccrpIncludeUnattributedCookieConversions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)

-- | Deprecated: has no effect.
rptccrpIncludeAttributedIPConversions :: Lens' ReportPathToConversionCriteriaReportProperties (Maybe Bool)

-- | User Role Permission List Response
--   
--   <i>See:</i> <a>userRolePermissionsListResponse</a> smart constructor.
data UserRolePermissionsListResponse

-- | Creates a value of <a>UserRolePermissionsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urplrKind</a></li>
--   <li><a>urplrUserRolePermissions</a></li>
--   </ul>
userRolePermissionsListResponse :: UserRolePermissionsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolePermissionsListResponse".
urplrKind :: Lens' UserRolePermissionsListResponse Text

-- | User role permission collection.
urplrUserRolePermissions :: Lens' UserRolePermissionsListResponse [UserRolePermission]

-- | Select only placement groups with these pricing types.
data PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPA
--   </pre>
PGLPTPricingTypeCpa :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPC
--   </pre>
PGLPTPricingTypeCpc :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPM
--   </pre>
PGLPTPricingTypeCpm :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPM_ACTIVEVIEW
--   </pre>
PGLPTPricingTypeCpmActiveview :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_CLICKS
--   </pre>
PGLPTPricingTypeFlatRateClicks :: PlacementGroupsListPricingTypes

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_IMPRESSIONS
--   </pre>
PGLPTPricingTypeFlatRateImpressions :: PlacementGroupsListPricingTypes

-- | Type of the object of this dynamic targeting key. This is a required
--   field.
data DynamicTargetingKeysDeleteObjectType

-- | <pre>
--   OBJECT_AD
--   </pre>
DTKDOTObjectAd :: DynamicTargetingKeysDeleteObjectType

-- | <pre>
--   OBJECT_ADVERTISER
--   </pre>
DTKDOTObjectAdvertiser :: DynamicTargetingKeysDeleteObjectType

-- | <pre>
--   OBJECT_CREATIVE
--   </pre>
DTKDOTObjectCreative :: DynamicTargetingKeysDeleteObjectType

-- | <pre>
--   OBJECT_PLACEMENT
--   </pre>
DTKDOTObjectPlacement :: DynamicTargetingKeysDeleteObjectType

-- | Maximum number of active ads allowed for this account.
data AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_100K
--   </pre>
AAALTActiveAdsTier100K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_200K
--   </pre>
AAALTActiveAdsTier200K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_300K
--   </pre>
AAALTActiveAdsTier300K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_40K
--   </pre>
AAALTActiveAdsTier40K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_500K
--   </pre>
AAALTActiveAdsTier500K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_750K
--   </pre>
AAALTActiveAdsTier750K :: AccountActiveAdsLimitTier

-- | <pre>
--   ACTIVE_ADS_TIER_75K
--   </pre>
AAALTActiveAdsTier75K :: AccountActiveAdsLimitTier

-- | Order of sorted results, default is ASCENDING.
data AccountsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
AAscending :: AccountsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ADescending :: AccountsListSortOrder

-- | Placement Group List Response
--   
--   <i>See:</i> <a>placementGroupsListResponse</a> smart constructor.
data PlacementGroupsListResponse

-- | Creates a value of <a>PlacementGroupsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pglrNextPageToken</a></li>
--   <li><a>pglrKind</a></li>
--   <li><a>pglrPlacementGroups</a></li>
--   </ul>
placementGroupsListResponse :: PlacementGroupsListResponse

-- | Pagination token to be used for the next list operation.
pglrNextPageToken :: Lens' PlacementGroupsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementGroupsListResponse".
pglrKind :: Lens' PlacementGroupsListResponse Text

-- | Placement group collection.
pglrPlacementGroups :: Lens' PlacementGroupsListResponse [PlacementGroup]

-- | Contains information about a mobile carrier that can be targeted by
--   ads.
--   
--   <i>See:</i> <a>mobileCarrier</a> smart constructor.
data MobileCarrier

-- | Creates a value of <a>MobileCarrier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mcKind</a></li>
--   <li><a>mcName</a></li>
--   <li><a>mcCountryCode</a></li>
--   <li><a>mcId</a></li>
--   <li><a>mcCountryDartId</a></li>
--   </ul>
mobileCarrier :: MobileCarrier

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#mobileCarrier".
mcKind :: Lens' MobileCarrier Text

-- | Name of this mobile carrier.
mcName :: Lens' MobileCarrier (Maybe Text)

-- | Country code of the country to which this mobile carrier belongs.
mcCountryCode :: Lens' MobileCarrier (Maybe Text)

-- | ID of this mobile carrier.
mcId :: Lens' MobileCarrier (Maybe Int64)

-- | DART ID of the country to which this mobile carrier belongs.
mcCountryDartId :: Lens' MobileCarrier (Maybe Int64)

-- | Contains information about where a user's browser is taken after the
--   user clicks an ad.
--   
--   <i>See:</i> <a>landingPage</a> smart constructor.
data LandingPage

-- | Creates a value of <a>LandingPage</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpKind</a></li>
--   <li><a>lpDefault</a></li>
--   <li><a>lpURL</a></li>
--   <li><a>lpName</a></li>
--   <li><a>lpId</a></li>
--   </ul>
landingPage :: LandingPage

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#landingPage".
lpKind :: Lens' LandingPage Text

-- | Whether or not this landing page will be assigned to any ads or
--   creatives that do not have a landing page assigned explicitly. Only
--   one default landing page is allowed per campaign.
lpDefault :: Lens' LandingPage (Maybe Bool)

-- | URL of this landing page. This is a required field.
lpURL :: Lens' LandingPage (Maybe Text)

-- | Name of this landing page. This is a required field. It must be less
--   than 256 characters long, and must be unique among landing pages of
--   the same campaign.
lpName :: Lens' LandingPage (Maybe Text)

-- | ID of this landing page. This is a read-only, auto-generated field.
lpId :: Lens' LandingPage (Maybe Int64)

-- | Connection Type List Response
--   
--   <i>See:</i> <a>connectionTypesListResponse</a> smart constructor.
data ConnectionTypesListResponse

-- | Creates a value of <a>ConnectionTypesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctlrKind</a></li>
--   <li><a>ctlrConnectionTypes</a></li>
--   </ul>
connectionTypesListResponse :: ConnectionTypesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#connectionTypesListResponse".
ctlrKind :: Lens' ConnectionTypesListResponse Text

-- | Collection of connection types such as broadband and mobile.
ctlrConnectionTypes :: Lens' ConnectionTypesListResponse [ConnectionType]

-- | Order List Response
--   
--   <i>See:</i> <a>ordersListResponse</a> smart constructor.
data OrdersListResponse

-- | Creates a value of <a>OrdersListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olrNextPageToken</a></li>
--   <li><a>olrKind</a></li>
--   <li><a>olrOrders</a></li>
--   </ul>
ordersListResponse :: OrdersListResponse

-- | Pagination token to be used for the next list operation.
olrNextPageToken :: Lens' OrdersListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#ordersListResponse".
olrKind :: Lens' OrdersListResponse Text

-- | Order collection.
olrOrders :: Lens' OrdersListResponse [Order]

-- | Represents the list of reports.
--   
--   <i>See:</i> <a>reportList</a> smart constructor.
data ReportList

-- | Creates a value of <a>ReportList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>repEtag</a></li>
--   <li><a>repNextPageToken</a></li>
--   <li><a>repKind</a></li>
--   <li><a>repItems</a></li>
--   </ul>
reportList :: ReportList

-- | The eTag of this response for caching purposes.
repEtag :: Lens' ReportList (Maybe Text)

-- | Continuation token used to page through reports. To retrieve the next
--   page of results, set the next request's "pageToken" to the value of
--   this field. The page token is only valid for a limited amount of time
--   and should not be persisted.
repNextPageToken :: Lens' ReportList (Maybe Text)

-- | The kind of list this is, in this case dfareporting#reportList.
repKind :: Lens' ReportList Text

-- | The reports returned in this response.
repItems :: Lens' ReportList [Report]

-- | Contains properties of a creative group.
--   
--   <i>See:</i> <a>creativeGroup</a> smart constructor.
data CreativeGroup

-- | Creates a value of <a>CreativeGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cgKind</a></li>
--   <li><a>cgAdvertiserId</a></li>
--   <li><a>cgAdvertiserIdDimensionValue</a></li>
--   <li><a>cgGroupNumber</a></li>
--   <li><a>cgAccountId</a></li>
--   <li><a>cgName</a></li>
--   <li><a>cgId</a></li>
--   <li><a>cgSubAccountId</a></li>
--   </ul>
creativeGroup :: CreativeGroup

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeGroup".
cgKind :: Lens' CreativeGroup Text

-- | Advertiser ID of this creative group. This is a required field on
--   insertion.
cgAdvertiserId :: Lens' CreativeGroup (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
cgAdvertiserIdDimensionValue :: Lens' CreativeGroup (Maybe DimensionValue)

-- | Subgroup of the creative group. Assign your creative groups to one of
--   the following subgroups in order to filter or manage them more easily.
--   This field is required on insertion and is read-only after insertion.
--   Acceptable values are: - 1 - 2
cgGroupNumber :: Lens' CreativeGroup (Maybe Int32)

-- | Account ID of this creative group. This is a read-only field that can
--   be left blank.
cgAccountId :: Lens' CreativeGroup (Maybe Int64)

-- | Name of this creative group. This is a required field and must be less
--   than 256 characters long and unique among creative groups of the same
--   advertiser.
cgName :: Lens' CreativeGroup (Maybe Text)

-- | ID of this creative group. This is a read-only, auto-generated field.
cgId :: Lens' CreativeGroup (Maybe Int64)

-- | Subaccount ID of this creative group. This is a read-only field that
--   can be left blank.
cgSubAccountId :: Lens' CreativeGroup (Maybe Int64)

-- | Field by which to sort the list.
data SubAccountsListSortField

-- | <pre>
--   ID
--   </pre>
SALSFID :: SubAccountsListSortField

-- | <pre>
--   NAME
--   </pre>
SALSFName :: SubAccountsListSortField

-- | Identifies a creative which has been associated with a given campaign.
--   
--   <i>See:</i> <a>campaignCreativeAssociation</a> smart constructor.
data CampaignCreativeAssociation

-- | Creates a value of <a>CampaignCreativeAssociation</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccaKind</a></li>
--   <li><a>ccaCreativeId</a></li>
--   </ul>
campaignCreativeAssociation :: CampaignCreativeAssociation

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#campaignCreativeAssociation".
ccaKind :: Lens' CampaignCreativeAssociation Text

-- | ID of the creative associated with the campaign. This is a required
--   field.
ccaCreativeId :: Lens' CampaignCreativeAssociation (Maybe Int64)

-- | The original conversion that was inserted or updated and whether there
--   were any errors.
--   
--   <i>See:</i> <a>conversionStatus</a> smart constructor.
data ConversionStatus

-- | Creates a value of <a>ConversionStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csKind</a></li>
--   <li><a>csConversion</a></li>
--   <li><a>csErrors</a></li>
--   </ul>
conversionStatus :: ConversionStatus

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversionStatus".
csKind :: Lens' ConversionStatus Text

-- | The original conversion that was inserted or updated.
csConversion :: Lens' ConversionStatus (Maybe Conversion)

-- | A list of errors related to this conversion.
csErrors :: Lens' ConversionStatus [ConversionError]

-- | Lookback configuration settings.
--   
--   <i>See:</i> <a>lookbackConfiguration</a> smart constructor.
data LookbackConfiguration

-- | Creates a value of <a>LookbackConfiguration</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcClickDuration</a></li>
--   <li><a>lcPostImpressionActivitiesDuration</a></li>
--   </ul>
lookbackConfiguration :: LookbackConfiguration

-- | Lookback window, in days, from the last time a given user clicked on
--   one of your ads. If you enter 0, clicks will not be considered as
--   triggering events for floodlight tracking. If you leave this field
--   blank, the default value for your account will be used.
lcClickDuration :: Lens' LookbackConfiguration (Maybe Int32)

-- | Lookback window, in days, from the last time a given user viewed one
--   of your ads. If you enter 0, impressions will not be considered as
--   triggering events for floodlight tracking. If you leave this field
--   blank, the default value for your account will be used.
lcPostImpressionActivitiesDuration :: Lens' LookbackConfiguration (Maybe Int32)

-- | File type of the video format.
data VideoFormatFileType

-- | <pre>
--   FLV
--   </pre>
Flv :: VideoFormatFileType

-- | <pre>
--   M3U8
--   </pre>
M3U8 :: VideoFormatFileType

-- | <pre>
--   MP4
--   </pre>
MP4 :: VideoFormatFileType

-- | <pre>
--   THREEGPP
--   </pre>
Threegpp :: VideoFormatFileType

-- | <pre>
--   WEBM
--   </pre>
Webm :: VideoFormatFileType

-- | Field by which to sort the list.
data AdsListSortField

-- | <pre>
--   ID
--   </pre>
ALSFID :: AdsListSortField

-- | <pre>
--   NAME
--   </pre>
ALSFName :: AdsListSortField

-- | Field by which to sort the list.
data ProjectsListSortField

-- | <pre>
--   ID
--   </pre>
PID :: ProjectsListSortField

-- | <pre>
--   NAME
--   </pre>
PName :: ProjectsListSortField

-- | Publisher Dynamic Tag
--   
--   <i>See:</i> <a>floodlightActivityPublisherDynamicTag</a> smart
--   constructor.
data FloodlightActivityPublisherDynamicTag

-- | Creates a value of <a>FloodlightActivityPublisherDynamicTag</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fapdtClickThrough</a></li>
--   <li><a>fapdtSiteIdDimensionValue</a></li>
--   <li><a>fapdtDynamicTag</a></li>
--   <li><a>fapdtDirectorySiteId</a></li>
--   <li><a>fapdtSiteId</a></li>
--   <li><a>fapdtViewThrough</a></li>
--   </ul>
floodlightActivityPublisherDynamicTag :: FloodlightActivityPublisherDynamicTag

-- | Whether this tag is applicable only for click-throughs.
fapdtClickThrough :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Bool)

-- | Dimension value for the ID of the site. This is a read-only,
--   auto-generated field.
fapdtSiteIdDimensionValue :: Lens' FloodlightActivityPublisherDynamicTag (Maybe DimensionValue)

-- | Dynamic floodlight tag.
fapdtDynamicTag :: Lens' FloodlightActivityPublisherDynamicTag (Maybe FloodlightActivityDynamicTag)

-- | Directory site ID of this dynamic tag. This is a write-only field that
--   can be used as an alternative to the siteId field. When this resource
--   is retrieved, only the siteId field will be populated.
fapdtDirectorySiteId :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Int64)

-- | Site ID of this dynamic tag.
fapdtSiteId :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Int64)

-- | Whether this tag is applicable only for view-throughs.
fapdtViewThrough :: Lens' FloodlightActivityPublisherDynamicTag (Maybe Bool)

-- | Select only ads with these types.
data AdsListType

-- | <pre>
--   AD_SERVING_CLICK_TRACKER
--   </pre>
AdServingClickTracker :: AdsListType

-- | <pre>
--   AD_SERVING_DEFAULT_AD
--   </pre>
AdServingDefaultAd :: AdsListType

-- | <pre>
--   AD_SERVING_STANDARD_AD
--   </pre>
AdServingStandardAd :: AdsListType

-- | <pre>
--   AD_SERVING_TRACKING
--   </pre>
AdServingTracking :: AdsListType

-- | Gets a summary of active ads in an account.
--   
--   <i>See:</i> <a>accountActiveAdSummary</a> smart constructor.
data AccountActiveAdSummary

-- | Creates a value of <a>AccountActiveAdSummary</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaasAvailableAds</a></li>
--   <li><a>aaasKind</a></li>
--   <li><a>aaasAccountId</a></li>
--   <li><a>aaasActiveAds</a></li>
--   <li><a>aaasActiveAdsLimitTier</a></li>
--   </ul>
accountActiveAdSummary :: AccountActiveAdSummary

-- | Ads that can be activated for the account.
aaasAvailableAds :: Lens' AccountActiveAdSummary (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountActiveAdSummary".
aaasKind :: Lens' AccountActiveAdSummary Text

-- | ID of the account.
aaasAccountId :: Lens' AccountActiveAdSummary (Maybe Int64)

-- | Ads that have been activated for the account
aaasActiveAds :: Lens' AccountActiveAdSummary (Maybe Int64)

-- | Maximum number of active ads allowed for the account.
aaasActiveAdsLimitTier :: Lens' AccountActiveAdSummary (Maybe AccountActiveAdSummaryActiveAdsLimitTier)

-- | Optimization model for this configuration.
data CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   CLICK
--   </pre>
Click :: CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   POST_CLICK
--   </pre>
PostClick :: CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   POST_CLICK_AND_IMPRESSION
--   </pre>
PostClickAndImpression :: CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   POST_IMPRESSION
--   </pre>
PostImpression :: CreativeOptimizationConfigurationOptimizationModel

-- | <pre>
--   VIDEO_COMPLETION
--   </pre>
VideoCompletion :: CreativeOptimizationConfigurationOptimizationModel

-- | Administrative level required to enable this account permission.
data AccountPermissionLevel

-- | <pre>
--   ADMINISTRATOR
--   </pre>
Administrator :: AccountPermissionLevel

-- | <pre>
--   USER
--   </pre>
User :: AccountPermissionLevel

-- | Offset Position.
--   
--   <i>See:</i> <a>offSetPosition</a> smart constructor.
data OffSetPosition

-- | Creates a value of <a>OffSetPosition</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ospLeft</a></li>
--   <li><a>ospTop</a></li>
--   </ul>
offSetPosition :: OffSetPosition

-- | Offset distance from left side of an asset or a window.
ospLeft :: Lens' OffSetPosition (Maybe Int32)

-- | Offset distance from top side of an asset or a window.
ospTop :: Lens' OffSetPosition (Maybe Int32)

-- | Represents a metric.
--   
--   <i>See:</i> <a>metric</a> smart constructor.
data Metric

-- | Creates a value of <a>Metric</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mKind</a></li>
--   <li><a>mName</a></li>
--   </ul>
metric :: Metric

-- | The kind of resource this is, in this case dfareporting#metric.
mKind :: Lens' Metric Text

-- | The metric name, e.g. dfa:impressions
mName :: Lens' Metric (Maybe Text)

-- | Contains properties of a remarketing list's sharing information.
--   Sharing allows other accounts or advertisers to target to your
--   remarketing lists. This resource can be used to manage remarketing
--   list sharing to other accounts and advertisers.
--   
--   <i>See:</i> <a>remarketingListShare</a> smart constructor.
data RemarketingListShare

-- | Creates a value of <a>RemarketingListShare</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlsSharedAdvertiserIds</a></li>
--   <li><a>rlsKind</a></li>
--   <li><a>rlsRemarketingListId</a></li>
--   <li><a>rlsSharedAccountIds</a></li>
--   </ul>
remarketingListShare :: RemarketingListShare

-- | Advertisers that the remarketing list is shared with.
rlsSharedAdvertiserIds :: Lens' RemarketingListShare [Int64]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#remarketingListShare".
rlsKind :: Lens' RemarketingListShare Text

-- | Remarketing list ID. This is a read-only, auto-generated field.
rlsRemarketingListId :: Lens' RemarketingListShare (Maybe Int64)

-- | Accounts that the remarketing list is shared with.
rlsSharedAccountIds :: Lens' RemarketingListShare [Int64]

-- | Event Tag List Response
--   
--   <i>See:</i> <a>eventTagsListResponse</a> smart constructor.
data EventTagsListResponse

-- | Creates a value of <a>EventTagsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etlrKind</a></li>
--   <li><a>etlrEventTags</a></li>
--   </ul>
eventTagsListResponse :: EventTagsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#eventTagsListResponse".
etlrKind :: Lens' EventTagsListResponse Text

-- | Event tag collection.
etlrEventTags :: Lens' EventTagsListResponse [EventTag]

-- | User Role List Response
--   
--   <i>See:</i> <a>userRolesListResponse</a> smart constructor.
data UserRolesListResponse

-- | Creates a value of <a>UserRolesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urlrNextPageToken</a></li>
--   <li><a>urlrKind</a></li>
--   <li><a>urlrUserRoles</a></li>
--   </ul>
userRolesListResponse :: UserRolesListResponse

-- | Pagination token to be used for the next list operation.
urlrNextPageToken :: Lens' UserRolesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolesListResponse".
urlrKind :: Lens' UserRolesListResponse Text

-- | User role collection.
urlrUserRoles :: Lens' UserRolesListResponse [UserRole]

-- | List population term type determines the applicable fields in this
--   object. If left unset or set to CUSTOM_VARIABLE_TERM, then
--   variableName, variableFriendlyName, operator, value, and negation are
--   applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
--   contains are applicable. If set to REFERRER_TERM then operator, value,
--   and negation are applicable.
data ListPopulationTermType

-- | <pre>
--   CUSTOM_VARIABLE_TERM
--   </pre>
CustomVariableTerm :: ListPopulationTermType

-- | <pre>
--   LIST_MEMBERSHIP_TERM
--   </pre>
ListMembershipTerm :: ListPopulationTermType

-- | <pre>
--   REFERRER_TERM
--   </pre>
ReferrerTerm :: ListPopulationTermType

-- | Order of sorted results, default is ASCENDING.
data AdvertiserGroupsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
AGLSOAscending :: AdvertiserGroupsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
AGLSODescending :: AdvertiserGroupsListSortOrder

-- | Order of sorted results, default is ASCENDING.
data CreativeFieldValuesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CFVLSOAscending :: CreativeFieldValuesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CFVLSODescending :: CreativeFieldValuesListSortOrder

-- | An optional sort order for the dimension column.
data SortedDimensionSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
SDSOAscending :: SortedDimensionSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
SDSODescending :: SortedDimensionSortOrder

-- | Represents a response to the queryCompatibleFields method.
--   
--   <i>See:</i> <a>compatibleFields</a> smart constructor.
data CompatibleFields

-- | Creates a value of <a>CompatibleFields</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfReachReportCompatibleFields</a></li>
--   <li><a>cfCrossDimensionReachReportCompatibleFields</a></li>
--   <li><a>cfKind</a></li>
--   <li><a>cfFloodlightReportCompatibleFields</a></li>
--   <li><a>cfReportCompatibleFields</a></li>
--   <li><a>cfPathToConversionReportCompatibleFields</a></li>
--   </ul>
compatibleFields :: CompatibleFields

-- | Contains items that are compatible to be selected for a report of type
--   "REACH".
cfReachReportCompatibleFields :: Lens' CompatibleFields (Maybe ReachReportCompatibleFields)

-- | Contains items that are compatible to be selected for a report of type
--   "CROSS_DIMENSION_REACH".
cfCrossDimensionReachReportCompatibleFields :: Lens' CompatibleFields (Maybe CrossDimensionReachReportCompatibleFields)

-- | The kind of resource this is, in this case
--   dfareporting#compatibleFields.
cfKind :: Lens' CompatibleFields Text

-- | Contains items that are compatible to be selected for a report of type
--   "FLOODLIGHT".
cfFloodlightReportCompatibleFields :: Lens' CompatibleFields (Maybe FloodlightReportCompatibleFields)

-- | Contains items that are compatible to be selected for a report of type
--   "STANDARD".
cfReportCompatibleFields :: Lens' CompatibleFields (Maybe ReportCompatibleFields)

-- | Contains items that are compatible to be selected for a report of type
--   "PATH_TO_CONVERSION".
cfPathToConversionReportCompatibleFields :: Lens' CompatibleFields (Maybe PathToConversionReportCompatibleFields)

-- | Audience Segment.
--   
--   <i>See:</i> <a>audienceSegment</a> smart constructor.
data AudienceSegment

-- | Creates a value of <a>AudienceSegment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asName</a></li>
--   <li><a>asId</a></li>
--   <li><a>asAllocation</a></li>
--   </ul>
audienceSegment :: AudienceSegment

-- | Name of this audience segment. This is a required field and must be
--   less than 65 characters long.
asName :: Lens' AudienceSegment (Maybe Text)

-- | ID of this audience segment. This is a read-only, auto-generated
--   field.
asId :: Lens' AudienceSegment (Maybe Int64)

-- | Weight allocated to this segment. Must be between 1 and 1000. The
--   weight assigned will be understood in proportion to the weights
--   assigned to other segments in the same segment group.
asAllocation :: Lens' AudienceSegment (Maybe Int32)

-- | The field by which to sort the list.
data FilesListSortField

-- | <tt>ID</tt> Sort by file ID.
FLSFID :: FilesListSortField

-- | <tt>LAST_MODIFIED_TIME</tt> Sort by 'lastmodifiedAt' field.
FLSFLastModifiedTime :: FilesListSortField
data DirectorySiteInterstitialTagFormatsItem

-- | <pre>
--   IFRAME_JAVASCRIPT_INTERSTITIAL
--   </pre>
IframeJavascriptInterstitial :: DirectorySiteInterstitialTagFormatsItem

-- | <pre>
--   INTERNAL_REDIRECT_INTERSTITIAL
--   </pre>
InternalRedirectInterstitial :: DirectorySiteInterstitialTagFormatsItem

-- | <pre>
--   JAVASCRIPT_INTERSTITIAL
--   </pre>
JavascriptInterstitial :: DirectorySiteInterstitialTagFormatsItem

-- | DFP Settings
--   
--   <i>See:</i> <a>dfpSettings</a> smart constructor.
data DfpSettings

-- | Creates a value of <a>DfpSettings</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsPubPaidPlacementAccepted</a></li>
--   <li><a>dsDfpNetworkName</a></li>
--   <li><a>dsPublisherPortalOnly</a></li>
--   <li><a>dsProgrammaticPlacementAccepted</a></li>
--   <li><a>dsDfpNetworkCode</a></li>
--   </ul>
dfpSettings :: DfpSettings

-- | Whether this directory site accepts publisher-paid tags.
dsPubPaidPlacementAccepted :: Lens' DfpSettings (Maybe Bool)

-- | DFP network name for this directory site.
dsDfpNetworkName :: Lens' DfpSettings (Maybe Text)

-- | Whether this directory site is available only via DoubleClick
--   Publisher Portal.
dsPublisherPortalOnly :: Lens' DfpSettings (Maybe Bool)

-- | Whether this directory site accepts programmatic placements.
dsProgrammaticPlacementAccepted :: Lens' DfpSettings (Maybe Bool)

-- | DFP network code for this directory site.
dsDfpNetworkCode :: Lens' DfpSettings (Maybe Text)

-- | Field by which to sort the list.
data EventTagsListSortField

-- | <pre>
--   ID
--   </pre>
ETLSFID :: EventTagsListSortField

-- | <pre>
--   NAME
--   </pre>
ETLSFName :: EventTagsListSortField

-- | Represents fields that are compatible to be selected for a report of
--   type "PATH_TO_CONVERSION".
--   
--   <i>See:</i> <a>pathToConversionReportCompatibleFields</a> smart
--   constructor.
data PathToConversionReportCompatibleFields

-- | Creates a value of <a>PathToConversionReportCompatibleFields</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptcrcfMetrics</a></li>
--   <li><a>ptcrcfKind</a></li>
--   <li><a>ptcrcfConversionDimensions</a></li>
--   <li><a>ptcrcfCustomFloodlightVariables</a></li>
--   <li><a>ptcrcfPerInteractionDimensions</a></li>
--   </ul>
pathToConversionReportCompatibleFields :: PathToConversionReportCompatibleFields

-- | Metrics which are compatible to be selected in the "metricNames"
--   section of the report.
ptcrcfMetrics :: Lens' PathToConversionReportCompatibleFields [Metric]

-- | The kind of resource this is, in this case
--   dfareporting#pathToConversionReportCompatibleFields.
ptcrcfKind :: Lens' PathToConversionReportCompatibleFields Text

-- | Conversion dimensions which are compatible to be selected in the
--   "conversionDimensions" section of the report.
ptcrcfConversionDimensions :: Lens' PathToConversionReportCompatibleFields [Dimension]

-- | Custom floodlight variables which are compatible to be selected in the
--   "customFloodlightVariables" section of the report.
ptcrcfCustomFloodlightVariables :: Lens' PathToConversionReportCompatibleFields [Dimension]

-- | Per-interaction dimensions which are compatible to be selected in the
--   "perInteractionDimensions" section of the report.
ptcrcfPerInteractionDimensions :: Lens' PathToConversionReportCompatibleFields [Dimension]

-- | Type of inventory item.
data InventoryItemType

-- | <pre>
--   PLANNING_PLACEMENT_TYPE_CREDIT
--   </pre>
IITPlanningPlacementTypeCredit :: InventoryItemType

-- | <pre>
--   PLANNING_PLACEMENT_TYPE_REGULAR
--   </pre>
IITPlanningPlacementTypeRegular :: InventoryItemType

-- | Offset top unit for an asset. This is a read-only field if the asset
--   displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following
--   creative types: all RICH_MEDIA.
data CreativeAssetPositionTopUnit

-- | <pre>
--   OFFSET_UNIT_PERCENT
--   </pre>
CAPTUOffSetUnitPercent :: CreativeAssetPositionTopUnit

-- | <pre>
--   OFFSET_UNIT_PIXEL
--   </pre>
CAPTUOffSetUnitPixel :: CreativeAssetPositionTopUnit

-- | <pre>
--   OFFSET_UNIT_PIXEL_FROM_CENTER
--   </pre>
CAPTUOffSetUnitPixelFromCenter :: CreativeAssetPositionTopUnit

-- | Contains information about a city that can be targeted by ads.
--   
--   <i>See:</i> <a>city</a> smart constructor.
data City

-- | Creates a value of <a>City</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccMetroCode</a></li>
--   <li><a>ccRegionCode</a></li>
--   <li><a>ccKind</a></li>
--   <li><a>ccRegionDartId</a></li>
--   <li><a>ccMetroDmaId</a></li>
--   <li><a>ccName</a></li>
--   <li><a>ccCountryCode</a></li>
--   <li><a>ccCountryDartId</a></li>
--   <li><a>ccDartId</a></li>
--   </ul>
city :: City

-- | Metro region code of the metro region (DMA) to which this city
--   belongs.
ccMetroCode :: Lens' City (Maybe Text)

-- | Region code of the region to which this city belongs.
ccRegionCode :: Lens' City (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#city".
ccKind :: Lens' City Text

-- | DART ID of the region to which this city belongs.
ccRegionDartId :: Lens' City (Maybe Int64)

-- | ID of the metro region (DMA) to which this city belongs.
ccMetroDmaId :: Lens' City (Maybe Int64)

-- | Name of this city.
ccName :: Lens' City (Maybe Text)

-- | Country code of the country to which this city belongs.
ccCountryCode :: Lens' City (Maybe Text)

-- | DART ID of the country to which this city belongs.
ccCountryDartId :: Lens' City (Maybe Int64)

-- | DART ID of this city. This is the ID used for targeting and generating
--   reports.
ccDartId :: Lens' City (Maybe Int64)

-- | Contains information about a platform type that can be targeted by
--   ads.
--   
--   <i>See:</i> <a>platformType</a> smart constructor.
data PlatformType

-- | Creates a value of <a>PlatformType</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptKind</a></li>
--   <li><a>ptName</a></li>
--   <li><a>ptId</a></li>
--   </ul>
platformType :: PlatformType

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#platformType".
ptKind :: Lens' PlatformType Text

-- | Name of this platform type.
ptName :: Lens' PlatformType (Maybe Text)

-- | ID of this platform type.
ptId :: Lens' PlatformType (Maybe Int64)

-- | Type of the associated floodlight activity group. This is a read-only
--   field.
data FloodlightActivityFloodlightActivityGroupType

-- | <pre>
--   COUNTER
--   </pre>
FAFAGTCounter :: FloodlightActivityFloodlightActivityGroupType

-- | <pre>
--   SALE
--   </pre>
FAFAGTSale :: FloodlightActivityFloodlightActivityGroupType

-- | Order of sorted results, default is ASCENDING.
data DirectorySiteContactsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
DSCLSOAscending :: DirectorySiteContactsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
DSCLSODescending :: DirectorySiteContactsListSortOrder

-- | Group type of this inventory item if it represents a placement group.
--   Is null otherwise. There are two type of placement groups:
--   PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory
--   items that acts as a single pricing point for a group of tags.
--   PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items
--   that not only acts as a single pricing point, but also assumes that
--   all the tags in it will be served at the same time. A roadblock
--   requires one of its assigned inventory items to be marked as primary.
data PricingGroupType

-- | <pre>
--   PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE
--   </pre>
PlanningPlacementGroupTypePackage :: PricingGroupType

-- | <pre>
--   PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK
--   </pre>
PlanningPlacementGroupTypeRoadblock :: PricingGroupType

-- | Key Value Targeting Expression.
--   
--   <i>See:</i> <a>keyValueTargetingExpression</a> smart constructor.
data KeyValueTargetingExpression

-- | Creates a value of <a>KeyValueTargetingExpression</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>kvteExpression</a></li>
--   </ul>
keyValueTargetingExpression :: KeyValueTargetingExpression

-- | Keyword expression being targeted by the ad.
kvteExpression :: Lens' KeyValueTargetingExpression (Maybe Text)

-- | Companion Click-through override.
--   
--   <i>See:</i> <a>companionClickThroughOverride</a> smart constructor.
data CompanionClickThroughOverride

-- | Creates a value of <a>CompanionClickThroughOverride</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cctoCreativeId</a></li>
--   <li><a>cctoClickThroughURL</a></li>
--   </ul>
companionClickThroughOverride :: CompanionClickThroughOverride

-- | ID of the creative for this companion click-through override.
cctoCreativeId :: Lens' CompanionClickThroughOverride (Maybe Int64)

-- | Click-through URL of this companion click-through override.
cctoClickThroughURL :: Lens' CompanionClickThroughOverride (Maybe ClickThroughURL)

-- | Order of sorted results, default is ASCENDING.
data FloodlightActivityGroupsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
FAGLSOAscending :: FloodlightActivityGroupsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
FAGLSODescending :: FloodlightActivityGroupsListSortOrder

-- | Type of creative rotation. Can be used to specify whether to use
--   sequential or random rotation.
data CreativeRotationType

-- | <pre>
--   CREATIVE_ROTATION_TYPE_RANDOM
--   </pre>
CreativeRotationTypeRandom :: CreativeRotationType

-- | <pre>
--   CREATIVE_ROTATION_TYPE_SEQUENTIAL
--   </pre>
CreativeRotationTypeSequential :: CreativeRotationType

-- | Field by which to sort the list.
data OrdersListSortField

-- | <pre>
--   ID
--   </pre>
OLSFID :: OrdersListSortField

-- | <pre>
--   NAME
--   </pre>
OLSFName :: OrdersListSortField

-- | Field by which to sort the list.
data PlacementGroupsListSortField

-- | <pre>
--   ID
--   </pre>
PGLSFID :: PlacementGroupsListSortField

-- | <pre>
--   NAME
--   </pre>
PGLSFName :: PlacementGroupsListSortField

-- | Order of sorted results, default is ASCENDING.
data DirectorySitesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
DSLSOAscending :: DirectorySitesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
DSLSODescending :: DirectorySitesListSortOrder

-- | Advertiser List Response
--   
--   <i>See:</i> <a>advertisersListResponse</a> smart constructor.
data AdvertisersListResponse

-- | Creates a value of <a>AdvertisersListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>advNextPageToken</a></li>
--   <li><a>advKind</a></li>
--   <li><a>advAdvertisers</a></li>
--   </ul>
advertisersListResponse :: AdvertisersListResponse

-- | Pagination token to be used for the next list operation.
advNextPageToken :: Lens' AdvertisersListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#advertisersListResponse".
advKind :: Lens' AdvertisersListResponse Text

-- | Advertiser collection.
advAdvertisers :: Lens' AdvertisersListResponse [Advertiser]

-- | Country List Response
--   
--   <i>See:</i> <a>countriesListResponse</a> smart constructor.
data CountriesListResponse

-- | Creates a value of <a>CountriesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>couKind</a></li>
--   <li><a>couCountries</a></li>
--   </ul>
countriesListResponse :: CountriesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#countriesListResponse".
couKind :: Lens' CountriesListResponse Text

-- | Country collection.
couCountries :: Lens' CountriesListResponse [Country]

-- | Account Permission Group List Response
--   
--   <i>See:</i> <a>accountPermissionGroupsListResponse</a> smart
--   constructor.
data AccountPermissionGroupsListResponse

-- | Creates a value of <a>AccountPermissionGroupsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apglrKind</a></li>
--   <li><a>apglrAccountPermissionGroups</a></li>
--   </ul>
accountPermissionGroupsListResponse :: AccountPermissionGroupsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountPermissionGroupsListResponse".
apglrKind :: Lens' AccountPermissionGroupsListResponse Text

-- | Account permission group collection.
apglrAccountPermissionGroups :: Lens' AccountPermissionGroupsListResponse [AccountPermissionGroup]

-- | Popup Window Properties.
--   
--   <i>See:</i> <a>popupWindowProperties</a> smart constructor.
data PopupWindowProperties

-- | Creates a value of <a>PopupWindowProperties</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pwpOffSet</a></li>
--   <li><a>pwpDimension</a></li>
--   <li><a>pwpShowStatusBar</a></li>
--   <li><a>pwpShowMenuBar</a></li>
--   <li><a>pwpPositionType</a></li>
--   <li><a>pwpShowAddressBar</a></li>
--   <li><a>pwpShowScrollBar</a></li>
--   <li><a>pwpShowToolBar</a></li>
--   <li><a>pwpTitle</a></li>
--   </ul>
popupWindowProperties :: PopupWindowProperties

-- | Upper-left corner coordinates of the popup window. Applicable if
--   positionType is COORDINATES.
pwpOffSet :: Lens' PopupWindowProperties (Maybe OffSetPosition)

-- | Popup dimension for a creative. This is a read-only field. Applicable
--   to the following creative types: all RICH_MEDIA and all VPAID
pwpDimension :: Lens' PopupWindowProperties (Maybe Size)

-- | Whether to display the browser status bar.
pwpShowStatusBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Whether to display the browser menu bar.
pwpShowMenuBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Popup window position either centered or at specific coordinate.
pwpPositionType :: Lens' PopupWindowProperties (Maybe PopupWindowPropertiesPositionType)

-- | Whether to display the browser address bar.
pwpShowAddressBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Whether to display the browser scroll bar.
pwpShowScrollBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Whether to display the browser tool bar.
pwpShowToolBar :: Lens' PopupWindowProperties (Maybe Bool)

-- | Title of popup window.
pwpTitle :: Lens' PopupWindowProperties (Maybe Text)
data CreativeAssetDetectedFeaturesItem

-- | <pre>
--   APPLICATION_CACHE
--   </pre>
CADFIApplicationCache :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   AUDIO
--   </pre>
CADFIAudio :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CANVAS
--   </pre>
CADFICanvas :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CANVAS_TEXT
--   </pre>
CADFICanvasText :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_ANIMATIONS
--   </pre>
CADFICssAnimations :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_BACKGROUND_SIZE
--   </pre>
CADFICssBackgRoundSize :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_BORDER_IMAGE
--   </pre>
CADFICssBOrderImage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_BORDER_RADIUS
--   </pre>
CADFICssBOrderRadius :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_BOX_SHADOW
--   </pre>
CADFICssBoxShadow :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_COLUMNS
--   </pre>
CADFICssColumns :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_FLEX_BOX
--   </pre>
CADFICssFlexBox :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_FONT_FACE
--   </pre>
CADFICssFontFace :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_GENERATED_CONTENT
--   </pre>
CADFICssGeneratedContent :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_GRADIENTS
--   </pre>
CADFICssGradients :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_HSLA
--   </pre>
CADFICssHsla :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_MULTIPLE_BGS
--   </pre>
CADFICssMultipleBgs :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_OPACITY
--   </pre>
CADFICssOpacity :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_REFLECTIONS
--   </pre>
CADFICssReflections :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_RGBA
--   </pre>
CADFICssRgba :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_TEXT_SHADOW
--   </pre>
CADFICssTextShadow :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS
--   </pre>
CADFICssTransforms :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSFORMS3D
--   </pre>
CADFICssTRANSFORMS3D :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   CSS_TRANSITIONS
--   </pre>
CADFICssTransitions :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   DRAG_AND_DROP
--   </pre>
CADFIDragAndDrop :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   GEO_LOCATION
--   </pre>
CADFIGeoLocation :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   HASH_CHANGE
--   </pre>
CADFIHashChange :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   HISTORY
--   </pre>
CADFIHistory :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INDEXED_DB
--   </pre>
CADFIIndexedDB :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INLINE_SVG
--   </pre>
CADFIInlineSvg :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOCOMPLETE
--   </pre>
CADFIInputAttrAutocomplete :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_AUTOFOCUS
--   </pre>
CADFIInputAttrAutofocus :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_LIST
--   </pre>
CADFIInputAttrList :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MAX
--   </pre>
CADFIInputAttrMax :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MIN
--   </pre>
CADFIInputAttrMin :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_MULTIPLE
--   </pre>
CADFIInputAttrMultiple :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_PATTERN
--   </pre>
CADFIInputAttrPattern :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_PLACEHOLDER
--   </pre>
CADFIInputAttrPlaceholder :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_REQUIRED
--   </pre>
CADFIInputAttrRequired :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_ATTR_STEP
--   </pre>
CADFIInputAttrStep :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_COLOR
--   </pre>
CADFIInputTypeColor :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATE
--   </pre>
CADFIInputTypeDate :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME
--   </pre>
CADFIInputTypeDatetime :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_DATETIME_LOCAL
--   </pre>
CADFIInputTypeDatetimeLocal :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_EMAIL
--   </pre>
CADFIInputTypeEmail :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_MONTH
--   </pre>
CADFIInputTypeMonth :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_NUMBER
--   </pre>
CADFIInputTypeNumber :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_RANGE
--   </pre>
CADFIInputTypeRange :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_SEARCH
--   </pre>
CADFIInputTypeSearch :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_TEL
--   </pre>
CADFIInputTypeTel :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_TIME
--   </pre>
CADFIInputTypeTime :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_URL
--   </pre>
CADFIInputTypeURL :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   INPUT_TYPE_WEEK
--   </pre>
CADFIInputTypeWeek :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   LOCAL_STORAGE
--   </pre>
CADFILocalStorage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   POST_MESSAGE
--   </pre>
CADFIPostMessage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SESSION_STORAGE
--   </pre>
CADFISessionStorage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SMIL
--   </pre>
CADFISmil :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SVG_CLIP_PATHS
--   </pre>
CADFISvgClipPaths :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SVG_FE_IMAGE
--   </pre>
CADFISvgFeImage :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SVG_FILTERS
--   </pre>
CADFISvgFilters :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   SVG_HREF
--   </pre>
CADFISvgHref :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   TOUCH
--   </pre>
CADFITouch :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   VIDEO
--   </pre>
CADFIVideo :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   WEBGL
--   </pre>
CADFIWebgl :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   WEB_SOCKETS
--   </pre>
CADFIWebSockets :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   WEB_SQL_DATABASE
--   </pre>
CADFIWebSQLDatabase :: CreativeAssetDetectedFeaturesItem

-- | <pre>
--   WEB_WORKERS
--   </pre>
CADFIWebWorkers :: CreativeAssetDetectedFeaturesItem

-- | Type of the floodlight activity group. This is a required field that
--   is read-only after insertion.
data FloodlightActivityGroupType

-- | <pre>
--   COUNTER
--   </pre>
FAGTCounter :: FloodlightActivityGroupType

-- | <pre>
--   SALE
--   </pre>
FAGTSale :: FloodlightActivityGroupType

-- | Directory site contact type.
data DirectorySiteContactType

-- | <pre>
--   BILLING
--   </pre>
DSCTBilling :: DirectorySiteContactType

-- | <pre>
--   OTHER
--   </pre>
DSCTOther :: DirectorySiteContactType

-- | <pre>
--   SALES
--   </pre>
DSCTSales :: DirectorySiteContactType

-- | <pre>
--   TECHNICAL
--   </pre>
DSCTTechnical :: DirectorySiteContactType

-- | Event tag override information.
--   
--   <i>See:</i> <a>eventTagOverride</a> smart constructor.
data EventTagOverride

-- | Creates a value of <a>EventTagOverride</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etoEnabled</a></li>
--   <li><a>etoId</a></li>
--   </ul>
eventTagOverride :: EventTagOverride

-- | Whether this override is enabled.
etoEnabled :: Lens' EventTagOverride (Maybe Bool)

-- | ID of this event tag override. This is a read-only, auto-generated
--   field.
etoId :: Lens' EventTagOverride (Maybe Int64)

-- | Tag formats to generate for these placements.
data PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_CLICK_COMMANDS
--   </pre>
PGTFPlacementTagClickCommands :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_IFRAME_ILAYER
--   </pre>
PGTFPlacementTagIframeIlayer :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT
--   </pre>
PGTFPlacementTagIframeJavascript :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PGTFPlacementTagIframeJavascriptLegacy :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH
--   </pre>
PGTFPlacementTagInstreamVideoPrefetch :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3
--   </pre>
PGTFPlacementTagInstreamVideoPrefetchVast3 :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERNAL_REDIRECT
--   </pre>
PGTFPlacementTagInternalRedirect :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT
--   </pre>
PGTFPlacementTagInterstitialIframeJavascript :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PGTFPlacementTagInterstitialIframeJavascriptLegacy :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
PGTFPlacementTagInterstitialInternalRedirect :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT
--   </pre>
PGTFPlacementTagInterstitialJavascript :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY
--   </pre>
PGTFPlacementTagInterstitialJavascriptLegacy :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT
--   </pre>
PGTFPlacementTagJavascript :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT_LEGACY
--   </pre>
PGTFPlacementTagJavascriptLegacy :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_STANDARD
--   </pre>
PGTFPlacementTagStandard :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_TRACKING
--   </pre>
PGTFPlacementTagTracking :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_TRACKING_IFRAME
--   </pre>
PGTFPlacementTagTrackingIframe :: PlacementsGeneratetagsTagFormats

-- | <pre>
--   PLACEMENT_TAG_TRACKING_JAVASCRIPT
--   </pre>
PGTFPlacementTagTrackingJavascript :: PlacementsGeneratetagsTagFormats

-- | Field by which to sort the list.
data AccountUserProFilesListSortField

-- | <pre>
--   ID
--   </pre>
AUPFLSFID :: AccountUserProFilesListSortField

-- | <pre>
--   NAME
--   </pre>
AUPFLSFName :: AccountUserProFilesListSortField

-- | Contains information about a particular version of an operating system
--   that can be targeted by ads.
--   
--   <i>See:</i> <a>operatingSystemVersion</a> smart constructor.
data OperatingSystemVersion

-- | Creates a value of <a>OperatingSystemVersion</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osvMinorVersion</a></li>
--   <li><a>osvKind</a></li>
--   <li><a>osvOperatingSystem</a></li>
--   <li><a>osvMajorVersion</a></li>
--   <li><a>osvName</a></li>
--   <li><a>osvId</a></li>
--   </ul>
operatingSystemVersion :: OperatingSystemVersion

-- | Minor version (number after the first dot) of this operating system
--   version.
osvMinorVersion :: Lens' OperatingSystemVersion (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#operatingSystemVersion".
osvKind :: Lens' OperatingSystemVersion Text

-- | Operating system of this operating system version.
osvOperatingSystem :: Lens' OperatingSystemVersion (Maybe OperatingSystem)

-- | Major version (leftmost number) of this operating system version.
osvMajorVersion :: Lens' OperatingSystemVersion (Maybe Text)

-- | Name of this operating system version.
osvName :: Lens' OperatingSystemVersion (Maybe Text)

-- | ID of this operating system version.
osvId :: Lens' OperatingSystemVersion (Maybe Int64)

-- | Order of sorted results, default is ASCENDING.
data InventoryItemsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
IILSOAscending :: InventoryItemsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
IILSODescending :: InventoryItemsListSortOrder

-- | Order of sorted results, default is ASCENDING.
data PlacementStrategiesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
PSLSOAscending :: PlacementStrategiesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
PSLSODescending :: PlacementStrategiesListSortOrder

-- | AccountPermissions contains information about a particular account
--   permission. Some features of DCM require an account permission to be
--   present in the account.
--   
--   <i>See:</i> <a>accountPermission</a> smart constructor.
data AccountPermission

-- | Creates a value of <a>AccountPermission</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acccKind</a></li>
--   <li><a>acccAccountProFiles</a></li>
--   <li><a>acccName</a></li>
--   <li><a>acccId</a></li>
--   <li><a>acccLevel</a></li>
--   <li><a>acccPermissionGroupId</a></li>
--   </ul>
accountPermission :: AccountPermission

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountPermission".
acccKind :: Lens' AccountPermission Text

-- | Account profiles associated with this account permission. Possible
--   values are: - "ACCOUNT_PROFILE_BASIC" - "ACCOUNT_PROFILE_STANDARD"
acccAccountProFiles :: Lens' AccountPermission [AccountPermissionAccountProFilesItem]

-- | Name of this account permission.
acccName :: Lens' AccountPermission (Maybe Text)

-- | ID of this account permission.
acccId :: Lens' AccountPermission (Maybe Int64)

-- | Administrative level required to enable this account permission.
acccLevel :: Lens' AccountPermission (Maybe AccountPermissionLevel)

-- | Permission group of this account permission.
acccPermissionGroupId :: Lens' AccountPermission (Maybe Int64)

-- | Represents a UserProfile resource.
--   
--   <i>See:</i> <a>userProFile</a> smart constructor.
data UserProFile

-- | Creates a value of <a>UserProFile</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upfEtag</a></li>
--   <li><a>upfKind</a></li>
--   <li><a>upfAccountName</a></li>
--   <li><a>upfProFileId</a></li>
--   <li><a>upfUserName</a></li>
--   <li><a>upfAccountId</a></li>
--   <li><a>upfSubAccountName</a></li>
--   <li><a>upfSubAccountId</a></li>
--   </ul>
userProFile :: UserProFile

-- | The eTag of this response for caching purposes.
upfEtag :: Lens' UserProFile (Maybe Text)

-- | The kind of resource this is, in this case dfareporting#userProfile.
upfKind :: Lens' UserProFile Text

-- | The account name this profile belongs to.
upfAccountName :: Lens' UserProFile (Maybe Text)

-- | The unique ID of the user profile.
upfProFileId :: Lens' UserProFile (Maybe Int64)

-- | The user name.
upfUserName :: Lens' UserProFile (Maybe Text)

-- | The account ID to which this profile belongs.
upfAccountId :: Lens' UserProFile (Maybe Int64)

-- | The sub account name this profile belongs to if applicable.
upfSubAccountName :: Lens' UserProFile (Maybe Text)

-- | The sub account ID this profile belongs to if applicable.
upfSubAccountId :: Lens' UserProFile (Maybe Int64)

-- | Operating System List Response
--   
--   <i>See:</i> <a>operatingSystemsListResponse</a> smart constructor.
data OperatingSystemsListResponse

-- | Creates a value of <a>OperatingSystemsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oslrKind</a></li>
--   <li><a>oslrOperatingSystems</a></li>
--   </ul>
operatingSystemsListResponse :: OperatingSystemsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#operatingSystemsListResponse".
oslrKind :: Lens' OperatingSystemsListResponse Text

-- | Operating system collection.
oslrOperatingSystems :: Lens' OperatingSystemsListResponse [OperatingSystem]

-- | The report's email delivery settings.
--   
--   <i>See:</i> <a>reportDelivery</a> smart constructor.
data ReportDelivery

-- | Creates a value of <a>ReportDelivery</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdEmailOwner</a></li>
--   <li><a>rdRecipients</a></li>
--   <li><a>rdMessage</a></li>
--   <li><a>rdEmailOwnerDeliveryType</a></li>
--   </ul>
reportDelivery :: ReportDelivery

-- | Whether the report should be emailed to the report owner.
rdEmailOwner :: Lens' ReportDelivery (Maybe Bool)

-- | The list of recipients to which to email the report.
rdRecipients :: Lens' ReportDelivery [Recipient]

-- | The message to be sent with each email.
rdMessage :: Lens' ReportDelivery (Maybe Text)

-- | The type of delivery for the owner to receive, if enabled.
rdEmailOwnerDeliveryType :: Lens' ReportDelivery (Maybe ReportDeliveryEmailOwnerDeliveryType)

-- | Contains properties of a targetable remarketing list. Remarketing
--   enables you to create lists of users who have performed specific
--   actions on a site, then target ads to members of those lists. This
--   resource is a read-only view of a remarketing list to be used to
--   faciliate targeting ads to specific lists. Remarketing lists that are
--   owned by your advertisers and those that are shared to your
--   advertisers or account are accessible via this resource. To manage
--   remarketing lists that are owned by your advertisers, use the
--   RemarketingLists resource.
--   
--   <i>See:</i> <a>targetableRemarketingList</a> smart constructor.
data TargetableRemarketingList

-- | Creates a value of <a>TargetableRemarketingList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trlListSize</a></li>
--   <li><a>trlLifeSpan</a></li>
--   <li><a>trlKind</a></li>
--   <li><a>trlAdvertiserId</a></li>
--   <li><a>trlAdvertiserIdDimensionValue</a></li>
--   <li><a>trlActive</a></li>
--   <li><a>trlAccountId</a></li>
--   <li><a>trlName</a></li>
--   <li><a>trlListSource</a></li>
--   <li><a>trlId</a></li>
--   <li><a>trlSubAccountId</a></li>
--   <li><a>trlDescription</a></li>
--   </ul>
targetableRemarketingList :: TargetableRemarketingList

-- | Number of users currently in the list. This is a read-only field.
trlListSize :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Number of days that a user should remain in the targetable remarketing
--   list without an impression.
trlLifeSpan :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#targetableRemarketingList".
trlKind :: Lens' TargetableRemarketingList Text

-- | Dimension value for the advertiser ID that owns this targetable
--   remarketing list.
trlAdvertiserId :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Dimension value for the ID of the advertiser.
trlAdvertiserIdDimensionValue :: Lens' TargetableRemarketingList (Maybe DimensionValue)

-- | Whether this targetable remarketing list is active.
trlActive :: Lens' TargetableRemarketingList (Maybe Bool)

-- | Account ID of this remarketing list. This is a read-only,
--   auto-generated field that is only returned in GET requests.
trlAccountId :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Name of the targetable remarketing list. Is no greater than 128
--   characters long.
trlName :: Lens' TargetableRemarketingList (Maybe Text)

-- | Product from which this targetable remarketing list was originated.
trlListSource :: Lens' TargetableRemarketingList (Maybe TargetableRemarketingListListSource)

-- | Targetable remarketing list ID.
trlId :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Subaccount ID of this remarketing list. This is a read-only,
--   auto-generated field that is only returned in GET requests.
trlSubAccountId :: Lens' TargetableRemarketingList (Maybe Int64)

-- | Targetable remarketing list description.
trlDescription :: Lens' TargetableRemarketingList (Maybe Text)

-- | The field by which to sort the list.
data ReportsFilesListSortField

-- | <tt>ID</tt> Sort by file ID.
RFLSFID :: ReportsFilesListSortField

-- | <tt>LAST_MODIFIED_TIME</tt> Sort by 'lastmodifiedAt' field.
RFLSFLastModifiedTime :: ReportsFilesListSortField

-- | Postal Code List Response
--   
--   <i>See:</i> <a>postalCodesListResponse</a> smart constructor.
data PostalCodesListResponse

-- | Creates a value of <a>PostalCodesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pclrKind</a></li>
--   <li><a>pclrPostalCodes</a></li>
--   </ul>
postalCodesListResponse :: PostalCodesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#postalCodesListResponse".
pclrKind :: Lens' PostalCodesListResponse Text

-- | Postal code collection.
pclrPostalCodes :: Lens' PostalCodesListResponse [PostalCode]

-- | Describes a change that a user has made to a resource.
--   
--   <i>See:</i> <a>changeLog</a> smart constructor.
data ChangeLog

-- | Creates a value of <a>ChangeLog</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>chaUserProFileId</a></li>
--   <li><a>chaObjectType</a></li>
--   <li><a>chaUserProFileName</a></li>
--   <li><a>chaKind</a></li>
--   <li><a>chaObjectId</a></li>
--   <li><a>chaAction</a></li>
--   <li><a>chaTransactionId</a></li>
--   <li><a>chaOldValue</a></li>
--   <li><a>chaAccountId</a></li>
--   <li><a>chaNewValue</a></li>
--   <li><a>chaFieldName</a></li>
--   <li><a>chaId</a></li>
--   <li><a>chaSubAccountId</a></li>
--   <li><a>chaChangeTime</a></li>
--   </ul>
changeLog :: ChangeLog

-- | ID of the user who modified the object.
chaUserProFileId :: Lens' ChangeLog (Maybe Int64)

-- | Object type of the change log.
chaObjectType :: Lens' ChangeLog (Maybe Text)

-- | User profile name of the user who modified the object.
chaUserProFileName :: Lens' ChangeLog (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#changeLog".
chaKind :: Lens' ChangeLog Text

-- | ID of the object of this change log. The object could be a campaign,
--   placement, ad, or other type.
chaObjectId :: Lens' ChangeLog (Maybe Int64)

-- | Action which caused the change.
chaAction :: Lens' ChangeLog (Maybe Text)

-- | Transaction ID of this change log. When a single API call results in
--   many changes, each change will have a separate ID in the change log
--   but will share the same transactionId.
chaTransactionId :: Lens' ChangeLog (Maybe Int64)

-- | Old value of the object field.
chaOldValue :: Lens' ChangeLog (Maybe Text)

-- | Account ID of the modified object.
chaAccountId :: Lens' ChangeLog (Maybe Int64)

-- | New value of the object field.
chaNewValue :: Lens' ChangeLog (Maybe Text)

-- | Field name of the object which changed.
chaFieldName :: Lens' ChangeLog (Maybe Text)

-- | ID of this change log.
chaId :: Lens' ChangeLog (Maybe Int64)

-- | Subaccount ID of the modified object.
chaSubAccountId :: Lens' ChangeLog (Maybe Int64)

-- | Time when the object was modified.
chaChangeTime :: Lens' ChangeLog (Maybe UTCTime)

-- | Contains information about a language that can be targeted by ads.
--   
--   <i>See:</i> <a>language</a> smart constructor.
data Language

-- | Creates a value of <a>Language</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lLanguageCode</a></li>
--   <li><a>lKind</a></li>
--   <li><a>lName</a></li>
--   <li><a>lId</a></li>
--   </ul>
language :: Language

-- | Format of language code is an ISO 639 two-letter language code
--   optionally followed by an underscore followed by an ISO 3166 code.
--   Examples are "en" for English or "zh_CN" for Simplified Chinese.
lLanguageCode :: Lens' Language (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#language".
lKind :: Lens' Language Text

-- | Name of this language.
lName :: Lens' Language (Maybe Text)

-- | Language ID of this language. This is the ID used for targeting and
--   generating reports.
lId :: Lens' Language (Maybe Int64)

-- | Field by which to sort the list.
data CreativesListSortField

-- | <pre>
--   ID
--   </pre>
CID :: CreativesListSortField

-- | <pre>
--   NAME
--   </pre>
CName :: CreativesListSortField

-- | Contains properties of a placement strategy.
--   
--   <i>See:</i> <a>placementStrategy</a> smart constructor.
data PlacementStrategy

-- | Creates a value of <a>PlacementStrategy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psKind</a></li>
--   <li><a>psAccountId</a></li>
--   <li><a>psName</a></li>
--   <li><a>psId</a></li>
--   </ul>
placementStrategy :: PlacementStrategy

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementStrategy".
psKind :: Lens' PlacementStrategy Text

-- | Account ID of this placement strategy.This is a read-only field that
--   can be left blank.
psAccountId :: Lens' PlacementStrategy (Maybe Int64)

-- | Name of this placement strategy. This is a required field. It must be
--   less than 256 characters long and unique among placement strategies of
--   the same account.
psName :: Lens' PlacementStrategy (Maybe Text)

-- | ID of this placement strategy. This is a read-only, auto-generated
--   field.
psId :: Lens' PlacementStrategy (Maybe Int64)

-- | Contains properties of a Floodlight activity.
--   
--   <i>See:</i> <a>floodlightActivity</a> smart constructor.
data FloodlightActivity

-- | Creates a value of <a>FloodlightActivity</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>faCountingMethod</a></li>
--   <li><a>faTagString</a></li>
--   <li><a>faSecure</a></li>
--   <li><a>faExpectedURL</a></li>
--   <li><a>faFloodlightActivityGroupTagString</a></li>
--   <li><a>faFloodlightConfigurationId</a></li>
--   <li><a>faKind</a></li>
--   <li><a>faImageTagEnabled</a></li>
--   <li><a>faAdvertiserId</a></li>
--   <li><a>faAdvertiserIdDimensionValue</a></li>
--   <li><a>faSSLCompliant</a></li>
--   <li><a>faIdDimensionValue</a></li>
--   <li><a>faTagFormat</a></li>
--   <li><a>faCacheBustingType</a></li>
--   <li><a>faAccountId</a></li>
--   <li><a>faName</a></li>
--   <li><a>faPublisherTags</a></li>
--   <li><a>faFloodlightActivityGroupId</a></li>
--   <li><a>faHidden</a></li>
--   <li><a>faFloodlightActivityGroupType</a></li>
--   <li><a>faDefaultTags</a></li>
--   <li><a>faFloodlightActivityGroupName</a></li>
--   <li><a>faId</a></li>
--   <li><a>faSSLRequired</a></li>
--   <li><a>faUserDefinedVariableTypes</a></li>
--   <li><a>faSubAccountId</a></li>
--   <li><a>faNotes</a></li>
--   <li><a>faFloodlightConfigurationIdDimensionValue</a></li>
--   </ul>
floodlightActivity :: FloodlightActivity

-- | Counting method for conversions for this floodlight activity. This is
--   a required field.
faCountingMethod :: Lens' FloodlightActivity (Maybe FloodlightActivityCountingMethod)

-- | Value of the cat= paramter in the floodlight tag, which the ad servers
--   use to identify the activity. This is optional: if empty, a new tag
--   string will be generated for you. This string must be 1 to 8
--   characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ].
--   This tag string must also be unique among activities of the same
--   activity group. This field is read-only after insertion.
faTagString :: Lens' FloodlightActivity (Maybe Text)

-- | Whether this tag should use SSL.
faSecure :: Lens' FloodlightActivity (Maybe Bool)

-- | URL where this tag will be deployed. If specified, must be less than
--   256 characters long.
faExpectedURL :: Lens' FloodlightActivity (Maybe Text)

-- | Tag string of the associated floodlight activity group. This is a
--   read-only field.
faFloodlightActivityGroupTagString :: Lens' FloodlightActivity (Maybe Text)

-- | Floodlight configuration ID of this floodlight activity. If this field
--   is left blank, the value will be copied over either from the activity
--   group's floodlight configuration or from the existing activity's
--   floodlight configuration.
faFloodlightConfigurationId :: Lens' FloodlightActivity (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivity".
faKind :: Lens' FloodlightActivity Text

-- | Whether the image tag is enabled for this activity.
faImageTagEnabled :: Lens' FloodlightActivity (Maybe Bool)

-- | Advertiser ID of this floodlight activity. If this field is left
--   blank, the value will be copied over either from the activity group's
--   advertiser or the existing activity's advertiser.
faAdvertiserId :: Lens' FloodlightActivity (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
faAdvertiserIdDimensionValue :: Lens' FloodlightActivity (Maybe DimensionValue)

-- | Whether the floodlight activity is SSL-compliant. This is a read-only
--   field, its value detected by the system from the floodlight tags.
faSSLCompliant :: Lens' FloodlightActivity (Maybe Bool)

-- | Dimension value for the ID of this floodlight activity. This is a
--   read-only, auto-generated field.
faIdDimensionValue :: Lens' FloodlightActivity (Maybe DimensionValue)

-- | Tag format type for the floodlight activity. If left blank, the tag
--   format will default to HTML.
faTagFormat :: Lens' FloodlightActivity (Maybe FloodlightActivityTagFormat)

-- | Code type used for cache busting in the generated tag.
faCacheBustingType :: Lens' FloodlightActivity (Maybe FloodlightActivityCacheBustingType)

-- | Account ID of this floodlight activity. This is a read-only field that
--   can be left blank.
faAccountId :: Lens' FloodlightActivity (Maybe Int64)

-- | Name of this floodlight activity. This is a required field. Must be
--   less than 129 characters long and cannot contain quotes.
faName :: Lens' FloodlightActivity (Maybe Text)

-- | Publisher dynamic floodlight tags.
faPublisherTags :: Lens' FloodlightActivity [FloodlightActivityPublisherDynamicTag]

-- | Floodlight activity group ID of this floodlight activity. This is a
--   required field.
faFloodlightActivityGroupId :: Lens' FloodlightActivity (Maybe Int64)

-- | Whether this activity is archived.
faHidden :: Lens' FloodlightActivity (Maybe Bool)

-- | Type of the associated floodlight activity group. This is a read-only
--   field.
faFloodlightActivityGroupType :: Lens' FloodlightActivity (Maybe FloodlightActivityFloodlightActivityGroupType)

-- | Dynamic floodlight tags.
faDefaultTags :: Lens' FloodlightActivity [FloodlightActivityDynamicTag]

-- | Name of the associated floodlight activity group. This is a read-only
--   field.
faFloodlightActivityGroupName :: Lens' FloodlightActivity (Maybe Text)

-- | ID of this floodlight activity. This is a read-only, auto-generated
--   field.
faId :: Lens' FloodlightActivity (Maybe Int64)

-- | Whether this floodlight activity must be SSL-compliant.
faSSLRequired :: Lens' FloodlightActivity (Maybe Bool)

-- | List of the user-defined variables used by this conversion tag. These
--   map to the "u[1-20]=" in the tags. Each of these can have a user
--   defined type. Acceptable values are: - "U1" - "U2" - "U3" - "U4" -
--   "U5" - "U6" - "U7" - "U8" - "U9" - "U10" - "U11" - "U12" - "U13" -
--   "U14" - "U15" - "U16" - "U17" - "U18" - "U19" - "U20"
faUserDefinedVariableTypes :: Lens' FloodlightActivity [FloodlightActivityUserDefinedVariableTypesItem]

-- | Subaccount ID of this floodlight activity. This is a read-only field
--   that can be left blank.
faSubAccountId :: Lens' FloodlightActivity (Maybe Int64)

-- | General notes or implementation instructions for the tag.
faNotes :: Lens' FloodlightActivity (Maybe Text)

-- | Dimension value for the ID of the floodlight configuration. This is a
--   read-only, auto-generated field.
faFloodlightConfigurationIdDimensionValue :: Lens' FloodlightActivity (Maybe DimensionValue)
data DayPartTargetingDaysOfWeekItem

-- | <pre>
--   FRIDAY
--   </pre>
DPTDOWIFriday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   MONDAY
--   </pre>
DPTDOWIMonday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   SATURDAY
--   </pre>
DPTDOWISaturday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   SUNDAY
--   </pre>
DPTDOWISunday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   THURSDAY
--   </pre>
DPTDOWIThursday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   TUESDAY
--   </pre>
DPTDOWITuesday :: DayPartTargetingDaysOfWeekItem

-- | <pre>
--   WEDNESDAY
--   </pre>
DPTDOWIWednesday :: DayPartTargetingDaysOfWeekItem

-- | A custom floodlight variable.
--   
--   <i>See:</i> <a>customFloodlightVariable</a> smart constructor.
data CustomFloodlightVariable

-- | Creates a value of <a>CustomFloodlightVariable</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cusKind</a></li>
--   <li><a>cusValue</a></li>
--   <li><a>cusType</a></li>
--   </ul>
customFloodlightVariable :: CustomFloodlightVariable

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#customFloodlightVariable".
cusKind :: Lens' CustomFloodlightVariable Text

-- | The value of the custom floodlight variable. The length of string must
--   not exceed 50 characters.
cusValue :: Lens' CustomFloodlightVariable (Maybe Text)

-- | The type of custom floodlight variable to supply a value for. These
--   map to the "u[1-20]=" in the tags.
cusType :: Lens' CustomFloodlightVariable (Maybe CustomFloodlightVariableType)

-- | Strategy for calculating weights. Used with
--   CREATIVE_ROTATION_TYPE_RANDOM.
data CreativeRotationWeightCalculationStrategy

-- | <pre>
--   WEIGHT_STRATEGY_CUSTOM
--   </pre>
WeightStrategyCustom :: CreativeRotationWeightCalculationStrategy

-- | <pre>
--   WEIGHT_STRATEGY_EQUAL
--   </pre>
WeightStrategyEqual :: CreativeRotationWeightCalculationStrategy

-- | <pre>
--   WEIGHT_STRATEGY_HIGHEST_CTR
--   </pre>
WeightStrategyHighestCtr :: CreativeRotationWeightCalculationStrategy

-- | <pre>
--   WEIGHT_STRATEGY_OPTIMIZED
--   </pre>
WeightStrategyOptimized :: CreativeRotationWeightCalculationStrategy

-- | The scope that defines which results are returned, default is 'MINE'.
data FilesListScope

-- | <tt>ALL</tt> All files in account.
FLSAll :: FilesListScope

-- | <tt>MINE</tt> My files.
FLSMine :: FilesListScope

-- | <tt>SHARED_WITH_ME</tt> Files shared with me.
FLSSharedWithMe :: FilesListScope

-- | Field by which to sort the list.
data ContentCategoriesListSortField

-- | <pre>
--   ID
--   </pre>
CCLSFID :: ContentCategoriesListSortField

-- | <pre>
--   NAME
--   </pre>
CCLSFName :: ContentCategoriesListSortField

-- | Audience age group of this project.
data ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_18_24
--   </pre>
PlanningAudienceAge1824 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_25_34
--   </pre>
PlanningAudienceAge2534 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_35_44
--   </pre>
PlanningAudienceAge3544 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_45_54
--   </pre>
PlanningAudienceAge4554 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_55_64
--   </pre>
PlanningAudienceAge5564 :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_65_OR_MORE
--   </pre>
PlanningAudienceAge65OrMore :: ProjectAudienceAgeGroup

-- | <pre>
--   PLANNING_AUDIENCE_AGE_UNKNOWN
--   </pre>
PlanningAudienceAgeUnknown :: ProjectAudienceAgeGroup

-- | Platform Type List Response
--   
--   <i>See:</i> <a>platformTypesListResponse</a> smart constructor.
data PlatformTypesListResponse

-- | Creates a value of <a>PlatformTypesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptlrKind</a></li>
--   <li><a>ptlrPlatformTypes</a></li>
--   </ul>
platformTypesListResponse :: PlatformTypesListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#platformTypesListResponse".
ptlrKind :: Lens' PlatformTypesListResponse Text

-- | Platform type collection.
ptlrPlatformTypes :: Lens' PlatformTypesListResponse [PlatformType]

-- | Type of ad. This is a required field on insertion. Note that default
--   ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative
--   resource).
data AdType

-- | <pre>
--   AD_SERVING_CLICK_TRACKER
--   </pre>
ATAdServingClickTracker :: AdType

-- | <pre>
--   AD_SERVING_DEFAULT_AD
--   </pre>
ATAdServingDefaultAd :: AdType

-- | <pre>
--   AD_SERVING_STANDARD_AD
--   </pre>
ATAdServingStandardAd :: AdType

-- | <pre>
--   AD_SERVING_TRACKING
--   </pre>
ATAdServingTracking :: AdType

-- | Modification timestamp.
--   
--   <i>See:</i> <a>lastModifiedInfo</a> smart constructor.
data LastModifiedInfo

-- | Creates a value of <a>LastModifiedInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lmiTime</a></li>
--   </ul>
lastModifiedInfo :: LastModifiedInfo

-- | Timestamp of the last change in milliseconds since epoch.
lmiTime :: Lens' LastModifiedInfo (Maybe Int64)

-- | Target Window.
--   
--   <i>See:</i> <a>targetWindow</a> smart constructor.
data TargetWindow

-- | Creates a value of <a>TargetWindow</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>twCustomHTML</a></li>
--   <li><a>twTargetWindowOption</a></li>
--   </ul>
targetWindow :: TargetWindow

-- | User-entered value.
twCustomHTML :: Lens' TargetWindow (Maybe Text)

-- | Type of browser window for which the backup image of the flash
--   creative can be displayed.
twTargetWindowOption :: Lens' TargetWindow (Maybe TargetWindowTargetWindowOption)

-- | Select only change logs with the specified action.
data ChangeLogsListAction

-- | <pre>
--   ACTION_ADD
--   </pre>
ActionAdd :: ChangeLogsListAction

-- | <pre>
--   ACTION_ASSIGN
--   </pre>
ActionAssign :: ChangeLogsListAction

-- | <pre>
--   ACTION_ASSOCIATE
--   </pre>
ActionAssociate :: ChangeLogsListAction

-- | <pre>
--   ACTION_CREATE
--   </pre>
ActionCreate :: ChangeLogsListAction

-- | <pre>
--   ACTION_DELETE
--   </pre>
ActionDelete :: ChangeLogsListAction

-- | <pre>
--   ACTION_DISABLE
--   </pre>
ActionDisable :: ChangeLogsListAction

-- | <pre>
--   ACTION_EMAIL_TAGS
--   </pre>
ActionEmailTags :: ChangeLogsListAction

-- | <pre>
--   ACTION_ENABLE
--   </pre>
ActionEnable :: ChangeLogsListAction

-- | <pre>
--   ACTION_LINK
--   </pre>
ActionLink :: ChangeLogsListAction

-- | <pre>
--   ACTION_MARK_AS_DEFAULT
--   </pre>
ActionMarkAsDefault :: ChangeLogsListAction

-- | <pre>
--   ACTION_PUSH
--   </pre>
ActionPush :: ChangeLogsListAction

-- | <pre>
--   ACTION_REMOVE
--   </pre>
ActionRemove :: ChangeLogsListAction

-- | <pre>
--   ACTION_SEND
--   </pre>
ActionSend :: ChangeLogsListAction

-- | <pre>
--   ACTION_SHARE
--   </pre>
ActionShare :: ChangeLogsListAction

-- | <pre>
--   ACTION_UNASSIGN
--   </pre>
ActionUnassign :: ChangeLogsListAction

-- | <pre>
--   ACTION_UNLINK
--   </pre>
ActionUnlink :: ChangeLogsListAction

-- | <pre>
--   ACTION_UPDATE
--   </pre>
ActionUpdate :: ChangeLogsListAction

-- | Type of artwork used for the creative. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA, and all
--   VPAID.
data CreativeArtworkType

-- | <pre>
--   ARTWORK_TYPE_FLASH
--   </pre>
CATArtworkTypeFlash :: CreativeArtworkType

-- | <pre>
--   ARTWORK_TYPE_HTML5
--   </pre>
CATArtworkTypeHTML5 :: CreativeArtworkType

-- | <pre>
--   ARTWORK_TYPE_IMAGE
--   </pre>
CATArtworkTypeImage :: CreativeArtworkType

-- | <pre>
--   ARTWORK_TYPE_MIXED
--   </pre>
CATArtworkTypeMixed :: CreativeArtworkType

-- | Third-party placement status.
data PlacementStatus

-- | <pre>
--   ACKNOWLEDGE_ACCEPTANCE
--   </pre>
AcknowledgeAcceptance :: PlacementStatus

-- | <pre>
--   ACKNOWLEDGE_REJECTION
--   </pre>
AcknowledgeRejection :: PlacementStatus

-- | <pre>
--   DRAFT
--   </pre>
Draft :: PlacementStatus

-- | <pre>
--   PAYMENT_ACCEPTED
--   </pre>
PaymentAccepted :: PlacementStatus

-- | <pre>
--   PAYMENT_REJECTED
--   </pre>
PaymentRejected :: PlacementStatus

-- | <pre>
--   PENDING_REVIEW
--   </pre>
PendingReview :: PlacementStatus

-- | AccountPermissionGroups contains a mapping of permission group IDs to
--   names. A permission group is a grouping of account permissions.
--   
--   <i>See:</i> <a>accountPermissionGroup</a> smart constructor.
data AccountPermissionGroup

-- | Creates a value of <a>AccountPermissionGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apgpKind</a></li>
--   <li><a>apgpName</a></li>
--   <li><a>apgpId</a></li>
--   </ul>
accountPermissionGroup :: AccountPermissionGroup

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#accountPermissionGroup".
apgpKind :: Lens' AccountPermissionGroup Text

-- | Name of this account permission group.
apgpName :: Lens' AccountPermissionGroup (Maybe Text)

-- | ID of this account permission group.
apgpId :: Lens' AccountPermissionGroup (Maybe Int64)

-- | Contains properties of a DCM advertiser.
--   
--   <i>See:</i> <a>advertiser</a> smart constructor.
data Advertiser

-- | Creates a value of <a>Advertiser</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>advdOriginalFloodlightConfigurationId</a></li>
--   <li><a>advdStatus</a></li>
--   <li><a>advdFloodlightConfigurationId</a></li>
--   <li><a>advdKind</a></li>
--   <li><a>advdSuspended</a></li>
--   <li><a>advdIdDimensionValue</a></li>
--   <li><a>advdAccountId</a></li>
--   <li><a>advdDefaultEmail</a></li>
--   <li><a>advdName</a></li>
--   <li><a>advdAdvertiserGroupId</a></li>
--   <li><a>advdDefaultClickThroughEventTagId</a></li>
--   <li><a>advdId</a></li>
--   <li><a>advdSubAccountId</a></li>
--   <li><a>advdFloodlightConfigurationIdDimensionValue</a></li>
--   <li><a>advdClickThroughURLSuffix</a></li>
--   </ul>
advertiser :: Advertiser

-- | Original floodlight configuration before any sharing occurred. Set the
--   floodlightConfigurationId of this advertiser to
--   originalFloodlightConfigurationId to unshare the advertiser's current
--   floodlight configuration. You cannot unshare an advertiser's
--   floodlight configuration if the shared configuration has activities
--   associated with any campaign or placement.
advdOriginalFloodlightConfigurationId :: Lens' Advertiser (Maybe Int64)

-- | Status of this advertiser.
advdStatus :: Lens' Advertiser (Maybe AdvertiserStatus)

-- | Floodlight configuration ID of this advertiser. The floodlight
--   configuration ID will be created automatically, so on insert this
--   field should be left blank. This field can be set to another
--   advertiser's floodlight configuration ID in order to share that
--   advertiser's floodlight configuration with this advertiser, so long
--   as: - This advertiser's original floodlight configuration is not
--   already associated with floodlight activities or floodlight activity
--   groups. - This advertiser's original floodlight configuration is not
--   already shared with another advertiser.
advdFloodlightConfigurationId :: Lens' Advertiser (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#advertiser".
advdKind :: Lens' Advertiser Text

-- | Suspension status of this advertiser.
advdSuspended :: Lens' Advertiser (Maybe Bool)

-- | Dimension value for the ID of this advertiser. This is a read-only,
--   auto-generated field.
advdIdDimensionValue :: Lens' Advertiser (Maybe DimensionValue)

-- | Account ID of this advertiser.This is a read-only field that can be
--   left blank.
advdAccountId :: Lens' Advertiser (Maybe Int64)

-- | Default email address used in sender field for tag emails.
advdDefaultEmail :: Lens' Advertiser (Maybe Text)

-- | Name of this advertiser. This is a required field and must be less
--   than 256 characters long and unique among advertisers of the same
--   account.
advdName :: Lens' Advertiser (Maybe Text)

-- | ID of the advertiser group this advertiser belongs to. You can group
--   advertisers for reporting purposes, allowing you to see aggregated
--   information for all advertisers in each group.
advdAdvertiserGroupId :: Lens' Advertiser (Maybe Int64)

-- | ID of the click-through event tag to apply by default to the landing
--   pages of this advertiser's campaigns.
advdDefaultClickThroughEventTagId :: Lens' Advertiser (Maybe Int64)

-- | ID of this advertiser. This is a read-only, auto-generated field.
advdId :: Lens' Advertiser (Maybe Int64)

-- | Subaccount ID of this advertiser.This is a read-only field that can be
--   left blank.
advdSubAccountId :: Lens' Advertiser (Maybe Int64)

-- | Dimension value for the ID of the floodlight configuration. This is a
--   read-only, auto-generated field.
advdFloodlightConfigurationIdDimensionValue :: Lens' Advertiser (Maybe DimensionValue)

-- | Suffix added to click-through URL of ad creative associations under
--   this advertiser. Must be less than 129 characters long.
advdClickThroughURLSuffix :: Lens' Advertiser (Maybe Text)

-- | Enum to define for "MONTHLY" scheduled reports whether reports should
--   be repeated on the same day of the month as "startDate" or the same
--   day of the week of the month. Example: If 'startDate' is Monday, April
--   2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on
--   the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent
--   reports on the first Monday of the month.
data ReportScheduleRunsOnDayOfMonth

-- | <pre>
--   DAY_OF_MONTH
--   </pre>
DayOfMonth :: ReportScheduleRunsOnDayOfMonth

-- | <pre>
--   WEEK_OF_MONTH
--   </pre>
WeekOfMonth :: ReportScheduleRunsOnDayOfMonth

-- | Contains properties of auser role, which is used to manage user
--   access.
--   
--   <i>See:</i> <a>userRole</a> smart constructor.
data UserRole

-- | Creates a value of <a>UserRole</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urParentUserRoleId</a></li>
--   <li><a>urKind</a></li>
--   <li><a>urDefaultUserRole</a></li>
--   <li><a>urAccountId</a></li>
--   <li><a>urName</a></li>
--   <li><a>urId</a></li>
--   <li><a>urPermissions</a></li>
--   <li><a>urSubAccountId</a></li>
--   </ul>
userRole :: UserRole

-- | ID of the user role that this user role is based on or copied from.
--   This is a required field.
urParentUserRoleId :: Lens' UserRole (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRole".
urKind :: Lens' UserRole Text

-- | Whether this is a default user role. Default user roles are created by
--   the system for the account/subaccount and cannot be modified or
--   deleted. Each default user role comes with a basic set of preassigned
--   permissions.
urDefaultUserRole :: Lens' UserRole (Maybe Bool)

-- | Account ID of this user role. This is a read-only field that can be
--   left blank.
urAccountId :: Lens' UserRole (Maybe Int64)

-- | Name of this user role. This is a required field. Must be less than
--   256 characters long. If this user role is under a subaccount, the name
--   must be unique among sites of the same subaccount. Otherwise, this
--   user role is a top-level user role, and the name must be unique among
--   top-level user roles of the same account.
urName :: Lens' UserRole (Maybe Text)

-- | ID of this user role. This is a read-only, auto-generated field.
urId :: Lens' UserRole (Maybe Int64)

-- | List of permissions associated with this user role.
urPermissions :: Lens' UserRole [UserRolePermission]

-- | Subaccount ID of this user role. This is a read-only field that can be
--   left blank.
urSubAccountId :: Lens' UserRole (Maybe Int64)
data FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U1
--   </pre>
FAUDVTIU1 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U10
--   </pre>
FAUDVTIU10 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U100
--   </pre>
FAUDVTIU100 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U11
--   </pre>
FAUDVTIU11 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U12
--   </pre>
FAUDVTIU12 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U13
--   </pre>
FAUDVTIU13 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U14
--   </pre>
FAUDVTIU14 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U15
--   </pre>
FAUDVTIU15 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U16
--   </pre>
FAUDVTIU16 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U17
--   </pre>
FAUDVTIU17 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U18
--   </pre>
FAUDVTIU18 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U19
--   </pre>
FAUDVTIU19 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U2
--   </pre>
FAUDVTIU2 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U20
--   </pre>
FAUDVTIU20 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U21
--   </pre>
FAUDVTIU21 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U22
--   </pre>
FAUDVTIU22 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U23
--   </pre>
FAUDVTIU23 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U24
--   </pre>
FAUDVTIU24 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U25
--   </pre>
FAUDVTIU25 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U26
--   </pre>
FAUDVTIU26 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U27
--   </pre>
FAUDVTIU27 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U28
--   </pre>
FAUDVTIU28 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U29
--   </pre>
FAUDVTIU29 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U3
--   </pre>
FAUDVTIU3 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U30
--   </pre>
FAUDVTIU30 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U31
--   </pre>
FAUDVTIU31 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U32
--   </pre>
FAUDVTIU32 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U33
--   </pre>
FAUDVTIU33 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U34
--   </pre>
FAUDVTIU34 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U35
--   </pre>
FAUDVTIU35 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U36
--   </pre>
FAUDVTIU36 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U37
--   </pre>
FAUDVTIU37 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U38
--   </pre>
FAUDVTIU38 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U39
--   </pre>
FAUDVTIU39 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U4
--   </pre>
FAUDVTIU4 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U40
--   </pre>
FAUDVTIU40 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U41
--   </pre>
FAUDVTIU41 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U42
--   </pre>
FAUDVTIU42 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U43
--   </pre>
FAUDVTIU43 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U44
--   </pre>
FAUDVTIU44 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U45
--   </pre>
FAUDVTIU45 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U46
--   </pre>
FAUDVTIU46 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U47
--   </pre>
FAUDVTIU47 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U48
--   </pre>
FAUDVTIU48 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U49
--   </pre>
FAUDVTIU49 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U5
--   </pre>
FAUDVTIU5 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U50
--   </pre>
FAUDVTIU50 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U51
--   </pre>
FAUDVTIU51 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U52
--   </pre>
FAUDVTIU52 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U53
--   </pre>
FAUDVTIU53 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U54
--   </pre>
FAUDVTIU54 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U55
--   </pre>
FAUDVTIU55 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U56
--   </pre>
FAUDVTIU56 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U57
--   </pre>
FAUDVTIU57 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U58
--   </pre>
FAUDVTIU58 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U59
--   </pre>
FAUDVTIU59 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U6
--   </pre>
FAUDVTIU6 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U60
--   </pre>
FAUDVTIU60 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U61
--   </pre>
FAUDVTIU61 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U62
--   </pre>
FAUDVTIU62 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U63
--   </pre>
FAUDVTIU63 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U64
--   </pre>
FAUDVTIU64 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U65
--   </pre>
FAUDVTIU65 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U66
--   </pre>
FAUDVTIU66 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U67
--   </pre>
FAUDVTIU67 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U68
--   </pre>
FAUDVTIU68 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U69
--   </pre>
FAUDVTIU69 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U7
--   </pre>
FAUDVTIU7 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U70
--   </pre>
FAUDVTIU70 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U71
--   </pre>
FAUDVTIU71 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U72
--   </pre>
FAUDVTIU72 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U73
--   </pre>
FAUDVTIU73 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U74
--   </pre>
FAUDVTIU74 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U75
--   </pre>
FAUDVTIU75 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U76
--   </pre>
FAUDVTIU76 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U77
--   </pre>
FAUDVTIU77 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U78
--   </pre>
FAUDVTIU78 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U79
--   </pre>
FAUDVTIU79 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U8
--   </pre>
FAUDVTIU8 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U80
--   </pre>
FAUDVTIU80 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U81
--   </pre>
FAUDVTIU81 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U82
--   </pre>
FAUDVTIU82 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U83
--   </pre>
FAUDVTIU83 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U84
--   </pre>
FAUDVTIU84 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U85
--   </pre>
FAUDVTIU85 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U86
--   </pre>
FAUDVTIU86 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U87
--   </pre>
FAUDVTIU87 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U88
--   </pre>
FAUDVTIU88 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U89
--   </pre>
FAUDVTIU89 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U9
--   </pre>
FAUDVTIU9 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U90
--   </pre>
FAUDVTIU90 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U91
--   </pre>
FAUDVTIU91 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U92
--   </pre>
FAUDVTIU92 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U93
--   </pre>
FAUDVTIU93 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U94
--   </pre>
FAUDVTIU94 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U95
--   </pre>
FAUDVTIU95 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U96
--   </pre>
FAUDVTIU96 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U97
--   </pre>
FAUDVTIU97 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U98
--   </pre>
FAUDVTIU98 :: FloodlightActivityUserDefinedVariableTypesItem

-- | <pre>
--   U99
--   </pre>
FAUDVTIU99 :: FloodlightActivityUserDefinedVariableTypesItem

-- | Site filter type for this event tag. If no type is specified then the
--   event tag will be applied to all sites.
data EventTagSiteFilterType

-- | <pre>
--   BLACKLIST
--   </pre>
BlackList :: EventTagSiteFilterType

-- | <pre>
--   WHITELIST
--   </pre>
WhiteList :: EventTagSiteFilterType

-- | The output format of the report. If not specified, default format is
--   "CSV". Note that the actual format in the completed report file might
--   differ if for instance the report's size exceeds the format's
--   capabilities. "CSV" will then be the fallback format.
data ReportFormat

-- | <pre>
--   CSV
--   </pre>
RFCSV :: ReportFormat

-- | <pre>
--   EXCEL
--   </pre>
RFExcel :: ReportFormat

-- | Type of this placement group. A package is a simple group of
--   placements that acts as a single pricing point for a group of tags. A
--   roadblock is a group of placements that not only acts as a single
--   pricing point, but also assumes that all the tags in it will be served
--   at the same time. A roadblock requires one of its assigned placements
--   to be marked as primary for reporting. This field is required on
--   insertion.
data PlacementGroupPlacementGroupType

-- | <pre>
--   PLACEMENT_PACKAGE
--   </pre>
PGPGTPlacementPackage :: PlacementGroupPlacementGroupType

-- | <pre>
--   PLACEMENT_ROADBLOCK
--   </pre>
PGPGTPlacementRoadblock :: PlacementGroupPlacementGroupType

-- | Video Format List Response
--   
--   <i>See:</i> <a>videoFormatsListResponse</a> smart constructor.
data VideoFormatsListResponse

-- | Creates a value of <a>VideoFormatsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vflrKind</a></li>
--   <li><a>vflrVideoFormats</a></li>
--   </ul>
videoFormatsListResponse :: VideoFormatsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#videoFormatsListResponse".
vflrKind :: Lens' VideoFormatsListResponse Text

-- | Video format collection.
vflrVideoFormats :: Lens' VideoFormatsListResponse [VideoFormat]

-- | Directory Site List Response
--   
--   <i>See:</i> <a>directorySitesListResponse</a> smart constructor.
data DirectorySitesListResponse

-- | Creates a value of <a>DirectorySitesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dslrNextPageToken</a></li>
--   <li><a>dslrKind</a></li>
--   <li><a>dslrDirectorySites</a></li>
--   </ul>
directorySitesListResponse :: DirectorySitesListResponse

-- | Pagination token to be used for the next list operation.
dslrNextPageToken :: Lens' DirectorySitesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#directorySitesListResponse".
dslrKind :: Lens' DirectorySitesListResponse Text

-- | Directory site collection.
dslrDirectorySites :: Lens' DirectorySitesListResponse [DirectorySite]

-- | The error code and description for a conversion that failed to insert
--   or update.
--   
--   <i>See:</i> <a>conversionError</a> smart constructor.
data ConversionError

-- | Creates a value of <a>ConversionError</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ceKind</a></li>
--   <li><a>ceCode</a></li>
--   <li><a>ceMessage</a></li>
--   </ul>
conversionError :: ConversionError

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversionError".
ceKind :: Lens' ConversionError Text

-- | The error code.
ceCode :: Lens' ConversionError (Maybe ConversionErrorCode)

-- | A description of the error.
ceMessage :: Lens' ConversionError (Maybe Text)

-- | Pricing type of this inventory item.
data PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CLICKS
--   </pre>
PlanningPlacementPricingTypeClicks :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CPA
--   </pre>
PlanningPlacementPricingTypeCpa :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CPC
--   </pre>
PlanningPlacementPricingTypeCpc :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CPM
--   </pre>
PlanningPlacementPricingTypeCpm :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW
--   </pre>
PlanningPlacementPricingTypeCpmActiveview :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS
--   </pre>
PlanningPlacementPricingTypeFlatRateClicks :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS
--   </pre>
PlanningPlacementPricingTypeFlatRateImpressions :: PricingPricingType

-- | <pre>
--   PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS
--   </pre>
PlanningPlacementPricingTypeImpressions :: PricingPricingType

-- | Pricing Period
--   
--   <i>See:</i> <a>pricingSchedulePricingPeriod</a> smart constructor.
data PricingSchedulePricingPeriod

-- | Creates a value of <a>PricingSchedulePricingPeriod</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psppEndDate</a></li>
--   <li><a>psppRateOrCostNanos</a></li>
--   <li><a>psppStartDate</a></li>
--   <li><a>psppUnits</a></li>
--   <li><a>psppPricingComment</a></li>
--   </ul>
pricingSchedulePricingPeriod :: PricingSchedulePricingPeriod

-- | Pricing period end date. This date must be later than, or the same day
--   as, the pricing period start date, but not later than the placement
--   end date. The period end date can be the same date as the period start
--   date. If, for example, you set 6/25/2015 as both the start and end
--   dates, the effective pricing period date is just that day only,
--   6/25/2015. The hours, minutes, and seconds of the end date should not
--   be set, as doing so will result in an error.
psppEndDate :: Lens' PricingSchedulePricingPeriod (Maybe Day)

-- | Rate or cost of this pricing period.
psppRateOrCostNanos :: Lens' PricingSchedulePricingPeriod (Maybe Int64)

-- | Pricing period start date. This date must be later than, or the same
--   day as, the placement start date. The hours, minutes, and seconds of
--   the start date should not be set, as doing so will result in an error.
psppStartDate :: Lens' PricingSchedulePricingPeriod (Maybe Day)

-- | Units of this pricing period.
psppUnits :: Lens' PricingSchedulePricingPeriod (Maybe Int64)

-- | Comments for this pricing period.
psppPricingComment :: Lens' PricingSchedulePricingPeriod (Maybe Text)

-- | Order of sorted results, default is ASCENDING.
data SubAccountsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
SALSOAscending :: SubAccountsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
SALSODescending :: SubAccountsListSortOrder

-- | Directory Site Contact List Response
--   
--   <i>See:</i> <a>directorySiteContactsListResponse</a> smart
--   constructor.
data DirectorySiteContactsListResponse

-- | Creates a value of <a>DirectorySiteContactsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsclrNextPageToken</a></li>
--   <li><a>dsclrKind</a></li>
--   <li><a>dsclrDirectorySiteContacts</a></li>
--   </ul>
directorySiteContactsListResponse :: DirectorySiteContactsListResponse

-- | Pagination token to be used for the next list operation.
dsclrNextPageToken :: Lens' DirectorySiteContactsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#directorySiteContactsListResponse".
dsclrKind :: Lens' DirectorySiteContactsListResponse Text

-- | Directory site contact collection
dsclrDirectorySiteContacts :: Lens' DirectorySiteContactsListResponse [DirectorySiteContact]

-- | Contains information about a region that can be targeted by ads.
--   
--   <i>See:</i> <a>region</a> smart constructor.
data Region

-- | Creates a value of <a>Region</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>regRegionCode</a></li>
--   <li><a>regKind</a></li>
--   <li><a>regName</a></li>
--   <li><a>regCountryCode</a></li>
--   <li><a>regCountryDartId</a></li>
--   <li><a>regDartId</a></li>
--   </ul>
region :: Region

-- | Region code.
regRegionCode :: Lens' Region (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#region".
regKind :: Lens' Region Text

-- | Name of this region.
regName :: Lens' Region (Maybe Text)

-- | Country code of the country to which this region belongs.
regCountryCode :: Lens' Region (Maybe Text)

-- | DART ID of the country to which this region belongs.
regCountryDartId :: Lens' Region (Maybe Int64)

-- | DART ID of this region.
regDartId :: Lens' Region (Maybe Int64)

-- | Advertiser Group List Response
--   
--   <i>See:</i> <a>advertiserGroupsListResponse</a> smart constructor.
data AdvertiserGroupsListResponse

-- | Creates a value of <a>AdvertiserGroupsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aglrNextPageToken</a></li>
--   <li><a>aglrKind</a></li>
--   <li><a>aglrAdvertiserGroups</a></li>
--   </ul>
advertiserGroupsListResponse :: AdvertiserGroupsListResponse

-- | Pagination token to be used for the next list operation.
aglrNextPageToken :: Lens' AdvertiserGroupsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#advertiserGroupsListResponse".
aglrKind :: Lens' AdvertiserGroupsListResponse Text

-- | Advertiser group collection.
aglrAdvertiserGroups :: Lens' AdvertiserGroupsListResponse [AdvertiserGroup]

-- | Order of sorted results, default is ASCENDING.
data AdsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
ADSAscending :: AdsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ADSDescending :: AdsListSortOrder

-- | Order of sorted results, default is ASCENDING.
data ProjectsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
PLSOAscending :: ProjectsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
PLSODescending :: ProjectsListSortOrder

-- | Creative Assignment.
--   
--   <i>See:</i> <a>creativeAssignment</a> smart constructor.
data CreativeAssignment

-- | Creates a value of <a>CreativeAssignment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caCreativeGroupAssignments</a></li>
--   <li><a>caStartTime</a></li>
--   <li><a>caWeight</a></li>
--   <li><a>caRichMediaExitOverrides</a></li>
--   <li><a>caSSLCompliant</a></li>
--   <li><a>caCreativeId</a></li>
--   <li><a>caClickThroughURL</a></li>
--   <li><a>caApplyEventTags</a></li>
--   <li><a>caActive</a></li>
--   <li><a>caSequence</a></li>
--   <li><a>caEndTime</a></li>
--   <li><a>caCompanionCreativeOverrides</a></li>
--   <li><a>caCreativeIdDimensionValue</a></li>
--   </ul>
creativeAssignment :: CreativeAssignment

-- | Creative group assignments for this creative assignment. Only one
--   assignment per creative group number is allowed for a maximum of two
--   assignments.
caCreativeGroupAssignments :: Lens' CreativeAssignment [CreativeGroupAssignment]

-- | Date and time that the assigned creative should start serving.
caStartTime :: Lens' CreativeAssignment (Maybe UTCTime)

-- | Weight of the creative assignment, applicable when the rotation type
--   is CREATIVE_ROTATION_TYPE_RANDOM.
caWeight :: Lens' CreativeAssignment (Maybe Int32)

-- | Rich media exit overrides for this creative assignment. Applicable
--   when the creative type is any of the following: - RICH_MEDIA_INPAGE -
--   RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND -
--   RICH_MEDIA_EXPANDING - RICH_MEDIA_INTERSTITIAL_FLOAT -
--   RICH_MEDIA_MOBILE_IN_APP - RICH_MEDIA_MULTI_FLOATING -
--   RICH_MEDIA_PEEL_DOWN - ADVANCED_BANNER - VPAID_LINEAR -
--   VPAID_NON_LINEAR
caRichMediaExitOverrides :: Lens' CreativeAssignment [RichMediaExitOverride]

-- | Whether the creative to be assigned is SSL-compliant. This is a
--   read-only field that is auto-generated when the ad is inserted or
--   updated.
caSSLCompliant :: Lens' CreativeAssignment (Maybe Bool)

-- | ID of the creative to be assigned. This is a required field.
caCreativeId :: Lens' CreativeAssignment (Maybe Int64)

-- | Click-through URL of the creative assignment.
caClickThroughURL :: Lens' CreativeAssignment (Maybe ClickThroughURL)

-- | Whether applicable event tags should fire when this creative
--   assignment is rendered. If this value is unset when the ad is inserted
--   or updated, it will default to true for all creative types EXCEPT for
--   INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
caApplyEventTags :: Lens' CreativeAssignment (Maybe Bool)

-- | Whether this creative assignment is active. When true, the creative
--   will be included in the ad's rotation.
caActive :: Lens' CreativeAssignment (Maybe Bool)

-- | Sequence number of the creative assignment, applicable when the
--   rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
caSequence :: Lens' CreativeAssignment (Maybe Int32)

-- | Date and time that the assigned creative should stop serving. Must be
--   later than the start time.
caEndTime :: Lens' CreativeAssignment (Maybe UTCTime)

-- | Companion creative overrides for this creative assignment. Applicable
--   to video ads.
caCompanionCreativeOverrides :: Lens' CreativeAssignment [CompanionClickThroughOverride]

-- | Dimension value for the ID of the creative. This is a read-only,
--   auto-generated field.
caCreativeIdDimensionValue :: Lens' CreativeAssignment (Maybe DimensionValue)

-- | Represents a dimension filter.
--   
--   <i>See:</i> <a>dimensionFilter</a> smart constructor.
data DimensionFilter

-- | Creates a value of <a>DimensionFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfKind</a></li>
--   <li><a>dfValue</a></li>
--   <li><a>dfDimensionName</a></li>
--   </ul>
dimensionFilter :: DimensionFilter

-- | The kind of resource this is, in this case
--   dfareporting#dimensionFilter.
dfKind :: Lens' DimensionFilter Text

-- | The value of the dimension to filter.
dfValue :: Lens' DimensionFilter (Maybe Text)

-- | The name of the dimension to filter.
dfDimensionName :: Lens' DimensionFilter (Maybe Text)

-- | Represents the list of user profiles.
--   
--   <i>See:</i> <a>userProFileList</a> smart constructor.
data UserProFileList

-- | Creates a value of <a>UserProFileList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upflEtag</a></li>
--   <li><a>upflKind</a></li>
--   <li><a>upflItems</a></li>
--   </ul>
userProFileList :: UserProFileList

-- | The eTag of this response for caching purposes.
upflEtag :: Lens' UserProFileList (Maybe Text)

-- | The kind of list this is, in this case dfareporting#userProfileList.
upflKind :: Lens' UserProFileList Text

-- | The user profiles returned in this response.
upflItems :: Lens' UserProFileList [UserProFile]

-- | Field by which to sort the list.
data RemarketingListsListSortField

-- | <pre>
--   ID
--   </pre>
RLLSFID :: RemarketingListsListSortField

-- | <pre>
--   NAME
--   </pre>
RLLSFName :: RemarketingListsListSortField

-- | Contains properties of a Floodlight configuration.
--   
--   <i>See:</i> <a>floodlightConfiguration</a> smart constructor.
data FloodlightConfiguration

-- | Creates a value of <a>FloodlightConfiguration</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcTagSettings</a></li>
--   <li><a>fcExposureToConversionEnabled</a></li>
--   <li><a>fcInAppAttributionTrackingEnabled</a></li>
--   <li><a>fcThirdPartyAuthenticationTokens</a></li>
--   <li><a>fcKind</a></li>
--   <li><a>fcAdvertiserId</a></li>
--   <li><a>fcAnalyticsDataSharingEnabled</a></li>
--   <li><a>fcAdvertiserIdDimensionValue</a></li>
--   <li><a>fcIdDimensionValue</a></li>
--   <li><a>fcLookbackConfiguration</a></li>
--   <li><a>fcAccountId</a></li>
--   <li><a>fcId</a></li>
--   <li><a>fcNATuralSearchConversionAttributionOption</a></li>
--   <li><a>fcUserDefinedVariableConfigurations</a></li>
--   <li><a>fcSubAccountId</a></li>
--   <li><a>fcFirstDayOfWeek</a></li>
--   <li><a>fcOmnitureSettings</a></li>
--   <li><a>fcStandardVariableTypes</a></li>
--   </ul>
floodlightConfiguration :: FloodlightConfiguration

-- | Configuration settings for dynamic and image floodlight tags.
fcTagSettings :: Lens' FloodlightConfiguration (Maybe TagSettings)

-- | Whether the exposure-to-conversion report is enabled. This report
--   shows detailed pathway information on up to 10 of the most recent ad
--   exposures seen by a user before converting.
fcExposureToConversionEnabled :: Lens' FloodlightConfiguration (Maybe Bool)

-- | Whether in-app attribution tracking is enabled.
fcInAppAttributionTrackingEnabled :: Lens' FloodlightConfiguration (Maybe Bool)

-- | List of third-party authentication tokens enabled for this
--   configuration.
fcThirdPartyAuthenticationTokens :: Lens' FloodlightConfiguration [ThirdPartyAuthenticationToken]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightConfiguration".
fcKind :: Lens' FloodlightConfiguration Text

-- | Advertiser ID of the parent advertiser of this floodlight
--   configuration.
fcAdvertiserId :: Lens' FloodlightConfiguration (Maybe Int64)

-- | Whether advertiser data is shared with Google Analytics.
fcAnalyticsDataSharingEnabled :: Lens' FloodlightConfiguration (Maybe Bool)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
fcAdvertiserIdDimensionValue :: Lens' FloodlightConfiguration (Maybe DimensionValue)

-- | Dimension value for the ID of this floodlight configuration. This is a
--   read-only, auto-generated field.
fcIdDimensionValue :: Lens' FloodlightConfiguration (Maybe DimensionValue)

-- | Lookback window settings for this floodlight configuration.
fcLookbackConfiguration :: Lens' FloodlightConfiguration (Maybe LookbackConfiguration)

-- | Account ID of this floodlight configuration. This is a read-only field
--   that can be left blank.
fcAccountId :: Lens' FloodlightConfiguration (Maybe Int64)

-- | ID of this floodlight configuration. This is a read-only,
--   auto-generated field.
fcId :: Lens' FloodlightConfiguration (Maybe Int64)

-- | Types of attribution options for natural search conversions.
fcNATuralSearchConversionAttributionOption :: Lens' FloodlightConfiguration (Maybe FloodlightConfigurationNATuralSearchConversionAttributionOption)

-- | List of user defined variables enabled for this configuration.
fcUserDefinedVariableConfigurations :: Lens' FloodlightConfiguration [UserDefinedVariableConfiguration]

-- | Subaccount ID of this floodlight configuration. This is a read-only
--   field that can be left blank.
fcSubAccountId :: Lens' FloodlightConfiguration (Maybe Int64)

-- | Day that will be counted as the first day of the week in reports. This
--   is a required field.
fcFirstDayOfWeek :: Lens' FloodlightConfiguration (Maybe FloodlightConfigurationFirstDayOfWeek)

-- | Settings for DCM Omniture integration.
fcOmnitureSettings :: Lens' FloodlightConfiguration (Maybe OmnitureSettings)

-- | List of standard variables enabled for this configuration. Acceptable
--   values are: - "ORD" - "NUM"
fcStandardVariableTypes :: Lens' FloodlightConfiguration [FloodlightConfigurationStandardVariableTypesItem]

-- | Companion Settings
--   
--   <i>See:</i> <a>companionSetting</a> smart constructor.
data CompanionSetting

-- | Creates a value of <a>CompanionSetting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>comKind</a></li>
--   <li><a>comImageOnly</a></li>
--   <li><a>comCompanionsDisabled</a></li>
--   <li><a>comEnabledSizes</a></li>
--   </ul>
companionSetting :: CompanionSetting

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#companionSetting".
comKind :: Lens' CompanionSetting Text

-- | Whether to serve only static images as companions.
comImageOnly :: Lens' CompanionSetting (Maybe Bool)

-- | Whether companions are disabled for this placement.
comCompanionsDisabled :: Lens' CompanionSetting (Maybe Bool)

-- | Whitelist of companion sizes to be served to this placement. Set this
--   list to null or empty to serve all companion sizes.
comEnabledSizes :: Lens' CompanionSetting [Size]
data ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   FRIDAY
--   </pre>
RSROWDIFriday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   MONDAY
--   </pre>
RSROWDIMonday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   SATURDAY
--   </pre>
RSROWDISaturday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   SUNDAY
--   </pre>
RSROWDISunday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   THURSDAY
--   </pre>
RSROWDIThursday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   TUESDAY
--   </pre>
RSROWDITuesday :: ReportScheduleRepeatsOnWeekDaysItem

-- | <pre>
--   WEDNESDAY
--   </pre>
RSROWDIWednesday :: ReportScheduleRepeatsOnWeekDaysItem

-- | Floodlight Activity Group List Response
--   
--   <i>See:</i> <a>floodlightActivityGroupsListResponse</a> smart
--   constructor.
data FloodlightActivityGroupsListResponse

-- | Creates a value of <a>FloodlightActivityGroupsListResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>faglrNextPageToken</a></li>
--   <li><a>faglrKind</a></li>
--   <li><a>faglrFloodlightActivityGroups</a></li>
--   </ul>
floodlightActivityGroupsListResponse :: FloodlightActivityGroupsListResponse

-- | Pagination token to be used for the next list operation.
faglrNextPageToken :: Lens' FloodlightActivityGroupsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivityGroupsListResponse".
faglrKind :: Lens' FloodlightActivityGroupsListResponse Text

-- | Floodlight activity group collection.
faglrFloodlightActivityGroups :: Lens' FloodlightActivityGroupsListResponse [FloodlightActivityGroup]

-- | Creative group number of the creative group assignment.
data CreativeGroupAssignmentCreativeGroupNumber

-- | <pre>
--   CREATIVE_GROUP_ONE
--   </pre>
CreativeGroupOne :: CreativeGroupAssignmentCreativeGroupNumber

-- | <pre>
--   CREATIVE_GROUP_TWO
--   </pre>
CreativeGroupTwo :: CreativeGroupAssignmentCreativeGroupNumber

-- | A Conversion represents when a user successfully performs a desired
--   action after seeing an ad.
--   
--   <i>See:</i> <a>conversion</a> smart constructor.
data Conversion

-- | Creates a value of <a>Conversion</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>conoEncryptedUserIdCandidates</a></li>
--   <li><a>conoTimestampMicros</a></li>
--   <li><a>conoLimitAdTracking</a></li>
--   <li><a>conoEncryptedUserId</a></li>
--   <li><a>conoMobileDeviceId</a></li>
--   <li><a>conoFloodlightConfigurationId</a></li>
--   <li><a>conoKind</a></li>
--   <li><a>conoFloodlightActivityId</a></li>
--   <li><a>conoQuantity</a></li>
--   <li><a>conoValue</a></li>
--   <li><a>conoCustomVariables</a></li>
--   <li><a>conoChildDirectedTreatment</a></li>
--   <li><a>conoOrdinal</a></li>
--   </ul>
conversion :: Conversion

-- | A list of the alphanumeric encrypted user IDs. Any user ID with
--   exposure prior to the conversion timestamp will be used in the
--   inserted conversion. If no such user ID is found then the conversion
--   will be rejected with NO_COOKIE_MATCH_FOUND error. When set,
--   encryptionInfo should also be specified. This field should only be
--   used when calling conversions.batchinsert. This field is mutually
--   exclusive with encryptedUserId and mobileDeviceId. This or
--   encryptedUserId or mobileDeviceId is a required field.
conoEncryptedUserIdCandidates :: Lens' Conversion [Text]

-- | The timestamp of conversion, in Unix epoch micros. This is a required
--   field.
conoTimestampMicros :: Lens' Conversion (Maybe Int64)

-- | Whether Limit Ad Tracking is enabled. When set to true, the conversion
--   will be used for reporting but not targeting. This will prevent
--   remarketing.
conoLimitAdTracking :: Lens' Conversion (Maybe Bool)

-- | The alphanumeric encrypted user ID. When set, encryptionInfo should
--   also be specified. This field is mutually exclusive with
--   encryptedUserIdCandidates[] and mobileDeviceId. This or
--   encryptedUserIdCandidates[] or mobileDeviceId is a required field.
conoEncryptedUserId :: Lens' Conversion (Maybe Text)

-- | The mobile device ID. This field is mutually exclusive with
--   encryptedUserId and encryptedUserIdCandidates[]. This or
--   encryptedUserId or encryptedUserIdCandidates[] is a required field.
conoMobileDeviceId :: Lens' Conversion (Maybe Text)

-- | Floodlight Configuration ID of this conversion. This is a required
--   field.
conoFloodlightConfigurationId :: Lens' Conversion (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversion".
conoKind :: Lens' Conversion Text

-- | Floodlight Activity ID of this conversion. This is a required field.
conoFloodlightActivityId :: Lens' Conversion (Maybe Int64)

-- | The quantity of the conversion.
conoQuantity :: Lens' Conversion (Maybe Int64)

-- | The value of the conversion.
conoValue :: Lens' Conversion (Maybe Double)

-- | Custom floodlight variables.
conoCustomVariables :: Lens' Conversion [CustomFloodlightVariable]

-- | Whether the conversion was directed toward children.
conoChildDirectedTreatment :: Lens' Conversion (Maybe Bool)

-- | The ordinal of the conversion. Use this field to control how
--   conversions of the same user and day are de-duplicated. This is a
--   required field.
conoOrdinal :: Lens' Conversion (Maybe Text)

-- | Creative Field Value List Response
--   
--   <i>See:</i> <a>creativeFieldValuesListResponse</a> smart constructor.
data CreativeFieldValuesListResponse

-- | Creates a value of <a>CreativeFieldValuesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfvlrNextPageToken</a></li>
--   <li><a>cfvlrKind</a></li>
--   <li><a>cfvlrCreativeFieldValues</a></li>
--   </ul>
creativeFieldValuesListResponse :: CreativeFieldValuesListResponse

-- | Pagination token to be used for the next list operation.
cfvlrNextPageToken :: Lens' CreativeFieldValuesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeFieldValuesListResponse".
cfvlrKind :: Lens' CreativeFieldValuesListResponse Text

-- | Creative field value collection.
cfvlrCreativeFieldValues :: Lens' CreativeFieldValuesListResponse [CreativeFieldValue]

-- | Default VPAID adapter setting for new placements created under this
--   site. This value will be used to populate the
--   placements.vpaidAdapterChoice field, when no value is specified for
--   the new placement. Controls which VPAID format the measurement adapter
--   will use for in-stream video creatives assigned to the placement. The
--   publisher's specifications will typically determine this setting. For
--   VPAID creatives, the adapter format will match the VPAID format (HTML5
--   VPAID creatives use the HTML5 adapter, and Flash VPAID creatives use
--   the Flash adapter).
data SiteSettingsVpaidAdapterChoiceTemplate

-- | <pre>
--   BOTH
--   </pre>
SSVACTBoth :: SiteSettingsVpaidAdapterChoiceTemplate

-- | <pre>
--   DEFAULT
--   </pre>
SSVACTDefault :: SiteSettingsVpaidAdapterChoiceTemplate

-- | <pre>
--   FLASH
--   </pre>
SSVACTFlash :: SiteSettingsVpaidAdapterChoiceTemplate

-- | <pre>
--   HTML5
--   </pre>
SSVACTHTML5 :: SiteSettingsVpaidAdapterChoiceTemplate

-- | Field by which to sort the list.
data AccountsListSortField

-- | <pre>
--   ID
--   </pre>
AID :: AccountsListSortField

-- | <pre>
--   NAME
--   </pre>
AName :: AccountsListSortField

-- | Rich Media Exit Override.
--   
--   <i>See:</i> <a>richMediaExitOverride</a> smart constructor.
data RichMediaExitOverride

-- | Creates a value of <a>RichMediaExitOverride</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rmeoEnabled</a></li>
--   <li><a>rmeoClickThroughURL</a></li>
--   <li><a>rmeoExitId</a></li>
--   </ul>
richMediaExitOverride :: RichMediaExitOverride

-- | Whether to use the clickThroughUrl. If false, the creative-level exit
--   will be used.
rmeoEnabled :: Lens' RichMediaExitOverride (Maybe Bool)

-- | Click-through URL of this rich media exit override. Applicable if the
--   enabled field is set to true.
rmeoClickThroughURL :: Lens' RichMediaExitOverride (Maybe ClickThroughURL)

-- | ID for the override to refer to a specific exit in the creative.
rmeoExitId :: Lens' RichMediaExitOverride (Maybe Int64)

-- | Select only advertisers with the specified status.
data AdvertisersListStatus

-- | <pre>
--   APPROVED
--   </pre>
Approved :: AdvertisersListStatus

-- | <pre>
--   ON_HOLD
--   </pre>
OnHold :: AdvertisersListStatus

-- | Determines how the 'value' field is matched when filtering. If not
--   specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is
--   allowed as a placeholder for variable length character sequences, and
--   it can be escaped with a backslash. Note, only paid search dimensions
--   ('dfa:paidSearch*') allow a matchType other than EXACT.
data DimensionValueMatchType

-- | <pre>
--   BEGINS_WITH
--   </pre>
BeginsWith :: DimensionValueMatchType

-- | <pre>
--   CONTAINS
--   </pre>
Contains :: DimensionValueMatchType

-- | <pre>
--   EXACT
--   </pre>
Exact :: DimensionValueMatchType

-- | <pre>
--   WILDCARD_EXPRESSION
--   </pre>
WildcardExpression :: DimensionValueMatchType

-- | Represents a sorted dimension.
--   
--   <i>See:</i> <a>sortedDimension</a> smart constructor.
data SortedDimension

-- | Creates a value of <a>SortedDimension</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdKind</a></li>
--   <li><a>sdSortOrder</a></li>
--   <li><a>sdName</a></li>
--   </ul>
sortedDimension :: SortedDimension

-- | The kind of resource this is, in this case
--   dfareporting#sortedDimension.
sdKind :: Lens' SortedDimension Text

-- | An optional sort order for the dimension column.
sdSortOrder :: Lens' SortedDimension (Maybe SortedDimensionSortOrder)

-- | The name of the dimension.
sdName :: Lens' SortedDimension (Maybe Text)

-- | Order of sorted results, default is ASCENDING.
data PlacementGroupsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
PGLSOAscending :: PlacementGroupsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
PGLSODescending :: PlacementGroupsListSortOrder

-- | Creative Field List Response
--   
--   <i>See:</i> <a>creativeFieldsListResponse</a> smart constructor.
data CreativeFieldsListResponse

-- | Creates a value of <a>CreativeFieldsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cflrNextPageToken</a></li>
--   <li><a>cflrKind</a></li>
--   <li><a>cflrCreativeFields</a></li>
--   </ul>
creativeFieldsListResponse :: CreativeFieldsListResponse

-- | Pagination token to be used for the next list operation.
cflrNextPageToken :: Lens' CreativeFieldsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeFieldsListResponse".
cflrKind :: Lens' CreativeFieldsListResponse Text

-- | Creative field collection.
cflrCreativeFields :: Lens' CreativeFieldsListResponse [CreativeField]

-- | Targeting Template List Response
--   
--   <i>See:</i> <a>targetingTemplatesListResponse</a> smart constructor.
data TargetingTemplatesListResponse

-- | Creates a value of <a>TargetingTemplatesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttlrNextPageToken</a></li>
--   <li><a>ttlrKind</a></li>
--   <li><a>ttlrTargetingTemplates</a></li>
--   </ul>
targetingTemplatesListResponse :: TargetingTemplatesListResponse

-- | Pagination token to be used for the next list operation.
ttlrNextPageToken :: Lens' TargetingTemplatesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#targetingTemplatesListResponse".
ttlrKind :: Lens' TargetingTemplatesListResponse Text

-- | Targeting template collection.
ttlrTargetingTemplates :: Lens' TargetingTemplatesListResponse [TargetingTemplate]

-- | Placement GenerateTags Response
--   
--   <i>See:</i> <a>placementsGenerateTagsResponse</a> smart constructor.
data PlacementsGenerateTagsResponse

-- | Creates a value of <a>PlacementsGenerateTagsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pgtrKind</a></li>
--   <li><a>pgtrPlacementTags</a></li>
--   </ul>
placementsGenerateTagsResponse :: PlacementsGenerateTagsResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementsGenerateTagsResponse".
pgtrKind :: Lens' PlacementsGenerateTagsResponse Text

-- | Set of generated tags for the specified placements.
pgtrPlacementTags :: Lens' PlacementsGenerateTagsResponse [PlacementTag]

-- | Creative Asset.
--   
--   <i>See:</i> <a>creativeAsset</a> smart constructor.
data CreativeAsset

-- | Creates a value of <a>CreativeAsset</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caaZIndex</a></li>
--   <li><a>caaPushdown</a></li>
--   <li><a>caaVideoDuration</a></li>
--   <li><a>caaOriginalBackup</a></li>
--   <li><a>caaWindowMode</a></li>
--   <li><a>caaFlashVersion</a></li>
--   <li><a>caaPushdownDuration</a></li>
--   <li><a>caaSize</a></li>
--   <li><a>caaVerticallyLocked</a></li>
--   <li><a>caaOffSet</a></li>
--   <li><a>caaStreamingServingURL</a></li>
--   <li><a>caaZipFilesize</a></li>
--   <li><a>caaTransparency</a></li>
--   <li><a>caaHideSelectionBoxes</a></li>
--   <li><a>caaSSLCompliant</a></li>
--   <li><a>caaFileSize</a></li>
--   <li><a>caaAssetIdentifier</a></li>
--   <li><a>caaCompanionCreativeIds</a></li>
--   <li><a>caaDurationType</a></li>
--   <li><a>caaProgressiveServingURL</a></li>
--   <li><a>caaIdDimensionValue</a></li>
--   <li><a>caaActive</a></li>
--   <li><a>caaRole</a></li>
--   <li><a>caaMimeType</a></li>
--   <li><a>caaPositionTopUnit</a></li>
--   <li><a>caaPositionLeftUnit</a></li>
--   <li><a>caaAlignment</a></li>
--   <li><a>caaExpandedDimension</a></li>
--   <li><a>caaZipFilename</a></li>
--   <li><a>caaActionScript3</a></li>
--   <li><a>caaDisplayType</a></li>
--   <li><a>caaChildAssetType</a></li>
--   <li><a>caaCollapsedSize</a></li>
--   <li><a>caaId</a></li>
--   <li><a>caaBitRate</a></li>
--   <li><a>caaCustomStartTimeValue</a></li>
--   <li><a>caaStartTimeType</a></li>
--   <li><a>caaDuration</a></li>
--   <li><a>caaArtworkType</a></li>
--   <li><a>caaHideFlashObjects</a></li>
--   <li><a>caaDetectedFeatures</a></li>
--   <li><a>caaBackupImageExit</a></li>
--   <li><a>caaPosition</a></li>
--   <li><a>caaHorizontallyLocked</a></li>
--   </ul>
creativeAsset :: CreativeAsset

-- | zIndex value of an asset. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA.Additionally, only applicable
--   to assets whose displayType is NOT one of the following types:
--   ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
caaZIndex :: Lens' CreativeAsset (Maybe Int32)

-- | Whether the asset pushes down other content. Applicable to the
--   following creative types: all RICH_MEDIA. Additionally, only
--   applicable when the asset offsets are 0, the collapsedSize.width
--   matches size.width, and the collapsedSize.height is less than
--   size.height.
caaPushdown :: Lens' CreativeAsset (Maybe Bool)

-- | Detected video duration for video asset. This is a read-only field.
--   Applicable to the following creative types: INSTREAM_VIDEO and all
--   VPAID.
caaVideoDuration :: Lens' CreativeAsset (Maybe Double)

-- | Whether the backup asset is original or changed by the user in DCM.
--   Applicable to the following creative types: all RICH_MEDIA.
caaOriginalBackup :: Lens' CreativeAsset (Maybe Bool)

-- | Window mode options for flash assets. Applicable to the following
--   creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
--   RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
--   RICH_MEDIA_INPAGE_FLOATING.
caaWindowMode :: Lens' CreativeAsset (Maybe CreativeAssetWindowMode)

-- | Flash version of the asset. This is a read-only field. Applicable to
--   the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all
--   VPAID. Applicable to DISPLAY when the primary asset type is not
--   HTML_IMAGE.
caaFlashVersion :: Lens' CreativeAsset (Maybe Int32)

-- | Pushdown duration in seconds for an asset. Must be between 0 and 9.99.
--   Applicable to the following creative types: all
--   RICH_MEDIA.Additionally, only applicable when the asset pushdown field
--   is true, the offsets are 0, the collapsedSize.width matches
--   size.width, and the collapsedSize.height is less than size.height.
caaPushdownDuration :: Lens' CreativeAsset (Maybe Double)

-- | Size associated with this creative asset. This is a required field
--   when applicable; however for IMAGE and FLASH_INPAGE, creatives if left
--   blank, this field will be automatically set using the actual size of
--   the associated image asset. Applicable to the following creative
--   types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and
--   all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is
--   not HTML_IMAGE.
caaSize :: Lens' CreativeAsset (Maybe Size)

-- | Whether the asset is vertically locked. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA.
caaVerticallyLocked :: Lens' CreativeAsset (Maybe Bool)

-- | Offset position for an asset in collapsed mode. This is a read-only
--   field. Applicable to the following creative types: all RICH_MEDIA and
--   all VPAID. Additionally, only applicable to assets whose displayType
--   is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
caaOffSet :: Lens' CreativeAsset (Maybe OffSetPosition)

-- | Streaming URL for video asset. This is a read-only field. Applicable
--   to the following creative types: INSTREAM_VIDEO and all VPAID.
caaStreamingServingURL :: Lens' CreativeAsset (Maybe Text)

-- | Size of zip file. This is a read-only field. Applicable to the
--   following creative types: HTML5_BANNER.
caaZipFilesize :: Lens' CreativeAsset (Maybe Text)

-- | Whether the asset is transparent. Applicable to the following creative
--   types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
caaTransparency :: Lens' CreativeAsset (Maybe Bool)

-- | Whether to hide selection boxes flag for an asset. Applicable to the
--   following creative types: all RICH_MEDIA.
caaHideSelectionBoxes :: Lens' CreativeAsset (Maybe Bool)

-- | Whether the asset is SSL-compliant. This is a read-only field.
--   Applicable to all but the following creative types: all REDIRECT and
--   TRACKING_TEXT.
caaSSLCompliant :: Lens' CreativeAsset (Maybe Bool)

-- | File size associated with this creative asset. This is a read-only
--   field. Applicable to all but the following creative types: all
--   REDIRECT and TRACKING_TEXT.
caaFileSize :: Lens' CreativeAsset (Maybe Int64)

-- | Identifier of this asset. This is the same identifier returned during
--   creative asset insert operation. This is a required field. Applicable
--   to all but the following creative types: all REDIRECT and
--   TRACKING_TEXT.
caaAssetIdentifier :: Lens' CreativeAsset (Maybe CreativeAssetId)

-- | List of companion creatives assigned to an in-stream video creative
--   asset. Acceptable values include IDs of existing flash and image
--   creatives. Applicable to INSTREAM_VIDEO creative type with
--   dynamicAssetSelection set to true.
caaCompanionCreativeIds :: Lens' CreativeAsset [Int64]

-- | Duration type for which an asset will be displayed. Applicable to the
--   following creative types: all RICH_MEDIA.
caaDurationType :: Lens' CreativeAsset (Maybe CreativeAssetDurationType)

-- | Progressive URL for video asset. This is a read-only field. Applicable
--   to the following creative types: INSTREAM_VIDEO and all VPAID.
caaProgressiveServingURL :: Lens' CreativeAsset (Maybe Text)

-- | Dimension value for the ID of the asset. This is a read-only,
--   auto-generated field.
caaIdDimensionValue :: Lens' CreativeAsset (Maybe DimensionValue)

-- | Whether the video asset is active. This is a read-only field for
--   VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative
--   types: INSTREAM_VIDEO and all VPAID.
caaActive :: Lens' CreativeAsset (Maybe Bool)

-- | Role of the asset in relation to creative. Applicable to all but the
--   following creative types: all REDIRECT and TRACKING_TEXT. This is a
--   required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
--   HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
--   contain multiple primary assets), and all VPAID creatives.
--   BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
--   and all VPAID creatives. Applicable to DISPLAY when the primary asset
--   type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to
--   FLASH_INPAGE creatives. OTHER refers to assets from sources other than
--   DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and
--   all VPAID creatives. PARENT_VIDEO refers to videos uploaded by the
--   user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
--   creatives. TRANSCODED_VIDEO refers to videos transcoded by DCM from
--   PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
--   VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the DCM
--   representation of child asset videos from Studio, and is applicable to
--   VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
--   DCM. For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO
--   and ALTERNATE_VIDEO assets that are marked active serve as backup in
--   case the VPAID creative cannot be served. Only PARENT_VIDEO assets can
--   be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
--   creative.
caaRole :: Lens' CreativeAsset (Maybe CreativeAssetRole)

-- | Detected MIME type for video asset. This is a read-only field.
--   Applicable to the following creative types: INSTREAM_VIDEO and all
--   VPAID.
caaMimeType :: Lens' CreativeAsset (Maybe Text)

-- | Offset top unit for an asset. This is a read-only field if the asset
--   displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following
--   creative types: all RICH_MEDIA.
caaPositionTopUnit :: Lens' CreativeAsset (Maybe CreativeAssetPositionTopUnit)

-- | Offset left unit for an asset. This is a read-only field. Applicable
--   to the following creative types: all RICH_MEDIA.
caaPositionLeftUnit :: Lens' CreativeAsset (Maybe CreativeAssetPositionLeftUnit)

-- | Possible alignments for an asset. This is a read-only field.
--   Applicable to the following creative types:
--   RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
caaAlignment :: Lens' CreativeAsset (Maybe CreativeAssetAlignment)

-- | Detected expanded dimension for video asset. This is a read-only
--   field. Applicable to the following creative types: INSTREAM_VIDEO and
--   all VPAID.
caaExpandedDimension :: Lens' CreativeAsset (Maybe Size)

-- | File name of zip file. This is a read-only field. Applicable to the
--   following creative types: HTML5_BANNER.
caaZipFilename :: Lens' CreativeAsset (Maybe Text)

-- | Whether ActionScript3 is enabled for the flash asset. This is a
--   read-only field. Applicable to the following creative type:
--   FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not
--   HTML_IMAGE.
caaActionScript3 :: Lens' CreativeAsset (Maybe Bool)

-- | Type of rich media asset. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA.
caaDisplayType :: Lens' CreativeAsset (Maybe CreativeAssetDisplayType)

-- | Rich media child asset type. This is a read-only field. Applicable to
--   the following creative types: all VPAID.
caaChildAssetType :: Lens' CreativeAsset (Maybe CreativeAssetChildAssetType)

-- | Size of an asset when collapsed. This is a read-only field. Applicable
--   to the following creative types: all RICH_MEDIA and all VPAID.
--   Additionally, applicable to assets whose displayType is
--   ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
caaCollapsedSize :: Lens' CreativeAsset (Maybe Size)

-- | Numeric ID of this creative asset. This is a required field and should
--   not be modified. Applicable to all but the following creative types:
--   all REDIRECT and TRACKING_TEXT.
caaId :: Lens' CreativeAsset (Maybe Int64)

-- | Detected bit-rate for video asset. This is a read-only field.
--   Applicable to the following creative types: INSTREAM_VIDEO and all
--   VPAID.
caaBitRate :: Lens' CreativeAsset (Maybe Int32)

-- | Custom start time in seconds for making the asset visible. Applicable
--   to the following creative types: all RICH_MEDIA.
caaCustomStartTimeValue :: Lens' CreativeAsset (Maybe Int32)

-- | Initial wait time type before making the asset visible. Applicable to
--   the following creative types: all RICH_MEDIA.
caaStartTimeType :: Lens' CreativeAsset (Maybe CreativeAssetStartTimeType)

-- | Duration in seconds for which an asset will be displayed. Applicable
--   to the following creative types: INSTREAM_VIDEO and
--   VPAID_LINEAR_VIDEO.
caaDuration :: Lens' CreativeAsset (Maybe Int32)

-- | Artwork type of rich media creative. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA.
caaArtworkType :: Lens' CreativeAsset (Maybe CreativeAssetArtworkType)

-- | Whether to hide Flash objects flag for an asset. Applicable to the
--   following creative types: all RICH_MEDIA.
caaHideFlashObjects :: Lens' CreativeAsset (Maybe Bool)

-- | List of feature dependencies for the creative asset that are detected
--   by DCM. Feature dependencies are features that a browser must be able
--   to support in order to render your HTML5 creative correctly. This is a
--   read-only, auto-generated field. Applicable to the following creative
--   types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type
--   is not HTML_IMAGE.
caaDetectedFeatures :: Lens' CreativeAsset [CreativeAssetDetectedFeaturesItem]

-- | Exit event configured for the backup image. Applicable to the
--   following creative types: all RICH_MEDIA.
caaBackupImageExit :: Lens' CreativeAsset (Maybe CreativeCustomEvent)

-- | Offset position for an asset. Applicable to the following creative
--   types: all RICH_MEDIA.
caaPosition :: Lens' CreativeAsset (Maybe OffSetPosition)

-- | Whether the asset is horizontally locked. This is a read-only field.
--   Applicable to the following creative types: all RICH_MEDIA.
caaHorizontallyLocked :: Lens' CreativeAsset (Maybe Bool)

-- | Compatibility of this ad. Applicable when type is
--   AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   either rendering on desktop or on mobile devices or in mobile apps for
--   regular or interstitial ads, respectively. APP and APP_INTERSTITIAL
--   are only used for existing default ads. New mobile placements must be
--   assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for
--   those placements will be limited to those compatibility types.
--   IN_STREAM_VIDEO refers to rendering in-stream video ads developed with
--   the VAST standard.
data AdCompatibility

-- | <pre>
--   APP
--   </pre>
ACApp :: AdCompatibility

-- | <pre>
--   APP_INTERSTITIAL
--   </pre>
ACAppInterstitial :: AdCompatibility

-- | <pre>
--   DISPLAY
--   </pre>
ACDisplay :: AdCompatibility

-- | <pre>
--   DISPLAY_INTERSTITIAL
--   </pre>
ACDisplayInterstitial :: AdCompatibility

-- | <pre>
--   IN_STREAM_VIDEO
--   </pre>
ACInStreamVideo :: AdCompatibility

-- | Field by which to sort the list.
data CreativeFieldValuesListSortField

-- | <pre>
--   ID
--   </pre>
CFVLSFID :: CreativeFieldValuesListSortField

-- | <pre>
--   VALUE
--   </pre>
CFVLSFValue :: CreativeFieldValuesListSortField

-- | Language Targeting.
--   
--   <i>See:</i> <a>languageTargeting</a> smart constructor.
data LanguageTargeting

-- | Creates a value of <a>LanguageTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltLanguages</a></li>
--   </ul>
languageTargeting :: LanguageTargeting

-- | Languages that this ad targets. For each language only languageId is
--   required. The other fields are populated automatically when the ad is
--   inserted or updated.
ltLanguages :: Lens' LanguageTargeting [Language]

-- | Encapsulates the list of rules for asset selection and a default asset
--   in case none of the rules match. Applicable to INSTREAM_VIDEO
--   creatives.
--   
--   <i>See:</i> <a>creativeAssetSelection</a> smart constructor.
data CreativeAssetSelection

-- | Creates a value of <a>CreativeAssetSelection</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>casRules</a></li>
--   <li><a>casDefaultAssetId</a></li>
--   </ul>
creativeAssetSelection :: CreativeAssetSelection

-- | Rules determine which asset will be served to a viewer. Rules will be
--   evaluated in the order in which they are stored in this list. This
--   list must contain at least one rule. Applicable to INSTREAM_VIDEO
--   creatives.
casRules :: Lens' CreativeAssetSelection [Rule]

-- | A creativeAssets[].id. This should refer to one of the parent assets
--   in this creative, and will be served if none of the rules match. This
--   is a required field.
casDefaultAssetId :: Lens' CreativeAssetSelection (Maybe Int64)

-- | Placement List Response
--   
--   <i>See:</i> <a>placementsListResponse</a> smart constructor.
data PlacementsListResponse

-- | Creates a value of <a>PlacementsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plaNextPageToken</a></li>
--   <li><a>plaKind</a></li>
--   <li><a>plaPlacements</a></li>
--   </ul>
placementsListResponse :: PlacementsListResponse

-- | Pagination token to be used for the next list operation.
plaNextPageToken :: Lens' PlacementsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementsListResponse".
plaKind :: Lens' PlacementsListResponse Text

-- | Placement collection.
plaPlacements :: Lens' PlacementsListResponse [Placement]

-- | Field by which to sort the list.
data FloodlightActivityGroupsListSortField

-- | <pre>
--   ID
--   </pre>
FAGLSFID :: FloodlightActivityGroupsListSortField

-- | <pre>
--   NAME
--   </pre>
FAGLSFName :: FloodlightActivityGroupsListSortField

-- | Order of sorted results, default is ASCENDING.
data OrdersListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
OLSOAscending :: OrdersListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
OLSODescending :: OrdersListSortOrder

-- | The report's schedule. Can only be set if the report's 'dateRange' is
--   a relative date range and the relative date range is not "TODAY".
--   
--   <i>See:</i> <a>reportSchedule</a> smart constructor.
data ReportSchedule

-- | Creates a value of <a>ReportSchedule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsEvery</a></li>
--   <li><a>rsActive</a></li>
--   <li><a>rsRepeats</a></li>
--   <li><a>rsStartDate</a></li>
--   <li><a>rsExpirationDate</a></li>
--   <li><a>rsRunsOnDayOfMonth</a></li>
--   <li><a>rsRepeatsOnWeekDays</a></li>
--   </ul>
reportSchedule :: ReportSchedule

-- | Defines every how many days, weeks or months the report should be run.
--   Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
--   "MONTHLY".
rsEvery :: Lens' ReportSchedule (Maybe Int32)

-- | Whether the schedule is active or not. Must be set to either true or
--   false.
rsActive :: Lens' ReportSchedule (Maybe Bool)

-- | The interval for which the report is repeated. Note: - "DAILY" also
--   requires field "every" to be set. - "WEEKLY" also requires fields
--   "every" and "repeatsOnWeekDays" to be set. - "MONTHLY" also requires
--   fields "every" and "runsOnDayOfMonth" to be set.
rsRepeats :: Lens' ReportSchedule (Maybe Text)

-- | Start date of date range for which scheduled reports should be run.
rsStartDate :: Lens' ReportSchedule (Maybe Day)

-- | The expiration date when the scheduled report stops running.
rsExpirationDate :: Lens' ReportSchedule (Maybe Day)

-- | Enum to define for "MONTHLY" scheduled reports whether reports should
--   be repeated on the same day of the month as "startDate" or the same
--   day of the week of the month. Example: If 'startDate' is Monday, April
--   2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on
--   the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent
--   reports on the first Monday of the month.
rsRunsOnDayOfMonth :: Lens' ReportSchedule (Maybe ReportScheduleRunsOnDayOfMonth)

-- | List of week days "WEEKLY" on which scheduled reports should run.
rsRepeatsOnWeekDays :: Lens' ReportSchedule [ReportScheduleRepeatsOnWeekDaysItem]

-- | The report criteria for a report of type "PATH_TO_CONVERSION".
--   
--   <i>See:</i> <a>reportPathToConversionCriteria</a> smart constructor.
data ReportPathToConversionCriteria

-- | Creates a value of <a>ReportPathToConversionCriteria</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rptccReportProperties</a></li>
--   <li><a>rptccMetricNames</a></li>
--   <li><a>rptccCustomRichMediaEvents</a></li>
--   <li><a>rptccDateRange</a></li>
--   <li><a>rptccConversionDimensions</a></li>
--   <li><a>rptccCustomFloodlightVariables</a></li>
--   <li><a>rptccFloodlightConfigId</a></li>
--   <li><a>rptccActivityFilters</a></li>
--   <li><a>rptccPerInteractionDimensions</a></li>
--   </ul>
reportPathToConversionCriteria :: ReportPathToConversionCriteria

-- | The properties of the report.
rptccReportProperties :: Lens' ReportPathToConversionCriteria (Maybe ReportPathToConversionCriteriaReportProperties)

-- | The list of names of metrics the report should include.
rptccMetricNames :: Lens' ReportPathToConversionCriteria [Text]

-- | The list of custom rich media events to include.
rptccCustomRichMediaEvents :: Lens' ReportPathToConversionCriteria [DimensionValue]

-- | The date range this report should be run for.
rptccDateRange :: Lens' ReportPathToConversionCriteria (Maybe DateRange)

-- | The list of conversion dimensions the report should include.
rptccConversionDimensions :: Lens' ReportPathToConversionCriteria [SortedDimension]

-- | The list of custom floodlight variables the report should include.
rptccCustomFloodlightVariables :: Lens' ReportPathToConversionCriteria [SortedDimension]

-- | The floodlight ID for which to show data in this report. All
--   advertisers associated with that ID will automatically be added. The
--   dimension of the value needs to be 'dfa:floodlightConfigId'.
rptccFloodlightConfigId :: Lens' ReportPathToConversionCriteria (Maybe DimensionValue)

-- | The list of 'dfa:activity' values to filter on.
rptccActivityFilters :: Lens' ReportPathToConversionCriteria [DimensionValue]

-- | The list of per interaction dimensions the report should include.
rptccPerInteractionDimensions :: Lens' ReportPathToConversionCriteria [SortedDimension]

-- | Metro List Response
--   
--   <i>See:</i> <a>metrosListResponse</a> smart constructor.
data MetrosListResponse

-- | Creates a value of <a>MetrosListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mlrKind</a></li>
--   <li><a>mlrMetros</a></li>
--   </ul>
metrosListResponse :: MetrosListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#metrosListResponse".
mlrKind :: Lens' MetrosListResponse Text

-- | Metro collection.
mlrMetros :: Lens' MetrosListResponse [Metro]

-- | Profile for this account. This is a read-only field that can be left
--   blank.
data AccountAccountProFile

-- | <pre>
--   ACCOUNT_PROFILE_BASIC
--   </pre>
AccountProFileBasic :: AccountAccountProFile

-- | <pre>
--   ACCOUNT_PROFILE_STANDARD
--   </pre>
AccountProFileStandard :: AccountAccountProFile

-- | Insert Conversions Response.
--   
--   <i>See:</i> <a>conversionsBatchInsertResponse</a> smart constructor.
data ConversionsBatchInsertResponse

-- | Creates a value of <a>ConversionsBatchInsertResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbirbStatus</a></li>
--   <li><a>cbirbKind</a></li>
--   <li><a>cbirbHasFailures</a></li>
--   </ul>
conversionsBatchInsertResponse :: ConversionsBatchInsertResponse

-- | The status of each conversion's insertion status. The status is
--   returned in the same order that conversions are inserted.
cbirbStatus :: Lens' ConversionsBatchInsertResponse [ConversionStatus]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#conversionsBatchInsertResponse".
cbirbKind :: Lens' ConversionsBatchInsertResponse Text

-- | Indicates that some or all conversions failed to insert.
cbirbHasFailures :: Lens' ConversionsBatchInsertResponse (Maybe Bool)

-- | Order document List Response
--   
--   <i>See:</i> <a>orderDocumentsListResponse</a> smart constructor.
data OrderDocumentsListResponse

-- | Creates a value of <a>OrderDocumentsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>odlrNextPageToken</a></li>
--   <li><a>odlrKind</a></li>
--   <li><a>odlrOrderDocuments</a></li>
--   </ul>
orderDocumentsListResponse :: OrderDocumentsListResponse

-- | Pagination token to be used for the next list operation.
odlrNextPageToken :: Lens' OrderDocumentsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#orderDocumentsListResponse".
odlrKind :: Lens' OrderDocumentsListResponse Text

-- | Order document collection
odlrOrderDocuments :: Lens' OrderDocumentsListResponse [OrderDocument]

-- | Represents a recipient.
--   
--   <i>See:</i> <a>recipient</a> smart constructor.
data Recipient

-- | Creates a value of <a>Recipient</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>recEmail</a></li>
--   <li><a>recKind</a></li>
--   <li><a>recDeliveryType</a></li>
--   </ul>
recipient :: Recipient

-- | The email address of the recipient.
recEmail :: Lens' Recipient (Maybe Text)

-- | The kind of resource this is, in this case dfareporting#recipient.
recKind :: Lens' Recipient Text

-- | The delivery type for the recipient.
recDeliveryType :: Lens' Recipient (Maybe RecipientDeliveryType)

-- | Type of this creative. This is a required field. Applicable to all
--   creative types. Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only
--   used for existing creatives. New creatives should use DISPLAY as a
--   replacement for these types.
data CreativeType

-- | <pre>
--   BRAND_SAFE_DEFAULT_INSTREAM_VIDEO
--   </pre>
CTBrandSafeDefaultInstreamVideo :: CreativeType

-- | <pre>
--   CUSTOM_DISPLAY
--   </pre>
CTCustomDisplay :: CreativeType

-- | <pre>
--   CUSTOM_DISPLAY_INTERSTITIAL
--   </pre>
CTCustomDisplayInterstitial :: CreativeType

-- | <pre>
--   DISPLAY
--   </pre>
CTDisplay :: CreativeType

-- | <pre>
--   DISPLAY_IMAGE_GALLERY
--   </pre>
CTDisplayImageGallery :: CreativeType

-- | <pre>
--   DISPLAY_REDIRECT
--   </pre>
CTDisplayRedirect :: CreativeType

-- | <pre>
--   FLASH_INPAGE
--   </pre>
CTFlashInpage :: CreativeType

-- | <pre>
--   HTML5_BANNER
--   </pre>
CTHTML5Banner :: CreativeType

-- | <pre>
--   IMAGE
--   </pre>
CTImage :: CreativeType

-- | <pre>
--   INSTREAM_VIDEO
--   </pre>
CTInstreamVideo :: CreativeType

-- | <pre>
--   INSTREAM_VIDEO_REDIRECT
--   </pre>
CTInstreamVideoRedirect :: CreativeType

-- | <pre>
--   INTERNAL_REDIRECT
--   </pre>
CTInternalRedirect :: CreativeType

-- | <pre>
--   INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
CTInterstitialInternalRedirect :: CreativeType

-- | <pre>
--   RICH_MEDIA_DISPLAY_BANNER
--   </pre>
CTRichMediaDisplayBanner :: CreativeType

-- | <pre>
--   RICH_MEDIA_DISPLAY_EXPANDING
--   </pre>
CTRichMediaDisplayExpanding :: CreativeType

-- | <pre>
--   RICH_MEDIA_DISPLAY_INTERSTITIAL
--   </pre>
CTRichMediaDisplayInterstitial :: CreativeType

-- | <pre>
--   RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL
--   </pre>
CTRichMediaDisplayMultiFloatingInterstitial :: CreativeType

-- | <pre>
--   RICH_MEDIA_IM_EXPAND
--   </pre>
CTRichMediaImExpand :: CreativeType

-- | <pre>
--   RICH_MEDIA_INPAGE_FLOATING
--   </pre>
CTRichMediaInpageFloating :: CreativeType

-- | <pre>
--   RICH_MEDIA_MOBILE_IN_APP
--   </pre>
CTRichMediaMobileInApp :: CreativeType

-- | <pre>
--   RICH_MEDIA_PEEL_DOWN
--   </pre>
CTRichMediaPeelDown :: CreativeType

-- | <pre>
--   TRACKING_TEXT
--   </pre>
CTTrackingText :: CreativeType

-- | <pre>
--   VPAID_LINEAR_VIDEO
--   </pre>
CTVpaidLinearVideo :: CreativeType

-- | <pre>
--   VPAID_NON_LINEAR_VIDEO
--   </pre>
CTVpaidNonLinearVideo :: CreativeType

-- | Order of sorted results, default is 'DESCENDING'.
data FilesListSortOrder

-- | <tt>ASCENDING</tt> Ascending order.
FLSOAscending :: FilesListSortOrder

-- | <tt>DESCENDING</tt> Descending order.
FLSODescending :: FilesListSortOrder

-- | Field by which to sort the list.
data AdvertiserGroupsListSortField

-- | <pre>
--   ID
--   </pre>
AGLSFID :: AdvertiserGroupsListSortField

-- | <pre>
--   NAME
--   </pre>
AGLSFName :: AdvertiserGroupsListSortField

-- | Type of browser window for which the backup image of the flash
--   creative can be displayed.
data TargetWindowTargetWindowOption

-- | <pre>
--   CURRENT_WINDOW
--   </pre>
CurrentWindow :: TargetWindowTargetWindowOption

-- | <pre>
--   CUSTOM
--   </pre>
Custom :: TargetWindowTargetWindowOption

-- | <pre>
--   NEW_WINDOW
--   </pre>
NewWindow :: TargetWindowTargetWindowOption

-- | Field by which to sort the list.
data DirectorySiteContactsListSortField

-- | <pre>
--   ID
--   </pre>
DSCLSFID :: DirectorySiteContactsListSortField

-- | <pre>
--   NAME
--   </pre>
DSCLSFName :: DirectorySiteContactsListSortField

-- | Select only placements with these pricing types.
data PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPA
--   </pre>
PLPTPricingTypeCpa :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPC
--   </pre>
PLPTPricingTypeCpc :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPM
--   </pre>
PLPTPricingTypeCpm :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_CPM_ACTIVEVIEW
--   </pre>
PLPTPricingTypeCpmActiveview :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_CLICKS
--   </pre>
PLPTPricingTypeFlatRateClicks :: PlacementsListPricingTypes

-- | <pre>
--   PRICING_TYPE_FLAT_RATE_IMPRESSIONS
--   </pre>
PLPTPricingTypeFlatRateImpressions :: PlacementsListPricingTypes

-- | Order of sorted results, default is ASCENDING.
data EventTagsListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
ETLSOAscending :: EventTagsListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
ETLSODescending :: EventTagsListSortOrder

-- | Describes whether the encrypted cookie was received from ad serving
--   (the %m macro) or from Data Transfer.
data EncryptionInfoEncryptionSource

-- | <pre>
--   AD_SERVING
--   </pre>
AdServing :: EncryptionInfoEncryptionSource

-- | <pre>
--   DATA_TRANSFER
--   </pre>
DataTransfer :: EncryptionInfoEncryptionSource

-- | <pre>
--   ENCRYPTION_SCOPE_UNKNOWN
--   </pre>
EncryptionScopeUnknown :: EncryptionInfoEncryptionSource

-- | Field by which to sort the list.
data DirectorySitesListSortField

-- | <pre>
--   ID
--   </pre>
DSLSFID :: DirectorySitesListSortField

-- | <pre>
--   NAME
--   </pre>
DSLSFName :: DirectorySitesListSortField

-- | Contains properties of a site.
--   
--   <i>See:</i> <a>site</a> smart constructor.
data Site

-- | Creates a value of <a>Site</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sitiKind</a></li>
--   <li><a>sitiKeyName</a></li>
--   <li><a>sitiSiteContacts</a></li>
--   <li><a>sitiSiteSettings</a></li>
--   <li><a>sitiIdDimensionValue</a></li>
--   <li><a>sitiDirectorySiteIdDimensionValue</a></li>
--   <li><a>sitiAccountId</a></li>
--   <li><a>sitiName</a></li>
--   <li><a>sitiDirectorySiteId</a></li>
--   <li><a>sitiId</a></li>
--   <li><a>sitiSubAccountId</a></li>
--   <li><a>sitiApproved</a></li>
--   </ul>
site :: Site

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#site".
sitiKind :: Lens' Site Text

-- | Key name of this site. This is a read-only, auto-generated field.
sitiKeyName :: Lens' Site (Maybe Text)

-- | Site contacts.
sitiSiteContacts :: Lens' Site [SiteContact]

-- | Site-wide settings.
sitiSiteSettings :: Lens' Site (Maybe SiteSettings)

-- | Dimension value for the ID of this site. This is a read-only,
--   auto-generated field.
sitiIdDimensionValue :: Lens' Site (Maybe DimensionValue)

-- | Dimension value for the ID of the directory site. This is a read-only,
--   auto-generated field.
sitiDirectorySiteIdDimensionValue :: Lens' Site (Maybe DimensionValue)

-- | Account ID of this site. This is a read-only field that can be left
--   blank.
sitiAccountId :: Lens' Site (Maybe Int64)

-- | Name of this site.This is a required field. Must be less than 128
--   characters long. If this site is under a subaccount, the name must be
--   unique among sites of the same subaccount. Otherwise, this site is a
--   top-level site, and the name must be unique among top-level sites of
--   the same account.
sitiName :: Lens' Site (Maybe Text)

-- | Directory site associated with this site. This is a required field
--   that is read-only after insertion.
sitiDirectorySiteId :: Lens' Site (Maybe Int64)

-- | ID of this site. This is a read-only, auto-generated field.
sitiId :: Lens' Site (Maybe Int64)

-- | Subaccount ID of this site. This is a read-only field that can be left
--   blank.
sitiSubAccountId :: Lens' Site (Maybe Int64)

-- | Whether this site is approved.
sitiApproved :: Lens' Site (Maybe Bool)

-- | The dimension option.
data ReportCrossDimensionReachCriteriaDimension

-- | <pre>
--   ADVERTISER
--   </pre>
RCDRCDAdvertiser :: ReportCrossDimensionReachCriteriaDimension

-- | <pre>
--   CAMPAIGN
--   </pre>
RCDRCDCampaign :: ReportCrossDimensionReachCriteriaDimension

-- | <pre>
--   SITE_BY_ADVERTISER
--   </pre>
RCDRCDSiteByAdvertiser :: ReportCrossDimensionReachCriteriaDimension

-- | <pre>
--   SITE_BY_CAMPAIGN
--   </pre>
RCDRCDSiteByCampaign :: ReportCrossDimensionReachCriteriaDimension

-- | Order of sorted results, default is ASCENDING.
data SitesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
SLSOAscending :: SitesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
SLSODescending :: SitesListSortOrder

-- | User Defined Variable configuration.
--   
--   <i>See:</i> <a>userDefinedVariableConfiguration</a> smart constructor.
data UserDefinedVariableConfiguration

-- | Creates a value of <a>UserDefinedVariableConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udvcReportName</a></li>
--   <li><a>udvcDataType</a></li>
--   <li><a>udvcVariableType</a></li>
--   </ul>
userDefinedVariableConfiguration :: UserDefinedVariableConfiguration

-- | User-friendly name for the variable which will appear in reports. This
--   is a required field, must be less than 64 characters long, and cannot
--   contain the following characters: ""&lt;&gt;".
udvcReportName :: Lens' UserDefinedVariableConfiguration (Maybe Text)

-- | Data type for the variable. This is a required field.
udvcDataType :: Lens' UserDefinedVariableConfiguration (Maybe UserDefinedVariableConfigurationDataType)

-- | Variable name in the tag. This is a required field.
udvcVariableType :: Lens' UserDefinedVariableConfiguration (Maybe UserDefinedVariableConfigurationVariableType)

-- | The report criteria for a report of type "CROSS_DIMENSION_REACH".
--   
--   <i>See:</i> <a>reportCrossDimensionReachCriteria</a> smart
--   constructor.
data ReportCrossDimensionReachCriteria

-- | Creates a value of <a>ReportCrossDimensionReachCriteria</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcdrcPivoted</a></li>
--   <li><a>rcdrcBreakdown</a></li>
--   <li><a>rcdrcDimension</a></li>
--   <li><a>rcdrcMetricNames</a></li>
--   <li><a>rcdrcDimensionFilters</a></li>
--   <li><a>rcdrcDateRange</a></li>
--   <li><a>rcdrcOverlapMetricNames</a></li>
--   </ul>
reportCrossDimensionReachCriteria :: ReportCrossDimensionReachCriteria

-- | Whether the report is pivoted or not. Defaults to true.
rcdrcPivoted :: Lens' ReportCrossDimensionReachCriteria (Maybe Bool)

-- | The list of dimensions the report should include.
rcdrcBreakdown :: Lens' ReportCrossDimensionReachCriteria [SortedDimension]

-- | The dimension option.
rcdrcDimension :: Lens' ReportCrossDimensionReachCriteria (Maybe ReportCrossDimensionReachCriteriaDimension)

-- | The list of names of metrics the report should include.
rcdrcMetricNames :: Lens' ReportCrossDimensionReachCriteria [Text]

-- | The list of filters on which dimensions are filtered.
rcdrcDimensionFilters :: Lens' ReportCrossDimensionReachCriteria [DimensionValue]

-- | The date range this report should be run for.
rcdrcDateRange :: Lens' ReportCrossDimensionReachCriteria (Maybe DateRange)

-- | The list of names of overlap metrics the report should include.
rcdrcOverlapMetricNames :: Lens' ReportCrossDimensionReachCriteria [Text]

-- | The URLs where the completed report file can be downloaded.
--   
--   <i>See:</i> <a>fileURLs</a> smart constructor.
data FileURLs

-- | Creates a value of <a>FileURLs</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fuBrowserURL</a></li>
--   <li><a>fuAPIURL</a></li>
--   </ul>
fileURLs :: FileURLs

-- | The URL for downloading the report data through a browser.
fuBrowserURL :: Lens' FileURLs (Maybe Text)

-- | The URL for downloading the report data through the API.
fuAPIURL :: Lens' FileURLs (Maybe Text)

-- | Campaign Creative Association List Response
--   
--   <i>See:</i> <a>campaignCreativeAssociationsListResponse</a> smart
--   constructor.
data CampaignCreativeAssociationsListResponse

-- | Creates a value of <a>CampaignCreativeAssociationsListResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccalrCampaignCreativeAssociations</a></li>
--   <li><a>ccalrNextPageToken</a></li>
--   <li><a>ccalrKind</a></li>
--   </ul>
campaignCreativeAssociationsListResponse :: CampaignCreativeAssociationsListResponse

-- | Campaign creative association collection
ccalrCampaignCreativeAssociations :: Lens' CampaignCreativeAssociationsListResponse [CampaignCreativeAssociation]

-- | Pagination token to be used for the next list operation.
ccalrNextPageToken :: Lens' CampaignCreativeAssociationsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#campaignCreativeAssociationsListResponse".
ccalrKind :: Lens' CampaignCreativeAssociationsListResponse Text
data PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_CLICK_COMMANDS
--   </pre>
PTFIPlacementTagClickCommands :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_IFRAME_ILAYER
--   </pre>
PTFIPlacementTagIframeIlayer :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT
--   </pre>
PTFIPlacementTagIframeJavascript :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PTFIPlacementTagIframeJavascriptLegacy :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH
--   </pre>
PTFIPlacementTagInstreamVideoPrefetch :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3
--   </pre>
PTFIPlacementTagInstreamVideoPrefetchVast3 :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERNAL_REDIRECT
--   </pre>
PTFIPlacementTagInternalRedirect :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT
--   </pre>
PTFIPlacementTagInterstitialIframeJavascript :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY
--   </pre>
PTFIPlacementTagInterstitialIframeJavascriptLegacy :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT
--   </pre>
PTFIPlacementTagInterstitialInternalRedirect :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT
--   </pre>
PTFIPlacementTagInterstitialJavascript :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY
--   </pre>
PTFIPlacementTagInterstitialJavascriptLegacy :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT
--   </pre>
PTFIPlacementTagJavascript :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_JAVASCRIPT_LEGACY
--   </pre>
PTFIPlacementTagJavascriptLegacy :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_STANDARD
--   </pre>
PTFIPlacementTagStandard :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_TRACKING
--   </pre>
PTFIPlacementTagTracking :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_TRACKING_IFRAME
--   </pre>
PTFIPlacementTagTrackingIframe :: PlacementTagFormatsItem

-- | <pre>
--   PLACEMENT_TAG_TRACKING_JAVASCRIPT
--   </pre>
PTFIPlacementTagTrackingJavascript :: PlacementTagFormatsItem

-- | Describes properties of a DoubleClick Planning order.
--   
--   <i>See:</i> <a>order</a> smart constructor.
data Order

-- | Creates a value of <a>Order</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oSellerOrderId</a></li>
--   <li><a>oSellerOrganizationName</a></li>
--   <li><a>oKind</a></li>
--   <li><a>oAdvertiserId</a></li>
--   <li><a>oPlanningTermId</a></li>
--   <li><a>oAccountId</a></li>
--   <li><a>oName</a></li>
--   <li><a>oSiteNames</a></li>
--   <li><a>oLastModifiedInfo</a></li>
--   <li><a>oBuyerOrganizationName</a></li>
--   <li><a>oId</a></li>
--   <li><a>oBuyerInvoiceId</a></li>
--   <li><a>oComments</a></li>
--   <li><a>oProjectId</a></li>
--   <li><a>oSubAccountId</a></li>
--   <li><a>oNotes</a></li>
--   <li><a>oContacts</a></li>
--   <li><a>oSiteId</a></li>
--   <li><a>oTermsAndConditions</a></li>
--   <li><a>oApproverUserProFileIds</a></li>
--   </ul>
order :: Order

-- | Seller order ID associated with this order.
oSellerOrderId :: Lens' Order (Maybe Text)

-- | Name of the seller organization.
oSellerOrganizationName :: Lens' Order (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#order".
oKind :: Lens' Order Text

-- | Advertiser ID of this order.
oAdvertiserId :: Lens' Order (Maybe Int64)

-- | ID of the terms and conditions template used in this order.
oPlanningTermId :: Lens' Order (Maybe Int64)

-- | Account ID of this order.
oAccountId :: Lens' Order (Maybe Int64)

-- | Name of this order.
oName :: Lens' Order (Maybe Text)

-- | Free-form site names this order is associated with.
oSiteNames :: Lens' Order [Text]

-- | Information about the most recent modification of this order.
oLastModifiedInfo :: Lens' Order (Maybe LastModifiedInfo)

-- | Name of the buyer organization.
oBuyerOrganizationName :: Lens' Order (Maybe Text)

-- | ID of this order. This is a read-only, auto-generated field.
oId :: Lens' Order (Maybe Int64)

-- | Buyer invoice ID associated with this order.
oBuyerInvoiceId :: Lens' Order (Maybe Text)

-- | Comments in this order.
oComments :: Lens' Order (Maybe Text)

-- | Project ID of this order.
oProjectId :: Lens' Order (Maybe Int64)

-- | Subaccount ID of this order.
oSubAccountId :: Lens' Order (Maybe Int64)

-- | Notes of this order.
oNotes :: Lens' Order (Maybe Text)

-- | Contacts for this order.
oContacts :: Lens' Order [OrderContact]

-- | Site IDs this order is associated with.
oSiteId :: Lens' Order [Int64]

-- | Terms and conditions of this order.
oTermsAndConditions :: Lens' Order (Maybe Text)

-- | IDs for users that have to approve documents created for this order.
oApproverUserProFileIds :: Lens' Order [Int64]

-- | Creative Asset ID.
--   
--   <i>See:</i> <a>creativeAssetId</a> smart constructor.
data CreativeAssetId

-- | Creates a value of <a>CreativeAssetId</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caiName</a></li>
--   <li><a>caiType</a></li>
--   </ul>
creativeAssetId :: CreativeAssetId

-- | Name of the creative asset. This is a required field while inserting
--   an asset. After insertion, this assetIdentifier is used to identify
--   the uploaded asset. Characters in the name must be alphanumeric or one
--   of the following: ".-_ ". Spaces are allowed.
caiName :: Lens' CreativeAssetId (Maybe Text)

-- | Type of asset to upload. This is a required field. FLASH and IMAGE are
--   no longer supported for new uploads. All image assets should use
--   HTML_IMAGE.
caiType :: Lens' CreativeAssetId (Maybe CreativeAssetIdType)

-- | Frequency Cap.
--   
--   <i>See:</i> <a>frequencyCap</a> smart constructor.
data FrequencyCap

-- | Creates a value of <a>FrequencyCap</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fcImpressions</a></li>
--   <li><a>fcDuration</a></li>
--   </ul>
frequencyCap :: FrequencyCap

-- | Number of times an individual user can be served the ad within the
--   specified duration. The maximum allowed is 15.
fcImpressions :: Lens' FrequencyCap (Maybe Int64)

-- | Duration of time, in seconds, for this frequency cap. The maximum
--   duration is 90 days in seconds, or 7,776,000.
fcDuration :: Lens' FrequencyCap (Maybe Int64)

-- | Represents a File resource. A file contains the metadata for a report
--   run. It shows the status of the run and holds the URLs to the
--   generated report data if the run is finished and the status is
--   "REPORT_AVAILABLE".
--   
--   <i>See:</i> <a>file</a> smart constructor.
data File

-- | Creates a value of <a>File</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>filStatus</a></li>
--   <li><a>filEtag</a></li>
--   <li><a>filKind</a></li>
--   <li><a>filURLs</a></li>
--   <li><a>filReportId</a></li>
--   <li><a>filDateRange</a></li>
--   <li><a>filFormat</a></li>
--   <li><a>filLastModifiedTime</a></li>
--   <li><a>filId</a></li>
--   <li><a>filFileName</a></li>
--   </ul>
file :: File

-- | The status of the report file.
filStatus :: Lens' File (Maybe FileStatus)

-- | The eTag of this response for caching purposes.
filEtag :: Lens' File (Maybe Text)

-- | The kind of resource this is, in this case dfareporting#file.
filKind :: Lens' File Text

-- | The URLs where the completed report file can be downloaded.
filURLs :: Lens' File (Maybe FileURLs)

-- | The ID of the report this file was generated from.
filReportId :: Lens' File (Maybe Int64)

-- | The date range for which the file has report data. The date range will
--   always be the absolute date range for which the report is run.
filDateRange :: Lens' File (Maybe DateRange)

-- | The output format of the report. Only available once the file is
--   available.
filFormat :: Lens' File (Maybe FileFormat)

-- | The timestamp in milliseconds since epoch when this file was last
--   modified.
filLastModifiedTime :: Lens' File (Maybe Int64)

-- | The unique ID of this report file.
filId :: Lens' File (Maybe Int64)

-- | The filename of the file.
filFileName :: Lens' File (Maybe Text)

-- | Creative Settings
--   
--   <i>See:</i> <a>creativeSettings</a> smart constructor.
data CreativeSettings

-- | Creates a value of <a>CreativeSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csIFrameHeader</a></li>
--   <li><a>csIFrameFooter</a></li>
--   </ul>
creativeSettings :: CreativeSettings

-- | Header text for iFrames for this site. Must be less than or equal to
--   2000 characters long.
csIFrameHeader :: Lens' CreativeSettings (Maybe Text)

-- | Header text for iFrames for this site. Must be less than or equal to
--   2000 characters long.
csIFrameFooter :: Lens' CreativeSettings (Maybe Text)

-- | Type of the object of this dynamic targeting key. This is a required
--   field.
data DynamicTargetingKeyObjectType

-- | <pre>
--   OBJECT_AD
--   </pre>
DTKOTObjectAd :: DynamicTargetingKeyObjectType

-- | <pre>
--   OBJECT_ADVERTISER
--   </pre>
DTKOTObjectAdvertiser :: DynamicTargetingKeyObjectType

-- | <pre>
--   OBJECT_CREATIVE
--   </pre>
DTKOTObjectCreative :: DynamicTargetingKeyObjectType

-- | <pre>
--   OBJECT_PLACEMENT
--   </pre>
DTKOTObjectPlacement :: DynamicTargetingKeyObjectType

-- | The type of the report.
data ReportType

-- | <pre>
--   CROSS_DIMENSION_REACH
--   </pre>
RTCrossDimensionReach :: ReportType

-- | <pre>
--   FLOODLIGHT
--   </pre>
RTFloodlight :: ReportType

-- | <pre>
--   PATH_TO_CONVERSION
--   </pre>
RTPathToConversion :: ReportType

-- | <pre>
--   REACH
--   </pre>
RTReach :: ReportType

-- | <pre>
--   STANDARD
--   </pre>
RTStandard :: ReportType
data CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ADMOB_REFERENCED
--   </pre>
ADMobReferenced :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ASSET_FORMAT_UNSUPPORTED_DCM
--   </pre>
AssetFormatUnsupportedDcm :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ASSET_INVALID
--   </pre>
AssetInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_HARD_CODED
--   </pre>
ClickTagHardCoded :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_INVALID
--   </pre>
ClickTagInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_IN_GWD
--   </pre>
ClickTagInGwd :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_MISSING
--   </pre>
ClickTagMissing :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_MORE_THAN_ONE
--   </pre>
ClickTagMoreThanOne :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   CLICK_TAG_NON_TOP_LEVEL
--   </pre>
ClickTagNonTopLevel :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   COMPONENT_UNSUPPORTED_DCM
--   </pre>
ComponentUnsupportedDcm :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ENABLER_UNSUPPORTED_METHOD_DCM
--   </pre>
EnablerUnsupportedMethodDcm :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   EXTERNAL_FILE_REFERENCED
--   </pre>
ExternalFileReferenced :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   FILE_DETAIL_EMPTY
--   </pre>
FileDetailEmpty :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   FILE_TYPE_INVALID
--   </pre>
FileTypeInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   GWD_PROPERTIES_INVALID
--   </pre>
GwdPropertiesInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   HTML5_FEATURE_UNSUPPORTED
--   </pre>
HTML5FeatureUnsupported :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   LINKED_FILE_NOT_FOUND
--   </pre>
LinkedFileNotFound :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   MAX_FLASH_VERSION_11
--   </pre>
MaxFlashVersion11 :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   MRAID_REFERENCED
--   </pre>
MraidReferenced :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   NOT_SSL_COMPLIANT
--   </pre>
NotSSLCompliant :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ORPHANED_ASSET
--   </pre>
OrphanedAsset :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   PRIMARY_HTML_MISSING
--   </pre>
PrimaryHTMLMissing :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   SVG_INVALID
--   </pre>
SvgInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | <pre>
--   ZIP_INVALID
--   </pre>
ZipInvalid :: CreativeAssetMetadataWarnedValidationRulesItem

-- | Creative Group List Response
--   
--   <i>See:</i> <a>creativeGroupsListResponse</a> smart constructor.
data CreativeGroupsListResponse

-- | Creates a value of <a>CreativeGroupsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cglrCreativeGroups</a></li>
--   <li><a>cglrNextPageToken</a></li>
--   <li><a>cglrKind</a></li>
--   </ul>
creativeGroupsListResponse :: CreativeGroupsListResponse

-- | Creative group collection.
cglrCreativeGroups :: Lens' CreativeGroupsListResponse [CreativeGroup]

-- | Pagination token to be used for the next list operation.
cglrNextPageToken :: Lens' CreativeGroupsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeGroupsListResponse".
cglrKind :: Lens' CreativeGroupsListResponse Text

-- | Payment source type of this ad slot.
data AdSlotPaymentSourceType

-- | <pre>
--   PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID
--   </pre>
PlanningPaymentSourceTypeAgencyPaid :: AdSlotPaymentSourceType

-- | <pre>
--   PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID
--   </pre>
PlanningPaymentSourceTypePublisherPaid :: AdSlotPaymentSourceType

-- | Mobile Carrier List Response
--   
--   <i>See:</i> <a>mobileCarriersListResponse</a> smart constructor.
data MobileCarriersListResponse

-- | Creates a value of <a>MobileCarriersListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mclrMobileCarriers</a></li>
--   <li><a>mclrKind</a></li>
--   </ul>
mobileCarriersListResponse :: MobileCarriersListResponse

-- | Mobile carrier collection.
mclrMobileCarriers :: Lens' MobileCarriersListResponse [MobileCarrier]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#mobileCarriersListResponse".
mclrKind :: Lens' MobileCarriersListResponse Text

-- | Landing Page List Response
--   
--   <i>See:</i> <a>landingPagesListResponse</a> smart constructor.
data LandingPagesListResponse

-- | Creates a value of <a>LandingPagesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lplrLandingPages</a></li>
--   <li><a>lplrKind</a></li>
--   </ul>
landingPagesListResponse :: LandingPagesListResponse

-- | Landing page collection
lplrLandingPages :: Lens' LandingPagesListResponse [LandingPage]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#landingPagesListResponse".
lplrKind :: Lens' LandingPagesListResponse Text
data AccountPermissionAccountProFilesItem

-- | <pre>
--   ACCOUNT_PROFILE_BASIC
--   </pre>
APAPFIAccountProFileBasic :: AccountPermissionAccountProFilesItem

-- | <pre>
--   ACCOUNT_PROFILE_STANDARD
--   </pre>
APAPFIAccountProFileStandard :: AccountPermissionAccountProFilesItem

-- | CreativeAssets contains properties of a creative asset file which will
--   be uploaded or has already been uploaded. Refer to the creative sample
--   code for how to upload assets and insert a creative.
--   
--   <i>See:</i> <a>creativeAssetMetadata</a> smart constructor.
data CreativeAssetMetadata

-- | Creates a value of <a>CreativeAssetMetadata</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>camaKind</a></li>
--   <li><a>camaAssetIdentifier</a></li>
--   <li><a>camaIdDimensionValue</a></li>
--   <li><a>camaClickTags</a></li>
--   <li><a>camaWarnedValidationRules</a></li>
--   <li><a>camaId</a></li>
--   <li><a>camaDetectedFeatures</a></li>
--   </ul>
creativeAssetMetadata :: CreativeAssetMetadata

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeAssetMetadata".
camaKind :: Lens' CreativeAssetMetadata Text

-- | ID of the creative asset. This is a required field.
camaAssetIdentifier :: Lens' CreativeAssetMetadata (Maybe CreativeAssetId)

-- | Dimension value for the numeric ID of the asset. This is a read-only,
--   auto-generated field.
camaIdDimensionValue :: Lens' CreativeAssetMetadata (Maybe DimensionValue)

-- | List of detected click tags for assets. This is a read-only
--   auto-generated field.
camaClickTags :: Lens' CreativeAssetMetadata [ClickTag]

-- | Rules validated during code generation that generated a warning. This
--   is a read-only, auto-generated field. Possible values are: -
--   "ADMOB_REFERENCED" - "ASSET_FORMAT_UNSUPPORTED_DCM" - "ASSET_INVALID"
--   - "CLICK_TAG_HARD_CODED" - "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" -
--   "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" -
--   "CLICK_TAG_NON_TOP_LEVEL" - "COMPONENT_UNSUPPORTED_DCM" -
--   "ENABLER_UNSUPPORTED_METHOD_DCM" - "EXTERNAL_FILE_REFERENCED" -
--   "FILE_DETAIL_EMPTY" - "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID" -
--   "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" -
--   "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - "NOT_SSL_COMPLIANT" -
--   "ORPHANED_ASSET" - "PRIMARY_HTML_MISSING" - "SVG_INVALID" -
--   "ZIP_INVALID"
camaWarnedValidationRules :: Lens' CreativeAssetMetadata [CreativeAssetMetadataWarnedValidationRulesItem]

-- | Numeric ID of the asset. This is a read-only, auto-generated field.
camaId :: Lens' CreativeAssetMetadata (Maybe Int64)

-- | List of feature dependencies for the creative asset that are detected
--   by DCM. Feature dependencies are features that a browser must be able
--   to support in order to render your HTML5 creative correctly. This is a
--   read-only, auto-generated field.
camaDetectedFeatures :: Lens' CreativeAssetMetadata [CreativeAssetMetadataDetectedFeaturesItem]

-- | Omniture Integration Settings.
--   
--   <i>See:</i> <a>omnitureSettings</a> smart constructor.
data OmnitureSettings

-- | Creates a value of <a>OmnitureSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osOmnitureCostDataEnabled</a></li>
--   <li><a>osOmnitureIntegrationEnabled</a></li>
--   </ul>
omnitureSettings :: OmnitureSettings

-- | Whether placement cost data will be sent to Omniture. This property
--   can be enabled only if omnitureIntegrationEnabled is true.
osOmnitureCostDataEnabled :: Lens' OmnitureSettings (Maybe Bool)

-- | Whether Omniture integration is enabled. This property can be enabled
--   only when the "Advanced Ad Serving" account setting is enabled.
osOmnitureIntegrationEnabled :: Lens' OmnitureSettings (Maybe Bool)

-- | Contains information about an internet connection type that can be
--   targeted by ads. Clients can use the connection type to target mobile
--   vs. broadband users.
--   
--   <i>See:</i> <a>connectionType</a> smart constructor.
data ConnectionType

-- | Creates a value of <a>ConnectionType</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cttKind</a></li>
--   <li><a>cttName</a></li>
--   <li><a>cttId</a></li>
--   </ul>
connectionType :: ConnectionType

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#connectionType".
cttKind :: Lens' ConnectionType Text

-- | Name of this connection type.
cttName :: Lens' ConnectionType (Maybe Text)

-- | ID of this connection type.
cttId :: Lens' ConnectionType (Maybe Int64)

-- | Type of the event. This is a read-only field.
data CreativeCustomEventAdvertiserCustomEventType

-- | <pre>
--   ADVERTISER_EVENT_COUNTER
--   </pre>
AdvertiserEventCounter :: CreativeCustomEventAdvertiserCustomEventType

-- | <pre>
--   ADVERTISER_EVENT_EXIT
--   </pre>
AdvertiserEventExit :: CreativeCustomEventAdvertiserCustomEventType

-- | <pre>
--   ADVERTISER_EVENT_TIMER
--   </pre>
AdvertiserEventTimer :: CreativeCustomEventAdvertiserCustomEventType

-- | Contains properties of a package or roadblock.
--   
--   <i>See:</i> <a>placementGroup</a> smart constructor.
data PlacementGroup

-- | Creates a value of <a>PlacementGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plalPlacementStrategyId</a></li>
--   <li><a>plalSiteIdDimensionValue</a></li>
--   <li><a>plalPricingSchedule</a></li>
--   <li><a>plalKind</a></li>
--   <li><a>plalCampaignIdDimensionValue</a></li>
--   <li><a>plalAdvertiserId</a></li>
--   <li><a>plalAdvertiserIdDimensionValue</a></li>
--   <li><a>plalCampaignId</a></li>
--   <li><a>plalIdDimensionValue</a></li>
--   <li><a>plalPlacementGroupType</a></li>
--   <li><a>plalContentCategoryId</a></li>
--   <li><a>plalDirectorySiteIdDimensionValue</a></li>
--   <li><a>plalAccountId</a></li>
--   <li><a>plalName</a></li>
--   <li><a>plalDirectorySiteId</a></li>
--   <li><a>plalCreateInfo</a></li>
--   <li><a>plalChildPlacementIds</a></li>
--   <li><a>plalLastModifiedInfo</a></li>
--   <li><a>plalId</a></li>
--   <li><a>plalPrimaryPlacementId</a></li>
--   <li><a>plalSubAccountId</a></li>
--   <li><a>plalExternalId</a></li>
--   <li><a>plalComment</a></li>
--   <li><a>plalPrimaryPlacementIdDimensionValue</a></li>
--   <li><a>plalSiteId</a></li>
--   <li><a>plalArchived</a></li>
--   </ul>
placementGroup :: PlacementGroup

-- | ID of the placement strategy assigned to this placement group.
plalPlacementStrategyId :: Lens' PlacementGroup (Maybe Int64)

-- | Dimension value for the ID of the site. This is a read-only,
--   auto-generated field.
plalSiteIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Pricing schedule of this placement group. This field is required on
--   insertion.
plalPricingSchedule :: Lens' PlacementGroup (Maybe PricingSchedule)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placementGroup".
plalKind :: Lens' PlacementGroup Text

-- | Dimension value for the ID of the campaign. This is a read-only,
--   auto-generated field.
plalCampaignIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Advertiser ID of this placement group. This is a required field on
--   insertion.
plalAdvertiserId :: Lens' PlacementGroup (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
plalAdvertiserIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Campaign ID of this placement group. This field is required on
--   insertion.
plalCampaignId :: Lens' PlacementGroup (Maybe Int64)

-- | Dimension value for the ID of this placement group. This is a
--   read-only, auto-generated field.
plalIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Type of this placement group. A package is a simple group of
--   placements that acts as a single pricing point for a group of tags. A
--   roadblock is a group of placements that not only acts as a single
--   pricing point, but also assumes that all the tags in it will be served
--   at the same time. A roadblock requires one of its assigned placements
--   to be marked as primary for reporting. This field is required on
--   insertion.
plalPlacementGroupType :: Lens' PlacementGroup (Maybe PlacementGroupPlacementGroupType)

-- | ID of the content category assigned to this placement group.
plalContentCategoryId :: Lens' PlacementGroup (Maybe Int64)

-- | Dimension value for the ID of the directory site. This is a read-only,
--   auto-generated field.
plalDirectorySiteIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Account ID of this placement group. This is a read-only field that can
--   be left blank.
plalAccountId :: Lens' PlacementGroup (Maybe Int64)

-- | Name of this placement group. This is a required field and must be
--   less than 256 characters long.
plalName :: Lens' PlacementGroup (Maybe Text)

-- | Directory site ID associated with this placement group. On insert, you
--   must set either this field or the site_id field to specify the site
--   associated with this placement group. This is a required field that is
--   read-only after insertion.
plalDirectorySiteId :: Lens' PlacementGroup (Maybe Int64)

-- | Information about the creation of this placement group. This is a
--   read-only field.
plalCreateInfo :: Lens' PlacementGroup (Maybe LastModifiedInfo)

-- | IDs of placements which are assigned to this placement group. This is
--   a read-only, auto-generated field.
plalChildPlacementIds :: Lens' PlacementGroup [Int64]

-- | Information about the most recent modification of this placement
--   group. This is a read-only field.
plalLastModifiedInfo :: Lens' PlacementGroup (Maybe LastModifiedInfo)

-- | ID of this placement group. This is a read-only, auto-generated field.
plalId :: Lens' PlacementGroup (Maybe Int64)

-- | ID of the primary placement, used to calculate the media cost of a
--   roadblock (placement group). Modifying this field will automatically
--   modify the primary field on all affected roadblock child placements.
plalPrimaryPlacementId :: Lens' PlacementGroup (Maybe Int64)

-- | Subaccount ID of this placement group. This is a read-only field that
--   can be left blank.
plalSubAccountId :: Lens' PlacementGroup (Maybe Int64)

-- | External ID for this placement.
plalExternalId :: Lens' PlacementGroup (Maybe Text)

-- | Comments for this placement group.
plalComment :: Lens' PlacementGroup (Maybe Text)

-- | Dimension value for the ID of the primary placement. This is a
--   read-only, auto-generated field.
plalPrimaryPlacementIdDimensionValue :: Lens' PlacementGroup (Maybe DimensionValue)

-- | Site ID associated with this placement group. On insert, you must set
--   either this field or the directorySiteId field to specify the site
--   associated with this placement group. This is a required field that is
--   read-only after insertion.
plalSiteId :: Lens' PlacementGroup (Maybe Int64)

-- | Whether this placement group is archived.
plalArchived :: Lens' PlacementGroup (Maybe Bool)

-- | Contains properties of an event tag.
--   
--   <i>See:</i> <a>eventTag</a> smart constructor.
data EventTag

-- | Creates a value of <a>EventTag</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etStatus</a></li>
--   <li><a>etExcludeFromAdxRequests</a></li>
--   <li><a>etEnabledByDefault</a></li>
--   <li><a>etKind</a></li>
--   <li><a>etCampaignIdDimensionValue</a></li>
--   <li><a>etAdvertiserId</a></li>
--   <li><a>etURL</a></li>
--   <li><a>etAdvertiserIdDimensionValue</a></li>
--   <li><a>etSSLCompliant</a></li>
--   <li><a>etCampaignId</a></li>
--   <li><a>etAccountId</a></li>
--   <li><a>etName</a></li>
--   <li><a>etURLEscapeLevels</a></li>
--   <li><a>etSiteIds</a></li>
--   <li><a>etId</a></li>
--   <li><a>etSubAccountId</a></li>
--   <li><a>etType</a></li>
--   <li><a>etSiteFilterType</a></li>
--   </ul>
eventTag :: EventTag

-- | Status of this event tag. Must be ENABLED for this event tag to fire.
--   This is a required field.
etStatus :: Lens' EventTag (Maybe EventTagStatus)

-- | Whether to remove this event tag from ads that are trafficked through
--   DoubleClick Bid Manager to Ad Exchange. This may be useful if the
--   event tag uses a pixel that is unapproved for Ad Exchange bids on one
--   or more networks, such as the Google Display Network.
etExcludeFromAdxRequests :: Lens' EventTag (Maybe Bool)

-- | Whether this event tag should be automatically enabled for all of the
--   advertiser's campaigns and ads.
etEnabledByDefault :: Lens' EventTag (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#eventTag".
etKind :: Lens' EventTag Text

-- | Dimension value for the ID of the campaign. This is a read-only,
--   auto-generated field.
etCampaignIdDimensionValue :: Lens' EventTag (Maybe DimensionValue)

-- | Advertiser ID of this event tag. This field or the campaignId field is
--   required on insertion.
etAdvertiserId :: Lens' EventTag (Maybe Int64)

-- | Payload URL for this event tag. The URL on a click-through event tag
--   should have a landing page URL appended to the end of it. This field
--   is required on insertion.
etURL :: Lens' EventTag (Maybe Text)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
etAdvertiserIdDimensionValue :: Lens' EventTag (Maybe DimensionValue)

-- | Whether this tag is SSL-compliant or not. This is a read-only field.
etSSLCompliant :: Lens' EventTag (Maybe Bool)

-- | Campaign ID of this event tag. This field or the advertiserId field is
--   required on insertion.
etCampaignId :: Lens' EventTag (Maybe Int64)

-- | Account ID of this event tag. This is a read-only field that can be
--   left blank.
etAccountId :: Lens' EventTag (Maybe Int64)

-- | Name of this event tag. This is a required field and must be less than
--   256 characters long.
etName :: Lens' EventTag (Maybe Text)

-- | Number of times the landing page URL should be URL-escaped before
--   being appended to the click-through event tag URL. Only applies to
--   click-through event tags as specified by the event tag type.
etURLEscapeLevels :: Lens' EventTag (Maybe Int32)

-- | Filter list of site IDs associated with this event tag. The
--   siteFilterType determines whether this is a whitelist or blacklist
--   filter.
etSiteIds :: Lens' EventTag [Int64]

-- | ID of this event tag. This is a read-only, auto-generated field.
etId :: Lens' EventTag (Maybe Int64)

-- | Subaccount ID of this event tag. This is a read-only field that can be
--   left blank.
etSubAccountId :: Lens' EventTag (Maybe Int64)

-- | Event tag type. Can be used to specify whether to use a third-party
--   pixel, a third-party JavaScript URL, or a third-party click-through
--   URL for either impression or click tracking. This is a required field.
etType :: Lens' EventTag (Maybe EventTagType)

-- | Site filter type for this event tag. If no type is specified then the
--   event tag will be applied to all sites.
etSiteFilterType :: Lens' EventTag (Maybe EventTagSiteFilterType)

-- | Contains properties of a user role permission.
--   
--   <i>See:</i> <a>userRolePermission</a> smart constructor.
data UserRolePermission

-- | Creates a value of <a>UserRolePermission</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>useKind</a></li>
--   <li><a>useAvailability</a></li>
--   <li><a>useName</a></li>
--   <li><a>useId</a></li>
--   <li><a>usePermissionGroupId</a></li>
--   </ul>
userRolePermission :: UserRolePermission

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#userRolePermission".
useKind :: Lens' UserRolePermission Text

-- | Levels of availability for a user role permission.
useAvailability :: Lens' UserRolePermission (Maybe UserRolePermissionAvailability)

-- | Name of this user role permission.
useName :: Lens' UserRolePermission (Maybe Text)

-- | ID of this user role permission.
useId :: Lens' UserRolePermission (Maybe Int64)

-- | ID of the permission group that this user role permission belongs to.
usePermissionGroupId :: Lens' UserRolePermission (Maybe Int64)

-- | Select only change logs with the specified object type.
data ChangeLogsListObjectType

-- | <pre>
--   OBJECT_ACCOUNT
--   </pre>
CLLOTObjectAccount :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_ACCOUNT_BILLING_FEATURE
--   </pre>
CLLOTObjectAccountBillingFeature :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_AD
--   </pre>
CLLOTObjectAd :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_ADVERTISER
--   </pre>
CLLOTObjectAdvertiser :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_ADVERTISER_GROUP
--   </pre>
CLLOTObjectAdvertiserGroup :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_BILLING_ACCOUNT_GROUP
--   </pre>
CLLOTObjectBillingAccountGroup :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_BILLING_FEATURE
--   </pre>
CLLOTObjectBillingFeature :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_BILLING_MINIMUM_FEE
--   </pre>
CLLOTObjectBillingMinimumFee :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_BILLING_PROFILE
--   </pre>
CLLOTObjectBillingProFile :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CAMPAIGN
--   </pre>
CLLOTObjectCampaign :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CONTENT_CATEGORY
--   </pre>
CLLOTObjectContentCategory :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE
--   </pre>
CLLOTObjectCreative :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE_ASSET
--   </pre>
CLLOTObjectCreativeAsset :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE_BUNDLE
--   </pre>
CLLOTObjectCreativeBundle :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE_FIELD
--   </pre>
CLLOTObjectCreativeField :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_CREATIVE_GROUP
--   </pre>
CLLOTObjectCreativeGroup :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_DFA_SITE
--   </pre>
CLLOTObjectDfaSite :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_EVENT_TAG
--   </pre>
CLLOTObjectEventTag :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_FLOODLIGHT_ACTIVITY_GROUP
--   </pre>
CLLOTObjectFloodlightActivityGroup :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_FLOODLIGHT_ACTVITY
--   </pre>
CLLOTObjectFloodlightActvity :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_FLOODLIGHT_CONFIGURATION
--   </pre>
CLLOTObjectFloodlightConfiguration :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_INSTREAM_CREATIVE
--   </pre>
CLLOTObjectInstreamCreative :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_LANDING_PAGE
--   </pre>
CLLOTObjectLandingPage :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_MEDIA_ORDER
--   </pre>
CLLOTObjectMediaOrder :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_PLACEMENT
--   </pre>
CLLOTObjectPlacement :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_PLACEMENT_STRATEGY
--   </pre>
CLLOTObjectPlacementStrategy :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_PLAYSTORE_LINK
--   </pre>
CLLOTObjectPlaystoreLink :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_PROVIDED_LIST_CLIENT
--   </pre>
CLLOTObjectProvidedListClient :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_RATE_CARD
--   </pre>
CLLOTObjectRateCard :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_REMARKETING_LIST
--   </pre>
CLLOTObjectRemarketingList :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_RICHMEDIA_CREATIVE
--   </pre>
CLLOTObjectRichmediaCreative :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_SD_SITE
--   </pre>
CLLOTObjectSdSite :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_SEARCH_LIFT_STUDY
--   </pre>
CLLOTObjectSearchLiftStudy :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_SIZE
--   </pre>
CLLOTObjectSize :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_SUBACCOUNT
--   </pre>
CLLOTObjectSubAccount :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_TARGETING_TEMPLATE
--   </pre>
CLLOTObjectTargetingTemplate :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_USER_PROFILE
--   </pre>
CLLOTObjectUserProFile :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_USER_PROFILE_FILTER
--   </pre>
CLLOTObjectUserProFileFilter :: ChangeLogsListObjectType

-- | <pre>
--   OBJECT_USER_ROLE
--   </pre>
CLLOTObjectUserRole :: ChangeLogsListObjectType

-- | Contact of an order.
--   
--   <i>See:</i> <a>orderContact</a> smart constructor.
data OrderContact

-- | Creates a value of <a>OrderContact</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocSignatureUserProFileId</a></li>
--   <li><a>ocContactName</a></li>
--   <li><a>ocContactTitle</a></li>
--   <li><a>ocContactType</a></li>
--   <li><a>ocContactInfo</a></li>
--   </ul>
orderContact :: OrderContact

-- | ID of the user profile containing the signature that will be embedded
--   into order documents.
ocSignatureUserProFileId :: Lens' OrderContact (Maybe Int64)

-- | Name of this contact.
ocContactName :: Lens' OrderContact (Maybe Text)

-- | Title of this contact.
ocContactTitle :: Lens' OrderContact (Maybe Text)

-- | Type of this contact.
ocContactType :: Lens' OrderContact (Maybe OrderContactContactType)

-- | Free-form information about this contact. It could be any information
--   related to this contact in addition to type, title, name, and
--   signature user profile ID.
ocContactInfo :: Lens' OrderContact (Maybe Text)

-- | Transcode Settings
--   
--   <i>See:</i> <a>transcodeSetting</a> smart constructor.
data TranscodeSetting

-- | Creates a value of <a>TranscodeSetting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsKind</a></li>
--   <li><a>tsEnabledVideoFormats</a></li>
--   </ul>
transcodeSetting :: TranscodeSetting

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#transcodeSetting".
tsKind :: Lens' TranscodeSetting Text

-- | Whitelist of video formats to be served to this placement. Set this
--   list to null or empty to serve all video formats.
tsEnabledVideoFormats :: Lens' TranscodeSetting [Int32]

-- | Floodlight Activity GenerateTag Response
--   
--   <i>See:</i> <a>floodlightActivitiesGenerateTagResponse</a> smart
--   constructor.
data FloodlightActivitiesGenerateTagResponse

-- | Creates a value of <a>FloodlightActivitiesGenerateTagResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fagtrFloodlightActivityTag</a></li>
--   <li><a>fagtrKind</a></li>
--   </ul>
floodlightActivitiesGenerateTagResponse :: FloodlightActivitiesGenerateTagResponse

-- | Generated tag for this floodlight activity.
fagtrFloodlightActivityTag :: Lens' FloodlightActivitiesGenerateTagResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#floodlightActivitiesGenerateTagResponse".
fagtrKind :: Lens' FloodlightActivitiesGenerateTagResponse Text

-- | Directory Site Contact Assignment
--   
--   <i>See:</i> <a>directorySiteContactAssignment</a> smart constructor.
data DirectorySiteContactAssignment

-- | Creates a value of <a>DirectorySiteContactAssignment</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dscaVisibility</a></li>
--   <li><a>dscaContactId</a></li>
--   </ul>
directorySiteContactAssignment :: DirectorySiteContactAssignment

-- | Visibility of this directory site contact assignment. When set to
--   PUBLIC this contact assignment is visible to all account and agency
--   users; when set to PRIVATE it is visible only to the site.
dscaVisibility :: Lens' DirectorySiteContactAssignment (Maybe DirectorySiteContactAssignmentVisibility)

-- | ID of this directory site contact. This is a read-only, auto-generated
--   field.
dscaContactId :: Lens' DirectorySiteContactAssignment (Maybe Int64)

-- | Ad Slot
--   
--   <i>See:</i> <a>adSlot</a> smart constructor.
data AdSlot

-- | Creates a value of <a>AdSlot</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assHeight</a></li>
--   <li><a>assPaymentSourceType</a></li>
--   <li><a>assLinkedPlacementId</a></li>
--   <li><a>assWidth</a></li>
--   <li><a>assPrimary</a></li>
--   <li><a>assName</a></li>
--   <li><a>assComment</a></li>
--   <li><a>assCompatibility</a></li>
--   </ul>
adSlot :: AdSlot

-- | Height of this ad slot.
assHeight :: Lens' AdSlot (Maybe Int64)

-- | Payment source type of this ad slot.
assPaymentSourceType :: Lens' AdSlot (Maybe AdSlotPaymentSourceType)

-- | ID of the placement from an external platform that is linked to this
--   ad slot.
assLinkedPlacementId :: Lens' AdSlot (Maybe Int64)

-- | Width of this ad slot.
assWidth :: Lens' AdSlot (Maybe Int64)

-- | Primary ad slot of a roadblock inventory item.
assPrimary :: Lens' AdSlot (Maybe Bool)

-- | Name of this ad slot.
assName :: Lens' AdSlot (Maybe Text)

-- | Comment for this ad slot.
assComment :: Lens' AdSlot (Maybe Text)

-- | Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   rendering either on desktop, mobile devices or in mobile apps for
--   regular or interstitial ads respectively. APP and APP_INTERSTITIAL are
--   for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in
--   in-stream video ads developed with the VAST standard.
assCompatibility :: Lens' AdSlot (Maybe AdSlotCompatibility)

-- | Third-party Tracking URL.
--   
--   <i>See:</i> <a>thirdPartyTrackingURL</a> smart constructor.
data ThirdPartyTrackingURL

-- | Creates a value of <a>ThirdPartyTrackingURL</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tptuURL</a></li>
--   <li><a>tptuThirdPartyURLType</a></li>
--   </ul>
thirdPartyTrackingURL :: ThirdPartyTrackingURL

-- | URL for the specified third-party URL type.
tptuURL :: Lens' ThirdPartyTrackingURL (Maybe Text)

-- | Third-party URL type for in-stream video creatives.
tptuThirdPartyURLType :: Lens' ThirdPartyTrackingURL (Maybe ThirdPartyTrackingURLThirdPartyURLType)

-- | Cap cost type of this inventory item.
data PricingCapCostType

-- | <pre>
--   PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE
--   </pre>
PlanningPlacementCapCostTypeCumulative :: PricingCapCostType

-- | <pre>
--   PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY
--   </pre>
PlanningPlacementCapCostTypeMonthly :: PricingCapCostType

-- | <pre>
--   PLANNING_PLACEMENT_CAP_COST_TYPE_NONE
--   </pre>
PlanningPlacementCapCostTypeNone :: PricingCapCostType

-- | Contains properties of a DoubleClick Planning order document.
--   
--   <i>See:</i> <a>orderDocument</a> smart constructor.
data OrderDocument

-- | Creates a value of <a>OrderDocument</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>odSigned</a></li>
--   <li><a>odKind</a></li>
--   <li><a>odAdvertiserId</a></li>
--   <li><a>odLastSentTime</a></li>
--   <li><a>odAmendedOrderDocumentId</a></li>
--   <li><a>odLastSentRecipients</a></li>
--   <li><a>odEffectiveDate</a></li>
--   <li><a>odApprovedByUserProFileIds</a></li>
--   <li><a>odAccountId</a></li>
--   <li><a>odId</a></li>
--   <li><a>odProjectId</a></li>
--   <li><a>odTitle</a></li>
--   <li><a>odSubAccountId</a></li>
--   <li><a>odType</a></li>
--   <li><a>odOrderId</a></li>
--   <li><a>odCancelled</a></li>
--   <li><a>odCreatedInfo</a></li>
--   </ul>
orderDocument :: OrderDocument

-- | Whether this order document has been signed.
odSigned :: Lens' OrderDocument (Maybe Bool)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#orderDocument".
odKind :: Lens' OrderDocument Text

-- | Advertiser ID of this order document.
odAdvertiserId :: Lens' OrderDocument (Maybe Int64)

-- | Timestamp of the last email sent with this order document.
odLastSentTime :: Lens' OrderDocument (Maybe UTCTime)

-- | The amended order document ID of this order document. An order
--   document can be created by optionally amending another order document
--   so that the change history can be preserved.
odAmendedOrderDocumentId :: Lens' OrderDocument (Maybe Int64)

-- | List of email addresses that received the last sent document.
odLastSentRecipients :: Lens' OrderDocument [Text]

-- | Effective date of this order document.
odEffectiveDate :: Lens' OrderDocument (Maybe Day)

-- | IDs of users who have approved this order document.
odApprovedByUserProFileIds :: Lens' OrderDocument [Int64]

-- | Account ID of this order document.
odAccountId :: Lens' OrderDocument (Maybe Int64)

-- | ID of this order document.
odId :: Lens' OrderDocument (Maybe Int64)

-- | Project ID of this order document.
odProjectId :: Lens' OrderDocument (Maybe Int64)

-- | Title of this order document.
odTitle :: Lens' OrderDocument (Maybe Text)

-- | Subaccount ID of this order document.
odSubAccountId :: Lens' OrderDocument (Maybe Int64)

-- | Type of this order document
odType :: Lens' OrderDocument (Maybe OrderDocumentType)

-- | ID of the order from which this order document is created.
odOrderId :: Lens' OrderDocument (Maybe Int64)

-- | Whether this order document is cancelled.
odCancelled :: Lens' OrderDocument (Maybe Bool)

-- | Information about the creation of this order document.
odCreatedInfo :: Lens' OrderDocument (Maybe LastModifiedInfo)

-- | Contains information about a metro region that can be targeted by ads.
--   
--   <i>See:</i> <a>metro</a> smart constructor.
data Metro

-- | Creates a value of <a>Metro</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>metMetroCode</a></li>
--   <li><a>metKind</a></li>
--   <li><a>metName</a></li>
--   <li><a>metCountryCode</a></li>
--   <li><a>metDmaId</a></li>
--   <li><a>metCountryDartId</a></li>
--   <li><a>metDartId</a></li>
--   </ul>
metro :: Metro

-- | Metro code of this metro region. This is equivalent to dma_id.
metMetroCode :: Lens' Metro (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#metro".
metKind :: Lens' Metro Text

-- | Name of this metro region.
metName :: Lens' Metro (Maybe Text)

-- | Country code of the country to which this metro region belongs.
metCountryCode :: Lens' Metro (Maybe Text)

-- | DMA ID of this metro region. This is the ID used for targeting and
--   generating reports, and is equivalent to metro_code.
metDmaId :: Lens' Metro (Maybe Int64)

-- | DART ID of the country to which this metro region belongs.
metCountryDartId :: Lens' Metro (Maybe Int64)

-- | DART ID of this metro region.
metDartId :: Lens' Metro (Maybe Int64)

-- | Type of rich media asset. This is a read-only field. Applicable to the
--   following creative types: all RICH_MEDIA.
data CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_BACKDROP
--   </pre>
AssetDisplayTypeBackdrop :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_EXPANDING
--   </pre>
AssetDisplayTypeExpanding :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_FLASH_IN_FLASH
--   </pre>
AssetDisplayTypeFlashInFlash :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING
--   </pre>
AssetDisplayTypeFlashInFlashExpanding :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_FLOATING
--   </pre>
AssetDisplayTypeFloating :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_INPAGE
--   </pre>
AssetDisplayTypeInpage :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_OVERLAY
--   </pre>
AssetDisplayTypeOverlay :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_PEEL_DOWN
--   </pre>
AssetDisplayTypePeelDown :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_VPAID_LINEAR
--   </pre>
AssetDisplayTypeVpaidLinear :: CreativeAssetDisplayType

-- | <pre>
--   ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR
--   </pre>
AssetDisplayTypeVpaidNonLinear :: CreativeAssetDisplayType

-- | Contains properties of a placement.
--   
--   <i>See:</i> <a>placement</a> smart constructor.
data Placement

-- | Creates a value of <a>Placement</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>p1Status</a></li>
--   <li><a>p1VideoSettings</a></li>
--   <li><a>p1PlacementStrategyId</a></li>
--   <li><a>p1TagFormats</a></li>
--   <li><a>p1SiteIdDimensionValue</a></li>
--   <li><a>p1PricingSchedule</a></li>
--   <li><a>p1Size</a></li>
--   <li><a>p1Kind</a></li>
--   <li><a>p1KeyName</a></li>
--   <li><a>p1CampaignIdDimensionValue</a></li>
--   <li><a>p1AdvertiserId</a></li>
--   <li><a>p1AdvertiserIdDimensionValue</a></li>
--   <li><a>p1CampaignId</a></li>
--   <li><a>p1IdDimensionValue</a></li>
--   <li><a>p1VpaidAdapterChoice</a></li>
--   <li><a>p1Primary</a></li>
--   <li><a>p1LookbackConfiguration</a></li>
--   <li><a>p1TagSetting</a></li>
--   <li><a>p1ContentCategoryId</a></li>
--   <li><a>p1DirectorySiteIdDimensionValue</a></li>
--   <li><a>p1AccountId</a></li>
--   <li><a>p1PaymentSource</a></li>
--   <li><a>p1Name</a></li>
--   <li><a>p1DirectorySiteId</a></li>
--   <li><a>p1CreateInfo</a></li>
--   <li><a>p1VideoActiveViewOptOut</a></li>
--   <li><a>p1LastModifiedInfo</a></li>
--   <li><a>p1Id</a></li>
--   <li><a>p1SSLRequired</a></li>
--   <li><a>p1SubAccountId</a></li>
--   <li><a>p1PlacementGroupIdDimensionValue</a></li>
--   <li><a>p1ExternalId</a></li>
--   <li><a>p1PlacementGroupId</a></li>
--   <li><a>p1Comment</a></li>
--   <li><a>p1SiteId</a></li>
--   <li><a>p1Compatibility</a></li>
--   <li><a>p1Archived</a></li>
--   <li><a>p1PaymentApproved</a></li>
--   <li><a>p1PublisherUpdateInfo</a></li>
--   </ul>
placement :: Placement

-- | Third-party placement status.
p1Status :: Lens' Placement (Maybe PlacementStatus)

-- | A collection of settings which affect video creatives served through
--   this placement. Applicable to placements with IN_STREAM_VIDEO
--   compatibility.
p1VideoSettings :: Lens' Placement (Maybe VideoSettings)

-- | ID of the placement strategy assigned to this placement.
p1PlacementStrategyId :: Lens' Placement (Maybe Int64)

-- | Tag formats to generate for this placement. This field is required on
--   insertion. Acceptable values are: - "PLACEMENT_TAG_STANDARD" -
--   "PLACEMENT_TAG_IFRAME_JAVASCRIPT" - "PLACEMENT_TAG_IFRAME_ILAYER" -
--   "PLACEMENT_TAG_INTERNAL_REDIRECT" - "PLACEMENT_TAG_JAVASCRIPT" -
--   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -
--   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -
--   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -
--   "PLACEMENT_TAG_CLICK_COMMANDS" -
--   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" - "PLACEMENT_TAG_TRACKING" -
--   "PLACEMENT_TAG_TRACKING_IFRAME" - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
p1TagFormats :: Lens' Placement [PlacementTagFormatsItem]

-- | Dimension value for the ID of the site. This is a read-only,
--   auto-generated field.
p1SiteIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | Pricing schedule of this placement. This field is required on
--   insertion, specifically subfields startDate, endDate and pricingType.
p1PricingSchedule :: Lens' Placement (Maybe PricingSchedule)

-- | Size associated with this placement. When inserting or updating a
--   placement, only the size ID field is used. This field is required on
--   insertion.
p1Size :: Lens' Placement (Maybe Size)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#placement".
p1Kind :: Lens' Placement Text

-- | Key name of this placement. This is a read-only, auto-generated field.
p1KeyName :: Lens' Placement (Maybe Text)

-- | Dimension value for the ID of the campaign. This is a read-only,
--   auto-generated field.
p1CampaignIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | Advertiser ID of this placement. This field can be left blank.
p1AdvertiserId :: Lens' Placement (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
p1AdvertiserIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | Campaign ID of this placement. This field is a required field on
--   insertion.
p1CampaignId :: Lens' Placement (Maybe Int64)

-- | Dimension value for the ID of this placement. This is a read-only,
--   auto-generated field.
p1IdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | VPAID adapter setting for this placement. Controls which VPAID format
--   the measurement adapter will use for in-stream video creatives
--   assigned to this placement.
p1VpaidAdapterChoice :: Lens' Placement (Maybe PlacementVpaidAdapterChoice)

-- | Whether this placement is the primary placement of a roadblock
--   (placement group). You cannot change this field from true to false.
--   Setting this field to true will automatically set the primary field on
--   the original primary placement of the roadblock to false, and it will
--   automatically set the roadblock's primaryPlacementId field to the ID
--   of this placement.
p1Primary :: Lens' Placement (Maybe Bool)

-- | Lookback window settings for this placement.
p1LookbackConfiguration :: Lens' Placement (Maybe LookbackConfiguration)

-- | Tag settings for this placement.
p1TagSetting :: Lens' Placement (Maybe TagSetting)

-- | ID of the content category assigned to this placement.
p1ContentCategoryId :: Lens' Placement (Maybe Int64)

-- | Dimension value for the ID of the directory site. This is a read-only,
--   auto-generated field.
p1DirectorySiteIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | Account ID of this placement. This field can be left blank.
p1AccountId :: Lens' Placement (Maybe Int64)

-- | Payment source for this placement. This is a required field that is
--   read-only after insertion.
p1PaymentSource :: Lens' Placement (Maybe PlacementPaymentSource)

-- | Name of this placement.This is a required field and must be less than
--   256 characters long.
p1Name :: Lens' Placement (Maybe Text)

-- | Directory site ID of this placement. On insert, you must set either
--   this field or the siteId field to specify the site associated with
--   this placement. This is a required field that is read-only after
--   insertion.
p1DirectorySiteId :: Lens' Placement (Maybe Int64)

-- | Information about the creation of this placement. This is a read-only
--   field.
p1CreateInfo :: Lens' Placement (Maybe LastModifiedInfo)

-- | Whether Verification and ActiveView are disabled for in-stream video
--   creatives for this placement. The same setting videoActiveViewOptOut
--   exists on the site level -- the opt out occurs if either of these
--   settings are true. These settings are distinct from
--   DirectorySites.settings.activeViewOptOut or
--   Sites.siteSettings.activeViewOptOut which only apply to display ads.
--   However, Accounts.activeViewOptOut opts out both video traffic, as
--   well as display ads, from Verification and ActiveView.
p1VideoActiveViewOptOut :: Lens' Placement (Maybe Bool)

-- | Information about the most recent modification of this placement. This
--   is a read-only field.
p1LastModifiedInfo :: Lens' Placement (Maybe LastModifiedInfo)

-- | ID of this placement. This is a read-only, auto-generated field.
p1Id :: Lens' Placement (Maybe Int64)

-- | Whether creatives assigned to this placement must be SSL-compliant.
p1SSLRequired :: Lens' Placement (Maybe Bool)

-- | Subaccount ID of this placement. This field can be left blank.
p1SubAccountId :: Lens' Placement (Maybe Int64)

-- | Dimension value for the ID of the placement group. This is a
--   read-only, auto-generated field.
p1PlacementGroupIdDimensionValue :: Lens' Placement (Maybe DimensionValue)

-- | External ID for this placement.
p1ExternalId :: Lens' Placement (Maybe Text)

-- | ID of this placement's group, if applicable.
p1PlacementGroupId :: Lens' Placement (Maybe Int64)

-- | Comments for this placement.
p1Comment :: Lens' Placement (Maybe Text)

-- | Site ID associated with this placement. On insert, you must set either
--   this field or the directorySiteId field to specify the site associated
--   with this placement. This is a required field that is read-only after
--   insertion.
p1SiteId :: Lens' Placement (Maybe Int64)

-- | Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to
--   rendering on desktop, on mobile devices or in mobile apps for regular
--   or interstitial ads respectively. APP and APP_INTERSTITIAL are no
--   longer allowed for new placement insertions. Instead, use DISPLAY or
--   DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream
--   video ads developed with the VAST standard. This field is required on
--   insertion.
p1Compatibility :: Lens' Placement (Maybe PlacementCompatibility)

-- | Whether this placement is archived.
p1Archived :: Lens' Placement (Maybe Bool)

-- | Whether payment was approved for this placement. This is a read-only
--   field relevant only to publisher-paid placements.
p1PaymentApproved :: Lens' Placement (Maybe Bool)

-- | Information about the last publisher update. This is a read-only
--   field.
p1PublisherUpdateInfo :: Lens' Placement (Maybe LastModifiedInfo)

-- | Counting method for conversions for this floodlight activity. This is
--   a required field.
data FloodlightActivityCountingMethod

-- | <pre>
--   ITEMS_SOLD_COUNTING
--   </pre>
ItemsSoldCounting :: FloodlightActivityCountingMethod

-- | <pre>
--   SESSION_COUNTING
--   </pre>
SessionCounting :: FloodlightActivityCountingMethod

-- | <pre>
--   STANDARD_COUNTING
--   </pre>
StandardCounting :: FloodlightActivityCountingMethod

-- | <pre>
--   TRANSACTIONS_COUNTING
--   </pre>
TransactionsCounting :: FloodlightActivityCountingMethod

-- | <pre>
--   UNIQUE_COUNTING
--   </pre>
UniqueCounting :: FloodlightActivityCountingMethod

-- | A description of how user IDs are encrypted.
--   
--   <i>See:</i> <a>encryptionInfo</a> smart constructor.
data EncryptionInfo

-- | Creates a value of <a>EncryptionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eiEncryptionSource</a></li>
--   <li><a>eiKind</a></li>
--   <li><a>eiEncryptionEntityType</a></li>
--   <li><a>eiEncryptionEntityId</a></li>
--   </ul>
encryptionInfo :: EncryptionInfo

-- | Describes whether the encrypted cookie was received from ad serving
--   (the %m macro) or from Data Transfer.
eiEncryptionSource :: Lens' EncryptionInfo (Maybe EncryptionInfoEncryptionSource)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#encryptionInfo".
eiKind :: Lens' EncryptionInfo Text

-- | The encryption entity type. This should match the encryption
--   configuration for ad serving or Data Transfer.
eiEncryptionEntityType :: Lens' EncryptionInfo (Maybe EncryptionInfoEncryptionEntityType)

-- | The encryption entity ID. This should match the encryption
--   configuration for ad serving or Data Transfer.
eiEncryptionEntityId :: Lens' EncryptionInfo (Maybe Int64)

-- | Site List Response
--   
--   <i>See:</i> <a>sitesListResponse</a> smart constructor.
data SitesListResponse

-- | Creates a value of <a>SitesListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sitNextPageToken</a></li>
--   <li><a>sitKind</a></li>
--   <li><a>sitSites</a></li>
--   </ul>
sitesListResponse :: SitesListResponse

-- | Pagination token to be used for the next list operation.
sitNextPageToken :: Lens' SitesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#sitesListResponse".
sitKind :: Lens' SitesListResponse Text

-- | Site collection.
sitSites :: Lens' SitesListResponse [Site]

-- | Order of sorted results, default is ASCENDING.
data ContentCategoriesListSortOrder

-- | <pre>
--   ASCENDING
--   </pre>
CCLSOAscending :: ContentCategoriesListSortOrder

-- | <pre>
--   DESCENDING
--   </pre>
CCLSODescending :: ContentCategoriesListSortOrder

-- | Contains properties of a targeting template. A targeting template
--   encapsulates targeting information which can be reused across multiple
--   ads.
--   
--   <i>See:</i> <a>targetingTemplate</a> smart constructor.
data TargetingTemplate

-- | Creates a value of <a>TargetingTemplate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttGeoTargeting</a></li>
--   <li><a>ttTechnologyTargeting</a></li>
--   <li><a>ttDayPartTargeting</a></li>
--   <li><a>ttKind</a></li>
--   <li><a>ttAdvertiserId</a></li>
--   <li><a>ttAdvertiserIdDimensionValue</a></li>
--   <li><a>ttAccountId</a></li>
--   <li><a>ttName</a></li>
--   <li><a>ttKeyValueTargetingExpression</a></li>
--   <li><a>ttId</a></li>
--   <li><a>ttSubAccountId</a></li>
--   <li><a>ttLanguageTargeting</a></li>
--   <li><a>ttListTargetingExpression</a></li>
--   </ul>
targetingTemplate :: TargetingTemplate

-- | Geographical targeting criteria.
ttGeoTargeting :: Lens' TargetingTemplate (Maybe GeoTargeting)

-- | Technology platform targeting criteria.
ttTechnologyTargeting :: Lens' TargetingTemplate (Maybe TechnologyTargeting)

-- | Time and day targeting criteria.
ttDayPartTargeting :: Lens' TargetingTemplate (Maybe DayPartTargeting)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#targetingTemplate".
ttKind :: Lens' TargetingTemplate Text

-- | Advertiser ID of this targeting template. This is a required field on
--   insert and is read-only after insert.
ttAdvertiserId :: Lens' TargetingTemplate (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
ttAdvertiserIdDimensionValue :: Lens' TargetingTemplate (Maybe DimensionValue)

-- | Account ID of this targeting template. This field, if left unset, will
--   be auto-generated on insert and is read-only after insert.
ttAccountId :: Lens' TargetingTemplate (Maybe Int64)

-- | Name of this targeting template. This field is required. It must be
--   less than 256 characters long and unique within an advertiser.
ttName :: Lens' TargetingTemplate (Maybe Text)

-- | Key-value targeting criteria.
ttKeyValueTargetingExpression :: Lens' TargetingTemplate (Maybe KeyValueTargetingExpression)

-- | ID of this targeting template. This is a read-only, auto-generated
--   field.
ttId :: Lens' TargetingTemplate (Maybe Int64)

-- | Subaccount ID of this targeting template. This field, if left unset,
--   will be auto-generated on insert and is read-only after insert.
ttSubAccountId :: Lens' TargetingTemplate (Maybe Int64)

-- | Language targeting criteria.
ttLanguageTargeting :: Lens' TargetingTemplate (Maybe LanguageTargeting)

-- | Remarketing list targeting criteria.
ttListTargetingExpression :: Lens' TargetingTemplate (Maybe ListTargetingExpression)

-- | Contains properties of a creative field.
--   
--   <i>See:</i> <a>creativeField</a> smart constructor.
data CreativeField

-- | Creates a value of <a>CreativeField</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cffKind</a></li>
--   <li><a>cffAdvertiserId</a></li>
--   <li><a>cffAdvertiserIdDimensionValue</a></li>
--   <li><a>cffAccountId</a></li>
--   <li><a>cffName</a></li>
--   <li><a>cffId</a></li>
--   <li><a>cffSubAccountId</a></li>
--   </ul>
creativeField :: CreativeField

-- | Identifies what kind of resource this is. Value: the fixed string
--   "dfareporting#creativeField".
cffKind :: Lens' CreativeField Text

-- | Advertiser ID of this creative field. This is a required field on
--   insertion.
cffAdvertiserId :: Lens' CreativeField (Maybe Int64)

-- | Dimension value for the ID of the advertiser. This is a read-only,
--   auto-generated field.
cffAdvertiserIdDimensionValue :: Lens' CreativeField (Maybe DimensionValue)

-- | Account ID of this creative field. This is a read-only field that can
--   be left blank.
cffAccountId :: Lens' CreativeField (Maybe Int64)

-- | Name of this creative field. This is a required field and must be less
--   than 256 characters long and unique among creative fields of the same
--   advertiser.
cffName :: Lens' CreativeField (Maybe Text)

-- | ID of this creative field. This is a read-only, auto-generated field.
cffId :: Lens' CreativeField (Maybe Int64)

-- | Subaccount ID of this creative field. This is a read-only field that
--   can be left blank.
cffSubAccountId :: Lens' CreativeField (Maybe Int64)

-- | Status of this advertiser.
data AdvertiserStatus

-- | <pre>
--   APPROVED
--   </pre>
ASApproved :: AdvertiserStatus

-- | <pre>
--   ON_HOLD
--   </pre>
ASOnHold :: AdvertiserStatus

-- | Properties of inheriting and overriding the default click-through
--   event tag. A campaign may override the event tag defined at the
--   advertiser level, and an ad may also override the campaign's setting
--   further.
--   
--   <i>See:</i> <a>defaultClickThroughEventTagProperties</a> smart
--   constructor.
data DefaultClickThroughEventTagProperties

-- | Creates a value of <a>DefaultClickThroughEventTagProperties</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dctetpOverrideInheritedEventTag</a></li>
--   <li><a>dctetpDefaultClickThroughEventTagId</a></li>
--   </ul>
defaultClickThroughEventTagProperties :: DefaultClickThroughEventTagProperties

-- | Whether this entity should override the inherited default
--   click-through event tag with its own defined value.
dctetpOverrideInheritedEventTag :: Lens' DefaultClickThroughEventTagProperties (Maybe Bool)

-- | ID of the click-through event tag to apply to all ads in this entity's
--   scope.
dctetpDefaultClickThroughEventTagId :: Lens' DefaultClickThroughEventTagProperties (Maybe Int64)

-- | Remarketing List Targeting Expression.
--   
--   <i>See:</i> <a>listTargetingExpression</a> smart constructor.
data ListTargetingExpression

-- | Creates a value of <a>ListTargetingExpression</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lteExpression</a></li>
--   </ul>
listTargetingExpression :: ListTargetingExpression

-- | Expression describing which lists are being targeted by the ad.
lteExpression :: Lens' ListTargetingExpression (Maybe Text)
