packages feed

gogol-billing 0.3.0 → 0.4.0

raw patch · 17 files changed

+3368/−486 lines, 17 filesdep ~gogol-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: gogol-core

API changes (from Hackage documentation)

- Network.Google.Resource.CloudBilling.BillingAccounts.Get: bagBearerToken :: Lens' BillingAccountsGet (Maybe Text)
- Network.Google.Resource.CloudBilling.BillingAccounts.Get: bagPp :: Lens' BillingAccountsGet Bool
- Network.Google.Resource.CloudBilling.BillingAccounts.List: balBearerToken :: Lens' BillingAccountsList (Maybe Text)
- Network.Google.Resource.CloudBilling.BillingAccounts.List: balPp :: Lens' BillingAccountsList Bool
- Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List: baplBearerToken :: Lens' BillingAccountsProjectsList (Maybe Text)
- Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List: baplPp :: Lens' BillingAccountsProjectsList Bool
- Network.Google.Resource.CloudBilling.Projects.GetBillingInfo: pgbiBearerToken :: Lens' ProjectsGetBillingInfo (Maybe Text)
- Network.Google.Resource.CloudBilling.Projects.GetBillingInfo: pgbiPp :: Lens' ProjectsGetBillingInfo Bool
- Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo: pubiBearerToken :: Lens' ProjectsUpdateBillingInfo (Maybe Text)
- Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo: pubiPp :: Lens' ProjectsUpdateBillingInfo Bool
+ Network.Google.Billing: Account :: AggregationInfoAggregationLevel
+ Network.Google.Billing: AdminRead :: AuditLogConfigLogType
+ Network.Google.Billing: AggregationIntervalUnspecified :: AggregationInfoAggregationInterval
+ Network.Google.Billing: AggregationLevelUnspecified :: AggregationInfoAggregationLevel
+ Network.Google.Billing: Daily :: AggregationInfoAggregationInterval
+ Network.Google.Billing: DataRead :: AuditLogConfigLogType
+ Network.Google.Billing: DataWrite :: AuditLogConfigLogType
+ Network.Google.Billing: LogTypeUnspecified :: AuditLogConfigLogType
+ Network.Google.Billing: Monthly :: AggregationInfoAggregationInterval
+ Network.Google.Billing: Project :: AggregationInfoAggregationLevel
+ Network.Google.Billing: X1 :: Xgafv
+ Network.Google.Billing: X2 :: Xgafv
+ Network.Google.Billing: acAuditLogConfigs :: Lens' AuditConfig [AuditLogConfig]
+ Network.Google.Billing: acService :: Lens' AuditConfig (Maybe Text)
+ Network.Google.Billing: aggregationInfo :: AggregationInfo
+ Network.Google.Billing: aiAggregationCount :: Lens' AggregationInfo (Maybe Int32)
+ Network.Google.Billing: aiAggregationInterval :: Lens' AggregationInfo (Maybe AggregationInfoAggregationInterval)
+ Network.Google.Billing: aiAggregationLevel :: Lens' AggregationInfo (Maybe AggregationInfoAggregationLevel)
+ Network.Google.Billing: alcExemptedMembers :: Lens' AuditLogConfig [Text]
+ Network.Google.Billing: alcLogType :: Lens' AuditLogConfig (Maybe AuditLogConfigLogType)
+ Network.Google.Billing: auditConfig :: AuditConfig
+ Network.Google.Billing: auditLogConfig :: AuditLogConfig
+ Network.Google.Billing: bCondition :: Lens' Binding (Maybe Expr)
+ Network.Google.Billing: bMembers :: Lens' Binding [Text]
+ Network.Google.Billing: bRole :: Lens' Binding (Maybe Text)
+ Network.Google.Billing: baMasterBillingAccount :: Lens' BillingAccount (Maybe Text)
+ Network.Google.Billing: binding :: Binding
+ Network.Google.Billing: cResourceFamily :: Lens' Category (Maybe Text)
+ Network.Google.Billing: cResourceGroup :: Lens' Category (Maybe Text)
+ Network.Google.Billing: cServiceDisplayName :: Lens' Category (Maybe Text)
+ Network.Google.Billing: cUsageType :: Lens' Category (Maybe Text)
+ Network.Google.Billing: category :: Category
+ Network.Google.Billing: data AggregationInfo
+ Network.Google.Billing: data AggregationInfoAggregationInterval
+ Network.Google.Billing: data AggregationInfoAggregationLevel
+ Network.Google.Billing: data AuditConfig
+ Network.Google.Billing: data AuditLogConfig
+ Network.Google.Billing: data AuditLogConfigLogType
+ Network.Google.Billing: data Binding
+ Network.Google.Billing: data Category
+ Network.Google.Billing: data Expr
+ Network.Google.Billing: data ListSKUsResponse
+ Network.Google.Billing: data ListServicesResponse
+ Network.Google.Billing: data Money
+ Network.Google.Billing: data Policy
+ Network.Google.Billing: data PricingExpression
+ Network.Google.Billing: data PricingInfo
+ Network.Google.Billing: data SKU
+ Network.Google.Billing: data Service
+ Network.Google.Billing: data SetIAMPolicyRequest
+ Network.Google.Billing: data TestIAMPermissionsRequest
+ Network.Google.Billing: data TestIAMPermissionsResponse
+ Network.Google.Billing: data TierRate
+ Network.Google.Billing: data Xgafv
+ Network.Google.Billing: eDescription :: Lens' Expr (Maybe Text)
+ Network.Google.Billing: eExpression :: Lens' Expr (Maybe Text)
+ Network.Google.Billing: eLocation :: Lens' Expr (Maybe Text)
+ Network.Google.Billing: eTitle :: Lens' Expr (Maybe Text)
+ Network.Google.Billing: expr :: Expr
+ Network.Google.Billing: listSKUsResponse :: ListSKUsResponse
+ Network.Google.Billing: listServicesResponse :: ListServicesResponse
+ Network.Google.Billing: lskurNextPageToken :: Lens' ListSKUsResponse (Maybe Text)
+ Network.Google.Billing: lskurSKUs :: Lens' ListSKUsResponse [SKU]
+ Network.Google.Billing: lsrNextPageToken :: Lens' ListServicesResponse (Maybe Text)
+ Network.Google.Billing: lsrServices :: Lens' ListServicesResponse [Service]
+ Network.Google.Billing: mCurrencyCode :: Lens' Money (Maybe Text)
+ Network.Google.Billing: mNanos :: Lens' Money (Maybe Int32)
+ Network.Google.Billing: mUnits :: Lens' Money (Maybe Int64)
+ Network.Google.Billing: money :: Money
+ Network.Google.Billing: pAuditConfigs :: Lens' Policy [AuditConfig]
+ Network.Google.Billing: pBindings :: Lens' Policy [Binding]
+ Network.Google.Billing: pEtag :: Lens' Policy (Maybe ByteString)
+ Network.Google.Billing: pVersion :: Lens' Policy (Maybe Int32)
+ Network.Google.Billing: peBaseUnit :: Lens' PricingExpression (Maybe Text)
+ Network.Google.Billing: peBaseUnitConversionFactor :: Lens' PricingExpression (Maybe Double)
+ Network.Google.Billing: peBaseUnitDescription :: Lens' PricingExpression (Maybe Text)
+ Network.Google.Billing: peDisplayQuantity :: Lens' PricingExpression (Maybe Double)
+ Network.Google.Billing: peTieredRates :: Lens' PricingExpression [TierRate]
+ Network.Google.Billing: peUsageUnit :: Lens' PricingExpression (Maybe Text)
+ Network.Google.Billing: peUsageUnitDescription :: Lens' PricingExpression (Maybe Text)
+ Network.Google.Billing: piAggregationInfo :: Lens' PricingInfo (Maybe AggregationInfo)
+ Network.Google.Billing: piCurrencyConversionRate :: Lens' PricingInfo (Maybe Double)
+ Network.Google.Billing: piEffectiveTime :: Lens' PricingInfo (Maybe UTCTime)
+ Network.Google.Billing: piPricingExpression :: Lens' PricingInfo (Maybe PricingExpression)
+ Network.Google.Billing: piSummary :: Lens' PricingInfo (Maybe Text)
+ Network.Google.Billing: policy :: Policy
+ Network.Google.Billing: pricingExpression :: PricingExpression
+ Network.Google.Billing: pricingInfo :: PricingInfo
+ Network.Google.Billing: sDisplayName :: Lens' Service (Maybe Text)
+ Network.Google.Billing: sKU :: SKU
+ Network.Google.Billing: sName :: Lens' Service (Maybe Text)
+ Network.Google.Billing: sServiceId :: Lens' Service (Maybe Text)
+ Network.Google.Billing: service :: Service
+ Network.Google.Billing: setIAMPolicyRequest :: SetIAMPolicyRequest
+ Network.Google.Billing: siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)
+ Network.Google.Billing: siprUpdateMask :: Lens' SetIAMPolicyRequest (Maybe GFieldMask)
+ Network.Google.Billing: skukCategory :: Lens' SKU (Maybe Category)
+ Network.Google.Billing: skukDescription :: Lens' SKU (Maybe Text)
+ Network.Google.Billing: skukName :: Lens' SKU (Maybe Text)
+ Network.Google.Billing: skukPricingInfo :: Lens' SKU [PricingInfo]
+ Network.Google.Billing: skukSKUId :: Lens' SKU (Maybe Text)
+ Network.Google.Billing: skukServiceProviderName :: Lens' SKU (Maybe Text)
+ Network.Google.Billing: skukServiceRegions :: Lens' SKU [Text]
+ Network.Google.Billing: testIAMPermissionsRequest :: TestIAMPermissionsRequest
+ Network.Google.Billing: testIAMPermissionsResponse :: TestIAMPermissionsResponse
+ Network.Google.Billing: tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]
+ Network.Google.Billing: tierRate :: TierRate
+ Network.Google.Billing: tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]
+ Network.Google.Billing: trStartUsageAmount :: Lens' TierRate (Maybe Double)
+ Network.Google.Billing: trUnitPrice :: Lens' TierRate (Maybe Money)
+ Network.Google.Billing.Types: Account :: AggregationInfoAggregationLevel
+ Network.Google.Billing.Types: AdminRead :: AuditLogConfigLogType
+ Network.Google.Billing.Types: AggregationIntervalUnspecified :: AggregationInfoAggregationInterval
+ Network.Google.Billing.Types: AggregationLevelUnspecified :: AggregationInfoAggregationLevel
+ Network.Google.Billing.Types: Daily :: AggregationInfoAggregationInterval
+ Network.Google.Billing.Types: DataRead :: AuditLogConfigLogType
+ Network.Google.Billing.Types: DataWrite :: AuditLogConfigLogType
+ Network.Google.Billing.Types: LogTypeUnspecified :: AuditLogConfigLogType
+ Network.Google.Billing.Types: Monthly :: AggregationInfoAggregationInterval
+ Network.Google.Billing.Types: Project :: AggregationInfoAggregationLevel
+ Network.Google.Billing.Types: X1 :: Xgafv
+ Network.Google.Billing.Types: X2 :: Xgafv
+ Network.Google.Billing.Types: acAuditLogConfigs :: Lens' AuditConfig [AuditLogConfig]
+ Network.Google.Billing.Types: acService :: Lens' AuditConfig (Maybe Text)
+ Network.Google.Billing.Types: aggregationInfo :: AggregationInfo
+ Network.Google.Billing.Types: aiAggregationCount :: Lens' AggregationInfo (Maybe Int32)
+ Network.Google.Billing.Types: aiAggregationInterval :: Lens' AggregationInfo (Maybe AggregationInfoAggregationInterval)
+ Network.Google.Billing.Types: aiAggregationLevel :: Lens' AggregationInfo (Maybe AggregationInfoAggregationLevel)
+ Network.Google.Billing.Types: alcExemptedMembers :: Lens' AuditLogConfig [Text]
+ Network.Google.Billing.Types: alcLogType :: Lens' AuditLogConfig (Maybe AuditLogConfigLogType)
+ Network.Google.Billing.Types: auditConfig :: AuditConfig
+ Network.Google.Billing.Types: auditLogConfig :: AuditLogConfig
+ Network.Google.Billing.Types: bCondition :: Lens' Binding (Maybe Expr)
+ Network.Google.Billing.Types: bMembers :: Lens' Binding [Text]
+ Network.Google.Billing.Types: bRole :: Lens' Binding (Maybe Text)
+ Network.Google.Billing.Types: baMasterBillingAccount :: Lens' BillingAccount (Maybe Text)
+ Network.Google.Billing.Types: binding :: Binding
+ Network.Google.Billing.Types: cResourceFamily :: Lens' Category (Maybe Text)
+ Network.Google.Billing.Types: cResourceGroup :: Lens' Category (Maybe Text)
+ Network.Google.Billing.Types: cServiceDisplayName :: Lens' Category (Maybe Text)
+ Network.Google.Billing.Types: cUsageType :: Lens' Category (Maybe Text)
+ Network.Google.Billing.Types: category :: Category
+ Network.Google.Billing.Types: data AggregationInfo
+ Network.Google.Billing.Types: data AggregationInfoAggregationInterval
+ Network.Google.Billing.Types: data AggregationInfoAggregationLevel
+ Network.Google.Billing.Types: data AuditConfig
+ Network.Google.Billing.Types: data AuditLogConfig
+ Network.Google.Billing.Types: data AuditLogConfigLogType
+ Network.Google.Billing.Types: data Binding
+ Network.Google.Billing.Types: data Category
+ Network.Google.Billing.Types: data Expr
+ Network.Google.Billing.Types: data ListSKUsResponse
+ Network.Google.Billing.Types: data ListServicesResponse
+ Network.Google.Billing.Types: data Money
+ Network.Google.Billing.Types: data Policy
+ Network.Google.Billing.Types: data PricingExpression
+ Network.Google.Billing.Types: data PricingInfo
+ Network.Google.Billing.Types: data SKU
+ Network.Google.Billing.Types: data Service
+ Network.Google.Billing.Types: data SetIAMPolicyRequest
+ Network.Google.Billing.Types: data TestIAMPermissionsRequest
+ Network.Google.Billing.Types: data TestIAMPermissionsResponse
+ Network.Google.Billing.Types: data TierRate
+ Network.Google.Billing.Types: data Xgafv
+ Network.Google.Billing.Types: eDescription :: Lens' Expr (Maybe Text)
+ Network.Google.Billing.Types: eExpression :: Lens' Expr (Maybe Text)
+ Network.Google.Billing.Types: eLocation :: Lens' Expr (Maybe Text)
+ Network.Google.Billing.Types: eTitle :: Lens' Expr (Maybe Text)
+ Network.Google.Billing.Types: expr :: Expr
+ Network.Google.Billing.Types: listSKUsResponse :: ListSKUsResponse
+ Network.Google.Billing.Types: listServicesResponse :: ListServicesResponse
+ Network.Google.Billing.Types: lskurNextPageToken :: Lens' ListSKUsResponse (Maybe Text)
+ Network.Google.Billing.Types: lskurSKUs :: Lens' ListSKUsResponse [SKU]
+ Network.Google.Billing.Types: lsrNextPageToken :: Lens' ListServicesResponse (Maybe Text)
+ Network.Google.Billing.Types: lsrServices :: Lens' ListServicesResponse [Service]
+ Network.Google.Billing.Types: mCurrencyCode :: Lens' Money (Maybe Text)
+ Network.Google.Billing.Types: mNanos :: Lens' Money (Maybe Int32)
+ Network.Google.Billing.Types: mUnits :: Lens' Money (Maybe Int64)
+ Network.Google.Billing.Types: money :: Money
+ Network.Google.Billing.Types: pAuditConfigs :: Lens' Policy [AuditConfig]
+ Network.Google.Billing.Types: pBindings :: Lens' Policy [Binding]
+ Network.Google.Billing.Types: pEtag :: Lens' Policy (Maybe ByteString)
+ Network.Google.Billing.Types: pVersion :: Lens' Policy (Maybe Int32)
+ Network.Google.Billing.Types: peBaseUnit :: Lens' PricingExpression (Maybe Text)
+ Network.Google.Billing.Types: peBaseUnitConversionFactor :: Lens' PricingExpression (Maybe Double)
+ Network.Google.Billing.Types: peBaseUnitDescription :: Lens' PricingExpression (Maybe Text)
+ Network.Google.Billing.Types: peDisplayQuantity :: Lens' PricingExpression (Maybe Double)
+ Network.Google.Billing.Types: peTieredRates :: Lens' PricingExpression [TierRate]
+ Network.Google.Billing.Types: peUsageUnit :: Lens' PricingExpression (Maybe Text)
+ Network.Google.Billing.Types: peUsageUnitDescription :: Lens' PricingExpression (Maybe Text)
+ Network.Google.Billing.Types: piAggregationInfo :: Lens' PricingInfo (Maybe AggregationInfo)
+ Network.Google.Billing.Types: piCurrencyConversionRate :: Lens' PricingInfo (Maybe Double)
+ Network.Google.Billing.Types: piEffectiveTime :: Lens' PricingInfo (Maybe UTCTime)
+ Network.Google.Billing.Types: piPricingExpression :: Lens' PricingInfo (Maybe PricingExpression)
+ Network.Google.Billing.Types: piSummary :: Lens' PricingInfo (Maybe Text)
+ Network.Google.Billing.Types: policy :: Policy
+ Network.Google.Billing.Types: pricingExpression :: PricingExpression
+ Network.Google.Billing.Types: pricingInfo :: PricingInfo
+ Network.Google.Billing.Types: sDisplayName :: Lens' Service (Maybe Text)
+ Network.Google.Billing.Types: sKU :: SKU
+ Network.Google.Billing.Types: sName :: Lens' Service (Maybe Text)
+ Network.Google.Billing.Types: sServiceId :: Lens' Service (Maybe Text)
+ Network.Google.Billing.Types: service :: Service
+ Network.Google.Billing.Types: setIAMPolicyRequest :: SetIAMPolicyRequest
+ Network.Google.Billing.Types: siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)
+ Network.Google.Billing.Types: siprUpdateMask :: Lens' SetIAMPolicyRequest (Maybe GFieldMask)
+ Network.Google.Billing.Types: skukCategory :: Lens' SKU (Maybe Category)
+ Network.Google.Billing.Types: skukDescription :: Lens' SKU (Maybe Text)
+ Network.Google.Billing.Types: skukName :: Lens' SKU (Maybe Text)
+ Network.Google.Billing.Types: skukPricingInfo :: Lens' SKU [PricingInfo]
+ Network.Google.Billing.Types: skukSKUId :: Lens' SKU (Maybe Text)
+ Network.Google.Billing.Types: skukServiceProviderName :: Lens' SKU (Maybe Text)
+ Network.Google.Billing.Types: skukServiceRegions :: Lens' SKU [Text]
+ Network.Google.Billing.Types: testIAMPermissionsRequest :: TestIAMPermissionsRequest
+ Network.Google.Billing.Types: testIAMPermissionsResponse :: TestIAMPermissionsResponse
+ Network.Google.Billing.Types: tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]
+ Network.Google.Billing.Types: tierRate :: TierRate
+ Network.Google.Billing.Types: tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]
+ Network.Google.Billing.Types: trStartUsageAmount :: Lens' TierRate (Maybe Double)
+ Network.Google.Billing.Types: trUnitPrice :: Lens' TierRate (Maybe Money)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: bacAccessToken :: Lens' BillingAccountsCreate (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: bacCallback :: Lens' BillingAccountsCreate (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: bacPayload :: Lens' BillingAccountsCreate BillingAccount
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: bacUploadProtocol :: Lens' BillingAccountsCreate (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: bacUploadType :: Lens' BillingAccountsCreate (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: bacXgafv :: Lens' BillingAccountsCreate (Maybe Xgafv)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: billingAccountsCreate :: BillingAccount -> BillingAccountsCreate
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: data BillingAccountsCreate
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: instance Data.Data.Data Network.Google.Resource.CloudBilling.BillingAccounts.Create.BillingAccountsCreate
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: instance GHC.Classes.Eq Network.Google.Resource.CloudBilling.BillingAccounts.Create.BillingAccountsCreate
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: instance GHC.Generics.Generic Network.Google.Resource.CloudBilling.BillingAccounts.Create.BillingAccountsCreate
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: instance GHC.Show.Show Network.Google.Resource.CloudBilling.BillingAccounts.Create.BillingAccountsCreate
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudBilling.BillingAccounts.Create.BillingAccountsCreate
+ Network.Google.Resource.CloudBilling.BillingAccounts.Create: type BillingAccountsCreateResource = "v1" :> "billingAccounts" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] BillingAccount :> Post '[JSON] BillingAccount
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: bagipAccessToken :: Lens' BillingAccountsGetIAMPolicy (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: bagipCallback :: Lens' BillingAccountsGetIAMPolicy (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: bagipResource :: Lens' BillingAccountsGetIAMPolicy Text
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: bagipUploadProtocol :: Lens' BillingAccountsGetIAMPolicy (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: bagipUploadType :: Lens' BillingAccountsGetIAMPolicy (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: bagipXgafv :: Lens' BillingAccountsGetIAMPolicy (Maybe Xgafv)
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: billingAccountsGetIAMPolicy :: Text -> BillingAccountsGetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: data BillingAccountsGetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: instance Data.Data.Data Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy.BillingAccountsGetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: instance GHC.Classes.Eq Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy.BillingAccountsGetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: instance GHC.Generics.Generic Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy.BillingAccountsGetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: instance GHC.Show.Show Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy.BillingAccountsGetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy.BillingAccountsGetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy: type BillingAccountsGetIAMPolicyResource = "v1" :> CaptureMode "resource" "getIamPolicy" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Policy
+ Network.Google.Resource.CloudBilling.BillingAccounts.List: balFilter :: Lens' BillingAccountsList (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: bapAccessToken :: Lens' BillingAccountsPatch (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: bapCallback :: Lens' BillingAccountsPatch (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: bapName :: Lens' BillingAccountsPatch Text
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: bapPayload :: Lens' BillingAccountsPatch BillingAccount
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: bapUpdateMask :: Lens' BillingAccountsPatch (Maybe GFieldMask)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: bapUploadProtocol :: Lens' BillingAccountsPatch (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: bapUploadType :: Lens' BillingAccountsPatch (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: bapXgafv :: Lens' BillingAccountsPatch (Maybe Xgafv)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: billingAccountsPatch :: BillingAccount -> Text -> BillingAccountsPatch
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: data BillingAccountsPatch
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: instance Data.Data.Data Network.Google.Resource.CloudBilling.BillingAccounts.Patch.BillingAccountsPatch
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: instance GHC.Classes.Eq Network.Google.Resource.CloudBilling.BillingAccounts.Patch.BillingAccountsPatch
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: instance GHC.Generics.Generic Network.Google.Resource.CloudBilling.BillingAccounts.Patch.BillingAccountsPatch
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: instance GHC.Show.Show Network.Google.Resource.CloudBilling.BillingAccounts.Patch.BillingAccountsPatch
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudBilling.BillingAccounts.Patch.BillingAccountsPatch
+ Network.Google.Resource.CloudBilling.BillingAccounts.Patch: type BillingAccountsPatchResource = "v1" :> Capture "name" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "updateMask" GFieldMask :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] BillingAccount :> Patch '[JSON] BillingAccount
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: basipAccessToken :: Lens' BillingAccountsSetIAMPolicy (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: basipCallback :: Lens' BillingAccountsSetIAMPolicy (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: basipPayload :: Lens' BillingAccountsSetIAMPolicy SetIAMPolicyRequest
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: basipResource :: Lens' BillingAccountsSetIAMPolicy Text
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: basipUploadProtocol :: Lens' BillingAccountsSetIAMPolicy (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: basipUploadType :: Lens' BillingAccountsSetIAMPolicy (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: basipXgafv :: Lens' BillingAccountsSetIAMPolicy (Maybe Xgafv)
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: billingAccountsSetIAMPolicy :: SetIAMPolicyRequest -> Text -> BillingAccountsSetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: data BillingAccountsSetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: instance Data.Data.Data Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy.BillingAccountsSetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: instance GHC.Classes.Eq Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy.BillingAccountsSetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: instance GHC.Generics.Generic Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy.BillingAccountsSetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: instance GHC.Show.Show Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy.BillingAccountsSetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy.BillingAccountsSetIAMPolicy
+ Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy: type BillingAccountsSetIAMPolicyResource = "v1" :> CaptureMode "resource" "setIamPolicy" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] SetIAMPolicyRequest :> Post '[JSON] Policy
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: batipAccessToken :: Lens' BillingAccountsTestIAMPermissions (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: batipCallback :: Lens' BillingAccountsTestIAMPermissions (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: batipPayload :: Lens' BillingAccountsTestIAMPermissions TestIAMPermissionsRequest
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: batipResource :: Lens' BillingAccountsTestIAMPermissions Text
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: batipUploadProtocol :: Lens' BillingAccountsTestIAMPermissions (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: batipUploadType :: Lens' BillingAccountsTestIAMPermissions (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: batipXgafv :: Lens' BillingAccountsTestIAMPermissions (Maybe Xgafv)
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: billingAccountsTestIAMPermissions :: TestIAMPermissionsRequest -> Text -> BillingAccountsTestIAMPermissions
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: data BillingAccountsTestIAMPermissions
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: instance Data.Data.Data Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions.BillingAccountsTestIAMPermissions
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: instance GHC.Classes.Eq Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions.BillingAccountsTestIAMPermissions
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: instance GHC.Generics.Generic Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions.BillingAccountsTestIAMPermissions
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: instance GHC.Show.Show Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions.BillingAccountsTestIAMPermissions
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions.BillingAccountsTestIAMPermissions
+ Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions: type BillingAccountsTestIAMPermissionsResource = "v1" :> CaptureMode "resource" "testIamPermissions" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] TestIAMPermissionsRequest :> Post '[JSON] TestIAMPermissionsResponse
+ Network.Google.Resource.CloudBilling.Services.List: data ServicesList
+ Network.Google.Resource.CloudBilling.Services.List: instance Data.Data.Data Network.Google.Resource.CloudBilling.Services.List.ServicesList
+ Network.Google.Resource.CloudBilling.Services.List: instance GHC.Classes.Eq Network.Google.Resource.CloudBilling.Services.List.ServicesList
+ Network.Google.Resource.CloudBilling.Services.List: instance GHC.Generics.Generic Network.Google.Resource.CloudBilling.Services.List.ServicesList
+ Network.Google.Resource.CloudBilling.Services.List: instance GHC.Show.Show Network.Google.Resource.CloudBilling.Services.List.ServicesList
+ Network.Google.Resource.CloudBilling.Services.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudBilling.Services.List.ServicesList
+ Network.Google.Resource.CloudBilling.Services.List: servicesList :: ServicesList
+ Network.Google.Resource.CloudBilling.Services.List: slAccessToken :: Lens' ServicesList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.List: slCallback :: Lens' ServicesList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.List: slPageSize :: Lens' ServicesList (Maybe Int32)
+ Network.Google.Resource.CloudBilling.Services.List: slPageToken :: Lens' ServicesList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.List: slUploadProtocol :: Lens' ServicesList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.List: slUploadType :: Lens' ServicesList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.List: slXgafv :: Lens' ServicesList (Maybe Xgafv)
+ Network.Google.Resource.CloudBilling.Services.List: type ServicesListResource = "v1" :> "services" :> 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] ListServicesResponse
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: data ServicesSKUsList
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: instance Data.Data.Data Network.Google.Resource.CloudBilling.Services.SKUs.List.ServicesSKUsList
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: instance GHC.Classes.Eq Network.Google.Resource.CloudBilling.Services.SKUs.List.ServicesSKUsList
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: instance GHC.Generics.Generic Network.Google.Resource.CloudBilling.Services.SKUs.List.ServicesSKUsList
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: instance GHC.Show.Show Network.Google.Resource.CloudBilling.Services.SKUs.List.ServicesSKUsList
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.CloudBilling.Services.SKUs.List.ServicesSKUsList
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: servicesSKUsList :: Text -> ServicesSKUsList
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulAccessToken :: Lens' ServicesSKUsList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulCallback :: Lens' ServicesSKUsList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulCurrencyCode :: Lens' ServicesSKUsList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulEndTime :: Lens' ServicesSKUsList (Maybe UTCTime)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulPageSize :: Lens' ServicesSKUsList (Maybe Int32)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulPageToken :: Lens' ServicesSKUsList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulParent :: Lens' ServicesSKUsList Text
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulStartTime :: Lens' ServicesSKUsList (Maybe UTCTime)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulUploadProtocol :: Lens' ServicesSKUsList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulUploadType :: Lens' ServicesSKUsList (Maybe Text)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: sskulXgafv :: Lens' ServicesSKUsList (Maybe Xgafv)
+ Network.Google.Resource.CloudBilling.Services.SKUs.List: type ServicesSKUsListResource = "v1" :> Capture "parent" Text :> "skus" :> QueryParam "$.xgafv" Xgafv :> QueryParam "currencyCode" Text :> QueryParam "upload_protocol" Text :> QueryParam "startTime" DateTime' :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "endTime" DateTime' :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ListSKUsResponse
- Network.Google.Billing: type BillingAPI = ProjectsGetBillingInfoResource :<|> (ProjectsUpdateBillingInfoResource :<|> (BillingAccountsProjectsListResource :<|> (BillingAccountsListResource :<|> BillingAccountsGetResource)))
+ Network.Google.Billing: type BillingAPI = ProjectsGetBillingInfoResource :<|> ProjectsUpdateBillingInfoResource :<|> ServicesSKUsListResource :<|> ServicesListResource :<|> BillingAccountsProjectsListResource :<|> BillingAccountsListResource :<|> BillingAccountsGetIAMPolicyResource :<|> BillingAccountsPatchResource :<|> BillingAccountsGetResource :<|> BillingAccountsCreateResource :<|> BillingAccountsSetIAMPolicyResource :<|> BillingAccountsTestIAMPermissionsResource
- Network.Google.Resource.CloudBilling.BillingAccounts.Get: bagXgafv :: Lens' BillingAccountsGet (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Get: bagXgafv :: Lens' BillingAccountsGet (Maybe Xgafv)
- Network.Google.Resource.CloudBilling.BillingAccounts.Get: type BillingAccountsGetResource = "v1" :> (Capture "name" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] BillingAccount)))))))))
+ Network.Google.Resource.CloudBilling.BillingAccounts.Get: type BillingAccountsGetResource = "v1" :> Capture "name" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] BillingAccount
- Network.Google.Resource.CloudBilling.BillingAccounts.List: balXgafv :: Lens' BillingAccountsList (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.List: balXgafv :: Lens' BillingAccountsList (Maybe Xgafv)
- Network.Google.Resource.CloudBilling.BillingAccounts.List: type BillingAccountsListResource = "v1" :> ("billingAccounts" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListBillingAccountsResponse)))))))))))
+ Network.Google.Resource.CloudBilling.BillingAccounts.List: type BillingAccountsListResource = "v1" :> "billingAccounts" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "filter" Text :> QueryParam "pageToken" Text :> QueryParam "pageSize" (Textual Int32) :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ListBillingAccountsResponse
- Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List: baplXgafv :: Lens' BillingAccountsProjectsList (Maybe Text)
+ Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List: baplXgafv :: Lens' BillingAccountsProjectsList (Maybe Xgafv)
- Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List: type BillingAccountsProjectsListResource = "v1" :> (Capture "name" Text :> ("projects" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListProjectBillingInfoResponse))))))))))))
+ Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List: 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
- Network.Google.Resource.CloudBilling.Projects.GetBillingInfo: pgbiXgafv :: Lens' ProjectsGetBillingInfo (Maybe Text)
+ Network.Google.Resource.CloudBilling.Projects.GetBillingInfo: pgbiXgafv :: Lens' ProjectsGetBillingInfo (Maybe Xgafv)
- Network.Google.Resource.CloudBilling.Projects.GetBillingInfo: type ProjectsGetBillingInfoResource = "v1" :> (Capture "name" Text :> ("billingInfo" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ProjectBillingInfo))))))))))
+ Network.Google.Resource.CloudBilling.Projects.GetBillingInfo: type ProjectsGetBillingInfoResource = "v1" :> Capture "name" Text :> "billingInfo" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ProjectBillingInfo
- Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo: pubiXgafv :: Lens' ProjectsUpdateBillingInfo (Maybe Text)
+ Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo: pubiXgafv :: Lens' ProjectsUpdateBillingInfo (Maybe Xgafv)
- Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo: type ProjectsUpdateBillingInfoResource = "v1" :> (Capture "name" Text :> ("billingInfo" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProjectBillingInfo :> Put '[JSON] ProjectBillingInfo)))))))))))
+ Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo: type ProjectsUpdateBillingInfoResource = "v1" :> Capture "name" Text :> "billingInfo" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ProjectBillingInfo :> Put '[JSON] ProjectBillingInfo

Files

gen/Network/Google/Billing.hs view
@@ -13,10 +13,10 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieves Google Developers Console billing accounts and associates them--- with projects.+-- Allows developers to manage billing for their Google Cloud Platform+-- projects programmatically. ----- /See:/ <https://cloud.google.com/billing/ Google Cloud Billing API Reference>+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> module Network.Google.Billing     (     -- * Service Configuration@@ -30,30 +30,79 @@      -- * Resources +    -- ** cloudbilling.billingAccounts.create+    , module Network.Google.Resource.CloudBilling.BillingAccounts.Create+     -- ** cloudbilling.billingAccounts.get     , module Network.Google.Resource.CloudBilling.BillingAccounts.Get +    -- ** cloudbilling.billingAccounts.getIamPolicy+    , module Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy+     -- ** cloudbilling.billingAccounts.list     , module Network.Google.Resource.CloudBilling.BillingAccounts.List +    -- ** cloudbilling.billingAccounts.patch+    , module Network.Google.Resource.CloudBilling.BillingAccounts.Patch+     -- ** cloudbilling.billingAccounts.projects.list     , module Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List +    -- ** cloudbilling.billingAccounts.setIamPolicy+    , module Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy++    -- ** cloudbilling.billingAccounts.testIamPermissions+    , module Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions+     -- ** cloudbilling.projects.getBillingInfo     , module Network.Google.Resource.CloudBilling.Projects.GetBillingInfo      -- ** cloudbilling.projects.updateBillingInfo     , module Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo +    -- ** cloudbilling.services.list+    , module Network.Google.Resource.CloudBilling.Services.List++    -- ** cloudbilling.services.skus.list+    , module Network.Google.Resource.CloudBilling.Services.SKUs.List+     -- * Types +    -- ** AuditConfig+    , AuditConfig+    , auditConfig+    , acService+    , acAuditLogConfigs++    -- ** ListServicesResponse+    , ListServicesResponse+    , listServicesResponse+    , lsrNextPageToken+    , lsrServices++    -- ** Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription+     -- ** BillingAccount     , BillingAccount     , billingAccount+    , baMasterBillingAccount     , baOpen     , baName     , baDisplayName +    -- ** Service+    , Service+    , service+    , sName+    , sDisplayName+    , sServiceId+     -- ** ProjectBillingInfo     , ProjectBillingInfo     , projectBillingInfo@@ -62,35 +111,163 @@     , pbiProjectId     , pbiBillingEnabled +    -- ** TierRate+    , TierRate+    , tierRate+    , trUnitPrice+    , trStartUsageAmount++    -- ** Money+    , Money+    , money+    , mCurrencyCode+    , mNanos+    , mUnits++    -- ** Category+    , Category+    , category+    , cResourceFamily+    , cUsageType+    , cServiceDisplayName+    , cResourceGroup++    -- ** AggregationInfoAggregationLevel+    , AggregationInfoAggregationLevel (..)++    -- ** SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprUpdateMask+    , siprPolicy+     -- ** ListProjectBillingInfoResponse     , ListProjectBillingInfoResponse     , listProjectBillingInfoResponse     , lpbirNextPageToken     , lpbirProjectBillingInfo +    -- ** ListSKUsResponse+    , ListSKUsResponse+    , listSKUsResponse+    , lskurNextPageToken+    , lskurSKUs++    -- ** AuditLogConfigLogType+    , AuditLogConfigLogType (..)++    -- ** PricingExpression+    , PricingExpression+    , pricingExpression+    , peUsageUnitDescription+    , peBaseUnit+    , peBaseUnitConversionFactor+    , peDisplayQuantity+    , peTieredRates+    , peBaseUnitDescription+    , peUsageUnit++    -- ** Xgafv+    , Xgafv (..)++    -- ** TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- ** AggregationInfo+    , AggregationInfo+    , aggregationInfo+    , aiAggregationInterval+    , aiAggregationCount+    , aiAggregationLevel++    -- ** SKU+    , SKU+    , sKU+    , skukCategory+    , skukSKUId+    , skukServiceProviderName+    , skukServiceRegions+    , skukName+    , skukPricingInfo+    , skukDescription++    -- ** TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- ** Policy+    , Policy+    , policy+    , pAuditConfigs+    , pEtag+    , pVersion+    , pBindings+     -- ** ListBillingAccountsResponse     , ListBillingAccountsResponse     , listBillingAccountsResponse     , lbarNextPageToken     , lbarBillingAccounts++    -- ** AuditLogConfig+    , AuditLogConfig+    , auditLogConfig+    , alcLogType+    , alcExemptedMembers++    -- ** PricingInfo+    , PricingInfo+    , pricingInfo+    , piSummary+    , piAggregationInfo+    , piPricingExpression+    , piCurrencyConversionRate+    , piEffectiveTime++    -- ** AggregationInfoAggregationInterval+    , AggregationInfoAggregationInterval (..)++    -- ** Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition     ) where  import           Network.Google.Billing.Types import           Network.Google.Prelude+import           Network.Google.Resource.CloudBilling.BillingAccounts.Create import           Network.Google.Resource.CloudBilling.BillingAccounts.Get+import           Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy import           Network.Google.Resource.CloudBilling.BillingAccounts.List+import           Network.Google.Resource.CloudBilling.BillingAccounts.Patch import           Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List+import           Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy+import           Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions import           Network.Google.Resource.CloudBilling.Projects.GetBillingInfo import           Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo+import           Network.Google.Resource.CloudBilling.Services.List+import           Network.Google.Resource.CloudBilling.Services.SKUs.List  {- $resources TODO -} --- | Represents the entirety of the methods and resources available for the Google Cloud Billing API service.+-- | Represents the entirety of the methods and resources available for the Cloud Billing API service. type BillingAPI =      ProjectsGetBillingInfoResource :<|>        ProjectsUpdateBillingInfoResource+       :<|> ServicesSKUsListResource+       :<|> ServicesListResource        :<|> BillingAccountsProjectsListResource        :<|> BillingAccountsListResource+       :<|> BillingAccountsGetIAMPolicyResource+       :<|> BillingAccountsPatchResource        :<|> BillingAccountsGetResource+       :<|> BillingAccountsCreateResource+       :<|> BillingAccountsSetIAMPolicyResource+       :<|> BillingAccountsTestIAMPermissionsResource
gen/Network/Google/Billing/Types.hs view
@@ -22,13 +22,41 @@     -- * OAuth Scopes     , cloudPlatformScope +    -- * AuditConfig+    , AuditConfig+    , auditConfig+    , acService+    , acAuditLogConfigs++    -- * ListServicesResponse+    , ListServicesResponse+    , listServicesResponse+    , lsrNextPageToken+    , lsrServices++    -- * Expr+    , Expr+    , expr+    , eLocation+    , eExpression+    , eTitle+    , eDescription+     -- * BillingAccount     , BillingAccount     , billingAccount+    , baMasterBillingAccount     , baOpen     , baName     , baDisplayName +    -- * Service+    , Service+    , service+    , sName+    , sDisplayName+    , sServiceId+     -- * ProjectBillingInfo     , ProjectBillingInfo     , projectBillingInfo@@ -37,24 +65,138 @@     , pbiProjectId     , pbiBillingEnabled +    -- * TierRate+    , TierRate+    , tierRate+    , trUnitPrice+    , trStartUsageAmount++    -- * Money+    , Money+    , money+    , mCurrencyCode+    , mNanos+    , mUnits++    -- * Category+    , Category+    , category+    , cResourceFamily+    , cUsageType+    , cServiceDisplayName+    , cResourceGroup++    -- * AggregationInfoAggregationLevel+    , AggregationInfoAggregationLevel (..)++    -- * SetIAMPolicyRequest+    , SetIAMPolicyRequest+    , setIAMPolicyRequest+    , siprUpdateMask+    , siprPolicy+     -- * ListProjectBillingInfoResponse     , ListProjectBillingInfoResponse     , listProjectBillingInfoResponse     , lpbirNextPageToken     , lpbirProjectBillingInfo +    -- * ListSKUsResponse+    , ListSKUsResponse+    , listSKUsResponse+    , lskurNextPageToken+    , lskurSKUs++    -- * AuditLogConfigLogType+    , AuditLogConfigLogType (..)++    -- * PricingExpression+    , PricingExpression+    , pricingExpression+    , peUsageUnitDescription+    , peBaseUnit+    , peBaseUnitConversionFactor+    , peDisplayQuantity+    , peTieredRates+    , peBaseUnitDescription+    , peUsageUnit++    -- * Xgafv+    , Xgafv (..)++    -- * TestIAMPermissionsRequest+    , TestIAMPermissionsRequest+    , testIAMPermissionsRequest+    , tiprPermissions++    -- * AggregationInfo+    , AggregationInfo+    , aggregationInfo+    , aiAggregationInterval+    , aiAggregationCount+    , aiAggregationLevel++    -- * SKU+    , SKU+    , sKU+    , skukCategory+    , skukSKUId+    , skukServiceProviderName+    , skukServiceRegions+    , skukName+    , skukPricingInfo+    , skukDescription++    -- * TestIAMPermissionsResponse+    , TestIAMPermissionsResponse+    , testIAMPermissionsResponse+    , tiamprPermissions++    -- * Policy+    , Policy+    , policy+    , pAuditConfigs+    , pEtag+    , pVersion+    , pBindings+     -- * ListBillingAccountsResponse     , ListBillingAccountsResponse     , listBillingAccountsResponse     , lbarNextPageToken     , lbarBillingAccounts++    -- * AuditLogConfig+    , AuditLogConfig+    , auditLogConfig+    , alcLogType+    , alcExemptedMembers++    -- * PricingInfo+    , PricingInfo+    , pricingInfo+    , piSummary+    , piAggregationInfo+    , piPricingExpression+    , piCurrencyConversionRate+    , piEffectiveTime++    -- * AggregationInfoAggregationInterval+    , AggregationInfoAggregationInterval (..)++    -- * Binding+    , Binding+    , binding+    , bMembers+    , bRole+    , bCondition     ) where  import           Network.Google.Billing.Types.Product import           Network.Google.Billing.Types.Sum import           Network.Google.Prelude --- | Default request referring to version 'v1' of the Google Cloud Billing API. This contains the host and root path used as a starting point for constructing service requests.+-- | Default request referring to version 'v1' of the Cloud Billing API. This contains the host and root path used as a starting point for constructing service requests. billingService :: ServiceConfig billingService   = defaultService (ServiceId "cloudbilling:v1")
gen/Network/Google/Billing/Types/Product.hs view
@@ -20,262 +20,1558 @@ import           Network.Google.Billing.Types.Sum import           Network.Google.Prelude --- | A billing account in [Google Developers--- Console](https:\/\/console.developers.google.com\/). You can assign a--- billing account to one or more projects.------ /See:/ 'billingAccount' smart constructor.-data BillingAccount = BillingAccount'-    { _baOpen        :: !(Maybe Bool)-    , _baName        :: !(Maybe Text)-    , _baDisplayName :: !(Maybe Text)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BillingAccount' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'baOpen'------ * 'baName'------ * 'baDisplayName'-billingAccount-    :: BillingAccount-billingAccount =-    BillingAccount'-    { _baOpen = Nothing-    , _baName = Nothing-    , _baDisplayName = Nothing-    }---- | True if the billing account is open, and will therefore be charged for--- any usage on associated projects. False if the billing account is--- closed, and therefore projects associated with it will be unable to use--- paid services.-baOpen :: Lens' BillingAccount (Maybe Bool)-baOpen = lens _baOpen (\ s a -> s{_baOpen = a})---- | The resource name of the billing account. The resource name has the form--- \`billingAccounts\/{billing_account_id}\`. For example,--- \`billingAccounts\/012345-567890-ABCDEF\` would be the resource name for--- billing account \`012345-567890-ABCDEF\`.-baName :: Lens' BillingAccount (Maybe Text)-baName = lens _baName (\ s a -> s{_baName = a})---- | The display name given to the billing account, such as \`My Billing--- Account\`. This name is displayed in the Google Developers Console.-baDisplayName :: Lens' BillingAccount (Maybe Text)-baDisplayName-  = lens _baDisplayName-      (\ s a -> s{_baDisplayName = a})--instance FromJSON BillingAccount where-        parseJSON-          = withObject "BillingAccount"-              (\ o ->-                 BillingAccount' <$>-                   (o .:? "open") <*> (o .:? "name") <*>-                     (o .:? "displayName"))--instance ToJSON BillingAccount where-        toJSON BillingAccount'{..}-          = object-              (catMaybes-                 [("open" .=) <$> _baOpen, ("name" .=) <$> _baName,-                  ("displayName" .=) <$> _baDisplayName])---- | Encapsulation of billing information for a Developers Console project. A--- project has at most one associated billing account at a time (but a--- billing account can be assigned to multiple projects).------ /See:/ 'projectBillingInfo' smart constructor.-data ProjectBillingInfo = ProjectBillingInfo'-    { _pbiName               :: !(Maybe Text)-    , _pbiBillingAccountName :: !(Maybe Text)-    , _pbiProjectId          :: !(Maybe Text)-    , _pbiBillingEnabled     :: !(Maybe Bool)-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProjectBillingInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbiName'------ * 'pbiBillingAccountName'------ * 'pbiProjectId'------ * 'pbiBillingEnabled'-projectBillingInfo-    :: ProjectBillingInfo-projectBillingInfo =-    ProjectBillingInfo'-    { _pbiName = Nothing-    , _pbiBillingAccountName = Nothing-    , _pbiProjectId = Nothing-    , _pbiBillingEnabled = Nothing-    }---- | The resource name for the \`ProjectBillingInfo\`; has the form--- \`projects\/{project_id}\/billingInfo\`. For example, the resource name--- for the billing information for project \`tokyo-rain-123\` would be--- \`projects\/tokyo-rain-123\/billingInfo\`. This field is read-only.-pbiName :: Lens' ProjectBillingInfo (Maybe Text)-pbiName = lens _pbiName (\ s a -> s{_pbiName = a})---- | The resource name of the billing account associated with the project, if--- any. For example, \`billingAccounts\/012345-567890-ABCDEF\`.-pbiBillingAccountName :: Lens' ProjectBillingInfo (Maybe Text)-pbiBillingAccountName-  = lens _pbiBillingAccountName-      (\ s a -> s{_pbiBillingAccountName = a})---- | The ID of the project that this \`ProjectBillingInfo\` represents, such--- as \`tokyo-rain-123\`. This is a convenience field so that you don\'t--- need to parse the \`name\` field to obtain a project ID. This field is--- read-only.-pbiProjectId :: Lens' ProjectBillingInfo (Maybe Text)-pbiProjectId-  = lens _pbiProjectId (\ s a -> s{_pbiProjectId = a})---- | True if the project is associated with an open billing account, to which--- usage on the project is charged. False if the project is associated with--- a closed billing account, or no billing account at all, and therefore--- cannot use paid services. This field is read-only.-pbiBillingEnabled :: Lens' ProjectBillingInfo (Maybe Bool)-pbiBillingEnabled-  = lens _pbiBillingEnabled-      (\ s a -> s{_pbiBillingEnabled = a})--instance FromJSON ProjectBillingInfo where-        parseJSON-          = withObject "ProjectBillingInfo"-              (\ o ->-                 ProjectBillingInfo' <$>-                   (o .:? "name") <*> (o .:? "billingAccountName") <*>-                     (o .:? "projectId")-                     <*> (o .:? "billingEnabled"))--instance ToJSON ProjectBillingInfo where-        toJSON ProjectBillingInfo'{..}-          = object-              (catMaybes-                 [("name" .=) <$> _pbiName,-                  ("billingAccountName" .=) <$> _pbiBillingAccountName,-                  ("projectId" .=) <$> _pbiProjectId,-                  ("billingEnabled" .=) <$> _pbiBillingEnabled])---- | Request message for \`ListProjectBillingInfoResponse\`.------ /See:/ 'listProjectBillingInfoResponse' smart constructor.-data ListProjectBillingInfoResponse = ListProjectBillingInfoResponse'-    { _lpbirNextPageToken      :: !(Maybe Text)-    , _lpbirProjectBillingInfo :: !(Maybe [ProjectBillingInfo])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ListProjectBillingInfoResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lpbirNextPageToken'------ * 'lpbirProjectBillingInfo'-listProjectBillingInfoResponse-    :: ListProjectBillingInfoResponse-listProjectBillingInfoResponse =-    ListProjectBillingInfoResponse'-    { _lpbirNextPageToken = Nothing-    , _lpbirProjectBillingInfo = Nothing-    }---- | A token to retrieve the next page of results. To retrieve the next page,--- call \`ListProjectBillingInfo\` again with the \`page_token\` field set--- to this value. This field is empty if there are no more results to--- retrieve.-lpbirNextPageToken :: Lens' ListProjectBillingInfoResponse (Maybe Text)-lpbirNextPageToken-  = lens _lpbirNextPageToken-      (\ s a -> s{_lpbirNextPageToken = a})---- | A list of \`ProjectBillingInfo\` resources representing the projects--- associated with the billing account.-lpbirProjectBillingInfo :: Lens' ListProjectBillingInfoResponse [ProjectBillingInfo]-lpbirProjectBillingInfo-  = lens _lpbirProjectBillingInfo-      (\ s a -> s{_lpbirProjectBillingInfo = a})-      . _Default-      . _Coerce--instance FromJSON ListProjectBillingInfoResponse-         where-        parseJSON-          = withObject "ListProjectBillingInfoResponse"-              (\ o ->-                 ListProjectBillingInfoResponse' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "projectBillingInfo" .!= mempty))--instance ToJSON ListProjectBillingInfoResponse where-        toJSON ListProjectBillingInfoResponse'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _lpbirNextPageToken,-                  ("projectBillingInfo" .=) <$>-                    _lpbirProjectBillingInfo])---- | Response message for \`ListBillingAccounts\`.------ /See:/ 'listBillingAccountsResponse' smart constructor.-data ListBillingAccountsResponse = ListBillingAccountsResponse'-    { _lbarNextPageToken   :: !(Maybe Text)-    , _lbarBillingAccounts :: !(Maybe [BillingAccount])-    } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ListBillingAccountsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbarNextPageToken'------ * 'lbarBillingAccounts'-listBillingAccountsResponse-    :: ListBillingAccountsResponse-listBillingAccountsResponse =-    ListBillingAccountsResponse'-    { _lbarNextPageToken = Nothing-    , _lbarBillingAccounts = Nothing-    }---- | A token to retrieve the next page of results. To retrieve the next page,--- call \`ListBillingAccounts\` again with the \`page_token\` field set to--- this value. This field is empty if there are no more results to--- retrieve.-lbarNextPageToken :: Lens' ListBillingAccountsResponse (Maybe Text)-lbarNextPageToken-  = lens _lbarNextPageToken-      (\ s a -> s{_lbarNextPageToken = a})---- | A list of billing accounts.-lbarBillingAccounts :: Lens' ListBillingAccountsResponse [BillingAccount]-lbarBillingAccounts-  = lens _lbarBillingAccounts-      (\ s a -> s{_lbarBillingAccounts = a})-      . _Default-      . _Coerce--instance FromJSON ListBillingAccountsResponse where-        parseJSON-          = withObject "ListBillingAccountsResponse"-              (\ o ->-                 ListBillingAccountsResponse' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "billingAccounts" .!= mempty))--instance ToJSON ListBillingAccountsResponse where-        toJSON ListBillingAccountsResponse'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _lbarNextPageToken,-                  ("billingAccounts" .=) <$> _lbarBillingAccounts])+-- | Specifies the audit configuration for a service. The configuration+-- determines which permission types are logged, and what identities, if+-- any, are exempted from logging. An AuditConfig must have one or more+-- AuditLogConfigs. If there are AuditConfigs for both \`allServices\` and+-- a specific service, the union of the two AuditConfigs is used for that+-- service: the log_types specified in each AuditConfig are enabled, and+-- the exempted_members in each AuditLogConfig are exempted. Example Policy+-- with multiple AuditConfigs: { \"audit_configs\": [ { \"service\":+-- \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",+-- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":+-- \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\":+-- \"fooservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\":+-- \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\":+-- [ \"user:bar\'gmail.com\" ] } ] } ] } For fooservice, this policy+-- enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts+-- foo\'gmail.com from DATA_READ logging, and bar\'gmail.com from+-- DATA_WRITE logging.+--+-- /See:/ 'auditConfig' smart constructor.+data AuditConfig = AuditConfig'+    { _acService         :: !(Maybe Text)+    , _acAuditLogConfigs :: !(Maybe [AuditLogConfig])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuditConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acService'+--+-- * 'acAuditLogConfigs'+auditConfig+    :: AuditConfig+auditConfig =+    AuditConfig'+    { _acService = Nothing+    , _acAuditLogConfigs = Nothing+    }++-- | Specifies a service that will be enabled for audit logging. For example,+-- \`storage.googleapis.com\`, \`cloudsql.googleapis.com\`. \`allServices\`+-- is a special value that covers all services.+acService :: Lens' AuditConfig (Maybe Text)+acService+  = lens _acService (\ s a -> s{_acService = a})++-- | The configuration for logging of each type of permission.+acAuditLogConfigs :: Lens' AuditConfig [AuditLogConfig]+acAuditLogConfigs+  = lens _acAuditLogConfigs+      (\ s a -> s{_acAuditLogConfigs = a})+      . _Default+      . _Coerce++instance FromJSON AuditConfig where+        parseJSON+          = withObject "AuditConfig"+              (\ o ->+                 AuditConfig' <$>+                   (o .:? "service") <*>+                     (o .:? "auditLogConfigs" .!= mempty))++instance ToJSON AuditConfig where+        toJSON AuditConfig'{..}+          = object+              (catMaybes+                 [("service" .=) <$> _acService,+                  ("auditLogConfigs" .=) <$> _acAuditLogConfigs])++-- | Response message for \`ListServices\`.+--+-- /See:/ 'listServicesResponse' smart constructor.+data ListServicesResponse = ListServicesResponse'+    { _lsrNextPageToken :: !(Maybe Text)+    , _lsrServices      :: !(Maybe [Service])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListServicesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsrNextPageToken'+--+-- * 'lsrServices'+listServicesResponse+    :: ListServicesResponse+listServicesResponse =+    ListServicesResponse'+    { _lsrNextPageToken = Nothing+    , _lsrServices = Nothing+    }++-- | A token to retrieve the next page of results. To retrieve the next page,+-- call \`ListServices\` again with the \`page_token\` field set to this+-- value. This field is empty if there are no more results to retrieve.+lsrNextPageToken :: Lens' ListServicesResponse (Maybe Text)+lsrNextPageToken+  = lens _lsrNextPageToken+      (\ s a -> s{_lsrNextPageToken = a})++-- | A list of services.+lsrServices :: Lens' ListServicesResponse [Service]+lsrServices+  = lens _lsrServices (\ s a -> s{_lsrServices = a}) .+      _Default+      . _Coerce++instance FromJSON ListServicesResponse where+        parseJSON+          = withObject "ListServicesResponse"+              (\ o ->+                 ListServicesResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "services" .!= mempty))++instance ToJSON ListServicesResponse where+        toJSON ListServicesResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lsrNextPageToken,+                  ("services" .=) <$> _lsrServices])++-- | Represents an expression text. Example: title: \"User account presence\"+-- description: \"Determines whether the request has a user account\"+-- expression: \"size(request.user) > 0\"+--+-- /See:/ 'expr' smart constructor.+data Expr = Expr'+    { _eLocation    :: !(Maybe Text)+    , _eExpression  :: !(Maybe Text)+    , _eTitle       :: !(Maybe Text)+    , _eDescription :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Expr' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eLocation'+--+-- * 'eExpression'+--+-- * 'eTitle'+--+-- * 'eDescription'+expr+    :: Expr+expr =+    Expr'+    { _eLocation = Nothing+    , _eExpression = Nothing+    , _eTitle = Nothing+    , _eDescription = Nothing+    }++-- | An optional string indicating the location of the expression for error+-- reporting, e.g. a file name and a position in the file.+eLocation :: Lens' Expr (Maybe Text)+eLocation+  = lens _eLocation (\ s a -> s{_eLocation = a})++-- | Textual representation of an expression in Common Expression Language+-- syntax. The application context of the containing message determines+-- which well-known feature set of CEL is supported.+eExpression :: Lens' Expr (Maybe Text)+eExpression+  = lens _eExpression (\ s a -> s{_eExpression = a})++-- | An optional title for the expression, i.e. a short string describing its+-- purpose. This can be used e.g. in UIs which allow to enter the+-- expression.+eTitle :: Lens' Expr (Maybe Text)+eTitle = lens _eTitle (\ s a -> s{_eTitle = a})++-- | An optional description of the expression. This is a longer text which+-- describes the expression, e.g. when hovered over it in a UI.+eDescription :: Lens' Expr (Maybe Text)+eDescription+  = lens _eDescription (\ s a -> s{_eDescription = a})++instance FromJSON Expr where+        parseJSON+          = withObject "Expr"+              (\ o ->+                 Expr' <$>+                   (o .:? "location") <*> (o .:? "expression") <*>+                     (o .:? "title")+                     <*> (o .:? "description"))++instance ToJSON Expr where+        toJSON Expr'{..}+          = object+              (catMaybes+                 [("location" .=) <$> _eLocation,+                  ("expression" .=) <$> _eExpression,+                  ("title" .=) <$> _eTitle,+                  ("description" .=) <$> _eDescription])++-- | A billing account in [GCP+-- Console](https:\/\/console.cloud.google.com\/). You can assign a billing+-- account to one or more projects.+--+-- /See:/ 'billingAccount' smart constructor.+data BillingAccount = BillingAccount'+    { _baMasterBillingAccount :: !(Maybe Text)+    , _baOpen                 :: !(Maybe Bool)+    , _baName                 :: !(Maybe Text)+    , _baDisplayName          :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BillingAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'baMasterBillingAccount'+--+-- * 'baOpen'+--+-- * 'baName'+--+-- * 'baDisplayName'+billingAccount+    :: BillingAccount+billingAccount =+    BillingAccount'+    { _baMasterBillingAccount = Nothing+    , _baOpen = Nothing+    , _baName = Nothing+    , _baDisplayName = Nothing+    }++-- | If this account is a+-- [subaccount](https:\/\/cloud.google.com\/billing\/docs\/concepts), then+-- this will be the resource name of the master billing account that it is+-- being resold through. Otherwise this will be empty.+baMasterBillingAccount :: Lens' BillingAccount (Maybe Text)+baMasterBillingAccount+  = lens _baMasterBillingAccount+      (\ s a -> s{_baMasterBillingAccount = a})++-- | True if the billing account is open, and will therefore be charged for+-- any usage on associated projects. False if the billing account is+-- closed, and therefore projects associated with it will be unable to use+-- paid services.+baOpen :: Lens' BillingAccount (Maybe Bool)+baOpen = lens _baOpen (\ s a -> s{_baOpen = a})++-- | The resource name of the billing account. The resource name has the form+-- \`billingAccounts\/{billing_account_id}\`. For example,+-- \`billingAccounts\/012345-567890-ABCDEF\` would be the resource name for+-- billing account \`012345-567890-ABCDEF\`.+baName :: Lens' BillingAccount (Maybe Text)+baName = lens _baName (\ s a -> s{_baName = a})++-- | The display name given to the billing account, such as \`My Billing+-- Account\`. This name is displayed in the GCP Console.+baDisplayName :: Lens' BillingAccount (Maybe Text)+baDisplayName+  = lens _baDisplayName+      (\ s a -> s{_baDisplayName = a})++instance FromJSON BillingAccount where+        parseJSON+          = withObject "BillingAccount"+              (\ o ->+                 BillingAccount' <$>+                   (o .:? "masterBillingAccount") <*> (o .:? "open") <*>+                     (o .:? "name")+                     <*> (o .:? "displayName"))++instance ToJSON BillingAccount where+        toJSON BillingAccount'{..}+          = object+              (catMaybes+                 [("masterBillingAccount" .=) <$>+                    _baMasterBillingAccount,+                  ("open" .=) <$> _baOpen, ("name" .=) <$> _baName,+                  ("displayName" .=) <$> _baDisplayName])++-- | Encapsulates a single service in Google Cloud Platform.+--+-- /See:/ 'service' smart constructor.+data Service = Service'+    { _sName        :: !(Maybe Text)+    , _sDisplayName :: !(Maybe Text)+    , _sServiceId   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Service' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sName'+--+-- * 'sDisplayName'+--+-- * 'sServiceId'+service+    :: Service+service =+    Service'+    { _sName = Nothing+    , _sDisplayName = Nothing+    , _sServiceId = Nothing+    }++-- | The resource name for the service. Example: \"services\/DA34-426B-A397\"+sName :: Lens' Service (Maybe Text)+sName = lens _sName (\ s a -> s{_sName = a})++-- | A human readable display name for this service.+sDisplayName :: Lens' Service (Maybe Text)+sDisplayName+  = lens _sDisplayName (\ s a -> s{_sDisplayName = a})++-- | The identifier for the service. Example: \"DA34-426B-A397\"+sServiceId :: Lens' Service (Maybe Text)+sServiceId+  = lens _sServiceId (\ s a -> s{_sServiceId = a})++instance FromJSON Service where+        parseJSON+          = withObject "Service"+              (\ o ->+                 Service' <$>+                   (o .:? "name") <*> (o .:? "displayName") <*>+                     (o .:? "serviceId"))++instance ToJSON Service where+        toJSON Service'{..}+          = object+              (catMaybes+                 [("name" .=) <$> _sName,+                  ("displayName" .=) <$> _sDisplayName,+                  ("serviceId" .=) <$> _sServiceId])++-- | Encapsulation of billing information for a GCP Console project. A+-- project has at most one associated billing account at a time (but a+-- billing account can be assigned to multiple projects).+--+-- /See:/ 'projectBillingInfo' smart constructor.+data ProjectBillingInfo = ProjectBillingInfo'+    { _pbiName               :: !(Maybe Text)+    , _pbiBillingAccountName :: !(Maybe Text)+    , _pbiProjectId          :: !(Maybe Text)+    , _pbiBillingEnabled     :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectBillingInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pbiName'+--+-- * 'pbiBillingAccountName'+--+-- * 'pbiProjectId'+--+-- * 'pbiBillingEnabled'+projectBillingInfo+    :: ProjectBillingInfo+projectBillingInfo =+    ProjectBillingInfo'+    { _pbiName = Nothing+    , _pbiBillingAccountName = Nothing+    , _pbiProjectId = Nothing+    , _pbiBillingEnabled = Nothing+    }++-- | The resource name for the \`ProjectBillingInfo\`; has the form+-- \`projects\/{project_id}\/billingInfo\`. For example, the resource name+-- for the billing information for project \`tokyo-rain-123\` would be+-- \`projects\/tokyo-rain-123\/billingInfo\`. This field is read-only.+pbiName :: Lens' ProjectBillingInfo (Maybe Text)+pbiName = lens _pbiName (\ s a -> s{_pbiName = a})++-- | The resource name of the billing account associated with the project, if+-- any. For example, \`billingAccounts\/012345-567890-ABCDEF\`.+pbiBillingAccountName :: Lens' ProjectBillingInfo (Maybe Text)+pbiBillingAccountName+  = lens _pbiBillingAccountName+      (\ s a -> s{_pbiBillingAccountName = a})++-- | The ID of the project that this \`ProjectBillingInfo\` represents, such+-- as \`tokyo-rain-123\`. This is a convenience field so that you don\'t+-- need to parse the \`name\` field to obtain a project ID. This field is+-- read-only.+pbiProjectId :: Lens' ProjectBillingInfo (Maybe Text)+pbiProjectId+  = lens _pbiProjectId (\ s a -> s{_pbiProjectId = a})++-- | True if the project is associated with an open billing account, to which+-- usage on the project is charged. False if the project is associated with+-- a closed billing account, or no billing account at all, and therefore+-- cannot use paid services. This field is read-only.+pbiBillingEnabled :: Lens' ProjectBillingInfo (Maybe Bool)+pbiBillingEnabled+  = lens _pbiBillingEnabled+      (\ s a -> s{_pbiBillingEnabled = a})++instance FromJSON ProjectBillingInfo where+        parseJSON+          = withObject "ProjectBillingInfo"+              (\ o ->+                 ProjectBillingInfo' <$>+                   (o .:? "name") <*> (o .:? "billingAccountName") <*>+                     (o .:? "projectId")+                     <*> (o .:? "billingEnabled"))++instance ToJSON ProjectBillingInfo where+        toJSON ProjectBillingInfo'{..}+          = object+              (catMaybes+                 [("name" .=) <$> _pbiName,+                  ("billingAccountName" .=) <$> _pbiBillingAccountName,+                  ("projectId" .=) <$> _pbiProjectId,+                  ("billingEnabled" .=) <$> _pbiBillingEnabled])++-- | The price rate indicating starting usage and its corresponding price.+--+-- /See:/ 'tierRate' smart constructor.+data TierRate = TierRate'+    { _trUnitPrice        :: !(Maybe Money)+    , _trStartUsageAmount :: !(Maybe (Textual Double))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TierRate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trUnitPrice'+--+-- * 'trStartUsageAmount'+tierRate+    :: TierRate+tierRate =+    TierRate'+    { _trUnitPrice = Nothing+    , _trStartUsageAmount = Nothing+    }++-- | The price per unit of usage. Example: unit_price of amount $10 indicates+-- that each unit will cost $10.+trUnitPrice :: Lens' TierRate (Maybe Money)+trUnitPrice+  = lens _trUnitPrice (\ s a -> s{_trUnitPrice = a})++-- | Usage is priced at this rate only after this amount. Example:+-- start_usage_amount of 10 indicates that the usage will be priced at the+-- unit_price after the first 10 usage_units.+trStartUsageAmount :: Lens' TierRate (Maybe Double)+trStartUsageAmount+  = lens _trStartUsageAmount+      (\ s a -> s{_trStartUsageAmount = a})+      . mapping _Coerce++instance FromJSON TierRate where+        parseJSON+          = withObject "TierRate"+              (\ o ->+                 TierRate' <$>+                   (o .:? "unitPrice") <*> (o .:? "startUsageAmount"))++instance ToJSON TierRate where+        toJSON TierRate'{..}+          = object+              (catMaybes+                 [("unitPrice" .=) <$> _trUnitPrice,+                  ("startUsageAmount" .=) <$> _trStartUsageAmount])++-- | Represents an amount of money with its currency type.+--+-- /See:/ 'money' smart constructor.+data Money = Money'+    { _mCurrencyCode :: !(Maybe Text)+    , _mNanos        :: !(Maybe (Textual Int32))+    , _mUnits        :: !(Maybe (Textual Int64))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Money' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mCurrencyCode'+--+-- * 'mNanos'+--+-- * 'mUnits'+money+    :: Money+money =+    Money'+    { _mCurrencyCode = Nothing+    , _mNanos = Nothing+    , _mUnits = Nothing+    }++-- | The 3-letter currency code defined in ISO 4217.+mCurrencyCode :: Lens' Money (Maybe Text)+mCurrencyCode+  = lens _mCurrencyCode+      (\ s a -> s{_mCurrencyCode = a})++-- | Number of nano (10^-9) units of the amount. The value must be between+-- -999,999,999 and +999,999,999 inclusive. If \`units\` is positive,+-- \`nanos\` must be positive or zero. If \`units\` is zero, \`nanos\` can+-- be positive, zero, or negative. If \`units\` is negative, \`nanos\` must+-- be negative or zero. For example $-1.75 is represented as \`units\`=-1+-- and \`nanos\`=-750,000,000.+mNanos :: Lens' Money (Maybe Int32)+mNanos+  = lens _mNanos (\ s a -> s{_mNanos = a}) .+      mapping _Coerce++-- | The whole units of the amount. For example if \`currencyCode\` is+-- \`\"USD\"\`, then 1 unit is one US dollar.+mUnits :: Lens' Money (Maybe Int64)+mUnits+  = lens _mUnits (\ s a -> s{_mUnits = a}) .+      mapping _Coerce++instance FromJSON Money where+        parseJSON+          = withObject "Money"+              (\ o ->+                 Money' <$>+                   (o .:? "currencyCode") <*> (o .:? "nanos") <*>+                     (o .:? "units"))++instance ToJSON Money where+        toJSON Money'{..}+          = object+              (catMaybes+                 [("currencyCode" .=) <$> _mCurrencyCode,+                  ("nanos" .=) <$> _mNanos, ("units" .=) <$> _mUnits])++-- | Represents the category hierarchy of a SKU.+--+-- /See:/ 'category' smart constructor.+data Category = Category'+    { _cResourceFamily     :: !(Maybe Text)+    , _cUsageType          :: !(Maybe Text)+    , _cServiceDisplayName :: !(Maybe Text)+    , _cResourceGroup      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Category' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cResourceFamily'+--+-- * 'cUsageType'+--+-- * 'cServiceDisplayName'+--+-- * 'cResourceGroup'+category+    :: Category+category =+    Category'+    { _cResourceFamily = Nothing+    , _cUsageType = Nothing+    , _cServiceDisplayName = Nothing+    , _cResourceGroup = Nothing+    }++-- | The type of product the SKU refers to. Example: \"Compute\",+-- \"Storage\", \"Network\", \"ApplicationServices\" etc.+cResourceFamily :: Lens' Category (Maybe Text)+cResourceFamily+  = lens _cResourceFamily+      (\ s a -> s{_cResourceFamily = a})++-- | Represents how the SKU is consumed. Example: \"OnDemand\",+-- \"Preemptible\", \"Commit1Mo\", \"Commit1Yr\" etc.+cUsageType :: Lens' Category (Maybe Text)+cUsageType+  = lens _cUsageType (\ s a -> s{_cUsageType = a})++-- | The display name of the service this SKU belongs to.+cServiceDisplayName :: Lens' Category (Maybe Text)+cServiceDisplayName+  = lens _cServiceDisplayName+      (\ s a -> s{_cServiceDisplayName = a})++-- | A group classification for related SKUs. Example: \"RAM\", \"GPU\",+-- \"Prediction\", \"Ops\", \"GoogleEgress\" etc.+cResourceGroup :: Lens' Category (Maybe Text)+cResourceGroup+  = lens _cResourceGroup+      (\ s a -> s{_cResourceGroup = a})++instance FromJSON Category where+        parseJSON+          = withObject "Category"+              (\ o ->+                 Category' <$>+                   (o .:? "resourceFamily") <*> (o .:? "usageType") <*>+                     (o .:? "serviceDisplayName")+                     <*> (o .:? "resourceGroup"))++instance ToJSON Category where+        toJSON Category'{..}+          = object+              (catMaybes+                 [("resourceFamily" .=) <$> _cResourceFamily,+                  ("usageType" .=) <$> _cUsageType,+                  ("serviceDisplayName" .=) <$> _cServiceDisplayName,+                  ("resourceGroup" .=) <$> _cResourceGroup])++-- | Request message for \`SetIamPolicy\` method.+--+-- /See:/ 'setIAMPolicyRequest' smart constructor.+data SetIAMPolicyRequest = SetIAMPolicyRequest'+    { _siprUpdateMask :: !(Maybe GFieldMask)+    , _siprPolicy     :: !(Maybe Policy)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SetIAMPolicyRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siprUpdateMask'+--+-- * 'siprPolicy'+setIAMPolicyRequest+    :: SetIAMPolicyRequest+setIAMPolicyRequest =+    SetIAMPolicyRequest'+    { _siprUpdateMask = Nothing+    , _siprPolicy = Nothing+    }++-- | OPTIONAL: A FieldMask specifying which fields of the policy to modify.+-- Only the fields in the mask will be modified. If no mask is provided,+-- the following default mask is used: paths: \"bindings, etag\" This field+-- is only used by Cloud IAM.+siprUpdateMask :: Lens' SetIAMPolicyRequest (Maybe GFieldMask)+siprUpdateMask+  = lens _siprUpdateMask+      (\ s a -> s{_siprUpdateMask = a})++-- | REQUIRED: The complete policy to be applied to the \`resource\`. The+-- size of the policy is limited to a few 10s of KB. An empty policy is a+-- valid policy but certain Cloud Platform services (such as Projects)+-- might reject them.+siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)+siprPolicy+  = lens _siprPolicy (\ s a -> s{_siprPolicy = a})++instance FromJSON SetIAMPolicyRequest where+        parseJSON+          = withObject "SetIAMPolicyRequest"+              (\ o ->+                 SetIAMPolicyRequest' <$>+                   (o .:? "updateMask") <*> (o .:? "policy"))++instance ToJSON SetIAMPolicyRequest where+        toJSON SetIAMPolicyRequest'{..}+          = object+              (catMaybes+                 [("updateMask" .=) <$> _siprUpdateMask,+                  ("policy" .=) <$> _siprPolicy])++-- | Request message for \`ListProjectBillingInfoResponse\`.+--+-- /See:/ 'listProjectBillingInfoResponse' smart constructor.+data ListProjectBillingInfoResponse = ListProjectBillingInfoResponse'+    { _lpbirNextPageToken      :: !(Maybe Text)+    , _lpbirProjectBillingInfo :: !(Maybe [ProjectBillingInfo])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListProjectBillingInfoResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpbirNextPageToken'+--+-- * 'lpbirProjectBillingInfo'+listProjectBillingInfoResponse+    :: ListProjectBillingInfoResponse+listProjectBillingInfoResponse =+    ListProjectBillingInfoResponse'+    { _lpbirNextPageToken = Nothing+    , _lpbirProjectBillingInfo = Nothing+    }++-- | A token to retrieve the next page of results. To retrieve the next page,+-- call \`ListProjectBillingInfo\` again with the \`page_token\` field set+-- to this value. This field is empty if there are no more results to+-- retrieve.+lpbirNextPageToken :: Lens' ListProjectBillingInfoResponse (Maybe Text)+lpbirNextPageToken+  = lens _lpbirNextPageToken+      (\ s a -> s{_lpbirNextPageToken = a})++-- | A list of \`ProjectBillingInfo\` resources representing the projects+-- associated with the billing account.+lpbirProjectBillingInfo :: Lens' ListProjectBillingInfoResponse [ProjectBillingInfo]+lpbirProjectBillingInfo+  = lens _lpbirProjectBillingInfo+      (\ s a -> s{_lpbirProjectBillingInfo = a})+      . _Default+      . _Coerce++instance FromJSON ListProjectBillingInfoResponse+         where+        parseJSON+          = withObject "ListProjectBillingInfoResponse"+              (\ o ->+                 ListProjectBillingInfoResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "projectBillingInfo" .!= mempty))++instance ToJSON ListProjectBillingInfoResponse where+        toJSON ListProjectBillingInfoResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lpbirNextPageToken,+                  ("projectBillingInfo" .=) <$>+                    _lpbirProjectBillingInfo])++-- | Response message for \`ListSkus\`.+--+-- /See:/ 'listSKUsResponse' smart constructor.+data ListSKUsResponse = ListSKUsResponse'+    { _lskurNextPageToken :: !(Maybe Text)+    , _lskurSKUs          :: !(Maybe [SKU])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListSKUsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lskurNextPageToken'+--+-- * 'lskurSKUs'+listSKUsResponse+    :: ListSKUsResponse+listSKUsResponse =+    ListSKUsResponse'+    { _lskurNextPageToken = Nothing+    , _lskurSKUs = Nothing+    }++-- | A token to retrieve the next page of results. To retrieve the next page,+-- call \`ListSkus\` again with the \`page_token\` field set to this value.+-- This field is empty if there are no more results to retrieve.+lskurNextPageToken :: Lens' ListSKUsResponse (Maybe Text)+lskurNextPageToken+  = lens _lskurNextPageToken+      (\ s a -> s{_lskurNextPageToken = a})++-- | The list of public SKUs of the given service.+lskurSKUs :: Lens' ListSKUsResponse [SKU]+lskurSKUs+  = lens _lskurSKUs (\ s a -> s{_lskurSKUs = a}) .+      _Default+      . _Coerce++instance FromJSON ListSKUsResponse where+        parseJSON+          = withObject "ListSKUsResponse"+              (\ o ->+                 ListSKUsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "skus" .!= mempty))++instance ToJSON ListSKUsResponse where+        toJSON ListSKUsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lskurNextPageToken,+                  ("skus" .=) <$> _lskurSKUs])++-- | Expresses a mathematical pricing formula. For Example:- \`usage_unit:+-- GBy\` \`tiered_rates:\` \`[start_usage_amount: 20, unit_price: $10]\`+-- \`[start_usage_amount: 100, unit_price: $5]\` The above expresses a+-- pricing formula where the first 20GB is free, the next 80GB is priced at+-- $10 per GB followed by $5 per GB for additional usage.+--+-- /See:/ 'pricingExpression' smart constructor.+data PricingExpression = PricingExpression'+    { _peUsageUnitDescription     :: !(Maybe Text)+    , _peBaseUnit                 :: !(Maybe Text)+    , _peBaseUnitConversionFactor :: !(Maybe (Textual Double))+    , _peDisplayQuantity          :: !(Maybe (Textual Double))+    , _peTieredRates              :: !(Maybe [TierRate])+    , _peBaseUnitDescription      :: !(Maybe Text)+    , _peUsageUnit                :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PricingExpression' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'peUsageUnitDescription'+--+-- * 'peBaseUnit'+--+-- * 'peBaseUnitConversionFactor'+--+-- * 'peDisplayQuantity'+--+-- * 'peTieredRates'+--+-- * 'peBaseUnitDescription'+--+-- * 'peUsageUnit'+pricingExpression+    :: PricingExpression+pricingExpression =+    PricingExpression'+    { _peUsageUnitDescription = Nothing+    , _peBaseUnit = Nothing+    , _peBaseUnitConversionFactor = Nothing+    , _peDisplayQuantity = Nothing+    , _peTieredRates = Nothing+    , _peBaseUnitDescription = Nothing+    , _peUsageUnit = Nothing+    }++-- | The unit of usage in human readable form. Example: \"gibi byte\".+peUsageUnitDescription :: Lens' PricingExpression (Maybe Text)+peUsageUnitDescription+  = lens _peUsageUnitDescription+      (\ s a -> s{_peUsageUnitDescription = a})++-- | The base unit for the SKU which is the unit used in usage exports.+-- Example: \"By\"+peBaseUnit :: Lens' PricingExpression (Maybe Text)+peBaseUnit+  = lens _peBaseUnit (\ s a -> s{_peBaseUnit = a})++-- | Conversion factor for converting from price per usage_unit to price per+-- base_unit, and start_usage_amount to start_usage_amount in base_unit.+-- unit_price \/ base_unit_conversion_factor = price per base_unit.+-- start_usage_amount * base_unit_conversion_factor = start_usage_amount in+-- base_unit.+peBaseUnitConversionFactor :: Lens' PricingExpression (Maybe Double)+peBaseUnitConversionFactor+  = lens _peBaseUnitConversionFactor+      (\ s a -> s{_peBaseUnitConversionFactor = a})+      . mapping _Coerce++-- | The recommended quantity of units for displaying pricing info. When+-- displaying pricing info it is recommended to display: (unit_price *+-- display_quantity) per display_quantity usage_unit. This field does not+-- affect the pricing formula and is for display purposes only. Example: If+-- the unit_price is \"0.0001 USD\", the usage_unit is \"GB\" and the+-- display_quantity is \"1000\" then the recommended way of displaying the+-- pricing info is \"0.10 USD per 1000 GB\"+peDisplayQuantity :: Lens' PricingExpression (Maybe Double)+peDisplayQuantity+  = lens _peDisplayQuantity+      (\ s a -> s{_peDisplayQuantity = a})+      . mapping _Coerce++-- | The list of tiered rates for this pricing. The total cost is computed by+-- applying each of the tiered rates on usage. This repeated list is sorted+-- by ascending order of start_usage_amount.+peTieredRates :: Lens' PricingExpression [TierRate]+peTieredRates+  = lens _peTieredRates+      (\ s a -> s{_peTieredRates = a})+      . _Default+      . _Coerce++-- | The base unit in human readable form. Example: \"byte\".+peBaseUnitDescription :: Lens' PricingExpression (Maybe Text)+peBaseUnitDescription+  = lens _peBaseUnitDescription+      (\ s a -> s{_peBaseUnitDescription = a})++-- | The short hand for unit of usage this pricing is specified in. Example:+-- usage_unit of \"GiBy\" means that usage is specified in \"Gibi Byte\".+peUsageUnit :: Lens' PricingExpression (Maybe Text)+peUsageUnit+  = lens _peUsageUnit (\ s a -> s{_peUsageUnit = a})++instance FromJSON PricingExpression where+        parseJSON+          = withObject "PricingExpression"+              (\ o ->+                 PricingExpression' <$>+                   (o .:? "usageUnitDescription") <*> (o .:? "baseUnit")+                     <*> (o .:? "baseUnitConversionFactor")+                     <*> (o .:? "displayQuantity")+                     <*> (o .:? "tieredRates" .!= mempty)+                     <*> (o .:? "baseUnitDescription")+                     <*> (o .:? "usageUnit"))++instance ToJSON PricingExpression where+        toJSON PricingExpression'{..}+          = object+              (catMaybes+                 [("usageUnitDescription" .=) <$>+                    _peUsageUnitDescription,+                  ("baseUnit" .=) <$> _peBaseUnit,+                  ("baseUnitConversionFactor" .=) <$>+                    _peBaseUnitConversionFactor,+                  ("displayQuantity" .=) <$> _peDisplayQuantity,+                  ("tieredRates" .=) <$> _peTieredRates,+                  ("baseUnitDescription" .=) <$>+                    _peBaseUnitDescription,+                  ("usageUnit" .=) <$> _peUsageUnit])++-- | Request message for \`TestIamPermissions\` method.+--+-- /See:/ 'testIAMPermissionsRequest' smart constructor.+newtype TestIAMPermissionsRequest = TestIAMPermissionsRequest'+    { _tiprPermissions :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestIAMPermissionsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiprPermissions'+testIAMPermissionsRequest+    :: TestIAMPermissionsRequest+testIAMPermissionsRequest =+    TestIAMPermissionsRequest'+    { _tiprPermissions = Nothing+    }++-- | The set of permissions to check for the \`resource\`. Permissions with+-- wildcards (such as \'*\' or \'storage.*\') are not allowed. For more+-- information see [IAM+-- Overview](https:\/\/cloud.google.com\/iam\/docs\/overview#permissions).+tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]+tiprPermissions+  = lens _tiprPermissions+      (\ s a -> s{_tiprPermissions = a})+      . _Default+      . _Coerce++instance FromJSON TestIAMPermissionsRequest where+        parseJSON+          = withObject "TestIAMPermissionsRequest"+              (\ o ->+                 TestIAMPermissionsRequest' <$>+                   (o .:? "permissions" .!= mempty))++instance ToJSON TestIAMPermissionsRequest where+        toJSON TestIAMPermissionsRequest'{..}+          = object+              (catMaybes [("permissions" .=) <$> _tiprPermissions])++-- | Represents the aggregation level and interval for pricing of a single+-- SKU.+--+-- /See:/ 'aggregationInfo' smart constructor.+data AggregationInfo = AggregationInfo'+    { _aiAggregationInterval :: !(Maybe AggregationInfoAggregationInterval)+    , _aiAggregationCount    :: !(Maybe (Textual Int32))+    , _aiAggregationLevel    :: !(Maybe AggregationInfoAggregationLevel)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AggregationInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aiAggregationInterval'+--+-- * 'aiAggregationCount'+--+-- * 'aiAggregationLevel'+aggregationInfo+    :: AggregationInfo+aggregationInfo =+    AggregationInfo'+    { _aiAggregationInterval = Nothing+    , _aiAggregationCount = Nothing+    , _aiAggregationLevel = Nothing+    }++aiAggregationInterval :: Lens' AggregationInfo (Maybe AggregationInfoAggregationInterval)+aiAggregationInterval+  = lens _aiAggregationInterval+      (\ s a -> s{_aiAggregationInterval = a})++-- | The number of intervals to aggregate over. Example: If aggregation_level+-- is \"DAILY\" and aggregation_count is 14, aggregation will be over 14+-- days.+aiAggregationCount :: Lens' AggregationInfo (Maybe Int32)+aiAggregationCount+  = lens _aiAggregationCount+      (\ s a -> s{_aiAggregationCount = a})+      . mapping _Coerce++aiAggregationLevel :: Lens' AggregationInfo (Maybe AggregationInfoAggregationLevel)+aiAggregationLevel+  = lens _aiAggregationLevel+      (\ s a -> s{_aiAggregationLevel = a})++instance FromJSON AggregationInfo where+        parseJSON+          = withObject "AggregationInfo"+              (\ o ->+                 AggregationInfo' <$>+                   (o .:? "aggregationInterval") <*>+                     (o .:? "aggregationCount")+                     <*> (o .:? "aggregationLevel"))++instance ToJSON AggregationInfo where+        toJSON AggregationInfo'{..}+          = object+              (catMaybes+                 [("aggregationInterval" .=) <$>+                    _aiAggregationInterval,+                  ("aggregationCount" .=) <$> _aiAggregationCount,+                  ("aggregationLevel" .=) <$> _aiAggregationLevel])++-- | Encapsulates a single SKU in Google Cloud Platform+--+-- /See:/ 'sKU' smart constructor.+data SKU = SKU'+    { _skukCategory            :: !(Maybe Category)+    , _skukSKUId               :: !(Maybe Text)+    , _skukServiceProviderName :: !(Maybe Text)+    , _skukServiceRegions      :: !(Maybe [Text])+    , _skukName                :: !(Maybe Text)+    , _skukPricingInfo         :: !(Maybe [PricingInfo])+    , _skukDescription         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SKU' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'skukCategory'+--+-- * 'skukSKUId'+--+-- * 'skukServiceProviderName'+--+-- * 'skukServiceRegions'+--+-- * 'skukName'+--+-- * 'skukPricingInfo'+--+-- * 'skukDescription'+sKU+    :: SKU+sKU =+    SKU'+    { _skukCategory = Nothing+    , _skukSKUId = Nothing+    , _skukServiceProviderName = Nothing+    , _skukServiceRegions = Nothing+    , _skukName = Nothing+    , _skukPricingInfo = Nothing+    , _skukDescription = Nothing+    }++-- | The category hierarchy of this SKU, purely for organizational purpose.+skukCategory :: Lens' SKU (Maybe Category)+skukCategory+  = lens _skukCategory (\ s a -> s{_skukCategory = a})++-- | The identifier for the SKU. Example: \"AA95-CD31-42FE\"+skukSKUId :: Lens' SKU (Maybe Text)+skukSKUId+  = lens _skukSKUId (\ s a -> s{_skukSKUId = a})++-- | Identifies the service provider. This is \'Google\' for first party+-- services in Google Cloud Platform.+skukServiceProviderName :: Lens' SKU (Maybe Text)+skukServiceProviderName+  = lens _skukServiceProviderName+      (\ s a -> s{_skukServiceProviderName = a})++-- | List of service regions this SKU is offered at. Example: \"asia-east1\"+-- Service regions can be found at+-- https:\/\/cloud.google.com\/about\/locations\/+skukServiceRegions :: Lens' SKU [Text]+skukServiceRegions+  = lens _skukServiceRegions+      (\ s a -> s{_skukServiceRegions = a})+      . _Default+      . _Coerce++-- | The resource name for the SKU. Example:+-- \"services\/DA34-426B-A397\/skus\/AA95-CD31-42FE\"+skukName :: Lens' SKU (Maybe Text)+skukName = lens _skukName (\ s a -> s{_skukName = a})++-- | A timeline of pricing info for this SKU in chronological order.+skukPricingInfo :: Lens' SKU [PricingInfo]+skukPricingInfo+  = lens _skukPricingInfo+      (\ s a -> s{_skukPricingInfo = a})+      . _Default+      . _Coerce++-- | A human readable description of the SKU, has a maximum length of 256+-- characters.+skukDescription :: Lens' SKU (Maybe Text)+skukDescription+  = lens _skukDescription+      (\ s a -> s{_skukDescription = a})++instance FromJSON SKU where+        parseJSON+          = withObject "SKU"+              (\ o ->+                 SKU' <$>+                   (o .:? "category") <*> (o .:? "skuId") <*>+                     (o .:? "serviceProviderName")+                     <*> (o .:? "serviceRegions" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "pricingInfo" .!= mempty)+                     <*> (o .:? "description"))++instance ToJSON SKU where+        toJSON SKU'{..}+          = object+              (catMaybes+                 [("category" .=) <$> _skukCategory,+                  ("skuId" .=) <$> _skukSKUId,+                  ("serviceProviderName" .=) <$>+                    _skukServiceProviderName,+                  ("serviceRegions" .=) <$> _skukServiceRegions,+                  ("name" .=) <$> _skukName,+                  ("pricingInfo" .=) <$> _skukPricingInfo,+                  ("description" .=) <$> _skukDescription])++-- | Response message for \`TestIamPermissions\` method.+--+-- /See:/ 'testIAMPermissionsResponse' smart constructor.+newtype TestIAMPermissionsResponse = TestIAMPermissionsResponse'+    { _tiamprPermissions :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestIAMPermissionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiamprPermissions'+testIAMPermissionsResponse+    :: TestIAMPermissionsResponse+testIAMPermissionsResponse =+    TestIAMPermissionsResponse'+    { _tiamprPermissions = Nothing+    }++-- | A subset of \`TestPermissionsRequest.permissions\` that the caller is+-- allowed.+tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]+tiamprPermissions+  = lens _tiamprPermissions+      (\ s a -> s{_tiamprPermissions = a})+      . _Default+      . _Coerce++instance FromJSON TestIAMPermissionsResponse where+        parseJSON+          = withObject "TestIAMPermissionsResponse"+              (\ o ->+                 TestIAMPermissionsResponse' <$>+                   (o .:? "permissions" .!= mempty))++instance ToJSON TestIAMPermissionsResponse where+        toJSON TestIAMPermissionsResponse'{..}+          = object+              (catMaybes+                 [("permissions" .=) <$> _tiamprPermissions])++-- | Defines an Identity and Access Management (IAM) policy. It is used to+-- specify access control policies for Cloud Platform resources. A+-- \`Policy\` consists of a list of \`bindings\`. A \`binding\` binds a+-- list of \`members\` to a \`role\`, where the members can be user+-- accounts, Google groups, Google domains, and service accounts. A+-- \`role\` is a named list of permissions defined by IAM. **JSON Example**+-- { \"bindings\": [ { \"role\": \"roles\/owner\", \"members\": [+-- \"user:mike\'example.com\", \"group:admins\'example.com\",+-- \"domain:google.com\",+-- \"serviceAccount:my-other-app\'appspot.gserviceaccount.com\" ] }, {+-- \"role\": \"roles\/viewer\", \"members\": [\"user:sean\'example.com\"] }+-- ] } **YAML Example** bindings: - members: - user:mike\'example.com -+-- group:admins\'example.com - domain:google.com -+-- serviceAccount:my-other-app\'appspot.gserviceaccount.com role:+-- roles\/owner - members: - user:sean\'example.com role: roles\/viewer For+-- a description of IAM and its features, see the [IAM developer\'s+-- guide](https:\/\/cloud.google.com\/iam\/docs).+--+-- /See:/ 'policy' smart constructor.+data Policy = Policy'+    { _pAuditConfigs :: !(Maybe [AuditConfig])+    , _pEtag         :: !(Maybe Bytes)+    , _pVersion      :: !(Maybe (Textual Int32))+    , _pBindings     :: !(Maybe [Binding])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Policy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pAuditConfigs'+--+-- * 'pEtag'+--+-- * 'pVersion'+--+-- * 'pBindings'+policy+    :: Policy+policy =+    Policy'+    { _pAuditConfigs = Nothing+    , _pEtag = Nothing+    , _pVersion = Nothing+    , _pBindings = Nothing+    }++-- | Specifies cloud audit logging configuration for this policy.+pAuditConfigs :: Lens' Policy [AuditConfig]+pAuditConfigs+  = lens _pAuditConfigs+      (\ s a -> s{_pAuditConfigs = a})+      . _Default+      . _Coerce++-- | \`etag\` is used for optimistic concurrency control as a way to help+-- prevent simultaneous updates of a policy from overwriting each other. It+-- is strongly suggested that systems make use of the \`etag\` in the+-- read-modify-write cycle to perform policy updates in order to avoid race+-- conditions: An \`etag\` is returned in the response to \`getIamPolicy\`,+-- and systems are expected to put that etag in the request to+-- \`setIamPolicy\` to ensure that their change will be applied to the same+-- version of the policy. If no \`etag\` is provided in the call to+-- \`setIamPolicy\`, then the existing policy is overwritten blindly.+pEtag :: Lens' Policy (Maybe ByteString)+pEtag+  = lens _pEtag (\ s a -> s{_pEtag = a}) .+      mapping _Bytes++-- | Deprecated.+pVersion :: Lens' Policy (Maybe Int32)+pVersion+  = lens _pVersion (\ s a -> s{_pVersion = a}) .+      mapping _Coerce++-- | Associates a list of \`members\` to a \`role\`. \`bindings\` with no+-- members will result in an error.+pBindings :: Lens' Policy [Binding]+pBindings+  = lens _pBindings (\ s a -> s{_pBindings = a}) .+      _Default+      . _Coerce++instance FromJSON Policy where+        parseJSON+          = withObject "Policy"+              (\ o ->+                 Policy' <$>+                   (o .:? "auditConfigs" .!= mempty) <*> (o .:? "etag")+                     <*> (o .:? "version")+                     <*> (o .:? "bindings" .!= mempty))++instance ToJSON Policy where+        toJSON Policy'{..}+          = object+              (catMaybes+                 [("auditConfigs" .=) <$> _pAuditConfigs,+                  ("etag" .=) <$> _pEtag, ("version" .=) <$> _pVersion,+                  ("bindings" .=) <$> _pBindings])++-- | Response message for \`ListBillingAccounts\`.+--+-- /See:/ 'listBillingAccountsResponse' smart constructor.+data ListBillingAccountsResponse = ListBillingAccountsResponse'+    { _lbarNextPageToken   :: !(Maybe Text)+    , _lbarBillingAccounts :: !(Maybe [BillingAccount])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListBillingAccountsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbarNextPageToken'+--+-- * 'lbarBillingAccounts'+listBillingAccountsResponse+    :: ListBillingAccountsResponse+listBillingAccountsResponse =+    ListBillingAccountsResponse'+    { _lbarNextPageToken = Nothing+    , _lbarBillingAccounts = Nothing+    }++-- | A token to retrieve the next page of results. To retrieve the next page,+-- call \`ListBillingAccounts\` again with the \`page_token\` field set to+-- this value. This field is empty if there are no more results to+-- retrieve.+lbarNextPageToken :: Lens' ListBillingAccountsResponse (Maybe Text)+lbarNextPageToken+  = lens _lbarNextPageToken+      (\ s a -> s{_lbarNextPageToken = a})++-- | A list of billing accounts.+lbarBillingAccounts :: Lens' ListBillingAccountsResponse [BillingAccount]+lbarBillingAccounts+  = lens _lbarBillingAccounts+      (\ s a -> s{_lbarBillingAccounts = a})+      . _Default+      . _Coerce++instance FromJSON ListBillingAccountsResponse where+        parseJSON+          = withObject "ListBillingAccountsResponse"+              (\ o ->+                 ListBillingAccountsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "billingAccounts" .!= mempty))++instance ToJSON ListBillingAccountsResponse where+        toJSON ListBillingAccountsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lbarNextPageToken,+                  ("billingAccounts" .=) <$> _lbarBillingAccounts])++-- | Provides the configuration for logging a type of permissions. Example: {+-- \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",+-- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":+-- \"DATA_WRITE\", } ] } This enables \'DATA_READ\' and \'DATA_WRITE\'+-- logging, while exempting foo\'gmail.com from DATA_READ logging.+--+-- /See:/ 'auditLogConfig' smart constructor.+data AuditLogConfig = AuditLogConfig'+    { _alcLogType         :: !(Maybe AuditLogConfigLogType)+    , _alcExemptedMembers :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuditLogConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alcLogType'+--+-- * 'alcExemptedMembers'+auditLogConfig+    :: AuditLogConfig+auditLogConfig =+    AuditLogConfig'+    { _alcLogType = Nothing+    , _alcExemptedMembers = Nothing+    }++-- | The log type that this config enables.+alcLogType :: Lens' AuditLogConfig (Maybe AuditLogConfigLogType)+alcLogType+  = lens _alcLogType (\ s a -> s{_alcLogType = a})++-- | Specifies the identities that do not cause logging for this type of+-- permission. Follows the same format of Binding.members.+alcExemptedMembers :: Lens' AuditLogConfig [Text]+alcExemptedMembers+  = lens _alcExemptedMembers+      (\ s a -> s{_alcExemptedMembers = a})+      . _Default+      . _Coerce++instance FromJSON AuditLogConfig where+        parseJSON+          = withObject "AuditLogConfig"+              (\ o ->+                 AuditLogConfig' <$>+                   (o .:? "logType") <*>+                     (o .:? "exemptedMembers" .!= mempty))++instance ToJSON AuditLogConfig where+        toJSON AuditLogConfig'{..}+          = object+              (catMaybes+                 [("logType" .=) <$> _alcLogType,+                  ("exemptedMembers" .=) <$> _alcExemptedMembers])++-- | Represents the pricing information for a SKU at a single point of time.+--+-- /See:/ 'pricingInfo' smart constructor.+data PricingInfo = PricingInfo'+    { _piSummary                :: !(Maybe Text)+    , _piAggregationInfo        :: !(Maybe AggregationInfo)+    , _piPricingExpression      :: !(Maybe PricingExpression)+    , _piCurrencyConversionRate :: !(Maybe (Textual Double))+    , _piEffectiveTime          :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PricingInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piSummary'+--+-- * 'piAggregationInfo'+--+-- * 'piPricingExpression'+--+-- * 'piCurrencyConversionRate'+--+-- * 'piEffectiveTime'+pricingInfo+    :: PricingInfo+pricingInfo =+    PricingInfo'+    { _piSummary = Nothing+    , _piAggregationInfo = Nothing+    , _piPricingExpression = Nothing+    , _piCurrencyConversionRate = Nothing+    , _piEffectiveTime = Nothing+    }++-- | An optional human readable summary of the pricing information, has a+-- maximum length of 256 characters.+piSummary :: Lens' PricingInfo (Maybe Text)+piSummary+  = lens _piSummary (\ s a -> s{_piSummary = a})++-- | Aggregation Info. This can be left unspecified if the pricing expression+-- doesn\'t require aggregation.+piAggregationInfo :: Lens' PricingInfo (Maybe AggregationInfo)+piAggregationInfo+  = lens _piAggregationInfo+      (\ s a -> s{_piAggregationInfo = a})++-- | Expresses the pricing formula. See \`PricingExpression\` for an example.+piPricingExpression :: Lens' PricingInfo (Maybe PricingExpression)+piPricingExpression+  = lens _piPricingExpression+      (\ s a -> s{_piPricingExpression = a})++-- | Conversion rate used for currency conversion, from USD to the currency+-- specified in the request. This includes any surcharge collected for+-- billing in non USD currency. If a currency is not specified in the+-- request this defaults to 1.0. Example: USD * currency_conversion_rate =+-- JPY+piCurrencyConversionRate :: Lens' PricingInfo (Maybe Double)+piCurrencyConversionRate+  = lens _piCurrencyConversionRate+      (\ s a -> s{_piCurrencyConversionRate = a})+      . mapping _Coerce++-- | The timestamp from which this pricing was effective within the requested+-- time range. This is guaranteed to be greater than or equal to the+-- start_time field in the request and less than the end_time field in the+-- request. If a time range was not specified in the request this field+-- will be equivalent to a time within the last 12 hours, indicating the+-- latest pricing info.+piEffectiveTime :: Lens' PricingInfo (Maybe UTCTime)+piEffectiveTime+  = lens _piEffectiveTime+      (\ s a -> s{_piEffectiveTime = a})+      . mapping _DateTime++instance FromJSON PricingInfo where+        parseJSON+          = withObject "PricingInfo"+              (\ o ->+                 PricingInfo' <$>+                   (o .:? "summary") <*> (o .:? "aggregationInfo") <*>+                     (o .:? "pricingExpression")+                     <*> (o .:? "currencyConversionRate")+                     <*> (o .:? "effectiveTime"))++instance ToJSON PricingInfo where+        toJSON PricingInfo'{..}+          = object+              (catMaybes+                 [("summary" .=) <$> _piSummary,+                  ("aggregationInfo" .=) <$> _piAggregationInfo,+                  ("pricingExpression" .=) <$> _piPricingExpression,+                  ("currencyConversionRate" .=) <$>+                    _piCurrencyConversionRate,+                  ("effectiveTime" .=) <$> _piEffectiveTime])++-- | Associates \`members\` with a \`role\`.+--+-- /See:/ 'binding' smart constructor.+data Binding = Binding'+    { _bMembers   :: !(Maybe [Text])+    , _bRole      :: !(Maybe Text)+    , _bCondition :: !(Maybe Expr)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Binding' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bMembers'+--+-- * 'bRole'+--+-- * 'bCondition'+binding+    :: Binding+binding =+    Binding'+    { _bMembers = Nothing+    , _bRole = Nothing+    , _bCondition = Nothing+    }++-- | Specifies the identities requesting access for a Cloud Platform+-- resource. \`members\` can have the following values: * \`allUsers\`: A+-- special identifier that represents anyone who is on the internet; with+-- or without a Google account. * \`allAuthenticatedUsers\`: A special+-- identifier that represents anyone who is authenticated with a Google+-- account or a service account. * \`user:{emailid}\`: An email address+-- that represents a specific Google account. For example,+-- \`alice\'gmail.com\` . * \`serviceAccount:{emailid}\`: An email address+-- that represents a service account. For example,+-- \`my-other-app\'appspot.gserviceaccount.com\`. * \`group:{emailid}\`: An+-- email address that represents a Google group. For example,+-- \`admins\'example.com\`. * \`domain:{domain}\`: A Google Apps domain+-- name that represents all the users of that domain. For example,+-- \`google.com\` or \`example.com\`.+bMembers :: Lens' Binding [Text]+bMembers+  = lens _bMembers (\ s a -> s{_bMembers = a}) .+      _Default+      . _Coerce++-- | Role that is assigned to \`members\`. For example, \`roles\/viewer\`,+-- \`roles\/editor\`, or \`roles\/owner\`.+bRole :: Lens' Binding (Maybe Text)+bRole = lens _bRole (\ s a -> s{_bRole = a})++-- | Unimplemented. The condition that is associated with this binding. NOTE:+-- an unsatisfied condition will not allow user access via current binding.+-- Different bindings, including their conditions, are examined+-- independently.+bCondition :: Lens' Binding (Maybe Expr)+bCondition+  = lens _bCondition (\ s a -> s{_bCondition = a})++instance FromJSON Binding where+        parseJSON+          = withObject "Binding"+              (\ o ->+                 Binding' <$>+                   (o .:? "members" .!= mempty) <*> (o .:? "role") <*>+                     (o .:? "condition"))++instance ToJSON Binding where+        toJSON Binding'{..}+          = object+              (catMaybes+                 [("members" .=) <$> _bMembers,+                  ("role" .=) <$> _bRole,+                  ("condition" .=) <$> _bCondition])
gen/Network/Google/Billing/Types/Sum.hs view
@@ -16,4 +16,132 @@ -- module Network.Google.Billing.Types.Sum where -import           Network.Google.Prelude+import           Network.Google.Prelude hiding (Bytes)++data AggregationInfoAggregationLevel+    = AggregationLevelUnspecified+      -- ^ @AGGREGATION_LEVEL_UNSPECIFIED@+    | Account+      -- ^ @ACCOUNT@+    | Project+      -- ^ @PROJECT@+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AggregationInfoAggregationLevel++instance FromHttpApiData AggregationInfoAggregationLevel where+    parseQueryParam = \case+        "AGGREGATION_LEVEL_UNSPECIFIED" -> Right AggregationLevelUnspecified+        "ACCOUNT" -> Right Account+        "PROJECT" -> Right Project+        x -> Left ("Unable to parse AggregationInfoAggregationLevel from: " <> x)++instance ToHttpApiData AggregationInfoAggregationLevel where+    toQueryParam = \case+        AggregationLevelUnspecified -> "AGGREGATION_LEVEL_UNSPECIFIED"+        Account -> "ACCOUNT"+        Project -> "PROJECT"++instance FromJSON AggregationInfoAggregationLevel where+    parseJSON = parseJSONText "AggregationInfoAggregationLevel"++instance ToJSON AggregationInfoAggregationLevel where+    toJSON = toJSONText++-- | The log type that this config enables.+data AuditLogConfigLogType+    = LogTypeUnspecified+      -- ^ @LOG_TYPE_UNSPECIFIED@+      -- Default case. Should never be this.+    | AdminRead+      -- ^ @ADMIN_READ@+      -- Admin reads. Example: CloudIAM getIamPolicy+    | DataWrite+      -- ^ @DATA_WRITE@+      -- Data writes. Example: CloudSQL Users create+    | DataRead+      -- ^ @DATA_READ@+      -- Data reads. Example: CloudSQL Users list+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AuditLogConfigLogType++instance FromHttpApiData AuditLogConfigLogType where+    parseQueryParam = \case+        "LOG_TYPE_UNSPECIFIED" -> Right LogTypeUnspecified+        "ADMIN_READ" -> Right AdminRead+        "DATA_WRITE" -> Right DataWrite+        "DATA_READ" -> Right DataRead+        x -> Left ("Unable to parse AuditLogConfigLogType from: " <> x)++instance ToHttpApiData AuditLogConfigLogType where+    toQueryParam = \case+        LogTypeUnspecified -> "LOG_TYPE_UNSPECIFIED"+        AdminRead -> "ADMIN_READ"+        DataWrite -> "DATA_WRITE"+        DataRead -> "DATA_READ"++instance FromJSON AuditLogConfigLogType where+    parseJSON = parseJSONText "AuditLogConfigLogType"++instance ToJSON AuditLogConfigLogType where+    toJSON = toJSONText++-- | V1 error format.+data Xgafv+    = X1+      -- ^ @1@+      -- v1 error format+    | X2+      -- ^ @2@+      -- v2 error format+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+    parseQueryParam = \case+        "1" -> Right X1+        "2" -> Right X2+        x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+    toQueryParam = \case+        X1 -> "1"+        X2 -> "2"++instance FromJSON Xgafv where+    parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+    toJSON = toJSONText++data AggregationInfoAggregationInterval+    = AggregationIntervalUnspecified+      -- ^ @AGGREGATION_INTERVAL_UNSPECIFIED@+    | Daily+      -- ^ @DAILY@+    | Monthly+      -- ^ @MONTHLY@+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AggregationInfoAggregationInterval++instance FromHttpApiData AggregationInfoAggregationInterval where+    parseQueryParam = \case+        "AGGREGATION_INTERVAL_UNSPECIFIED" -> Right AggregationIntervalUnspecified+        "DAILY" -> Right Daily+        "MONTHLY" -> Right Monthly+        x -> Left ("Unable to parse AggregationInfoAggregationInterval from: " <> x)++instance ToHttpApiData AggregationInfoAggregationInterval where+    toQueryParam = \case+        AggregationIntervalUnspecified -> "AGGREGATION_INTERVAL_UNSPECIFIED"+        Daily -> "DAILY"+        Monthly -> "MONTHLY"++instance FromJSON AggregationInfoAggregationInterval where+    parseJSON = parseJSONText "AggregationInfoAggregationInterval"++instance ToJSON AggregationInfoAggregationInterval where+    toJSON = toJSONText
+ gen/Network/Google/Resource/CloudBilling/BillingAccounts/Create.hs view
@@ -0,0 +1,163 @@+{-# 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.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a billing account. This method can only be used to create+-- [billing+-- subaccounts](https:\/\/cloud.google.com\/billing\/docs\/concepts) by GCP+-- resellers. When creating a subaccount, the current authenticated user+-- must have the \`billing.accounts.update\` IAM permission on the master+-- account, which is typically given to billing account+-- [administrators](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access).+-- This method will return an error if the master account has not been+-- provisioned as a reseller account.+--+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.create@.+module Network.Google.Resource.CloudBilling.BillingAccounts.Create+    (+    -- * REST Resource+      BillingAccountsCreateResource++    -- * Creating a Request+    , billingAccountsCreate+    , BillingAccountsCreate++    -- * Request Lenses+    , bacXgafv+    , bacUploadProtocol+    , bacAccessToken+    , bacUploadType+    , bacPayload+    , bacCallback+    ) where++import           Network.Google.Billing.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudbilling.billingAccounts.create@ method which the+-- 'BillingAccountsCreate' request conforms to.+type BillingAccountsCreateResource =+     "v1" :>+       "billingAccounts" :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] BillingAccount :>+                       Post '[JSON] BillingAccount++-- | Creates a billing account. This method can only be used to create+-- [billing+-- subaccounts](https:\/\/cloud.google.com\/billing\/docs\/concepts) by GCP+-- resellers. When creating a subaccount, the current authenticated user+-- must have the \`billing.accounts.update\` IAM permission on the master+-- account, which is typically given to billing account+-- [administrators](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access).+-- This method will return an error if the master account has not been+-- provisioned as a reseller account.+--+-- /See:/ 'billingAccountsCreate' smart constructor.+data BillingAccountsCreate = BillingAccountsCreate'+    { _bacXgafv          :: !(Maybe Xgafv)+    , _bacUploadProtocol :: !(Maybe Text)+    , _bacAccessToken    :: !(Maybe Text)+    , _bacUploadType     :: !(Maybe Text)+    , _bacPayload        :: !BillingAccount+    , _bacCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BillingAccountsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bacXgafv'+--+-- * 'bacUploadProtocol'+--+-- * 'bacAccessToken'+--+-- * 'bacUploadType'+--+-- * 'bacPayload'+--+-- * 'bacCallback'+billingAccountsCreate+    :: BillingAccount -- ^ 'bacPayload'+    -> BillingAccountsCreate+billingAccountsCreate pBacPayload_ =+    BillingAccountsCreate'+    { _bacXgafv = Nothing+    , _bacUploadProtocol = Nothing+    , _bacAccessToken = Nothing+    , _bacUploadType = Nothing+    , _bacPayload = pBacPayload_+    , _bacCallback = Nothing+    }++-- | V1 error format.+bacXgafv :: Lens' BillingAccountsCreate (Maybe Xgafv)+bacXgafv = lens _bacXgafv (\ s a -> s{_bacXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+bacUploadProtocol :: Lens' BillingAccountsCreate (Maybe Text)+bacUploadProtocol+  = lens _bacUploadProtocol+      (\ s a -> s{_bacUploadProtocol = a})++-- | OAuth access token.+bacAccessToken :: Lens' BillingAccountsCreate (Maybe Text)+bacAccessToken+  = lens _bacAccessToken+      (\ s a -> s{_bacAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+bacUploadType :: Lens' BillingAccountsCreate (Maybe Text)+bacUploadType+  = lens _bacUploadType+      (\ s a -> s{_bacUploadType = a})++-- | Multipart request metadata.+bacPayload :: Lens' BillingAccountsCreate BillingAccount+bacPayload+  = lens _bacPayload (\ s a -> s{_bacPayload = a})++-- | JSONP+bacCallback :: Lens' BillingAccountsCreate (Maybe Text)+bacCallback+  = lens _bacCallback (\ s a -> s{_bacCallback = a})++instance GoogleRequest BillingAccountsCreate where+        type Rs BillingAccountsCreate = BillingAccount+        type Scopes BillingAccountsCreate =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient BillingAccountsCreate'{..}+          = go _bacXgafv _bacUploadProtocol _bacAccessToken+              _bacUploadType+              _bacCallback+              (Just AltJSON)+              _bacPayload+              billingService+          where go+                  = buildClient+                      (Proxy :: Proxy BillingAccountsCreateResource)+                      mempty
gen/Network/Google/Resource/CloudBilling/BillingAccounts/Get.hs view
@@ -21,10 +21,10 @@ -- Portability : non-portable (GHC extensions) -- -- Gets information about a billing account. The current authenticated user--- must be an [owner of the billing--- account](https:\/\/support.google.com\/cloud\/answer\/4430947).+-- must be a [viewer of the billing+-- account](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access). ----- /See:/ <https://cloud.google.com/billing/ Google Cloud Billing API Reference> for @cloudbilling.billingAccounts.get@.+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.get@. module Network.Google.Resource.CloudBilling.BillingAccounts.Get     (     -- * REST Resource@@ -37,10 +37,8 @@     -- * Request Lenses     , bagXgafv     , bagUploadProtocol-    , bagPp     , bagAccessToken     , bagUploadType-    , bagBearerToken     , bagName     , bagCallback     ) where@@ -53,28 +51,24 @@ type BillingAccountsGetResource =      "v1" :>        Capture "name" Text :>-         QueryParam "$.xgafv" Text :>+         QueryParam "$.xgafv" Xgafv :>            QueryParam "upload_protocol" Text :>-             QueryParam "pp" Bool :>-               QueryParam "access_token" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "bearer_token" Text :>-                     QueryParam "callback" Text :>-                       QueryParam "alt" AltJSON :>-                         Get '[JSON] BillingAccount+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     Get '[JSON] BillingAccount  -- | Gets information about a billing account. The current authenticated user--- must be an [owner of the billing--- account](https:\/\/support.google.com\/cloud\/answer\/4430947).+-- must be a [viewer of the billing+-- account](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access). -- -- /See:/ 'billingAccountsGet' smart constructor. data BillingAccountsGet = BillingAccountsGet'-    { _bagXgafv          :: !(Maybe Text)+    { _bagXgafv          :: !(Maybe Xgafv)     , _bagUploadProtocol :: !(Maybe Text)-    , _bagPp             :: !Bool     , _bagAccessToken    :: !(Maybe Text)     , _bagUploadType     :: !(Maybe Text)-    , _bagBearerToken    :: !(Maybe Text)     , _bagName           :: !Text     , _bagCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -87,14 +81,10 @@ -- -- * 'bagUploadProtocol' ----- * 'bagPp'--- -- * 'bagAccessToken' -- -- * 'bagUploadType' ----- * 'bagBearerToken'--- -- * 'bagName' -- -- * 'bagCallback'@@ -105,16 +95,14 @@     BillingAccountsGet'     { _bagXgafv = Nothing     , _bagUploadProtocol = Nothing-    , _bagPp = True     , _bagAccessToken = Nothing     , _bagUploadType = Nothing-    , _bagBearerToken = Nothing     , _bagName = pBagName_     , _bagCallback = Nothing     }  -- | V1 error format.-bagXgafv :: Lens' BillingAccountsGet (Maybe Text)+bagXgafv :: Lens' BillingAccountsGet (Maybe Xgafv) bagXgafv = lens _bagXgafv (\ s a -> s{_bagXgafv = a})  -- | Upload protocol for media (e.g. \"raw\", \"multipart\").@@ -123,10 +111,6 @@   = lens _bagUploadProtocol       (\ s a -> s{_bagUploadProtocol = a}) --- | Pretty-print response.-bagPp :: Lens' BillingAccountsGet Bool-bagPp = lens _bagPp (\ s a -> s{_bagPp = a})- -- | OAuth access token. bagAccessToken :: Lens' BillingAccountsGet (Maybe Text) bagAccessToken@@ -139,12 +123,6 @@   = lens _bagUploadType       (\ s a -> s{_bagUploadType = a}) --- | OAuth bearer token.-bagBearerToken :: Lens' BillingAccountsGet (Maybe Text)-bagBearerToken-  = lens _bagBearerToken-      (\ s a -> s{_bagBearerToken = a})- -- | The resource name of the billing account to retrieve. For example, -- \`billingAccounts\/012345-567890-ABCDEF\`. bagName :: Lens' BillingAccountsGet Text@@ -161,10 +139,8 @@              '["https://www.googleapis.com/auth/cloud-platform"]         requestClient BillingAccountsGet'{..}           = go _bagName _bagXgafv _bagUploadProtocol-              (Just _bagPp)               _bagAccessToken               _bagUploadType-              _bagBearerToken               _bagCallback               (Just AltJSON)               billingService
+ gen/Network/Google/Resource/CloudBilling/BillingAccounts/GetIAMPolicy.hs view
@@ -0,0 +1,156 @@+{-# 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.GetIAMPolicy+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the access control policy for a billing account. The caller must+-- have the \`billing.accounts.getIamPolicy\` permission on the account,+-- which is often given to billing account+-- [viewers](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access).+--+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.getIamPolicy@.+module Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy+    (+    -- * REST Resource+      BillingAccountsGetIAMPolicyResource++    -- * Creating a Request+    , billingAccountsGetIAMPolicy+    , BillingAccountsGetIAMPolicy++    -- * Request Lenses+    , bagipXgafv+    , bagipUploadProtocol+    , bagipAccessToken+    , bagipUploadType+    , bagipResource+    , bagipCallback+    ) where++import           Network.Google.Billing.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudbilling.billingAccounts.getIamPolicy@ method which the+-- 'BillingAccountsGetIAMPolicy' request conforms to.+type BillingAccountsGetIAMPolicyResource =+     "v1" :>+       CaptureMode "resource" "getIamPolicy" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Policy++-- | Gets the access control policy for a billing account. The caller must+-- have the \`billing.accounts.getIamPolicy\` permission on the account,+-- which is often given to billing account+-- [viewers](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access).+--+-- /See:/ 'billingAccountsGetIAMPolicy' smart constructor.+data BillingAccountsGetIAMPolicy = BillingAccountsGetIAMPolicy'+    { _bagipXgafv          :: !(Maybe Xgafv)+    , _bagipUploadProtocol :: !(Maybe Text)+    , _bagipAccessToken    :: !(Maybe Text)+    , _bagipUploadType     :: !(Maybe Text)+    , _bagipResource       :: !Text+    , _bagipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BillingAccountsGetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bagipXgafv'+--+-- * 'bagipUploadProtocol'+--+-- * 'bagipAccessToken'+--+-- * 'bagipUploadType'+--+-- * 'bagipResource'+--+-- * 'bagipCallback'+billingAccountsGetIAMPolicy+    :: Text -- ^ 'bagipResource'+    -> BillingAccountsGetIAMPolicy+billingAccountsGetIAMPolicy pBagipResource_ =+    BillingAccountsGetIAMPolicy'+    { _bagipXgafv = Nothing+    , _bagipUploadProtocol = Nothing+    , _bagipAccessToken = Nothing+    , _bagipUploadType = Nothing+    , _bagipResource = pBagipResource_+    , _bagipCallback = Nothing+    }++-- | V1 error format.+bagipXgafv :: Lens' BillingAccountsGetIAMPolicy (Maybe Xgafv)+bagipXgafv+  = lens _bagipXgafv (\ s a -> s{_bagipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+bagipUploadProtocol :: Lens' BillingAccountsGetIAMPolicy (Maybe Text)+bagipUploadProtocol+  = lens _bagipUploadProtocol+      (\ s a -> s{_bagipUploadProtocol = a})++-- | OAuth access token.+bagipAccessToken :: Lens' BillingAccountsGetIAMPolicy (Maybe Text)+bagipAccessToken+  = lens _bagipAccessToken+      (\ s a -> s{_bagipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+bagipUploadType :: Lens' BillingAccountsGetIAMPolicy (Maybe Text)+bagipUploadType+  = lens _bagipUploadType+      (\ s a -> s{_bagipUploadType = a})++-- | REQUIRED: The resource for which the policy is being requested. See the+-- operation documentation for the appropriate value for this field.+bagipResource :: Lens' BillingAccountsGetIAMPolicy Text+bagipResource+  = lens _bagipResource+      (\ s a -> s{_bagipResource = a})++-- | JSONP+bagipCallback :: Lens' BillingAccountsGetIAMPolicy (Maybe Text)+bagipCallback+  = lens _bagipCallback+      (\ s a -> s{_bagipCallback = a})++instance GoogleRequest BillingAccountsGetIAMPolicy+         where+        type Rs BillingAccountsGetIAMPolicy = Policy+        type Scopes BillingAccountsGetIAMPolicy =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient BillingAccountsGetIAMPolicy'{..}+          = go _bagipResource _bagipXgafv _bagipUploadProtocol+              _bagipAccessToken+              _bagipUploadType+              _bagipCallback+              (Just AltJSON)+              billingService+          where go+                  = buildClient+                      (Proxy :: Proxy BillingAccountsGetIAMPolicyResource)+                      mempty
gen/Network/Google/Resource/CloudBilling/BillingAccounts/List.hs view
@@ -20,10 +20,11 @@ -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Lists the billing accounts that the current authenticated user--- [owns](https:\/\/support.google.com\/cloud\/answer\/4430947).+-- Lists the billing accounts that the current authenticated user has+-- permission to+-- [view](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access). ----- /See:/ <https://cloud.google.com/billing/ Google Cloud Billing API Reference> for @cloudbilling.billingAccounts.list@.+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.list@. module Network.Google.Resource.CloudBilling.BillingAccounts.List     (     -- * REST Resource@@ -36,10 +37,9 @@     -- * Request Lenses     , balXgafv     , balUploadProtocol-    , balPp     , balAccessToken     , balUploadType-    , balBearerToken+    , balFilter     , balPageToken     , balPageSize     , balCallback@@ -53,29 +53,28 @@ type BillingAccountsListResource =      "v1" :>        "billingAccounts" :>-         QueryParam "$.xgafv" Text :>+         QueryParam "$.xgafv" Xgafv :>            QueryParam "upload_protocol" Text :>-             QueryParam "pp" Bool :>-               QueryParam "access_token" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "bearer_token" Text :>-                     QueryParam "pageToken" Text :>-                       QueryParam "pageSize" (Textual Int32) :>-                         QueryParam "callback" Text :>-                           QueryParam "alt" AltJSON :>-                             Get '[JSON] ListBillingAccountsResponse+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "filter" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] ListBillingAccountsResponse --- | Lists the billing accounts that the current authenticated user--- [owns](https:\/\/support.google.com\/cloud\/answer\/4430947).+-- | Lists the billing accounts that the current authenticated user has+-- permission to+-- [view](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access). -- -- /See:/ 'billingAccountsList' smart constructor. data BillingAccountsList = BillingAccountsList'-    { _balXgafv          :: !(Maybe Text)+    { _balXgafv          :: !(Maybe Xgafv)     , _balUploadProtocol :: !(Maybe Text)-    , _balPp             :: !Bool     , _balAccessToken    :: !(Maybe Text)     , _balUploadType     :: !(Maybe Text)-    , _balBearerToken    :: !(Maybe Text)+    , _balFilter         :: !(Maybe Text)     , _balPageToken      :: !(Maybe Text)     , _balPageSize       :: !(Maybe (Textual Int32))     , _balCallback       :: !(Maybe Text)@@ -89,13 +88,11 @@ -- -- * 'balUploadProtocol' ----- * 'balPp'--- -- * 'balAccessToken' -- -- * 'balUploadType' ----- * 'balBearerToken'+-- * 'balFilter' -- -- * 'balPageToken' --@@ -108,17 +105,16 @@     BillingAccountsList'     { _balXgafv = Nothing     , _balUploadProtocol = Nothing-    , _balPp = True     , _balAccessToken = Nothing     , _balUploadType = Nothing-    , _balBearerToken = Nothing+    , _balFilter = Nothing     , _balPageToken = Nothing     , _balPageSize = Nothing     , _balCallback = Nothing     }  -- | V1 error format.-balXgafv :: Lens' BillingAccountsList (Maybe Text)+balXgafv :: Lens' BillingAccountsList (Maybe Xgafv) balXgafv = lens _balXgafv (\ s a -> s{_balXgafv = a})  -- | Upload protocol for media (e.g. \"raw\", \"multipart\").@@ -127,10 +123,6 @@   = lens _balUploadProtocol       (\ s a -> s{_balUploadProtocol = a}) --- | Pretty-print response.-balPp :: Lens' BillingAccountsList Bool-balPp = lens _balPp (\ s a -> s{_balPp = a})- -- | OAuth access token. balAccessToken :: Lens' BillingAccountsList (Maybe Text) balAccessToken@@ -143,11 +135,15 @@   = lens _balUploadType       (\ s a -> s{_balUploadType = a}) --- | OAuth bearer token.-balBearerToken :: Lens' BillingAccountsList (Maybe Text)-balBearerToken-  = lens _balBearerToken-      (\ s a -> s{_balBearerToken = a})+-- | Options for how to filter the returned billing accounts. Currently this+-- only supports filtering for+-- [subaccounts](https:\/\/cloud.google.com\/billing\/docs\/concepts) under+-- a single provided reseller billing account. (e.g.+-- \"master_billing_account=billingAccounts\/012345-678901-ABCDEF\").+-- Boolean algebra and other fields are not currently supported.+balFilter :: Lens' BillingAccountsList (Maybe Text)+balFilter+  = lens _balFilter (\ s a -> s{_balFilter = a})  -- | A token identifying a page of results to return. This should be a -- \`next_page_token\` value returned from a previous@@ -175,10 +171,9 @@         type Scopes BillingAccountsList =              '["https://www.googleapis.com/auth/cloud-platform"]         requestClient BillingAccountsList'{..}-          = go _balXgafv _balUploadProtocol (Just _balPp)-              _balAccessToken+          = go _balXgafv _balUploadProtocol _balAccessToken               _balUploadType-              _balBearerToken+              _balFilter               _balPageToken               _balPageSize               _balCallback
+ gen/Network/Google/Resource/CloudBilling/BillingAccounts/Patch.hs view
@@ -0,0 +1,182 @@+{-# 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.Patch+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a billing account\'s fields. Currently the only field that can+-- be edited is \`display_name\`. The current authenticated user must have+-- the \`billing.accounts.update\` IAM permission, which is typically given+-- to the+-- [administrator](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access)+-- of the billing account.+--+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.patch@.+module Network.Google.Resource.CloudBilling.BillingAccounts.Patch+    (+    -- * REST Resource+      BillingAccountsPatchResource++    -- * Creating a Request+    , billingAccountsPatch+    , BillingAccountsPatch++    -- * Request Lenses+    , bapXgafv+    , bapUploadProtocol+    , bapUpdateMask+    , bapAccessToken+    , bapUploadType+    , bapPayload+    , bapName+    , bapCallback+    ) where++import           Network.Google.Billing.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudbilling.billingAccounts.patch@ method which the+-- 'BillingAccountsPatch' request conforms to.+type BillingAccountsPatchResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "updateMask" GFieldMask :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] BillingAccount :>+                         Patch '[JSON] BillingAccount++-- | Updates a billing account\'s fields. Currently the only field that can+-- be edited is \`display_name\`. The current authenticated user must have+-- the \`billing.accounts.update\` IAM permission, which is typically given+-- to the+-- [administrator](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access)+-- of the billing account.+--+-- /See:/ 'billingAccountsPatch' smart constructor.+data BillingAccountsPatch = BillingAccountsPatch'+    { _bapXgafv          :: !(Maybe Xgafv)+    , _bapUploadProtocol :: !(Maybe Text)+    , _bapUpdateMask     :: !(Maybe GFieldMask)+    , _bapAccessToken    :: !(Maybe Text)+    , _bapUploadType     :: !(Maybe Text)+    , _bapPayload        :: !BillingAccount+    , _bapName           :: !Text+    , _bapCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BillingAccountsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bapXgafv'+--+-- * 'bapUploadProtocol'+--+-- * 'bapUpdateMask'+--+-- * 'bapAccessToken'+--+-- * 'bapUploadType'+--+-- * 'bapPayload'+--+-- * 'bapName'+--+-- * 'bapCallback'+billingAccountsPatch+    :: BillingAccount -- ^ 'bapPayload'+    -> Text -- ^ 'bapName'+    -> BillingAccountsPatch+billingAccountsPatch pBapPayload_ pBapName_ =+    BillingAccountsPatch'+    { _bapXgafv = Nothing+    , _bapUploadProtocol = Nothing+    , _bapUpdateMask = Nothing+    , _bapAccessToken = Nothing+    , _bapUploadType = Nothing+    , _bapPayload = pBapPayload_+    , _bapName = pBapName_+    , _bapCallback = Nothing+    }++-- | V1 error format.+bapXgafv :: Lens' BillingAccountsPatch (Maybe Xgafv)+bapXgafv = lens _bapXgafv (\ s a -> s{_bapXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+bapUploadProtocol :: Lens' BillingAccountsPatch (Maybe Text)+bapUploadProtocol+  = lens _bapUploadProtocol+      (\ s a -> s{_bapUploadProtocol = a})++-- | The update mask applied to the resource. Only \"display_name\" is+-- currently supported.+bapUpdateMask :: Lens' BillingAccountsPatch (Maybe GFieldMask)+bapUpdateMask+  = lens _bapUpdateMask+      (\ s a -> s{_bapUpdateMask = a})++-- | OAuth access token.+bapAccessToken :: Lens' BillingAccountsPatch (Maybe Text)+bapAccessToken+  = lens _bapAccessToken+      (\ s a -> s{_bapAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+bapUploadType :: Lens' BillingAccountsPatch (Maybe Text)+bapUploadType+  = lens _bapUploadType+      (\ s a -> s{_bapUploadType = a})++-- | Multipart request metadata.+bapPayload :: Lens' BillingAccountsPatch BillingAccount+bapPayload+  = lens _bapPayload (\ s a -> s{_bapPayload = a})++-- | The name of the billing account resource to be updated.+bapName :: Lens' BillingAccountsPatch Text+bapName = lens _bapName (\ s a -> s{_bapName = a})++-- | JSONP+bapCallback :: Lens' BillingAccountsPatch (Maybe Text)+bapCallback+  = lens _bapCallback (\ s a -> s{_bapCallback = a})++instance GoogleRequest BillingAccountsPatch where+        type Rs BillingAccountsPatch = BillingAccount+        type Scopes BillingAccountsPatch =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient BillingAccountsPatch'{..}+          = go _bapName _bapXgafv _bapUploadProtocol+              _bapUpdateMask+              _bapAccessToken+              _bapUploadType+              _bapCallback+              (Just AltJSON)+              _bapPayload+              billingService+          where go+                  = buildClient+                      (Proxy :: Proxy BillingAccountsPatchResource)+                      mempty
gen/Network/Google/Resource/CloudBilling/BillingAccounts/Projects/List.hs view
@@ -21,10 +21,11 @@ -- Portability : non-portable (GHC extensions) -- -- Lists the projects associated with a billing account. The current--- authenticated user must be an [owner of the billing--- account](https:\/\/support.google.com\/cloud\/answer\/4430947).+-- authenticated user must have the \`billing.resourceAssociations.list\`+-- IAM permission, which is often given to billing account+-- [viewers](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access). ----- /See:/ <https://cloud.google.com/billing/ Google Cloud Billing API Reference> for @cloudbilling.billingAccounts.projects.list@.+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.projects.list@. module Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List     (     -- * REST Resource@@ -37,10 +38,8 @@     -- * Request Lenses     , baplXgafv     , baplUploadProtocol-    , baplPp     , baplAccessToken     , baplUploadType-    , baplBearerToken     , baplName     , baplPageToken     , baplPageSize@@ -56,30 +55,27 @@      "v1" :>        Capture "name" Text :>          "projects" :>-           QueryParam "$.xgafv" Text :>+           QueryParam "$.xgafv" Xgafv :>              QueryParam "upload_protocol" Text :>-               QueryParam "pp" Bool :>-                 QueryParam "access_token" Text :>-                   QueryParam "uploadType" Text :>-                     QueryParam "bearer_token" Text :>-                       QueryParam "pageToken" Text :>-                         QueryParam "pageSize" (Textual Int32) :>-                           QueryParam "callback" Text :>-                             QueryParam "alt" AltJSON :>-                               Get '[JSON] ListProjectBillingInfoResponse+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] ListProjectBillingInfoResponse  -- | Lists the projects associated with a billing account. The current--- authenticated user must be an [owner of the billing--- account](https:\/\/support.google.com\/cloud\/answer\/4430947).+-- authenticated user must have the \`billing.resourceAssociations.list\`+-- IAM permission, which is often given to billing account+-- [viewers](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access). -- -- /See:/ 'billingAccountsProjectsList' smart constructor. data BillingAccountsProjectsList = BillingAccountsProjectsList'-    { _baplXgafv          :: !(Maybe Text)+    { _baplXgafv          :: !(Maybe Xgafv)     , _baplUploadProtocol :: !(Maybe Text)-    , _baplPp             :: !Bool     , _baplAccessToken    :: !(Maybe Text)     , _baplUploadType     :: !(Maybe Text)-    , _baplBearerToken    :: !(Maybe Text)     , _baplName           :: !Text     , _baplPageToken      :: !(Maybe Text)     , _baplPageSize       :: !(Maybe (Textual Int32))@@ -94,14 +90,10 @@ -- -- * 'baplUploadProtocol' ----- * 'baplPp'--- -- * 'baplAccessToken' -- -- * 'baplUploadType' ----- * 'baplBearerToken'--- -- * 'baplName' -- -- * 'baplPageToken'@@ -116,10 +108,8 @@     BillingAccountsProjectsList'     { _baplXgafv = Nothing     , _baplUploadProtocol = Nothing-    , _baplPp = True     , _baplAccessToken = Nothing     , _baplUploadType = Nothing-    , _baplBearerToken = Nothing     , _baplName = pBaplName_     , _baplPageToken = Nothing     , _baplPageSize = Nothing@@ -127,7 +117,7 @@     }  -- | V1 error format.-baplXgafv :: Lens' BillingAccountsProjectsList (Maybe Text)+baplXgafv :: Lens' BillingAccountsProjectsList (Maybe Xgafv) baplXgafv   = lens _baplXgafv (\ s a -> s{_baplXgafv = a}) @@ -137,10 +127,6 @@   = lens _baplUploadProtocol       (\ s a -> s{_baplUploadProtocol = a}) --- | Pretty-print response.-baplPp :: Lens' BillingAccountsProjectsList Bool-baplPp = lens _baplPp (\ s a -> s{_baplPp = a})- -- | OAuth access token. baplAccessToken :: Lens' BillingAccountsProjectsList (Maybe Text) baplAccessToken@@ -153,12 +139,6 @@   = lens _baplUploadType       (\ s a -> s{_baplUploadType = a}) --- | OAuth bearer token.-baplBearerToken :: Lens' BillingAccountsProjectsList (Maybe Text)-baplBearerToken-  = lens _baplBearerToken-      (\ s a -> s{_baplBearerToken = a})- -- | The resource name of the billing account associated with the projects -- that you want to list. For example, -- \`billingAccounts\/012345-567890-ABCDEF\`.@@ -194,10 +174,8 @@              '["https://www.googleapis.com/auth/cloud-platform"]         requestClient BillingAccountsProjectsList'{..}           = go _baplName _baplXgafv _baplUploadProtocol-              (Just _baplPp)               _baplAccessToken               _baplUploadType-              _baplBearerToken               _baplPageToken               _baplPageSize               _baplCallback
+ gen/Network/Google/Resource/CloudBilling/BillingAccounts/SetIAMPolicy.hs view
@@ -0,0 +1,172 @@+{-# 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.SetIAMPolicy+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the access control policy for a billing account. Replaces any+-- existing policy. The caller must have the+-- \`billing.accounts.setIamPolicy\` permission on the account, which is+-- often given to billing account+-- [administrators](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access).+--+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.setIamPolicy@.+module Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy+    (+    -- * REST Resource+      BillingAccountsSetIAMPolicyResource++    -- * Creating a Request+    , billingAccountsSetIAMPolicy+    , BillingAccountsSetIAMPolicy++    -- * Request Lenses+    , basipXgafv+    , basipUploadProtocol+    , basipAccessToken+    , basipUploadType+    , basipPayload+    , basipResource+    , basipCallback+    ) where++import           Network.Google.Billing.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudbilling.billingAccounts.setIamPolicy@ method which the+-- 'BillingAccountsSetIAMPolicy' request conforms to.+type BillingAccountsSetIAMPolicyResource =+     "v1" :>+       CaptureMode "resource" "setIamPolicy" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] SetIAMPolicyRequest :>+                       Post '[JSON] Policy++-- | Sets the access control policy for a billing account. Replaces any+-- existing policy. The caller must have the+-- \`billing.accounts.setIamPolicy\` permission on the account, which is+-- often given to billing account+-- [administrators](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access).+--+-- /See:/ 'billingAccountsSetIAMPolicy' smart constructor.+data BillingAccountsSetIAMPolicy = BillingAccountsSetIAMPolicy'+    { _basipXgafv          :: !(Maybe Xgafv)+    , _basipUploadProtocol :: !(Maybe Text)+    , _basipAccessToken    :: !(Maybe Text)+    , _basipUploadType     :: !(Maybe Text)+    , _basipPayload        :: !SetIAMPolicyRequest+    , _basipResource       :: !Text+    , _basipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BillingAccountsSetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'basipXgafv'+--+-- * 'basipUploadProtocol'+--+-- * 'basipAccessToken'+--+-- * 'basipUploadType'+--+-- * 'basipPayload'+--+-- * 'basipResource'+--+-- * 'basipCallback'+billingAccountsSetIAMPolicy+    :: SetIAMPolicyRequest -- ^ 'basipPayload'+    -> Text -- ^ 'basipResource'+    -> BillingAccountsSetIAMPolicy+billingAccountsSetIAMPolicy pBasipPayload_ pBasipResource_ =+    BillingAccountsSetIAMPolicy'+    { _basipXgafv = Nothing+    , _basipUploadProtocol = Nothing+    , _basipAccessToken = Nothing+    , _basipUploadType = Nothing+    , _basipPayload = pBasipPayload_+    , _basipResource = pBasipResource_+    , _basipCallback = Nothing+    }++-- | V1 error format.+basipXgafv :: Lens' BillingAccountsSetIAMPolicy (Maybe Xgafv)+basipXgafv+  = lens _basipXgafv (\ s a -> s{_basipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+basipUploadProtocol :: Lens' BillingAccountsSetIAMPolicy (Maybe Text)+basipUploadProtocol+  = lens _basipUploadProtocol+      (\ s a -> s{_basipUploadProtocol = a})++-- | OAuth access token.+basipAccessToken :: Lens' BillingAccountsSetIAMPolicy (Maybe Text)+basipAccessToken+  = lens _basipAccessToken+      (\ s a -> s{_basipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+basipUploadType :: Lens' BillingAccountsSetIAMPolicy (Maybe Text)+basipUploadType+  = lens _basipUploadType+      (\ s a -> s{_basipUploadType = a})++-- | Multipart request metadata.+basipPayload :: Lens' BillingAccountsSetIAMPolicy SetIAMPolicyRequest+basipPayload+  = lens _basipPayload (\ s a -> s{_basipPayload = a})++-- | REQUIRED: The resource for which the policy is being specified. See the+-- operation documentation for the appropriate value for this field.+basipResource :: Lens' BillingAccountsSetIAMPolicy Text+basipResource+  = lens _basipResource+      (\ s a -> s{_basipResource = a})++-- | JSONP+basipCallback :: Lens' BillingAccountsSetIAMPolicy (Maybe Text)+basipCallback+  = lens _basipCallback+      (\ s a -> s{_basipCallback = a})++instance GoogleRequest BillingAccountsSetIAMPolicy+         where+        type Rs BillingAccountsSetIAMPolicy = Policy+        type Scopes BillingAccountsSetIAMPolicy =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient BillingAccountsSetIAMPolicy'{..}+          = go _basipResource _basipXgafv _basipUploadProtocol+              _basipAccessToken+              _basipUploadType+              _basipCallback+              (Just AltJSON)+              _basipPayload+              billingService+          where go+                  = buildClient+                      (Proxy :: Proxy BillingAccountsSetIAMPolicyResource)+                      mempty
+ gen/Network/Google/Resource/CloudBilling/BillingAccounts/TestIAMPermissions.hs view
@@ -0,0 +1,171 @@+{-# 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.TestIAMPermissions+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Tests the access control policy for a billing account. This method takes+-- the resource and a set of permissions as input and returns the subset of+-- the input permissions that the caller is allowed for that resource.+--+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.testIamPermissions@.+module Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions+    (+    -- * REST Resource+      BillingAccountsTestIAMPermissionsResource++    -- * Creating a Request+    , billingAccountsTestIAMPermissions+    , BillingAccountsTestIAMPermissions++    -- * Request Lenses+    , batipXgafv+    , batipUploadProtocol+    , batipAccessToken+    , batipUploadType+    , batipPayload+    , batipResource+    , batipCallback+    ) where++import           Network.Google.Billing.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudbilling.billingAccounts.testIamPermissions@ method which the+-- 'BillingAccountsTestIAMPermissions' request conforms to.+type BillingAccountsTestIAMPermissionsResource =+     "v1" :>+       CaptureMode "resource" "testIamPermissions" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] TestIAMPermissionsRequest :>+                       Post '[JSON] TestIAMPermissionsResponse++-- | Tests the access control policy for a billing account. This method takes+-- the resource and a set of permissions as input and returns the subset of+-- the input permissions that the caller is allowed for that resource.+--+-- /See:/ 'billingAccountsTestIAMPermissions' smart constructor.+data BillingAccountsTestIAMPermissions = BillingAccountsTestIAMPermissions'+    { _batipXgafv          :: !(Maybe Xgafv)+    , _batipUploadProtocol :: !(Maybe Text)+    , _batipAccessToken    :: !(Maybe Text)+    , _batipUploadType     :: !(Maybe Text)+    , _batipPayload        :: !TestIAMPermissionsRequest+    , _batipResource       :: !Text+    , _batipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BillingAccountsTestIAMPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'batipXgafv'+--+-- * 'batipUploadProtocol'+--+-- * 'batipAccessToken'+--+-- * 'batipUploadType'+--+-- * 'batipPayload'+--+-- * 'batipResource'+--+-- * 'batipCallback'+billingAccountsTestIAMPermissions+    :: TestIAMPermissionsRequest -- ^ 'batipPayload'+    -> Text -- ^ 'batipResource'+    -> BillingAccountsTestIAMPermissions+billingAccountsTestIAMPermissions pBatipPayload_ pBatipResource_ =+    BillingAccountsTestIAMPermissions'+    { _batipXgafv = Nothing+    , _batipUploadProtocol = Nothing+    , _batipAccessToken = Nothing+    , _batipUploadType = Nothing+    , _batipPayload = pBatipPayload_+    , _batipResource = pBatipResource_+    , _batipCallback = Nothing+    }++-- | V1 error format.+batipXgafv :: Lens' BillingAccountsTestIAMPermissions (Maybe Xgafv)+batipXgafv+  = lens _batipXgafv (\ s a -> s{_batipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+batipUploadProtocol :: Lens' BillingAccountsTestIAMPermissions (Maybe Text)+batipUploadProtocol+  = lens _batipUploadProtocol+      (\ s a -> s{_batipUploadProtocol = a})++-- | OAuth access token.+batipAccessToken :: Lens' BillingAccountsTestIAMPermissions (Maybe Text)+batipAccessToken+  = lens _batipAccessToken+      (\ s a -> s{_batipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+batipUploadType :: Lens' BillingAccountsTestIAMPermissions (Maybe Text)+batipUploadType+  = lens _batipUploadType+      (\ s a -> s{_batipUploadType = a})++-- | Multipart request metadata.+batipPayload :: Lens' BillingAccountsTestIAMPermissions TestIAMPermissionsRequest+batipPayload+  = lens _batipPayload (\ s a -> s{_batipPayload = a})++-- | REQUIRED: The resource for which the policy detail is being requested.+-- See the operation documentation for the appropriate value for this+-- field.+batipResource :: Lens' BillingAccountsTestIAMPermissions Text+batipResource+  = lens _batipResource+      (\ s a -> s{_batipResource = a})++-- | JSONP+batipCallback :: Lens' BillingAccountsTestIAMPermissions (Maybe Text)+batipCallback+  = lens _batipCallback+      (\ s a -> s{_batipCallback = a})++instance GoogleRequest+         BillingAccountsTestIAMPermissions where+        type Rs BillingAccountsTestIAMPermissions =+             TestIAMPermissionsResponse+        type Scopes BillingAccountsTestIAMPermissions =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient BillingAccountsTestIAMPermissions'{..}+          = go _batipResource _batipXgafv _batipUploadProtocol+              _batipAccessToken+              _batipUploadType+              _batipCallback+              (Just AltJSON)+              _batipPayload+              billingService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy BillingAccountsTestIAMPermissionsResource)+                      mempty
gen/Network/Google/Resource/CloudBilling/Projects/GetBillingInfo.hs view
@@ -25,7 +25,7 @@ -- project](https:\/\/cloud.google.com\/docs\/permissions-overview#h.bgs0oxofvnoo -- ). ----- /See:/ <https://cloud.google.com/billing/ Google Cloud Billing API Reference> for @cloudbilling.projects.getBillingInfo@.+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.projects.getBillingInfo@. module Network.Google.Resource.CloudBilling.Projects.GetBillingInfo     (     -- * REST Resource@@ -38,10 +38,8 @@     -- * Request Lenses     , pgbiXgafv     , pgbiUploadProtocol-    , pgbiPp     , pgbiAccessToken     , pgbiUploadType-    , pgbiBearerToken     , pgbiName     , pgbiCallback     ) where@@ -55,15 +53,13 @@      "v1" :>        Capture "name" Text :>          "billingInfo" :>-           QueryParam "$.xgafv" Text :>+           QueryParam "$.xgafv" Xgafv :>              QueryParam "upload_protocol" Text :>-               QueryParam "pp" Bool :>-                 QueryParam "access_token" Text :>-                   QueryParam "uploadType" Text :>-                     QueryParam "bearer_token" Text :>-                       QueryParam "callback" Text :>-                         QueryParam "alt" AltJSON :>-                           Get '[JSON] ProjectBillingInfo+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       Get '[JSON] ProjectBillingInfo  -- | Gets the billing information for a project. The current authenticated -- user must have [permission to view the@@ -72,12 +68,10 @@ -- -- /See:/ 'projectsGetBillingInfo' smart constructor. data ProjectsGetBillingInfo = ProjectsGetBillingInfo'-    { _pgbiXgafv          :: !(Maybe Text)+    { _pgbiXgafv          :: !(Maybe Xgafv)     , _pgbiUploadProtocol :: !(Maybe Text)-    , _pgbiPp             :: !Bool     , _pgbiAccessToken    :: !(Maybe Text)     , _pgbiUploadType     :: !(Maybe Text)-    , _pgbiBearerToken    :: !(Maybe Text)     , _pgbiName           :: !Text     , _pgbiCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -90,14 +84,10 @@ -- -- * 'pgbiUploadProtocol' ----- * 'pgbiPp'--- -- * 'pgbiAccessToken' -- -- * 'pgbiUploadType' ----- * 'pgbiBearerToken'--- -- * 'pgbiName' -- -- * 'pgbiCallback'@@ -108,16 +98,14 @@     ProjectsGetBillingInfo'     { _pgbiXgafv = Nothing     , _pgbiUploadProtocol = Nothing-    , _pgbiPp = True     , _pgbiAccessToken = Nothing     , _pgbiUploadType = Nothing-    , _pgbiBearerToken = Nothing     , _pgbiName = pPgbiName_     , _pgbiCallback = Nothing     }  -- | V1 error format.-pgbiXgafv :: Lens' ProjectsGetBillingInfo (Maybe Text)+pgbiXgafv :: Lens' ProjectsGetBillingInfo (Maybe Xgafv) pgbiXgafv   = lens _pgbiXgafv (\ s a -> s{_pgbiXgafv = a}) @@ -127,10 +115,6 @@   = lens _pgbiUploadProtocol       (\ s a -> s{_pgbiUploadProtocol = a}) --- | Pretty-print response.-pgbiPp :: Lens' ProjectsGetBillingInfo Bool-pgbiPp = lens _pgbiPp (\ s a -> s{_pgbiPp = a})- -- | OAuth access token. pgbiAccessToken :: Lens' ProjectsGetBillingInfo (Maybe Text) pgbiAccessToken@@ -143,12 +127,6 @@   = lens _pgbiUploadType       (\ s a -> s{_pgbiUploadType = a}) --- | OAuth bearer token.-pgbiBearerToken :: Lens' ProjectsGetBillingInfo (Maybe Text)-pgbiBearerToken-  = lens _pgbiBearerToken-      (\ s a -> s{_pgbiBearerToken = a})- -- | The resource name of the project for which billing information is -- retrieved. For example, \`projects\/tokyo-rain-123\`. pgbiName :: Lens' ProjectsGetBillingInfo Text@@ -165,10 +143,8 @@              '["https://www.googleapis.com/auth/cloud-platform"]         requestClient ProjectsGetBillingInfo'{..}           = go _pgbiName _pgbiXgafv _pgbiUploadProtocol-              (Just _pgbiPp)               _pgbiAccessToken               _pgbiUploadType-              _pgbiBearerToken               _pgbiCallback               (Just AltJSON)               billingService
gen/Network/Google/Resource/CloudBilling/Projects/UpdateBillingInfo.hs view
@@ -27,28 +27,27 @@ -- billing on the project and allows charges for resource usage. If the -- project already had a billing account, this method changes the billing -- account used for resource usage charges. *Note:* Incurred charges that--- have not yet been reported in the transaction history of the Google--- Developers Console may be billed to the new billing account, even if the--- charge occurred before the new billing account was assigned to the--- project. The current authenticated user must have ownership privileges--- for both the+-- have not yet been reported in the transaction history of the GCP Console+-- might be billed to the new billing account, even if the charge occurred+-- before the new billing account was assigned to the project. The current+-- authenticated user must have ownership privileges for both the -- [project](https:\/\/cloud.google.com\/docs\/permissions-overview#h.bgs0oxofvnoo -- ) and the [billing--- account](https:\/\/support.google.com\/cloud\/answer\/4430947). You can--- disable billing on the project by setting the \`billing_account_name\`--- field to empty. This action disassociates the current billing account--- from the project. Any billable activity of your in-use services will--- stop, and your application could stop functioning as expected. Any--- unbilled charges to date will be billed to the previously associated--- account. The current authenticated user must be either an owner of the--- project or an owner of the billing account for the project. Note that--- associating a project with a *closed* billing account will have much the--- same effect as disabling billing on the project: any paid resources used--- by the project will be shut down. Thus, unless you wish to disable--- billing, you should always call this method with the name of an *open*--- billing account.+-- account](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access).+-- You can disable billing on the project by setting the+-- \`billing_account_name\` field to empty. This action disassociates the+-- current billing account from the project. Any billable activity of your+-- in-use services will stop, and your application could stop functioning+-- as expected. Any unbilled charges to date will be billed to the+-- previously associated account. The current authenticated user must be+-- either an owner of the project or an owner of the billing account for+-- the project. Note that associating a project with a *closed* billing+-- account will have much the same effect as disabling billing on the+-- project: any paid resources used by the project will be shut down. Thus,+-- unless you wish to disable billing, you should always call this method+-- with the name of an *open* billing account. ----- /See:/ <https://cloud.google.com/billing/ Google Cloud Billing API Reference> for @cloudbilling.projects.updateBillingInfo@.+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.projects.updateBillingInfo@. module Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo     (     -- * REST Resource@@ -61,11 +60,9 @@     -- * Request Lenses     , pubiXgafv     , pubiUploadProtocol-    , pubiPp     , pubiAccessToken     , pubiUploadType     , pubiPayload-    , pubiBearerToken     , pubiName     , pubiCallback     ) where@@ -79,16 +76,14 @@      "v1" :>        Capture "name" Text :>          "billingInfo" :>-           QueryParam "$.xgafv" Text :>+           QueryParam "$.xgafv" Xgafv :>              QueryParam "upload_protocol" Text :>-               QueryParam "pp" Bool :>-                 QueryParam "access_token" Text :>-                   QueryParam "uploadType" Text :>-                     QueryParam "bearer_token" Text :>-                       QueryParam "callback" Text :>-                         QueryParam "alt" AltJSON :>-                           ReqBody '[JSON] ProjectBillingInfo :>-                             Put '[JSON] ProjectBillingInfo+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] ProjectBillingInfo :>+                         Put '[JSON] ProjectBillingInfo  -- | Sets or updates the billing account associated with a project. You -- specify the new billing account by setting the \`billing_account_name\`@@ -97,36 +92,33 @@ -- billing on the project and allows charges for resource usage. If the -- project already had a billing account, this method changes the billing -- account used for resource usage charges. *Note:* Incurred charges that--- have not yet been reported in the transaction history of the Google--- Developers Console may be billed to the new billing account, even if the--- charge occurred before the new billing account was assigned to the--- project. The current authenticated user must have ownership privileges--- for both the+-- have not yet been reported in the transaction history of the GCP Console+-- might be billed to the new billing account, even if the charge occurred+-- before the new billing account was assigned to the project. The current+-- authenticated user must have ownership privileges for both the -- [project](https:\/\/cloud.google.com\/docs\/permissions-overview#h.bgs0oxofvnoo -- ) and the [billing--- account](https:\/\/support.google.com\/cloud\/answer\/4430947). You can--- disable billing on the project by setting the \`billing_account_name\`--- field to empty. This action disassociates the current billing account--- from the project. Any billable activity of your in-use services will--- stop, and your application could stop functioning as expected. Any--- unbilled charges to date will be billed to the previously associated--- account. The current authenticated user must be either an owner of the--- project or an owner of the billing account for the project. Note that--- associating a project with a *closed* billing account will have much the--- same effect as disabling billing on the project: any paid resources used--- by the project will be shut down. Thus, unless you wish to disable--- billing, you should always call this method with the name of an *open*--- billing account.+-- account](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access).+-- You can disable billing on the project by setting the+-- \`billing_account_name\` field to empty. This action disassociates the+-- current billing account from the project. Any billable activity of your+-- in-use services will stop, and your application could stop functioning+-- as expected. Any unbilled charges to date will be billed to the+-- previously associated account. The current authenticated user must be+-- either an owner of the project or an owner of the billing account for+-- the project. Note that associating a project with a *closed* billing+-- account will have much the same effect as disabling billing on the+-- project: any paid resources used by the project will be shut down. Thus,+-- unless you wish to disable billing, you should always call this method+-- with the name of an *open* billing account. -- -- /See:/ 'projectsUpdateBillingInfo' smart constructor. data ProjectsUpdateBillingInfo = ProjectsUpdateBillingInfo'-    { _pubiXgafv          :: !(Maybe Text)+    { _pubiXgafv          :: !(Maybe Xgafv)     , _pubiUploadProtocol :: !(Maybe Text)-    , _pubiPp             :: !Bool     , _pubiAccessToken    :: !(Maybe Text)     , _pubiUploadType     :: !(Maybe Text)     , _pubiPayload        :: !ProjectBillingInfo-    , _pubiBearerToken    :: !(Maybe Text)     , _pubiName           :: !Text     , _pubiCallback       :: !(Maybe Text)     } deriving (Eq,Show,Data,Typeable,Generic)@@ -139,16 +131,12 @@ -- -- * 'pubiUploadProtocol' ----- * 'pubiPp'--- -- * 'pubiAccessToken' -- -- * 'pubiUploadType' -- -- * 'pubiPayload' ----- * 'pubiBearerToken'--- -- * 'pubiName' -- -- * 'pubiCallback'@@ -160,17 +148,15 @@     ProjectsUpdateBillingInfo'     { _pubiXgafv = Nothing     , _pubiUploadProtocol = Nothing-    , _pubiPp = True     , _pubiAccessToken = Nothing     , _pubiUploadType = Nothing     , _pubiPayload = pPubiPayload_-    , _pubiBearerToken = Nothing     , _pubiName = pPubiName_     , _pubiCallback = Nothing     }  -- | V1 error format.-pubiXgafv :: Lens' ProjectsUpdateBillingInfo (Maybe Text)+pubiXgafv :: Lens' ProjectsUpdateBillingInfo (Maybe Xgafv) pubiXgafv   = lens _pubiXgafv (\ s a -> s{_pubiXgafv = a}) @@ -180,10 +166,6 @@   = lens _pubiUploadProtocol       (\ s a -> s{_pubiUploadProtocol = a}) --- | Pretty-print response.-pubiPp :: Lens' ProjectsUpdateBillingInfo Bool-pubiPp = lens _pubiPp (\ s a -> s{_pubiPp = a})- -- | OAuth access token. pubiAccessToken :: Lens' ProjectsUpdateBillingInfo (Maybe Text) pubiAccessToken@@ -201,12 +183,6 @@ pubiPayload   = lens _pubiPayload (\ s a -> s{_pubiPayload = a}) --- | OAuth bearer token.-pubiBearerToken :: Lens' ProjectsUpdateBillingInfo (Maybe Text)-pubiBearerToken-  = lens _pubiBearerToken-      (\ s a -> s{_pubiBearerToken = a})- -- | The resource name of the project associated with the billing information -- that you want to update. For example, \`projects\/tokyo-rain-123\`. pubiName :: Lens' ProjectsUpdateBillingInfo Text@@ -225,10 +201,8 @@              '["https://www.googleapis.com/auth/cloud-platform"]         requestClient ProjectsUpdateBillingInfo'{..}           = go _pubiName _pubiXgafv _pubiUploadProtocol-              (Just _pubiPp)               _pubiAccessToken               _pubiUploadType-              _pubiBearerToken               _pubiCallback               (Just AltJSON)               _pubiPayload
+ gen/Network/Google/Resource/CloudBilling/Services/List.hs view
@@ -0,0 +1,159 @@+{-# 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.Services.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all public cloud services.+--+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.services.list@.+module Network.Google.Resource.CloudBilling.Services.List+    (+    -- * REST Resource+      ServicesListResource++    -- * Creating a Request+    , servicesList+    , ServicesList++    -- * Request Lenses+    , slXgafv+    , slUploadProtocol+    , slAccessToken+    , slUploadType+    , slPageToken+    , slPageSize+    , slCallback+    ) where++import           Network.Google.Billing.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudbilling.services.list@ method which the+-- 'ServicesList' request conforms to.+type ServicesListResource =+     "v1" :>+       "services" :>+         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] ListServicesResponse++-- | Lists all public cloud services.+--+-- /See:/ 'servicesList' smart constructor.+data ServicesList = ServicesList'+    { _slXgafv          :: !(Maybe Xgafv)+    , _slUploadProtocol :: !(Maybe Text)+    , _slAccessToken    :: !(Maybe Text)+    , _slUploadType     :: !(Maybe Text)+    , _slPageToken      :: !(Maybe Text)+    , _slPageSize       :: !(Maybe (Textual Int32))+    , _slCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ServicesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slXgafv'+--+-- * 'slUploadProtocol'+--+-- * 'slAccessToken'+--+-- * 'slUploadType'+--+-- * 'slPageToken'+--+-- * 'slPageSize'+--+-- * 'slCallback'+servicesList+    :: ServicesList+servicesList =+    ServicesList'+    { _slXgafv = Nothing+    , _slUploadProtocol = Nothing+    , _slAccessToken = Nothing+    , _slUploadType = Nothing+    , _slPageToken = Nothing+    , _slPageSize = Nothing+    , _slCallback = Nothing+    }++-- | V1 error format.+slXgafv :: Lens' ServicesList (Maybe Xgafv)+slXgafv = lens _slXgafv (\ s a -> s{_slXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+slUploadProtocol :: Lens' ServicesList (Maybe Text)+slUploadProtocol+  = lens _slUploadProtocol+      (\ s a -> s{_slUploadProtocol = a})++-- | OAuth access token.+slAccessToken :: Lens' ServicesList (Maybe Text)+slAccessToken+  = lens _slAccessToken+      (\ s a -> s{_slAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+slUploadType :: Lens' ServicesList (Maybe Text)+slUploadType+  = lens _slUploadType (\ s a -> s{_slUploadType = a})++-- | A token identifying a page of results to return. This should be a+-- \`next_page_token\` value returned from a previous \`ListServices\`+-- call. If unspecified, the first page of results is returned.+slPageToken :: Lens' ServicesList (Maybe Text)+slPageToken+  = lens _slPageToken (\ s a -> s{_slPageToken = a})++-- | Requested page size. Defaults to 5000.+slPageSize :: Lens' ServicesList (Maybe Int32)+slPageSize+  = lens _slPageSize (\ s a -> s{_slPageSize = a}) .+      mapping _Coerce++-- | JSONP+slCallback :: Lens' ServicesList (Maybe Text)+slCallback+  = lens _slCallback (\ s a -> s{_slCallback = a})++instance GoogleRequest ServicesList where+        type Rs ServicesList = ListServicesResponse+        type Scopes ServicesList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ServicesList'{..}+          = go _slXgafv _slUploadProtocol _slAccessToken+              _slUploadType+              _slPageToken+              _slPageSize+              _slCallback+              (Just AltJSON)+              billingService+          where go+                  = buildClient (Proxy :: Proxy ServicesListResource)+                      mempty
+ gen/Network/Google/Resource/CloudBilling/Services/SKUs/List.hs view
@@ -0,0 +1,230 @@+{-# 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.Services.SKUs.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all publicly available SKUs for a given cloud service.+--+-- /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.services.skus.list@.+module Network.Google.Resource.CloudBilling.Services.SKUs.List+    (+    -- * REST Resource+      ServicesSKUsListResource++    -- * Creating a Request+    , servicesSKUsList+    , ServicesSKUsList++    -- * Request Lenses+    , sskulParent+    , sskulXgafv+    , sskulCurrencyCode+    , sskulUploadProtocol+    , sskulStartTime+    , sskulAccessToken+    , sskulUploadType+    , sskulEndTime+    , sskulPageToken+    , sskulPageSize+    , sskulCallback+    ) where++import           Network.Google.Billing.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudbilling.services.skus.list@ method which the+-- 'ServicesSKUsList' request conforms to.+type ServicesSKUsListResource =+     "v1" :>+       Capture "parent" Text :>+         "skus" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "currencyCode" Text :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "startTime" DateTime' :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "endTime" DateTime' :>+                         QueryParam "pageToken" Text :>+                           QueryParam "pageSize" (Textual Int32) :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] ListSKUsResponse++-- | Lists all publicly available SKUs for a given cloud service.+--+-- /See:/ 'servicesSKUsList' smart constructor.+data ServicesSKUsList = ServicesSKUsList'+    { _sskulParent         :: !Text+    , _sskulXgafv          :: !(Maybe Xgafv)+    , _sskulCurrencyCode   :: !(Maybe Text)+    , _sskulUploadProtocol :: !(Maybe Text)+    , _sskulStartTime      :: !(Maybe DateTime')+    , _sskulAccessToken    :: !(Maybe Text)+    , _sskulUploadType     :: !(Maybe Text)+    , _sskulEndTime        :: !(Maybe DateTime')+    , _sskulPageToken      :: !(Maybe Text)+    , _sskulPageSize       :: !(Maybe (Textual Int32))+    , _sskulCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ServicesSKUsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sskulParent'+--+-- * 'sskulXgafv'+--+-- * 'sskulCurrencyCode'+--+-- * 'sskulUploadProtocol'+--+-- * 'sskulStartTime'+--+-- * 'sskulAccessToken'+--+-- * 'sskulUploadType'+--+-- * 'sskulEndTime'+--+-- * 'sskulPageToken'+--+-- * 'sskulPageSize'+--+-- * 'sskulCallback'+servicesSKUsList+    :: Text -- ^ 'sskulParent'+    -> ServicesSKUsList+servicesSKUsList pSskulParent_ =+    ServicesSKUsList'+    { _sskulParent = pSskulParent_+    , _sskulXgafv = Nothing+    , _sskulCurrencyCode = Nothing+    , _sskulUploadProtocol = Nothing+    , _sskulStartTime = Nothing+    , _sskulAccessToken = Nothing+    , _sskulUploadType = Nothing+    , _sskulEndTime = Nothing+    , _sskulPageToken = Nothing+    , _sskulPageSize = Nothing+    , _sskulCallback = Nothing+    }++-- | The name of the service. Example: \"services\/DA34-426B-A397\"+sskulParent :: Lens' ServicesSKUsList Text+sskulParent+  = lens _sskulParent (\ s a -> s{_sskulParent = a})++-- | V1 error format.+sskulXgafv :: Lens' ServicesSKUsList (Maybe Xgafv)+sskulXgafv+  = lens _sskulXgafv (\ s a -> s{_sskulXgafv = a})++-- | The ISO 4217 currency code for the pricing info in the response proto.+-- Will use the conversion rate as of start_time. Optional. If not+-- specified USD will be used.+sskulCurrencyCode :: Lens' ServicesSKUsList (Maybe Text)+sskulCurrencyCode+  = lens _sskulCurrencyCode+      (\ s a -> s{_sskulCurrencyCode = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sskulUploadProtocol :: Lens' ServicesSKUsList (Maybe Text)+sskulUploadProtocol+  = lens _sskulUploadProtocol+      (\ s a -> s{_sskulUploadProtocol = a})++-- | Optional inclusive start time of the time range for which the pricing+-- versions will be returned. Timestamps in the future are not allowed. The+-- time range has to be within a single calendar month in+-- America\/Los_Angeles timezone. Time range as a whole is optional. If not+-- specified, the latest pricing will be returned (up to 12 hours old at+-- most).+sskulStartTime :: Lens' ServicesSKUsList (Maybe UTCTime)+sskulStartTime+  = lens _sskulStartTime+      (\ s a -> s{_sskulStartTime = a})+      . mapping _DateTime++-- | OAuth access token.+sskulAccessToken :: Lens' ServicesSKUsList (Maybe Text)+sskulAccessToken+  = lens _sskulAccessToken+      (\ s a -> s{_sskulAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sskulUploadType :: Lens' ServicesSKUsList (Maybe Text)+sskulUploadType+  = lens _sskulUploadType+      (\ s a -> s{_sskulUploadType = a})++-- | Optional exclusive end time of the time range for which the pricing+-- versions will be returned. Timestamps in the future are not allowed. The+-- time range has to be within a single calendar month in+-- America\/Los_Angeles timezone. Time range as a whole is optional. If not+-- specified, the latest pricing will be returned (up to 12 hours old at+-- most).+sskulEndTime :: Lens' ServicesSKUsList (Maybe UTCTime)+sskulEndTime+  = lens _sskulEndTime (\ s a -> s{_sskulEndTime = a})+      . mapping _DateTime++-- | A token identifying a page of results to return. This should be a+-- \`next_page_token\` value returned from a previous \`ListSkus\` call. If+-- unspecified, the first page of results is returned.+sskulPageToken :: Lens' ServicesSKUsList (Maybe Text)+sskulPageToken+  = lens _sskulPageToken+      (\ s a -> s{_sskulPageToken = a})++-- | Requested page size. Defaults to 5000.+sskulPageSize :: Lens' ServicesSKUsList (Maybe Int32)+sskulPageSize+  = lens _sskulPageSize+      (\ s a -> s{_sskulPageSize = a})+      . mapping _Coerce++-- | JSONP+sskulCallback :: Lens' ServicesSKUsList (Maybe Text)+sskulCallback+  = lens _sskulCallback+      (\ s a -> s{_sskulCallback = a})++instance GoogleRequest ServicesSKUsList where+        type Rs ServicesSKUsList = ListSKUsResponse+        type Scopes ServicesSKUsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ServicesSKUsList'{..}+          = go _sskulParent _sskulXgafv _sskulCurrencyCode+              _sskulUploadProtocol+              _sskulStartTime+              _sskulAccessToken+              _sskulUploadType+              _sskulEndTime+              _sskulPageToken+              _sskulPageSize+              _sskulCallback+              (Just AltJSON)+              billingService+          where go+                  = buildClient+                      (Proxy :: Proxy ServicesSKUsListResource)+                      mempty
gogol-billing.cabal view
@@ -1,5 +1,5 @@ name:                  gogol-billing-version:               0.3.0+version:               0.4.0 synopsis:              Google Cloud Billing SDK. homepage:              https://github.com/brendanhay/gogol bug-reports:           https://github.com/brendanhay/gogol/issues@@ -14,8 +14,8 @@ extra-source-files:    README.md src/.gitkeep  description:-    Retrieves Google Developers Console billing accounts and associates them-    with projects.+    Allows developers to manage billing for their Google Cloud Platform+    projects programmatically.     .     /Warning:/ This is an experimental prototype/preview release which is still     under exploratory development and not intended for public use, caveat emptor!@@ -36,16 +36,23 @@     exposed-modules:           Network.Google.Billing         , Network.Google.Billing.Types+        , Network.Google.Resource.CloudBilling.BillingAccounts.Create         , Network.Google.Resource.CloudBilling.BillingAccounts.Get+        , Network.Google.Resource.CloudBilling.BillingAccounts.GetIAMPolicy         , Network.Google.Resource.CloudBilling.BillingAccounts.List+        , Network.Google.Resource.CloudBilling.BillingAccounts.Patch         , Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List+        , Network.Google.Resource.CloudBilling.BillingAccounts.SetIAMPolicy+        , Network.Google.Resource.CloudBilling.BillingAccounts.TestIAMPermissions         , Network.Google.Resource.CloudBilling.Projects.GetBillingInfo         , Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo+        , Network.Google.Resource.CloudBilling.Services.List+        , Network.Google.Resource.CloudBilling.Services.SKUs.List      other-modules:           Network.Google.Billing.Types.Product         , Network.Google.Billing.Types.Sum      build-depends:-          gogol-core == 0.3.0.*+          gogol-core == 0.4.0.*         , base       >= 4.7 && < 5