{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List
(
BillingAccountsProjectsListResource
, billingAccountsProjectsList
, BillingAccountsProjectsList
, baplXgafv
, baplUploadProtocol
, baplAccessToken
, baplUploadType
, baplName
, baplPageToken
, baplPageSize
, baplCallback
) where
import Network.Google.Billing.Types
import Network.Google.Prelude
type BillingAccountsProjectsListResource =
"v1" :>
Capture "name" Text :>
"projects" :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "pageToken" Text :>
QueryParam "pageSize" (Textual Int32) :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
Get '[JSON] ListProjectBillingInfoResponse
data BillingAccountsProjectsList = BillingAccountsProjectsList'
{ _baplXgafv :: !(Maybe Xgafv)
, _baplUploadProtocol :: !(Maybe Text)
, _baplAccessToken :: !(Maybe Text)
, _baplUploadType :: !(Maybe Text)
, _baplName :: !Text
, _baplPageToken :: !(Maybe Text)
, _baplPageSize :: !(Maybe (Textual Int32))
, _baplCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
billingAccountsProjectsList
:: Text
-> BillingAccountsProjectsList
billingAccountsProjectsList pBaplName_ =
BillingAccountsProjectsList'
{ _baplXgafv = Nothing
, _baplUploadProtocol = Nothing
, _baplAccessToken = Nothing
, _baplUploadType = Nothing
, _baplName = pBaplName_
, _baplPageToken = Nothing
, _baplPageSize = Nothing
, _baplCallback = Nothing
}
baplXgafv :: Lens' BillingAccountsProjectsList (Maybe Xgafv)
baplXgafv
= lens _baplXgafv (\ s a -> s{_baplXgafv = a})
baplUploadProtocol :: Lens' BillingAccountsProjectsList (Maybe Text)
baplUploadProtocol
= lens _baplUploadProtocol
(\ s a -> s{_baplUploadProtocol = a})
baplAccessToken :: Lens' BillingAccountsProjectsList (Maybe Text)
baplAccessToken
= lens _baplAccessToken
(\ s a -> s{_baplAccessToken = a})
baplUploadType :: Lens' BillingAccountsProjectsList (Maybe Text)
baplUploadType
= lens _baplUploadType
(\ s a -> s{_baplUploadType = a})
baplName :: Lens' BillingAccountsProjectsList Text
baplName = lens _baplName (\ s a -> s{_baplName = a})
baplPageToken :: Lens' BillingAccountsProjectsList (Maybe Text)
baplPageToken
= lens _baplPageToken
(\ s a -> s{_baplPageToken = a})
baplPageSize :: Lens' BillingAccountsProjectsList (Maybe Int32)
baplPageSize
= lens _baplPageSize (\ s a -> s{_baplPageSize = a})
. mapping _Coerce
baplCallback :: Lens' BillingAccountsProjectsList (Maybe Text)
baplCallback
= lens _baplCallback (\ s a -> s{_baplCallback = a})
instance GoogleRequest BillingAccountsProjectsList
where
type Rs BillingAccountsProjectsList =
ListProjectBillingInfoResponse
type Scopes BillingAccountsProjectsList =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient BillingAccountsProjectsList'{..}
= go _baplName _baplXgafv _baplUploadProtocol
_baplAccessToken
_baplUploadType
_baplPageToken
_baplPageSize
_baplCallback
(Just AltJSON)
billingService
where go
= buildClient
(Proxy :: Proxy BillingAccountsProjectsListResource)
mempty