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


-- | Google Ad Exchange Buyer SDK.
--   
--   Accesses your bidding-account information, submits creatives for
--   validation, finds available direct deals, and retrieves performance
--   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>v1.4</tt> of the API.
@package gogol-adexchange-buyer
@version 0.3.0


module Network.Google.AdExchangeBuyer.Types

-- | Default request referring to version 'v1.4' of the Ad Exchange Buyer
--   API. This contains the host and root path used as a starting point for
--   constructing service requests.
adExchangeBuyerService :: ServiceConfig

-- | Manage your Ad Exchange buyer account configuration
adExchangeBuyerScope :: Proxy '["https://www.googleapis.com/auth/adexchange.buyer"]

-- | A proposal is associated with a bunch of notes which may optionally be
--   associated with a deal and/or revision number.
--   
--   <i>See:</i> <a>marketplaceNote</a> smart constructor.
data MarketplaceNote

-- | Creates a value of <a>MarketplaceNote</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mnNote</a></li>
--   <li><a>mnKind</a></li>
--   <li><a>mnTimestampMs</a></li>
--   <li><a>mnProposalId</a></li>
--   <li><a>mnDealId</a></li>
--   <li><a>mnProposalRevisionNumber</a></li>
--   <li><a>mnNoteId</a></li>
--   <li><a>mnCreatorRole</a></li>
--   </ul>
marketplaceNote :: MarketplaceNote

-- | The actual note to attach. (readonly, except on create)
mnNote :: Lens' MarketplaceNote (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#marketplaceNote".
mnKind :: Lens' MarketplaceNote Text

-- | The timestamp (ms since epoch) that this note was created. (readonly)
mnTimestampMs :: Lens' MarketplaceNote (Maybe Int64)

-- | The proposalId that a note is attached to. (readonly)
mnProposalId :: Lens' MarketplaceNote (Maybe Text)

-- | Notes can optionally be associated with a deal. (readonly, except on
--   create)
mnDealId :: Lens' MarketplaceNote (Maybe Text)

-- | If the note is associated with a proposal revision number, then store
--   that here. (readonly, except on create)
mnProposalRevisionNumber :: Lens' MarketplaceNote (Maybe Int64)

-- | The unique id for the note. (readonly)
mnNoteId :: Lens' MarketplaceNote (Maybe Text)

-- | The role of the person (buyer/seller) creating the note. (readonly)
mnCreatorRole :: Lens' MarketplaceNote (Maybe Text)

-- | If nativeAd is set, HTMLSnippet and the videoURL outside of nativeAd
--   should not be set. (The videoURL inside nativeAd can be set.)
--   
--   <i>See:</i> <a>creativeNATiveAd</a> smart constructor.
data CreativeNATiveAd

-- | Creates a value of <a>CreativeNATiveAd</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cnataImage</a></li>
--   <li><a>cnataAppIcon</a></li>
--   <li><a>cnataClickTrackingURL</a></li>
--   <li><a>cnataClickLinkURL</a></li>
--   <li><a>cnataBody</a></li>
--   <li><a>cnataHeadline</a></li>
--   <li><a>cnataImpressionTrackingURL</a></li>
--   <li><a>cnataCallToAction</a></li>
--   <li><a>cnataStore</a></li>
--   <li><a>cnataVideoURL</a></li>
--   <li><a>cnataPrice</a></li>
--   <li><a>cnataAdvertiser</a></li>
--   <li><a>cnataStarRating</a></li>
--   <li><a>cnataLogo</a></li>
--   </ul>
creativeNATiveAd :: CreativeNATiveAd

-- | A large image.
cnataImage :: Lens' CreativeNATiveAd (Maybe CreativeNATiveAdImage)

-- | The app icon, for app download ads.
cnataAppIcon :: Lens' CreativeNATiveAd (Maybe CreativeNATiveAdAppIcon)

-- | The URL to use for click tracking.
cnataClickTrackingURL :: Lens' CreativeNATiveAd (Maybe Text)

-- | The URL that the browser/SDK will load when the user clicks the ad.
cnataClickLinkURL :: Lens' CreativeNATiveAd (Maybe Text)

-- | A long description of the ad.
cnataBody :: Lens' CreativeNATiveAd (Maybe Text)

-- | A short title for the ad.
cnataHeadline :: Lens' CreativeNATiveAd (Maybe Text)

-- | The URLs are called when the impression is rendered.
cnataImpressionTrackingURL :: Lens' CreativeNATiveAd [Text]

-- | A label for the button that the user is supposed to click.
cnataCallToAction :: Lens' CreativeNATiveAd (Maybe Text)

-- | The URL to the app store to purchase/download the promoted app.
cnataStore :: Lens' CreativeNATiveAd (Maybe Text)

-- | The URL of the XML VAST for a native ad. Note this is a separate field
--   from resource.video_url.
cnataVideoURL :: Lens' CreativeNATiveAd (Maybe Text)

-- | The price of the promoted app including the currency info.
cnataPrice :: Lens' CreativeNATiveAd (Maybe Text)
cnataAdvertiser :: Lens' CreativeNATiveAd (Maybe Text)

-- | The app rating in the app store. Must be in the range [0-5].
cnataStarRating :: Lens' CreativeNATiveAd (Maybe Double)

-- | A smaller image, for the advertiser logo.
cnataLogo :: Lens' CreativeNATiveAd (Maybe CreativeNATiveAdLogo)
data EditAllOrderDealsResponse

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

-- | List of all deals in the proposal after edit.
eaodrDeals :: Lens' EditAllOrderDealsResponse [MarketplaceDeal]

-- | The latest revision number after the update has been applied.
eaodrOrderRevisionNumber :: Lens' EditAllOrderDealsResponse (Maybe Int64)

-- | The creatives feed lists the active creatives for the Ad Exchange
--   buyer accounts that the user has access to. Each entry in the feed
--   corresponds to a single creative.
--   
--   <i>See:</i> <a>creativesList</a> smart constructor.
data CreativesList

-- | 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>clNextPageToken</a></li>
--   <li><a>clKind</a></li>
--   <li><a>clItems</a></li>
--   </ul>
creativesList :: CreativesList

-- | Continuation token used to page through creatives. To retrieve the
--   next page of results, set the next request's "pageToken" value to
--   this.
clNextPageToken :: Lens' CreativesList (Maybe Text)

-- | Resource type.
clKind :: Lens' CreativesList Text

-- | A list of creatives.
clItems :: Lens' CreativesList [Creative]
data CreativeDealIdsDealStatusesItem

-- | Creates a value of <a>CreativeDealIdsDealStatusesItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdidsiArcStatus</a></li>
--   <li><a>cdidsiWebPropertyId</a></li>
--   <li><a>cdidsiDealId</a></li>
--   </ul>
creativeDealIdsDealStatusesItem :: CreativeDealIdsDealStatusesItem

-- | ARC approval status.
cdidsiArcStatus :: Lens' CreativeDealIdsDealStatusesItem (Maybe Text)

-- | Publisher ID.
cdidsiWebPropertyId :: Lens' CreativeDealIdsDealStatusesItem (Maybe Int32)

-- | External deal ID.
cdidsiDealId :: Lens' CreativeDealIdsDealStatusesItem (Maybe Int64)
data CreativeServingRestrictionsItemContextsItem

-- | Creates a value of <a>CreativeServingRestrictionsItemContextsItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csriciPlatform</a></li>
--   <li><a>csriciContextType</a></li>
--   <li><a>csriciAuctionType</a></li>
--   <li><a>csriciGeoCriteriaId</a></li>
--   </ul>
creativeServingRestrictionsItemContextsItem :: CreativeServingRestrictionsItemContextsItem

-- | Only set when contextType=PLATFORM. Represents the platforms this
--   restriction applies to.
csriciPlatform :: Lens' CreativeServingRestrictionsItemContextsItem [Text]

-- | The type of context (e.g., location, platform, auction type,
--   SSL-ness).
csriciContextType :: Lens' CreativeServingRestrictionsItemContextsItem (Maybe Text)

-- | Only set when contextType=AUCTION_TYPE. Represents the auction types
--   this restriction applies to.
csriciAuctionType :: Lens' CreativeServingRestrictionsItemContextsItem [Text]

-- | Only set when contextType=LOCATION. Represents the geo criterias this
--   restriction applies to.
csriciGeoCriteriaId :: Lens' CreativeServingRestrictionsItemContextsItem [Int32]
data CreateOrdersResponse

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

-- | The list of proposals successfully created.
corProposals :: Lens' CreateOrdersResponse [Proposal]
data AccountBidderLocationItem

-- | Creates a value of <a>AccountBidderLocationItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>abliURL</a></li>
--   <li><a>abliMaximumQps</a></li>
--   <li><a>abliRegion</a></li>
--   <li><a>abliBidProtocol</a></li>
--   </ul>
accountBidderLocationItem :: AccountBidderLocationItem

-- | The URL to which the Ad Exchange will send bid requests.
abliURL :: Lens' AccountBidderLocationItem (Maybe Text)

-- | The maximum queries per second the Ad Exchange will send.
abliMaximumQps :: Lens' AccountBidderLocationItem (Maybe Int32)

-- | The geographical region the Ad Exchange should send requests from.
--   Only used by some quota systems, but always setting the value is
--   recommended. Allowed values: - ASIA - EUROPE - US_EAST - US_WEST
abliRegion :: Lens' AccountBidderLocationItem (Maybe Text)

-- | The protocol that the bidder endpoint is using. OpenRTB protocols with
--   prefix PROTOCOL_OPENRTB_PROTOBUF use proto buffer, otherwise use JSON.
--   Allowed values: - PROTOCOL_ADX - PROTOCOL_OPENRTB_2_2 -
--   PROTOCOL_OPENRTB_2_3 - PROTOCOL_OPENRTB_2_4 -
--   PROTOCOL_OPENRTB_PROTOBUF_2_3 - PROTOCOL_OPENRTB_PROTOBUF_2_4
abliBidProtocol :: Lens' AccountBidderLocationItem (Maybe Text)
data PrivateData

-- | Creates a value of <a>PrivateData</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdReferencePayload</a></li>
--   <li><a>pdReferenceId</a></li>
--   </ul>
privateData :: PrivateData
pdReferencePayload :: Lens' PrivateData (Maybe ByteString)
pdReferenceId :: Lens' PrivateData (Maybe Text)

-- | The configuration data for Ad Exchange RTB - Budget API.
--   
--   <i>See:</i> <a>budget</a> smart constructor.
data Budget

-- | Creates a value of <a>Budget</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bCurrencyCode</a></li>
--   <li><a>bKind</a></li>
--   <li><a>bBudgetAmount</a></li>
--   <li><a>bAccountId</a></li>
--   <li><a>bId</a></li>
--   <li><a>bBillingId</a></li>
--   </ul>
budget :: Budget

-- | The currency code for the buyer. This cannot be altered here.
bCurrencyCode :: Lens' Budget (Maybe Text)

-- | The kind of the resource, i.e. "adexchangebuyer#budget".
bKind :: Lens' Budget Text

-- | The daily budget amount in unit amount of the account currency to
--   apply for the billingId provided. This is required for update
--   requests.
bBudgetAmount :: Lens' Budget (Maybe Int64)

-- | The id of the account. This is required for get and update requests.
bAccountId :: Lens' Budget (Maybe Int64)

-- | The unique id that describes this item.
bId :: Lens' Budget (Maybe Text)

-- | The billing id to determine which adgroup to provide budget
--   information for. This is required for get and update requests.
bBillingId :: Lens' Budget (Maybe Int64)
data AddOrderNotesRequest

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

-- | The list of notes to add.
aonrNotes :: Lens' AddOrderNotesRequest [MarketplaceNote]
data DeliveryControlFrequencyCap

-- | Creates a value of <a>DeliveryControlFrequencyCap</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcfcMaxImpressions</a></li>
--   <li><a>dcfcNumTimeUnits</a></li>
--   <li><a>dcfcTimeUnitType</a></li>
--   </ul>
deliveryControlFrequencyCap :: DeliveryControlFrequencyCap
dcfcMaxImpressions :: Lens' DeliveryControlFrequencyCap (Maybe Int32)
dcfcNumTimeUnits :: Lens' DeliveryControlFrequencyCap (Maybe Int32)
dcfcTimeUnitType :: Lens' DeliveryControlFrequencyCap (Maybe Text)
data MarketplaceDealParty

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

-- | The buyer/seller associated with the deal. One of buyer/seller is
--   specified for a deal party.
mdpSeller :: Lens' MarketplaceDealParty (Maybe Seller)

-- | The buyer/seller associated with the deal. One of buyer/seller is
--   specified for a deal-party.
mdpBuyer :: Lens' MarketplaceDealParty (Maybe Buyer)
data GetOrderNotesResponse

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

-- | The list of matching notes. The notes for a proposal are ordered from
--   oldest to newest. If the notes span multiple proposals, they will be
--   grouped by proposal, with the notes for the most recently modified
--   proposal appearing first.
gonrNotes :: Lens' GetOrderNotesResponse [MarketplaceNote]
data GetOrdersResponse

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

-- | The list of matching proposals.
gorProposals :: Lens' GetOrdersResponse [Proposal]
data CreativeServingRestrictionsItemDisApprovalReasonsItem

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

-- | The categorized reason for disapproval.
csridariReason :: Lens' CreativeServingRestrictionsItemDisApprovalReasonsItem (Maybe Text)

-- | Additional details about the reason for disapproval.
csridariDetails :: Lens' CreativeServingRestrictionsItemDisApprovalReasonsItem [Text]

-- | An account feed lists Ad Exchange buyer accounts that the user has
--   access to. Each entry in the feed corresponds to a single buyer
--   account.
--   
--   <i>See:</i> <a>accountsList</a> smart constructor.
data AccountsList

-- | 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>alKind</a></li>
--   <li><a>alItems</a></li>
--   </ul>
accountsList :: AccountsList

-- | Resource type.
alKind :: Lens' AccountsList Text

-- | A list of accounts.
alItems :: Lens' AccountsList [Account]

-- | This message carries publisher provided breakdown. E.g.
--   {dimension_type: 'COUNTRY', [{dimension_value: {id: 1, name: 'US'}},
--   {dimension_value: {id: 2, name: 'UK'}}]}
--   
--   <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>dDimensionValues</a></li>
--   <li><a>dDimensionType</a></li>
--   </ul>
dimension :: Dimension
dDimensionValues :: Lens' Dimension [DimensionDimensionValue]
dDimensionType :: Lens' Dimension (Maybe Text)
data CreateOrdersRequest

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

-- | The list of proposals to create.
cProposals :: Lens' CreateOrdersRequest [Proposal]

-- | Web property id of the seller creating these orders
cWebPropertyCode :: Lens' CreateOrdersRequest (Maybe Text)
data CreativeCorrectionsItem

-- | Creates a value of <a>CreativeCorrectionsItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cciContexts</a></li>
--   <li><a>cciReason</a></li>
--   <li><a>cciDetails</a></li>
--   </ul>
creativeCorrectionsItem :: CreativeCorrectionsItem

-- | All known serving contexts containing serving status information.
cciContexts :: Lens' CreativeCorrectionsItem [CreativeCorrectionsItemContextsItem]

-- | The type of correction that was applied to the creative.
cciReason :: Lens' CreativeCorrectionsItem (Maybe Text)

-- | Additional details about the correction.
cciDetails :: Lens' CreativeCorrectionsItem [Text]
data DealTermsRubiconNonGuaranteedTerms

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

-- | Optional price for Rubicon priority access in the auction.
dtrngtPriorityPrice :: Lens' DealTermsRubiconNonGuaranteedTerms (Maybe Price)

-- | Optional price for Rubicon standard access in the auction.
dtrngtStandardPrice :: Lens' DealTermsRubiconNonGuaranteedTerms (Maybe Price)
data DealServingMetadata

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

-- | Tracks which parties (if any) have paused a deal. (readonly, except
--   via PauseResumeOrderDeals action)
dsmDealPauseStatus :: Lens' DealServingMetadata (Maybe DealServingMetadataDealPauseStatus)
data AddOrderDealsResponse

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

-- | List of deals added (in the same proposal as passed in the request)
aodrDeals :: Lens' AddOrderDealsResponse [MarketplaceDeal]

-- | The updated revision number for the proposal.
aodrProposalRevisionNumber :: Lens' AddOrderDealsResponse (Maybe Int64)
data DeliveryControl

-- | Creates a value of <a>DeliveryControl</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcCreativeBlockingLevel</a></li>
--   <li><a>dcFrequencyCaps</a></li>
--   <li><a>dcDeliveryRateType</a></li>
--   </ul>
deliveryControl :: DeliveryControl
dcCreativeBlockingLevel :: Lens' DeliveryControl (Maybe Text)
dcFrequencyCaps :: Lens' DeliveryControl [DeliveryControlFrequencyCap]
dcDeliveryRateType :: Lens' DeliveryControl (Maybe Text)

-- | Used to specify pricing rules for buyers/advertisers. Each
--   PricePerBuyer in an product can become [0,1] deals. To check if there
--   is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we
--   look for the most specific matching rule - we first look for a rule
--   matching the buyer and advertiser, next a rule with the buyer but an
--   empty advertiser list, and otherwise look for a matching rule where no
--   buyer is set.
--   
--   <i>See:</i> <a>pricePerBuyer</a> smart constructor.
data PricePerBuyer

-- | Creates a value of <a>PricePerBuyer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppbPrice</a></li>
--   <li><a>ppbAuctionTier</a></li>
--   <li><a>ppbBuyer</a></li>
--   </ul>
pricePerBuyer :: PricePerBuyer

-- | The specified price
ppbPrice :: Lens' PricePerBuyer (Maybe Price)

-- | Optional access type for this buyer.
ppbAuctionTier :: Lens' PricePerBuyer (Maybe Text)

-- | The buyer who will pay this price. If unset, all buyers can pay this
--   price (if the advertisers match, and there's no more specific rule
--   matching the buyer).
ppbBuyer :: Lens' PricePerBuyer (Maybe Buyer)

-- | A creative and its classification data.
--   
--   <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>cAttribute</a></li>
--   <li><a>cNATiveAd</a></li>
--   <li><a>cHeight</a></li>
--   <li><a>cBuyerCreativeId</a></li>
--   <li><a>cAdvertiserName</a></li>
--   <li><a>cAdChoicesDestinationURL</a></li>
--   <li><a>cAgencyId</a></li>
--   <li><a>cCorrections</a></li>
--   <li><a>cProductCategories</a></li>
--   <li><a>cKind</a></li>
--   <li><a>cHTMLSnippet</a></li>
--   <li><a>cAdvertiserId</a></li>
--   <li><a>cRestrictedCategories</a></li>
--   <li><a>cDealsStatus</a></li>
--   <li><a>cWidth</a></li>
--   <li><a>cClickThroughURL</a></li>
--   <li><a>cLanguages</a></li>
--   <li><a>cVendorType</a></li>
--   <li><a>cAccountId</a></li>
--   <li><a>cImpressionTrackingURL</a></li>
--   <li><a>cFilteringReasons</a></li>
--   <li><a>cVersion</a></li>
--   <li><a>cSensitiveCategories</a></li>
--   <li><a>cVideoURL</a></li>
--   <li><a>cAPIUploadTimestamp</a></li>
--   <li><a>cServingRestrictions</a></li>
--   <li><a>cDetectedDomains</a></li>
--   <li><a>cOpenAuctionStatus</a></li>
--   </ul>
creative :: Creative

-- | All attributes for the ads that may be shown from this snippet.
cAttribute :: Lens' Creative [Int32]

-- | If nativeAd is set, HTMLSnippet and the videoURL outside of nativeAd
--   should not be set. (The videoURL inside nativeAd can be set.)
cNATiveAd :: Lens' Creative (Maybe CreativeNATiveAd)

-- | Ad height.
cHeight :: Lens' Creative (Maybe Int32)

-- | A buyer-specific id identifying the creative in this ad.
cBuyerCreativeId :: Lens' Creative (Maybe Text)

-- | The name of the company being advertised in the creative.
cAdvertiserName :: Lens' Creative (Maybe Text)

-- | The link to the Ad Preferences page. This is only supported for native
--   ads.
cAdChoicesDestinationURL :: Lens' Creative (Maybe Text)

-- | The agency id for this creative.
cAgencyId :: Lens' Creative (Maybe Int64)

-- | Shows any corrections that were applied to this creative. Read-only.
--   This field should not be set in requests.
cCorrections :: Lens' Creative [CreativeCorrectionsItem]

-- | Detected product categories, if any. Read-only. This field should not
--   be set in requests.
cProductCategories :: Lens' Creative [Int32]

-- | Resource type.
cKind :: Lens' Creative Text

-- | The HTML snippet that displays the ad when inserted in the web page.
--   If set, videoURL should not be set.
cHTMLSnippet :: Lens' Creative (Maybe Text)

-- | Detected advertiser id, if any. Read-only. This field should not be
--   set in requests.
cAdvertiserId :: Lens' Creative [Int64]

-- | All restricted categories for the ads that may be shown from this
--   snippet.
cRestrictedCategories :: Lens' Creative [Int32]

-- | Top-level deals status. Read-only. This field should not be set in
--   requests. If disapproved, an entry for auctionType=DIRECT_DEALS (or
--   ALL) in servingRestrictions will also exist. Note that this may be
--   nuanced with other contextual restrictions, in which case it may be
--   preferable to read from servingRestrictions directly.
cDealsStatus :: Lens' Creative (Maybe Text)

-- | Ad width.
cWidth :: Lens' Creative (Maybe Int32)

-- | The set of destination urls for the snippet.
cClickThroughURL :: Lens' Creative [Text]

-- | Detected languages for this creative. Read-only. This field should not
--   be set in requests.
cLanguages :: Lens' Creative [Text]

-- | All vendor types for the ads that may be shown from this snippet.
cVendorType :: Lens' Creative [Int32]

-- | Account id.
cAccountId :: Lens' Creative (Maybe Int32)

-- | The set of urls to be called to record an impression.
cImpressionTrackingURL :: Lens' Creative [Text]

-- | The filtering reasons for the creative. Read-only. This field should
--   not be set in requests.
cFilteringReasons :: Lens' Creative (Maybe CreativeFilteringReasons)

-- | The version for this creative. Read-only. This field should not be set
--   in requests.
cVersion :: Lens' Creative (Maybe Int32)

-- | Detected sensitive categories, if any. Read-only. This field should
--   not be set in requests.
cSensitiveCategories :: Lens' Creative [Int32]

-- | The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd
--   should not be set. Note, this is different from
--   resource.native_ad.video_url above.
cVideoURL :: Lens' Creative (Maybe Text)

-- | The last upload timestamp of this creative if it was uploaded via API.
--   Read-only. The value of this field is generated, and will be ignored
--   for uploads. (formatted RFC 3339 timestamp).
cAPIUploadTimestamp :: Lens' Creative (Maybe UTCTime)

-- | The granular status of this ad in specific contexts. A context here
--   relates to where something ultimately serves (for example, a physical
--   location, a platform, an HTTPS vs HTTP request, or the type of
--   auction). Read-only. This field should not be set in requests.
cServingRestrictions :: Lens' Creative [CreativeServingRestrictionsItem]

-- | Detected domains for this creative. Read-only. This field should not
--   be set in requests.
cDetectedDomains :: Lens' Creative [Text]

-- | Top-level open auction status. Read-only. This field should not be set
--   in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or
--   ALL) in servingRestrictions will also exist. Note that this may be
--   nuanced with other contextual restrictions, in which case it may be
--   preferable to read from ServingRestrictions directly.
cOpenAuctionStatus :: Lens' Creative (Maybe Text)
data TargetingValueDayPartTargetingDayPart

-- | Creates a value of <a>TargetingValueDayPartTargetingDayPart</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tvdptdpEndHour</a></li>
--   <li><a>tvdptdpStartHour</a></li>
--   <li><a>tvdptdpStartMinute</a></li>
--   <li><a>tvdptdpDayOfWeek</a></li>
--   <li><a>tvdptdpEndMinute</a></li>
--   </ul>
targetingValueDayPartTargetingDayPart :: TargetingValueDayPartTargetingDayPart
tvdptdpEndHour :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Int32)
tvdptdpStartHour :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Int32)
tvdptdpStartMinute :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Int32)
tvdptdpDayOfWeek :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Text)
tvdptdpEndMinute :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Int32)

-- | Value of the dimension.
--   
--   <i>See:</i> <a>dimensionDimensionValue</a> smart constructor.
data DimensionDimensionValue

-- | Creates a value of <a>DimensionDimensionValue</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddvName</a></li>
--   <li><a>ddvId</a></li>
--   <li><a>ddvPercentage</a></li>
--   </ul>
dimensionDimensionValue :: DimensionDimensionValue

-- | Name of the dimension mainly for debugging purposes, except for the
--   case of CREATIVE_SIZE. For CREATIVE_SIZE, strings are used instead of
--   ids.
ddvName :: Lens' DimensionDimensionValue (Maybe Text)

-- | Id of the dimension.
ddvId :: Lens' DimensionDimensionValue (Maybe Int32)

-- | Percent of total impressions for a dimension type. e.g.
--   {dimension_type: 'GENDER', [{dimension_value: {id: 1, name: 'MALE',
--   percentage: 60}}]} Gender MALE is 60% of all impressions which have
--   gender.
ddvPercentage :: Lens' DimensionDimensionValue (Maybe Int32)
data PretargetingConfigList

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

-- | Resource type.
pclKind :: Lens' PretargetingConfigList Text

-- | A list of pretargeting configs
pclItems :: Lens' PretargetingConfigList [PretargetingConfig]
data DealTermsNonGuaranteedFixedPriceTerms

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

-- | Fixed price for the specified buyer.
dtngfptFixedPrices :: Lens' DealTermsNonGuaranteedFixedPriceTerms [PricePerBuyer]

-- | The configuration data for an Ad Exchange performance report list.
--   
--   <i>See:</i> <a>performanceReport</a> smart constructor.
data PerformanceReport

-- | Creates a value of <a>PerformanceReport</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prFilteredBidRate</a></li>
--   <li><a>prKind</a></li>
--   <li><a>prLatency95thPercentile</a></li>
--   <li><a>prCookieMatcherStatusRate</a></li>
--   <li><a>prHostedMatchStatusRate</a></li>
--   <li><a>prUnsuccessfulRequestRate</a></li>
--   <li><a>prBidRequestRate</a></li>
--   <li><a>prQuotaThrottledLimit</a></li>
--   <li><a>prQuotaConfiguredLimit</a></li>
--   <li><a>prSuccessfulRequestRate</a></li>
--   <li><a>prLatency85thPercentile</a></li>
--   <li><a>prCalloutStatusRate</a></li>
--   <li><a>prLatency50thPercentile</a></li>
--   <li><a>prBidRate</a></li>
--   <li><a>prCreativeStatusRate</a></li>
--   <li><a>prNoQuotaInRegion</a></li>
--   <li><a>prRegion</a></li>
--   <li><a>prInventoryMatchRate</a></li>
--   <li><a>prPixelMatchResponses</a></li>
--   <li><a>prTimestamp</a></li>
--   <li><a>prPixelMatchRequests</a></li>
--   <li><a>prOutOfQuota</a></li>
--   </ul>
performanceReport :: PerformanceReport

-- | The number of bid responses that were filtered due to a policy
--   violation or other errors.
prFilteredBidRate :: Lens' PerformanceReport (Maybe Double)

-- | Resource type.
prKind :: Lens' PerformanceReport Text

-- | The 95th percentile round trip latency(ms) as perceived from Google
--   servers for the duration period covered by the report.
prLatency95thPercentile :: Lens' PerformanceReport (Maybe Double)

-- | Average QPS for cookie matcher operations.
prCookieMatcherStatusRate :: Lens' PerformanceReport [JSONValue]

-- | Average QPS for hosted match operations.
prHostedMatchStatusRate :: Lens' PerformanceReport [JSONValue]

-- | The number of bid responses that were unsuccessful due to timeouts,
--   incorrect formatting, etc.
prUnsuccessfulRequestRate :: Lens' PerformanceReport (Maybe Double)

-- | The number of bid requests sent to your bidder.
prBidRequestRate :: Lens' PerformanceReport (Maybe Double)

-- | The throttled quota limits for this account.
prQuotaThrottledLimit :: Lens' PerformanceReport (Maybe Double)

-- | The configured quota limits for this account.
prQuotaConfiguredLimit :: Lens' PerformanceReport (Maybe Double)

-- | The number of properly formed bid responses received by our servers
--   within the deadline.
prSuccessfulRequestRate :: Lens' PerformanceReport (Maybe Double)

-- | The 85th percentile round trip latency(ms) as perceived from Google
--   servers for the duration period covered by the report.
prLatency85thPercentile :: Lens' PerformanceReport (Maybe Double)

-- | Rate of various prefiltering statuses per match. Please refer to the
--   callout-status-codes.txt file for different statuses.
prCalloutStatusRate :: Lens' PerformanceReport [JSONValue]

-- | The 50th percentile round trip latency(ms) as perceived from Google
--   servers for the duration period covered by the report.
prLatency50thPercentile :: Lens' PerformanceReport (Maybe Double)

-- | The number of bid responses with an ad.
prBidRate :: Lens' PerformanceReport (Maybe Double)

-- | Rate of ads with a given status. Please refer to the
--   creative-status-codes.txt file for different statuses.
prCreativeStatusRate :: Lens' PerformanceReport [JSONValue]

-- | Rate of various quota account statuses per quota check.
prNoQuotaInRegion :: Lens' PerformanceReport (Maybe Double)

-- | The trading location of this data.
prRegion :: Lens' PerformanceReport (Maybe Text)

-- | The number of potential queries based on your pretargeting settings.
prInventoryMatchRate :: Lens' PerformanceReport (Maybe Double)

-- | Average QPS for pixel match responses from clients.
prPixelMatchResponses :: Lens' PerformanceReport (Maybe Double)

-- | The unix timestamp of the starting time of this performance data.
prTimestamp :: Lens' PerformanceReport (Maybe Int64)

-- | Average QPS for pixel match requests from clients.
prPixelMatchRequests :: Lens' PerformanceReport (Maybe Double)

-- | Rate of various quota account statuses per quota check.
prOutOfQuota :: Lens' PerformanceReport (Maybe Double)
data PretargetingConfigExcludedPlacementsItem

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

-- | The value of the placement. Interpretation depends on the placement
--   type, e.g. URL for a site placement, channel name for a channel
--   placement, app id for a mobile app placement.
pcepiToken :: Lens' PretargetingConfigExcludedPlacementsItem (Maybe Text)

-- | The type of the placement.
pcepiType :: Lens' PretargetingConfigExcludedPlacementsItem (Maybe Text)
data Seller

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

-- | The unique id for the seller. The seller fills in this field. The
--   seller account id is then available to buyer in the product.
sAccountId :: Lens' Seller (Maybe Text)

-- | Optional sub-account id for the seller.
sSubAccountId :: Lens' Seller (Maybe Text)

-- | Configuration data for an Ad Exchange buyer 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>aMaximumTotalQps</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aCookieMatchingURL</a></li>
--   <li><a>aMaximumActiveCreatives</a></li>
--   <li><a>aCookieMatchingNid</a></li>
--   <li><a>aNumberActiveCreatives</a></li>
--   <li><a>aId</a></li>
--   <li><a>aBidderLocation</a></li>
--   </ul>
account :: Account

-- | The sum of all bidderLocation.maximumQps values cannot exceed this.
--   Please contact your technical account manager if you need to change
--   this.
aMaximumTotalQps :: Lens' Account (Maybe Int32)

-- | Resource type.
aKind :: Lens' Account Text

-- | The base URL used in cookie match requests.
aCookieMatchingURL :: Lens' Account (Maybe Text)

-- | The maximum number of active creatives that an account can have, where
--   a creative is active if it was inserted or bid with in the last 30
--   days. Please contact your technical account manager if you need to
--   change this.
aMaximumActiveCreatives :: Lens' Account (Maybe Int32)

-- | The nid parameter value used in cookie match requests. Please contact
--   your technical account manager if you need to change this.
aCookieMatchingNid :: Lens' Account (Maybe Text)

-- | The number of creatives that this account inserted or bid with in the
--   last 30 days.
aNumberActiveCreatives :: Lens' Account (Maybe Int32)

-- | Account id.
aId :: Lens' Account (Maybe Int32)

-- | Your bidder locations that have distinct URLs.
aBidderLocation :: Lens' Account [AccountBidderLocationItem]
data DeleteOrderDealsRequest

-- | Creates a value of <a>DeleteOrderDealsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dodrUpdateAction</a></li>
--   <li><a>dodrDealIds</a></li>
--   <li><a>dodrProposalRevisionNumber</a></li>
--   </ul>
deleteOrderDealsRequest :: DeleteOrderDealsRequest

-- | Indicates an optional action to take on the proposal
dodrUpdateAction :: Lens' DeleteOrderDealsRequest (Maybe Text)

-- | List of deals to delete for a given proposal
dodrDealIds :: Lens' DeleteOrderDealsRequest [Text]

-- | The last known proposal revision number.
dodrProposalRevisionNumber :: Lens' DeleteOrderDealsRequest (Maybe Int64)

-- | When specified, only creatives having the given open auction status
--   are returned.
data CreativesListOpenAuctionStatusFilter

-- | <tt>approved</tt> Creatives which have been approved for serving on
--   the open auction.
Approved :: CreativesListOpenAuctionStatusFilter

-- | <tt>conditionally_approved</tt> Creatives which have been
--   conditionally approved for serving on the open auction.
ConditionallyApproved :: CreativesListOpenAuctionStatusFilter

-- | <tt>disapproved</tt> Creatives which have been disapproved for serving
--   on the open auction.
DisApproved :: CreativesListOpenAuctionStatusFilter

-- | <tt>not_checked</tt> Creatives whose open auction status is not yet
--   checked.
NotChecked :: CreativesListOpenAuctionStatusFilter
data ContactInformation

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

-- | Email address of the contact.
ciEmail :: Lens' ContactInformation (Maybe Text)

-- | The name of the contact.
ciName :: Lens' ContactInformation (Maybe Text)

-- | A smaller image, for the advertiser logo.
--   
--   <i>See:</i> <a>creativeNATiveAdLogo</a> smart constructor.
data CreativeNATiveAdLogo

-- | Creates a value of <a>CreativeNATiveAdLogo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cnatalHeight</a></li>
--   <li><a>cnatalURL</a></li>
--   <li><a>cnatalWidth</a></li>
--   </ul>
creativeNATiveAdLogo :: CreativeNATiveAdLogo
cnatalHeight :: Lens' CreativeNATiveAdLogo (Maybe Int32)
cnatalURL :: Lens' CreativeNATiveAdLogo (Maybe Text)
cnatalWidth :: Lens' CreativeNATiveAdLogo (Maybe Int32)
data GetOrderDealsResponse

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

-- | List of deals for the proposal
godrDeals :: Lens' GetOrderDealsResponse [MarketplaceDeal]

-- | The configuration data for an Ad Exchange performance report list.
--   
--   <i>See:</i> <a>performanceReportList</a> smart constructor.
data PerformanceReportList

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

-- | Resource type.
prlKind :: Lens' PerformanceReportList Text

-- | A list of performance reports relevant for the account.
prlPerformanceReport :: Lens' PerformanceReportList [PerformanceReport]
data PretargetingConfig

-- | Creates a value of <a>PretargetingConfig</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcPlatforms</a></li>
--   <li><a>pcMobileCarriers</a></li>
--   <li><a>pcVendorTypes</a></li>
--   <li><a>pcExcludedGeoCriteriaIds</a></li>
--   <li><a>pcSupportedCreativeAttributes</a></li>
--   <li><a>pcUserLists</a></li>
--   <li><a>pcKind</a></li>
--   <li><a>pcExcludedPlacements</a></li>
--   <li><a>pcUserIdentifierDataRequired</a></li>
--   <li><a>pcMinimumViewabilityDecile</a></li>
--   <li><a>pcMobileDevices</a></li>
--   <li><a>pcLanguages</a></li>
--   <li><a>pcVerticals</a></li>
--   <li><a>pcVideoPlayerSizes</a></li>
--   <li><a>pcConfigId</a></li>
--   <li><a>pcPlacements</a></li>
--   <li><a>pcExcludedUserLists</a></li>
--   <li><a>pcConfigName</a></li>
--   <li><a>pcGeoCriteriaIds</a></li>
--   <li><a>pcDimensions</a></li>
--   <li><a>pcExcludedVerticals</a></li>
--   <li><a>pcCreativeType</a></li>
--   <li><a>pcIsActive</a></li>
--   <li><a>pcExcludedContentLabels</a></li>
--   <li><a>pcBillingId</a></li>
--   <li><a>pcMobileOperatingSystemVersions</a></li>
--   </ul>
pretargetingConfig :: PretargetingConfig

-- | Requests matching any of these platforms will match. Possible values
--   are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and
--   PRETARGETING_PLATFORM_TABLET.
pcPlatforms :: Lens' PretargetingConfig [Text]

-- | Requests containing any of these mobile carrier ids will match. Values
--   are from mobile-carriers.csv in the downloadable files section.
pcMobileCarriers :: Lens' PretargetingConfig [Int64]

-- | Requests that allow any of these vendor ids will match. Values are
--   from vendors.txt in the downloadable files section.
pcVendorTypes :: Lens' PretargetingConfig [Int64]

-- | Requests containing any of these geo criteria ids will not match.
pcExcludedGeoCriteriaIds :: Lens' PretargetingConfig [Int64]

-- | Creative attributes should be declared here if all creatives
--   corresponding to this pretargeting configuration have that creative
--   attribute. Values are from pretargetable-creative-attributes.txt in
--   the downloadable files section.
pcSupportedCreativeAttributes :: Lens' PretargetingConfig [Int64]

-- | Requests containing any of these user list ids will match.
pcUserLists :: Lens' PretargetingConfig [Int64]

-- | The kind of the resource, i.e. "adexchangebuyer#pretargetingConfig".
pcKind :: Lens' PretargetingConfig Text

-- | Requests containing any of these placements will not match.
pcExcludedPlacements :: Lens' PretargetingConfig [PretargetingConfigExcludedPlacementsItem]

-- | Requests containing the specified type of user data will match.
--   Possible values are HOSTED_MATCH_DATA, which means the request is
--   cookie-targetable and has a match in the buyer's hosted match table,
--   and COOKIE_OR_IDFA, which means the request has either a targetable
--   cookie or an iOS IDFA.
pcUserIdentifierDataRequired :: Lens' PretargetingConfig [Text]

-- | Requests where the predicted viewability is below the specified decile
--   will not match. E.g. if the buyer sets this value to 5, requests from
--   slots where the predicted viewability is below 50% will not match. If
--   the predicted viewability is unknown this field will be ignored.
pcMinimumViewabilityDecile :: Lens' PretargetingConfig (Maybe Int32)

-- | Requests containing any of these mobile device ids will match. Values
--   are from mobile-devices.csv in the downloadable files section.
pcMobileDevices :: Lens' PretargetingConfig [Int64]

-- | Request containing any of these language codes will match.
pcLanguages :: Lens' PretargetingConfig [Text]

-- | Requests containing any of these vertical ids will match.
pcVerticals :: Lens' PretargetingConfig [Int64]

-- | Video requests satisfying any of these player size constraints will
--   match.
pcVideoPlayerSizes :: Lens' PretargetingConfig [PretargetingConfigVideoPlayerSizesItem]

-- | The config id; generated automatically. Leave this field blank for
--   insert requests.
pcConfigId :: Lens' PretargetingConfig (Maybe Int64)

-- | Requests containing any of these placements will match.
pcPlacements :: Lens' PretargetingConfig [PretargetingConfigPlacementsItem]

-- | Requests containing any of these users list ids will not match.
pcExcludedUserLists :: Lens' PretargetingConfig [Int64]

-- | The name of the config. Must be unique. Required for all requests.
pcConfigName :: Lens' PretargetingConfig (Maybe Text)

-- | Requests containing any of these geo criteria ids will match.
pcGeoCriteriaIds :: Lens' PretargetingConfig [Int64]

-- | Requests which allow one of these (width, height) pairs will match.
--   All pairs must be supported ad dimensions.
pcDimensions :: Lens' PretargetingConfig [PretargetingConfigDimensionsItem]

-- | Requests containing any of these vertical ids will not match. Values
--   are from the publisher-verticals.txt file in the downloadable files
--   section.
pcExcludedVerticals :: Lens' PretargetingConfig [Int64]

-- | List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or
--   PRETARGETING_CREATIVE_TYPE_VIDEO.
pcCreativeType :: Lens' PretargetingConfig [Text]

-- | Whether this config is active. Required for all requests.
pcIsActive :: Lens' PretargetingConfig (Maybe Bool)

-- | Requests with any of these content labels will not match. Values are
--   from content-labels.txt in the downloadable files section.
pcExcludedContentLabels :: Lens' PretargetingConfig [Int64]

-- | The id for billing purposes, provided for reference. Leave this field
--   blank for insert requests; the id will be generated automatically.
pcBillingId :: Lens' PretargetingConfig (Maybe Int64)

-- | Requests containing any of these mobile operating system version ids
--   will match. Values are from mobile-os.csv in the downloadable files
--   section.
pcMobileOperatingSystemVersions :: Lens' PretargetingConfig [Int64]

-- | The filtering reasons for the creative. Read-only. This field should
--   not be set in requests.
--   
--   <i>See:</i> <a>creativeFilteringReasons</a> smart constructor.
data CreativeFilteringReasons

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

-- | The filtering reasons.
cfrReasons :: Lens' CreativeFilteringReasons [CreativeFilteringReasonsReasonsItem]

-- | The date in ISO 8601 format for the data. The data is collected from
--   00:00:00 to 23:59:59 in PST.
cfrDate :: Lens' CreativeFilteringReasons (Maybe Text)
data TargetingValueCreativeSize

-- | Creates a value of <a>TargetingValueCreativeSize</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tvcsSize</a></li>
--   <li><a>tvcsCompanionSizes</a></li>
--   <li><a>tvcsSkippableAdType</a></li>
--   <li><a>tvcsCreativeSizeType</a></li>
--   </ul>
targetingValueCreativeSize :: TargetingValueCreativeSize

-- | For regular or video creative size type, specifies the size of the
--   creative.
tvcsSize :: Lens' TargetingValueCreativeSize (Maybe TargetingValueSize)

-- | For video size type, the list of companion sizes.
tvcsCompanionSizes :: Lens' TargetingValueCreativeSize [TargetingValueSize]

-- | The skippable ad type for video size.
tvcsSkippableAdType :: Lens' TargetingValueCreativeSize (Maybe Text)

-- | The Creative size type.
tvcsCreativeSizeType :: Lens' TargetingValueCreativeSize (Maybe Text)
data DealTermsGuaranteedFixedPriceTermsBillingInfo

-- | Creates a value of
--   <a>DealTermsGuaranteedFixedPriceTermsBillingInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtgfptbiCurrencyConversionTimeMs</a></li>
--   <li><a>dtgfptbiDfpLineItemId</a></li>
--   <li><a>dtgfptbiPrice</a></li>
--   <li><a>dtgfptbiOriginalContractedQuantity</a></li>
--   </ul>
dealTermsGuaranteedFixedPriceTermsBillingInfo :: DealTermsGuaranteedFixedPriceTermsBillingInfo

-- | The timestamp (in ms since epoch) when the original reservation price
--   for the deal was first converted to DFP currency. This is used to
--   convert the contracted price into advertiser's currency without
--   discrepancy.
dtgfptbiCurrencyConversionTimeMs :: Lens' DealTermsGuaranteedFixedPriceTermsBillingInfo (Maybe Int64)

-- | The DFP line item id associated with this deal. For features like CPD,
--   buyers can retrieve the DFP line item for billing reconciliation.
dtgfptbiDfpLineItemId :: Lens' DealTermsGuaranteedFixedPriceTermsBillingInfo (Maybe Int64)

-- | The original reservation price for the deal, if the currency code is
--   different from the one used in negotiation.
dtgfptbiPrice :: Lens' DealTermsGuaranteedFixedPriceTermsBillingInfo (Maybe Price)

-- | The original contracted quantity (# impressions) for this deal. To
--   ensure delivery, sometimes the publisher will book the deal with a
--   impression buffer, such that guaranteed_looks is greater than the
--   contracted quantity. However clients are billed using the original
--   contracted quantity.
dtgfptbiOriginalContractedQuantity :: Lens' DealTermsGuaranteedFixedPriceTermsBillingInfo (Maybe Int64)
data GetPublisherProFilesByAccountIdResponse

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

-- | Profiles for the requested publisher
gppfbairProFiles :: Lens' GetPublisherProFilesByAccountIdResponse [PublisherProFileAPIProto]

-- | Represents a proposal in the marketplace. A proposal is the unit of
--   negotiation between a seller and a buyer and contains deals which are
--   served. Each field in a proposal can have one of the following
--   setting: (readonly) - It is an error to try and set this field.
--   (buyer-readonly) - Only the seller can set this field.
--   (seller-readonly) - Only the buyer can set this field. (updatable) -
--   The field is updatable at all times by either buyer or the seller.
--   
--   <i>See:</i> <a>proposal</a> smart constructor.
data Proposal

-- | Creates a value of <a>Proposal</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pBuyerPrivateData</a></li>
--   <li><a>pIsSetupComplete</a></li>
--   <li><a>pInventorySource</a></li>
--   <li><a>pBuyerContacts</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pOriginatorRole</a></li>
--   <li><a>pDBmAdvertiserIds</a></li>
--   <li><a>pRevisionNumber</a></li>
--   <li><a>pBilledBuyer</a></li>
--   <li><a>pPrivateAuctionId</a></li>
--   <li><a>pIsRenegotiating</a></li>
--   <li><a>pHasSellerSignedOff</a></li>
--   <li><a>pSeller</a></li>
--   <li><a>pProposalId</a></li>
--   <li><a>pName</a></li>
--   <li><a>pSellerContacts</a></li>
--   <li><a>pLabels</a></li>
--   <li><a>pRevisionTimeMs</a></li>
--   <li><a>pProposalState</a></li>
--   <li><a>pLastUpdaterOrCommentorRole</a></li>
--   <li><a>pNegotiationId</a></li>
--   <li><a>pHasBuyerSignedOff</a></li>
--   <li><a>pBuyer</a></li>
--   </ul>
proposal :: Proposal

-- | Private data for buyer. (hidden from seller).
pBuyerPrivateData :: Lens' Proposal (Maybe PrivateData)

-- | True, if the buyside inventory setup is complete for this proposal.
--   (readonly, except via OrderSetupCompleted action)
pIsSetupComplete :: Lens' Proposal (Maybe Bool)

-- | What exchange will provide this inventory (readonly, except on
--   create).
pInventorySource :: Lens' Proposal (Maybe Text)

-- | Optional contact information of the buyer. (seller-readonly)
pBuyerContacts :: Lens' Proposal [ContactInformation]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#proposal".
pKind :: Lens' Proposal Text

-- | Indicates whether the buyer/seller created the proposal.(readonly)
pOriginatorRole :: Lens' Proposal (Maybe Text)

-- | IDs of DBM advertisers permission to this proposal.
pDBmAdvertiserIds :: Lens' Proposal [Text]

-- | The revision number for the proposal (readonly).
pRevisionNumber :: Lens' Proposal (Maybe Int64)

-- | Reference to the buyer that will get billed for this proposal.
--   (readonly)
pBilledBuyer :: Lens' Proposal (Maybe Buyer)

-- | Optional private auction id if this proposal is a private auction
--   proposal.
pPrivateAuctionId :: Lens' Proposal (Maybe Text)

-- | True if the proposal is being renegotiated (readonly).
pIsRenegotiating :: Lens' Proposal (Maybe Bool)

-- | When an proposal is in an accepted state, indicates whether the buyer
--   has signed off Once both sides have signed off on a deal, the proposal
--   can be finalized by the seller. (buyer-readonly)
pHasSellerSignedOff :: Lens' Proposal (Maybe Bool)

-- | Reference to the seller on the proposal. (readonly, except on create)
pSeller :: Lens' Proposal (Maybe Seller)

-- | The unique id of the proposal. (readonly).
pProposalId :: Lens' Proposal (Maybe Text)

-- | The name for the proposal (updatable)
pName :: Lens' Proposal (Maybe Text)

-- | Optional contact information of the seller (buyer-readonly).
pSellerContacts :: Lens' Proposal [ContactInformation]

-- | List of labels associated with the proposal. (readonly)
pLabels :: Lens' Proposal [MarketplaceLabel]

-- | The time (ms since epoch) when the proposal was last revised
--   (readonly).
pRevisionTimeMs :: Lens' Proposal (Maybe Int64)

-- | The current state of the proposal. (readonly)
pProposalState :: Lens' Proposal (Maybe Text)

-- | The role of the last user that either updated the proposal or left a
--   comment. (readonly)
pLastUpdaterOrCommentorRole :: Lens' Proposal (Maybe Text)

-- | Optional negotiation id if this proposal is a preferred deal proposal.
pNegotiationId :: Lens' Proposal (Maybe Text)

-- | When an proposal is in an accepted state, indicates whether the buyer
--   has signed off. Once both sides have signed off on a deal, the
--   proposal can be finalized by the seller. (seller-readonly)
pHasBuyerSignedOff :: Lens' Proposal (Maybe Bool)

-- | Reference to the buyer on the proposal. (readonly, except on create)
pBuyer :: Lens' Proposal (Maybe Buyer)

-- | A billing info feed lists Billing Info the Ad Exchange buyer account
--   has access to. Each entry in the feed corresponds to a single billing
--   info.
--   
--   <i>See:</i> <a>billingInfoList</a> smart constructor.
data BillingInfoList

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

-- | Resource type.
bilKind :: Lens' BillingInfoList Text

-- | A list of billing info relevant for your account.
bilItems :: Lens' BillingInfoList [BillingInfo]
data AddOrderNotesResponse

-- | Creates a value of <a>AddOrderNotesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aNotes</a></li>
--   </ul>
addOrderNotesResponse :: AddOrderNotesResponse
aNotes :: Lens' AddOrderNotesResponse [MarketplaceNote]
data TargetingValueSize

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

-- | The height of the creative.
tvsHeight :: Lens' TargetingValueSize (Maybe Int32)

-- | The width of the creative.
tvsWidth :: Lens' TargetingValueSize (Maybe Int32)
data UpdatePrivateAuctionProposalRequest

-- | Creates a value of <a>UpdatePrivateAuctionProposalRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upaprExternalDealId</a></li>
--   <li><a>upaprUpdateAction</a></li>
--   <li><a>upaprNote</a></li>
--   <li><a>upaprProposalRevisionNumber</a></li>
--   </ul>
updatePrivateAuctionProposalRequest :: UpdatePrivateAuctionProposalRequest

-- | The externalDealId of the deal to be updated.
upaprExternalDealId :: Lens' UpdatePrivateAuctionProposalRequest (Maybe Text)

-- | The proposed action on the private auction proposal.
upaprUpdateAction :: Lens' UpdatePrivateAuctionProposalRequest (Maybe Text)

-- | Optional note to be added.
upaprNote :: Lens' UpdatePrivateAuctionProposalRequest (Maybe MarketplaceNote)

-- | The current revision number of the proposal to be updated.
upaprProposalRevisionNumber :: Lens' UpdatePrivateAuctionProposalRequest (Maybe Int64)
data PretargetingConfigDimensionsItem

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

-- | Height in pixels.
pcdiHeight :: Lens' PretargetingConfigDimensionsItem (Maybe Int64)

-- | Width in pixels.
pcdiWidth :: Lens' PretargetingConfigDimensionsItem (Maybe Int64)
data CreativeCorrectionsItemContextsItem

-- | Creates a value of <a>CreativeCorrectionsItemContextsItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cciciPlatform</a></li>
--   <li><a>cciciContextType</a></li>
--   <li><a>cciciAuctionType</a></li>
--   <li><a>cciciGeoCriteriaId</a></li>
--   </ul>
creativeCorrectionsItemContextsItem :: CreativeCorrectionsItemContextsItem

-- | Only set when contextType=PLATFORM. Represents the platforms this
--   correction applies to.
cciciPlatform :: Lens' CreativeCorrectionsItemContextsItem [Text]

-- | The type of context (e.g., location, platform, auction type,
--   SSL-ness).
cciciContextType :: Lens' CreativeCorrectionsItemContextsItem (Maybe Text)

-- | Only set when contextType=AUCTION_TYPE. Represents the auction types
--   this correction applies to.
cciciAuctionType :: Lens' CreativeCorrectionsItemContextsItem [Text]

-- | Only set when contextType=LOCATION. Represents the geo criterias this
--   correction applies to.
cciciGeoCriteriaId :: Lens' CreativeCorrectionsItemContextsItem [Int32]

-- | This message carries publisher provided forecasting information.
--   
--   <i>See:</i> <a>publisherProvidedForecast</a> smart constructor.
data PublisherProvidedForecast

-- | Creates a value of <a>PublisherProvidedForecast</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppfWeeklyImpressions</a></li>
--   <li><a>ppfWeeklyUniques</a></li>
--   <li><a>ppfDimensions</a></li>
--   </ul>
publisherProvidedForecast :: PublisherProvidedForecast

-- | Publisher provided weekly impressions.
ppfWeeklyImpressions :: Lens' PublisherProvidedForecast (Maybe Int64)

-- | Publisher provided weekly uniques.
ppfWeeklyUniques :: Lens' PublisherProvidedForecast (Maybe Int64)

-- | Publisher provided dimensions. E.g. geo, sizes etc...
ppfDimensions :: Lens' PublisherProvidedForecast [Dimension]
data TargetingValue

-- | Creates a value of <a>TargetingValue</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tvCreativeSizeValue</a></li>
--   <li><a>tvStringValue</a></li>
--   <li><a>tvLongValue</a></li>
--   <li><a>tvDayPartTargetingValue</a></li>
--   </ul>
targetingValue :: TargetingValue

-- | The creative size value to exclude/include.
tvCreativeSizeValue :: Lens' TargetingValue (Maybe TargetingValueCreativeSize)

-- | The string value to exclude/include.
tvStringValue :: Lens' TargetingValue (Maybe Text)

-- | The long value to exclude/include.
tvLongValue :: Lens' TargetingValue (Maybe Int64)

-- | The daypart targeting to include / exclude. Filled in when the key is
--   GOOG_DAYPART_TARGETING.
tvDayPartTargetingValue :: Lens' TargetingValue (Maybe TargetingValueDayPartTargeting)

-- | The app icon, for app download ads.
--   
--   <i>See:</i> <a>creativeNATiveAdAppIcon</a> smart constructor.
data CreativeNATiveAdAppIcon

-- | Creates a value of <a>CreativeNATiveAdAppIcon</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cnataaiHeight</a></li>
--   <li><a>cnataaiURL</a></li>
--   <li><a>cnataaiWidth</a></li>
--   </ul>
creativeNATiveAdAppIcon :: CreativeNATiveAdAppIcon
cnataaiHeight :: Lens' CreativeNATiveAdAppIcon (Maybe Int32)
cnataaiURL :: Lens' CreativeNATiveAdAppIcon (Maybe Text)
cnataaiWidth :: Lens' CreativeNATiveAdAppIcon (Maybe Int32)
data Price

-- | Creates a value of <a>Price</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pCurrencyCode</a></li>
--   <li><a>pAmountMicros</a></li>
--   <li><a>pPricingType</a></li>
--   <li><a>pExpectedCpmMicros</a></li>
--   </ul>
price :: Price

-- | The currency code for the price.
pCurrencyCode :: Lens' Price (Maybe Text)

-- | The price value in micros.
pAmountMicros :: Lens' Price (Maybe Double)

-- | The pricing type for the deal/product.
pPricingType :: Lens' Price (Maybe Text)

-- | In case of CPD deals, the expected CPM in micros.
pExpectedCpmMicros :: Lens' Price (Maybe Double)
data PretargetingConfigVideoPlayerSizesItem

-- | Creates a value of <a>PretargetingConfigVideoPlayerSizesItem</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcvpsiMinWidth</a></li>
--   <li><a>pcvpsiAspectRatio</a></li>
--   <li><a>pcvpsiMinHeight</a></li>
--   </ul>
pretargetingConfigVideoPlayerSizesItem :: PretargetingConfigVideoPlayerSizesItem

-- | The minimum player width in pixels. Leave this field blank to match
--   any player width.
pcvpsiMinWidth :: Lens' PretargetingConfigVideoPlayerSizesItem (Maybe Int64)

-- | The type of aspect ratio. Leave this field blank to match all aspect
--   ratios.
pcvpsiAspectRatio :: Lens' PretargetingConfigVideoPlayerSizesItem (Maybe Text)

-- | The minimum player height in pixels. Leave this field blank to match
--   any player height.
pcvpsiMinHeight :: Lens' PretargetingConfigVideoPlayerSizesItem (Maybe Int64)
data EditAllOrderDealsRequest

-- | Creates a value of <a>EditAllOrderDealsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eUpdateAction</a></li>
--   <li><a>eDeals</a></li>
--   <li><a>eProposalRevisionNumber</a></li>
--   <li><a>eProposal</a></li>
--   </ul>
editAllOrderDealsRequest :: EditAllOrderDealsRequest

-- | Indicates an optional action to take on the proposal
eUpdateAction :: Lens' EditAllOrderDealsRequest (Maybe Text)

-- | List of deals to edit. Service may perform 3 different operations
--   based on comparison of deals in this list vs deals already persisted
--   in database: 1. Add new deal to proposal If a deal in this list does
--   not exist in the proposal, the service will create a new deal and add
--   it to the proposal. Validation will follow AddOrderDealsRequest. 2.
--   Update existing deal in the proposal If a deal in this list already
--   exist in the proposal, the service will update that existing deal to
--   this new deal in the request. Validation will follow
--   UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need
--   the id) If a existing deal in the proposal is not present in this
--   list, the service will delete that deal from the proposal. Validation
--   will follow DeleteOrderDealsRequest.
eDeals :: Lens' EditAllOrderDealsRequest [MarketplaceDeal]

-- | The last known revision number for the proposal.
eProposalRevisionNumber :: Lens' EditAllOrderDealsRequest (Maybe Int64)

-- | If specified, also updates the proposal in the batch transaction. This
--   is useful when the proposal and the deals need to be updated in one
--   transaction.
eProposal :: Lens' EditAllOrderDealsRequest (Maybe Proposal)

-- | The configuration data for an Ad Exchange billing info.
--   
--   <i>See:</i> <a>billingInfo</a> smart constructor.
data BillingInfo

-- | Creates a value of <a>BillingInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>biKind</a></li>
--   <li><a>biAccountName</a></li>
--   <li><a>biAccountId</a></li>
--   <li><a>biBillingId</a></li>
--   </ul>
billingInfo :: BillingInfo

-- | Resource type.
biKind :: Lens' BillingInfo Text

-- | Account name.
biAccountName :: Lens' BillingInfo (Maybe Text)

-- | Account id.
biAccountId :: Lens' BillingInfo (Maybe Int32)

-- | A list of adgroup IDs associated with this particular account. These
--   IDs may show up as part of a realtime bidding BidRequest, which
--   indicates a bid request for this account.
biBillingId :: Lens' BillingInfo [Text]
data TargetingValueDayPartTargeting

-- | Creates a value of <a>TargetingValueDayPartTargeting</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tvdptTimeZoneType</a></li>
--   <li><a>tvdptDayParts</a></li>
--   </ul>
targetingValueDayPartTargeting :: TargetingValueDayPartTargeting
tvdptTimeZoneType :: Lens' TargetingValueDayPartTargeting (Maybe Text)
tvdptDayParts :: Lens' TargetingValueDayPartTargeting [TargetingValueDayPartTargetingDayPart]
data SharedTargeting

-- | Creates a value of <a>SharedTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>stKey</a></li>
--   <li><a>stExclusions</a></li>
--   <li><a>stInclusions</a></li>
--   </ul>
sharedTargeting :: SharedTargeting

-- | The key representing the shared targeting criterion.
stKey :: Lens' SharedTargeting (Maybe Text)

-- | The list of values to exclude from targeting. Each value is AND'd
--   together.
stExclusions :: Lens' SharedTargeting [TargetingValue]

-- | The list of value to include as part of the targeting. Each value is
--   OR'd together.
stInclusions :: Lens' SharedTargeting [TargetingValue]

-- | A large image.
--   
--   <i>See:</i> <a>creativeNATiveAdImage</a> smart constructor.
data CreativeNATiveAdImage

-- | Creates a value of <a>CreativeNATiveAdImage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cnataiHeight</a></li>
--   <li><a>cnataiURL</a></li>
--   <li><a>cnataiWidth</a></li>
--   </ul>
creativeNATiveAdImage :: CreativeNATiveAdImage
cnataiHeight :: Lens' CreativeNATiveAdImage (Maybe Int32)
cnataiURL :: Lens' CreativeNATiveAdImage (Maybe Text)
cnataiWidth :: Lens' CreativeNATiveAdImage (Maybe Int32)

-- | A product is segment of inventory that a seller wishes to sell. It is
--   associated with certain terms and targeting information which helps
--   buyer know more about the inventory. Each field in a product can have
--   one of the following setting: (readonly) - It is an error to try and
--   set this field. (buyer-readonly) - Only the seller can set this field.
--   (seller-readonly) - Only the buyer can set this field. (updatable) -
--   The field is updatable at all times by either buyer or the seller.
--   
--   <i>See:</i> <a>product</a> smart constructor.
data Product

-- | Creates a value of <a>Product</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>proState</a></li>
--   <li><a>proInventorySource</a></li>
--   <li><a>proWebPropertyCode</a></li>
--   <li><a>proCreationTimeMs</a></li>
--   <li><a>proTerms</a></li>
--   <li><a>proLastUpdateTimeMs</a></li>
--   <li><a>proKind</a></li>
--   <li><a>proRevisionNumber</a></li>
--   <li><a>proPrivateAuctionId</a></li>
--   <li><a>proDeliveryControl</a></li>
--   <li><a>proHasCreatorSignedOff</a></li>
--   <li><a>proFlightStartTimeMs</a></li>
--   <li><a>proSharedTargetings</a></li>
--   <li><a>proSeller</a></li>
--   <li><a>proSyndicationProduct</a></li>
--   <li><a>proFlightEndTimeMs</a></li>
--   <li><a>proName</a></li>
--   <li><a>proCreatorContacts</a></li>
--   <li><a>proMarketplacePublisherProFileId</a></li>
--   <li><a>proPublisherProvidedForecast</a></li>
--   <li><a>proLabels</a></li>
--   <li><a>proPublisherProFileId</a></li>
--   <li><a>proLegacyOfferId</a></li>
--   <li><a>proProductId</a></li>
--   </ul>
product :: Product

-- | The state of the product. (buyer-readonly)
proState :: Lens' Product (Maybe Text)

-- | What exchange will provide this inventory (readonly, except on
--   create).
proInventorySource :: Lens' Product (Maybe Text)

-- | The web property code for the seller. This field is meant to be copied
--   over as is when creating deals.
proWebPropertyCode :: Lens' Product (Maybe Text)

-- | Creation time in ms. since epoch (readonly)
proCreationTimeMs :: Lens' Product (Maybe Int64)

-- | The negotiable terms of the deal (buyer-readonly)
proTerms :: Lens' Product (Maybe DealTerms)

-- | Time of last update in ms. since epoch (readonly)
proLastUpdateTimeMs :: Lens' Product (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#product".
proKind :: Lens' Product Text

-- | The revision number of the product. (readonly)
proRevisionNumber :: Lens' Product (Maybe Int64)

-- | Optional private auction id if this offer is a private auction offer.
proPrivateAuctionId :: Lens' Product (Maybe Text)

-- | The set of fields around delivery control that are interesting for a
--   buyer to see but are non-negotiable. These are set by the publisher.
--   This message is assigned an id of 100 since some day we would want to
--   model this as a protobuf extension.
proDeliveryControl :: Lens' Product (Maybe DeliveryControl)

-- | If the creator has already signed off on the product, then the buyer
--   can finalize the deal by accepting the product as is. When copying to
--   a proposal, if any of the terms are changed, then auto_finalize is
--   automatically set to false.
proHasCreatorSignedOff :: Lens' Product (Maybe Bool)

-- | Inventory availability dates. (times are in ms since epoch) The
--   granularity is generally in the order of seconds. (buyer-readonly)
proFlightStartTimeMs :: Lens' Product (Maybe Int64)

-- | Targeting that is shared between the buyer and the seller. Each
--   targeting criteria has a specified key and for each key there is a
--   list of inclusion value or exclusion values. (buyer-readonly)
proSharedTargetings :: Lens' Product [SharedTargeting]

-- | Information about the seller that created this product (readonly,
--   except on create)
proSeller :: Lens' Product (Maybe Seller)

-- | The syndication product associated with the deal. (readonly, except on
--   create)
proSyndicationProduct :: Lens' Product (Maybe Text)

-- | The proposed end time for the deal (ms since epoch) (buyer-readonly)
proFlightEndTimeMs :: Lens' Product (Maybe Int64)

-- | The name for this product as set by the seller. (buyer-readonly)
proName :: Lens' Product (Maybe Text)

-- | Optional contact information for the creator of this product.
--   (buyer-readonly)
proCreatorContacts :: Lens' Product [ContactInformation]

-- | Marketplace publisher profile Id. This Id differs from the regular
--   publisher_profile_id in that 1. This is a new id, the old Id will be
--   deprecated in 2017. 2. This id uniquely identifies a publisher profile
--   by itself.
proMarketplacePublisherProFileId :: Lens' Product (Maybe Text)

-- | Publisher self-provided forecast information.
proPublisherProvidedForecast :: Lens' Product (Maybe PublisherProvidedForecast)

-- | Optional List of labels for the product (optional, buyer-readonly).
proLabels :: Lens' Product [MarketplaceLabel]

-- | Id of the publisher profile for a given seller. A (seller.account_id,
--   publisher_profile_id) pair uniquely identifies a publisher profile.
--   Buyers can call the PublisherProfiles::List endpoint to get a list of
--   publisher profiles for a given seller.
proPublisherProFileId :: Lens' Product (Maybe Text)

-- | Optional legacy offer id if this offer is a preferred deal offer.
proLegacyOfferId :: Lens' Product (Maybe Text)

-- | The unique id for the product (readonly)
proProductId :: Lens' Product (Maybe Text)
data CreativeServingRestrictionsItem

-- | Creates a value of <a>CreativeServingRestrictionsItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csriContexts</a></li>
--   <li><a>csriReason</a></li>
--   <li><a>csriDisApprovalReasons</a></li>
--   </ul>
creativeServingRestrictionsItem :: CreativeServingRestrictionsItem

-- | All known contexts/restrictions.
csriContexts :: Lens' CreativeServingRestrictionsItem [CreativeServingRestrictionsItemContextsItem]

-- | Why the creative is ineligible to serve in this context (e.g., it has
--   been explicitly disapproved or is pending review).
csriReason :: Lens' CreativeServingRestrictionsItem (Maybe Text)

-- | The reasons for disapproval within this restriction, if any. Note that
--   not all disapproval reasons may be categorized, so it is possible for
--   the creative to have a status of DISAPPROVED or CONDITIONALLY_APPROVED
--   with an empty list for disapproval_reasons. In this case, please reach
--   out to your TAM to help debug the issue.
csriDisApprovalReasons :: Lens' CreativeServingRestrictionsItem [CreativeServingRestrictionsItemDisApprovalReasonsItem]
data DeleteOrderDealsResponse

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

-- | List of deals deleted (in the same proposal as passed in the request)
dDeals :: Lens' DeleteOrderDealsResponse [MarketplaceDeal]

-- | The updated revision number for the proposal.
dProposalRevisionNumber :: Lens' DeleteOrderDealsResponse (Maybe Int64)
data PretargetingConfigPlacementsItem

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

-- | The value of the placement. Interpretation depends on the placement
--   type, e.g. URL for a site placement, channel name for a channel
--   placement, app id for a mobile app placement.
pcpiToken :: Lens' PretargetingConfigPlacementsItem (Maybe Text)

-- | The type of the placement.
pcpiType :: Lens' PretargetingConfigPlacementsItem (Maybe Text)
data PublisherProFileAPIProto

-- | Creates a value of <a>PublisherProFileAPIProto</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppfapAudience</a></li>
--   <li><a>ppfapState</a></li>
--   <li><a>ppfapMediaKitLink</a></li>
--   <li><a>ppfapDirectContact</a></li>
--   <li><a>ppfapSamplePageLink</a></li>
--   <li><a>ppfapLogoURL</a></li>
--   <li><a>ppfapKind</a></li>
--   <li><a>ppfapExchange</a></li>
--   <li><a>ppfapOverview</a></li>
--   <li><a>ppfapGooglePlusLink</a></li>
--   <li><a>ppfapProFileId</a></li>
--   <li><a>ppfapIsParent</a></li>
--   <li><a>ppfapSeller</a></li>
--   <li><a>ppfapAccountId</a></li>
--   <li><a>ppfapName</a></li>
--   <li><a>ppfapBuyerPitchStatement</a></li>
--   <li><a>ppfapPublisherProvidedForecast</a></li>
--   <li><a>ppfapIsPublished</a></li>
--   <li><a>ppfapPublisherDomains</a></li>
--   <li><a>ppfapPublisherProFileId</a></li>
--   <li><a>ppfapRateCardInfoLink</a></li>
--   <li><a>ppfapTopHeadlines</a></li>
--   <li><a>ppfapProgrammaticContact</a></li>
--   </ul>
publisherProFileAPIProto :: PublisherProFileAPIProto

-- | Publisher provided info on its audience.
ppfapAudience :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | State of the publisher profile.
ppfapState :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | The url for additional marketing and sales materials.
ppfapMediaKitLink :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Direct contact for the publisher profile.
ppfapDirectContact :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Link for a sample content page.
ppfapSamplePageLink :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | The url to the logo for the publisher.
ppfapLogoURL :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#publisherProfileApiProto".
ppfapKind :: Lens' PublisherProFileAPIProto Text

-- | Exchange where this publisher profile is from. E.g. AdX, Rubicon
--   etc...
ppfapExchange :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Publisher provided overview.
ppfapOverview :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Link to publisher's Google+ page.
ppfapGooglePlusLink :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | The pair of (seller.account_id, profile_id) uniquely identifies a
--   publisher profile for a given publisher.
ppfapProFileId :: Lens' PublisherProFileAPIProto (Maybe Int32)

-- | True, if this is the parent profile, which represents all domains
--   owned by the publisher.
ppfapIsParent :: Lens' PublisherProFileAPIProto (Maybe Bool)

-- | Seller of the publisher profile.
ppfapSeller :: Lens' PublisherProFileAPIProto (Maybe Seller)

-- | The account id of the seller.
ppfapAccountId :: Lens' PublisherProFileAPIProto (Maybe Text)
ppfapName :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | A pitch statement for the buyer
ppfapBuyerPitchStatement :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Publisher provided forecasting information.
ppfapPublisherProvidedForecast :: Lens' PublisherProFileAPIProto (Maybe PublisherProvidedForecast)

-- | True, if this profile is published. Deprecated for state.
ppfapIsPublished :: Lens' PublisherProFileAPIProto (Maybe Bool)

-- | The list of domains represented in this publisher profile. Empty if
--   this is a parent profile.
ppfapPublisherDomains :: Lens' PublisherProFileAPIProto [Text]

-- | Unique Id for publisher profile.
ppfapPublisherProFileId :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Link to publisher rate card
ppfapRateCardInfoLink :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Publisher provided key metrics and rankings.
ppfapTopHeadlines :: Lens' PublisherProFileAPIProto [Text]

-- | Programmatic contact for the publisher profile.
ppfapProgrammaticContact :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | A proposal can contain multiple deals. A deal contains the terms and
--   targeting information that is used for serving.
--   
--   <i>See:</i> <a>marketplaceDeal</a> smart constructor.
data MarketplaceDeal

-- | Creates a value of <a>MarketplaceDeal</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdExternalDealId</a></li>
--   <li><a>mdBuyerPrivateData</a></li>
--   <li><a>mdWebPropertyCode</a></li>
--   <li><a>mdCreationTimeMs</a></li>
--   <li><a>mdTerms</a></li>
--   <li><a>mdLastUpdateTimeMs</a></li>
--   <li><a>mdKind</a></li>
--   <li><a>mdDeliveryControl</a></li>
--   <li><a>mdDealServingMetadata</a></li>
--   <li><a>mdFlightStartTimeMs</a></li>
--   <li><a>mdSharedTargetings</a></li>
--   <li><a>mdIsRfpTemplate</a></li>
--   <li><a>mdProposalId</a></li>
--   <li><a>mdDealId</a></li>
--   <li><a>mdInventoryDescription</a></li>
--   <li><a>mdSyndicationProduct</a></li>
--   <li><a>mdFlightEndTimeMs</a></li>
--   <li><a>mdName</a></li>
--   <li><a>mdSellerContacts</a></li>
--   <li><a>mdProgrammaticCreativeSource</a></li>
--   <li><a>mdCreativePreApprovalPolicy</a></li>
--   <li><a>mdProductRevisionNumber</a></li>
--   <li><a>mdProductId</a></li>
--   <li><a>mdCreativeSafeFrameCompatibility</a></li>
--   </ul>
marketplaceDeal :: MarketplaceDeal

-- | The external deal id assigned to this deal once the deal is finalized.
--   This is the deal-id that shows up in serving/reporting etc. (readonly)
mdExternalDealId :: Lens' MarketplaceDeal (Maybe Text)

-- | Buyer private data (hidden from seller).
mdBuyerPrivateData :: Lens' MarketplaceDeal (Maybe PrivateData)
mdWebPropertyCode :: Lens' MarketplaceDeal (Maybe Text)

-- | The time (ms since epoch) of the deal creation. (readonly)
mdCreationTimeMs :: Lens' MarketplaceDeal (Maybe Int64)

-- | The negotiable terms of the deal. (updatable)
mdTerms :: Lens' MarketplaceDeal (Maybe DealTerms)

-- | The time (ms since epoch) when the deal was last updated. (readonly)
mdLastUpdateTimeMs :: Lens' MarketplaceDeal (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#marketplaceDeal".
mdKind :: Lens' MarketplaceDeal Text

-- | The set of fields around delivery control that are interesting for a
--   buyer to see but are non-negotiable. These are set by the publisher.
--   This message is assigned an id of 100 since some day we would want to
--   model this as a protobuf extension.
mdDeliveryControl :: Lens' MarketplaceDeal (Maybe DeliveryControl)

-- | Metadata about the serving status of this deal (readonly, writes via
--   custom actions)
mdDealServingMetadata :: Lens' MarketplaceDeal (Maybe DealServingMetadata)

-- | Proposed flight start time of the deal (ms since epoch) This will
--   generally be stored in a granularity of a second. (updatable)
mdFlightStartTimeMs :: Lens' MarketplaceDeal (Maybe Int64)

-- | The shared targeting visible to buyers and sellers. Each shared
--   targeting entity is AND'd together. (updatable)
mdSharedTargetings :: Lens' MarketplaceDeal [SharedTargeting]

-- | Indicates whether the current deal is a RFP template. RFP template is
--   created by buyer and not based on seller created products.
mdIsRfpTemplate :: Lens' MarketplaceDeal (Maybe Bool)
mdProposalId :: Lens' MarketplaceDeal (Maybe Text)

-- | A unique deal-id for the deal (readonly).
mdDealId :: Lens' MarketplaceDeal (Maybe Text)

-- | Description for the deal terms. (buyer-readonly)
mdInventoryDescription :: Lens' MarketplaceDeal (Maybe Text)

-- | The syndication product associated with the deal. (readonly, except on
--   create)
mdSyndicationProduct :: Lens' MarketplaceDeal (Maybe Text)

-- | Proposed flight end time of the deal (ms since epoch) This will
--   generally be stored in a granularity of a second. (updatable)
mdFlightEndTimeMs :: Lens' MarketplaceDeal (Maybe Int64)

-- | The name of the deal. (updatable)
mdName :: Lens' MarketplaceDeal (Maybe Text)

-- | Optional Seller contact information for the deal (buyer-readonly)
mdSellerContacts :: Lens' MarketplaceDeal [ContactInformation]

-- | Specifies the creative source for programmatic deals, PUBLISHER means
--   creative is provided by seller and ADVERTISR means creative is
--   provided by buyer. (buyer-readonly)
mdProgrammaticCreativeSource :: Lens' MarketplaceDeal (Maybe Text)

-- | Specifies the creative pre-approval policy (buyer-readonly)
mdCreativePreApprovalPolicy :: Lens' MarketplaceDeal (Maybe Text)

-- | The revision number of the product that the deal was created from
--   (readonly, except on create)
mdProductRevisionNumber :: Lens' MarketplaceDeal (Maybe Int64)

-- | The product-id from which this deal was created. (readonly, except on
--   create)
mdProductId :: Lens' MarketplaceDeal (Maybe Text)

-- | Specifies whether the creative is safeFrame compatible
--   (buyer-readonly)
mdCreativeSafeFrameCompatibility :: Lens' MarketplaceDeal (Maybe Text)
data GetOffersResponse

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

-- | The returned list of products.
gorProducts :: Lens' GetOffersResponse [Product]
data DealTermsNonGuaranteedAuctionTerms

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

-- | Reserve price for the specified buyer.
dtngatReservePricePerBuyers :: Lens' DealTermsNonGuaranteedAuctionTerms [PricePerBuyer]

-- | True if open auction buyers are allowed to compete with invited buyers
--   in this private auction (buyer-readonly).
dtngatAutoOptimizePrivateAuction :: Lens' DealTermsNonGuaranteedAuctionTerms (Maybe Bool)
data CreativeFilteringReasonsReasonsItem

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

-- | The filtering status code. Please refer to the
--   creative-status-codes.txt file for different statuses.
cfrriFilteringStatus :: Lens' CreativeFilteringReasonsReasonsItem (Maybe Int32)

-- | The number of times the creative was filtered for the status. The
--   count is aggregated across all publishers on the exchange.
cfrriFilteringCount :: Lens' CreativeFilteringReasonsReasonsItem (Maybe Int64)

-- | The proposed action to take on the proposal. This field is required
--   and it must be set when updating a proposal.
data ProposalsPatchUpdateAction

-- | <pre>
--   accept
--   </pre>
Accept :: ProposalsPatchUpdateAction

-- | <pre>
--   cancel
--   </pre>
Cancel :: ProposalsPatchUpdateAction

-- | <pre>
--   propose
--   </pre>
Propose :: ProposalsPatchUpdateAction

-- | <pre>
--   proposeAndAccept
--   </pre>
ProposeAndAccept :: ProposalsPatchUpdateAction

-- | <pre>
--   unknownAction
--   </pre>
UnknownAction :: ProposalsPatchUpdateAction

-- | <pre>
--   updateNonTerms
--   </pre>
UpdateNonTerms :: ProposalsPatchUpdateAction

-- | When specified, only creatives having the given deals status are
--   returned.
data CreativesListDealsStatusFilter

-- | <tt>approved</tt> Creatives which have been approved for serving on
--   deals.
CLDSFApproved :: CreativesListDealsStatusFilter

-- | <tt>conditionally_approved</tt> Creatives which have been
--   conditionally approved for serving on deals.
CLDSFConditionallyApproved :: CreativesListDealsStatusFilter

-- | <tt>disapproved</tt> Creatives which have been disapproved for serving
--   on deals.
CLDSFDisApproved :: CreativesListDealsStatusFilter

-- | <tt>not_checked</tt> Creatives whose deals status is not yet checked.
CLDSFNotChecked :: CreativesListDealsStatusFilter
data DealTerms

-- | Creates a value of <a>DealTerms</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtEstimatedGrossSpend</a></li>
--   <li><a>dtNonGuaranteedFixedPriceTerms</a></li>
--   <li><a>dtNonGuaranteedAuctionTerms</a></li>
--   <li><a>dtRubiconNonGuaranteedTerms</a></li>
--   <li><a>dtBrandingType</a></li>
--   <li><a>dtCrossListedExternalDealIdType</a></li>
--   <li><a>dtEstimatedImpressionsPerDay</a></li>
--   <li><a>dtSellerTimeZone</a></li>
--   <li><a>dtGuaranteedFixedPriceTerms</a></li>
--   <li><a>dtDescription</a></li>
--   </ul>
dealTerms :: DealTerms

-- | Non-binding estimate of the estimated gross spend for this deal Can be
--   set by buyer or seller.
dtEstimatedGrossSpend :: Lens' DealTerms (Maybe Price)

-- | The terms for non-guaranteed fixed price deals.
dtNonGuaranteedFixedPriceTerms :: Lens' DealTerms (Maybe DealTermsNonGuaranteedFixedPriceTerms)

-- | The terms for non-guaranteed auction deals.
dtNonGuaranteedAuctionTerms :: Lens' DealTerms (Maybe DealTermsNonGuaranteedAuctionTerms)

-- | The terms for rubicon non-guaranteed deals.
dtRubiconNonGuaranteedTerms :: Lens' DealTerms (Maybe DealTermsRubiconNonGuaranteedTerms)

-- | Visibilty of the URL in bid requests.
dtBrandingType :: Lens' DealTerms (Maybe Text)

-- | Indicates that this ExternalDealId exists under at least two different
--   AdxInventoryDeals. Currently, the only case that the same
--   ExternalDealId will exist is programmatic cross sell case.
dtCrossListedExternalDealIdType :: Lens' DealTerms (Maybe Text)

-- | Non-binding estimate of the impressions served per day Can be set by
--   buyer or seller.
dtEstimatedImpressionsPerDay :: Lens' DealTerms (Maybe Int64)

-- | For deals with Cost Per Day billing, defines the timezone used to mark
--   the boundaries of a day (buyer-readonly)
dtSellerTimeZone :: Lens' DealTerms (Maybe Text)

-- | The terms for guaranteed fixed price deals.
dtGuaranteedFixedPriceTerms :: Lens' DealTerms (Maybe DealTermsGuaranteedFixedPriceTerms)

-- | Description for the proposed terms of the deal.
dtDescription :: Lens' DealTerms (Maybe Text)

-- | The external deal ids associated with a creative.
--   
--   <i>See:</i> <a>creativeDealIds</a> smart constructor.
data CreativeDealIds

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

-- | Resource type.
cdiKind :: Lens' CreativeDealIds Text

-- | A list of external deal ids and ARC approval status.
cdiDealStatuses :: Lens' CreativeDealIds [CreativeDealIdsDealStatusesItem]
data MarketplaceLabel

-- | Creates a value of <a>MarketplaceLabel</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mlDeprecatedMarketplaceDealParty</a></li>
--   <li><a>mlAccountId</a></li>
--   <li><a>mlCreateTimeMs</a></li>
--   <li><a>mlLabel</a></li>
--   </ul>
marketplaceLabel :: MarketplaceLabel

-- | Information about the party that created the label.
mlDeprecatedMarketplaceDealParty :: Lens' MarketplaceLabel (Maybe MarketplaceDealParty)

-- | The accountId of the party that created the label.
mlAccountId :: Lens' MarketplaceLabel (Maybe Text)

-- | The creation time (in ms since epoch) for the label.
mlCreateTimeMs :: Lens' MarketplaceLabel (Maybe Int64)

-- | The label to use.
mlLabel :: Lens' MarketplaceLabel (Maybe Text)
data Buyer

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

-- | Adx account id of the buyer.
buyAccountId :: Lens' Buyer (Maybe Text)

-- | The proposed action to take on the proposal. This field is required
--   and it must be set when updating a proposal.
data ProposalsUpdateUpdateAction

-- | <pre>
--   accept
--   </pre>
PUUAAccept :: ProposalsUpdateUpdateAction

-- | <pre>
--   cancel
--   </pre>
PUUACancel :: ProposalsUpdateUpdateAction

-- | <pre>
--   propose
--   </pre>
PUUAPropose :: ProposalsUpdateUpdateAction

-- | <pre>
--   proposeAndAccept
--   </pre>
PUUAProposeAndAccept :: ProposalsUpdateUpdateAction

-- | <pre>
--   unknownAction
--   </pre>
PUUAUnknownAction :: ProposalsUpdateUpdateAction

-- | <pre>
--   updateNonTerms
--   </pre>
PUUAUpdateNonTerms :: ProposalsUpdateUpdateAction
data AddOrderDealsRequest

-- | Creates a value of <a>AddOrderDealsRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aUpdateAction</a></li>
--   <li><a>aDeals</a></li>
--   <li><a>aProposalRevisionNumber</a></li>
--   </ul>
addOrderDealsRequest :: AddOrderDealsRequest

-- | Indicates an optional action to take on the proposal
aUpdateAction :: Lens' AddOrderDealsRequest (Maybe Text)

-- | The list of deals to add
aDeals :: Lens' AddOrderDealsRequest [MarketplaceDeal]

-- | The last known proposal revision number.
aProposalRevisionNumber :: Lens' AddOrderDealsRequest (Maybe Int64)

-- | Tracks which parties (if any) have paused a deal. The deal is
--   considered paused if has_buyer_paused || has_seller_paused. Each of
--   the has_buyer_paused or the has_seller_paused bits can be set
--   independently.
--   
--   <i>See:</i> <a>dealServingMetadataDealPauseStatus</a> smart
--   constructor.
data DealServingMetadataDealPauseStatus

-- | Creates a value of <a>DealServingMetadataDealPauseStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsmdpsFirstPausedBy</a></li>
--   <li><a>dsmdpsBuyerPauseReason</a></li>
--   <li><a>dsmdpsHasBuyerPaused</a></li>
--   <li><a>dsmdpsSellerPauseReason</a></li>
--   <li><a>dsmdpsHasSellerPaused</a></li>
--   </ul>
dealServingMetadataDealPauseStatus :: DealServingMetadataDealPauseStatus

-- | If the deal is paused, records which party paused the deal first.
dsmdpsFirstPausedBy :: Lens' DealServingMetadataDealPauseStatus (Maybe Text)
dsmdpsBuyerPauseReason :: Lens' DealServingMetadataDealPauseStatus (Maybe Text)
dsmdpsHasBuyerPaused :: Lens' DealServingMetadataDealPauseStatus (Maybe Bool)
dsmdpsSellerPauseReason :: Lens' DealServingMetadataDealPauseStatus (Maybe Text)
dsmdpsHasSellerPaused :: Lens' DealServingMetadataDealPauseStatus (Maybe Bool)
data DealTermsGuaranteedFixedPriceTerms

-- | Creates a value of <a>DealTermsGuaranteedFixedPriceTerms</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtgfptGuaranteedLooks</a></li>
--   <li><a>dtgfptGuaranteedImpressions</a></li>
--   <li><a>dtgfptBillingInfo</a></li>
--   <li><a>dtgfptFixedPrices</a></li>
--   <li><a>dtgfptMinimumDailyLooks</a></li>
--   </ul>
dealTermsGuaranteedFixedPriceTerms :: DealTermsGuaranteedFixedPriceTerms

-- | Count of guaranteed looks. Required for deal, optional for product.
--   For CPD deals, buyer changes to guaranteed_looks will be ignored.
dtgfptGuaranteedLooks :: Lens' DealTermsGuaranteedFixedPriceTerms (Maybe Int64)

-- | Guaranteed impressions as a percentage. This is the percentage of
--   guaranteed looks that the buyer is guaranteeing to buy.
dtgfptGuaranteedImpressions :: Lens' DealTermsGuaranteedFixedPriceTerms (Maybe Int64)

-- | External billing info for this Deal. This field is relevant when
--   external billing info such as price has a different currency code than
--   DFP/AdX.
dtgfptBillingInfo :: Lens' DealTermsGuaranteedFixedPriceTerms (Maybe DealTermsGuaranteedFixedPriceTermsBillingInfo)

-- | Fixed price for the specified buyer.
dtgfptFixedPrices :: Lens' DealTermsGuaranteedFixedPriceTerms [PricePerBuyer]

-- | Count of minimum daily looks for a CPD deal. For CPD deals, buyer
--   should negotiate on this field instead of guaranteed_looks.
dtgfptMinimumDailyLooks :: Lens' DealTermsGuaranteedFixedPriceTerms (Maybe Int64)


-- | Gets one account by ID.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.accounts.get</tt>.
module Network.Google.Resource.AdExchangeBuyer.Accounts.Get

-- | A resource alias for <tt>adexchangebuyer.accounts.get</tt> method
--   which the <a>AccountsGet</a> request conforms to.
type AccountsGetResource = "adexchangebuyer" :> ("v1.4" :> ("accounts" :> (Capture "id" (Textual Int32) :> (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>agId</a></li>
--   </ul>
accountsGet :: Int32 -> AccountsGet

-- | Gets one account by ID.
--   
--   <i>See:</i> <a>accountsGet</a> smart constructor.
data AccountsGet

-- | The account id
agId :: Lens' AccountsGet Int32
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Accounts.Get.AccountsGet
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Accounts.Get.AccountsGet
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Accounts.Get.AccountsGet
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Accounts.Get.AccountsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Accounts.Get.AccountsGet


-- | Retrieves the authenticated user's list of accounts.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.accounts.list</tt>.
module Network.Google.Resource.AdExchangeBuyer.Accounts.List

-- | A resource alias for <tt>adexchangebuyer.accounts.list</tt> method
--   which the <a>AccountsList'</a> request conforms to.
type AccountsListResource = "adexchangebuyer" :> ("v1.4" :> ("accounts" :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountsList)))

-- | Creates a value of <a>AccountsList'</a> with the minimum fields
--   required to make a request.
accountsList' :: AccountsList'

-- | Retrieves the authenticated user's list of accounts.
--   
--   <i>See:</i> <a>accountsList'</a> smart constructor.
data AccountsList'
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Accounts.List.AccountsList'
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Accounts.List.AccountsList'
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Accounts.List.AccountsList'
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Accounts.List.AccountsList'
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Accounts.List.AccountsList'


-- | Updates an existing account. This method supports patch semantics.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.accounts.patch</tt>.
module Network.Google.Resource.AdExchangeBuyer.Accounts.Patch

-- | A resource alias for <tt>adexchangebuyer.accounts.patch</tt> method
--   which the <a>AccountsPatch</a> request conforms to.
type AccountsPatchResource = "adexchangebuyer" :> ("v1.4" :> ("accounts" :> (Capture "id" (Textual Int32) :> (QueryParam "confirmUnsafeAccountChange" Bool :> (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>apPayload</a></li>
--   <li><a>apConfirmUnsafeAccountChange</a></li>
--   <li><a>apId</a></li>
--   </ul>
accountsPatch :: Account -> Int32 -> AccountsPatch

-- | Updates an existing account. This method supports patch semantics.
--   
--   <i>See:</i> <a>accountsPatch</a> smart constructor.
data AccountsPatch

-- | Multipart request metadata.
apPayload :: Lens' AccountsPatch Account

-- | Confirmation for erasing bidder and cookie matching urls.
apConfirmUnsafeAccountChange :: Lens' AccountsPatch (Maybe Bool)

-- | The account id
apId :: Lens' AccountsPatch Int32
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Accounts.Patch.AccountsPatch
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Accounts.Patch.AccountsPatch
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Accounts.Patch.AccountsPatch
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Accounts.Patch.AccountsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Accounts.Patch.AccountsPatch


-- | Updates an existing account.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.accounts.update</tt>.
module Network.Google.Resource.AdExchangeBuyer.Accounts.Update

-- | A resource alias for <tt>adexchangebuyer.accounts.update</tt> method
--   which the <a>AccountsUpdate</a> request conforms to.
type AccountsUpdateResource = "adexchangebuyer" :> ("v1.4" :> ("accounts" :> (Capture "id" (Textual Int32) :> (QueryParam "confirmUnsafeAccountChange" Bool :> (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>auPayload</a></li>
--   <li><a>auConfirmUnsafeAccountChange</a></li>
--   <li><a>auId</a></li>
--   </ul>
accountsUpdate :: Account -> Int32 -> AccountsUpdate

-- | Updates an existing account.
--   
--   <i>See:</i> <a>accountsUpdate</a> smart constructor.
data AccountsUpdate

-- | Multipart request metadata.
auPayload :: Lens' AccountsUpdate Account

-- | Confirmation for erasing bidder and cookie matching urls.
auConfirmUnsafeAccountChange :: Lens' AccountsUpdate (Maybe Bool)

-- | The account id
auId :: Lens' AccountsUpdate Int32
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Accounts.Update.AccountsUpdate
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Accounts.Update.AccountsUpdate
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Accounts.Update.AccountsUpdate
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Accounts.Update.AccountsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Accounts.Update.AccountsUpdate


-- | Returns the billing information for one account specified by account
--   ID.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.billingInfo.get</tt>.
module Network.Google.Resource.AdExchangeBuyer.BillingInfo.Get

-- | A resource alias for <tt>adexchangebuyer.billingInfo.get</tt> method
--   which the <a>BillingInfoGet</a> request conforms to.
type BillingInfoGetResource = "adexchangebuyer" :> ("v1.4" :> ("billinginfo" :> (Capture "accountId" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] BillingInfo))))

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

-- | Returns the billing information for one account specified by account
--   ID.
--   
--   <i>See:</i> <a>billingInfoGet</a> smart constructor.
data BillingInfoGet

-- | The account id.
bigAccountId :: Lens' BillingInfoGet Int32
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.BillingInfo.Get.BillingInfoGet
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.BillingInfo.Get.BillingInfoGet
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.BillingInfo.Get.BillingInfoGet
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.BillingInfo.Get.BillingInfoGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.BillingInfo.Get.BillingInfoGet


-- | Retrieves a list of billing information for all accounts of the
--   authenticated user.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.billingInfo.list</tt>.
module Network.Google.Resource.AdExchangeBuyer.BillingInfo.List

-- | A resource alias for <tt>adexchangebuyer.billingInfo.list</tt> method
--   which the <a>BillingInfoList'</a> request conforms to.
type BillingInfoListResource = "adexchangebuyer" :> ("v1.4" :> ("billinginfo" :> (QueryParam "alt" AltJSON :> Get '[JSON] BillingInfoList)))

-- | Creates a value of <a>BillingInfoList'</a> with the minimum fields
--   required to make a request.
billingInfoList' :: BillingInfoList'

-- | Retrieves a list of billing information for all accounts of the
--   authenticated user.
--   
--   <i>See:</i> <a>billingInfoList'</a> smart constructor.
data BillingInfoList'
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.BillingInfo.List.BillingInfoList'
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.BillingInfo.List.BillingInfoList'
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.BillingInfo.List.BillingInfoList'
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.BillingInfo.List.BillingInfoList'
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.BillingInfo.List.BillingInfoList'


-- | Returns the budget information for the adgroup specified by the
--   accountId and billingId.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.budget.get</tt>.
module Network.Google.Resource.AdExchangeBuyer.Budget.Get

-- | A resource alias for <tt>adexchangebuyer.budget.get</tt> method which
--   the <a>BudgetGet</a> request conforms to.
type BudgetGetResource = "adexchangebuyer" :> ("v1.4" :> ("billinginfo" :> (Capture "accountId" (Textual Int64) :> (Capture "billingId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Budget)))))

-- | Creates a value of <a>BudgetGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgAccountId</a></li>
--   <li><a>bgBillingId</a></li>
--   </ul>
budgetGet :: Int64 -> Int64 -> BudgetGet

-- | Returns the budget information for the adgroup specified by the
--   accountId and billingId.
--   
--   <i>See:</i> <a>budgetGet</a> smart constructor.
data BudgetGet

-- | The account id to get the budget information for.
bgAccountId :: Lens' BudgetGet Int64

-- | The billing id to get the budget information for.
bgBillingId :: Lens' BudgetGet Int64
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Budget.Get.BudgetGet
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Budget.Get.BudgetGet
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Budget.Get.BudgetGet
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Budget.Get.BudgetGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Budget.Get.BudgetGet


-- | Updates the budget amount for the budget of the adgroup specified by
--   the accountId and billingId, with the budget amount in the request.
--   This method supports patch semantics.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.budget.patch</tt>.
module Network.Google.Resource.AdExchangeBuyer.Budget.Patch

-- | A resource alias for <tt>adexchangebuyer.budget.patch</tt> method
--   which the <a>BudgetPatch</a> request conforms to.
type BudgetPatchResource = "adexchangebuyer" :> ("v1.4" :> ("billinginfo" :> (Capture "accountId" (Textual Int64) :> (Capture "billingId" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Budget :> Patch '[JSON] Budget))))))

-- | Creates a value of <a>BudgetPatch</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bpPayload</a></li>
--   <li><a>bpAccountId</a></li>
--   <li><a>bpBillingId</a></li>
--   </ul>
budgetPatch :: Budget -> Int64 -> Int64 -> BudgetPatch

-- | Updates the budget amount for the budget of the adgroup specified by
--   the accountId and billingId, with the budget amount in the request.
--   This method supports patch semantics.
--   
--   <i>See:</i> <a>budgetPatch</a> smart constructor.
data BudgetPatch

-- | Multipart request metadata.
bpPayload :: Lens' BudgetPatch Budget

-- | The account id associated with the budget being updated.
bpAccountId :: Lens' BudgetPatch Int64

-- | The billing id associated with the budget being updated.
bpBillingId :: Lens' BudgetPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Budget.Patch.BudgetPatch
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Budget.Patch.BudgetPatch
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Budget.Patch.BudgetPatch
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Budget.Patch.BudgetPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Budget.Patch.BudgetPatch


-- | Updates the budget amount for the budget of the adgroup specified by
--   the accountId and billingId, with the budget amount in the request.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.budget.update</tt>.
module Network.Google.Resource.AdExchangeBuyer.Budget.Update

-- | A resource alias for <tt>adexchangebuyer.budget.update</tt> method
--   which the <a>BudgetUpdate</a> request conforms to.
type BudgetUpdateResource = "adexchangebuyer" :> ("v1.4" :> ("billinginfo" :> (Capture "accountId" (Textual Int64) :> (Capture "billingId" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Budget :> Put '[JSON] Budget))))))

-- | Creates a value of <a>BudgetUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>buPayload</a></li>
--   <li><a>buAccountId</a></li>
--   <li><a>buBillingId</a></li>
--   </ul>
budgetUpdate :: Budget -> Int64 -> Int64 -> BudgetUpdate

-- | Updates the budget amount for the budget of the adgroup specified by
--   the accountId and billingId, with the budget amount in the request.
--   
--   <i>See:</i> <a>budgetUpdate</a> smart constructor.
data BudgetUpdate

-- | Multipart request metadata.
buPayload :: Lens' BudgetUpdate Budget

-- | The account id associated with the budget being updated.
buAccountId :: Lens' BudgetUpdate Int64

-- | The billing id associated with the budget being updated.
buBillingId :: Lens' BudgetUpdate Int64
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Budget.Update.BudgetUpdate
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Budget.Update.BudgetUpdate
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Budget.Update.BudgetUpdate
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Budget.Update.BudgetUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Budget.Update.BudgetUpdate


-- | Add a deal id association for the creative.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.creatives.addDeal</tt>.
module Network.Google.Resource.AdExchangeBuyer.Creatives.AddDeal

-- | A resource alias for <tt>adexchangebuyer.creatives.addDeal</tt> method
--   which the <a>CreativesAddDeal</a> request conforms to.
type CreativesAddDealResource = "adexchangebuyer" :> ("v1.4" :> ("creatives" :> (Capture "accountId" (Textual Int32) :> (Capture "buyerCreativeId" Text :> ("addDeal" :> (Capture "dealId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))))

-- | Creates a value of <a>CreativesAddDeal</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cadBuyerCreativeId</a></li>
--   <li><a>cadDealId</a></li>
--   <li><a>cadAccountId</a></li>
--   </ul>
creativesAddDeal :: Text -> Int64 -> Int32 -> CreativesAddDeal

-- | Add a deal id association for the creative.
--   
--   <i>See:</i> <a>creativesAddDeal</a> smart constructor.
data CreativesAddDeal

-- | The buyer-specific id for this creative.
cadBuyerCreativeId :: Lens' CreativesAddDeal Text

-- | The id of the deal id to associate with this creative.
cadDealId :: Lens' CreativesAddDeal Int64

-- | The id for the account that will serve this creative.
cadAccountId :: Lens' CreativesAddDeal Int32
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Creatives.AddDeal.CreativesAddDeal
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Creatives.AddDeal.CreativesAddDeal
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Creatives.AddDeal.CreativesAddDeal
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Creatives.AddDeal.CreativesAddDeal
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Creatives.AddDeal.CreativesAddDeal


-- | Gets the status for a single creative. A creative will be available
--   30-40 minutes after submission.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.creatives.get</tt>.
module Network.Google.Resource.AdExchangeBuyer.Creatives.Get

-- | A resource alias for <tt>adexchangebuyer.creatives.get</tt> method
--   which the <a>CreativesGet</a> request conforms to.
type CreativesGetResource = "adexchangebuyer" :> ("v1.4" :> ("creatives" :> (Capture "accountId" (Textual Int32) :> (Capture "buyerCreativeId" Text :> (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>cgBuyerCreativeId</a></li>
--   <li><a>cgAccountId</a></li>
--   </ul>
creativesGet :: Text -> Int32 -> CreativesGet

-- | Gets the status for a single creative. A creative will be available
--   30-40 minutes after submission.
--   
--   <i>See:</i> <a>creativesGet</a> smart constructor.
data CreativesGet

-- | The buyer-specific id for this creative.
cgBuyerCreativeId :: Lens' CreativesGet Text

-- | The id for the account that will serve this creative.
cgAccountId :: Lens' CreativesGet Int32
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Creatives.Get.CreativesGet
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Creatives.Get.CreativesGet
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Creatives.Get.CreativesGet
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Creatives.Get.CreativesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Creatives.Get.CreativesGet


-- | Submit a new creative.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.creatives.insert</tt>.
module Network.Google.Resource.AdExchangeBuyer.Creatives.Insert

-- | A resource alias for <tt>adexchangebuyer.creatives.insert</tt> method
--   which the <a>CreativesInsert</a> request conforms to.
type CreativesInsertResource = "adexchangebuyer" :> ("v1.4" :> ("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>ciPayload</a></li>
--   </ul>
creativesInsert :: Creative -> CreativesInsert

-- | Submit a new creative.
--   
--   <i>See:</i> <a>creativesInsert</a> smart constructor.
data CreativesInsert

-- | Multipart request metadata.
ciPayload :: Lens' CreativesInsert Creative
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Creatives.Insert.CreativesInsert
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Creatives.Insert.CreativesInsert
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Creatives.Insert.CreativesInsert
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Creatives.Insert.CreativesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Creatives.Insert.CreativesInsert


-- | Retrieves a list of the authenticated user's active creatives. A
--   creative will be available 30-40 minutes after submission.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.creatives.list</tt>.
module Network.Google.Resource.AdExchangeBuyer.Creatives.List

-- | A resource alias for <tt>adexchangebuyer.creatives.list</tt> method
--   which the <a>CreativesList'</a> request conforms to.
type CreativesListResource = "adexchangebuyer" :> ("v1.4" :> ("creatives" :> (QueryParams "buyerCreativeId" Text :> (QueryParam "openAuctionStatusFilter" CreativesListOpenAuctionStatusFilter :> (QueryParams "accountId" (Textual Int32) :> (QueryParam "pageToken" Text :> (QueryParam "dealsStatusFilter" CreativesListDealsStatusFilter :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CreativesList)))))))))

-- | 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>clBuyerCreativeId</a></li>
--   <li><a>clOpenAuctionStatusFilter</a></li>
--   <li><a>clAccountId</a></li>
--   <li><a>clPageToken</a></li>
--   <li><a>clDealsStatusFilter</a></li>
--   <li><a>clMaxResults</a></li>
--   </ul>
creativesList' :: CreativesList'

-- | Retrieves a list of the authenticated user's active creatives. A
--   creative will be available 30-40 minutes after submission.
--   
--   <i>See:</i> <a>creativesList'</a> smart constructor.
data CreativesList'

-- | When specified, only creatives for the given buyer creative ids are
--   returned.
clBuyerCreativeId :: Lens' CreativesList' [Text]

-- | When specified, only creatives having the given open auction status
--   are returned.
clOpenAuctionStatusFilter :: Lens' CreativesList' (Maybe CreativesListOpenAuctionStatusFilter)

-- | When specified, only creatives for the given account ids are returned.
clAccountId :: Lens' CreativesList' [Int32]

-- | A continuation token, used to page through ad clients. To retrieve the
--   next page, set this parameter to the value of "nextPageToken" from the
--   previous response. Optional.
clPageToken :: Lens' CreativesList' (Maybe Text)

-- | When specified, only creatives having the given deals status are
--   returned.
clDealsStatusFilter :: Lens' CreativesList' (Maybe CreativesListDealsStatusFilter)

-- | Maximum number of entries returned on one result page. If not set, the
--   default is 100. Optional.
clMaxResults :: Lens' CreativesList' (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Creatives.List.CreativesList'
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Creatives.List.CreativesList'
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Creatives.List.CreativesList'
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Creatives.List.CreativesList'
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Creatives.List.CreativesList'


-- | Lists the external deal ids associated with the creative.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.creatives.listDeals</tt>.
module Network.Google.Resource.AdExchangeBuyer.Creatives.ListDeals

-- | A resource alias for <tt>adexchangebuyer.creatives.listDeals</tt>
--   method which the <a>CreativesListDeals</a> request conforms to.
type CreativesListDealsResource = "adexchangebuyer" :> ("v1.4" :> ("creatives" :> (Capture "accountId" (Textual Int32) :> (Capture "buyerCreativeId" Text :> ("listDeals" :> (QueryParam "alt" AltJSON :> Get '[JSON] CreativeDealIds))))))

-- | Creates a value of <a>CreativesListDeals</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cldBuyerCreativeId</a></li>
--   <li><a>cldAccountId</a></li>
--   </ul>
creativesListDeals :: Text -> Int32 -> CreativesListDeals

-- | Lists the external deal ids associated with the creative.
--   
--   <i>See:</i> <a>creativesListDeals</a> smart constructor.
data CreativesListDeals

-- | The buyer-specific id for this creative.
cldBuyerCreativeId :: Lens' CreativesListDeals Text

-- | The id for the account that will serve this creative.
cldAccountId :: Lens' CreativesListDeals Int32
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Creatives.ListDeals.CreativesListDeals
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Creatives.ListDeals.CreativesListDeals
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Creatives.ListDeals.CreativesListDeals
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Creatives.ListDeals.CreativesListDeals
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Creatives.ListDeals.CreativesListDeals


-- | Remove a deal id associated with the creative.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.creatives.removeDeal</tt>.
module Network.Google.Resource.AdExchangeBuyer.Creatives.RemoveDeal

-- | A resource alias for <tt>adexchangebuyer.creatives.removeDeal</tt>
--   method which the <a>CreativesRemoveDeal</a> request conforms to.
type CreativesRemoveDealResource = "adexchangebuyer" :> ("v1.4" :> ("creatives" :> (Capture "accountId" (Textual Int32) :> (Capture "buyerCreativeId" Text :> ("removeDeal" :> (Capture "dealId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))))

-- | Creates a value of <a>CreativesRemoveDeal</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crdBuyerCreativeId</a></li>
--   <li><a>crdDealId</a></li>
--   <li><a>crdAccountId</a></li>
--   </ul>
creativesRemoveDeal :: Text -> Int64 -> Int32 -> CreativesRemoveDeal

-- | Remove a deal id associated with the creative.
--   
--   <i>See:</i> <a>creativesRemoveDeal</a> smart constructor.
data CreativesRemoveDeal

-- | The buyer-specific id for this creative.
crdBuyerCreativeId :: Lens' CreativesRemoveDeal Text

-- | The id of the deal id to disassociate with this creative.
crdDealId :: Lens' CreativesRemoveDeal Int64

-- | The id for the account that will serve this creative.
crdAccountId :: Lens' CreativesRemoveDeal Int32
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Creatives.RemoveDeal.CreativesRemoveDeal
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Creatives.RemoveDeal.CreativesRemoveDeal
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Creatives.RemoveDeal.CreativesRemoveDeal
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Creatives.RemoveDeal.CreativesRemoveDeal
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Creatives.RemoveDeal.CreativesRemoveDeal


-- | Delete the specified deals from the proposal
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.marketplacedeals.delete</tt>.
module Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Delete

-- | A resource alias for <tt>adexchangebuyer.marketplacedeals.delete</tt>
--   method which the <a>MarketplaceDealsDelete</a> request conforms to.
type MarketplaceDealsDeleteResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> ("deals" :> ("delete" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DeleteOrderDealsRequest :> Post '[JSON] DeleteOrderDealsResponse)))))))

-- | Creates a value of <a>MarketplaceDealsDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mddPayload</a></li>
--   <li><a>mddProposalId</a></li>
--   </ul>
marketplaceDealsDelete :: DeleteOrderDealsRequest -> Text -> MarketplaceDealsDelete

-- | Delete the specified deals from the proposal
--   
--   <i>See:</i> <a>marketplaceDealsDelete</a> smart constructor.
data MarketplaceDealsDelete

-- | Multipart request metadata.
mddPayload :: Lens' MarketplaceDealsDelete DeleteOrderDealsRequest

-- | The proposalId to delete deals from.
mddProposalId :: Lens' MarketplaceDealsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Delete.MarketplaceDealsDelete
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Delete.MarketplaceDealsDelete
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Delete.MarketplaceDealsDelete
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Delete.MarketplaceDealsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Delete.MarketplaceDealsDelete


-- | Add new deals for the specified proposal
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.marketplacedeals.insert</tt>.
module Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Insert

-- | A resource alias for <tt>adexchangebuyer.marketplacedeals.insert</tt>
--   method which the <a>MarketplaceDealsInsert</a> request conforms to.
type MarketplaceDealsInsertResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> ("deals" :> ("insert" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AddOrderDealsRequest :> Post '[JSON] AddOrderDealsResponse)))))))

-- | Creates a value of <a>MarketplaceDealsInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdiPayload</a></li>
--   <li><a>mdiProposalId</a></li>
--   </ul>
marketplaceDealsInsert :: AddOrderDealsRequest -> Text -> MarketplaceDealsInsert

-- | Add new deals for the specified proposal
--   
--   <i>See:</i> <a>marketplaceDealsInsert</a> smart constructor.
data MarketplaceDealsInsert

-- | Multipart request metadata.
mdiPayload :: Lens' MarketplaceDealsInsert AddOrderDealsRequest

-- | proposalId for which deals need to be added.
mdiProposalId :: Lens' MarketplaceDealsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Insert.MarketplaceDealsInsert
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Insert.MarketplaceDealsInsert
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Insert.MarketplaceDealsInsert
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Insert.MarketplaceDealsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Insert.MarketplaceDealsInsert


-- | List all the deals for a given proposal
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.marketplacedeals.list</tt>.
module Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.List

-- | A resource alias for <tt>adexchangebuyer.marketplacedeals.list</tt>
--   method which the <a>MarketplaceDealsList</a> request conforms to.
type MarketplaceDealsListResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> ("deals" :> (QueryParam "pqlQuery" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] GetOrderDealsResponse))))))

-- | Creates a value of <a>MarketplaceDealsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdlProposalId</a></li>
--   <li><a>mdlPqlQuery</a></li>
--   </ul>
marketplaceDealsList :: Text -> MarketplaceDealsList

-- | List all the deals for a given proposal
--   
--   <i>See:</i> <a>marketplaceDealsList</a> smart constructor.
data MarketplaceDealsList

-- | The proposalId to get deals for. To search across all proposals
--   specify order_id = '-' as part of the URL.
mdlProposalId :: Lens' MarketplaceDealsList Text

-- | Query string to retrieve specific deals.
mdlPqlQuery :: Lens' MarketplaceDealsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.List.MarketplaceDealsList
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.List.MarketplaceDealsList
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.List.MarketplaceDealsList
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.List.MarketplaceDealsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.List.MarketplaceDealsList


-- | Replaces all the deals in the proposal with the passed in deals
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.marketplacedeals.update</tt>.
module Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Update

-- | A resource alias for <tt>adexchangebuyer.marketplacedeals.update</tt>
--   method which the <a>MarketplaceDealsUpdate</a> request conforms to.
type MarketplaceDealsUpdateResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> ("deals" :> ("update" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EditAllOrderDealsRequest :> Post '[JSON] EditAllOrderDealsResponse)))))))

-- | Creates a value of <a>MarketplaceDealsUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mduPayload</a></li>
--   <li><a>mduProposalId</a></li>
--   </ul>
marketplaceDealsUpdate :: EditAllOrderDealsRequest -> Text -> MarketplaceDealsUpdate

-- | Replaces all the deals in the proposal with the passed in deals
--   
--   <i>See:</i> <a>marketplaceDealsUpdate</a> smart constructor.
data MarketplaceDealsUpdate

-- | Multipart request metadata.
mduPayload :: Lens' MarketplaceDealsUpdate EditAllOrderDealsRequest

-- | The proposalId to edit deals on.
mduProposalId :: Lens' MarketplaceDealsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Update.MarketplaceDealsUpdate
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Update.MarketplaceDealsUpdate
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Update.MarketplaceDealsUpdate
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Update.MarketplaceDealsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Update.MarketplaceDealsUpdate


-- | Add notes to the proposal
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.marketplacenotes.insert</tt>.
module Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.Insert

-- | A resource alias for <tt>adexchangebuyer.marketplacenotes.insert</tt>
--   method which the <a>MarketplaceNotesInsert</a> request conforms to.
type MarketplaceNotesInsertResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> ("notes" :> ("insert" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AddOrderNotesRequest :> Post '[JSON] AddOrderNotesResponse)))))))

-- | Creates a value of <a>MarketplaceNotesInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mniPayload</a></li>
--   <li><a>mniProposalId</a></li>
--   </ul>
marketplaceNotesInsert :: AddOrderNotesRequest -> Text -> MarketplaceNotesInsert

-- | Add notes to the proposal
--   
--   <i>See:</i> <a>marketplaceNotesInsert</a> smart constructor.
data MarketplaceNotesInsert

-- | Multipart request metadata.
mniPayload :: Lens' MarketplaceNotesInsert AddOrderNotesRequest

-- | The proposalId to add notes for.
mniProposalId :: Lens' MarketplaceNotesInsert Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.Insert.MarketplaceNotesInsert
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.Insert.MarketplaceNotesInsert
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.Insert.MarketplaceNotesInsert
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.Insert.MarketplaceNotesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.Insert.MarketplaceNotesInsert


-- | Get all the notes associated with a proposal
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.marketplacenotes.list</tt>.
module Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.List

-- | A resource alias for <tt>adexchangebuyer.marketplacenotes.list</tt>
--   method which the <a>MarketplaceNotesList</a> request conforms to.
type MarketplaceNotesListResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> ("notes" :> (QueryParam "pqlQuery" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] GetOrderNotesResponse))))))

-- | Creates a value of <a>MarketplaceNotesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mnlProposalId</a></li>
--   <li><a>mnlPqlQuery</a></li>
--   </ul>
marketplaceNotesList :: Text -> MarketplaceNotesList

-- | Get all the notes associated with a proposal
--   
--   <i>See:</i> <a>marketplaceNotesList</a> smart constructor.
data MarketplaceNotesList

-- | The proposalId to get notes for. To search across all proposals
--   specify order_id = '-' as part of the URL.
mnlProposalId :: Lens' MarketplaceNotesList Text

-- | Query string to retrieve specific notes. To search the text contents
--   of notes, please use syntax like "WHERE note.note = "foo" or "WHERE
--   note.note LIKE "%bar%"
mnlPqlQuery :: Lens' MarketplaceNotesList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.List.MarketplaceNotesList
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.List.MarketplaceNotesList
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.List.MarketplaceNotesList
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.List.MarketplaceNotesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.List.MarketplaceNotesList


-- | Update a given private auction proposal
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.marketplaceprivateauction.updateproposal</tt>.
module Network.Google.Resource.AdExchangeBuyer.Marketplaceprivateauction.Updateproposal

-- | A resource alias for
--   <tt>adexchangebuyer.marketplaceprivateauction.updateproposal</tt>
--   method which the <a>MarketplaceprivateauctionUpdateproposal</a>
--   request conforms to.
type MarketplaceprivateauctionUpdateproposalResource = "adexchangebuyer" :> ("v1.4" :> ("privateauction" :> (Capture "privateAuctionId" Text :> ("updateproposal" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UpdatePrivateAuctionProposalRequest :> Post '[JSON] ()))))))

-- | Creates a value of <a>MarketplaceprivateauctionUpdateproposal</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>muPrivateAuctionId</a></li>
--   <li><a>muPayload</a></li>
--   </ul>
marketplaceprivateauctionUpdateproposal :: Text -> UpdatePrivateAuctionProposalRequest -> MarketplaceprivateauctionUpdateproposal

-- | Update a given private auction proposal
--   
--   <i>See:</i> <a>marketplaceprivateauctionUpdateproposal</a> smart
--   constructor.
data MarketplaceprivateauctionUpdateproposal

-- | The private auction id to be updated.
muPrivateAuctionId :: Lens' MarketplaceprivateauctionUpdateproposal Text

-- | Multipart request metadata.
muPayload :: Lens' MarketplaceprivateauctionUpdateproposal UpdatePrivateAuctionProposalRequest
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Marketplaceprivateauction.Updateproposal.MarketplaceprivateauctionUpdateproposal
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Marketplaceprivateauction.Updateproposal.MarketplaceprivateauctionUpdateproposal
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Marketplaceprivateauction.Updateproposal.MarketplaceprivateauctionUpdateproposal
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Marketplaceprivateauction.Updateproposal.MarketplaceprivateauctionUpdateproposal
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Marketplaceprivateauction.Updateproposal.MarketplaceprivateauctionUpdateproposal


-- | Retrieves the authenticated user's list of performance metrics.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.performanceReport.list</tt>.
module Network.Google.Resource.AdExchangeBuyer.PerformanceReport.List

-- | A resource alias for <tt>adexchangebuyer.performanceReport.list</tt>
--   method which the <a>PerformanceReportList'</a> request conforms to.
type PerformanceReportListResource = "adexchangebuyer" :> ("v1.4" :> ("performancereport" :> (QueryParam "accountId" (Textual Int64) :> (QueryParam "endDateTime" Text :> (QueryParam "startDateTime" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] PerformanceReportList))))))))

-- | Creates a value of <a>PerformanceReportList'</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prlAccountId</a></li>
--   <li><a>prlPageToken</a></li>
--   <li><a>prlEndDateTime</a></li>
--   <li><a>prlMaxResults</a></li>
--   <li><a>prlStartDateTime</a></li>
--   </ul>
performanceReportList' :: Int64 -> Text -> Text -> PerformanceReportList'

-- | Retrieves the authenticated user's list of performance metrics.
--   
--   <i>See:</i> <a>performanceReportList'</a> smart constructor.
data PerformanceReportList'

-- | The account id to get the reports.
prlAccountId :: Lens' PerformanceReportList' Int64

-- | A continuation token, used to page through performance reports. To
--   retrieve the next page, set this parameter to the value of
--   "nextPageToken" from the previous response. Optional.
prlPageToken :: Lens' PerformanceReportList' (Maybe Text)

-- | The end time of the report in ISO 8601 timestamp format using UTC.
prlEndDateTime :: Lens' PerformanceReportList' Text

-- | Maximum number of entries returned on one result page. If not set, the
--   default is 100. Optional.
prlMaxResults :: Lens' PerformanceReportList' (Maybe Word32)

-- | The start time of the report in ISO 8601 timestamp format using UTC.
prlStartDateTime :: Lens' PerformanceReportList' Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.PerformanceReport.List.PerformanceReportList'
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.PerformanceReport.List.PerformanceReportList'
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.PerformanceReport.List.PerformanceReportList'
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.PerformanceReport.List.PerformanceReportList'
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.PerformanceReport.List.PerformanceReportList'


-- | Deletes an existing pretargeting config.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.pretargetingConfig.delete</tt>.
module Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Delete

-- | A resource alias for
--   <tt>adexchangebuyer.pretargetingConfig.delete</tt> method which the
--   <a>PretargetingConfigDelete</a> request conforms to.
type PretargetingConfigDeleteResource = "adexchangebuyer" :> ("v1.4" :> ("pretargetingconfigs" :> (Capture "accountId" (Textual Int64) :> (Capture "configId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))

-- | Creates a value of <a>PretargetingConfigDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcdAccountId</a></li>
--   <li><a>pcdConfigId</a></li>
--   </ul>
pretargetingConfigDelete :: Int64 -> Int64 -> PretargetingConfigDelete

-- | Deletes an existing pretargeting config.
--   
--   <i>See:</i> <a>pretargetingConfigDelete</a> smart constructor.
data PretargetingConfigDelete

-- | The account id to delete the pretargeting config for.
pcdAccountId :: Lens' PretargetingConfigDelete Int64

-- | The specific id of the configuration to delete.
pcdConfigId :: Lens' PretargetingConfigDelete Int64
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Delete.PretargetingConfigDelete
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Delete.PretargetingConfigDelete
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Delete.PretargetingConfigDelete
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Delete.PretargetingConfigDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Delete.PretargetingConfigDelete


-- | Gets a specific pretargeting configuration
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.pretargetingConfig.get</tt>.
module Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Get

-- | A resource alias for <tt>adexchangebuyer.pretargetingConfig.get</tt>
--   method which the <a>PretargetingConfigGet</a> request conforms to.
type PretargetingConfigGetResource = "adexchangebuyer" :> ("v1.4" :> ("pretargetingconfigs" :> (Capture "accountId" (Textual Int64) :> (Capture "configId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] PretargetingConfig)))))

-- | Creates a value of <a>PretargetingConfigGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcgAccountId</a></li>
--   <li><a>pcgConfigId</a></li>
--   </ul>
pretargetingConfigGet :: Int64 -> Int64 -> PretargetingConfigGet

-- | Gets a specific pretargeting configuration
--   
--   <i>See:</i> <a>pretargetingConfigGet</a> smart constructor.
data PretargetingConfigGet

-- | The account id to get the pretargeting config for.
pcgAccountId :: Lens' PretargetingConfigGet Int64

-- | The specific id of the configuration to retrieve.
pcgConfigId :: Lens' PretargetingConfigGet Int64
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Get.PretargetingConfigGet
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Get.PretargetingConfigGet
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Get.PretargetingConfigGet
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Get.PretargetingConfigGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Get.PretargetingConfigGet


-- | Inserts a new pretargeting configuration.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.pretargetingConfig.insert</tt>.
module Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Insert

-- | A resource alias for
--   <tt>adexchangebuyer.pretargetingConfig.insert</tt> method which the
--   <a>PretargetingConfigInsert</a> request conforms to.
type PretargetingConfigInsertResource = "adexchangebuyer" :> ("v1.4" :> ("pretargetingconfigs" :> (Capture "accountId" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] PretargetingConfig :> Post '[JSON] PretargetingConfig)))))

-- | Creates a value of <a>PretargetingConfigInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pciPayload</a></li>
--   <li><a>pciAccountId</a></li>
--   </ul>
pretargetingConfigInsert :: PretargetingConfig -> Int64 -> PretargetingConfigInsert

-- | Inserts a new pretargeting configuration.
--   
--   <i>See:</i> <a>pretargetingConfigInsert</a> smart constructor.
data PretargetingConfigInsert

-- | Multipart request metadata.
pciPayload :: Lens' PretargetingConfigInsert PretargetingConfig

-- | The account id to insert the pretargeting config for.
pciAccountId :: Lens' PretargetingConfigInsert Int64
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Insert.PretargetingConfigInsert
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Insert.PretargetingConfigInsert
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Insert.PretargetingConfigInsert
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Insert.PretargetingConfigInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Insert.PretargetingConfigInsert


-- | Retrieves a list of the authenticated user's pretargeting
--   configurations.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.pretargetingConfig.list</tt>.
module Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.List

-- | A resource alias for <tt>adexchangebuyer.pretargetingConfig.list</tt>
--   method which the <a>PretargetingConfigList'</a> request conforms to.
type PretargetingConfigListResource = "adexchangebuyer" :> ("v1.4" :> ("pretargetingconfigs" :> (Capture "accountId" (Textual Int64) :> (QueryParam "alt" AltJSON :> Get '[JSON] PretargetingConfigList))))

-- | Creates a value of <a>PretargetingConfigList'</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pclAccountId</a></li>
--   </ul>
pretargetingConfigList' :: Int64 -> PretargetingConfigList'

-- | Retrieves a list of the authenticated user's pretargeting
--   configurations.
--   
--   <i>See:</i> <a>pretargetingConfigList'</a> smart constructor.
data PretargetingConfigList'

-- | The account id to get the pretargeting configs for.
pclAccountId :: Lens' PretargetingConfigList' Int64
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.List.PretargetingConfigList'
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.List.PretargetingConfigList'
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.List.PretargetingConfigList'
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.List.PretargetingConfigList'
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.List.PretargetingConfigList'


-- | Updates an existing pretargeting config. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.pretargetingConfig.patch</tt>.
module Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Patch

-- | A resource alias for <tt>adexchangebuyer.pretargetingConfig.patch</tt>
--   method which the <a>PretargetingConfigPatch</a> request conforms to.
type PretargetingConfigPatchResource = "adexchangebuyer" :> ("v1.4" :> ("pretargetingconfigs" :> (Capture "accountId" (Textual Int64) :> (Capture "configId" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] PretargetingConfig :> Patch '[JSON] PretargetingConfig))))))

-- | Creates a value of <a>PretargetingConfigPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcpPayload</a></li>
--   <li><a>pcpAccountId</a></li>
--   <li><a>pcpConfigId</a></li>
--   </ul>
pretargetingConfigPatch :: PretargetingConfig -> Int64 -> Int64 -> PretargetingConfigPatch

-- | Updates an existing pretargeting config. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>pretargetingConfigPatch</a> smart constructor.
data PretargetingConfigPatch

-- | Multipart request metadata.
pcpPayload :: Lens' PretargetingConfigPatch PretargetingConfig

-- | The account id to update the pretargeting config for.
pcpAccountId :: Lens' PretargetingConfigPatch Int64

-- | The specific id of the configuration to update.
pcpConfigId :: Lens' PretargetingConfigPatch Int64
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Patch.PretargetingConfigPatch
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Patch.PretargetingConfigPatch
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Patch.PretargetingConfigPatch
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Patch.PretargetingConfigPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Patch.PretargetingConfigPatch


-- | Updates an existing pretargeting config.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.pretargetingConfig.update</tt>.
module Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Update

-- | A resource alias for
--   <tt>adexchangebuyer.pretargetingConfig.update</tt> method which the
--   <a>PretargetingConfigUpdate</a> request conforms to.
type PretargetingConfigUpdateResource = "adexchangebuyer" :> ("v1.4" :> ("pretargetingconfigs" :> (Capture "accountId" (Textual Int64) :> (Capture "configId" (Textual Int64) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] PretargetingConfig :> Put '[JSON] PretargetingConfig))))))

-- | Creates a value of <a>PretargetingConfigUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcuPayload</a></li>
--   <li><a>pcuAccountId</a></li>
--   <li><a>pcuConfigId</a></li>
--   </ul>
pretargetingConfigUpdate :: PretargetingConfig -> Int64 -> Int64 -> PretargetingConfigUpdate

-- | Updates an existing pretargeting config.
--   
--   <i>See:</i> <a>pretargetingConfigUpdate</a> smart constructor.
data PretargetingConfigUpdate

-- | Multipart request metadata.
pcuPayload :: Lens' PretargetingConfigUpdate PretargetingConfig

-- | The account id to update the pretargeting config for.
pcuAccountId :: Lens' PretargetingConfigUpdate Int64

-- | The specific id of the configuration to update.
pcuConfigId :: Lens' PretargetingConfigUpdate Int64
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Update.PretargetingConfigUpdate
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Update.PretargetingConfigUpdate
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Update.PretargetingConfigUpdate
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Update.PretargetingConfigUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Update.PretargetingConfigUpdate


-- | Gets the requested product by id.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.products.get</tt>.
module Network.Google.Resource.AdExchangeBuyer.Products.Get

-- | A resource alias for <tt>adexchangebuyer.products.get</tt> method
--   which the <a>ProductsGet</a> request conforms to.
type ProductsGetResource = "adexchangebuyer" :> ("v1.4" :> ("products" :> (Capture "productId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Product))))

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

-- | Gets the requested product by id.
--   
--   <i>See:</i> <a>productsGet</a> smart constructor.
data ProductsGet

-- | The id for the product to get the head revision for.
pgProductId :: Lens' ProductsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Products.Get.ProductsGet
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Products.Get.ProductsGet
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Products.Get.ProductsGet
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Products.Get.ProductsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Products.Get.ProductsGet


-- | Gets the requested product.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.products.search</tt>.
module Network.Google.Resource.AdExchangeBuyer.Products.Search

-- | A resource alias for <tt>adexchangebuyer.products.search</tt> method
--   which the <a>ProductsSearch</a> request conforms to.
type ProductsSearchResource = "adexchangebuyer" :> ("v1.4" :> ("products" :> ("search" :> (QueryParam "pqlQuery" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] GetOffersResponse)))))

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

-- | Gets the requested product.
--   
--   <i>See:</i> <a>productsSearch</a> smart constructor.
data ProductsSearch

-- | The pql query used to query for products.
psPqlQuery :: Lens' ProductsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Products.Search.ProductsSearch
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Products.Search.ProductsSearch
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Products.Search.ProductsSearch
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Products.Search.ProductsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Products.Search.ProductsSearch


-- | Get a proposal given its id
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.proposals.get</tt>.
module Network.Google.Resource.AdExchangeBuyer.Proposals.Get

-- | A resource alias for <tt>adexchangebuyer.proposals.get</tt> method
--   which the <a>ProposalsGet</a> request conforms to.
type ProposalsGetResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Proposal))))

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

-- | Get a proposal given its id
--   
--   <i>See:</i> <a>proposalsGet</a> smart constructor.
data ProposalsGet

-- | Id of the proposal to retrieve.
pgProposalId :: Lens' ProposalsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Proposals.Get.ProposalsGet
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Proposals.Get.ProposalsGet
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Proposals.Get.ProposalsGet
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Proposals.Get.ProposalsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Proposals.Get.ProposalsGet


-- | Create the given list of proposals
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.proposals.insert</tt>.
module Network.Google.Resource.AdExchangeBuyer.Proposals.Insert

-- | A resource alias for <tt>adexchangebuyer.proposals.insert</tt> method
--   which the <a>ProposalsInsert</a> request conforms to.
type ProposalsInsertResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> ("insert" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreateOrdersRequest :> Post '[JSON] CreateOrdersResponse)))))

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

-- | Create the given list of proposals
--   
--   <i>See:</i> <a>proposalsInsert</a> smart constructor.
data ProposalsInsert

-- | Multipart request metadata.
piPayload :: Lens' ProposalsInsert CreateOrdersRequest
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Proposals.Insert.ProposalsInsert
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Proposals.Insert.ProposalsInsert
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Proposals.Insert.ProposalsInsert
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Proposals.Insert.ProposalsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Proposals.Insert.ProposalsInsert


-- | Update the given proposal. This method supports patch semantics.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.proposals.patch</tt>.
module Network.Google.Resource.AdExchangeBuyer.Proposals.Patch

-- | A resource alias for <tt>adexchangebuyer.proposals.patch</tt> method
--   which the <a>ProposalsPatch</a> request conforms to.
type ProposalsPatchResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> (Capture "revisionNumber" (Textual Int64) :> (Capture "updateAction" ProposalsPatchUpdateAction :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Proposal :> Patch '[JSON] Proposal)))))))

-- | Creates a value of <a>ProposalsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppUpdateAction</a></li>
--   <li><a>ppRevisionNumber</a></li>
--   <li><a>ppPayload</a></li>
--   <li><a>ppProposalId</a></li>
--   </ul>
proposalsPatch :: ProposalsPatchUpdateAction -> Int64 -> Proposal -> Text -> ProposalsPatch

-- | Update the given proposal. This method supports patch semantics.
--   
--   <i>See:</i> <a>proposalsPatch</a> smart constructor.
data ProposalsPatch

-- | The proposed action to take on the proposal. This field is required
--   and it must be set when updating a proposal.
ppUpdateAction :: Lens' ProposalsPatch ProposalsPatchUpdateAction

-- | The last known revision number to update. If the head revision in the
--   marketplace database has since changed, an error will be thrown. The
--   caller should then fetch the latest proposal at head revision and
--   retry the update at that revision.
ppRevisionNumber :: Lens' ProposalsPatch Int64

-- | Multipart request metadata.
ppPayload :: Lens' ProposalsPatch Proposal

-- | The proposal id to update.
ppProposalId :: Lens' ProposalsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Proposals.Patch.ProposalsPatch
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Proposals.Patch.ProposalsPatch
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Proposals.Patch.ProposalsPatch
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Proposals.Patch.ProposalsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Proposals.Patch.ProposalsPatch


-- | Search for proposals using pql query
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.proposals.search</tt>.
module Network.Google.Resource.AdExchangeBuyer.Proposals.Search

-- | A resource alias for <tt>adexchangebuyer.proposals.search</tt> method
--   which the <a>ProposalsSearch</a> request conforms to.
type ProposalsSearchResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> ("search" :> (QueryParam "pqlQuery" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] GetOrdersResponse)))))

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

-- | Search for proposals using pql query
--   
--   <i>See:</i> <a>proposalsSearch</a> smart constructor.
data ProposalsSearch

-- | Query string to retrieve specific proposals.
pPqlQuery :: Lens' ProposalsSearch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Proposals.Search.ProposalsSearch
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Proposals.Search.ProposalsSearch
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Proposals.Search.ProposalsSearch
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Proposals.Search.ProposalsSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Proposals.Search.ProposalsSearch


-- | Update the given proposal to indicate that setup has been completed.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.proposals.setupcomplete</tt>.
module Network.Google.Resource.AdExchangeBuyer.Proposals.Setupcomplete

-- | A resource alias for <tt>adexchangebuyer.proposals.setupcomplete</tt>
--   method which the <a>ProposalsSetupcomplete</a> request conforms to.
type ProposalsSetupcompleteResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> ("setupcomplete" :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))

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

-- | Update the given proposal to indicate that setup has been completed.
--   
--   <i>See:</i> <a>proposalsSetupcomplete</a> smart constructor.
data ProposalsSetupcomplete

-- | The proposal id for which the setup is complete
psProposalId :: Lens' ProposalsSetupcomplete Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Proposals.Setupcomplete.ProposalsSetupcomplete
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Proposals.Setupcomplete.ProposalsSetupcomplete
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Proposals.Setupcomplete.ProposalsSetupcomplete
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Proposals.Setupcomplete.ProposalsSetupcomplete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Proposals.Setupcomplete.ProposalsSetupcomplete


-- | Update the given proposal
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.proposals.update</tt>.
module Network.Google.Resource.AdExchangeBuyer.Proposals.Update

-- | A resource alias for <tt>adexchangebuyer.proposals.update</tt> method
--   which the <a>ProposalsUpdate</a> request conforms to.
type ProposalsUpdateResource = "adexchangebuyer" :> ("v1.4" :> ("proposals" :> (Capture "proposalId" Text :> (Capture "revisionNumber" (Textual Int64) :> (Capture "updateAction" ProposalsUpdateUpdateAction :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Proposal :> Put '[JSON] Proposal)))))))

-- | Creates a value of <a>ProposalsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>puUpdateAction</a></li>
--   <li><a>puRevisionNumber</a></li>
--   <li><a>puPayload</a></li>
--   <li><a>puProposalId</a></li>
--   </ul>
proposalsUpdate :: ProposalsUpdateUpdateAction -> Int64 -> Proposal -> Text -> ProposalsUpdate

-- | Update the given proposal
--   
--   <i>See:</i> <a>proposalsUpdate</a> smart constructor.
data ProposalsUpdate

-- | The proposed action to take on the proposal. This field is required
--   and it must be set when updating a proposal.
puUpdateAction :: Lens' ProposalsUpdate ProposalsUpdateUpdateAction

-- | The last known revision number to update. If the head revision in the
--   marketplace database has since changed, an error will be thrown. The
--   caller should then fetch the latest proposal at head revision and
--   retry the update at that revision.
puRevisionNumber :: Lens' ProposalsUpdate Int64

-- | Multipart request metadata.
puPayload :: Lens' ProposalsUpdate Proposal

-- | The proposal id to update.
puProposalId :: Lens' ProposalsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.Proposals.Update.ProposalsUpdate
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.Proposals.Update.ProposalsUpdate
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.Proposals.Update.ProposalsUpdate
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.Proposals.Update.ProposalsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.Proposals.Update.ProposalsUpdate


-- | Gets the requested publisher profile(s) by publisher accountId.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a> for
--   <tt>adexchangebuyer.pubprofiles.list</tt>.
module Network.Google.Resource.AdExchangeBuyer.PubproFiles.List

-- | A resource alias for <tt>adexchangebuyer.pubprofiles.list</tt> method
--   which the <a>PubproFilesList</a> request conforms to.
type PubproFilesListResource = "adexchangebuyer" :> ("v1.4" :> ("publisher" :> (Capture "accountId" (Textual Int32) :> ("profiles" :> (QueryParam "alt" AltJSON :> Get '[JSON] GetPublisherProFilesByAccountIdResponse)))))

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

-- | Gets the requested publisher profile(s) by publisher accountId.
--   
--   <i>See:</i> <a>pubproFilesList</a> smart constructor.
data PubproFilesList

-- | The accountId of the publisher to get profiles for.
pflAccountId :: Lens' PubproFilesList Int32
instance GHC.Generics.Generic Network.Google.Resource.AdExchangeBuyer.PubproFiles.List.PubproFilesList
instance Data.Data.Data Network.Google.Resource.AdExchangeBuyer.PubproFiles.List.PubproFilesList
instance GHC.Show.Show Network.Google.Resource.AdExchangeBuyer.PubproFiles.List.PubproFilesList
instance GHC.Classes.Eq Network.Google.Resource.AdExchangeBuyer.PubproFiles.List.PubproFilesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdExchangeBuyer.PubproFiles.List.PubproFilesList


-- | Accesses your bidding-account information, submits creatives for
--   validation, finds available direct deals, and retrieves performance
--   reports.
--   
--   <i>See:</i> <a>Ad Exchange Buyer API Reference</a>
module Network.Google.AdExchangeBuyer

-- | Default request referring to version 'v1.4' of the Ad Exchange Buyer
--   API. This contains the host and root path used as a starting point for
--   constructing service requests.
adExchangeBuyerService :: ServiceConfig

-- | Manage your Ad Exchange buyer account configuration
adExchangeBuyerScope :: Proxy '["https://www.googleapis.com/auth/adexchange.buyer"]

-- | Represents the entirety of the methods and resources available for the
--   Ad Exchange Buyer API service.
type AdExchangeBuyerAPI = MarketplaceNotesInsertResource :<|> (MarketplaceNotesListResource :<|> (ProposalsInsertResource :<|> (ProposalsPatchResource :<|> (ProposalsSetupcompleteResource :<|> (ProposalsGetResource :<|> (ProposalsSearchResource :<|> (ProposalsUpdateResource :<|> (AccountsListResource :<|> (AccountsPatchResource :<|> (AccountsGetResource :<|> (AccountsUpdateResource :<|> (BudgetPatchResource :<|> (BudgetGetResource :<|> (BudgetUpdateResource :<|> (CreativesInsertResource :<|> (CreativesRemoveDealResource :<|> (CreativesListResource :<|> (CreativesListDealsResource :<|> (CreativesGetResource :<|> (CreativesAddDealResource :<|> (PerformanceReportListResource :<|> (PretargetingConfigInsertResource :<|> (PretargetingConfigListResource :<|> (PretargetingConfigPatchResource :<|> (PretargetingConfigGetResource :<|> (PretargetingConfigDeleteResource :<|> (PretargetingConfigUpdateResource :<|> (PubproFilesListResource :<|> (BillingInfoListResource :<|> (BillingInfoGetResource :<|> (ProductsGetResource :<|> (ProductsSearchResource :<|> (MarketplaceDealsInsertResource :<|> (MarketplaceDealsListResource :<|> (MarketplaceDealsDeleteResource :<|> (MarketplaceDealsUpdateResource :<|> MarketplaceprivateauctionUpdateproposalResource))))))))))))))))))))))))))))))))))))

-- | A proposal is associated with a bunch of notes which may optionally be
--   associated with a deal and/or revision number.
--   
--   <i>See:</i> <a>marketplaceNote</a> smart constructor.
data MarketplaceNote

-- | Creates a value of <a>MarketplaceNote</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mnNote</a></li>
--   <li><a>mnKind</a></li>
--   <li><a>mnTimestampMs</a></li>
--   <li><a>mnProposalId</a></li>
--   <li><a>mnDealId</a></li>
--   <li><a>mnProposalRevisionNumber</a></li>
--   <li><a>mnNoteId</a></li>
--   <li><a>mnCreatorRole</a></li>
--   </ul>
marketplaceNote :: MarketplaceNote

-- | The actual note to attach. (readonly, except on create)
mnNote :: Lens' MarketplaceNote (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#marketplaceNote".
mnKind :: Lens' MarketplaceNote Text

-- | The timestamp (ms since epoch) that this note was created. (readonly)
mnTimestampMs :: Lens' MarketplaceNote (Maybe Int64)

-- | The proposalId that a note is attached to. (readonly)
mnProposalId :: Lens' MarketplaceNote (Maybe Text)

-- | Notes can optionally be associated with a deal. (readonly, except on
--   create)
mnDealId :: Lens' MarketplaceNote (Maybe Text)

-- | If the note is associated with a proposal revision number, then store
--   that here. (readonly, except on create)
mnProposalRevisionNumber :: Lens' MarketplaceNote (Maybe Int64)

-- | The unique id for the note. (readonly)
mnNoteId :: Lens' MarketplaceNote (Maybe Text)

-- | The role of the person (buyer/seller) creating the note. (readonly)
mnCreatorRole :: Lens' MarketplaceNote (Maybe Text)

-- | If nativeAd is set, HTMLSnippet and the videoURL outside of nativeAd
--   should not be set. (The videoURL inside nativeAd can be set.)
--   
--   <i>See:</i> <a>creativeNATiveAd</a> smart constructor.
data CreativeNATiveAd

-- | Creates a value of <a>CreativeNATiveAd</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cnataImage</a></li>
--   <li><a>cnataAppIcon</a></li>
--   <li><a>cnataClickTrackingURL</a></li>
--   <li><a>cnataClickLinkURL</a></li>
--   <li><a>cnataBody</a></li>
--   <li><a>cnataHeadline</a></li>
--   <li><a>cnataImpressionTrackingURL</a></li>
--   <li><a>cnataCallToAction</a></li>
--   <li><a>cnataStore</a></li>
--   <li><a>cnataVideoURL</a></li>
--   <li><a>cnataPrice</a></li>
--   <li><a>cnataAdvertiser</a></li>
--   <li><a>cnataStarRating</a></li>
--   <li><a>cnataLogo</a></li>
--   </ul>
creativeNATiveAd :: CreativeNATiveAd

-- | A large image.
cnataImage :: Lens' CreativeNATiveAd (Maybe CreativeNATiveAdImage)

-- | The app icon, for app download ads.
cnataAppIcon :: Lens' CreativeNATiveAd (Maybe CreativeNATiveAdAppIcon)

-- | The URL to use for click tracking.
cnataClickTrackingURL :: Lens' CreativeNATiveAd (Maybe Text)

-- | The URL that the browser/SDK will load when the user clicks the ad.
cnataClickLinkURL :: Lens' CreativeNATiveAd (Maybe Text)

-- | A long description of the ad.
cnataBody :: Lens' CreativeNATiveAd (Maybe Text)

-- | A short title for the ad.
cnataHeadline :: Lens' CreativeNATiveAd (Maybe Text)

-- | The URLs are called when the impression is rendered.
cnataImpressionTrackingURL :: Lens' CreativeNATiveAd [Text]

-- | A label for the button that the user is supposed to click.
cnataCallToAction :: Lens' CreativeNATiveAd (Maybe Text)

-- | The URL to the app store to purchase/download the promoted app.
cnataStore :: Lens' CreativeNATiveAd (Maybe Text)

-- | The URL of the XML VAST for a native ad. Note this is a separate field
--   from resource.video_url.
cnataVideoURL :: Lens' CreativeNATiveAd (Maybe Text)

-- | The price of the promoted app including the currency info.
cnataPrice :: Lens' CreativeNATiveAd (Maybe Text)
cnataAdvertiser :: Lens' CreativeNATiveAd (Maybe Text)

-- | The app rating in the app store. Must be in the range [0-5].
cnataStarRating :: Lens' CreativeNATiveAd (Maybe Double)

-- | A smaller image, for the advertiser logo.
cnataLogo :: Lens' CreativeNATiveAd (Maybe CreativeNATiveAdLogo)
data EditAllOrderDealsResponse

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

-- | List of all deals in the proposal after edit.
eaodrDeals :: Lens' EditAllOrderDealsResponse [MarketplaceDeal]

-- | The latest revision number after the update has been applied.
eaodrOrderRevisionNumber :: Lens' EditAllOrderDealsResponse (Maybe Int64)

-- | The creatives feed lists the active creatives for the Ad Exchange
--   buyer accounts that the user has access to. Each entry in the feed
--   corresponds to a single creative.
--   
--   <i>See:</i> <a>creativesList</a> smart constructor.
data CreativesList

-- | 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>clNextPageToken</a></li>
--   <li><a>clKind</a></li>
--   <li><a>clItems</a></li>
--   </ul>
creativesList :: CreativesList

-- | Continuation token used to page through creatives. To retrieve the
--   next page of results, set the next request's "pageToken" value to
--   this.
clNextPageToken :: Lens' CreativesList (Maybe Text)

-- | Resource type.
clKind :: Lens' CreativesList Text

-- | A list of creatives.
clItems :: Lens' CreativesList [Creative]
data CreativeDealIdsDealStatusesItem

-- | Creates a value of <a>CreativeDealIdsDealStatusesItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdidsiArcStatus</a></li>
--   <li><a>cdidsiWebPropertyId</a></li>
--   <li><a>cdidsiDealId</a></li>
--   </ul>
creativeDealIdsDealStatusesItem :: CreativeDealIdsDealStatusesItem

-- | ARC approval status.
cdidsiArcStatus :: Lens' CreativeDealIdsDealStatusesItem (Maybe Text)

-- | Publisher ID.
cdidsiWebPropertyId :: Lens' CreativeDealIdsDealStatusesItem (Maybe Int32)

-- | External deal ID.
cdidsiDealId :: Lens' CreativeDealIdsDealStatusesItem (Maybe Int64)
data CreativeServingRestrictionsItemContextsItem

-- | Creates a value of <a>CreativeServingRestrictionsItemContextsItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csriciPlatform</a></li>
--   <li><a>csriciContextType</a></li>
--   <li><a>csriciAuctionType</a></li>
--   <li><a>csriciGeoCriteriaId</a></li>
--   </ul>
creativeServingRestrictionsItemContextsItem :: CreativeServingRestrictionsItemContextsItem

-- | Only set when contextType=PLATFORM. Represents the platforms this
--   restriction applies to.
csriciPlatform :: Lens' CreativeServingRestrictionsItemContextsItem [Text]

-- | The type of context (e.g., location, platform, auction type,
--   SSL-ness).
csriciContextType :: Lens' CreativeServingRestrictionsItemContextsItem (Maybe Text)

-- | Only set when contextType=AUCTION_TYPE. Represents the auction types
--   this restriction applies to.
csriciAuctionType :: Lens' CreativeServingRestrictionsItemContextsItem [Text]

-- | Only set when contextType=LOCATION. Represents the geo criterias this
--   restriction applies to.
csriciGeoCriteriaId :: Lens' CreativeServingRestrictionsItemContextsItem [Int32]
data CreateOrdersResponse

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

-- | The list of proposals successfully created.
corProposals :: Lens' CreateOrdersResponse [Proposal]
data AccountBidderLocationItem

-- | Creates a value of <a>AccountBidderLocationItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>abliURL</a></li>
--   <li><a>abliMaximumQps</a></li>
--   <li><a>abliRegion</a></li>
--   <li><a>abliBidProtocol</a></li>
--   </ul>
accountBidderLocationItem :: AccountBidderLocationItem

-- | The URL to which the Ad Exchange will send bid requests.
abliURL :: Lens' AccountBidderLocationItem (Maybe Text)

-- | The maximum queries per second the Ad Exchange will send.
abliMaximumQps :: Lens' AccountBidderLocationItem (Maybe Int32)

-- | The geographical region the Ad Exchange should send requests from.
--   Only used by some quota systems, but always setting the value is
--   recommended. Allowed values: - ASIA - EUROPE - US_EAST - US_WEST
abliRegion :: Lens' AccountBidderLocationItem (Maybe Text)

-- | The protocol that the bidder endpoint is using. OpenRTB protocols with
--   prefix PROTOCOL_OPENRTB_PROTOBUF use proto buffer, otherwise use JSON.
--   Allowed values: - PROTOCOL_ADX - PROTOCOL_OPENRTB_2_2 -
--   PROTOCOL_OPENRTB_2_3 - PROTOCOL_OPENRTB_2_4 -
--   PROTOCOL_OPENRTB_PROTOBUF_2_3 - PROTOCOL_OPENRTB_PROTOBUF_2_4
abliBidProtocol :: Lens' AccountBidderLocationItem (Maybe Text)
data PrivateData

-- | Creates a value of <a>PrivateData</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdReferencePayload</a></li>
--   <li><a>pdReferenceId</a></li>
--   </ul>
privateData :: PrivateData
pdReferencePayload :: Lens' PrivateData (Maybe ByteString)
pdReferenceId :: Lens' PrivateData (Maybe Text)

-- | The configuration data for Ad Exchange RTB - Budget API.
--   
--   <i>See:</i> <a>budget</a> smart constructor.
data Budget

-- | Creates a value of <a>Budget</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bCurrencyCode</a></li>
--   <li><a>bKind</a></li>
--   <li><a>bBudgetAmount</a></li>
--   <li><a>bAccountId</a></li>
--   <li><a>bId</a></li>
--   <li><a>bBillingId</a></li>
--   </ul>
budget :: Budget

-- | The currency code for the buyer. This cannot be altered here.
bCurrencyCode :: Lens' Budget (Maybe Text)

-- | The kind of the resource, i.e. "adexchangebuyer#budget".
bKind :: Lens' Budget Text

-- | The daily budget amount in unit amount of the account currency to
--   apply for the billingId provided. This is required for update
--   requests.
bBudgetAmount :: Lens' Budget (Maybe Int64)

-- | The id of the account. This is required for get and update requests.
bAccountId :: Lens' Budget (Maybe Int64)

-- | The unique id that describes this item.
bId :: Lens' Budget (Maybe Text)

-- | The billing id to determine which adgroup to provide budget
--   information for. This is required for get and update requests.
bBillingId :: Lens' Budget (Maybe Int64)
data AddOrderNotesRequest

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

-- | The list of notes to add.
aonrNotes :: Lens' AddOrderNotesRequest [MarketplaceNote]
data DeliveryControlFrequencyCap

-- | Creates a value of <a>DeliveryControlFrequencyCap</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcfcMaxImpressions</a></li>
--   <li><a>dcfcNumTimeUnits</a></li>
--   <li><a>dcfcTimeUnitType</a></li>
--   </ul>
deliveryControlFrequencyCap :: DeliveryControlFrequencyCap
dcfcMaxImpressions :: Lens' DeliveryControlFrequencyCap (Maybe Int32)
dcfcNumTimeUnits :: Lens' DeliveryControlFrequencyCap (Maybe Int32)
dcfcTimeUnitType :: Lens' DeliveryControlFrequencyCap (Maybe Text)
data MarketplaceDealParty

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

-- | The buyer/seller associated with the deal. One of buyer/seller is
--   specified for a deal party.
mdpSeller :: Lens' MarketplaceDealParty (Maybe Seller)

-- | The buyer/seller associated with the deal. One of buyer/seller is
--   specified for a deal-party.
mdpBuyer :: Lens' MarketplaceDealParty (Maybe Buyer)
data GetOrderNotesResponse

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

-- | The list of matching notes. The notes for a proposal are ordered from
--   oldest to newest. If the notes span multiple proposals, they will be
--   grouped by proposal, with the notes for the most recently modified
--   proposal appearing first.
gonrNotes :: Lens' GetOrderNotesResponse [MarketplaceNote]
data GetOrdersResponse

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

-- | The list of matching proposals.
gorProposals :: Lens' GetOrdersResponse [Proposal]
data CreativeServingRestrictionsItemDisApprovalReasonsItem

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

-- | The categorized reason for disapproval.
csridariReason :: Lens' CreativeServingRestrictionsItemDisApprovalReasonsItem (Maybe Text)

-- | Additional details about the reason for disapproval.
csridariDetails :: Lens' CreativeServingRestrictionsItemDisApprovalReasonsItem [Text]

-- | An account feed lists Ad Exchange buyer accounts that the user has
--   access to. Each entry in the feed corresponds to a single buyer
--   account.
--   
--   <i>See:</i> <a>accountsList</a> smart constructor.
data AccountsList

-- | 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>alKind</a></li>
--   <li><a>alItems</a></li>
--   </ul>
accountsList :: AccountsList

-- | Resource type.
alKind :: Lens' AccountsList Text

-- | A list of accounts.
alItems :: Lens' AccountsList [Account]

-- | This message carries publisher provided breakdown. E.g.
--   {dimension_type: 'COUNTRY', [{dimension_value: {id: 1, name: 'US'}},
--   {dimension_value: {id: 2, name: 'UK'}}]}
--   
--   <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>dDimensionValues</a></li>
--   <li><a>dDimensionType</a></li>
--   </ul>
dimension :: Dimension
dDimensionValues :: Lens' Dimension [DimensionDimensionValue]
dDimensionType :: Lens' Dimension (Maybe Text)
data CreateOrdersRequest

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

-- | The list of proposals to create.
cProposals :: Lens' CreateOrdersRequest [Proposal]

-- | Web property id of the seller creating these orders
cWebPropertyCode :: Lens' CreateOrdersRequest (Maybe Text)
data CreativeCorrectionsItem

-- | Creates a value of <a>CreativeCorrectionsItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cciContexts</a></li>
--   <li><a>cciReason</a></li>
--   <li><a>cciDetails</a></li>
--   </ul>
creativeCorrectionsItem :: CreativeCorrectionsItem

-- | All known serving contexts containing serving status information.
cciContexts :: Lens' CreativeCorrectionsItem [CreativeCorrectionsItemContextsItem]

-- | The type of correction that was applied to the creative.
cciReason :: Lens' CreativeCorrectionsItem (Maybe Text)

-- | Additional details about the correction.
cciDetails :: Lens' CreativeCorrectionsItem [Text]
data DealTermsRubiconNonGuaranteedTerms

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

-- | Optional price for Rubicon priority access in the auction.
dtrngtPriorityPrice :: Lens' DealTermsRubiconNonGuaranteedTerms (Maybe Price)

-- | Optional price for Rubicon standard access in the auction.
dtrngtStandardPrice :: Lens' DealTermsRubiconNonGuaranteedTerms (Maybe Price)
data DealServingMetadata

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

-- | Tracks which parties (if any) have paused a deal. (readonly, except
--   via PauseResumeOrderDeals action)
dsmDealPauseStatus :: Lens' DealServingMetadata (Maybe DealServingMetadataDealPauseStatus)
data AddOrderDealsResponse

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

-- | List of deals added (in the same proposal as passed in the request)
aodrDeals :: Lens' AddOrderDealsResponse [MarketplaceDeal]

-- | The updated revision number for the proposal.
aodrProposalRevisionNumber :: Lens' AddOrderDealsResponse (Maybe Int64)
data DeliveryControl

-- | Creates a value of <a>DeliveryControl</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcCreativeBlockingLevel</a></li>
--   <li><a>dcFrequencyCaps</a></li>
--   <li><a>dcDeliveryRateType</a></li>
--   </ul>
deliveryControl :: DeliveryControl
dcCreativeBlockingLevel :: Lens' DeliveryControl (Maybe Text)
dcFrequencyCaps :: Lens' DeliveryControl [DeliveryControlFrequencyCap]
dcDeliveryRateType :: Lens' DeliveryControl (Maybe Text)

-- | Used to specify pricing rules for buyers/advertisers. Each
--   PricePerBuyer in an product can become [0,1] deals. To check if there
--   is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we
--   look for the most specific matching rule - we first look for a rule
--   matching the buyer and advertiser, next a rule with the buyer but an
--   empty advertiser list, and otherwise look for a matching rule where no
--   buyer is set.
--   
--   <i>See:</i> <a>pricePerBuyer</a> smart constructor.
data PricePerBuyer

-- | Creates a value of <a>PricePerBuyer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppbPrice</a></li>
--   <li><a>ppbAuctionTier</a></li>
--   <li><a>ppbBuyer</a></li>
--   </ul>
pricePerBuyer :: PricePerBuyer

-- | The specified price
ppbPrice :: Lens' PricePerBuyer (Maybe Price)

-- | Optional access type for this buyer.
ppbAuctionTier :: Lens' PricePerBuyer (Maybe Text)

-- | The buyer who will pay this price. If unset, all buyers can pay this
--   price (if the advertisers match, and there's no more specific rule
--   matching the buyer).
ppbBuyer :: Lens' PricePerBuyer (Maybe Buyer)

-- | A creative and its classification data.
--   
--   <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>cAttribute</a></li>
--   <li><a>cNATiveAd</a></li>
--   <li><a>cHeight</a></li>
--   <li><a>cBuyerCreativeId</a></li>
--   <li><a>cAdvertiserName</a></li>
--   <li><a>cAdChoicesDestinationURL</a></li>
--   <li><a>cAgencyId</a></li>
--   <li><a>cCorrections</a></li>
--   <li><a>cProductCategories</a></li>
--   <li><a>cKind</a></li>
--   <li><a>cHTMLSnippet</a></li>
--   <li><a>cAdvertiserId</a></li>
--   <li><a>cRestrictedCategories</a></li>
--   <li><a>cDealsStatus</a></li>
--   <li><a>cWidth</a></li>
--   <li><a>cClickThroughURL</a></li>
--   <li><a>cLanguages</a></li>
--   <li><a>cVendorType</a></li>
--   <li><a>cAccountId</a></li>
--   <li><a>cImpressionTrackingURL</a></li>
--   <li><a>cFilteringReasons</a></li>
--   <li><a>cVersion</a></li>
--   <li><a>cSensitiveCategories</a></li>
--   <li><a>cVideoURL</a></li>
--   <li><a>cAPIUploadTimestamp</a></li>
--   <li><a>cServingRestrictions</a></li>
--   <li><a>cDetectedDomains</a></li>
--   <li><a>cOpenAuctionStatus</a></li>
--   </ul>
creative :: Creative

-- | All attributes for the ads that may be shown from this snippet.
cAttribute :: Lens' Creative [Int32]

-- | If nativeAd is set, HTMLSnippet and the videoURL outside of nativeAd
--   should not be set. (The videoURL inside nativeAd can be set.)
cNATiveAd :: Lens' Creative (Maybe CreativeNATiveAd)

-- | Ad height.
cHeight :: Lens' Creative (Maybe Int32)

-- | A buyer-specific id identifying the creative in this ad.
cBuyerCreativeId :: Lens' Creative (Maybe Text)

-- | The name of the company being advertised in the creative.
cAdvertiserName :: Lens' Creative (Maybe Text)

-- | The link to the Ad Preferences page. This is only supported for native
--   ads.
cAdChoicesDestinationURL :: Lens' Creative (Maybe Text)

-- | The agency id for this creative.
cAgencyId :: Lens' Creative (Maybe Int64)

-- | Shows any corrections that were applied to this creative. Read-only.
--   This field should not be set in requests.
cCorrections :: Lens' Creative [CreativeCorrectionsItem]

-- | Detected product categories, if any. Read-only. This field should not
--   be set in requests.
cProductCategories :: Lens' Creative [Int32]

-- | Resource type.
cKind :: Lens' Creative Text

-- | The HTML snippet that displays the ad when inserted in the web page.
--   If set, videoURL should not be set.
cHTMLSnippet :: Lens' Creative (Maybe Text)

-- | Detected advertiser id, if any. Read-only. This field should not be
--   set in requests.
cAdvertiserId :: Lens' Creative [Int64]

-- | All restricted categories for the ads that may be shown from this
--   snippet.
cRestrictedCategories :: Lens' Creative [Int32]

-- | Top-level deals status. Read-only. This field should not be set in
--   requests. If disapproved, an entry for auctionType=DIRECT_DEALS (or
--   ALL) in servingRestrictions will also exist. Note that this may be
--   nuanced with other contextual restrictions, in which case it may be
--   preferable to read from servingRestrictions directly.
cDealsStatus :: Lens' Creative (Maybe Text)

-- | Ad width.
cWidth :: Lens' Creative (Maybe Int32)

-- | The set of destination urls for the snippet.
cClickThroughURL :: Lens' Creative [Text]

-- | Detected languages for this creative. Read-only. This field should not
--   be set in requests.
cLanguages :: Lens' Creative [Text]

-- | All vendor types for the ads that may be shown from this snippet.
cVendorType :: Lens' Creative [Int32]

-- | Account id.
cAccountId :: Lens' Creative (Maybe Int32)

-- | The set of urls to be called to record an impression.
cImpressionTrackingURL :: Lens' Creative [Text]

-- | The filtering reasons for the creative. Read-only. This field should
--   not be set in requests.
cFilteringReasons :: Lens' Creative (Maybe CreativeFilteringReasons)

-- | The version for this creative. Read-only. This field should not be set
--   in requests.
cVersion :: Lens' Creative (Maybe Int32)

-- | Detected sensitive categories, if any. Read-only. This field should
--   not be set in requests.
cSensitiveCategories :: Lens' Creative [Int32]

-- | The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd
--   should not be set. Note, this is different from
--   resource.native_ad.video_url above.
cVideoURL :: Lens' Creative (Maybe Text)

-- | The last upload timestamp of this creative if it was uploaded via API.
--   Read-only. The value of this field is generated, and will be ignored
--   for uploads. (formatted RFC 3339 timestamp).
cAPIUploadTimestamp :: Lens' Creative (Maybe UTCTime)

-- | The granular status of this ad in specific contexts. A context here
--   relates to where something ultimately serves (for example, a physical
--   location, a platform, an HTTPS vs HTTP request, or the type of
--   auction). Read-only. This field should not be set in requests.
cServingRestrictions :: Lens' Creative [CreativeServingRestrictionsItem]

-- | Detected domains for this creative. Read-only. This field should not
--   be set in requests.
cDetectedDomains :: Lens' Creative [Text]

-- | Top-level open auction status. Read-only. This field should not be set
--   in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or
--   ALL) in servingRestrictions will also exist. Note that this may be
--   nuanced with other contextual restrictions, in which case it may be
--   preferable to read from ServingRestrictions directly.
cOpenAuctionStatus :: Lens' Creative (Maybe Text)
data TargetingValueDayPartTargetingDayPart

-- | Creates a value of <a>TargetingValueDayPartTargetingDayPart</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tvdptdpEndHour</a></li>
--   <li><a>tvdptdpStartHour</a></li>
--   <li><a>tvdptdpStartMinute</a></li>
--   <li><a>tvdptdpDayOfWeek</a></li>
--   <li><a>tvdptdpEndMinute</a></li>
--   </ul>
targetingValueDayPartTargetingDayPart :: TargetingValueDayPartTargetingDayPart
tvdptdpEndHour :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Int32)
tvdptdpStartHour :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Int32)
tvdptdpStartMinute :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Int32)
tvdptdpDayOfWeek :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Text)
tvdptdpEndMinute :: Lens' TargetingValueDayPartTargetingDayPart (Maybe Int32)

-- | Value of the dimension.
--   
--   <i>See:</i> <a>dimensionDimensionValue</a> smart constructor.
data DimensionDimensionValue

-- | Creates a value of <a>DimensionDimensionValue</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddvName</a></li>
--   <li><a>ddvId</a></li>
--   <li><a>ddvPercentage</a></li>
--   </ul>
dimensionDimensionValue :: DimensionDimensionValue

-- | Name of the dimension mainly for debugging purposes, except for the
--   case of CREATIVE_SIZE. For CREATIVE_SIZE, strings are used instead of
--   ids.
ddvName :: Lens' DimensionDimensionValue (Maybe Text)

-- | Id of the dimension.
ddvId :: Lens' DimensionDimensionValue (Maybe Int32)

-- | Percent of total impressions for a dimension type. e.g.
--   {dimension_type: 'GENDER', [{dimension_value: {id: 1, name: 'MALE',
--   percentage: 60}}]} Gender MALE is 60% of all impressions which have
--   gender.
ddvPercentage :: Lens' DimensionDimensionValue (Maybe Int32)
data PretargetingConfigList

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

-- | Resource type.
pclKind :: Lens' PretargetingConfigList Text

-- | A list of pretargeting configs
pclItems :: Lens' PretargetingConfigList [PretargetingConfig]
data DealTermsNonGuaranteedFixedPriceTerms

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

-- | Fixed price for the specified buyer.
dtngfptFixedPrices :: Lens' DealTermsNonGuaranteedFixedPriceTerms [PricePerBuyer]

-- | The configuration data for an Ad Exchange performance report list.
--   
--   <i>See:</i> <a>performanceReport</a> smart constructor.
data PerformanceReport

-- | Creates a value of <a>PerformanceReport</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prFilteredBidRate</a></li>
--   <li><a>prKind</a></li>
--   <li><a>prLatency95thPercentile</a></li>
--   <li><a>prCookieMatcherStatusRate</a></li>
--   <li><a>prHostedMatchStatusRate</a></li>
--   <li><a>prUnsuccessfulRequestRate</a></li>
--   <li><a>prBidRequestRate</a></li>
--   <li><a>prQuotaThrottledLimit</a></li>
--   <li><a>prQuotaConfiguredLimit</a></li>
--   <li><a>prSuccessfulRequestRate</a></li>
--   <li><a>prLatency85thPercentile</a></li>
--   <li><a>prCalloutStatusRate</a></li>
--   <li><a>prLatency50thPercentile</a></li>
--   <li><a>prBidRate</a></li>
--   <li><a>prCreativeStatusRate</a></li>
--   <li><a>prNoQuotaInRegion</a></li>
--   <li><a>prRegion</a></li>
--   <li><a>prInventoryMatchRate</a></li>
--   <li><a>prPixelMatchResponses</a></li>
--   <li><a>prTimestamp</a></li>
--   <li><a>prPixelMatchRequests</a></li>
--   <li><a>prOutOfQuota</a></li>
--   </ul>
performanceReport :: PerformanceReport

-- | The number of bid responses that were filtered due to a policy
--   violation or other errors.
prFilteredBidRate :: Lens' PerformanceReport (Maybe Double)

-- | Resource type.
prKind :: Lens' PerformanceReport Text

-- | The 95th percentile round trip latency(ms) as perceived from Google
--   servers for the duration period covered by the report.
prLatency95thPercentile :: Lens' PerformanceReport (Maybe Double)

-- | Average QPS for cookie matcher operations.
prCookieMatcherStatusRate :: Lens' PerformanceReport [JSONValue]

-- | Average QPS for hosted match operations.
prHostedMatchStatusRate :: Lens' PerformanceReport [JSONValue]

-- | The number of bid responses that were unsuccessful due to timeouts,
--   incorrect formatting, etc.
prUnsuccessfulRequestRate :: Lens' PerformanceReport (Maybe Double)

-- | The number of bid requests sent to your bidder.
prBidRequestRate :: Lens' PerformanceReport (Maybe Double)

-- | The throttled quota limits for this account.
prQuotaThrottledLimit :: Lens' PerformanceReport (Maybe Double)

-- | The configured quota limits for this account.
prQuotaConfiguredLimit :: Lens' PerformanceReport (Maybe Double)

-- | The number of properly formed bid responses received by our servers
--   within the deadline.
prSuccessfulRequestRate :: Lens' PerformanceReport (Maybe Double)

-- | The 85th percentile round trip latency(ms) as perceived from Google
--   servers for the duration period covered by the report.
prLatency85thPercentile :: Lens' PerformanceReport (Maybe Double)

-- | Rate of various prefiltering statuses per match. Please refer to the
--   callout-status-codes.txt file for different statuses.
prCalloutStatusRate :: Lens' PerformanceReport [JSONValue]

-- | The 50th percentile round trip latency(ms) as perceived from Google
--   servers for the duration period covered by the report.
prLatency50thPercentile :: Lens' PerformanceReport (Maybe Double)

-- | The number of bid responses with an ad.
prBidRate :: Lens' PerformanceReport (Maybe Double)

-- | Rate of ads with a given status. Please refer to the
--   creative-status-codes.txt file for different statuses.
prCreativeStatusRate :: Lens' PerformanceReport [JSONValue]

-- | Rate of various quota account statuses per quota check.
prNoQuotaInRegion :: Lens' PerformanceReport (Maybe Double)

-- | The trading location of this data.
prRegion :: Lens' PerformanceReport (Maybe Text)

-- | The number of potential queries based on your pretargeting settings.
prInventoryMatchRate :: Lens' PerformanceReport (Maybe Double)

-- | Average QPS for pixel match responses from clients.
prPixelMatchResponses :: Lens' PerformanceReport (Maybe Double)

-- | The unix timestamp of the starting time of this performance data.
prTimestamp :: Lens' PerformanceReport (Maybe Int64)

-- | Average QPS for pixel match requests from clients.
prPixelMatchRequests :: Lens' PerformanceReport (Maybe Double)

-- | Rate of various quota account statuses per quota check.
prOutOfQuota :: Lens' PerformanceReport (Maybe Double)
data PretargetingConfigExcludedPlacementsItem

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

-- | The value of the placement. Interpretation depends on the placement
--   type, e.g. URL for a site placement, channel name for a channel
--   placement, app id for a mobile app placement.
pcepiToken :: Lens' PretargetingConfigExcludedPlacementsItem (Maybe Text)

-- | The type of the placement.
pcepiType :: Lens' PretargetingConfigExcludedPlacementsItem (Maybe Text)
data Seller

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

-- | The unique id for the seller. The seller fills in this field. The
--   seller account id is then available to buyer in the product.
sAccountId :: Lens' Seller (Maybe Text)

-- | Optional sub-account id for the seller.
sSubAccountId :: Lens' Seller (Maybe Text)

-- | Configuration data for an Ad Exchange buyer 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>aMaximumTotalQps</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aCookieMatchingURL</a></li>
--   <li><a>aMaximumActiveCreatives</a></li>
--   <li><a>aCookieMatchingNid</a></li>
--   <li><a>aNumberActiveCreatives</a></li>
--   <li><a>aId</a></li>
--   <li><a>aBidderLocation</a></li>
--   </ul>
account :: Account

-- | The sum of all bidderLocation.maximumQps values cannot exceed this.
--   Please contact your technical account manager if you need to change
--   this.
aMaximumTotalQps :: Lens' Account (Maybe Int32)

-- | Resource type.
aKind :: Lens' Account Text

-- | The base URL used in cookie match requests.
aCookieMatchingURL :: Lens' Account (Maybe Text)

-- | The maximum number of active creatives that an account can have, where
--   a creative is active if it was inserted or bid with in the last 30
--   days. Please contact your technical account manager if you need to
--   change this.
aMaximumActiveCreatives :: Lens' Account (Maybe Int32)

-- | The nid parameter value used in cookie match requests. Please contact
--   your technical account manager if you need to change this.
aCookieMatchingNid :: Lens' Account (Maybe Text)

-- | The number of creatives that this account inserted or bid with in the
--   last 30 days.
aNumberActiveCreatives :: Lens' Account (Maybe Int32)

-- | Account id.
aId :: Lens' Account (Maybe Int32)

-- | Your bidder locations that have distinct URLs.
aBidderLocation :: Lens' Account [AccountBidderLocationItem]
data DeleteOrderDealsRequest

-- | Creates a value of <a>DeleteOrderDealsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dodrUpdateAction</a></li>
--   <li><a>dodrDealIds</a></li>
--   <li><a>dodrProposalRevisionNumber</a></li>
--   </ul>
deleteOrderDealsRequest :: DeleteOrderDealsRequest

-- | Indicates an optional action to take on the proposal
dodrUpdateAction :: Lens' DeleteOrderDealsRequest (Maybe Text)

-- | List of deals to delete for a given proposal
dodrDealIds :: Lens' DeleteOrderDealsRequest [Text]

-- | The last known proposal revision number.
dodrProposalRevisionNumber :: Lens' DeleteOrderDealsRequest (Maybe Int64)

-- | When specified, only creatives having the given open auction status
--   are returned.
data CreativesListOpenAuctionStatusFilter

-- | <tt>approved</tt> Creatives which have been approved for serving on
--   the open auction.
Approved :: CreativesListOpenAuctionStatusFilter

-- | <tt>conditionally_approved</tt> Creatives which have been
--   conditionally approved for serving on the open auction.
ConditionallyApproved :: CreativesListOpenAuctionStatusFilter

-- | <tt>disapproved</tt> Creatives which have been disapproved for serving
--   on the open auction.
DisApproved :: CreativesListOpenAuctionStatusFilter

-- | <tt>not_checked</tt> Creatives whose open auction status is not yet
--   checked.
NotChecked :: CreativesListOpenAuctionStatusFilter
data ContactInformation

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

-- | Email address of the contact.
ciEmail :: Lens' ContactInformation (Maybe Text)

-- | The name of the contact.
ciName :: Lens' ContactInformation (Maybe Text)

-- | A smaller image, for the advertiser logo.
--   
--   <i>See:</i> <a>creativeNATiveAdLogo</a> smart constructor.
data CreativeNATiveAdLogo

-- | Creates a value of <a>CreativeNATiveAdLogo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cnatalHeight</a></li>
--   <li><a>cnatalURL</a></li>
--   <li><a>cnatalWidth</a></li>
--   </ul>
creativeNATiveAdLogo :: CreativeNATiveAdLogo
cnatalHeight :: Lens' CreativeNATiveAdLogo (Maybe Int32)
cnatalURL :: Lens' CreativeNATiveAdLogo (Maybe Text)
cnatalWidth :: Lens' CreativeNATiveAdLogo (Maybe Int32)
data GetOrderDealsResponse

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

-- | List of deals for the proposal
godrDeals :: Lens' GetOrderDealsResponse [MarketplaceDeal]

-- | The configuration data for an Ad Exchange performance report list.
--   
--   <i>See:</i> <a>performanceReportList</a> smart constructor.
data PerformanceReportList

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

-- | Resource type.
prlKind :: Lens' PerformanceReportList Text

-- | A list of performance reports relevant for the account.
prlPerformanceReport :: Lens' PerformanceReportList [PerformanceReport]
data PretargetingConfig

-- | Creates a value of <a>PretargetingConfig</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcPlatforms</a></li>
--   <li><a>pcMobileCarriers</a></li>
--   <li><a>pcVendorTypes</a></li>
--   <li><a>pcExcludedGeoCriteriaIds</a></li>
--   <li><a>pcSupportedCreativeAttributes</a></li>
--   <li><a>pcUserLists</a></li>
--   <li><a>pcKind</a></li>
--   <li><a>pcExcludedPlacements</a></li>
--   <li><a>pcUserIdentifierDataRequired</a></li>
--   <li><a>pcMinimumViewabilityDecile</a></li>
--   <li><a>pcMobileDevices</a></li>
--   <li><a>pcLanguages</a></li>
--   <li><a>pcVerticals</a></li>
--   <li><a>pcVideoPlayerSizes</a></li>
--   <li><a>pcConfigId</a></li>
--   <li><a>pcPlacements</a></li>
--   <li><a>pcExcludedUserLists</a></li>
--   <li><a>pcConfigName</a></li>
--   <li><a>pcGeoCriteriaIds</a></li>
--   <li><a>pcDimensions</a></li>
--   <li><a>pcExcludedVerticals</a></li>
--   <li><a>pcCreativeType</a></li>
--   <li><a>pcIsActive</a></li>
--   <li><a>pcExcludedContentLabels</a></li>
--   <li><a>pcBillingId</a></li>
--   <li><a>pcMobileOperatingSystemVersions</a></li>
--   </ul>
pretargetingConfig :: PretargetingConfig

-- | Requests matching any of these platforms will match. Possible values
--   are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and
--   PRETARGETING_PLATFORM_TABLET.
pcPlatforms :: Lens' PretargetingConfig [Text]

-- | Requests containing any of these mobile carrier ids will match. Values
--   are from mobile-carriers.csv in the downloadable files section.
pcMobileCarriers :: Lens' PretargetingConfig [Int64]

-- | Requests that allow any of these vendor ids will match. Values are
--   from vendors.txt in the downloadable files section.
pcVendorTypes :: Lens' PretargetingConfig [Int64]

-- | Requests containing any of these geo criteria ids will not match.
pcExcludedGeoCriteriaIds :: Lens' PretargetingConfig [Int64]

-- | Creative attributes should be declared here if all creatives
--   corresponding to this pretargeting configuration have that creative
--   attribute. Values are from pretargetable-creative-attributes.txt in
--   the downloadable files section.
pcSupportedCreativeAttributes :: Lens' PretargetingConfig [Int64]

-- | Requests containing any of these user list ids will match.
pcUserLists :: Lens' PretargetingConfig [Int64]

-- | The kind of the resource, i.e. "adexchangebuyer#pretargetingConfig".
pcKind :: Lens' PretargetingConfig Text

-- | Requests containing any of these placements will not match.
pcExcludedPlacements :: Lens' PretargetingConfig [PretargetingConfigExcludedPlacementsItem]

-- | Requests containing the specified type of user data will match.
--   Possible values are HOSTED_MATCH_DATA, which means the request is
--   cookie-targetable and has a match in the buyer's hosted match table,
--   and COOKIE_OR_IDFA, which means the request has either a targetable
--   cookie or an iOS IDFA.
pcUserIdentifierDataRequired :: Lens' PretargetingConfig [Text]

-- | Requests where the predicted viewability is below the specified decile
--   will not match. E.g. if the buyer sets this value to 5, requests from
--   slots where the predicted viewability is below 50% will not match. If
--   the predicted viewability is unknown this field will be ignored.
pcMinimumViewabilityDecile :: Lens' PretargetingConfig (Maybe Int32)

-- | Requests containing any of these mobile device ids will match. Values
--   are from mobile-devices.csv in the downloadable files section.
pcMobileDevices :: Lens' PretargetingConfig [Int64]

-- | Request containing any of these language codes will match.
pcLanguages :: Lens' PretargetingConfig [Text]

-- | Requests containing any of these vertical ids will match.
pcVerticals :: Lens' PretargetingConfig [Int64]

-- | Video requests satisfying any of these player size constraints will
--   match.
pcVideoPlayerSizes :: Lens' PretargetingConfig [PretargetingConfigVideoPlayerSizesItem]

-- | The config id; generated automatically. Leave this field blank for
--   insert requests.
pcConfigId :: Lens' PretargetingConfig (Maybe Int64)

-- | Requests containing any of these placements will match.
pcPlacements :: Lens' PretargetingConfig [PretargetingConfigPlacementsItem]

-- | Requests containing any of these users list ids will not match.
pcExcludedUserLists :: Lens' PretargetingConfig [Int64]

-- | The name of the config. Must be unique. Required for all requests.
pcConfigName :: Lens' PretargetingConfig (Maybe Text)

-- | Requests containing any of these geo criteria ids will match.
pcGeoCriteriaIds :: Lens' PretargetingConfig [Int64]

-- | Requests which allow one of these (width, height) pairs will match.
--   All pairs must be supported ad dimensions.
pcDimensions :: Lens' PretargetingConfig [PretargetingConfigDimensionsItem]

-- | Requests containing any of these vertical ids will not match. Values
--   are from the publisher-verticals.txt file in the downloadable files
--   section.
pcExcludedVerticals :: Lens' PretargetingConfig [Int64]

-- | List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or
--   PRETARGETING_CREATIVE_TYPE_VIDEO.
pcCreativeType :: Lens' PretargetingConfig [Text]

-- | Whether this config is active. Required for all requests.
pcIsActive :: Lens' PretargetingConfig (Maybe Bool)

-- | Requests with any of these content labels will not match. Values are
--   from content-labels.txt in the downloadable files section.
pcExcludedContentLabels :: Lens' PretargetingConfig [Int64]

-- | The id for billing purposes, provided for reference. Leave this field
--   blank for insert requests; the id will be generated automatically.
pcBillingId :: Lens' PretargetingConfig (Maybe Int64)

-- | Requests containing any of these mobile operating system version ids
--   will match. Values are from mobile-os.csv in the downloadable files
--   section.
pcMobileOperatingSystemVersions :: Lens' PretargetingConfig [Int64]

-- | The filtering reasons for the creative. Read-only. This field should
--   not be set in requests.
--   
--   <i>See:</i> <a>creativeFilteringReasons</a> smart constructor.
data CreativeFilteringReasons

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

-- | The filtering reasons.
cfrReasons :: Lens' CreativeFilteringReasons [CreativeFilteringReasonsReasonsItem]

-- | The date in ISO 8601 format for the data. The data is collected from
--   00:00:00 to 23:59:59 in PST.
cfrDate :: Lens' CreativeFilteringReasons (Maybe Text)
data TargetingValueCreativeSize

-- | Creates a value of <a>TargetingValueCreativeSize</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tvcsSize</a></li>
--   <li><a>tvcsCompanionSizes</a></li>
--   <li><a>tvcsSkippableAdType</a></li>
--   <li><a>tvcsCreativeSizeType</a></li>
--   </ul>
targetingValueCreativeSize :: TargetingValueCreativeSize

-- | For regular or video creative size type, specifies the size of the
--   creative.
tvcsSize :: Lens' TargetingValueCreativeSize (Maybe TargetingValueSize)

-- | For video size type, the list of companion sizes.
tvcsCompanionSizes :: Lens' TargetingValueCreativeSize [TargetingValueSize]

-- | The skippable ad type for video size.
tvcsSkippableAdType :: Lens' TargetingValueCreativeSize (Maybe Text)

-- | The Creative size type.
tvcsCreativeSizeType :: Lens' TargetingValueCreativeSize (Maybe Text)
data DealTermsGuaranteedFixedPriceTermsBillingInfo

-- | Creates a value of
--   <a>DealTermsGuaranteedFixedPriceTermsBillingInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtgfptbiCurrencyConversionTimeMs</a></li>
--   <li><a>dtgfptbiDfpLineItemId</a></li>
--   <li><a>dtgfptbiPrice</a></li>
--   <li><a>dtgfptbiOriginalContractedQuantity</a></li>
--   </ul>
dealTermsGuaranteedFixedPriceTermsBillingInfo :: DealTermsGuaranteedFixedPriceTermsBillingInfo

-- | The timestamp (in ms since epoch) when the original reservation price
--   for the deal was first converted to DFP currency. This is used to
--   convert the contracted price into advertiser's currency without
--   discrepancy.
dtgfptbiCurrencyConversionTimeMs :: Lens' DealTermsGuaranteedFixedPriceTermsBillingInfo (Maybe Int64)

-- | The DFP line item id associated with this deal. For features like CPD,
--   buyers can retrieve the DFP line item for billing reconciliation.
dtgfptbiDfpLineItemId :: Lens' DealTermsGuaranteedFixedPriceTermsBillingInfo (Maybe Int64)

-- | The original reservation price for the deal, if the currency code is
--   different from the one used in negotiation.
dtgfptbiPrice :: Lens' DealTermsGuaranteedFixedPriceTermsBillingInfo (Maybe Price)

-- | The original contracted quantity (# impressions) for this deal. To
--   ensure delivery, sometimes the publisher will book the deal with a
--   impression buffer, such that guaranteed_looks is greater than the
--   contracted quantity. However clients are billed using the original
--   contracted quantity.
dtgfptbiOriginalContractedQuantity :: Lens' DealTermsGuaranteedFixedPriceTermsBillingInfo (Maybe Int64)
data GetPublisherProFilesByAccountIdResponse

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

-- | Profiles for the requested publisher
gppfbairProFiles :: Lens' GetPublisherProFilesByAccountIdResponse [PublisherProFileAPIProto]

-- | Represents a proposal in the marketplace. A proposal is the unit of
--   negotiation between a seller and a buyer and contains deals which are
--   served. Each field in a proposal can have one of the following
--   setting: (readonly) - It is an error to try and set this field.
--   (buyer-readonly) - Only the seller can set this field.
--   (seller-readonly) - Only the buyer can set this field. (updatable) -
--   The field is updatable at all times by either buyer or the seller.
--   
--   <i>See:</i> <a>proposal</a> smart constructor.
data Proposal

-- | Creates a value of <a>Proposal</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pBuyerPrivateData</a></li>
--   <li><a>pIsSetupComplete</a></li>
--   <li><a>pInventorySource</a></li>
--   <li><a>pBuyerContacts</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pOriginatorRole</a></li>
--   <li><a>pDBmAdvertiserIds</a></li>
--   <li><a>pRevisionNumber</a></li>
--   <li><a>pBilledBuyer</a></li>
--   <li><a>pPrivateAuctionId</a></li>
--   <li><a>pIsRenegotiating</a></li>
--   <li><a>pHasSellerSignedOff</a></li>
--   <li><a>pSeller</a></li>
--   <li><a>pProposalId</a></li>
--   <li><a>pName</a></li>
--   <li><a>pSellerContacts</a></li>
--   <li><a>pLabels</a></li>
--   <li><a>pRevisionTimeMs</a></li>
--   <li><a>pProposalState</a></li>
--   <li><a>pLastUpdaterOrCommentorRole</a></li>
--   <li><a>pNegotiationId</a></li>
--   <li><a>pHasBuyerSignedOff</a></li>
--   <li><a>pBuyer</a></li>
--   </ul>
proposal :: Proposal

-- | Private data for buyer. (hidden from seller).
pBuyerPrivateData :: Lens' Proposal (Maybe PrivateData)

-- | True, if the buyside inventory setup is complete for this proposal.
--   (readonly, except via OrderSetupCompleted action)
pIsSetupComplete :: Lens' Proposal (Maybe Bool)

-- | What exchange will provide this inventory (readonly, except on
--   create).
pInventorySource :: Lens' Proposal (Maybe Text)

-- | Optional contact information of the buyer. (seller-readonly)
pBuyerContacts :: Lens' Proposal [ContactInformation]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#proposal".
pKind :: Lens' Proposal Text

-- | Indicates whether the buyer/seller created the proposal.(readonly)
pOriginatorRole :: Lens' Proposal (Maybe Text)

-- | IDs of DBM advertisers permission to this proposal.
pDBmAdvertiserIds :: Lens' Proposal [Text]

-- | The revision number for the proposal (readonly).
pRevisionNumber :: Lens' Proposal (Maybe Int64)

-- | Reference to the buyer that will get billed for this proposal.
--   (readonly)
pBilledBuyer :: Lens' Proposal (Maybe Buyer)

-- | Optional private auction id if this proposal is a private auction
--   proposal.
pPrivateAuctionId :: Lens' Proposal (Maybe Text)

-- | True if the proposal is being renegotiated (readonly).
pIsRenegotiating :: Lens' Proposal (Maybe Bool)

-- | When an proposal is in an accepted state, indicates whether the buyer
--   has signed off Once both sides have signed off on a deal, the proposal
--   can be finalized by the seller. (buyer-readonly)
pHasSellerSignedOff :: Lens' Proposal (Maybe Bool)

-- | Reference to the seller on the proposal. (readonly, except on create)
pSeller :: Lens' Proposal (Maybe Seller)

-- | The unique id of the proposal. (readonly).
pProposalId :: Lens' Proposal (Maybe Text)

-- | The name for the proposal (updatable)
pName :: Lens' Proposal (Maybe Text)

-- | Optional contact information of the seller (buyer-readonly).
pSellerContacts :: Lens' Proposal [ContactInformation]

-- | List of labels associated with the proposal. (readonly)
pLabels :: Lens' Proposal [MarketplaceLabel]

-- | The time (ms since epoch) when the proposal was last revised
--   (readonly).
pRevisionTimeMs :: Lens' Proposal (Maybe Int64)

-- | The current state of the proposal. (readonly)
pProposalState :: Lens' Proposal (Maybe Text)

-- | The role of the last user that either updated the proposal or left a
--   comment. (readonly)
pLastUpdaterOrCommentorRole :: Lens' Proposal (Maybe Text)

-- | Optional negotiation id if this proposal is a preferred deal proposal.
pNegotiationId :: Lens' Proposal (Maybe Text)

-- | When an proposal is in an accepted state, indicates whether the buyer
--   has signed off. Once both sides have signed off on a deal, the
--   proposal can be finalized by the seller. (seller-readonly)
pHasBuyerSignedOff :: Lens' Proposal (Maybe Bool)

-- | Reference to the buyer on the proposal. (readonly, except on create)
pBuyer :: Lens' Proposal (Maybe Buyer)

-- | A billing info feed lists Billing Info the Ad Exchange buyer account
--   has access to. Each entry in the feed corresponds to a single billing
--   info.
--   
--   <i>See:</i> <a>billingInfoList</a> smart constructor.
data BillingInfoList

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

-- | Resource type.
bilKind :: Lens' BillingInfoList Text

-- | A list of billing info relevant for your account.
bilItems :: Lens' BillingInfoList [BillingInfo]
data AddOrderNotesResponse

-- | Creates a value of <a>AddOrderNotesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aNotes</a></li>
--   </ul>
addOrderNotesResponse :: AddOrderNotesResponse
aNotes :: Lens' AddOrderNotesResponse [MarketplaceNote]
data TargetingValueSize

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

-- | The height of the creative.
tvsHeight :: Lens' TargetingValueSize (Maybe Int32)

-- | The width of the creative.
tvsWidth :: Lens' TargetingValueSize (Maybe Int32)
data UpdatePrivateAuctionProposalRequest

-- | Creates a value of <a>UpdatePrivateAuctionProposalRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upaprExternalDealId</a></li>
--   <li><a>upaprUpdateAction</a></li>
--   <li><a>upaprNote</a></li>
--   <li><a>upaprProposalRevisionNumber</a></li>
--   </ul>
updatePrivateAuctionProposalRequest :: UpdatePrivateAuctionProposalRequest

-- | The externalDealId of the deal to be updated.
upaprExternalDealId :: Lens' UpdatePrivateAuctionProposalRequest (Maybe Text)

-- | The proposed action on the private auction proposal.
upaprUpdateAction :: Lens' UpdatePrivateAuctionProposalRequest (Maybe Text)

-- | Optional note to be added.
upaprNote :: Lens' UpdatePrivateAuctionProposalRequest (Maybe MarketplaceNote)

-- | The current revision number of the proposal to be updated.
upaprProposalRevisionNumber :: Lens' UpdatePrivateAuctionProposalRequest (Maybe Int64)
data PretargetingConfigDimensionsItem

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

-- | Height in pixels.
pcdiHeight :: Lens' PretargetingConfigDimensionsItem (Maybe Int64)

-- | Width in pixels.
pcdiWidth :: Lens' PretargetingConfigDimensionsItem (Maybe Int64)
data CreativeCorrectionsItemContextsItem

-- | Creates a value of <a>CreativeCorrectionsItemContextsItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cciciPlatform</a></li>
--   <li><a>cciciContextType</a></li>
--   <li><a>cciciAuctionType</a></li>
--   <li><a>cciciGeoCriteriaId</a></li>
--   </ul>
creativeCorrectionsItemContextsItem :: CreativeCorrectionsItemContextsItem

-- | Only set when contextType=PLATFORM. Represents the platforms this
--   correction applies to.
cciciPlatform :: Lens' CreativeCorrectionsItemContextsItem [Text]

-- | The type of context (e.g., location, platform, auction type,
--   SSL-ness).
cciciContextType :: Lens' CreativeCorrectionsItemContextsItem (Maybe Text)

-- | Only set when contextType=AUCTION_TYPE. Represents the auction types
--   this correction applies to.
cciciAuctionType :: Lens' CreativeCorrectionsItemContextsItem [Text]

-- | Only set when contextType=LOCATION. Represents the geo criterias this
--   correction applies to.
cciciGeoCriteriaId :: Lens' CreativeCorrectionsItemContextsItem [Int32]

-- | This message carries publisher provided forecasting information.
--   
--   <i>See:</i> <a>publisherProvidedForecast</a> smart constructor.
data PublisherProvidedForecast

-- | Creates a value of <a>PublisherProvidedForecast</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppfWeeklyImpressions</a></li>
--   <li><a>ppfWeeklyUniques</a></li>
--   <li><a>ppfDimensions</a></li>
--   </ul>
publisherProvidedForecast :: PublisherProvidedForecast

-- | Publisher provided weekly impressions.
ppfWeeklyImpressions :: Lens' PublisherProvidedForecast (Maybe Int64)

-- | Publisher provided weekly uniques.
ppfWeeklyUniques :: Lens' PublisherProvidedForecast (Maybe Int64)

-- | Publisher provided dimensions. E.g. geo, sizes etc...
ppfDimensions :: Lens' PublisherProvidedForecast [Dimension]
data TargetingValue

-- | Creates a value of <a>TargetingValue</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tvCreativeSizeValue</a></li>
--   <li><a>tvStringValue</a></li>
--   <li><a>tvLongValue</a></li>
--   <li><a>tvDayPartTargetingValue</a></li>
--   </ul>
targetingValue :: TargetingValue

-- | The creative size value to exclude/include.
tvCreativeSizeValue :: Lens' TargetingValue (Maybe TargetingValueCreativeSize)

-- | The string value to exclude/include.
tvStringValue :: Lens' TargetingValue (Maybe Text)

-- | The long value to exclude/include.
tvLongValue :: Lens' TargetingValue (Maybe Int64)

-- | The daypart targeting to include / exclude. Filled in when the key is
--   GOOG_DAYPART_TARGETING.
tvDayPartTargetingValue :: Lens' TargetingValue (Maybe TargetingValueDayPartTargeting)

-- | The app icon, for app download ads.
--   
--   <i>See:</i> <a>creativeNATiveAdAppIcon</a> smart constructor.
data CreativeNATiveAdAppIcon

-- | Creates a value of <a>CreativeNATiveAdAppIcon</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cnataaiHeight</a></li>
--   <li><a>cnataaiURL</a></li>
--   <li><a>cnataaiWidth</a></li>
--   </ul>
creativeNATiveAdAppIcon :: CreativeNATiveAdAppIcon
cnataaiHeight :: Lens' CreativeNATiveAdAppIcon (Maybe Int32)
cnataaiURL :: Lens' CreativeNATiveAdAppIcon (Maybe Text)
cnataaiWidth :: Lens' CreativeNATiveAdAppIcon (Maybe Int32)
data Price

-- | Creates a value of <a>Price</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pCurrencyCode</a></li>
--   <li><a>pAmountMicros</a></li>
--   <li><a>pPricingType</a></li>
--   <li><a>pExpectedCpmMicros</a></li>
--   </ul>
price :: Price

-- | The currency code for the price.
pCurrencyCode :: Lens' Price (Maybe Text)

-- | The price value in micros.
pAmountMicros :: Lens' Price (Maybe Double)

-- | The pricing type for the deal/product.
pPricingType :: Lens' Price (Maybe Text)

-- | In case of CPD deals, the expected CPM in micros.
pExpectedCpmMicros :: Lens' Price (Maybe Double)
data PretargetingConfigVideoPlayerSizesItem

-- | Creates a value of <a>PretargetingConfigVideoPlayerSizesItem</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcvpsiMinWidth</a></li>
--   <li><a>pcvpsiAspectRatio</a></li>
--   <li><a>pcvpsiMinHeight</a></li>
--   </ul>
pretargetingConfigVideoPlayerSizesItem :: PretargetingConfigVideoPlayerSizesItem

-- | The minimum player width in pixels. Leave this field blank to match
--   any player width.
pcvpsiMinWidth :: Lens' PretargetingConfigVideoPlayerSizesItem (Maybe Int64)

-- | The type of aspect ratio. Leave this field blank to match all aspect
--   ratios.
pcvpsiAspectRatio :: Lens' PretargetingConfigVideoPlayerSizesItem (Maybe Text)

-- | The minimum player height in pixels. Leave this field blank to match
--   any player height.
pcvpsiMinHeight :: Lens' PretargetingConfigVideoPlayerSizesItem (Maybe Int64)
data EditAllOrderDealsRequest

-- | Creates a value of <a>EditAllOrderDealsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eUpdateAction</a></li>
--   <li><a>eDeals</a></li>
--   <li><a>eProposalRevisionNumber</a></li>
--   <li><a>eProposal</a></li>
--   </ul>
editAllOrderDealsRequest :: EditAllOrderDealsRequest

-- | Indicates an optional action to take on the proposal
eUpdateAction :: Lens' EditAllOrderDealsRequest (Maybe Text)

-- | List of deals to edit. Service may perform 3 different operations
--   based on comparison of deals in this list vs deals already persisted
--   in database: 1. Add new deal to proposal If a deal in this list does
--   not exist in the proposal, the service will create a new deal and add
--   it to the proposal. Validation will follow AddOrderDealsRequest. 2.
--   Update existing deal in the proposal If a deal in this list already
--   exist in the proposal, the service will update that existing deal to
--   this new deal in the request. Validation will follow
--   UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need
--   the id) If a existing deal in the proposal is not present in this
--   list, the service will delete that deal from the proposal. Validation
--   will follow DeleteOrderDealsRequest.
eDeals :: Lens' EditAllOrderDealsRequest [MarketplaceDeal]

-- | The last known revision number for the proposal.
eProposalRevisionNumber :: Lens' EditAllOrderDealsRequest (Maybe Int64)

-- | If specified, also updates the proposal in the batch transaction. This
--   is useful when the proposal and the deals need to be updated in one
--   transaction.
eProposal :: Lens' EditAllOrderDealsRequest (Maybe Proposal)

-- | The configuration data for an Ad Exchange billing info.
--   
--   <i>See:</i> <a>billingInfo</a> smart constructor.
data BillingInfo

-- | Creates a value of <a>BillingInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>biKind</a></li>
--   <li><a>biAccountName</a></li>
--   <li><a>biAccountId</a></li>
--   <li><a>biBillingId</a></li>
--   </ul>
billingInfo :: BillingInfo

-- | Resource type.
biKind :: Lens' BillingInfo Text

-- | Account name.
biAccountName :: Lens' BillingInfo (Maybe Text)

-- | Account id.
biAccountId :: Lens' BillingInfo (Maybe Int32)

-- | A list of adgroup IDs associated with this particular account. These
--   IDs may show up as part of a realtime bidding BidRequest, which
--   indicates a bid request for this account.
biBillingId :: Lens' BillingInfo [Text]
data TargetingValueDayPartTargeting

-- | Creates a value of <a>TargetingValueDayPartTargeting</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tvdptTimeZoneType</a></li>
--   <li><a>tvdptDayParts</a></li>
--   </ul>
targetingValueDayPartTargeting :: TargetingValueDayPartTargeting
tvdptTimeZoneType :: Lens' TargetingValueDayPartTargeting (Maybe Text)
tvdptDayParts :: Lens' TargetingValueDayPartTargeting [TargetingValueDayPartTargetingDayPart]
data SharedTargeting

-- | Creates a value of <a>SharedTargeting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>stKey</a></li>
--   <li><a>stExclusions</a></li>
--   <li><a>stInclusions</a></li>
--   </ul>
sharedTargeting :: SharedTargeting

-- | The key representing the shared targeting criterion.
stKey :: Lens' SharedTargeting (Maybe Text)

-- | The list of values to exclude from targeting. Each value is AND'd
--   together.
stExclusions :: Lens' SharedTargeting [TargetingValue]

-- | The list of value to include as part of the targeting. Each value is
--   OR'd together.
stInclusions :: Lens' SharedTargeting [TargetingValue]

-- | A large image.
--   
--   <i>See:</i> <a>creativeNATiveAdImage</a> smart constructor.
data CreativeNATiveAdImage

-- | Creates a value of <a>CreativeNATiveAdImage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cnataiHeight</a></li>
--   <li><a>cnataiURL</a></li>
--   <li><a>cnataiWidth</a></li>
--   </ul>
creativeNATiveAdImage :: CreativeNATiveAdImage
cnataiHeight :: Lens' CreativeNATiveAdImage (Maybe Int32)
cnataiURL :: Lens' CreativeNATiveAdImage (Maybe Text)
cnataiWidth :: Lens' CreativeNATiveAdImage (Maybe Int32)

-- | A product is segment of inventory that a seller wishes to sell. It is
--   associated with certain terms and targeting information which helps
--   buyer know more about the inventory. Each field in a product can have
--   one of the following setting: (readonly) - It is an error to try and
--   set this field. (buyer-readonly) - Only the seller can set this field.
--   (seller-readonly) - Only the buyer can set this field. (updatable) -
--   The field is updatable at all times by either buyer or the seller.
--   
--   <i>See:</i> <a>product</a> smart constructor.
data Product

-- | Creates a value of <a>Product</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>proState</a></li>
--   <li><a>proInventorySource</a></li>
--   <li><a>proWebPropertyCode</a></li>
--   <li><a>proCreationTimeMs</a></li>
--   <li><a>proTerms</a></li>
--   <li><a>proLastUpdateTimeMs</a></li>
--   <li><a>proKind</a></li>
--   <li><a>proRevisionNumber</a></li>
--   <li><a>proPrivateAuctionId</a></li>
--   <li><a>proDeliveryControl</a></li>
--   <li><a>proHasCreatorSignedOff</a></li>
--   <li><a>proFlightStartTimeMs</a></li>
--   <li><a>proSharedTargetings</a></li>
--   <li><a>proSeller</a></li>
--   <li><a>proSyndicationProduct</a></li>
--   <li><a>proFlightEndTimeMs</a></li>
--   <li><a>proName</a></li>
--   <li><a>proCreatorContacts</a></li>
--   <li><a>proMarketplacePublisherProFileId</a></li>
--   <li><a>proPublisherProvidedForecast</a></li>
--   <li><a>proLabels</a></li>
--   <li><a>proPublisherProFileId</a></li>
--   <li><a>proLegacyOfferId</a></li>
--   <li><a>proProductId</a></li>
--   </ul>
product :: Product

-- | The state of the product. (buyer-readonly)
proState :: Lens' Product (Maybe Text)

-- | What exchange will provide this inventory (readonly, except on
--   create).
proInventorySource :: Lens' Product (Maybe Text)

-- | The web property code for the seller. This field is meant to be copied
--   over as is when creating deals.
proWebPropertyCode :: Lens' Product (Maybe Text)

-- | Creation time in ms. since epoch (readonly)
proCreationTimeMs :: Lens' Product (Maybe Int64)

-- | The negotiable terms of the deal (buyer-readonly)
proTerms :: Lens' Product (Maybe DealTerms)

-- | Time of last update in ms. since epoch (readonly)
proLastUpdateTimeMs :: Lens' Product (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#product".
proKind :: Lens' Product Text

-- | The revision number of the product. (readonly)
proRevisionNumber :: Lens' Product (Maybe Int64)

-- | Optional private auction id if this offer is a private auction offer.
proPrivateAuctionId :: Lens' Product (Maybe Text)

-- | The set of fields around delivery control that are interesting for a
--   buyer to see but are non-negotiable. These are set by the publisher.
--   This message is assigned an id of 100 since some day we would want to
--   model this as a protobuf extension.
proDeliveryControl :: Lens' Product (Maybe DeliveryControl)

-- | If the creator has already signed off on the product, then the buyer
--   can finalize the deal by accepting the product as is. When copying to
--   a proposal, if any of the terms are changed, then auto_finalize is
--   automatically set to false.
proHasCreatorSignedOff :: Lens' Product (Maybe Bool)

-- | Inventory availability dates. (times are in ms since epoch) The
--   granularity is generally in the order of seconds. (buyer-readonly)
proFlightStartTimeMs :: Lens' Product (Maybe Int64)

-- | Targeting that is shared between the buyer and the seller. Each
--   targeting criteria has a specified key and for each key there is a
--   list of inclusion value or exclusion values. (buyer-readonly)
proSharedTargetings :: Lens' Product [SharedTargeting]

-- | Information about the seller that created this product (readonly,
--   except on create)
proSeller :: Lens' Product (Maybe Seller)

-- | The syndication product associated with the deal. (readonly, except on
--   create)
proSyndicationProduct :: Lens' Product (Maybe Text)

-- | The proposed end time for the deal (ms since epoch) (buyer-readonly)
proFlightEndTimeMs :: Lens' Product (Maybe Int64)

-- | The name for this product as set by the seller. (buyer-readonly)
proName :: Lens' Product (Maybe Text)

-- | Optional contact information for the creator of this product.
--   (buyer-readonly)
proCreatorContacts :: Lens' Product [ContactInformation]

-- | Marketplace publisher profile Id. This Id differs from the regular
--   publisher_profile_id in that 1. This is a new id, the old Id will be
--   deprecated in 2017. 2. This id uniquely identifies a publisher profile
--   by itself.
proMarketplacePublisherProFileId :: Lens' Product (Maybe Text)

-- | Publisher self-provided forecast information.
proPublisherProvidedForecast :: Lens' Product (Maybe PublisherProvidedForecast)

-- | Optional List of labels for the product (optional, buyer-readonly).
proLabels :: Lens' Product [MarketplaceLabel]

-- | Id of the publisher profile for a given seller. A (seller.account_id,
--   publisher_profile_id) pair uniquely identifies a publisher profile.
--   Buyers can call the PublisherProfiles::List endpoint to get a list of
--   publisher profiles for a given seller.
proPublisherProFileId :: Lens' Product (Maybe Text)

-- | Optional legacy offer id if this offer is a preferred deal offer.
proLegacyOfferId :: Lens' Product (Maybe Text)

-- | The unique id for the product (readonly)
proProductId :: Lens' Product (Maybe Text)
data CreativeServingRestrictionsItem

-- | Creates a value of <a>CreativeServingRestrictionsItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csriContexts</a></li>
--   <li><a>csriReason</a></li>
--   <li><a>csriDisApprovalReasons</a></li>
--   </ul>
creativeServingRestrictionsItem :: CreativeServingRestrictionsItem

-- | All known contexts/restrictions.
csriContexts :: Lens' CreativeServingRestrictionsItem [CreativeServingRestrictionsItemContextsItem]

-- | Why the creative is ineligible to serve in this context (e.g., it has
--   been explicitly disapproved or is pending review).
csriReason :: Lens' CreativeServingRestrictionsItem (Maybe Text)

-- | The reasons for disapproval within this restriction, if any. Note that
--   not all disapproval reasons may be categorized, so it is possible for
--   the creative to have a status of DISAPPROVED or CONDITIONALLY_APPROVED
--   with an empty list for disapproval_reasons. In this case, please reach
--   out to your TAM to help debug the issue.
csriDisApprovalReasons :: Lens' CreativeServingRestrictionsItem [CreativeServingRestrictionsItemDisApprovalReasonsItem]
data DeleteOrderDealsResponse

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

-- | List of deals deleted (in the same proposal as passed in the request)
dDeals :: Lens' DeleteOrderDealsResponse [MarketplaceDeal]

-- | The updated revision number for the proposal.
dProposalRevisionNumber :: Lens' DeleteOrderDealsResponse (Maybe Int64)
data PretargetingConfigPlacementsItem

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

-- | The value of the placement. Interpretation depends on the placement
--   type, e.g. URL for a site placement, channel name for a channel
--   placement, app id for a mobile app placement.
pcpiToken :: Lens' PretargetingConfigPlacementsItem (Maybe Text)

-- | The type of the placement.
pcpiType :: Lens' PretargetingConfigPlacementsItem (Maybe Text)
data PublisherProFileAPIProto

-- | Creates a value of <a>PublisherProFileAPIProto</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppfapAudience</a></li>
--   <li><a>ppfapState</a></li>
--   <li><a>ppfapMediaKitLink</a></li>
--   <li><a>ppfapDirectContact</a></li>
--   <li><a>ppfapSamplePageLink</a></li>
--   <li><a>ppfapLogoURL</a></li>
--   <li><a>ppfapKind</a></li>
--   <li><a>ppfapExchange</a></li>
--   <li><a>ppfapOverview</a></li>
--   <li><a>ppfapGooglePlusLink</a></li>
--   <li><a>ppfapProFileId</a></li>
--   <li><a>ppfapIsParent</a></li>
--   <li><a>ppfapSeller</a></li>
--   <li><a>ppfapAccountId</a></li>
--   <li><a>ppfapName</a></li>
--   <li><a>ppfapBuyerPitchStatement</a></li>
--   <li><a>ppfapPublisherProvidedForecast</a></li>
--   <li><a>ppfapIsPublished</a></li>
--   <li><a>ppfapPublisherDomains</a></li>
--   <li><a>ppfapPublisherProFileId</a></li>
--   <li><a>ppfapRateCardInfoLink</a></li>
--   <li><a>ppfapTopHeadlines</a></li>
--   <li><a>ppfapProgrammaticContact</a></li>
--   </ul>
publisherProFileAPIProto :: PublisherProFileAPIProto

-- | Publisher provided info on its audience.
ppfapAudience :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | State of the publisher profile.
ppfapState :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | The url for additional marketing and sales materials.
ppfapMediaKitLink :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Direct contact for the publisher profile.
ppfapDirectContact :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Link for a sample content page.
ppfapSamplePageLink :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | The url to the logo for the publisher.
ppfapLogoURL :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#publisherProfileApiProto".
ppfapKind :: Lens' PublisherProFileAPIProto Text

-- | Exchange where this publisher profile is from. E.g. AdX, Rubicon
--   etc...
ppfapExchange :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Publisher provided overview.
ppfapOverview :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Link to publisher's Google+ page.
ppfapGooglePlusLink :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | The pair of (seller.account_id, profile_id) uniquely identifies a
--   publisher profile for a given publisher.
ppfapProFileId :: Lens' PublisherProFileAPIProto (Maybe Int32)

-- | True, if this is the parent profile, which represents all domains
--   owned by the publisher.
ppfapIsParent :: Lens' PublisherProFileAPIProto (Maybe Bool)

-- | Seller of the publisher profile.
ppfapSeller :: Lens' PublisherProFileAPIProto (Maybe Seller)

-- | The account id of the seller.
ppfapAccountId :: Lens' PublisherProFileAPIProto (Maybe Text)
ppfapName :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | A pitch statement for the buyer
ppfapBuyerPitchStatement :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Publisher provided forecasting information.
ppfapPublisherProvidedForecast :: Lens' PublisherProFileAPIProto (Maybe PublisherProvidedForecast)

-- | True, if this profile is published. Deprecated for state.
ppfapIsPublished :: Lens' PublisherProFileAPIProto (Maybe Bool)

-- | The list of domains represented in this publisher profile. Empty if
--   this is a parent profile.
ppfapPublisherDomains :: Lens' PublisherProFileAPIProto [Text]

-- | Unique Id for publisher profile.
ppfapPublisherProFileId :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Link to publisher rate card
ppfapRateCardInfoLink :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | Publisher provided key metrics and rankings.
ppfapTopHeadlines :: Lens' PublisherProFileAPIProto [Text]

-- | Programmatic contact for the publisher profile.
ppfapProgrammaticContact :: Lens' PublisherProFileAPIProto (Maybe Text)

-- | A proposal can contain multiple deals. A deal contains the terms and
--   targeting information that is used for serving.
--   
--   <i>See:</i> <a>marketplaceDeal</a> smart constructor.
data MarketplaceDeal

-- | Creates a value of <a>MarketplaceDeal</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdExternalDealId</a></li>
--   <li><a>mdBuyerPrivateData</a></li>
--   <li><a>mdWebPropertyCode</a></li>
--   <li><a>mdCreationTimeMs</a></li>
--   <li><a>mdTerms</a></li>
--   <li><a>mdLastUpdateTimeMs</a></li>
--   <li><a>mdKind</a></li>
--   <li><a>mdDeliveryControl</a></li>
--   <li><a>mdDealServingMetadata</a></li>
--   <li><a>mdFlightStartTimeMs</a></li>
--   <li><a>mdSharedTargetings</a></li>
--   <li><a>mdIsRfpTemplate</a></li>
--   <li><a>mdProposalId</a></li>
--   <li><a>mdDealId</a></li>
--   <li><a>mdInventoryDescription</a></li>
--   <li><a>mdSyndicationProduct</a></li>
--   <li><a>mdFlightEndTimeMs</a></li>
--   <li><a>mdName</a></li>
--   <li><a>mdSellerContacts</a></li>
--   <li><a>mdProgrammaticCreativeSource</a></li>
--   <li><a>mdCreativePreApprovalPolicy</a></li>
--   <li><a>mdProductRevisionNumber</a></li>
--   <li><a>mdProductId</a></li>
--   <li><a>mdCreativeSafeFrameCompatibility</a></li>
--   </ul>
marketplaceDeal :: MarketplaceDeal

-- | The external deal id assigned to this deal once the deal is finalized.
--   This is the deal-id that shows up in serving/reporting etc. (readonly)
mdExternalDealId :: Lens' MarketplaceDeal (Maybe Text)

-- | Buyer private data (hidden from seller).
mdBuyerPrivateData :: Lens' MarketplaceDeal (Maybe PrivateData)
mdWebPropertyCode :: Lens' MarketplaceDeal (Maybe Text)

-- | The time (ms since epoch) of the deal creation. (readonly)
mdCreationTimeMs :: Lens' MarketplaceDeal (Maybe Int64)

-- | The negotiable terms of the deal. (updatable)
mdTerms :: Lens' MarketplaceDeal (Maybe DealTerms)

-- | The time (ms since epoch) when the deal was last updated. (readonly)
mdLastUpdateTimeMs :: Lens' MarketplaceDeal (Maybe Int64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "adexchangebuyer#marketplaceDeal".
mdKind :: Lens' MarketplaceDeal Text

-- | The set of fields around delivery control that are interesting for a
--   buyer to see but are non-negotiable. These are set by the publisher.
--   This message is assigned an id of 100 since some day we would want to
--   model this as a protobuf extension.
mdDeliveryControl :: Lens' MarketplaceDeal (Maybe DeliveryControl)

-- | Metadata about the serving status of this deal (readonly, writes via
--   custom actions)
mdDealServingMetadata :: Lens' MarketplaceDeal (Maybe DealServingMetadata)

-- | Proposed flight start time of the deal (ms since epoch) This will
--   generally be stored in a granularity of a second. (updatable)
mdFlightStartTimeMs :: Lens' MarketplaceDeal (Maybe Int64)

-- | The shared targeting visible to buyers and sellers. Each shared
--   targeting entity is AND'd together. (updatable)
mdSharedTargetings :: Lens' MarketplaceDeal [SharedTargeting]

-- | Indicates whether the current deal is a RFP template. RFP template is
--   created by buyer and not based on seller created products.
mdIsRfpTemplate :: Lens' MarketplaceDeal (Maybe Bool)
mdProposalId :: Lens' MarketplaceDeal (Maybe Text)

-- | A unique deal-id for the deal (readonly).
mdDealId :: Lens' MarketplaceDeal (Maybe Text)

-- | Description for the deal terms. (buyer-readonly)
mdInventoryDescription :: Lens' MarketplaceDeal (Maybe Text)

-- | The syndication product associated with the deal. (readonly, except on
--   create)
mdSyndicationProduct :: Lens' MarketplaceDeal (Maybe Text)

-- | Proposed flight end time of the deal (ms since epoch) This will
--   generally be stored in a granularity of a second. (updatable)
mdFlightEndTimeMs :: Lens' MarketplaceDeal (Maybe Int64)

-- | The name of the deal. (updatable)
mdName :: Lens' MarketplaceDeal (Maybe Text)

-- | Optional Seller contact information for the deal (buyer-readonly)
mdSellerContacts :: Lens' MarketplaceDeal [ContactInformation]

-- | Specifies the creative source for programmatic deals, PUBLISHER means
--   creative is provided by seller and ADVERTISR means creative is
--   provided by buyer. (buyer-readonly)
mdProgrammaticCreativeSource :: Lens' MarketplaceDeal (Maybe Text)

-- | Specifies the creative pre-approval policy (buyer-readonly)
mdCreativePreApprovalPolicy :: Lens' MarketplaceDeal (Maybe Text)

-- | The revision number of the product that the deal was created from
--   (readonly, except on create)
mdProductRevisionNumber :: Lens' MarketplaceDeal (Maybe Int64)

-- | The product-id from which this deal was created. (readonly, except on
--   create)
mdProductId :: Lens' MarketplaceDeal (Maybe Text)

-- | Specifies whether the creative is safeFrame compatible
--   (buyer-readonly)
mdCreativeSafeFrameCompatibility :: Lens' MarketplaceDeal (Maybe Text)
data GetOffersResponse

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

-- | The returned list of products.
gorProducts :: Lens' GetOffersResponse [Product]
data DealTermsNonGuaranteedAuctionTerms

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

-- | Reserve price for the specified buyer.
dtngatReservePricePerBuyers :: Lens' DealTermsNonGuaranteedAuctionTerms [PricePerBuyer]

-- | True if open auction buyers are allowed to compete with invited buyers
--   in this private auction (buyer-readonly).
dtngatAutoOptimizePrivateAuction :: Lens' DealTermsNonGuaranteedAuctionTerms (Maybe Bool)
data CreativeFilteringReasonsReasonsItem

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

-- | The filtering status code. Please refer to the
--   creative-status-codes.txt file for different statuses.
cfrriFilteringStatus :: Lens' CreativeFilteringReasonsReasonsItem (Maybe Int32)

-- | The number of times the creative was filtered for the status. The
--   count is aggregated across all publishers on the exchange.
cfrriFilteringCount :: Lens' CreativeFilteringReasonsReasonsItem (Maybe Int64)

-- | The proposed action to take on the proposal. This field is required
--   and it must be set when updating a proposal.
data ProposalsPatchUpdateAction

-- | <pre>
--   accept
--   </pre>
Accept :: ProposalsPatchUpdateAction

-- | <pre>
--   cancel
--   </pre>
Cancel :: ProposalsPatchUpdateAction

-- | <pre>
--   propose
--   </pre>
Propose :: ProposalsPatchUpdateAction

-- | <pre>
--   proposeAndAccept
--   </pre>
ProposeAndAccept :: ProposalsPatchUpdateAction

-- | <pre>
--   unknownAction
--   </pre>
UnknownAction :: ProposalsPatchUpdateAction

-- | <pre>
--   updateNonTerms
--   </pre>
UpdateNonTerms :: ProposalsPatchUpdateAction

-- | When specified, only creatives having the given deals status are
--   returned.
data CreativesListDealsStatusFilter

-- | <tt>approved</tt> Creatives which have been approved for serving on
--   deals.
CLDSFApproved :: CreativesListDealsStatusFilter

-- | <tt>conditionally_approved</tt> Creatives which have been
--   conditionally approved for serving on deals.
CLDSFConditionallyApproved :: CreativesListDealsStatusFilter

-- | <tt>disapproved</tt> Creatives which have been disapproved for serving
--   on deals.
CLDSFDisApproved :: CreativesListDealsStatusFilter

-- | <tt>not_checked</tt> Creatives whose deals status is not yet checked.
CLDSFNotChecked :: CreativesListDealsStatusFilter
data DealTerms

-- | Creates a value of <a>DealTerms</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtEstimatedGrossSpend</a></li>
--   <li><a>dtNonGuaranteedFixedPriceTerms</a></li>
--   <li><a>dtNonGuaranteedAuctionTerms</a></li>
--   <li><a>dtRubiconNonGuaranteedTerms</a></li>
--   <li><a>dtBrandingType</a></li>
--   <li><a>dtCrossListedExternalDealIdType</a></li>
--   <li><a>dtEstimatedImpressionsPerDay</a></li>
--   <li><a>dtSellerTimeZone</a></li>
--   <li><a>dtGuaranteedFixedPriceTerms</a></li>
--   <li><a>dtDescription</a></li>
--   </ul>
dealTerms :: DealTerms

-- | Non-binding estimate of the estimated gross spend for this deal Can be
--   set by buyer or seller.
dtEstimatedGrossSpend :: Lens' DealTerms (Maybe Price)

-- | The terms for non-guaranteed fixed price deals.
dtNonGuaranteedFixedPriceTerms :: Lens' DealTerms (Maybe DealTermsNonGuaranteedFixedPriceTerms)

-- | The terms for non-guaranteed auction deals.
dtNonGuaranteedAuctionTerms :: Lens' DealTerms (Maybe DealTermsNonGuaranteedAuctionTerms)

-- | The terms for rubicon non-guaranteed deals.
dtRubiconNonGuaranteedTerms :: Lens' DealTerms (Maybe DealTermsRubiconNonGuaranteedTerms)

-- | Visibilty of the URL in bid requests.
dtBrandingType :: Lens' DealTerms (Maybe Text)

-- | Indicates that this ExternalDealId exists under at least two different
--   AdxInventoryDeals. Currently, the only case that the same
--   ExternalDealId will exist is programmatic cross sell case.
dtCrossListedExternalDealIdType :: Lens' DealTerms (Maybe Text)

-- | Non-binding estimate of the impressions served per day Can be set by
--   buyer or seller.
dtEstimatedImpressionsPerDay :: Lens' DealTerms (Maybe Int64)

-- | For deals with Cost Per Day billing, defines the timezone used to mark
--   the boundaries of a day (buyer-readonly)
dtSellerTimeZone :: Lens' DealTerms (Maybe Text)

-- | The terms for guaranteed fixed price deals.
dtGuaranteedFixedPriceTerms :: Lens' DealTerms (Maybe DealTermsGuaranteedFixedPriceTerms)

-- | Description for the proposed terms of the deal.
dtDescription :: Lens' DealTerms (Maybe Text)

-- | The external deal ids associated with a creative.
--   
--   <i>See:</i> <a>creativeDealIds</a> smart constructor.
data CreativeDealIds

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

-- | Resource type.
cdiKind :: Lens' CreativeDealIds Text

-- | A list of external deal ids and ARC approval status.
cdiDealStatuses :: Lens' CreativeDealIds [CreativeDealIdsDealStatusesItem]
data MarketplaceLabel

-- | Creates a value of <a>MarketplaceLabel</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mlDeprecatedMarketplaceDealParty</a></li>
--   <li><a>mlAccountId</a></li>
--   <li><a>mlCreateTimeMs</a></li>
--   <li><a>mlLabel</a></li>
--   </ul>
marketplaceLabel :: MarketplaceLabel

-- | Information about the party that created the label.
mlDeprecatedMarketplaceDealParty :: Lens' MarketplaceLabel (Maybe MarketplaceDealParty)

-- | The accountId of the party that created the label.
mlAccountId :: Lens' MarketplaceLabel (Maybe Text)

-- | The creation time (in ms since epoch) for the label.
mlCreateTimeMs :: Lens' MarketplaceLabel (Maybe Int64)

-- | The label to use.
mlLabel :: Lens' MarketplaceLabel (Maybe Text)
data Buyer

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

-- | Adx account id of the buyer.
buyAccountId :: Lens' Buyer (Maybe Text)

-- | The proposed action to take on the proposal. This field is required
--   and it must be set when updating a proposal.
data ProposalsUpdateUpdateAction

-- | <pre>
--   accept
--   </pre>
PUUAAccept :: ProposalsUpdateUpdateAction

-- | <pre>
--   cancel
--   </pre>
PUUACancel :: ProposalsUpdateUpdateAction

-- | <pre>
--   propose
--   </pre>
PUUAPropose :: ProposalsUpdateUpdateAction

-- | <pre>
--   proposeAndAccept
--   </pre>
PUUAProposeAndAccept :: ProposalsUpdateUpdateAction

-- | <pre>
--   unknownAction
--   </pre>
PUUAUnknownAction :: ProposalsUpdateUpdateAction

-- | <pre>
--   updateNonTerms
--   </pre>
PUUAUpdateNonTerms :: ProposalsUpdateUpdateAction
data AddOrderDealsRequest

-- | Creates a value of <a>AddOrderDealsRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aUpdateAction</a></li>
--   <li><a>aDeals</a></li>
--   <li><a>aProposalRevisionNumber</a></li>
--   </ul>
addOrderDealsRequest :: AddOrderDealsRequest

-- | Indicates an optional action to take on the proposal
aUpdateAction :: Lens' AddOrderDealsRequest (Maybe Text)

-- | The list of deals to add
aDeals :: Lens' AddOrderDealsRequest [MarketplaceDeal]

-- | The last known proposal revision number.
aProposalRevisionNumber :: Lens' AddOrderDealsRequest (Maybe Int64)

-- | Tracks which parties (if any) have paused a deal. The deal is
--   considered paused if has_buyer_paused || has_seller_paused. Each of
--   the has_buyer_paused or the has_seller_paused bits can be set
--   independently.
--   
--   <i>See:</i> <a>dealServingMetadataDealPauseStatus</a> smart
--   constructor.
data DealServingMetadataDealPauseStatus

-- | Creates a value of <a>DealServingMetadataDealPauseStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsmdpsFirstPausedBy</a></li>
--   <li><a>dsmdpsBuyerPauseReason</a></li>
--   <li><a>dsmdpsHasBuyerPaused</a></li>
--   <li><a>dsmdpsSellerPauseReason</a></li>
--   <li><a>dsmdpsHasSellerPaused</a></li>
--   </ul>
dealServingMetadataDealPauseStatus :: DealServingMetadataDealPauseStatus

-- | If the deal is paused, records which party paused the deal first.
dsmdpsFirstPausedBy :: Lens' DealServingMetadataDealPauseStatus (Maybe Text)
dsmdpsBuyerPauseReason :: Lens' DealServingMetadataDealPauseStatus (Maybe Text)
dsmdpsHasBuyerPaused :: Lens' DealServingMetadataDealPauseStatus (Maybe Bool)
dsmdpsSellerPauseReason :: Lens' DealServingMetadataDealPauseStatus (Maybe Text)
dsmdpsHasSellerPaused :: Lens' DealServingMetadataDealPauseStatus (Maybe Bool)
data DealTermsGuaranteedFixedPriceTerms

-- | Creates a value of <a>DealTermsGuaranteedFixedPriceTerms</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtgfptGuaranteedLooks</a></li>
--   <li><a>dtgfptGuaranteedImpressions</a></li>
--   <li><a>dtgfptBillingInfo</a></li>
--   <li><a>dtgfptFixedPrices</a></li>
--   <li><a>dtgfptMinimumDailyLooks</a></li>
--   </ul>
dealTermsGuaranteedFixedPriceTerms :: DealTermsGuaranteedFixedPriceTerms

-- | Count of guaranteed looks. Required for deal, optional for product.
--   For CPD deals, buyer changes to guaranteed_looks will be ignored.
dtgfptGuaranteedLooks :: Lens' DealTermsGuaranteedFixedPriceTerms (Maybe Int64)

-- | Guaranteed impressions as a percentage. This is the percentage of
--   guaranteed looks that the buyer is guaranteeing to buy.
dtgfptGuaranteedImpressions :: Lens' DealTermsGuaranteedFixedPriceTerms (Maybe Int64)

-- | External billing info for this Deal. This field is relevant when
--   external billing info such as price has a different currency code than
--   DFP/AdX.
dtgfptBillingInfo :: Lens' DealTermsGuaranteedFixedPriceTerms (Maybe DealTermsGuaranteedFixedPriceTermsBillingInfo)

-- | Fixed price for the specified buyer.
dtgfptFixedPrices :: Lens' DealTermsGuaranteedFixedPriceTerms [PricePerBuyer]

-- | Count of minimum daily looks for a CPD deal. For CPD deals, buyer
--   should negotiate on this field instead of guaranteed_looks.
dtgfptMinimumDailyLooks :: Lens' DealTermsGuaranteedFixedPriceTerms (Maybe Int64)
