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


-- | Google AdSense Host SDK.
--   
--   Generates performance reports, generates ad codes, and provides
--   publisher management capabilities for AdSense Hosts.
--   
--   <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>v4.1</tt> of the API.
--   
--   Labels:
--   
--   <ul>
--   <li>Limited Availability</li>
--   </ul>
@package gogol-adsense-host
@version 0.3.0


module Network.Google.AdSenseHost.Types

-- | Default request referring to version 'v4.1' of the AdSense Host API.
--   This contains the host and root path used as a starting point for
--   constructing service requests.
adSenseHostService :: ServiceConfig

-- | View and manage your AdSense host data and associated accounts
adSenseHostScope :: Proxy '["https://www.googleapis.com/auth/adsensehost"]
data AdClients

-- | Creates a value of <a>AdClients</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acEtag</a></li>
--   <li><a>acNextPageToken</a></li>
--   <li><a>acKind</a></li>
--   <li><a>acItems</a></li>
--   </ul>
adClients :: AdClients

-- | ETag of this response for caching purposes.
acEtag :: Lens' AdClients (Maybe Text)

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

-- | Kind of list this is, in this case adsensehost#adClients.
acKind :: Lens' AdClients Text

-- | The ad clients returned in this list response.
acItems :: Lens' AdClients [AdClient]
data AssociationSession

-- | Creates a value of <a>AssociationSession</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asStatus</a></li>
--   <li><a>asKind</a></li>
--   <li><a>asWebsiteLocale</a></li>
--   <li><a>asUserLocale</a></li>
--   <li><a>asAccountId</a></li>
--   <li><a>asProductCodes</a></li>
--   <li><a>asId</a></li>
--   <li><a>asWebsiteURL</a></li>
--   <li><a>asRedirectURL</a></li>
--   </ul>
associationSession :: AssociationSession

-- | Status of the completed association, available once the association
--   callback token has been verified. One of ACCEPTED, REJECTED, or ERROR.
asStatus :: Lens' AssociationSession (Maybe Text)

-- | Kind of resource this is, in this case adsensehost#associationSession.
asKind :: Lens' AssociationSession Text

-- | The locale of the user's hosted website.
asWebsiteLocale :: Lens' AssociationSession (Maybe Text)

-- | The preferred locale of the user themselves when going through the
--   AdSense association flow.
asUserLocale :: Lens' AssociationSession (Maybe Text)

-- | Hosted account id of the associated publisher after association.
--   Present if status is ACCEPTED.
asAccountId :: Lens' AssociationSession (Maybe Text)

-- | The products to associate with the user. Options: AFC, AFG, AFV, AFS
--   (deprecated), AFMC (deprecated)
asProductCodes :: Lens' AssociationSession [Text]

-- | Unique identifier of this association session.
asId :: Lens' AssociationSession (Maybe Text)

-- | The URL of the user's hosted website.
asWebsiteURL :: Lens' AssociationSession (Maybe Text)

-- | Redirect URL of this association session. Used to redirect users into
--   the AdSense association flow.
asRedirectURL :: Lens' AssociationSession (Maybe Text)

-- | Products to associate with the user.
data AssociationSessionsStartProductCode

-- | <tt>AFC</tt> AdSense For Content
Afc :: AssociationSessionsStartProductCode

-- | <tt>AFG</tt> AdSense For Games
Afg :: AssociationSessionsStartProductCode

-- | <tt>AFMC</tt> AdSense For Mobile Content - deprecated
Afmc :: AssociationSessionsStartProductCode

-- | <tt>AFS</tt> AdSense For Search - deprecated
Afs :: AssociationSessionsStartProductCode

-- | <tt>AFV</tt> AdSense For Video
Afv :: AssociationSessionsStartProductCode
data Accounts

-- | Creates a value of <a>Accounts</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aEtag</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aItems</a></li>
--   </ul>
accounts :: Accounts

-- | ETag of this response for caching purposes.
aEtag :: Lens' Accounts (Maybe Text)

-- | Kind of list this is, in this case adsensehost#accounts.
aKind :: Lens' Accounts Text

-- | The accounts returned in this list response.
aItems :: Lens' Accounts [Account]
data AdUnits

-- | Creates a value of <a>AdUnits</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auEtag</a></li>
--   <li><a>auNextPageToken</a></li>
--   <li><a>auKind</a></li>
--   <li><a>auItems</a></li>
--   </ul>
adUnits :: AdUnits

-- | ETag of this response for caching purposes.
auEtag :: Lens' AdUnits (Maybe Text)

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

-- | Kind of list this is, in this case adsensehost#adUnits.
auKind :: Lens' AdUnits Text

-- | The ad units returned in this list response.
auItems :: Lens' AdUnits [AdUnit]
data URLChannels

-- | Creates a value of <a>URLChannels</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ucEtag</a></li>
--   <li><a>ucNextPageToken</a></li>
--   <li><a>ucKind</a></li>
--   <li><a>ucItems</a></li>
--   </ul>
urlChannels :: URLChannels

-- | ETag of this response for caching purposes.
ucEtag :: Lens' URLChannels (Maybe Text)

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

-- | Kind of list this is, in this case adsensehost#urlChannels.
ucKind :: Lens' URLChannels Text

-- | The URL channels returned in this list response.
ucItems :: Lens' URLChannels [URLChannel]
data CustomChannels

-- | Creates a value of <a>CustomChannels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccEtag</a></li>
--   <li><a>ccNextPageToken</a></li>
--   <li><a>ccKind</a></li>
--   <li><a>ccItems</a></li>
--   </ul>
customChannels :: CustomChannels

-- | ETag of this response for caching purposes.
ccEtag :: Lens' CustomChannels (Maybe Text)

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

-- | Kind of list this is, in this case adsensehost#customChannels.
ccKind :: Lens' CustomChannels Text

-- | The custom channels returned in this list response.
ccItems :: Lens' CustomChannels [CustomChannel]
data AdUnit

-- | Creates a value of <a>AdUnit</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auuStatus</a></li>
--   <li><a>auuMobileContentAdsSettings</a></li>
--   <li><a>auuKind</a></li>
--   <li><a>auuCustomStyle</a></li>
--   <li><a>auuName</a></li>
--   <li><a>auuContentAdsSettings</a></li>
--   <li><a>auuCode</a></li>
--   <li><a>auuId</a></li>
--   </ul>
adUnit :: AdUnit

-- | Status of this ad unit. Possible values are: NEW: Indicates that the
--   ad unit was created within the last seven days and does not yet have
--   any activity associated with it. ACTIVE: Indicates that there has been
--   activity on this ad unit in the last seven days. INACTIVE: Indicates
--   that there has been no activity on this ad unit in the last seven
--   days.
auuStatus :: Lens' AdUnit (Maybe Text)

-- | Settings specific to WAP mobile content ads (AFMC - deprecated).
auuMobileContentAdsSettings :: Lens' AdUnit (Maybe AdUnitMobileContentAdsSettings)

-- | Kind of resource this is, in this case adsensehost#adUnit.
auuKind :: Lens' AdUnit Text

-- | Custom style information specific to this ad unit.
auuCustomStyle :: Lens' AdUnit (Maybe AdStyle)

-- | Name of this ad unit.
auuName :: Lens' AdUnit (Maybe Text)

-- | Settings specific to content ads (AFC) and highend mobile content ads
--   (AFMC - deprecated).
auuContentAdsSettings :: Lens' AdUnit (Maybe AdUnitContentAdsSettings)

-- | Identity code of this ad unit, not necessarily unique across ad
--   clients.
auuCode :: Lens' AdUnit (Maybe Text)

-- | Unique identifier of this ad unit. This should be considered an opaque
--   identifier; it is not safe to rely on it being in any particular
--   format.
auuId :: Lens' AdUnit (Maybe Text)
data Report

-- | Creates a value of <a>Report</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rKind</a></li>
--   <li><a>rAverages</a></li>
--   <li><a>rWarnings</a></li>
--   <li><a>rRows</a></li>
--   <li><a>rTotals</a></li>
--   <li><a>rHeaders</a></li>
--   <li><a>rTotalMatchedRows</a></li>
--   </ul>
report :: Report

-- | Kind this is, in this case adsensehost#report.
rKind :: Lens' Report Text

-- | The averages of the report. This is the same length as any other row
--   in the report; cells corresponding to dimension columns are empty.
rAverages :: Lens' Report [Text]

-- | Any warnings associated with generation of the report.
rWarnings :: Lens' Report [Text]

-- | The output rows of the report. Each row is a list of cells; one for
--   each dimension in the request, followed by one for each metric in the
--   request. The dimension cells contain strings, and the metric cells
--   contain numbers.
rRows :: Lens' Report [[Text]]

-- | The totals of the report. This is the same length as any other row in
--   the report; cells corresponding to dimension columns are empty.
rTotals :: Lens' Report [Text]

-- | The header information of the columns requested in the report. This is
--   a list of headers; one for each dimension in the request, followed by
--   one for each metric in the request.
rHeaders :: Lens' Report [ReportHeadersItem]

-- | The total number of rows matched by the report request. Fewer rows may
--   be returned in the response due to being limited by the row count
--   requested or the report row limit.
rTotalMatchedRows :: Lens' Report (Maybe Int64)

-- | The font which is included in the style.
--   
--   <i>See:</i> <a>adStyleFont</a> smart constructor.
data AdStyleFont

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

-- | The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE,
--   ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
asfSize :: Lens' AdStyleFont (Maybe Text)

-- | The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY,
--   ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
asfFamily :: Lens' AdStyleFont (Maybe Text)
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>accStatus</a></li>
--   <li><a>accKind</a></li>
--   <li><a>accName</a></li>
--   <li><a>accId</a></li>
--   </ul>
account :: Account

-- | Approval status of this account. One of: PENDING, APPROVED, DISABLED.
accStatus :: Lens' Account (Maybe Text)

-- | Kind of resource this is, in this case adsensehost#account.
accKind :: Lens' Account Text

-- | Name of this account.
accName :: Lens' Account (Maybe Text)

-- | Unique identifier of this account.
accId :: Lens' Account (Maybe Text)

-- | Settings specific to WAP mobile content ads (AFMC - deprecated).
--   
--   <i>See:</i> <a>adUnitMobileContentAdsSettings</a> smart constructor.
data AdUnitMobileContentAdsSettings

-- | Creates a value of <a>AdUnitMobileContentAdsSettings</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aumcasSize</a></li>
--   <li><a>aumcasScriptingLanguage</a></li>
--   <li><a>aumcasMarkupLanguage</a></li>
--   <li><a>aumcasType</a></li>
--   </ul>
adUnitMobileContentAdsSettings :: AdUnitMobileContentAdsSettings

-- | Size of this ad unit.
aumcasSize :: Lens' AdUnitMobileContentAdsSettings (Maybe Text)

-- | The scripting language to use for this ad unit.
aumcasScriptingLanguage :: Lens' AdUnitMobileContentAdsSettings (Maybe Text)

-- | The markup language to use for this ad unit.
aumcasMarkupLanguage :: Lens' AdUnitMobileContentAdsSettings (Maybe Text)

-- | Type of this ad unit.
aumcasType :: Lens' AdUnitMobileContentAdsSettings (Maybe Text)

-- | The colors included in the style. These are represented as six
--   hexadecimal characters, similar to HTML color codes, but without the
--   leading hash.
--   
--   <i>See:</i> <a>adStyleColors</a> smart constructor.
data AdStyleColors

-- | Creates a value of <a>AdStyleColors</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ascText</a></li>
--   <li><a>ascURL</a></li>
--   <li><a>ascBOrder</a></li>
--   <li><a>ascTitle</a></li>
--   <li><a>ascBackgRound</a></li>
--   </ul>
adStyleColors :: AdStyleColors

-- | The color of the ad text.
ascText :: Lens' AdStyleColors (Maybe Text)

-- | The color of the ad url.
ascURL :: Lens' AdStyleColors (Maybe Text)

-- | The color of the ad border.
ascBOrder :: Lens' AdStyleColors (Maybe Text)

-- | The color of the ad title.
ascTitle :: Lens' AdStyleColors (Maybe Text)

-- | The color of the ad background.
ascBackgRound :: Lens' AdStyleColors (Maybe Text)

-- | The backup option to be used in instances where no ad is available.
--   
--   <i>See:</i> <a>adUnitContentAdsSettingsBackupOption</a> smart
--   constructor.
data AdUnitContentAdsSettingsBackupOption

-- | Creates a value of <a>AdUnitContentAdsSettingsBackupOption</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aucasboColor</a></li>
--   <li><a>aucasboURL</a></li>
--   <li><a>aucasboType</a></li>
--   </ul>
adUnitContentAdsSettingsBackupOption :: AdUnitContentAdsSettingsBackupOption

-- | Color to use when type is set to COLOR. These are represented as six
--   hexadecimal characters, similar to HTML color codes, but without the
--   leading hash.
aucasboColor :: Lens' AdUnitContentAdsSettingsBackupOption (Maybe Text)

-- | URL to use when type is set to URL.
aucasboURL :: Lens' AdUnitContentAdsSettingsBackupOption (Maybe Text)

-- | Type of the backup option. Possible values are BLANK, COLOR and URL.
aucasboType :: Lens' AdUnitContentAdsSettingsBackupOption (Maybe Text)
data AdClient

-- | Creates a value of <a>AdClient</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adKind</a></li>
--   <li><a>adArcOptIn</a></li>
--   <li><a>adSupportsReporting</a></li>
--   <li><a>adId</a></li>
--   <li><a>adProductCode</a></li>
--   </ul>
adClient :: AdClient

-- | Kind of resource this is, in this case adsensehost#adClient.
adKind :: Lens' AdClient Text

-- | Whether this ad client is opted in to ARC.
adArcOptIn :: Lens' AdClient (Maybe Bool)

-- | Whether this ad client supports being reported on.
adSupportsReporting :: Lens' AdClient (Maybe Bool)

-- | Unique identifier of this ad client.
adId :: Lens' AdClient (Maybe Text)

-- | This ad client's product code, which corresponds to the PRODUCT_CODE
--   report dimension.
adProductCode :: Lens' AdClient (Maybe Text)
data ReportHeadersItem

-- | Creates a value of <a>ReportHeadersItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rhiName</a></li>
--   <li><a>rhiCurrency</a></li>
--   <li><a>rhiType</a></li>
--   </ul>
reportHeadersItem :: ReportHeadersItem

-- | The name of the header.
rhiName :: Lens' ReportHeadersItem (Maybe Text)

-- | The currency of this column. Only present if the header type is
--   METRIC_CURRENCY.
rhiCurrency :: Lens' ReportHeadersItem (Maybe Text)

-- | The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO,
--   or METRIC_CURRENCY.
rhiType :: Lens' ReportHeadersItem (Maybe Text)
data AdStyle

-- | Creates a value of <a>AdStyle</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assCorners</a></li>
--   <li><a>assKind</a></li>
--   <li><a>assFont</a></li>
--   <li><a>assColors</a></li>
--   </ul>
adStyle :: AdStyle

-- | The style of the corners in the ad (deprecated: never populated,
--   ignored).
assCorners :: Lens' AdStyle (Maybe Text)

-- | Kind this is, in this case adsensehost#adStyle.
assKind :: Lens' AdStyle Text

-- | The font which is included in the style.
assFont :: Lens' AdStyle (Maybe AdStyleFont)

-- | The colors included in the style. These are represented as six
--   hexadecimal characters, similar to HTML color codes, but without the
--   leading hash.
assColors :: Lens' AdStyle (Maybe AdStyleColors)
data CustomChannel

-- | Creates a value of <a>CustomChannel</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cKind</a></li>
--   <li><a>cName</a></li>
--   <li><a>cCode</a></li>
--   <li><a>cId</a></li>
--   </ul>
customChannel :: CustomChannel

-- | Kind of resource this is, in this case adsensehost#customChannel.
cKind :: Lens' CustomChannel Text

-- | Name of this custom channel.
cName :: Lens' CustomChannel (Maybe Text)

-- | Code of this custom channel, not necessarily unique across ad clients.
cCode :: Lens' CustomChannel (Maybe Text)

-- | Unique identifier of this custom channel. This should be considered an
--   opaque identifier; it is not safe to rely on it being in any
--   particular format.
cId :: Lens' CustomChannel (Maybe Text)
data URLChannel

-- | Creates a value of <a>URLChannel</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urlcKind</a></li>
--   <li><a>urlcId</a></li>
--   <li><a>urlcURLPattern</a></li>
--   </ul>
urlChannel :: URLChannel

-- | Kind of resource this is, in this case adsensehost#urlChannel.
urlcKind :: Lens' URLChannel Text

-- | Unique identifier of this URL channel. This should be considered an
--   opaque identifier; it is not safe to rely on it being in any
--   particular format.
urlcId :: Lens' URLChannel (Maybe Text)

-- | URL Pattern of this URL channel. Does not include "http://" or
--   "https://". Example: www.example.com/home
urlcURLPattern :: Lens' URLChannel (Maybe Text)
data AdCode

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

-- | Kind this is, in this case adsensehost#adCode.
aaKind :: Lens' AdCode Text

-- | The ad code snippet.
aaAdCode :: Lens' AdCode (Maybe Text)

-- | Settings specific to content ads (AFC) and highend mobile content ads
--   (AFMC - deprecated).
--   
--   <i>See:</i> <a>adUnitContentAdsSettings</a> smart constructor.
data AdUnitContentAdsSettings

-- | Creates a value of <a>AdUnitContentAdsSettings</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aucasBackupOption</a></li>
--   <li><a>aucasSize</a></li>
--   <li><a>aucasType</a></li>
--   </ul>
adUnitContentAdsSettings :: AdUnitContentAdsSettings

-- | The backup option to be used in instances where no ad is available.
aucasBackupOption :: Lens' AdUnitContentAdsSettings (Maybe AdUnitContentAdsSettingsBackupOption)

-- | Size of this ad unit. Size values are in the form
--   SIZE_{width}_{height}.
aucasSize :: Lens' AdUnitContentAdsSettings (Maybe Text)

-- | Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and
--   LINK.
aucasType :: Lens' AdUnitContentAdsSettings (Maybe Text)


-- | Get information about one of the ad clients in the specified
--   publisher's AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.adclients.get</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.AdClients.Get

-- | A resource alias for <tt>adsensehost.accounts.adclients.get</tt>
--   method which the <a>AccountsAdClientsGet</a> request conforms to.
type AccountsAdClientsGetResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("adclients" :> (Capture "adClientId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] AdClient))))))

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

-- | Get information about one of the ad clients in the specified
--   publisher's AdSense account.
--   
--   <i>See:</i> <a>accountsAdClientsGet</a> smart constructor.
data AccountsAdClientsGet

-- | Ad client to get.
aacgAdClientId :: Lens' AccountsAdClientsGet Text

-- | Account which contains the ad client.
aacgAccountId :: Lens' AccountsAdClientsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.AdClients.Get.AccountsAdClientsGet
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.AdClients.Get.AccountsAdClientsGet
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.AdClients.Get.AccountsAdClientsGet
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.AdClients.Get.AccountsAdClientsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.AdClients.Get.AccountsAdClientsGet


-- | List all hosted ad clients in the specified hosted account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.adclients.list</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.AdClients.List

-- | A resource alias for <tt>adsensehost.accounts.adclients.list</tt>
--   method which the <a>AccountsAdClientsList</a> request conforms to.
type AccountsAdClientsListResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("adclients" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AdClients)))))))

-- | Creates a value of <a>AccountsAdClientsList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaclAccountId</a></li>
--   <li><a>aaclPageToken</a></li>
--   <li><a>aaclMaxResults</a></li>
--   </ul>
accountsAdClientsList :: Text -> AccountsAdClientsList

-- | List all hosted ad clients in the specified hosted account.
--   
--   <i>See:</i> <a>accountsAdClientsList</a> smart constructor.
data AccountsAdClientsList

-- | Account for which to list ad clients.
aaclAccountId :: Lens' AccountsAdClientsList Text

-- | 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.
aaclPageToken :: Lens' AccountsAdClientsList (Maybe Text)

-- | The maximum number of ad clients to include in the response, used for
--   paging.
aaclMaxResults :: Lens' AccountsAdClientsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.AdClients.List.AccountsAdClientsList
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.AdClients.List.AccountsAdClientsList
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.AdClients.List.AccountsAdClientsList
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.AdClients.List.AccountsAdClientsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.AdClients.List.AccountsAdClientsList


-- | Delete the specified ad unit from the specified publisher AdSense
--   account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.adunits.delete</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Delete

-- | A resource alias for <tt>adsensehost.accounts.adunits.delete</tt>
--   method which the <a>AccountsAdUnitsDelete</a> request conforms to.
type AccountsAdUnitsDeleteResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("adclients" :> (Capture "adClientId" Text :> ("adunits" :> (Capture "adUnitId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] AdUnit))))))))

-- | Creates a value of <a>AccountsAdUnitsDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaudAdUnitId</a></li>
--   <li><a>aaudAdClientId</a></li>
--   <li><a>aaudAccountId</a></li>
--   </ul>
accountsAdUnitsDelete :: Text -> Text -> Text -> AccountsAdUnitsDelete

-- | Delete the specified ad unit from the specified publisher AdSense
--   account.
--   
--   <i>See:</i> <a>accountsAdUnitsDelete</a> smart constructor.
data AccountsAdUnitsDelete

-- | Ad unit to delete.
aaudAdUnitId :: Lens' AccountsAdUnitsDelete Text

-- | Ad client for which to get ad unit.
aaudAdClientId :: Lens' AccountsAdUnitsDelete Text

-- | Account which contains the ad unit.
aaudAccountId :: Lens' AccountsAdUnitsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Delete.AccountsAdUnitsDelete
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Delete.AccountsAdUnitsDelete
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Delete.AccountsAdUnitsDelete
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Delete.AccountsAdUnitsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Delete.AccountsAdUnitsDelete


-- | Get the specified host ad unit in this AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.adunits.get</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Get

-- | A resource alias for <tt>adsensehost.accounts.adunits.get</tt> method
--   which the <a>AccountsAdUnitsGet</a> request conforms to.
type AccountsAdUnitsGetResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("adclients" :> (Capture "adClientId" Text :> ("adunits" :> (Capture "adUnitId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] AdUnit))))))))

-- | Creates a value of <a>AccountsAdUnitsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaugAdUnitId</a></li>
--   <li><a>aaugAdClientId</a></li>
--   <li><a>aaugAccountId</a></li>
--   </ul>
accountsAdUnitsGet :: Text -> Text -> Text -> AccountsAdUnitsGet

-- | Get the specified host ad unit in this AdSense account.
--   
--   <i>See:</i> <a>accountsAdUnitsGet</a> smart constructor.
data AccountsAdUnitsGet

-- | Ad unit to get.
aaugAdUnitId :: Lens' AccountsAdUnitsGet Text

-- | Ad client for which to get ad unit.
aaugAdClientId :: Lens' AccountsAdUnitsGet Text

-- | Account which contains the ad unit.
aaugAccountId :: Lens' AccountsAdUnitsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Get.AccountsAdUnitsGet
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Get.AccountsAdUnitsGet
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Get.AccountsAdUnitsGet
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Get.AccountsAdUnitsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Get.AccountsAdUnitsGet


-- | Get ad code for the specified ad unit, attaching the specified host
--   custom channels.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.adunits.getAdCode</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.AdUnits.GetAdCode

-- | A resource alias for <tt>adsensehost.accounts.adunits.getAdCode</tt>
--   method which the <a>AccountsAdUnitsGetAdCode</a> request conforms to.
type AccountsAdUnitsGetAdCodeResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("adclients" :> (Capture "adClientId" Text :> ("adunits" :> (Capture "adUnitId" Text :> ("adcode" :> (QueryParams "hostCustomChannelId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] AdCode))))))))))

-- | Creates a value of <a>AccountsAdUnitsGetAdCode</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaugacAdUnitId</a></li>
--   <li><a>aaugacAdClientId</a></li>
--   <li><a>aaugacAccountId</a></li>
--   <li><a>aaugacHostCustomChannelId</a></li>
--   </ul>
accountsAdUnitsGetAdCode :: Text -> Text -> Text -> AccountsAdUnitsGetAdCode

-- | Get ad code for the specified ad unit, attaching the specified host
--   custom channels.
--   
--   <i>See:</i> <a>accountsAdUnitsGetAdCode</a> smart constructor.
data AccountsAdUnitsGetAdCode

-- | Ad unit to get the code for.
aaugacAdUnitId :: Lens' AccountsAdUnitsGetAdCode Text

-- | Ad client with contains the ad unit.
aaugacAdClientId :: Lens' AccountsAdUnitsGetAdCode Text

-- | Account which contains the ad client.
aaugacAccountId :: Lens' AccountsAdUnitsGetAdCode Text

-- | Host custom channel to attach to the ad code.
aaugacHostCustomChannelId :: Lens' AccountsAdUnitsGetAdCode [Text]
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.AdUnits.GetAdCode.AccountsAdUnitsGetAdCode
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.AdUnits.GetAdCode.AccountsAdUnitsGetAdCode
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.AdUnits.GetAdCode.AccountsAdUnitsGetAdCode
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.AdUnits.GetAdCode.AccountsAdUnitsGetAdCode
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.AdUnits.GetAdCode.AccountsAdUnitsGetAdCode


-- | Insert the supplied ad unit into the specified publisher AdSense
--   account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.adunits.insert</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Insert

-- | A resource alias for <tt>adsensehost.accounts.adunits.insert</tt>
--   method which the <a>AccountsAdUnitsInsert</a> request conforms to.
type AccountsAdUnitsInsertResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("adclients" :> (Capture "adClientId" Text :> ("adunits" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AdUnit :> Post '[JSON] AdUnit))))))))

-- | Creates a value of <a>AccountsAdUnitsInsert</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aauiPayload</a></li>
--   <li><a>aauiAdClientId</a></li>
--   <li><a>aauiAccountId</a></li>
--   </ul>
accountsAdUnitsInsert :: AdUnit -> Text -> Text -> AccountsAdUnitsInsert

-- | Insert the supplied ad unit into the specified publisher AdSense
--   account.
--   
--   <i>See:</i> <a>accountsAdUnitsInsert</a> smart constructor.
data AccountsAdUnitsInsert

-- | Multipart request metadata.
aauiPayload :: Lens' AccountsAdUnitsInsert AdUnit

-- | Ad client into which to insert the ad unit.
aauiAdClientId :: Lens' AccountsAdUnitsInsert Text

-- | Account which will contain the ad unit.
aauiAccountId :: Lens' AccountsAdUnitsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Insert.AccountsAdUnitsInsert
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Insert.AccountsAdUnitsInsert
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Insert.AccountsAdUnitsInsert
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Insert.AccountsAdUnitsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Insert.AccountsAdUnitsInsert


-- | List all ad units in the specified publisher's AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.adunits.list</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.AdUnits.List

-- | A resource alias for <tt>adsensehost.accounts.adunits.list</tt> method
--   which the <a>AccountsAdUnitsList</a> request conforms to.
type AccountsAdUnitsListResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("adclients" :> (Capture "adClientId" Text :> ("adunits" :> (QueryParam "includeInactive" Bool :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AdUnits))))))))))

-- | Creates a value of <a>AccountsAdUnitsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaulIncludeInactive</a></li>
--   <li><a>aaulAdClientId</a></li>
--   <li><a>aaulAccountId</a></li>
--   <li><a>aaulPageToken</a></li>
--   <li><a>aaulMaxResults</a></li>
--   </ul>
accountsAdUnitsList :: Text -> Text -> AccountsAdUnitsList

-- | List all ad units in the specified publisher's AdSense account.
--   
--   <i>See:</i> <a>accountsAdUnitsList</a> smart constructor.
data AccountsAdUnitsList

-- | Whether to include inactive ad units. Default: true.
aaulIncludeInactive :: Lens' AccountsAdUnitsList (Maybe Bool)

-- | Ad client for which to list ad units.
aaulAdClientId :: Lens' AccountsAdUnitsList Text

-- | Account which contains the ad client.
aaulAccountId :: Lens' AccountsAdUnitsList Text

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

-- | The maximum number of ad units to include in the response, used for
--   paging.
aaulMaxResults :: Lens' AccountsAdUnitsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.AdUnits.List.AccountsAdUnitsList
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.AdUnits.List.AccountsAdUnitsList
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.AdUnits.List.AccountsAdUnitsList
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.AdUnits.List.AccountsAdUnitsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.AdUnits.List.AccountsAdUnitsList


-- | Update the supplied ad unit in the specified publisher AdSense
--   account. This method supports patch semantics.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.adunits.patch</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Patch

-- | A resource alias for <tt>adsensehost.accounts.adunits.patch</tt>
--   method which the <a>AccountsAdUnitsPatch</a> request conforms to.
type AccountsAdUnitsPatchResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("adclients" :> (Capture "adClientId" Text :> ("adunits" :> (QueryParam "adUnitId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AdUnit :> Patch '[JSON] AdUnit)))))))))

-- | Creates a value of <a>AccountsAdUnitsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaupAdUnitId</a></li>
--   <li><a>aaupPayload</a></li>
--   <li><a>aaupAdClientId</a></li>
--   <li><a>aaupAccountId</a></li>
--   </ul>
accountsAdUnitsPatch :: Text -> AdUnit -> Text -> Text -> AccountsAdUnitsPatch

-- | Update the supplied ad unit in the specified publisher AdSense
--   account. This method supports patch semantics.
--   
--   <i>See:</i> <a>accountsAdUnitsPatch</a> smart constructor.
data AccountsAdUnitsPatch

-- | Ad unit to get.
aaupAdUnitId :: Lens' AccountsAdUnitsPatch Text

-- | Multipart request metadata.
aaupPayload :: Lens' AccountsAdUnitsPatch AdUnit

-- | Ad client which contains the ad unit.
aaupAdClientId :: Lens' AccountsAdUnitsPatch Text

-- | Account which contains the ad client.
aaupAccountId :: Lens' AccountsAdUnitsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Patch.AccountsAdUnitsPatch
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Patch.AccountsAdUnitsPatch
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Patch.AccountsAdUnitsPatch
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Patch.AccountsAdUnitsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Patch.AccountsAdUnitsPatch


-- | Update the supplied ad unit in the specified publisher AdSense
--   account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.adunits.update</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Update

-- | A resource alias for <tt>adsensehost.accounts.adunits.update</tt>
--   method which the <a>AccountsAdUnitsUpdate</a> request conforms to.
type AccountsAdUnitsUpdateResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("adclients" :> (Capture "adClientId" Text :> ("adunits" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AdUnit :> Put '[JSON] AdUnit))))))))

-- | Creates a value of <a>AccountsAdUnitsUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aauuPayload</a></li>
--   <li><a>aauuAdClientId</a></li>
--   <li><a>aauuAccountId</a></li>
--   </ul>
accountsAdUnitsUpdate :: AdUnit -> Text -> Text -> AccountsAdUnitsUpdate

-- | Update the supplied ad unit in the specified publisher AdSense
--   account.
--   
--   <i>See:</i> <a>accountsAdUnitsUpdate</a> smart constructor.
data AccountsAdUnitsUpdate

-- | Multipart request metadata.
aauuPayload :: Lens' AccountsAdUnitsUpdate AdUnit

-- | Ad client which contains the ad unit.
aauuAdClientId :: Lens' AccountsAdUnitsUpdate Text

-- | Account which contains the ad client.
aauuAccountId :: Lens' AccountsAdUnitsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Update.AccountsAdUnitsUpdate
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Update.AccountsAdUnitsUpdate
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Update.AccountsAdUnitsUpdate
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Update.AccountsAdUnitsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.AdUnits.Update.AccountsAdUnitsUpdate


-- | Get information about the selected associated AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.get</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.Get

-- | A resource alias for <tt>adsensehost.accounts.get</tt> method which
--   the <a>AccountsGet</a> request conforms to.
type AccountsGetResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> (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>agAccountId</a></li>
--   </ul>
accountsGet :: Text -> AccountsGet

-- | Get information about the selected associated AdSense account.
--   
--   <i>See:</i> <a>accountsGet</a> smart constructor.
data AccountsGet

-- | Account to get information about.
agAccountId :: Lens' AccountsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.Get.AccountsGet
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.Get.AccountsGet
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.Get.AccountsGet
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.Get.AccountsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.Get.AccountsGet


-- | List hosted accounts associated with this AdSense account by ad client
--   id.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.list</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.List

-- | A resource alias for <tt>adsensehost.accounts.list</tt> method which
--   the <a>AccountsList</a> request conforms to.
type AccountsListResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (QueryParams "filterAdClientId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Accounts))))

-- | 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>alFilterAdClientId</a></li>
--   </ul>
accountsList :: [Text] -> AccountsList

-- | List hosted accounts associated with this AdSense account by ad client
--   id.
--   
--   <i>See:</i> <a>accountsList</a> smart constructor.
data AccountsList

-- | Ad clients to list accounts for.
alFilterAdClientId :: Lens' AccountsList [Text]
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.List.AccountsList
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.List.AccountsList
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.List.AccountsList
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.List.AccountsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.List.AccountsList


-- | Generate an AdSense report based on the report request sent in the
--   query parameters. Returns the result as JSON; to retrieve output in
--   CSV format specify "alt=csv" as a query parameter.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.accounts.reports.generate</tt>.
module Network.Google.Resource.AdSenseHost.Accounts.Reports.Generate

-- | A resource alias for <tt>adsensehost.accounts.reports.generate</tt>
--   method which the <a>AccountsReportsGenerate</a> request conforms to.
type AccountsReportsGenerateResource = "adsensehost" :> ("v4.1" :> ("accounts" :> (Capture "accountId" Text :> ("reports" :> (QueryParam "startDate" Text :> (QueryParam "endDate" Text :> (QueryParams "dimension" Text :> (QueryParam "locale" Text :> (QueryParams "metric" Text :> (QueryParams "sort" Text :> (QueryParams "filter" Text :> (QueryParam "startIndex" (Textual Word32) :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] Report))))))))))))))

-- | Creates a value of <a>AccountsReportsGenerate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>argDimension</a></li>
--   <li><a>argLocale</a></li>
--   <li><a>argEndDate</a></li>
--   <li><a>argStartDate</a></li>
--   <li><a>argAccountId</a></li>
--   <li><a>argMetric</a></li>
--   <li><a>argSort</a></li>
--   <li><a>argFilter</a></li>
--   <li><a>argStartIndex</a></li>
--   <li><a>argMaxResults</a></li>
--   </ul>
accountsReportsGenerate :: Text -> Text -> Text -> AccountsReportsGenerate

-- | Generate an AdSense report based on the report request sent in the
--   query parameters. Returns the result as JSON; to retrieve output in
--   CSV format specify "alt=csv" as a query parameter.
--   
--   <i>See:</i> <a>accountsReportsGenerate</a> smart constructor.
data AccountsReportsGenerate

-- | Dimensions to base the report on.
argDimension :: Lens' AccountsReportsGenerate [Text]

-- | Optional locale to use for translating report output to a local
--   language. Defaults to "en_US" if not specified.
argLocale :: Lens' AccountsReportsGenerate (Maybe Text)

-- | End of the date range to report on in "YYYY-MM-DD" format, inclusive.
argEndDate :: Lens' AccountsReportsGenerate Text

-- | Start of the date range to report on in "YYYY-MM-DD" format,
--   inclusive.
argStartDate :: Lens' AccountsReportsGenerate Text

-- | Hosted account upon which to report.
argAccountId :: Lens' AccountsReportsGenerate Text

-- | Numeric columns to include in the report.
argMetric :: Lens' AccountsReportsGenerate [Text]

-- | The name of a dimension or metric to sort the resulting report on,
--   optionally prefixed with "+" to sort ascending or "-" to sort
--   descending. If no prefix is specified, the column is sorted ascending.
argSort :: Lens' AccountsReportsGenerate [Text]

-- | Filters to be run on the report.
argFilter :: Lens' AccountsReportsGenerate [Text]

-- | Index of the first row of report data to return.
argStartIndex :: Lens' AccountsReportsGenerate (Maybe Word32)

-- | The maximum number of rows of report data to return.
argMaxResults :: Lens' AccountsReportsGenerate (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Accounts.Reports.Generate.AccountsReportsGenerate
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Accounts.Reports.Generate.AccountsReportsGenerate
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Accounts.Reports.Generate.AccountsReportsGenerate
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Accounts.Reports.Generate.AccountsReportsGenerate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Accounts.Reports.Generate.AccountsReportsGenerate


-- | Get information about one of the ad clients in the Host AdSense
--   account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.adclients.get</tt>.
module Network.Google.Resource.AdSenseHost.AdClients.Get

-- | A resource alias for <tt>adsensehost.adclients.get</tt> method which
--   the <a>AdClientsGet</a> request conforms to.
type AdClientsGetResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] AdClient))))

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

-- | Get information about one of the ad clients in the Host AdSense
--   account.
--   
--   <i>See:</i> <a>adClientsGet</a> smart constructor.
data AdClientsGet

-- | Ad client to get.
acgAdClientId :: Lens' AdClientsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.AdClients.Get.AdClientsGet
instance Data.Data.Data Network.Google.Resource.AdSenseHost.AdClients.Get.AdClientsGet
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.AdClients.Get.AdClientsGet
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.AdClients.Get.AdClientsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.AdClients.Get.AdClientsGet


-- | List all host ad clients in this AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.adclients.list</tt>.
module Network.Google.Resource.AdSenseHost.AdClients.List

-- | A resource alias for <tt>adsensehost.adclients.list</tt> method which
--   the <a>AdClientsList</a> request conforms to.
type AdClientsListResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AdClients)))))

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

-- | List all host ad clients in this AdSense account.
--   
--   <i>See:</i> <a>adClientsList</a> smart constructor.
data AdClientsList

-- | 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.
aclPageToken :: Lens' AdClientsList (Maybe Text)

-- | The maximum number of ad clients to include in the response, used for
--   paging.
aclMaxResults :: Lens' AdClientsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.AdClients.List.AdClientsList
instance Data.Data.Data Network.Google.Resource.AdSenseHost.AdClients.List.AdClientsList
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.AdClients.List.AdClientsList
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.AdClients.List.AdClientsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.AdClients.List.AdClientsList


-- | Create an association session for initiating an association with an
--   AdSense user.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.associationsessions.start</tt>.
module Network.Google.Resource.AdSenseHost.AssociationSessions.Start

-- | A resource alias for <tt>adsensehost.associationsessions.start</tt>
--   method which the <a>AssociationSessionsStart</a> request conforms to.
type AssociationSessionsStartResource = "adsensehost" :> ("v4.1" :> ("associationsessions" :> ("start" :> (QueryParams "productCode" AssociationSessionsStartProductCode :> (QueryParam "websiteUrl" Text :> (QueryParam "websiteLocale" Text :> (QueryParam "userLocale" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] AssociationSession))))))))

-- | Creates a value of <a>AssociationSessionsStart</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assWebsiteLocale</a></li>
--   <li><a>assUserLocale</a></li>
--   <li><a>assWebsiteURL</a></li>
--   <li><a>assProductCode</a></li>
--   </ul>
associationSessionsStart :: Text -> [AssociationSessionsStartProductCode] -> AssociationSessionsStart

-- | Create an association session for initiating an association with an
--   AdSense user.
--   
--   <i>See:</i> <a>associationSessionsStart</a> smart constructor.
data AssociationSessionsStart

-- | The locale of the user's hosted website.
assWebsiteLocale :: Lens' AssociationSessionsStart (Maybe Text)

-- | The preferred locale of the user.
assUserLocale :: Lens' AssociationSessionsStart (Maybe Text)

-- | The URL of the user's hosted website.
assWebsiteURL :: Lens' AssociationSessionsStart Text

-- | Products to associate with the user.
assProductCode :: Lens' AssociationSessionsStart [AssociationSessionsStartProductCode]
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.AssociationSessions.Start.AssociationSessionsStart
instance Data.Data.Data Network.Google.Resource.AdSenseHost.AssociationSessions.Start.AssociationSessionsStart
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.AssociationSessions.Start.AssociationSessionsStart
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.AssociationSessions.Start.AssociationSessionsStart
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.AssociationSessions.Start.AssociationSessionsStart


-- | Verify an association session after the association callback returns
--   from AdSense signup.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.associationsessions.verify</tt>.
module Network.Google.Resource.AdSenseHost.AssociationSessions.Verify

-- | A resource alias for <tt>adsensehost.associationsessions.verify</tt>
--   method which the <a>AssociationSessionsVerify</a> request conforms to.
type AssociationSessionsVerifyResource = "adsensehost" :> ("v4.1" :> ("associationsessions" :> ("verify" :> (QueryParam "token" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] AssociationSession)))))

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

-- | Verify an association session after the association callback returns
--   from AdSense signup.
--   
--   <i>See:</i> <a>associationSessionsVerify</a> smart constructor.
data AssociationSessionsVerify

-- | The token returned to the association callback URL.
asvToken :: Lens' AssociationSessionsVerify Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.AssociationSessions.Verify.AssociationSessionsVerify
instance Data.Data.Data Network.Google.Resource.AdSenseHost.AssociationSessions.Verify.AssociationSessionsVerify
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.AssociationSessions.Verify.AssociationSessionsVerify
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.AssociationSessions.Verify.AssociationSessionsVerify
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.AssociationSessions.Verify.AssociationSessionsVerify


-- | Delete a specific custom channel from the host AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.customchannels.delete</tt>.
module Network.Google.Resource.AdSenseHost.CustomChannels.Delete

-- | A resource alias for <tt>adsensehost.customchannels.delete</tt> method
--   which the <a>CustomChannelsDelete</a> request conforms to.
type CustomChannelsDeleteResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> ("customchannels" :> (Capture "customChannelId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] CustomChannel))))))

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

-- | Delete a specific custom channel from the host AdSense account.
--   
--   <i>See:</i> <a>customChannelsDelete</a> smart constructor.
data CustomChannelsDelete

-- | Custom channel to delete.
ccdCustomChannelId :: Lens' CustomChannelsDelete Text

-- | Ad client from which to delete the custom channel.
ccdAdClientId :: Lens' CustomChannelsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.CustomChannels.Delete.CustomChannelsDelete
instance Data.Data.Data Network.Google.Resource.AdSenseHost.CustomChannels.Delete.CustomChannelsDelete
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.CustomChannels.Delete.CustomChannelsDelete
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.CustomChannels.Delete.CustomChannelsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.CustomChannels.Delete.CustomChannelsDelete


-- | Get a specific custom channel from the host AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.customchannels.get</tt>.
module Network.Google.Resource.AdSenseHost.CustomChannels.Get

-- | A resource alias for <tt>adsensehost.customchannels.get</tt> method
--   which the <a>CustomChannelsGet</a> request conforms to.
type CustomChannelsGetResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> ("customchannels" :> (Capture "customChannelId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] CustomChannel))))))

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

-- | Get a specific custom channel from the host AdSense account.
--   
--   <i>See:</i> <a>customChannelsGet</a> smart constructor.
data CustomChannelsGet

-- | Custom channel to get.
ccgCustomChannelId :: Lens' CustomChannelsGet Text

-- | Ad client from which to get the custom channel.
ccgAdClientId :: Lens' CustomChannelsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.CustomChannels.Get.CustomChannelsGet
instance Data.Data.Data Network.Google.Resource.AdSenseHost.CustomChannels.Get.CustomChannelsGet
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.CustomChannels.Get.CustomChannelsGet
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.CustomChannels.Get.CustomChannelsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.CustomChannels.Get.CustomChannelsGet


-- | Add a new custom channel to the host AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.customchannels.insert</tt>.
module Network.Google.Resource.AdSenseHost.CustomChannels.Insert

-- | A resource alias for <tt>adsensehost.customchannels.insert</tt> method
--   which the <a>CustomChannelsInsert</a> request conforms to.
type CustomChannelsInsertResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> ("customchannels" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CustomChannel :> Post '[JSON] CustomChannel))))))

-- | Creates a value of <a>CustomChannelsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cciPayload</a></li>
--   <li><a>cciAdClientId</a></li>
--   </ul>
customChannelsInsert :: CustomChannel -> Text -> CustomChannelsInsert

-- | Add a new custom channel to the host AdSense account.
--   
--   <i>See:</i> <a>customChannelsInsert</a> smart constructor.
data CustomChannelsInsert

-- | Multipart request metadata.
cciPayload :: Lens' CustomChannelsInsert CustomChannel

-- | Ad client to which the new custom channel will be added.
cciAdClientId :: Lens' CustomChannelsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.CustomChannels.Insert.CustomChannelsInsert
instance Data.Data.Data Network.Google.Resource.AdSenseHost.CustomChannels.Insert.CustomChannelsInsert
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.CustomChannels.Insert.CustomChannelsInsert
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.CustomChannels.Insert.CustomChannelsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.CustomChannels.Insert.CustomChannelsInsert


-- | List all host custom channels in this AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.customchannels.list</tt>.
module Network.Google.Resource.AdSenseHost.CustomChannels.List

-- | A resource alias for <tt>adsensehost.customchannels.list</tt> method
--   which the <a>CustomChannelsList</a> request conforms to.
type CustomChannelsListResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> ("customchannels" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CustomChannels)))))))

-- | Creates a value of <a>CustomChannelsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cclAdClientId</a></li>
--   <li><a>cclPageToken</a></li>
--   <li><a>cclMaxResults</a></li>
--   </ul>
customChannelsList :: Text -> CustomChannelsList

-- | List all host custom channels in this AdSense account.
--   
--   <i>See:</i> <a>customChannelsList</a> smart constructor.
data CustomChannelsList

-- | Ad client for which to list custom channels.
cclAdClientId :: Lens' CustomChannelsList Text

-- | A continuation token, used to page through custom channels. To
--   retrieve the next page, set this parameter to the value of
--   "nextPageToken" from the previous response.
cclPageToken :: Lens' CustomChannelsList (Maybe Text)

-- | The maximum number of custom channels to include in the response, used
--   for paging.
cclMaxResults :: Lens' CustomChannelsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.CustomChannels.List.CustomChannelsList
instance Data.Data.Data Network.Google.Resource.AdSenseHost.CustomChannels.List.CustomChannelsList
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.CustomChannels.List.CustomChannelsList
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.CustomChannels.List.CustomChannelsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.CustomChannels.List.CustomChannelsList


-- | Update a custom channel in the host AdSense account. This method
--   supports patch semantics.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.customchannels.patch</tt>.
module Network.Google.Resource.AdSenseHost.CustomChannels.Patch

-- | A resource alias for <tt>adsensehost.customchannels.patch</tt> method
--   which the <a>CustomChannelsPatch</a> request conforms to.
type CustomChannelsPatchResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> ("customchannels" :> (QueryParam "customChannelId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CustomChannel :> Patch '[JSON] CustomChannel)))))))

-- | Creates a value of <a>CustomChannelsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccpCustomChannelId</a></li>
--   <li><a>ccpPayload</a></li>
--   <li><a>ccpAdClientId</a></li>
--   </ul>
customChannelsPatch :: Text -> CustomChannel -> Text -> CustomChannelsPatch

-- | Update a custom channel in the host AdSense account. This method
--   supports patch semantics.
--   
--   <i>See:</i> <a>customChannelsPatch</a> smart constructor.
data CustomChannelsPatch

-- | Custom channel to get.
ccpCustomChannelId :: Lens' CustomChannelsPatch Text

-- | Multipart request metadata.
ccpPayload :: Lens' CustomChannelsPatch CustomChannel

-- | Ad client in which the custom channel will be updated.
ccpAdClientId :: Lens' CustomChannelsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.CustomChannels.Patch.CustomChannelsPatch
instance Data.Data.Data Network.Google.Resource.AdSenseHost.CustomChannels.Patch.CustomChannelsPatch
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.CustomChannels.Patch.CustomChannelsPatch
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.CustomChannels.Patch.CustomChannelsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.CustomChannels.Patch.CustomChannelsPatch


-- | Update a custom channel in the host AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.customchannels.update</tt>.
module Network.Google.Resource.AdSenseHost.CustomChannels.Update

-- | A resource alias for <tt>adsensehost.customchannels.update</tt> method
--   which the <a>CustomChannelsUpdate</a> request conforms to.
type CustomChannelsUpdateResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> ("customchannels" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CustomChannel :> Put '[JSON] CustomChannel))))))

-- | Creates a value of <a>CustomChannelsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccuPayload</a></li>
--   <li><a>ccuAdClientId</a></li>
--   </ul>
customChannelsUpdate :: CustomChannel -> Text -> CustomChannelsUpdate

-- | Update a custom channel in the host AdSense account.
--   
--   <i>See:</i> <a>customChannelsUpdate</a> smart constructor.
data CustomChannelsUpdate

-- | Multipart request metadata.
ccuPayload :: Lens' CustomChannelsUpdate CustomChannel

-- | Ad client in which the custom channel will be updated.
ccuAdClientId :: Lens' CustomChannelsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.CustomChannels.Update.CustomChannelsUpdate
instance Data.Data.Data Network.Google.Resource.AdSenseHost.CustomChannels.Update.CustomChannelsUpdate
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.CustomChannels.Update.CustomChannelsUpdate
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.CustomChannels.Update.CustomChannelsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.CustomChannels.Update.CustomChannelsUpdate


-- | Generate an AdSense report based on the report request sent in the
--   query parameters. Returns the result as JSON; to retrieve output in
--   CSV format specify "alt=csv" as a query parameter.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.reports.generate</tt>.
module Network.Google.Resource.AdSenseHost.Reports.Generate

-- | A resource alias for <tt>adsensehost.reports.generate</tt> method
--   which the <a>ReportsGenerate</a> request conforms to.
type ReportsGenerateResource = "adsensehost" :> ("v4.1" :> ("reports" :> (QueryParam "startDate" Text :> (QueryParam "endDate" Text :> (QueryParams "dimension" Text :> (QueryParam "locale" Text :> (QueryParams "metric" Text :> (QueryParams "sort" Text :> (QueryParams "filter" Text :> (QueryParam "startIndex" (Textual Word32) :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] Report))))))))))))

-- | Creates a value of <a>ReportsGenerate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgDimension</a></li>
--   <li><a>rgLocale</a></li>
--   <li><a>rgEndDate</a></li>
--   <li><a>rgStartDate</a></li>
--   <li><a>rgMetric</a></li>
--   <li><a>rgSort</a></li>
--   <li><a>rgFilter</a></li>
--   <li><a>rgStartIndex</a></li>
--   <li><a>rgMaxResults</a></li>
--   </ul>
reportsGenerate :: Text -> Text -> ReportsGenerate

-- | Generate an AdSense report based on the report request sent in the
--   query parameters. Returns the result as JSON; to retrieve output in
--   CSV format specify "alt=csv" as a query parameter.
--   
--   <i>See:</i> <a>reportsGenerate</a> smart constructor.
data ReportsGenerate

-- | Dimensions to base the report on.
rgDimension :: Lens' ReportsGenerate [Text]

-- | Optional locale to use for translating report output to a local
--   language. Defaults to "en_US" if not specified.
rgLocale :: Lens' ReportsGenerate (Maybe Text)

-- | End of the date range to report on in "YYYY-MM-DD" format, inclusive.
rgEndDate :: Lens' ReportsGenerate Text

-- | Start of the date range to report on in "YYYY-MM-DD" format,
--   inclusive.
rgStartDate :: Lens' ReportsGenerate Text

-- | Numeric columns to include in the report.
rgMetric :: Lens' ReportsGenerate [Text]

-- | The name of a dimension or metric to sort the resulting report on,
--   optionally prefixed with "+" to sort ascending or "-" to sort
--   descending. If no prefix is specified, the column is sorted ascending.
rgSort :: Lens' ReportsGenerate [Text]

-- | Filters to be run on the report.
rgFilter :: Lens' ReportsGenerate [Text]

-- | Index of the first row of report data to return.
rgStartIndex :: Lens' ReportsGenerate (Maybe Word32)

-- | The maximum number of rows of report data to return.
rgMaxResults :: Lens' ReportsGenerate (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.Reports.Generate.ReportsGenerate
instance Data.Data.Data Network.Google.Resource.AdSenseHost.Reports.Generate.ReportsGenerate
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.Reports.Generate.ReportsGenerate
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.Reports.Generate.ReportsGenerate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.Reports.Generate.ReportsGenerate


-- | Delete a URL channel from the host AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.urlchannels.delete</tt>.
module Network.Google.Resource.AdSenseHost.URLChannels.Delete

-- | A resource alias for <tt>adsensehost.urlchannels.delete</tt> method
--   which the <a>URLChannelsDelete</a> request conforms to.
type URLChannelsDeleteResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> ("urlchannels" :> (Capture "urlChannelId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] URLChannel))))))

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

-- | Delete a URL channel from the host AdSense account.
--   
--   <i>See:</i> <a>urlChannelsDelete</a> smart constructor.
data URLChannelsDelete

-- | URL channel to delete.
ucdURLChannelId :: Lens' URLChannelsDelete Text

-- | Ad client from which to delete the URL channel.
ucdAdClientId :: Lens' URLChannelsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.URLChannels.Delete.URLChannelsDelete
instance Data.Data.Data Network.Google.Resource.AdSenseHost.URLChannels.Delete.URLChannelsDelete
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.URLChannels.Delete.URLChannelsDelete
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.URLChannels.Delete.URLChannelsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.URLChannels.Delete.URLChannelsDelete


-- | Add a new URL channel to the host AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.urlchannels.insert</tt>.
module Network.Google.Resource.AdSenseHost.URLChannels.Insert

-- | A resource alias for <tt>adsensehost.urlchannels.insert</tt> method
--   which the <a>URLChannelsInsert</a> request conforms to.
type URLChannelsInsertResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> ("urlchannels" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] URLChannel :> Post '[JSON] URLChannel))))))

-- | Creates a value of <a>URLChannelsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uciPayload</a></li>
--   <li><a>uciAdClientId</a></li>
--   </ul>
urlChannelsInsert :: URLChannel -> Text -> URLChannelsInsert

-- | Add a new URL channel to the host AdSense account.
--   
--   <i>See:</i> <a>urlChannelsInsert</a> smart constructor.
data URLChannelsInsert

-- | Multipart request metadata.
uciPayload :: Lens' URLChannelsInsert URLChannel

-- | Ad client to which the new URL channel will be added.
uciAdClientId :: Lens' URLChannelsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.URLChannels.Insert.URLChannelsInsert
instance Data.Data.Data Network.Google.Resource.AdSenseHost.URLChannels.Insert.URLChannelsInsert
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.URLChannels.Insert.URLChannelsInsert
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.URLChannels.Insert.URLChannelsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.URLChannels.Insert.URLChannelsInsert


-- | List all host URL channels in the host AdSense account.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a> for
--   <tt>adsensehost.urlchannels.list</tt>.
module Network.Google.Resource.AdSenseHost.URLChannels.List

-- | A resource alias for <tt>adsensehost.urlchannels.list</tt> method
--   which the <a>URLChannelsList</a> request conforms to.
type URLChannelsListResource = "adsensehost" :> ("v4.1" :> ("adclients" :> (Capture "adClientId" Text :> ("urlchannels" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] URLChannels)))))))

-- | Creates a value of <a>URLChannelsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uclAdClientId</a></li>
--   <li><a>uclPageToken</a></li>
--   <li><a>uclMaxResults</a></li>
--   </ul>
urlChannelsList :: Text -> URLChannelsList

-- | List all host URL channels in the host AdSense account.
--   
--   <i>See:</i> <a>urlChannelsList</a> smart constructor.
data URLChannelsList

-- | Ad client for which to list URL channels.
uclAdClientId :: Lens' URLChannelsList Text

-- | A continuation token, used to page through URL channels. To retrieve
--   the next page, set this parameter to the value of "nextPageToken" from
--   the previous response.
uclPageToken :: Lens' URLChannelsList (Maybe Text)

-- | The maximum number of URL channels to include in the response, used
--   for paging.
uclMaxResults :: Lens' URLChannelsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AdSenseHost.URLChannels.List.URLChannelsList
instance Data.Data.Data Network.Google.Resource.AdSenseHost.URLChannels.List.URLChannelsList
instance GHC.Show.Show Network.Google.Resource.AdSenseHost.URLChannels.List.URLChannelsList
instance GHC.Classes.Eq Network.Google.Resource.AdSenseHost.URLChannels.List.URLChannelsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AdSenseHost.URLChannels.List.URLChannelsList


-- | Generates performance reports, generates ad codes, and provides
--   publisher management capabilities for AdSense Hosts.
--   
--   <i>See:</i> <a>AdSense Host API Reference</a>
module Network.Google.AdSenseHost

-- | Default request referring to version 'v4.1' of the AdSense Host API.
--   This contains the host and root path used as a starting point for
--   constructing service requests.
adSenseHostService :: ServiceConfig

-- | View and manage your AdSense host data and associated accounts
adSenseHostScope :: Proxy '["https://www.googleapis.com/auth/adsensehost"]

-- | Represents the entirety of the methods and resources available for the
--   AdSense Host API service.
type AdSenseHostAPI = AssociationSessionsVerifyResource :<|> (AssociationSessionsStartResource :<|> (AdClientsListResource :<|> (AdClientsGetResource :<|> (AccountsAdClientsListResource :<|> (AccountsAdClientsGetResource :<|> (AccountsReportsGenerateResource :<|> (AccountsAdUnitsInsertResource :<|> (AccountsAdUnitsListResource :<|> (AccountsAdUnitsPatchResource :<|> (AccountsAdUnitsGetResource :<|> (AccountsAdUnitsGetAdCodeResource :<|> (AccountsAdUnitsDeleteResource :<|> (AccountsAdUnitsUpdateResource :<|> (AccountsListResource :<|> (AccountsGetResource :<|> (ReportsGenerateResource :<|> (URLChannelsInsertResource :<|> (URLChannelsListResource :<|> (URLChannelsDeleteResource :<|> (CustomChannelsInsertResource :<|> (CustomChannelsListResource :<|> (CustomChannelsPatchResource :<|> (CustomChannelsGetResource :<|> (CustomChannelsDeleteResource :<|> CustomChannelsUpdateResource))))))))))))))))))))))))
data AdClients

-- | Creates a value of <a>AdClients</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acEtag</a></li>
--   <li><a>acNextPageToken</a></li>
--   <li><a>acKind</a></li>
--   <li><a>acItems</a></li>
--   </ul>
adClients :: AdClients

-- | ETag of this response for caching purposes.
acEtag :: Lens' AdClients (Maybe Text)

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

-- | Kind of list this is, in this case adsensehost#adClients.
acKind :: Lens' AdClients Text

-- | The ad clients returned in this list response.
acItems :: Lens' AdClients [AdClient]
data AssociationSession

-- | Creates a value of <a>AssociationSession</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asStatus</a></li>
--   <li><a>asKind</a></li>
--   <li><a>asWebsiteLocale</a></li>
--   <li><a>asUserLocale</a></li>
--   <li><a>asAccountId</a></li>
--   <li><a>asProductCodes</a></li>
--   <li><a>asId</a></li>
--   <li><a>asWebsiteURL</a></li>
--   <li><a>asRedirectURL</a></li>
--   </ul>
associationSession :: AssociationSession

-- | Status of the completed association, available once the association
--   callback token has been verified. One of ACCEPTED, REJECTED, or ERROR.
asStatus :: Lens' AssociationSession (Maybe Text)

-- | Kind of resource this is, in this case adsensehost#associationSession.
asKind :: Lens' AssociationSession Text

-- | The locale of the user's hosted website.
asWebsiteLocale :: Lens' AssociationSession (Maybe Text)

-- | The preferred locale of the user themselves when going through the
--   AdSense association flow.
asUserLocale :: Lens' AssociationSession (Maybe Text)

-- | Hosted account id of the associated publisher after association.
--   Present if status is ACCEPTED.
asAccountId :: Lens' AssociationSession (Maybe Text)

-- | The products to associate with the user. Options: AFC, AFG, AFV, AFS
--   (deprecated), AFMC (deprecated)
asProductCodes :: Lens' AssociationSession [Text]

-- | Unique identifier of this association session.
asId :: Lens' AssociationSession (Maybe Text)

-- | The URL of the user's hosted website.
asWebsiteURL :: Lens' AssociationSession (Maybe Text)

-- | Redirect URL of this association session. Used to redirect users into
--   the AdSense association flow.
asRedirectURL :: Lens' AssociationSession (Maybe Text)

-- | Products to associate with the user.
data AssociationSessionsStartProductCode

-- | <tt>AFC</tt> AdSense For Content
Afc :: AssociationSessionsStartProductCode

-- | <tt>AFG</tt> AdSense For Games
Afg :: AssociationSessionsStartProductCode

-- | <tt>AFMC</tt> AdSense For Mobile Content - deprecated
Afmc :: AssociationSessionsStartProductCode

-- | <tt>AFS</tt> AdSense For Search - deprecated
Afs :: AssociationSessionsStartProductCode

-- | <tt>AFV</tt> AdSense For Video
Afv :: AssociationSessionsStartProductCode
data Accounts

-- | Creates a value of <a>Accounts</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aEtag</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aItems</a></li>
--   </ul>
accounts :: Accounts

-- | ETag of this response for caching purposes.
aEtag :: Lens' Accounts (Maybe Text)

-- | Kind of list this is, in this case adsensehost#accounts.
aKind :: Lens' Accounts Text

-- | The accounts returned in this list response.
aItems :: Lens' Accounts [Account]
data AdUnits

-- | Creates a value of <a>AdUnits</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auEtag</a></li>
--   <li><a>auNextPageToken</a></li>
--   <li><a>auKind</a></li>
--   <li><a>auItems</a></li>
--   </ul>
adUnits :: AdUnits

-- | ETag of this response for caching purposes.
auEtag :: Lens' AdUnits (Maybe Text)

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

-- | Kind of list this is, in this case adsensehost#adUnits.
auKind :: Lens' AdUnits Text

-- | The ad units returned in this list response.
auItems :: Lens' AdUnits [AdUnit]
data URLChannels

-- | Creates a value of <a>URLChannels</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ucEtag</a></li>
--   <li><a>ucNextPageToken</a></li>
--   <li><a>ucKind</a></li>
--   <li><a>ucItems</a></li>
--   </ul>
urlChannels :: URLChannels

-- | ETag of this response for caching purposes.
ucEtag :: Lens' URLChannels (Maybe Text)

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

-- | Kind of list this is, in this case adsensehost#urlChannels.
ucKind :: Lens' URLChannels Text

-- | The URL channels returned in this list response.
ucItems :: Lens' URLChannels [URLChannel]
data CustomChannels

-- | Creates a value of <a>CustomChannels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccEtag</a></li>
--   <li><a>ccNextPageToken</a></li>
--   <li><a>ccKind</a></li>
--   <li><a>ccItems</a></li>
--   </ul>
customChannels :: CustomChannels

-- | ETag of this response for caching purposes.
ccEtag :: Lens' CustomChannels (Maybe Text)

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

-- | Kind of list this is, in this case adsensehost#customChannels.
ccKind :: Lens' CustomChannels Text

-- | The custom channels returned in this list response.
ccItems :: Lens' CustomChannels [CustomChannel]
data AdUnit

-- | Creates a value of <a>AdUnit</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auuStatus</a></li>
--   <li><a>auuMobileContentAdsSettings</a></li>
--   <li><a>auuKind</a></li>
--   <li><a>auuCustomStyle</a></li>
--   <li><a>auuName</a></li>
--   <li><a>auuContentAdsSettings</a></li>
--   <li><a>auuCode</a></li>
--   <li><a>auuId</a></li>
--   </ul>
adUnit :: AdUnit

-- | Status of this ad unit. Possible values are: NEW: Indicates that the
--   ad unit was created within the last seven days and does not yet have
--   any activity associated with it. ACTIVE: Indicates that there has been
--   activity on this ad unit in the last seven days. INACTIVE: Indicates
--   that there has been no activity on this ad unit in the last seven
--   days.
auuStatus :: Lens' AdUnit (Maybe Text)

-- | Settings specific to WAP mobile content ads (AFMC - deprecated).
auuMobileContentAdsSettings :: Lens' AdUnit (Maybe AdUnitMobileContentAdsSettings)

-- | Kind of resource this is, in this case adsensehost#adUnit.
auuKind :: Lens' AdUnit Text

-- | Custom style information specific to this ad unit.
auuCustomStyle :: Lens' AdUnit (Maybe AdStyle)

-- | Name of this ad unit.
auuName :: Lens' AdUnit (Maybe Text)

-- | Settings specific to content ads (AFC) and highend mobile content ads
--   (AFMC - deprecated).
auuContentAdsSettings :: Lens' AdUnit (Maybe AdUnitContentAdsSettings)

-- | Identity code of this ad unit, not necessarily unique across ad
--   clients.
auuCode :: Lens' AdUnit (Maybe Text)

-- | Unique identifier of this ad unit. This should be considered an opaque
--   identifier; it is not safe to rely on it being in any particular
--   format.
auuId :: Lens' AdUnit (Maybe Text)
data Report

-- | Creates a value of <a>Report</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rKind</a></li>
--   <li><a>rAverages</a></li>
--   <li><a>rWarnings</a></li>
--   <li><a>rRows</a></li>
--   <li><a>rTotals</a></li>
--   <li><a>rHeaders</a></li>
--   <li><a>rTotalMatchedRows</a></li>
--   </ul>
report :: Report

-- | Kind this is, in this case adsensehost#report.
rKind :: Lens' Report Text

-- | The averages of the report. This is the same length as any other row
--   in the report; cells corresponding to dimension columns are empty.
rAverages :: Lens' Report [Text]

-- | Any warnings associated with generation of the report.
rWarnings :: Lens' Report [Text]

-- | The output rows of the report. Each row is a list of cells; one for
--   each dimension in the request, followed by one for each metric in the
--   request. The dimension cells contain strings, and the metric cells
--   contain numbers.
rRows :: Lens' Report [[Text]]

-- | The totals of the report. This is the same length as any other row in
--   the report; cells corresponding to dimension columns are empty.
rTotals :: Lens' Report [Text]

-- | The header information of the columns requested in the report. This is
--   a list of headers; one for each dimension in the request, followed by
--   one for each metric in the request.
rHeaders :: Lens' Report [ReportHeadersItem]

-- | The total number of rows matched by the report request. Fewer rows may
--   be returned in the response due to being limited by the row count
--   requested or the report row limit.
rTotalMatchedRows :: Lens' Report (Maybe Int64)

-- | The font which is included in the style.
--   
--   <i>See:</i> <a>adStyleFont</a> smart constructor.
data AdStyleFont

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

-- | The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE,
--   ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
asfSize :: Lens' AdStyleFont (Maybe Text)

-- | The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY,
--   ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
asfFamily :: Lens' AdStyleFont (Maybe Text)
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>accStatus</a></li>
--   <li><a>accKind</a></li>
--   <li><a>accName</a></li>
--   <li><a>accId</a></li>
--   </ul>
account :: Account

-- | Approval status of this account. One of: PENDING, APPROVED, DISABLED.
accStatus :: Lens' Account (Maybe Text)

-- | Kind of resource this is, in this case adsensehost#account.
accKind :: Lens' Account Text

-- | Name of this account.
accName :: Lens' Account (Maybe Text)

-- | Unique identifier of this account.
accId :: Lens' Account (Maybe Text)

-- | Settings specific to WAP mobile content ads (AFMC - deprecated).
--   
--   <i>See:</i> <a>adUnitMobileContentAdsSettings</a> smart constructor.
data AdUnitMobileContentAdsSettings

-- | Creates a value of <a>AdUnitMobileContentAdsSettings</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aumcasSize</a></li>
--   <li><a>aumcasScriptingLanguage</a></li>
--   <li><a>aumcasMarkupLanguage</a></li>
--   <li><a>aumcasType</a></li>
--   </ul>
adUnitMobileContentAdsSettings :: AdUnitMobileContentAdsSettings

-- | Size of this ad unit.
aumcasSize :: Lens' AdUnitMobileContentAdsSettings (Maybe Text)

-- | The scripting language to use for this ad unit.
aumcasScriptingLanguage :: Lens' AdUnitMobileContentAdsSettings (Maybe Text)

-- | The markup language to use for this ad unit.
aumcasMarkupLanguage :: Lens' AdUnitMobileContentAdsSettings (Maybe Text)

-- | Type of this ad unit.
aumcasType :: Lens' AdUnitMobileContentAdsSettings (Maybe Text)

-- | The colors included in the style. These are represented as six
--   hexadecimal characters, similar to HTML color codes, but without the
--   leading hash.
--   
--   <i>See:</i> <a>adStyleColors</a> smart constructor.
data AdStyleColors

-- | Creates a value of <a>AdStyleColors</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ascText</a></li>
--   <li><a>ascURL</a></li>
--   <li><a>ascBOrder</a></li>
--   <li><a>ascTitle</a></li>
--   <li><a>ascBackgRound</a></li>
--   </ul>
adStyleColors :: AdStyleColors

-- | The color of the ad text.
ascText :: Lens' AdStyleColors (Maybe Text)

-- | The color of the ad url.
ascURL :: Lens' AdStyleColors (Maybe Text)

-- | The color of the ad border.
ascBOrder :: Lens' AdStyleColors (Maybe Text)

-- | The color of the ad title.
ascTitle :: Lens' AdStyleColors (Maybe Text)

-- | The color of the ad background.
ascBackgRound :: Lens' AdStyleColors (Maybe Text)

-- | The backup option to be used in instances where no ad is available.
--   
--   <i>See:</i> <a>adUnitContentAdsSettingsBackupOption</a> smart
--   constructor.
data AdUnitContentAdsSettingsBackupOption

-- | Creates a value of <a>AdUnitContentAdsSettingsBackupOption</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aucasboColor</a></li>
--   <li><a>aucasboURL</a></li>
--   <li><a>aucasboType</a></li>
--   </ul>
adUnitContentAdsSettingsBackupOption :: AdUnitContentAdsSettingsBackupOption

-- | Color to use when type is set to COLOR. These are represented as six
--   hexadecimal characters, similar to HTML color codes, but without the
--   leading hash.
aucasboColor :: Lens' AdUnitContentAdsSettingsBackupOption (Maybe Text)

-- | URL to use when type is set to URL.
aucasboURL :: Lens' AdUnitContentAdsSettingsBackupOption (Maybe Text)

-- | Type of the backup option. Possible values are BLANK, COLOR and URL.
aucasboType :: Lens' AdUnitContentAdsSettingsBackupOption (Maybe Text)
data AdClient

-- | Creates a value of <a>AdClient</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adKind</a></li>
--   <li><a>adArcOptIn</a></li>
--   <li><a>adSupportsReporting</a></li>
--   <li><a>adId</a></li>
--   <li><a>adProductCode</a></li>
--   </ul>
adClient :: AdClient

-- | Kind of resource this is, in this case adsensehost#adClient.
adKind :: Lens' AdClient Text

-- | Whether this ad client is opted in to ARC.
adArcOptIn :: Lens' AdClient (Maybe Bool)

-- | Whether this ad client supports being reported on.
adSupportsReporting :: Lens' AdClient (Maybe Bool)

-- | Unique identifier of this ad client.
adId :: Lens' AdClient (Maybe Text)

-- | This ad client's product code, which corresponds to the PRODUCT_CODE
--   report dimension.
adProductCode :: Lens' AdClient (Maybe Text)
data ReportHeadersItem

-- | Creates a value of <a>ReportHeadersItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rhiName</a></li>
--   <li><a>rhiCurrency</a></li>
--   <li><a>rhiType</a></li>
--   </ul>
reportHeadersItem :: ReportHeadersItem

-- | The name of the header.
rhiName :: Lens' ReportHeadersItem (Maybe Text)

-- | The currency of this column. Only present if the header type is
--   METRIC_CURRENCY.
rhiCurrency :: Lens' ReportHeadersItem (Maybe Text)

-- | The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO,
--   or METRIC_CURRENCY.
rhiType :: Lens' ReportHeadersItem (Maybe Text)
data AdStyle

-- | Creates a value of <a>AdStyle</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assCorners</a></li>
--   <li><a>assKind</a></li>
--   <li><a>assFont</a></li>
--   <li><a>assColors</a></li>
--   </ul>
adStyle :: AdStyle

-- | The style of the corners in the ad (deprecated: never populated,
--   ignored).
assCorners :: Lens' AdStyle (Maybe Text)

-- | Kind this is, in this case adsensehost#adStyle.
assKind :: Lens' AdStyle Text

-- | The font which is included in the style.
assFont :: Lens' AdStyle (Maybe AdStyleFont)

-- | The colors included in the style. These are represented as six
--   hexadecimal characters, similar to HTML color codes, but without the
--   leading hash.
assColors :: Lens' AdStyle (Maybe AdStyleColors)
data CustomChannel

-- | Creates a value of <a>CustomChannel</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cKind</a></li>
--   <li><a>cName</a></li>
--   <li><a>cCode</a></li>
--   <li><a>cId</a></li>
--   </ul>
customChannel :: CustomChannel

-- | Kind of resource this is, in this case adsensehost#customChannel.
cKind :: Lens' CustomChannel Text

-- | Name of this custom channel.
cName :: Lens' CustomChannel (Maybe Text)

-- | Code of this custom channel, not necessarily unique across ad clients.
cCode :: Lens' CustomChannel (Maybe Text)

-- | Unique identifier of this custom channel. This should be considered an
--   opaque identifier; it is not safe to rely on it being in any
--   particular format.
cId :: Lens' CustomChannel (Maybe Text)
data URLChannel

-- | Creates a value of <a>URLChannel</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urlcKind</a></li>
--   <li><a>urlcId</a></li>
--   <li><a>urlcURLPattern</a></li>
--   </ul>
urlChannel :: URLChannel

-- | Kind of resource this is, in this case adsensehost#urlChannel.
urlcKind :: Lens' URLChannel Text

-- | Unique identifier of this URL channel. This should be considered an
--   opaque identifier; it is not safe to rely on it being in any
--   particular format.
urlcId :: Lens' URLChannel (Maybe Text)

-- | URL Pattern of this URL channel. Does not include "http://" or
--   "https://". Example: www.example.com/home
urlcURLPattern :: Lens' URLChannel (Maybe Text)
data AdCode

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

-- | Kind this is, in this case adsensehost#adCode.
aaKind :: Lens' AdCode Text

-- | The ad code snippet.
aaAdCode :: Lens' AdCode (Maybe Text)

-- | Settings specific to content ads (AFC) and highend mobile content ads
--   (AFMC - deprecated).
--   
--   <i>See:</i> <a>adUnitContentAdsSettings</a> smart constructor.
data AdUnitContentAdsSettings

-- | Creates a value of <a>AdUnitContentAdsSettings</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aucasBackupOption</a></li>
--   <li><a>aucasSize</a></li>
--   <li><a>aucasType</a></li>
--   </ul>
adUnitContentAdsSettings :: AdUnitContentAdsSettings

-- | The backup option to be used in instances where no ad is available.
aucasBackupOption :: Lens' AdUnitContentAdsSettings (Maybe AdUnitContentAdsSettingsBackupOption)

-- | Size of this ad unit. Size values are in the form
--   SIZE_{width}_{height}.
aucasSize :: Lens' AdUnitContentAdsSettings (Maybe Text)

-- | Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and
--   LINK.
aucasType :: Lens' AdUnitContentAdsSettings (Maybe Text)
