gogol-billing 0.5.0 → 1.0.0
raw patch · 41 files changed
+4147/−4490 lines, 41 filesdep −basedep ~gogol-coresetup-changed
Dependencies removed: base
Dependency ranges changed: gogol-core
Files
- README.md +1/−1
- Setup.hs +2/−1
- gen/Gogol/Billing.hs +264/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/Create.hs +117/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/Get.hs +112/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/GetIamPolicy.hs +119/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/List.hs +128/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/Move.hs +116/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/Patch.hs +121/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/Projects/List.hs +127/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/SetIamPolicy.hs +118/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/SubAccounts/Create.hs +125/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/SubAccounts/List.hs +135/−0
- gen/Gogol/Billing/Cloudbilling/BillingAccounts/TestIamPermissions.hs +127/−0
- gen/Gogol/Billing/Cloudbilling/Organizations/BillingAccounts/Create.hs +125/−0
- gen/Gogol/Billing/Cloudbilling/Organizations/BillingAccounts/List.hs +136/−0
- gen/Gogol/Billing/Cloudbilling/Organizations/BillingAccounts/Move.hs +126/−0
- gen/Gogol/Billing/Cloudbilling/Projects/GetBillingInfo.hs +115/−0
- gen/Gogol/Billing/Cloudbilling/Projects/UpdateBillingInfo.hs +121/−0
- gen/Gogol/Billing/Cloudbilling/Services/List.hs +116/−0
- gen/Gogol/Billing/Cloudbilling/Services/Skus/List.hs +138/−0
- gen/Gogol/Billing/Internal/Product.hs +1192/−0
- gen/Gogol/Billing/Internal/Sum.hs +227/−0
- gen/Gogol/Billing/Types.hs +171/−0
- gen/Network/Google/Billing.hs +0/−274
- gen/Network/Google/Billing/Types.hs +0/−208
- gen/Network/Google/Billing/Types/Product.hs +0/−1640
- gen/Network/Google/Billing/Types/Sum.hs +0/−147
- gen/Network/Google/Resource/CloudBilling/BillingAccounts/Create.hs +0/−167
- gen/Network/Google/Resource/CloudBilling/BillingAccounts/Get.hs +0/−154
- gen/Network/Google/Resource/CloudBilling/BillingAccounts/GetIAMPolicy.hs +0/−160
- gen/Network/Google/Resource/CloudBilling/BillingAccounts/List.hs +0/−189
- gen/Network/Google/Resource/CloudBilling/BillingAccounts/Patch.hs +0/−186
- gen/Network/Google/Resource/CloudBilling/BillingAccounts/Projects/List.hs +0/−191
- gen/Network/Google/Resource/CloudBilling/BillingAccounts/SetIAMPolicy.hs +0/−176
- gen/Network/Google/Resource/CloudBilling/BillingAccounts/TestIAMPermissions.hs +0/−176
- gen/Network/Google/Resource/CloudBilling/Projects/GetBillingInfo.hs +0/−158
- gen/Network/Google/Resource/CloudBilling/Projects/UpdateBillingInfo.hs +0/−217
- gen/Network/Google/Resource/CloudBilling/Services/List.hs +0/−163
- gen/Network/Google/Resource/CloudBilling/Services/SKUs/List.hs +0/−234
- gogol-billing.cabal +68/−48
README.md view
@@ -8,7 +8,7 @@ ## Version -`0.5.0`+`1.0.0` ## Description
Setup.hs view
@@ -1,2 +1,3 @@-import Distribution.Simple+import Distribution.Simple+ main = defaultMain
+ gen/Gogol/Billing.hs view
@@ -0,0 +1,264 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Allows developers to manage billing for their Google Cloud Platform projects programmatically.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference>+module Gogol.Billing+ ( -- * Configuration+ billingService,++ -- * OAuth Scopes+ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl,++ -- * Resources++ -- ** cloudbilling.billingAccounts.create+ CloudbillingBillingAccountsCreateResource,+ CloudbillingBillingAccountsCreate (..),+ newCloudbillingBillingAccountsCreate,++ -- ** cloudbilling.billingAccounts.get+ CloudbillingBillingAccountsGetResource,+ CloudbillingBillingAccountsGet (..),+ newCloudbillingBillingAccountsGet,++ -- ** cloudbilling.billingAccounts.getIamPolicy+ CloudbillingBillingAccountsGetIamPolicyResource,+ CloudbillingBillingAccountsGetIamPolicy (..),+ newCloudbillingBillingAccountsGetIamPolicy,++ -- ** cloudbilling.billingAccounts.list+ CloudbillingBillingAccountsListResource,+ CloudbillingBillingAccountsList (..),+ newCloudbillingBillingAccountsList,++ -- ** cloudbilling.billingAccounts.move+ CloudbillingBillingAccountsMoveResource,+ CloudbillingBillingAccountsMove (..),+ newCloudbillingBillingAccountsMove,++ -- ** cloudbilling.billingAccounts.patch+ CloudbillingBillingAccountsPatchResource,+ CloudbillingBillingAccountsPatch (..),+ newCloudbillingBillingAccountsPatch,++ -- ** cloudbilling.billingAccounts.projects.list+ CloudbillingBillingAccountsProjectsListResource,+ CloudbillingBillingAccountsProjectsList (..),+ newCloudbillingBillingAccountsProjectsList,++ -- ** cloudbilling.billingAccounts.setIamPolicy+ CloudbillingBillingAccountsSetIamPolicyResource,+ CloudbillingBillingAccountsSetIamPolicy (..),+ newCloudbillingBillingAccountsSetIamPolicy,++ -- ** cloudbilling.billingAccounts.subAccounts.create+ CloudbillingBillingAccountsSubAccountsCreateResource,+ CloudbillingBillingAccountsSubAccountsCreate (..),+ newCloudbillingBillingAccountsSubAccountsCreate,++ -- ** cloudbilling.billingAccounts.subAccounts.list+ CloudbillingBillingAccountsSubAccountsListResource,+ CloudbillingBillingAccountsSubAccountsList (..),+ newCloudbillingBillingAccountsSubAccountsList,++ -- ** cloudbilling.billingAccounts.testIamPermissions+ CloudbillingBillingAccountsTestIamPermissionsResource,+ CloudbillingBillingAccountsTestIamPermissions (..),+ newCloudbillingBillingAccountsTestIamPermissions,++ -- ** cloudbilling.organizations.billingAccounts.create+ CloudbillingOrganizationsBillingAccountsCreateResource,+ CloudbillingOrganizationsBillingAccountsCreate (..),+ newCloudbillingOrganizationsBillingAccountsCreate,++ -- ** cloudbilling.organizations.billingAccounts.list+ CloudbillingOrganizationsBillingAccountsListResource,+ CloudbillingOrganizationsBillingAccountsList (..),+ newCloudbillingOrganizationsBillingAccountsList,++ -- ** cloudbilling.organizations.billingAccounts.move+ CloudbillingOrganizationsBillingAccountsMoveResource,+ CloudbillingOrganizationsBillingAccountsMove (..),+ newCloudbillingOrganizationsBillingAccountsMove,++ -- ** cloudbilling.projects.getBillingInfo+ CloudbillingProjectsGetBillingInfoResource,+ CloudbillingProjectsGetBillingInfo (..),+ newCloudbillingProjectsGetBillingInfo,++ -- ** cloudbilling.projects.updateBillingInfo+ CloudbillingProjectsUpdateBillingInfoResource,+ CloudbillingProjectsUpdateBillingInfo (..),+ newCloudbillingProjectsUpdateBillingInfo,++ -- ** cloudbilling.services.list+ CloudbillingServicesListResource,+ CloudbillingServicesList (..),+ newCloudbillingServicesList,++ -- ** cloudbilling.services.skus.list+ CloudbillingServicesSkusListResource,+ CloudbillingServicesSkusList (..),+ newCloudbillingServicesSkusList,++ -- * Types++ -- ** Xgafv+ Xgafv (..),++ -- ** AggregationInfo+ AggregationInfo (..),+ newAggregationInfo,++ -- ** AggregationInfo_AggregationInterval+ AggregationInfo_AggregationInterval (..),++ -- ** AggregationInfo_AggregationLevel+ AggregationInfo_AggregationLevel (..),++ -- ** AuditConfig+ AuditConfig (..),+ newAuditConfig,++ -- ** AuditLogConfig+ AuditLogConfig (..),+ newAuditLogConfig,++ -- ** AuditLogConfig_LogType+ AuditLogConfig_LogType (..),++ -- ** BillingAccount+ BillingAccount (..),+ newBillingAccount,++ -- ** Binding+ Binding (..),+ newBinding,++ -- ** Category+ Category (..),+ newCategory,++ -- ** Expr+ Expr (..),+ newExpr,++ -- ** GeoTaxonomy+ GeoTaxonomy (..),+ newGeoTaxonomy,++ -- ** GeoTaxonomy_Type+ GeoTaxonomy_Type (..),++ -- ** ListBillingAccountsResponse+ ListBillingAccountsResponse (..),+ newListBillingAccountsResponse,++ -- ** ListProjectBillingInfoResponse+ ListProjectBillingInfoResponse (..),+ newListProjectBillingInfoResponse,++ -- ** ListServicesResponse+ ListServicesResponse (..),+ newListServicesResponse,++ -- ** ListSkusResponse+ ListSkusResponse (..),+ newListSkusResponse,++ -- ** Money+ Money (..),+ newMoney,++ -- ** MoveBillingAccountRequest+ MoveBillingAccountRequest (..),+ newMoveBillingAccountRequest,++ -- ** Policy+ Policy (..),+ newPolicy,++ -- ** PricingExpression+ PricingExpression (..),+ newPricingExpression,++ -- ** PricingInfo+ PricingInfo (..),+ newPricingInfo,++ -- ** ProjectBillingInfo+ ProjectBillingInfo (..),+ newProjectBillingInfo,++ -- ** Service+ Service (..),+ newService,++ -- ** SetIamPolicyRequest+ SetIamPolicyRequest (..),+ newSetIamPolicyRequest,++ -- ** Sku+ Sku (..),+ newSku,++ -- ** TestIamPermissionsRequest+ TestIamPermissionsRequest (..),+ newTestIamPermissionsRequest,++ -- ** TestIamPermissionsResponse+ TestIamPermissionsResponse (..),+ newTestIamPermissionsResponse,++ -- ** TierRate+ TierRate (..),+ newTierRate,+ )+where++import Gogol.Billing.Cloudbilling.BillingAccounts.Create+import Gogol.Billing.Cloudbilling.BillingAccounts.Get+import Gogol.Billing.Cloudbilling.BillingAccounts.GetIamPolicy+import Gogol.Billing.Cloudbilling.BillingAccounts.List+import Gogol.Billing.Cloudbilling.BillingAccounts.Move+import Gogol.Billing.Cloudbilling.BillingAccounts.Patch+import Gogol.Billing.Cloudbilling.BillingAccounts.Projects.List+import Gogol.Billing.Cloudbilling.BillingAccounts.SetIamPolicy+import Gogol.Billing.Cloudbilling.BillingAccounts.SubAccounts.Create+import Gogol.Billing.Cloudbilling.BillingAccounts.SubAccounts.List+import Gogol.Billing.Cloudbilling.BillingAccounts.TestIamPermissions+import Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.Create+import Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.List+import Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.Move+import Gogol.Billing.Cloudbilling.Projects.GetBillingInfo+import Gogol.Billing.Cloudbilling.Projects.UpdateBillingInfo+import Gogol.Billing.Cloudbilling.Services.List+import Gogol.Billing.Cloudbilling.Services.Skus.List+import Gogol.Billing.Types
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/Create.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.Create+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This method creates <https://cloud.google.com/billing/docs/concepts#subaccounts billing subaccounts>. Google Cloud resellers should use the Channel Services APIs, <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create accounts.customers.create> and <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create accounts.customers.entitlements.create>. When creating a subaccount, the current authenticated user must have the @billing.accounts.update@ IAM permission on the parent account, which is typically given to billing account <https://cloud.google.com/billing/docs/how-to/billing-access administrators>. This method will return an error if the parent account has not been provisioned for subaccounts.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.create@.+module Gogol.Billing.Cloudbilling.BillingAccounts.Create+ ( -- * Resource+ CloudbillingBillingAccountsCreateResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsCreate (..),+ newCloudbillingBillingAccountsCreate,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.create@ method which the+-- 'CloudbillingBillingAccountsCreate' request conforms to.+type CloudbillingBillingAccountsCreateResource =+ "v1"+ Core.:> "billingAccounts"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "parent" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] BillingAccount+ Core.:> Core.Post '[Core.JSON] BillingAccount++-- | This method creates <https://cloud.google.com/billing/docs/concepts#subaccounts billing subaccounts>. Google Cloud resellers should use the Channel Services APIs, <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create accounts.customers.create> and <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create accounts.customers.entitlements.create>. When creating a subaccount, the current authenticated user must have the @billing.accounts.update@ IAM permission on the parent account, which is typically given to billing account <https://cloud.google.com/billing/docs/how-to/billing-access administrators>. This method will return an error if the parent account has not been provisioned for subaccounts.+--+-- /See:/ 'newCloudbillingBillingAccountsCreate' smart constructor.+data CloudbillingBillingAccountsCreate = CloudbillingBillingAccountsCreate+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The parent to create a billing account from. Format: - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@+ parent :: (Core.Maybe Core.Text),+ -- | Multipart request metadata.+ payload :: BillingAccount,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsCreate' with the minimum fields required to make a request.+newCloudbillingBillingAccountsCreate ::+ -- | Multipart request metadata. See 'payload'.+ BillingAccount ->+ CloudbillingBillingAccountsCreate+newCloudbillingBillingAccountsCreate payload =+ CloudbillingBillingAccountsCreate+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ parent = Core.Nothing,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingBillingAccountsCreate where+ type Rs CloudbillingBillingAccountsCreate = BillingAccount+ type+ Scopes CloudbillingBillingAccountsCreate =+ '[CloudBilling'FullControl, CloudPlatform'FullControl]+ requestClient CloudbillingBillingAccountsCreate {..} =+ go+ xgafv+ accessToken+ callback+ parent+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingBillingAccountsCreateResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/Get.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.Get+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a billing account. The current authenticated user must be a <https://cloud.google.com/billing/docs/how-to/billing-access viewer of the billing account>.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.get@.+module Gogol.Billing.Cloudbilling.BillingAccounts.Get+ ( -- * Resource+ CloudbillingBillingAccountsGetResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsGet (..),+ newCloudbillingBillingAccountsGet,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.get@ method which the+-- 'CloudbillingBillingAccountsGet' request conforms to.+type CloudbillingBillingAccountsGetResource =+ "v1"+ Core.:> Core.Capture "name" Core.Text+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] BillingAccount++-- | Gets information about a billing account. The current authenticated user must be a <https://cloud.google.com/billing/docs/how-to/billing-access viewer of the billing account>.+--+-- /See:/ 'newCloudbillingBillingAccountsGet' smart constructor.+data CloudbillingBillingAccountsGet = CloudbillingBillingAccountsGet+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Required. The resource name of the billing account to retrieve. For example, @billingAccounts\/012345-567890-ABCDEF@.+ name :: Core.Text,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsGet' with the minimum fields required to make a request.+newCloudbillingBillingAccountsGet ::+ -- | Required. The resource name of the billing account to retrieve. For example, @billingAccounts\/012345-567890-ABCDEF@. See 'name'.+ Core.Text ->+ CloudbillingBillingAccountsGet+newCloudbillingBillingAccountsGet name =+ CloudbillingBillingAccountsGet+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ name = name,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingBillingAccountsGet where+ type Rs CloudbillingBillingAccountsGet = BillingAccount+ type+ Scopes CloudbillingBillingAccountsGet =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingBillingAccountsGet {..} =+ go+ name+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy CloudbillingBillingAccountsGetResource)+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/GetIamPolicy.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.GetIamPolicy+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.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 <https://cloud.google.com/billing/docs/how-to/billing-access viewers>.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.getIamPolicy@.+module Gogol.Billing.Cloudbilling.BillingAccounts.GetIamPolicy+ ( -- * Resource+ CloudbillingBillingAccountsGetIamPolicyResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsGetIamPolicy (..),+ newCloudbillingBillingAccountsGetIamPolicy,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.getIamPolicy@ method which the+-- 'CloudbillingBillingAccountsGetIamPolicy' request conforms to.+type CloudbillingBillingAccountsGetIamPolicyResource =+ "v1"+ Core.:> Core.CaptureMode "resource" "getIamPolicy" Core.Text+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "options.requestedPolicyVersion" Core.Int32+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.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 <https://cloud.google.com/billing/docs/how-to/billing-access viewers>.+--+-- /See:/ 'newCloudbillingBillingAccountsGetIamPolicy' smart constructor.+data CloudbillingBillingAccountsGetIamPolicy = CloudbillingBillingAccountsGetIamPolicy+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the <https://cloud.google.com/iam/help/conditions/resource-policies IAM documentation>.+ optionsRequestedPolicyVersion :: (Core.Maybe Core.Int32),+ -- | REQUIRED: The resource for which the policy is being requested. See <https://cloud.google.com/apis/design/resource_names Resource names> for the appropriate value for this field.+ resource :: Core.Text,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsGetIamPolicy' with the minimum fields required to make a request.+newCloudbillingBillingAccountsGetIamPolicy ::+ -- | REQUIRED: The resource for which the policy is being requested. See <https://cloud.google.com/apis/design/resource_names Resource names> for the appropriate value for this field. See 'resource'.+ Core.Text ->+ CloudbillingBillingAccountsGetIamPolicy+newCloudbillingBillingAccountsGetIamPolicy resource =+ CloudbillingBillingAccountsGetIamPolicy+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ optionsRequestedPolicyVersion = Core.Nothing,+ resource = resource,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingBillingAccountsGetIamPolicy where+ type Rs CloudbillingBillingAccountsGetIamPolicy = Policy+ type+ Scopes CloudbillingBillingAccountsGetIamPolicy =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingBillingAccountsGetIamPolicy {..} =+ go+ resource+ xgafv+ accessToken+ callback+ optionsRequestedPolicyVersion+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingBillingAccountsGetIamPolicyResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/List.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.List+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the billing accounts that the current authenticated user has permission to <https://cloud.google.com/billing/docs/how-to/billing-access view>.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.list@.+module Gogol.Billing.Cloudbilling.BillingAccounts.List+ ( -- * Resource+ CloudbillingBillingAccountsListResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsList (..),+ newCloudbillingBillingAccountsList,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.list@ method which the+-- 'CloudbillingBillingAccountsList' request conforms to.+type CloudbillingBillingAccountsListResource =+ "v1"+ Core.:> "billingAccounts"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "filter" Core.Text+ Core.:> Core.QueryParam "pageSize" Core.Int32+ Core.:> Core.QueryParam "pageToken" Core.Text+ Core.:> Core.QueryParam "parent" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] ListBillingAccountsResponse++-- | Lists the billing accounts that the current authenticated user has permission to <https://cloud.google.com/billing/docs/how-to/billing-access view>.+--+-- /See:/ 'newCloudbillingBillingAccountsList' smart constructor.+data CloudbillingBillingAccountsList = CloudbillingBillingAccountsList+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Options for how to filter the returned billing accounts. This only supports filtering for <https://cloud.google.com/billing/docs/concepts subaccounts> under a single provided parent billing account. (for example, @master_billing_account=billingAccounts\/012345-678901-ABCDEF@). Boolean algebra and other fields are not currently supported.+ filter :: (Core.Maybe Core.Text),+ -- | Requested page size. The maximum page size is 100; this is also the default.+ pageSize :: (Core.Maybe Core.Int32),+ -- | A token identifying a page of results to return. This should be a @next_page_token@ value returned from a previous @ListBillingAccounts@ call. If unspecified, the first page of results is returned.+ pageToken :: (Core.Maybe Core.Text),+ -- | Optional. The parent resource to list billing accounts from. Format: - @organizations\/{organization_id}@, for example, @organizations\/12345678@ - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@+ parent :: (Core.Maybe Core.Text),+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsList' with the minimum fields required to make a request.+newCloudbillingBillingAccountsList ::+ CloudbillingBillingAccountsList+newCloudbillingBillingAccountsList =+ CloudbillingBillingAccountsList+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ filter = Core.Nothing,+ pageSize = Core.Nothing,+ pageToken = Core.Nothing,+ parent = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingBillingAccountsList where+ type+ Rs CloudbillingBillingAccountsList =+ ListBillingAccountsResponse+ type+ Scopes CloudbillingBillingAccountsList =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingBillingAccountsList {..} =+ go+ xgafv+ accessToken+ callback+ filter+ pageSize+ pageToken+ parent+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy CloudbillingBillingAccountsListResource)+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/Move.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.Move+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes which parent organization a billing account belongs to.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.move@.+module Gogol.Billing.Cloudbilling.BillingAccounts.Move+ ( -- * Resource+ CloudbillingBillingAccountsMoveResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsMove (..),+ newCloudbillingBillingAccountsMove,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.move@ method which the+-- 'CloudbillingBillingAccountsMove' request conforms to.+type CloudbillingBillingAccountsMoveResource =+ "v1"+ Core.:> Core.CaptureMode "name" "move" Core.Text+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] MoveBillingAccountRequest+ Core.:> Core.Post '[Core.JSON] BillingAccount++-- | Changes which parent organization a billing account belongs to.+--+-- /See:/ 'newCloudbillingBillingAccountsMove' smart constructor.+data CloudbillingBillingAccountsMove = CloudbillingBillingAccountsMove+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Required. The resource name of the billing account to move. Must be of the form @billingAccounts\/{billing_account_id}@. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account.+ name :: Core.Text,+ -- | Multipart request metadata.+ payload :: MoveBillingAccountRequest,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsMove' with the minimum fields required to make a request.+newCloudbillingBillingAccountsMove ::+ -- | Required. The resource name of the billing account to move. Must be of the form @billingAccounts\/{billing_account_id}@. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account. See 'name'.+ Core.Text ->+ -- | Multipart request metadata. See 'payload'.+ MoveBillingAccountRequest ->+ CloudbillingBillingAccountsMove+newCloudbillingBillingAccountsMove name payload =+ CloudbillingBillingAccountsMove+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ name = name,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingBillingAccountsMove where+ type Rs CloudbillingBillingAccountsMove = BillingAccount+ type+ Scopes CloudbillingBillingAccountsMove =+ '[CloudBilling'FullControl, CloudPlatform'FullControl]+ requestClient CloudbillingBillingAccountsMove {..} =+ go+ name+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ billingService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy CloudbillingBillingAccountsMoveResource)+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/Patch.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.Patch+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.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 <https://cloud.google.com/billing/docs/how-to/billing-access administrator> of the billing account.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.patch@.+module Gogol.Billing.Cloudbilling.BillingAccounts.Patch+ ( -- * Resource+ CloudbillingBillingAccountsPatchResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsPatch (..),+ newCloudbillingBillingAccountsPatch,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.patch@ method which the+-- 'CloudbillingBillingAccountsPatch' request conforms to.+type CloudbillingBillingAccountsPatchResource =+ "v1"+ Core.:> Core.Capture "name" Core.Text+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "updateMask" Core.FieldMask+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] BillingAccount+ Core.:> Core.Patch '[Core.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 <https://cloud.google.com/billing/docs/how-to/billing-access administrator> of the billing account.+--+-- /See:/ 'newCloudbillingBillingAccountsPatch' smart constructor.+data CloudbillingBillingAccountsPatch = CloudbillingBillingAccountsPatch+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Required. The name of the billing account resource to be updated.+ name :: Core.Text,+ -- | Multipart request metadata.+ payload :: BillingAccount,+ -- | The update mask applied to the resource. Only \"display_name\" is currently supported.+ updateMask :: (Core.Maybe Core.FieldMask),+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsPatch' with the minimum fields required to make a request.+newCloudbillingBillingAccountsPatch ::+ -- | Required. The name of the billing account resource to be updated. See 'name'.+ Core.Text ->+ -- | Multipart request metadata. See 'payload'.+ BillingAccount ->+ CloudbillingBillingAccountsPatch+newCloudbillingBillingAccountsPatch name payload =+ CloudbillingBillingAccountsPatch+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ name = name,+ payload = payload,+ updateMask = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingBillingAccountsPatch where+ type Rs CloudbillingBillingAccountsPatch = BillingAccount+ type+ Scopes CloudbillingBillingAccountsPatch =+ '[CloudBilling'FullControl, CloudPlatform'FullControl]+ requestClient CloudbillingBillingAccountsPatch {..} =+ go+ name+ xgafv+ accessToken+ callback+ updateMask+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ billingService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy CloudbillingBillingAccountsPatchResource)+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/Projects/List.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.Projects.List+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the projects associated with a billing account. The current authenticated user must have the @billing.resourceAssociations.list@ IAM permission, which is often given to billing account <https://cloud.google.com/billing/docs/how-to/billing-access viewers>.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.projects.list@.+module Gogol.Billing.Cloudbilling.BillingAccounts.Projects.List+ ( -- * Resource+ CloudbillingBillingAccountsProjectsListResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsProjectsList (..),+ newCloudbillingBillingAccountsProjectsList,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.projects.list@ method which the+-- 'CloudbillingBillingAccountsProjectsList' request conforms to.+type CloudbillingBillingAccountsProjectsListResource =+ "v1"+ Core.:> Core.Capture "name" Core.Text+ Core.:> "projects"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "pageSize" Core.Int32+ Core.:> Core.QueryParam "pageToken" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] ListProjectBillingInfoResponse++-- | Lists the projects associated with a billing account. The current authenticated user must have the @billing.resourceAssociations.list@ IAM permission, which is often given to billing account <https://cloud.google.com/billing/docs/how-to/billing-access viewers>.+--+-- /See:/ 'newCloudbillingBillingAccountsProjectsList' smart constructor.+data CloudbillingBillingAccountsProjectsList = CloudbillingBillingAccountsProjectsList+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Required. The resource name of the billing account associated with the projects that you want to list. For example, @billingAccounts\/012345-567890-ABCDEF@.+ name :: Core.Text,+ -- | Requested page size. The maximum page size is 100; this is also the default.+ pageSize :: (Core.Maybe Core.Int32),+ -- | A token identifying a page of results to be returned. This should be a @next_page_token@ value returned from a previous @ListProjectBillingInfo@ call. If unspecified, the first page of results is returned.+ pageToken :: (Core.Maybe Core.Text),+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsProjectsList' with the minimum fields required to make a request.+newCloudbillingBillingAccountsProjectsList ::+ -- | Required. The resource name of the billing account associated with the projects that you want to list. For example, @billingAccounts\/012345-567890-ABCDEF@. See 'name'.+ Core.Text ->+ CloudbillingBillingAccountsProjectsList+newCloudbillingBillingAccountsProjectsList name =+ CloudbillingBillingAccountsProjectsList+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ name = name,+ pageSize = Core.Nothing,+ pageToken = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingBillingAccountsProjectsList where+ type+ Rs CloudbillingBillingAccountsProjectsList =+ ListProjectBillingInfoResponse+ type+ Scopes CloudbillingBillingAccountsProjectsList =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingBillingAccountsProjectsList {..} =+ go+ name+ xgafv+ accessToken+ callback+ pageSize+ pageToken+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingBillingAccountsProjectsListResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/SetIamPolicy.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.SetIamPolicy+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.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 <https://cloud.google.com/billing/docs/how-to/billing-access administrators>.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.setIamPolicy@.+module Gogol.Billing.Cloudbilling.BillingAccounts.SetIamPolicy+ ( -- * Resource+ CloudbillingBillingAccountsSetIamPolicyResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsSetIamPolicy (..),+ newCloudbillingBillingAccountsSetIamPolicy,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.setIamPolicy@ method which the+-- 'CloudbillingBillingAccountsSetIamPolicy' request conforms to.+type CloudbillingBillingAccountsSetIamPolicyResource =+ "v1"+ Core.:> Core.CaptureMode "resource" "setIamPolicy" Core.Text+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] SetIamPolicyRequest+ Core.:> Core.Post '[Core.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 <https://cloud.google.com/billing/docs/how-to/billing-access administrators>.+--+-- /See:/ 'newCloudbillingBillingAccountsSetIamPolicy' smart constructor.+data CloudbillingBillingAccountsSetIamPolicy = CloudbillingBillingAccountsSetIamPolicy+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Multipart request metadata.+ payload :: SetIamPolicyRequest,+ -- | REQUIRED: The resource for which the policy is being specified. See <https://cloud.google.com/apis/design/resource_names Resource names> for the appropriate value for this field.+ resource :: Core.Text,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsSetIamPolicy' with the minimum fields required to make a request.+newCloudbillingBillingAccountsSetIamPolicy ::+ -- | Multipart request metadata. See 'payload'.+ SetIamPolicyRequest ->+ -- | REQUIRED: The resource for which the policy is being specified. See <https://cloud.google.com/apis/design/resource_names Resource names> for the appropriate value for this field. See 'resource'.+ Core.Text ->+ CloudbillingBillingAccountsSetIamPolicy+newCloudbillingBillingAccountsSetIamPolicy payload resource =+ CloudbillingBillingAccountsSetIamPolicy+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ payload = payload,+ resource = resource,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingBillingAccountsSetIamPolicy where+ type Rs CloudbillingBillingAccountsSetIamPolicy = Policy+ type+ Scopes CloudbillingBillingAccountsSetIamPolicy =+ '[CloudBilling'FullControl, CloudPlatform'FullControl]+ requestClient CloudbillingBillingAccountsSetIamPolicy {..} =+ go+ resource+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingBillingAccountsSetIamPolicyResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/SubAccounts/Create.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.SubAccounts.Create+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This method creates <https://cloud.google.com/billing/docs/concepts#subaccounts billing subaccounts>. Google Cloud resellers should use the Channel Services APIs, <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create accounts.customers.create> and <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create accounts.customers.entitlements.create>. When creating a subaccount, the current authenticated user must have the @billing.accounts.update@ IAM permission on the parent account, which is typically given to billing account <https://cloud.google.com/billing/docs/how-to/billing-access administrators>. This method will return an error if the parent account has not been provisioned for subaccounts.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.subAccounts.create@.+module Gogol.Billing.Cloudbilling.BillingAccounts.SubAccounts.Create+ ( -- * Resource+ CloudbillingBillingAccountsSubAccountsCreateResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsSubAccountsCreate (..),+ newCloudbillingBillingAccountsSubAccountsCreate,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.subAccounts.create@ method which the+-- 'CloudbillingBillingAccountsSubAccountsCreate' request conforms to.+type CloudbillingBillingAccountsSubAccountsCreateResource =+ "v1"+ Core.:> Core.Capture "parent" Core.Text+ Core.:> "subAccounts"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] BillingAccount+ Core.:> Core.Post '[Core.JSON] BillingAccount++-- | This method creates <https://cloud.google.com/billing/docs/concepts#subaccounts billing subaccounts>. Google Cloud resellers should use the Channel Services APIs, <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create accounts.customers.create> and <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create accounts.customers.entitlements.create>. When creating a subaccount, the current authenticated user must have the @billing.accounts.update@ IAM permission on the parent account, which is typically given to billing account <https://cloud.google.com/billing/docs/how-to/billing-access administrators>. This method will return an error if the parent account has not been provisioned for subaccounts.+--+-- /See:/ 'newCloudbillingBillingAccountsSubAccountsCreate' smart constructor.+data CloudbillingBillingAccountsSubAccountsCreate = CloudbillingBillingAccountsSubAccountsCreate+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The parent to create a billing account from. Format: - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@+ parent :: Core.Text,+ -- | Multipart request metadata.+ payload :: BillingAccount,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsSubAccountsCreate' with the minimum fields required to make a request.+newCloudbillingBillingAccountsSubAccountsCreate ::+ -- | Optional. The parent to create a billing account from. Format: - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@ See 'parent'.+ Core.Text ->+ -- | Multipart request metadata. See 'payload'.+ BillingAccount ->+ CloudbillingBillingAccountsSubAccountsCreate+newCloudbillingBillingAccountsSubAccountsCreate parent payload =+ CloudbillingBillingAccountsSubAccountsCreate+ { xgafv =+ Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ parent = parent,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance+ Core.GoogleRequest+ CloudbillingBillingAccountsSubAccountsCreate+ where+ type+ Rs CloudbillingBillingAccountsSubAccountsCreate =+ BillingAccount+ type+ Scopes CloudbillingBillingAccountsSubAccountsCreate =+ '[CloudBilling'FullControl, CloudPlatform'FullControl]+ requestClient CloudbillingBillingAccountsSubAccountsCreate {..} =+ go+ parent+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingBillingAccountsSubAccountsCreateResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/SubAccounts/List.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.SubAccounts.List+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the billing accounts that the current authenticated user has permission to <https://cloud.google.com/billing/docs/how-to/billing-access view>.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.subAccounts.list@.+module Gogol.Billing.Cloudbilling.BillingAccounts.SubAccounts.List+ ( -- * Resource+ CloudbillingBillingAccountsSubAccountsListResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsSubAccountsList (..),+ newCloudbillingBillingAccountsSubAccountsList,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.subAccounts.list@ method which the+-- 'CloudbillingBillingAccountsSubAccountsList' request conforms to.+type CloudbillingBillingAccountsSubAccountsListResource =+ "v1"+ Core.:> Core.Capture "parent" Core.Text+ Core.:> "subAccounts"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "filter" Core.Text+ Core.:> Core.QueryParam "pageSize" Core.Int32+ Core.:> Core.QueryParam "pageToken" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] ListBillingAccountsResponse++-- | Lists the billing accounts that the current authenticated user has permission to <https://cloud.google.com/billing/docs/how-to/billing-access view>.+--+-- /See:/ 'newCloudbillingBillingAccountsSubAccountsList' smart constructor.+data CloudbillingBillingAccountsSubAccountsList = CloudbillingBillingAccountsSubAccountsList+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Options for how to filter the returned billing accounts. This only supports filtering for <https://cloud.google.com/billing/docs/concepts subaccounts> under a single provided parent billing account. (for example, @master_billing_account=billingAccounts\/012345-678901-ABCDEF@). Boolean algebra and other fields are not currently supported.+ filter :: (Core.Maybe Core.Text),+ -- | Requested page size. The maximum page size is 100; this is also the default.+ pageSize :: (Core.Maybe Core.Int32),+ -- | A token identifying a page of results to return. This should be a @next_page_token@ value returned from a previous @ListBillingAccounts@ call. If unspecified, the first page of results is returned.+ pageToken :: (Core.Maybe Core.Text),+ -- | Optional. The parent resource to list billing accounts from. Format: - @organizations\/{organization_id}@, for example, @organizations\/12345678@ - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@+ parent :: Core.Text,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsSubAccountsList' with the minimum fields required to make a request.+newCloudbillingBillingAccountsSubAccountsList ::+ -- | Optional. The parent resource to list billing accounts from. Format: - @organizations\/{organization_id}@, for example, @organizations\/12345678@ - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@ See 'parent'.+ Core.Text ->+ CloudbillingBillingAccountsSubAccountsList+newCloudbillingBillingAccountsSubAccountsList parent =+ CloudbillingBillingAccountsSubAccountsList+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ filter = Core.Nothing,+ pageSize = Core.Nothing,+ pageToken = Core.Nothing,+ parent = parent,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance+ Core.GoogleRequest+ CloudbillingBillingAccountsSubAccountsList+ where+ type+ Rs CloudbillingBillingAccountsSubAccountsList =+ ListBillingAccountsResponse+ type+ Scopes CloudbillingBillingAccountsSubAccountsList =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingBillingAccountsSubAccountsList {..} =+ go+ parent+ xgafv+ accessToken+ callback+ filter+ pageSize+ pageToken+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingBillingAccountsSubAccountsListResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/BillingAccounts/TestIamPermissions.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.BillingAccounts.TestIamPermissions+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.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/docs/apis Cloud Billing API Reference> for @cloudbilling.billingAccounts.testIamPermissions@.+module Gogol.Billing.Cloudbilling.BillingAccounts.TestIamPermissions+ ( -- * Resource+ CloudbillingBillingAccountsTestIamPermissionsResource,++ -- ** Constructing a Request+ CloudbillingBillingAccountsTestIamPermissions (..),+ newCloudbillingBillingAccountsTestIamPermissions,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.billingAccounts.testIamPermissions@ method which the+-- 'CloudbillingBillingAccountsTestIamPermissions' request conforms to.+type CloudbillingBillingAccountsTestIamPermissionsResource =+ "v1"+ Core.:> Core.CaptureMode "resource" "testIamPermissions" Core.Text+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] TestIamPermissionsRequest+ Core.:> Core.Post '[Core.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:/ 'newCloudbillingBillingAccountsTestIamPermissions' smart constructor.+data CloudbillingBillingAccountsTestIamPermissions = CloudbillingBillingAccountsTestIamPermissions+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Multipart request metadata.+ payload :: TestIamPermissionsRequest,+ -- | REQUIRED: The resource for which the policy detail is being requested. See <https://cloud.google.com/apis/design/resource_names Resource names> for the appropriate value for this field.+ resource :: Core.Text,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingBillingAccountsTestIamPermissions' with the minimum fields required to make a request.+newCloudbillingBillingAccountsTestIamPermissions ::+ -- | Multipart request metadata. See 'payload'.+ TestIamPermissionsRequest ->+ -- | REQUIRED: The resource for which the policy detail is being requested. See <https://cloud.google.com/apis/design/resource_names Resource names> for the appropriate value for this field. See 'resource'.+ Core.Text ->+ CloudbillingBillingAccountsTestIamPermissions+newCloudbillingBillingAccountsTestIamPermissions payload resource =+ CloudbillingBillingAccountsTestIamPermissions+ { xgafv =+ Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ payload = payload,+ resource = resource,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance+ Core.GoogleRequest+ CloudbillingBillingAccountsTestIamPermissions+ where+ type+ Rs CloudbillingBillingAccountsTestIamPermissions =+ TestIamPermissionsResponse+ type+ Scopes CloudbillingBillingAccountsTestIamPermissions =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingBillingAccountsTestIamPermissions {..} =+ go+ resource+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingBillingAccountsTestIamPermissionsResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/Organizations/BillingAccounts/Create.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.Create+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This method creates <https://cloud.google.com/billing/docs/concepts#subaccounts billing subaccounts>. Google Cloud resellers should use the Channel Services APIs, <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create accounts.customers.create> and <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create accounts.customers.entitlements.create>. When creating a subaccount, the current authenticated user must have the @billing.accounts.update@ IAM permission on the parent account, which is typically given to billing account <https://cloud.google.com/billing/docs/how-to/billing-access administrators>. This method will return an error if the parent account has not been provisioned for subaccounts.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.organizations.billingAccounts.create@.+module Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.Create+ ( -- * Resource+ CloudbillingOrganizationsBillingAccountsCreateResource,++ -- ** Constructing a Request+ CloudbillingOrganizationsBillingAccountsCreate (..),+ newCloudbillingOrganizationsBillingAccountsCreate,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.organizations.billingAccounts.create@ method which the+-- 'CloudbillingOrganizationsBillingAccountsCreate' request conforms to.+type CloudbillingOrganizationsBillingAccountsCreateResource =+ "v1"+ Core.:> Core.Capture "parent" Core.Text+ Core.:> "billingAccounts"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] BillingAccount+ Core.:> Core.Post '[Core.JSON] BillingAccount++-- | This method creates <https://cloud.google.com/billing/docs/concepts#subaccounts billing subaccounts>. Google Cloud resellers should use the Channel Services APIs, <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create accounts.customers.create> and <https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create accounts.customers.entitlements.create>. When creating a subaccount, the current authenticated user must have the @billing.accounts.update@ IAM permission on the parent account, which is typically given to billing account <https://cloud.google.com/billing/docs/how-to/billing-access administrators>. This method will return an error if the parent account has not been provisioned for subaccounts.+--+-- /See:/ 'newCloudbillingOrganizationsBillingAccountsCreate' smart constructor.+data CloudbillingOrganizationsBillingAccountsCreate = CloudbillingOrganizationsBillingAccountsCreate+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Optional. The parent to create a billing account from. Format: - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@+ parent :: Core.Text,+ -- | Multipart request metadata.+ payload :: BillingAccount,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingOrganizationsBillingAccountsCreate' with the minimum fields required to make a request.+newCloudbillingOrganizationsBillingAccountsCreate ::+ -- | Optional. The parent to create a billing account from. Format: - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@ See 'parent'.+ Core.Text ->+ -- | Multipart request metadata. See 'payload'.+ BillingAccount ->+ CloudbillingOrganizationsBillingAccountsCreate+newCloudbillingOrganizationsBillingAccountsCreate parent payload =+ CloudbillingOrganizationsBillingAccountsCreate+ { xgafv =+ Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ parent = parent,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance+ Core.GoogleRequest+ CloudbillingOrganizationsBillingAccountsCreate+ where+ type+ Rs CloudbillingOrganizationsBillingAccountsCreate =+ BillingAccount+ type+ Scopes CloudbillingOrganizationsBillingAccountsCreate =+ '[CloudBilling'FullControl, CloudPlatform'FullControl]+ requestClient CloudbillingOrganizationsBillingAccountsCreate {..} =+ go+ parent+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingOrganizationsBillingAccountsCreateResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/Organizations/BillingAccounts/List.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.List+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the billing accounts that the current authenticated user has permission to <https://cloud.google.com/billing/docs/how-to/billing-access view>.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.organizations.billingAccounts.list@.+module Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.List+ ( -- * Resource+ CloudbillingOrganizationsBillingAccountsListResource,++ -- ** Constructing a Request+ CloudbillingOrganizationsBillingAccountsList (..),+ newCloudbillingOrganizationsBillingAccountsList,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.organizations.billingAccounts.list@ method which the+-- 'CloudbillingOrganizationsBillingAccountsList' request conforms to.+type CloudbillingOrganizationsBillingAccountsListResource =+ "v1"+ Core.:> Core.Capture "parent" Core.Text+ Core.:> "billingAccounts"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "filter" Core.Text+ Core.:> Core.QueryParam "pageSize" Core.Int32+ Core.:> Core.QueryParam "pageToken" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] ListBillingAccountsResponse++-- | Lists the billing accounts that the current authenticated user has permission to <https://cloud.google.com/billing/docs/how-to/billing-access view>.+--+-- /See:/ 'newCloudbillingOrganizationsBillingAccountsList' smart constructor.+data CloudbillingOrganizationsBillingAccountsList = CloudbillingOrganizationsBillingAccountsList+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Options for how to filter the returned billing accounts. This only supports filtering for <https://cloud.google.com/billing/docs/concepts subaccounts> under a single provided parent billing account. (for example, @master_billing_account=billingAccounts\/012345-678901-ABCDEF@). Boolean algebra and other fields are not currently supported.+ filter :: (Core.Maybe Core.Text),+ -- | Requested page size. The maximum page size is 100; this is also the default.+ pageSize :: (Core.Maybe Core.Int32),+ -- | A token identifying a page of results to return. This should be a @next_page_token@ value returned from a previous @ListBillingAccounts@ call. If unspecified, the first page of results is returned.+ pageToken :: (Core.Maybe Core.Text),+ -- | Optional. The parent resource to list billing accounts from. Format: - @organizations\/{organization_id}@, for example, @organizations\/12345678@ - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@+ parent :: Core.Text,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingOrganizationsBillingAccountsList' with the minimum fields required to make a request.+newCloudbillingOrganizationsBillingAccountsList ::+ -- | Optional. The parent resource to list billing accounts from. Format: - @organizations\/{organization_id}@, for example, @organizations\/12345678@ - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@ See 'parent'.+ Core.Text ->+ CloudbillingOrganizationsBillingAccountsList+newCloudbillingOrganizationsBillingAccountsList parent =+ CloudbillingOrganizationsBillingAccountsList+ { xgafv =+ Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ filter = Core.Nothing,+ pageSize = Core.Nothing,+ pageToken = Core.Nothing,+ parent = parent,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance+ Core.GoogleRequest+ CloudbillingOrganizationsBillingAccountsList+ where+ type+ Rs CloudbillingOrganizationsBillingAccountsList =+ ListBillingAccountsResponse+ type+ Scopes CloudbillingOrganizationsBillingAccountsList =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingOrganizationsBillingAccountsList {..} =+ go+ parent+ xgafv+ accessToken+ callback+ filter+ pageSize+ pageToken+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingOrganizationsBillingAccountsListResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/Organizations/BillingAccounts/Move.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.Move+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes which parent organization a billing account belongs to.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.organizations.billingAccounts.move@.+module Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.Move+ ( -- * Resource+ CloudbillingOrganizationsBillingAccountsMoveResource,++ -- ** Constructing a Request+ CloudbillingOrganizationsBillingAccountsMove (..),+ newCloudbillingOrganizationsBillingAccountsMove,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.organizations.billingAccounts.move@ method which the+-- 'CloudbillingOrganizationsBillingAccountsMove' request conforms to.+type CloudbillingOrganizationsBillingAccountsMoveResource =+ "v1"+ Core.:> Core.Capture "destinationParent" Core.Text+ Core.:> Core.CaptureMode "name" "move" Core.Text+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] BillingAccount++-- | Changes which parent organization a billing account belongs to.+--+-- /See:/ 'newCloudbillingOrganizationsBillingAccountsMove' smart constructor.+data CloudbillingOrganizationsBillingAccountsMove = CloudbillingOrganizationsBillingAccountsMove+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Required. The resource name of the Organization to move the billing account under. Must be of the form @organizations\/{organization_id}@.+ destinationParent :: Core.Text,+ -- | Required. The resource name of the billing account to move. Must be of the form @billingAccounts\/{billing_account_id}@. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account.+ name :: Core.Text,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingOrganizationsBillingAccountsMove' with the minimum fields required to make a request.+newCloudbillingOrganizationsBillingAccountsMove ::+ -- | Required. The resource name of the Organization to move the billing account under. Must be of the form @organizations\/{organization_id}@. See 'destinationParent'.+ Core.Text ->+ -- | Required. The resource name of the billing account to move. Must be of the form @billingAccounts\/{billing_account_id}@. The specified billing account cannot be a subaccount, since a subaccount always belongs to the same organization as its parent account. See 'name'.+ Core.Text ->+ CloudbillingOrganizationsBillingAccountsMove+newCloudbillingOrganizationsBillingAccountsMove+ destinationParent+ name =+ CloudbillingOrganizationsBillingAccountsMove+ { xgafv =+ Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ destinationParent = destinationParent,+ name = name,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance+ Core.GoogleRequest+ CloudbillingOrganizationsBillingAccountsMove+ where+ type+ Rs CloudbillingOrganizationsBillingAccountsMove =+ BillingAccount+ type+ Scopes CloudbillingOrganizationsBillingAccountsMove =+ '[CloudBilling'FullControl, CloudPlatform'FullControl]+ requestClient CloudbillingOrganizationsBillingAccountsMove {..} =+ go+ destinationParent+ name+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingOrganizationsBillingAccountsMoveResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/Projects/GetBillingInfo.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.Projects.GetBillingInfo+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the billing information for a project. The current authenticated user must have the @resourcemanager.projects.get@ permission for the project, which can be granted by assigning the <https://cloud.google.com/iam/docs/understanding-roles#predefined_roles Project Viewer> role.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.projects.getBillingInfo@.+module Gogol.Billing.Cloudbilling.Projects.GetBillingInfo+ ( -- * Resource+ CloudbillingProjectsGetBillingInfoResource,++ -- ** Constructing a Request+ CloudbillingProjectsGetBillingInfo (..),+ newCloudbillingProjectsGetBillingInfo,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.projects.getBillingInfo@ method which the+-- 'CloudbillingProjectsGetBillingInfo' request conforms to.+type CloudbillingProjectsGetBillingInfoResource =+ "v1"+ Core.:> Core.Capture "name" Core.Text+ Core.:> "billingInfo"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] ProjectBillingInfo++-- | Gets the billing information for a project. The current authenticated user must have the @resourcemanager.projects.get@ permission for the project, which can be granted by assigning the <https://cloud.google.com/iam/docs/understanding-roles#predefined_roles Project Viewer> role.+--+-- /See:/ 'newCloudbillingProjectsGetBillingInfo' smart constructor.+data CloudbillingProjectsGetBillingInfo = CloudbillingProjectsGetBillingInfo+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Required. The resource name of the project for which billing information is retrieved. For example, @projects\/tokyo-rain-123@.+ name :: Core.Text,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingProjectsGetBillingInfo' with the minimum fields required to make a request.+newCloudbillingProjectsGetBillingInfo ::+ -- | Required. The resource name of the project for which billing information is retrieved. For example, @projects\/tokyo-rain-123@. See 'name'.+ Core.Text ->+ CloudbillingProjectsGetBillingInfo+newCloudbillingProjectsGetBillingInfo name =+ CloudbillingProjectsGetBillingInfo+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ name = name,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingProjectsGetBillingInfo where+ type Rs CloudbillingProjectsGetBillingInfo = ProjectBillingInfo+ type+ Scopes CloudbillingProjectsGetBillingInfo =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingProjectsGetBillingInfo {..} =+ go+ name+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingProjectsGetBillingInfoResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/Projects/UpdateBillingInfo.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.Projects.UpdateBillingInfo+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets or updates the billing account associated with a project. You specify the new billing account by setting the @billing_account_name@ in the @ProjectBillingInfo@ resource to the resource name of a billing account. Associating a project with an open billing account enables 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 Cloud 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 <https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo project> and the <https://cloud.google.com/billing/docs/how-to/billing-access billing account>. 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/docs/apis Cloud Billing API Reference> for @cloudbilling.projects.updateBillingInfo@.+module Gogol.Billing.Cloudbilling.Projects.UpdateBillingInfo+ ( -- * Resource+ CloudbillingProjectsUpdateBillingInfoResource,++ -- ** Constructing a Request+ CloudbillingProjectsUpdateBillingInfo (..),+ newCloudbillingProjectsUpdateBillingInfo,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.projects.updateBillingInfo@ method which the+-- 'CloudbillingProjectsUpdateBillingInfo' request conforms to.+type CloudbillingProjectsUpdateBillingInfoResource =+ "v1"+ Core.:> Core.Capture "name" Core.Text+ Core.:> "billingInfo"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.ReqBody '[Core.JSON] ProjectBillingInfo+ Core.:> Core.Put '[Core.JSON] ProjectBillingInfo++-- | Sets or updates the billing account associated with a project. You specify the new billing account by setting the @billing_account_name@ in the @ProjectBillingInfo@ resource to the resource name of a billing account. Associating a project with an open billing account enables 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 Cloud 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 <https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo project> and the <https://cloud.google.com/billing/docs/how-to/billing-access billing account>. 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:/ 'newCloudbillingProjectsUpdateBillingInfo' smart constructor.+data CloudbillingProjectsUpdateBillingInfo = CloudbillingProjectsUpdateBillingInfo+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Required. The resource name of the project associated with the billing information that you want to update. For example, @projects\/tokyo-rain-123@.+ name :: Core.Text,+ -- | Multipart request metadata.+ payload :: ProjectBillingInfo,+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingProjectsUpdateBillingInfo' with the minimum fields required to make a request.+newCloudbillingProjectsUpdateBillingInfo ::+ -- | Required. The resource name of the project associated with the billing information that you want to update. For example, @projects\/tokyo-rain-123@. See 'name'.+ Core.Text ->+ -- | Multipart request metadata. See 'payload'.+ ProjectBillingInfo ->+ CloudbillingProjectsUpdateBillingInfo+newCloudbillingProjectsUpdateBillingInfo name payload =+ CloudbillingProjectsUpdateBillingInfo+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ name = name,+ payload = payload,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingProjectsUpdateBillingInfo where+ type Rs CloudbillingProjectsUpdateBillingInfo = ProjectBillingInfo+ type+ Scopes CloudbillingProjectsUpdateBillingInfo =+ '[CloudBilling'FullControl, CloudPlatform'FullControl]+ requestClient CloudbillingProjectsUpdateBillingInfo {..} =+ go+ name+ xgafv+ accessToken+ callback+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ payload+ billingService+ where+ go =+ Core.buildClient+ ( Core.Proxy ::+ Core.Proxy CloudbillingProjectsUpdateBillingInfoResource+ )+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/Services/List.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.Services.List+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all public cloud services.+--+-- /See:/ <https://cloud.google.com/billing/docs/apis Cloud Billing API Reference> for @cloudbilling.services.list@.+module Gogol.Billing.Cloudbilling.Services.List+ ( -- * Resource+ CloudbillingServicesListResource,++ -- ** Constructing a Request+ CloudbillingServicesList (..),+ newCloudbillingServicesList,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.services.list@ method which the+-- 'CloudbillingServicesList' request conforms to.+type CloudbillingServicesListResource =+ "v1"+ Core.:> "services"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "pageSize" Core.Int32+ Core.:> Core.QueryParam "pageToken" Core.Text+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] ListServicesResponse++-- | Lists all public cloud services.+--+-- /See:/ 'newCloudbillingServicesList' smart constructor.+data CloudbillingServicesList = CloudbillingServicesList+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | Requested page size. Defaults to 5000.+ pageSize :: (Core.Maybe Core.Int32),+ -- | 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.+ pageToken :: (Core.Maybe Core.Text),+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingServicesList' with the minimum fields required to make a request.+newCloudbillingServicesList ::+ CloudbillingServicesList+newCloudbillingServicesList =+ CloudbillingServicesList+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ pageSize = Core.Nothing,+ pageToken = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingServicesList where+ type Rs CloudbillingServicesList = ListServicesResponse+ type+ Scopes CloudbillingServicesList =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingServicesList {..} =+ go+ xgafv+ accessToken+ callback+ pageSize+ pageToken+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy CloudbillingServicesListResource)+ Core.mempty
+ gen/Gogol/Billing/Cloudbilling/Services/Skus/List.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Cloudbilling.Services.Skus.List+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.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/docs/apis Cloud Billing API Reference> for @cloudbilling.services.skus.list@.+module Gogol.Billing.Cloudbilling.Services.Skus.List+ ( -- * Resource+ CloudbillingServicesSkusListResource,++ -- ** Constructing a Request+ CloudbillingServicesSkusList (..),+ newCloudbillingServicesSkusList,+ )+where++import Gogol.Billing.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudbilling.services.skus.list@ method which the+-- 'CloudbillingServicesSkusList' request conforms to.+type CloudbillingServicesSkusListResource =+ "v1"+ Core.:> Core.Capture "parent" Core.Text+ Core.:> "skus"+ Core.:> Core.QueryParam "$.xgafv" Xgafv+ Core.:> Core.QueryParam "access_token" Core.Text+ Core.:> Core.QueryParam "callback" Core.Text+ Core.:> Core.QueryParam "currencyCode" Core.Text+ Core.:> Core.QueryParam "endTime" Core.DateTime+ Core.:> Core.QueryParam "pageSize" Core.Int32+ Core.:> Core.QueryParam "pageToken" Core.Text+ Core.:> Core.QueryParam "startTime" Core.DateTime+ Core.:> Core.QueryParam "uploadType" Core.Text+ Core.:> Core.QueryParam "upload_protocol" Core.Text+ Core.:> Core.QueryParam "alt" Core.AltJSON+ Core.:> Core.Get '[Core.JSON] ListSkusResponse++-- | Lists all publicly available SKUs for a given cloud service.+--+-- /See:/ 'newCloudbillingServicesSkusList' smart constructor.+data CloudbillingServicesSkusList = CloudbillingServicesSkusList+ { -- | V1 error format.+ xgafv :: (Core.Maybe Xgafv),+ -- | OAuth access token.+ accessToken :: (Core.Maybe Core.Text),+ -- | JSONP+ callback :: (Core.Maybe Core.Text),+ -- | 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.+ currencyCode :: (Core.Maybe Core.Text),+ -- | 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).+ endTime :: (Core.Maybe Core.DateTime),+ -- | Requested page size. Defaults to 5000.+ pageSize :: (Core.Maybe Core.Int32),+ -- | 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.+ pageToken :: (Core.Maybe Core.Text),+ -- | Required. The name of the service. Example: \"services\/6F81-5844-456A\"+ parent :: Core.Text,+ -- | 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).+ startTime :: (Core.Maybe Core.DateTime),+ -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ uploadType :: (Core.Maybe Core.Text),+ -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ uploadProtocol :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudbillingServicesSkusList' with the minimum fields required to make a request.+newCloudbillingServicesSkusList ::+ -- | Required. The name of the service. Example: \"services\/6F81-5844-456A\" See 'parent'.+ Core.Text ->+ CloudbillingServicesSkusList+newCloudbillingServicesSkusList parent =+ CloudbillingServicesSkusList+ { xgafv = Core.Nothing,+ accessToken = Core.Nothing,+ callback = Core.Nothing,+ currencyCode = Core.Nothing,+ endTime = Core.Nothing,+ pageSize = Core.Nothing,+ pageToken = Core.Nothing,+ parent = parent,+ startTime = Core.Nothing,+ uploadType = Core.Nothing,+ uploadProtocol = Core.Nothing+ }++instance Core.GoogleRequest CloudbillingServicesSkusList where+ type Rs CloudbillingServicesSkusList = ListSkusResponse+ type+ Scopes CloudbillingServicesSkusList =+ '[ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl+ ]+ requestClient CloudbillingServicesSkusList {..} =+ go+ parent+ xgafv+ accessToken+ callback+ currencyCode+ endTime+ pageSize+ pageToken+ startTime+ uploadType+ uploadProtocol+ (Core.Just Core.AltJSON)+ billingService+ where+ go =+ Core.buildClient+ (Core.Proxy :: Core.Proxy CloudbillingServicesSkusListResource)+ Core.mempty
+ gen/Gogol/Billing/Internal/Product.hs view
@@ -0,0 +1,1192 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Internal.Product+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.Billing.Internal.Product+ ( -- * AggregationInfo+ AggregationInfo (..),+ newAggregationInfo,++ -- * AuditConfig+ AuditConfig (..),+ newAuditConfig,++ -- * AuditLogConfig+ AuditLogConfig (..),+ newAuditLogConfig,++ -- * BillingAccount+ BillingAccount (..),+ newBillingAccount,++ -- * Binding+ Binding (..),+ newBinding,++ -- * Category+ Category (..),+ newCategory,++ -- * Expr+ Expr (..),+ newExpr,++ -- * GeoTaxonomy+ GeoTaxonomy (..),+ newGeoTaxonomy,++ -- * ListBillingAccountsResponse+ ListBillingAccountsResponse (..),+ newListBillingAccountsResponse,++ -- * ListProjectBillingInfoResponse+ ListProjectBillingInfoResponse (..),+ newListProjectBillingInfoResponse,++ -- * ListServicesResponse+ ListServicesResponse (..),+ newListServicesResponse,++ -- * ListSkusResponse+ ListSkusResponse (..),+ newListSkusResponse,++ -- * Money+ Money (..),+ newMoney,++ -- * MoveBillingAccountRequest+ MoveBillingAccountRequest (..),+ newMoveBillingAccountRequest,++ -- * Policy+ Policy (..),+ newPolicy,++ -- * PricingExpression+ PricingExpression (..),+ newPricingExpression,++ -- * PricingInfo+ PricingInfo (..),+ newPricingInfo,++ -- * ProjectBillingInfo+ ProjectBillingInfo (..),+ newProjectBillingInfo,++ -- * Service+ Service (..),+ newService,++ -- * SetIamPolicyRequest+ SetIamPolicyRequest (..),+ newSetIamPolicyRequest,++ -- * Sku+ Sku (..),+ newSku,++ -- * TestIamPermissionsRequest+ TestIamPermissionsRequest (..),+ newTestIamPermissionsRequest,++ -- * TestIamPermissionsResponse+ TestIamPermissionsResponse (..),+ newTestIamPermissionsResponse,++ -- * TierRate+ TierRate (..),+ newTierRate,+ )+where++import Gogol.Billing.Internal.Sum+import Gogol.Prelude qualified as Core++-- | Represents the aggregation level and interval for pricing of a single SKU.+--+-- /See:/ 'newAggregationInfo' smart constructor.+data AggregationInfo = AggregationInfo+ { -- | The number of intervals to aggregate over. Example: If aggregation/level is \"DAILY\" and aggregation/count is 14, aggregation will be over 14 days.+ aggregationCount :: (Core.Maybe Core.Int32),+ aggregationInterval :: (Core.Maybe AggregationInfo_AggregationInterval),+ aggregationLevel :: (Core.Maybe AggregationInfo_AggregationLevel)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AggregationInfo' with the minimum fields required to make a request.+newAggregationInfo ::+ AggregationInfo+newAggregationInfo =+ AggregationInfo+ { aggregationCount = Core.Nothing,+ aggregationInterval = Core.Nothing,+ aggregationLevel = Core.Nothing+ }++instance Core.FromJSON AggregationInfo where+ parseJSON =+ Core.withObject+ "AggregationInfo"+ ( \o ->+ AggregationInfo+ Core.<$> (o Core..:? "aggregationCount")+ Core.<*> (o Core..:? "aggregationInterval")+ Core.<*> (o Core..:? "aggregationLevel")+ )++instance Core.ToJSON AggregationInfo where+ toJSON AggregationInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("aggregationCount" Core..=) Core.<$> aggregationCount,+ ("aggregationInterval" Core..=) Core.<$> aggregationInterval,+ ("aggregationLevel" Core..=) Core.<$> aggregationLevel+ ]+ )++-- | 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:jose\@example.com\" ] }, { \"log/type\": \"DATA/WRITE\" }, { \"log/type\": \"ADMIN/READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit/log/configs\": [ { \"log/type\": \"DATA/READ\" }, { \"log/type\": \"DATA/WRITE\", \"exempted/members\": [ \"user:aliya\@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA/READ, DATA/WRITE and+-- ADMIN/READ logging. It also exempts @jose\@example.com@ from DATA/READ logging, and @aliya\@example.com@ from DATA/WRITE logging.+--+-- /See:/ 'newAuditConfig' smart constructor.+data AuditConfig = AuditConfig+ { -- | The configuration for logging of each type of permission.+ auditLogConfigs :: (Core.Maybe [AuditLogConfig]),+ -- | 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.+ service :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AuditConfig' with the minimum fields required to make a request.+newAuditConfig ::+ AuditConfig+newAuditConfig =+ AuditConfig+ { auditLogConfigs = Core.Nothing,+ service = Core.Nothing+ }++instance Core.FromJSON AuditConfig where+ parseJSON =+ Core.withObject+ "AuditConfig"+ ( \o ->+ AuditConfig+ Core.<$> (o Core..:? "auditLogConfigs")+ Core.<*> (o Core..:? "service")+ )++instance Core.ToJSON AuditConfig where+ toJSON AuditConfig {..} =+ Core.object+ ( Core.catMaybes+ [ ("auditLogConfigs" Core..=) Core.<$> auditLogConfigs,+ ("service" Core..=) Core.<$> service+ ]+ )++-- | Provides the configuration for logging a type of permissions. Example: { \"audit/log/configs\": [ { \"log/type\": \"DATA/READ\", \"exempted/members\": [ \"user:jose\@example.com\" ] }, { \"log/type\": \"DATA/WRITE\" } ] } This enables \'DATA/READ\' and \'DATA/WRITE\' logging, while exempting jose\@example.com from DATA/READ logging.+--+-- /See:/ 'newAuditLogConfig' smart constructor.+data AuditLogConfig = AuditLogConfig+ { -- | Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.+ exemptedMembers :: (Core.Maybe [Core.Text]),+ -- | The log type that this config enables.+ logType :: (Core.Maybe AuditLogConfig_LogType)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AuditLogConfig' with the minimum fields required to make a request.+newAuditLogConfig ::+ AuditLogConfig+newAuditLogConfig =+ AuditLogConfig+ { exemptedMembers = Core.Nothing,+ logType = Core.Nothing+ }++instance Core.FromJSON AuditLogConfig where+ parseJSON =+ Core.withObject+ "AuditLogConfig"+ ( \o ->+ AuditLogConfig+ Core.<$> (o Core..:? "exemptedMembers")+ Core.<*> (o Core..:? "logType")+ )++instance Core.ToJSON AuditLogConfig where+ toJSON AuditLogConfig {..} =+ Core.object+ ( Core.catMaybes+ [ ("exemptedMembers" Core..=) Core.<$> exemptedMembers,+ ("logType" Core..=) Core.<$> logType+ ]+ )++-- | A billing account in the <https://console.cloud.google.com/ Google Cloud Console>. You can assign a billing account to one or more projects.+--+-- /See:/ 'newBillingAccount' smart constructor.+data BillingAccount = BillingAccount+ { -- | Optional. The currency in which the billing account is billed and charged, represented as an ISO 4217 code such as @USD@. Billing account currency is determined at the time of billing account creation and cannot be updated subsequently, so this field should not be set on update requests. In addition, a subaccount always matches the currency of its parent billing account, so this field should not be set on subaccount creation requests. Clients can read this field to determine the currency of an existing billing account.+ currencyCode :: (Core.Maybe Core.Text),+ -- | The display name given to the billing account, such as @My Billing Account@. This name is displayed in the Google Cloud Console.+ displayName :: (Core.Maybe Core.Text),+ -- | If this account is a <https://cloud.google.com/billing/docs/concepts subaccount>, then this will be the resource name of the parent billing account that it is being resold through. Otherwise this will be empty.+ masterBillingAccount :: (Core.Maybe Core.Text),+ -- | Output only. 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@.+ name :: (Core.Maybe Core.Text),+ -- | Output only. 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 are unable to use paid services.+ open :: (Core.Maybe Core.Bool),+ -- | Output only. The billing account\'s parent resource identifier. Use the @MoveBillingAccount@ method to update the account\'s parent resource if it is a organization. Format: - @organizations\/{organization_id}@, for example, @organizations\/12345678@ - @billingAccounts\/{billing_account_id}@, for example, @billingAccounts\/012345-567890-ABCDEF@+ parent :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'BillingAccount' with the minimum fields required to make a request.+newBillingAccount ::+ BillingAccount+newBillingAccount =+ BillingAccount+ { currencyCode = Core.Nothing,+ displayName = Core.Nothing,+ masterBillingAccount = Core.Nothing,+ name = Core.Nothing,+ open = Core.Nothing,+ parent = Core.Nothing+ }++instance Core.FromJSON BillingAccount where+ parseJSON =+ Core.withObject+ "BillingAccount"+ ( \o ->+ BillingAccount+ Core.<$> (o Core..:? "currencyCode")+ Core.<*> (o Core..:? "displayName")+ Core.<*> (o Core..:? "masterBillingAccount")+ Core.<*> (o Core..:? "name")+ Core.<*> (o Core..:? "open")+ Core.<*> (o Core..:? "parent")+ )++instance Core.ToJSON BillingAccount where+ toJSON BillingAccount {..} =+ Core.object+ ( Core.catMaybes+ [ ("currencyCode" Core..=) Core.<$> currencyCode,+ ("displayName" Core..=) Core.<$> displayName,+ ("masterBillingAccount" Core..=) Core.<$> masterBillingAccount,+ ("name" Core..=) Core.<$> name,+ ("open" Core..=) Core.<$> open,+ ("parent" Core..=) Core.<$> parent+ ]+ )++-- | Associates @members@, or principals, with a @role@.+--+-- /See:/ 'newBinding' smart constructor.+data Binding = Binding+ { -- | The condition that is associated with this binding. If the condition evaluates to @true@, then this binding applies to the current request. If the condition evaluates to @false@, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the <https://cloud.google.com/iam/help/conditions/resource-policies IAM documentation>.+ condition :: (Core.Maybe Expr),+ -- | Specifies the principals requesting access for a Google Cloud 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * @user:{emailid}@: An email address that represents a specific Google account. For example, @alice\@example.com@ . * @serviceAccount:{emailid}@: An email address that represents a Google service account. For example, @my-other-app\@appspot.gserviceaccount.com@. * @serviceAccount:{projectid}.svc.id.goog[{namespace}\/{kubernetes-sa}]@: An identifier for a <https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts Kubernetes service account>. For example, @my-project.svc.id.goog[my-namespace\/my-kubernetes-sa]@. *+ -- @group:{emailid}@: An email address that represents a Google group. For example, @admins\@example.com@. * @domain:{domain}@: The G Suite domain (primary) that represents all the users of that domain. For example, @google.com@ or @example.com@. * @principal:\/\/iam.googleapis.com\/locations\/global\/workforcePools\/{pool_id}\/subject\/{subject_attribute_value}@: A single identity in a workforce identity pool. * @principalSet:\/\/iam.googleapis.com\/locations\/global\/workforcePools\/{pool_id}\/group\/{group_id}@: All workforce identities in a group. * @principalSet:\/\/iam.googleapis.com\/locations\/global\/workforcePools\/{pool_id}\/attribute.{attribute_name}\/{attribute_value}@: All workforce identities with a specific attribute value. * @principalSet:\/\/iam.googleapis.com\/locations\/global\/workforcePools\/{pool_id}\/*@: All identities in a workforce identity pool. *+ -- @principal:\/\/iam.googleapis.com\/projects\/{project_number}\/locations\/global\/workloadIdentityPools\/{pool_id}\/subject\/{subject_attribute_value}@: A single identity in a workload identity pool. * @principalSet:\/\/iam.googleapis.com\/projects\/{project_number}\/locations\/global\/workloadIdentityPools\/{pool_id}\/group\/{group_id}@: A workload identity pool group. * @principalSet:\/\/iam.googleapis.com\/projects\/{project_number}\/locations\/global\/workloadIdentityPools\/{pool_id}\/attribute.{attribute_name}\/{attribute_value}@: All identities in a workload identity pool with a certain attribute. * @principalSet:\/\/iam.googleapis.com\/projects\/{project_number}\/locations\/global\/workloadIdentityPools\/{pool_id}\/*@: All identities in a workload identity pool. * @deleted:user:{emailid}?uid={uniqueid}@: An email address (plus unique identifier) representing a user that has been recently deleted. For example, @alice\@example.com?uid=123456789012345678901@. If the user is recovered, this value reverts+ -- to @user:{emailid}@ and the recovered user retains the role in the binding. * @deleted:serviceAccount:{emailid}?uid={uniqueid}@: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, @my-other-app\@appspot.gserviceaccount.com?uid=123456789012345678901@. If the service account is undeleted, this value reverts to @serviceAccount:{emailid}@ and the undeleted service account retains the role in the binding. * @deleted:group:{emailid}?uid={uniqueid}@: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, @admins\@example.com?uid=123456789012345678901@. If the group is recovered, this value reverts to @group:{emailid}@ and the recovered group retains the role in the binding. * @deleted:principal:\/\/iam.googleapis.com\/locations\/global\/workforcePools\/{pool_id}\/subject\/{subject_attribute_value}@: Deleted single identity in a workforce identity pool. For example,+ -- @deleted:principal:\/\/iam.googleapis.com\/locations\/global\/workforcePools\/my-pool-id\/subject\/my-subject-attribute-value@.+ members :: (Core.Maybe [Core.Text]),+ -- | Role that is assigned to the list of @members@, or principals. For example, @roles\/viewer@, @roles\/editor@, or @roles\/owner@. For an overview of the IAM roles and permissions, see the <https://cloud.google.com/iam/docs/roles-overview IAM documentation>. For a list of the available pre-defined roles, see <https://cloud.google.com/iam/docs/understanding-roles here>.+ role' :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Binding' with the minimum fields required to make a request.+newBinding ::+ Binding+newBinding =+ Binding+ { condition = Core.Nothing,+ members = Core.Nothing,+ role' = Core.Nothing+ }++instance Core.FromJSON Binding where+ parseJSON =+ Core.withObject+ "Binding"+ ( \o ->+ Binding+ Core.<$> (o Core..:? "condition")+ Core.<*> (o Core..:? "members")+ Core.<*> (o Core..:? "role")+ )++instance Core.ToJSON Binding where+ toJSON Binding {..} =+ Core.object+ ( Core.catMaybes+ [ ("condition" Core..=) Core.<$> condition,+ ("members" Core..=) Core.<$> members,+ ("role" Core..=) Core.<$> role'+ ]+ )++-- | Represents the category hierarchy of a SKU.+--+-- /See:/ 'newCategory' smart constructor.+data Category = Category+ { -- | The type of product the SKU refers to. Example: \"Compute\", \"Storage\", \"Network\", \"ApplicationServices\" etc.+ resourceFamily :: (Core.Maybe Core.Text),+ -- | A group classification for related SKUs. Example: \"RAM\", \"GPU\", \"Prediction\", \"Ops\", \"GoogleEgress\" etc.+ resourceGroup :: (Core.Maybe Core.Text),+ -- | The display name of the service this SKU belongs to.+ serviceDisplayName :: (Core.Maybe Core.Text),+ -- | Represents how the SKU is consumed. Example: \"OnDemand\", \"Preemptible\", \"Commit1Mo\", \"Commit1Yr\" etc.+ usageType :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Category' with the minimum fields required to make a request.+newCategory ::+ Category+newCategory =+ Category+ { resourceFamily = Core.Nothing,+ resourceGroup = Core.Nothing,+ serviceDisplayName = Core.Nothing,+ usageType = Core.Nothing+ }++instance Core.FromJSON Category where+ parseJSON =+ Core.withObject+ "Category"+ ( \o ->+ Category+ Core.<$> (o Core..:? "resourceFamily")+ Core.<*> (o Core..:? "resourceGroup")+ Core.<*> (o Core..:? "serviceDisplayName")+ Core.<*> (o Core..:? "usageType")+ )++instance Core.ToJSON Category where+ toJSON Category {..} =+ Core.object+ ( Core.catMaybes+ [ ("resourceFamily" Core..=) Core.<$> resourceFamily,+ ("resourceGroup" Core..=) Core.<$> resourceGroup,+ ("serviceDisplayName" Core..=) Core.<$> serviceDisplayName,+ ("usageType" Core..=) Core.<$> usageType+ ]+ )++-- | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https:\/\/github.com\/google\/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \< 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != \'private\' && document.type != \'internal\'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"\'New message received at \' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are+-- determined by the service that evaluates it. See the service documentation for additional information.+--+-- /See:/ 'newExpr' smart constructor.+data Expr = Expr+ { -- | Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.+ description :: (Core.Maybe Core.Text),+ -- | Textual representation of an expression in Common Expression Language syntax.+ expression :: (Core.Maybe Core.Text),+ -- | Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.+ location :: (Core.Maybe Core.Text),+ -- | 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.+ title :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Expr' with the minimum fields required to make a request.+newExpr ::+ Expr+newExpr =+ Expr+ { description = Core.Nothing,+ expression = Core.Nothing,+ location = Core.Nothing,+ title = Core.Nothing+ }++instance Core.FromJSON Expr where+ parseJSON =+ Core.withObject+ "Expr"+ ( \o ->+ Expr+ Core.<$> (o Core..:? "description")+ Core.<*> (o Core..:? "expression")+ Core.<*> (o Core..:? "location")+ Core.<*> (o Core..:? "title")+ )++instance Core.ToJSON Expr where+ toJSON Expr {..} =+ Core.object+ ( Core.catMaybes+ [ ("description" Core..=) Core.<$> description,+ ("expression" Core..=) Core.<$> expression,+ ("location" Core..=) Core.<$> location,+ ("title" Core..=) Core.<$> title+ ]+ )++-- | Encapsulates the geographic taxonomy data for a sku.+--+-- /See:/ 'newGeoTaxonomy' smart constructor.+data GeoTaxonomy = GeoTaxonomy+ { -- | The list of regions associated with a sku. Empty for Global skus, which are associated with all Google Cloud regions.+ regions :: (Core.Maybe [Core.Text]),+ -- | The type of Geo Taxonomy: GLOBAL, REGIONAL, or MULTI_REGIONAL.+ type' :: (Core.Maybe GeoTaxonomy_Type)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GeoTaxonomy' with the minimum fields required to make a request.+newGeoTaxonomy ::+ GeoTaxonomy+newGeoTaxonomy =+ GeoTaxonomy {regions = Core.Nothing, type' = Core.Nothing}++instance Core.FromJSON GeoTaxonomy where+ parseJSON =+ Core.withObject+ "GeoTaxonomy"+ ( \o ->+ GeoTaxonomy+ Core.<$> (o Core..:? "regions")+ Core.<*> (o Core..:? "type")+ )++instance Core.ToJSON GeoTaxonomy where+ toJSON GeoTaxonomy {..} =+ Core.object+ ( Core.catMaybes+ [ ("regions" Core..=) Core.<$> regions,+ ("type" Core..=) Core.<$> type'+ ]+ )++-- | Response message for @ListBillingAccounts@.+--+-- /See:/ 'newListBillingAccountsResponse' smart constructor.+data ListBillingAccountsResponse = ListBillingAccountsResponse+ { -- | A list of billing accounts.+ billingAccounts :: (Core.Maybe [BillingAccount]),+ -- | 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.+ nextPageToken :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListBillingAccountsResponse' with the minimum fields required to make a request.+newListBillingAccountsResponse ::+ ListBillingAccountsResponse+newListBillingAccountsResponse =+ ListBillingAccountsResponse+ { billingAccounts = Core.Nothing,+ nextPageToken = Core.Nothing+ }++instance Core.FromJSON ListBillingAccountsResponse where+ parseJSON =+ Core.withObject+ "ListBillingAccountsResponse"+ ( \o ->+ ListBillingAccountsResponse+ Core.<$> (o Core..:? "billingAccounts")+ Core.<*> (o Core..:? "nextPageToken")+ )++instance Core.ToJSON ListBillingAccountsResponse where+ toJSON ListBillingAccountsResponse {..} =+ Core.object+ ( Core.catMaybes+ [ ("billingAccounts" Core..=) Core.<$> billingAccounts,+ ("nextPageToken" Core..=) Core.<$> nextPageToken+ ]+ )++-- | Request message for @ListProjectBillingInfoResponse@.+--+-- /See:/ 'newListProjectBillingInfoResponse' smart constructor.+data ListProjectBillingInfoResponse = ListProjectBillingInfoResponse+ { -- | 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.+ nextPageToken :: (Core.Maybe Core.Text),+ -- | A list of @ProjectBillingInfo@ resources representing the projects associated with the billing account.+ projectBillingInfo :: (Core.Maybe [ProjectBillingInfo])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListProjectBillingInfoResponse' with the minimum fields required to make a request.+newListProjectBillingInfoResponse ::+ ListProjectBillingInfoResponse+newListProjectBillingInfoResponse =+ ListProjectBillingInfoResponse+ { nextPageToken = Core.Nothing,+ projectBillingInfo = Core.Nothing+ }++instance Core.FromJSON ListProjectBillingInfoResponse where+ parseJSON =+ Core.withObject+ "ListProjectBillingInfoResponse"+ ( \o ->+ ListProjectBillingInfoResponse+ Core.<$> (o Core..:? "nextPageToken")+ Core.<*> (o Core..:? "projectBillingInfo")+ )++instance Core.ToJSON ListProjectBillingInfoResponse where+ toJSON ListProjectBillingInfoResponse {..} =+ Core.object+ ( Core.catMaybes+ [ ("nextPageToken" Core..=) Core.<$> nextPageToken,+ ("projectBillingInfo" Core..=) Core.<$> projectBillingInfo+ ]+ )++-- | Response message for @ListServices@.+--+-- /See:/ 'newListServicesResponse' smart constructor.+data ListServicesResponse = ListServicesResponse+ { -- | 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.+ nextPageToken :: (Core.Maybe Core.Text),+ -- | A list of services.+ services :: (Core.Maybe [Service])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListServicesResponse' with the minimum fields required to make a request.+newListServicesResponse ::+ ListServicesResponse+newListServicesResponse =+ ListServicesResponse+ { nextPageToken = Core.Nothing,+ services = Core.Nothing+ }++instance Core.FromJSON ListServicesResponse where+ parseJSON =+ Core.withObject+ "ListServicesResponse"+ ( \o ->+ ListServicesResponse+ Core.<$> (o Core..:? "nextPageToken")+ Core.<*> (o Core..:? "services")+ )++instance Core.ToJSON ListServicesResponse where+ toJSON ListServicesResponse {..} =+ Core.object+ ( Core.catMaybes+ [ ("nextPageToken" Core..=) Core.<$> nextPageToken,+ ("services" Core..=) Core.<$> services+ ]+ )++-- | Response message for @ListSkus@.+--+-- /See:/ 'newListSkusResponse' smart constructor.+data ListSkusResponse = ListSkusResponse+ { -- | 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.+ nextPageToken :: (Core.Maybe Core.Text),+ -- | The list of public SKUs of the given service.+ skus :: (Core.Maybe [Sku])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListSkusResponse' with the minimum fields required to make a request.+newListSkusResponse ::+ ListSkusResponse+newListSkusResponse =+ ListSkusResponse+ { nextPageToken = Core.Nothing,+ skus = Core.Nothing+ }++instance Core.FromJSON ListSkusResponse where+ parseJSON =+ Core.withObject+ "ListSkusResponse"+ ( \o ->+ ListSkusResponse+ Core.<$> (o Core..:? "nextPageToken")+ Core.<*> (o Core..:? "skus")+ )++instance Core.ToJSON ListSkusResponse where+ toJSON ListSkusResponse {..} =+ Core.object+ ( Core.catMaybes+ [ ("nextPageToken" Core..=) Core.<$> nextPageToken,+ ("skus" Core..=) Core.<$> skus+ ]+ )++-- | Represents an amount of money with its currency type.+--+-- /See:/ 'newMoney' smart constructor.+data Money = Money+ { -- | The three-letter currency code defined in ISO 4217.+ currencyCode :: (Core.Maybe Core.Text),+ -- | 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.+ nanos :: (Core.Maybe Core.Int32),+ -- | The whole units of the amount. For example if @currencyCode@ is @\"USD\"@, then 1 unit is one US dollar.+ units :: (Core.Maybe Core.Int64)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Money' with the minimum fields required to make a request.+newMoney ::+ Money+newMoney =+ Money+ { currencyCode = Core.Nothing,+ nanos = Core.Nothing,+ units = Core.Nothing+ }++instance Core.FromJSON Money where+ parseJSON =+ Core.withObject+ "Money"+ ( \o ->+ Money+ Core.<$> (o Core..:? "currencyCode")+ Core.<*> (o Core..:? "nanos")+ Core.<*> (o Core..:? "units" Core.<&> Core.fmap Core.fromAsText)+ )++instance Core.ToJSON Money where+ toJSON Money {..} =+ Core.object+ ( Core.catMaybes+ [ ("currencyCode" Core..=) Core.<$> currencyCode,+ ("nanos" Core..=) Core.<$> nanos,+ ("units" Core..=) Core.. Core.AsText Core.<$> units+ ]+ )++-- | Request message for @MoveBillingAccount@ RPC.+--+-- /See:/ 'newMoveBillingAccountRequest' smart constructor.+newtype MoveBillingAccountRequest = MoveBillingAccountRequest+ { -- | Required. The resource name of the Organization to move the billing account under. Must be of the form @organizations\/{organization_id}@.+ destinationParent :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MoveBillingAccountRequest' with the minimum fields required to make a request.+newMoveBillingAccountRequest ::+ MoveBillingAccountRequest+newMoveBillingAccountRequest =+ MoveBillingAccountRequest {destinationParent = Core.Nothing}++instance Core.FromJSON MoveBillingAccountRequest where+ parseJSON =+ Core.withObject+ "MoveBillingAccountRequest"+ ( \o ->+ MoveBillingAccountRequest+ Core.<$> (o Core..:? "destinationParent")+ )++instance Core.ToJSON MoveBillingAccountRequest where+ toJSON MoveBillingAccountRequest {..} =+ Core.object+ ( Core.catMaybes+ [("destinationParent" Core..=) Core.<$> destinationParent]+ )++-- | An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A @Policy@ is a collection of @bindings@. A @binding@ binds one or more @members@, or principals, to a single @role@. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A @role@ is a named list of permissions; each @role@ can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a @binding@ can also specify a @condition@, which is a logical expression that allows access to a resource only if the expression evaluates to @true@. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the <https://cloud.google.com/iam/help/conditions/resource-policies IAM documentation>. __JSON example:__+-- @{ \"bindings\": [ { \"role\": \"roles\/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike\@example.com\", \"group:admins\@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id\@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles\/resourcemanager.organizationViewer\", \"members\": [ \"user:eve\@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \< timestamp(\'2020-10-01T00:00:00.000Z\')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 }@ __YAML example:__+-- @bindings: - members: - user:mike\@example.com - group:admins\@example.com - domain:google.com - serviceAccount:my-project-id\@appspot.gserviceaccount.com role: roles\/resourcemanager.organizationAdmin - members: - user:eve\@example.com role: roles\/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \< timestamp(\'2020-10-01T00:00:00.000Z\') etag: BwWWja0YfJA= version: 3@ For a description of IAM and its features, see the <https://cloud.google.com/iam/docs/ IAM documentation>.+--+-- /See:/ 'newPolicy' smart constructor.+data Policy = Policy+ { -- | Specifies cloud audit logging configuration for this policy.+ auditConfigs :: (Core.Maybe [AuditConfig]),+ -- | Associates a list of @members@, or principals, with a @role@. Optionally, may specify a @condition@ that determines how and when the @bindings@ are applied. Each of the @bindings@ must contain at least one principal. The @bindings@ in a @Policy@ can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the @bindings@ grant 50 different roles to @user:alice\@example.com@, and not to any other principal, then you can add another 1,450 principals to the @bindings@ in the @Policy@.+ bindings :: (Core.Maybe [Binding]),+ -- | @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. __Important:__ If you use IAM Conditions, you must include the @etag@ field whenever you call @setIamPolicy@. If you omit this field, then IAM allows you to overwrite a version @3@ policy with a version @1@ policy, and all of the conditions in the version @3@ policy are lost.+ etag :: (Core.Maybe Core.Base64),+ -- | Specifies the format of the policy. Valid values are @0@, @1@, and @3@. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version @3@. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions __Important:__ If you use IAM Conditions, you must include the @etag@ field whenever you call @setIamPolicy@. If you omit this field, then IAM allows you to overwrite a version @3@ policy with a version @1@ policy, and all of the conditions in the version @3@ policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the+ -- <https://cloud.google.com/iam/help/conditions/resource-policies IAM documentation>.+ version :: (Core.Maybe Core.Int32)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Policy' with the minimum fields required to make a request.+newPolicy ::+ Policy+newPolicy =+ Policy+ { auditConfigs = Core.Nothing,+ bindings = Core.Nothing,+ etag = Core.Nothing,+ version = Core.Nothing+ }++instance Core.FromJSON Policy where+ parseJSON =+ Core.withObject+ "Policy"+ ( \o ->+ Policy+ Core.<$> (o Core..:? "auditConfigs")+ Core.<*> (o Core..:? "bindings")+ Core.<*> (o Core..:? "etag")+ Core.<*> (o Core..:? "version")+ )++instance Core.ToJSON Policy where+ toJSON Policy {..} =+ Core.object+ ( Core.catMaybes+ [ ("auditConfigs" Core..=) Core.<$> auditConfigs,+ ("bindings" Core..=) Core.<$> bindings,+ ("etag" Core..=) Core.<$> etag,+ ("version" Core..=) Core.<$> version+ ]+ )++-- | 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:/ 'newPricingExpression' smart constructor.+data PricingExpression = PricingExpression+ { -- | The base unit for the SKU which is the unit used in usage exports. Example: \"By\"+ baseUnit :: (Core.Maybe Core.Text),+ -- | 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.+ baseUnitConversionFactor :: (Core.Maybe Core.Double),+ -- | The base unit in human readable form. Example: \"byte\".+ baseUnitDescription :: (Core.Maybe Core.Text),+ -- | 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\"+ displayQuantity :: (Core.Maybe Core.Double),+ -- | 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.+ tieredRates :: (Core.Maybe [TierRate]),+ -- | 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\".+ usageUnit :: (Core.Maybe Core.Text),+ -- | The unit of usage in human readable form. Example: \"gibi byte\".+ usageUnitDescription :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PricingExpression' with the minimum fields required to make a request.+newPricingExpression ::+ PricingExpression+newPricingExpression =+ PricingExpression+ { baseUnit = Core.Nothing,+ baseUnitConversionFactor = Core.Nothing,+ baseUnitDescription = Core.Nothing,+ displayQuantity = Core.Nothing,+ tieredRates = Core.Nothing,+ usageUnit = Core.Nothing,+ usageUnitDescription = Core.Nothing+ }++instance Core.FromJSON PricingExpression where+ parseJSON =+ Core.withObject+ "PricingExpression"+ ( \o ->+ PricingExpression+ Core.<$> (o Core..:? "baseUnit")+ Core.<*> (o Core..:? "baseUnitConversionFactor")+ Core.<*> (o Core..:? "baseUnitDescription")+ Core.<*> (o Core..:? "displayQuantity")+ Core.<*> (o Core..:? "tieredRates")+ Core.<*> (o Core..:? "usageUnit")+ Core.<*> (o Core..:? "usageUnitDescription")+ )++instance Core.ToJSON PricingExpression where+ toJSON PricingExpression {..} =+ Core.object+ ( Core.catMaybes+ [ ("baseUnit" Core..=) Core.<$> baseUnit,+ ("baseUnitConversionFactor" Core..=)+ Core.<$> baseUnitConversionFactor,+ ("baseUnitDescription" Core..=) Core.<$> baseUnitDescription,+ ("displayQuantity" Core..=) Core.<$> displayQuantity,+ ("tieredRates" Core..=) Core.<$> tieredRates,+ ("usageUnit" Core..=) Core.<$> usageUnit,+ ("usageUnitDescription" Core..=) Core.<$> usageUnitDescription+ ]+ )++-- | Represents the pricing information for a SKU at a single point of time.+--+-- /See:/ 'newPricingInfo' smart constructor.+data PricingInfo = PricingInfo+ { -- | Aggregation Info. This can be left unspecified if the pricing expression doesn\'t require aggregation.+ aggregationInfo :: (Core.Maybe AggregationInfo),+ -- | 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+ currencyConversionRate :: (Core.Maybe Core.Double),+ -- | 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.+ effectiveTime :: (Core.Maybe Core.DateTime),+ -- | Expresses the pricing formula. See @PricingExpression@ for an example.+ pricingExpression :: (Core.Maybe PricingExpression),+ -- | An optional human readable summary of the pricing information, has a maximum length of 256 characters.+ summary :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PricingInfo' with the minimum fields required to make a request.+newPricingInfo ::+ PricingInfo+newPricingInfo =+ PricingInfo+ { aggregationInfo = Core.Nothing,+ currencyConversionRate = Core.Nothing,+ effectiveTime = Core.Nothing,+ pricingExpression = Core.Nothing,+ summary = Core.Nothing+ }++instance Core.FromJSON PricingInfo where+ parseJSON =+ Core.withObject+ "PricingInfo"+ ( \o ->+ PricingInfo+ Core.<$> (o Core..:? "aggregationInfo")+ Core.<*> (o Core..:? "currencyConversionRate")+ Core.<*> (o Core..:? "effectiveTime")+ Core.<*> (o Core..:? "pricingExpression")+ Core.<*> (o Core..:? "summary")+ )++instance Core.ToJSON PricingInfo where+ toJSON PricingInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("aggregationInfo" Core..=) Core.<$> aggregationInfo,+ ("currencyConversionRate" Core..=) Core.<$> currencyConversionRate,+ ("effectiveTime" Core..=) Core.<$> effectiveTime,+ ("pricingExpression" Core..=) Core.<$> pricingExpression,+ ("summary" Core..=) Core.<$> summary+ ]+ )++-- | Encapsulation of billing information for a Google Cloud 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:/ 'newProjectBillingInfo' smart constructor.+data ProjectBillingInfo = ProjectBillingInfo+ { -- | The resource name of the billing account associated with the project, if any. For example, @billingAccounts\/012345-567890-ABCDEF@.+ billingAccountName :: (Core.Maybe Core.Text),+ -- | Output only. 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.+ billingEnabled :: (Core.Maybe Core.Bool),+ -- | Output only. 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@.+ name :: (Core.Maybe Core.Text),+ -- | Output only. 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.+ projectId :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ProjectBillingInfo' with the minimum fields required to make a request.+newProjectBillingInfo ::+ ProjectBillingInfo+newProjectBillingInfo =+ ProjectBillingInfo+ { billingAccountName = Core.Nothing,+ billingEnabled = Core.Nothing,+ name = Core.Nothing,+ projectId = Core.Nothing+ }++instance Core.FromJSON ProjectBillingInfo where+ parseJSON =+ Core.withObject+ "ProjectBillingInfo"+ ( \o ->+ ProjectBillingInfo+ Core.<$> (o Core..:? "billingAccountName")+ Core.<*> (o Core..:? "billingEnabled")+ Core.<*> (o Core..:? "name")+ Core.<*> (o Core..:? "projectId")+ )++instance Core.ToJSON ProjectBillingInfo where+ toJSON ProjectBillingInfo {..} =+ Core.object+ ( Core.catMaybes+ [ ("billingAccountName" Core..=) Core.<$> billingAccountName,+ ("billingEnabled" Core..=) Core.<$> billingEnabled,+ ("name" Core..=) Core.<$> name,+ ("projectId" Core..=) Core.<$> projectId+ ]+ )++-- | Encapsulates a single service in Google Cloud Platform.+--+-- /See:/ 'newService' smart constructor.+data Service = Service+ { -- | The business under which the service is offered. Ex. \"businessEntities\/GCP\", \"businessEntities\/Maps\"+ businessEntityName :: (Core.Maybe Core.Text),+ -- | A human readable display name for this service.+ displayName :: (Core.Maybe Core.Text),+ -- | The resource name for the service. Example: \"services\/6F81-5844-456A\"+ name :: (Core.Maybe Core.Text),+ -- | The identifier for the service. Example: \"6F81-5844-456A\"+ serviceId :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Service' with the minimum fields required to make a request.+newService ::+ Service+newService =+ Service+ { businessEntityName = Core.Nothing,+ displayName = Core.Nothing,+ name = Core.Nothing,+ serviceId = Core.Nothing+ }++instance Core.FromJSON Service where+ parseJSON =+ Core.withObject+ "Service"+ ( \o ->+ Service+ Core.<$> (o Core..:? "businessEntityName")+ Core.<*> (o Core..:? "displayName")+ Core.<*> (o Core..:? "name")+ Core.<*> (o Core..:? "serviceId")+ )++instance Core.ToJSON Service where+ toJSON Service {..} =+ Core.object+ ( Core.catMaybes+ [ ("businessEntityName" Core..=) Core.<$> businessEntityName,+ ("displayName" Core..=) Core.<$> displayName,+ ("name" Core..=) Core.<$> name,+ ("serviceId" Core..=) Core.<$> serviceId+ ]+ )++-- | Request message for @SetIamPolicy@ method.+--+-- /See:/ 'newSetIamPolicyRequest' smart constructor.+data SetIamPolicyRequest = SetIamPolicyRequest+ { -- | 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 Google Cloud services (such as Projects) might reject them.+ policy :: (Core.Maybe Policy),+ -- | 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\"@+ updateMask :: (Core.Maybe Core.FieldMask)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SetIamPolicyRequest' with the minimum fields required to make a request.+newSetIamPolicyRequest ::+ SetIamPolicyRequest+newSetIamPolicyRequest =+ SetIamPolicyRequest+ { policy = Core.Nothing,+ updateMask = Core.Nothing+ }++instance Core.FromJSON SetIamPolicyRequest where+ parseJSON =+ Core.withObject+ "SetIamPolicyRequest"+ ( \o ->+ SetIamPolicyRequest+ Core.<$> (o Core..:? "policy")+ Core.<*> (o Core..:? "updateMask")+ )++instance Core.ToJSON SetIamPolicyRequest where+ toJSON SetIamPolicyRequest {..} =+ Core.object+ ( Core.catMaybes+ [ ("policy" Core..=) Core.<$> policy,+ ("updateMask" Core..=) Core.<$> updateMask+ ]+ )++-- | Encapsulates a single SKU in Google Cloud+--+-- /See:/ 'newSku' smart constructor.+data Sku = Sku+ { -- | The category hierarchy of this SKU, purely for organizational purpose.+ category :: (Core.Maybe Category),+ -- | A human readable description of the SKU, has a maximum length of 256 characters.+ description :: (Core.Maybe Core.Text),+ -- | The geographic taxonomy for this sku.+ geoTaxonomy :: (Core.Maybe GeoTaxonomy),+ -- | The resource name for the SKU. Example: \"services\/6F81-5844-456A\/skus\/D041-B8A1-6E0B\"+ name :: (Core.Maybe Core.Text),+ -- | A timeline of pricing info for this SKU in chronological order.+ pricingInfo :: (Core.Maybe [PricingInfo]),+ -- | Identifies the service provider. This is \'Google\' for first party services in Google Cloud Platform.+ serviceProviderName :: (Core.Maybe Core.Text),+ -- | List of service regions this SKU is offered at. Example: \"asia-east1\" Service regions can be found at https:\/\/cloud.google.com\/about\/locations\/+ serviceRegions :: (Core.Maybe [Core.Text]),+ -- | The identifier for the SKU. Example: \"D041-B8A1-6E0B\"+ skuId :: (Core.Maybe Core.Text)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Sku' with the minimum fields required to make a request.+newSku ::+ Sku+newSku =+ Sku+ { category = Core.Nothing,+ description = Core.Nothing,+ geoTaxonomy = Core.Nothing,+ name = Core.Nothing,+ pricingInfo = Core.Nothing,+ serviceProviderName = Core.Nothing,+ serviceRegions = Core.Nothing,+ skuId = Core.Nothing+ }++instance Core.FromJSON Sku where+ parseJSON =+ Core.withObject+ "Sku"+ ( \o ->+ Sku+ Core.<$> (o Core..:? "category")+ Core.<*> (o Core..:? "description")+ Core.<*> (o Core..:? "geoTaxonomy")+ Core.<*> (o Core..:? "name")+ Core.<*> (o Core..:? "pricingInfo")+ Core.<*> (o Core..:? "serviceProviderName")+ Core.<*> (o Core..:? "serviceRegions")+ Core.<*> (o Core..:? "skuId")+ )++instance Core.ToJSON Sku where+ toJSON Sku {..} =+ Core.object+ ( Core.catMaybes+ [ ("category" Core..=) Core.<$> category,+ ("description" Core..=) Core.<$> description,+ ("geoTaxonomy" Core..=) Core.<$> geoTaxonomy,+ ("name" Core..=) Core.<$> name,+ ("pricingInfo" Core..=) Core.<$> pricingInfo,+ ("serviceProviderName" Core..=) Core.<$> serviceProviderName,+ ("serviceRegions" Core..=) Core.<$> serviceRegions,+ ("skuId" Core..=) Core.<$> skuId+ ]+ )++-- | Request message for @TestIamPermissions@ method.+--+-- /See:/ 'newTestIamPermissionsRequest' smart constructor.+newtype TestIamPermissionsRequest = TestIamPermissionsRequest+ { -- | The set of permissions to check for the @resource@. Permissions with wildcards (such as @*@ or @storage.*@) are not allowed. For more information see <https://cloud.google.com/iam/docs/overview#permissions IAM Overview>.+ permissions :: (Core.Maybe [Core.Text])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TestIamPermissionsRequest' with the minimum fields required to make a request.+newTestIamPermissionsRequest ::+ TestIamPermissionsRequest+newTestIamPermissionsRequest =+ TestIamPermissionsRequest {permissions = Core.Nothing}++instance Core.FromJSON TestIamPermissionsRequest where+ parseJSON =+ Core.withObject+ "TestIamPermissionsRequest"+ ( \o ->+ TestIamPermissionsRequest Core.<$> (o Core..:? "permissions")+ )++instance Core.ToJSON TestIamPermissionsRequest where+ toJSON TestIamPermissionsRequest {..} =+ Core.object+ (Core.catMaybes [("permissions" Core..=) Core.<$> permissions])++-- | Response message for @TestIamPermissions@ method.+--+-- /See:/ 'newTestIamPermissionsResponse' smart constructor.+newtype TestIamPermissionsResponse = TestIamPermissionsResponse+ { -- | A subset of @TestPermissionsRequest.permissions@ that the caller is allowed.+ permissions :: (Core.Maybe [Core.Text])+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TestIamPermissionsResponse' with the minimum fields required to make a request.+newTestIamPermissionsResponse ::+ TestIamPermissionsResponse+newTestIamPermissionsResponse =+ TestIamPermissionsResponse {permissions = Core.Nothing}++instance Core.FromJSON TestIamPermissionsResponse where+ parseJSON =+ Core.withObject+ "TestIamPermissionsResponse"+ ( \o ->+ TestIamPermissionsResponse Core.<$> (o Core..:? "permissions")+ )++instance Core.ToJSON TestIamPermissionsResponse where+ toJSON TestIamPermissionsResponse {..} =+ Core.object+ (Core.catMaybes [("permissions" Core..=) Core.<$> permissions])++-- | The price rate indicating starting usage and its corresponding price.+--+-- /See:/ 'newTierRate' smart constructor.+data TierRate = TierRate+ { -- | 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.+ startUsageAmount :: (Core.Maybe Core.Double),+ -- | The price per unit of usage. Example: unit_price of amount $10 indicates that each unit will cost $10.+ unitPrice :: (Core.Maybe Money)+ }+ deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TierRate' with the minimum fields required to make a request.+newTierRate ::+ TierRate+newTierRate =+ TierRate+ { startUsageAmount = Core.Nothing,+ unitPrice = Core.Nothing+ }++instance Core.FromJSON TierRate where+ parseJSON =+ Core.withObject+ "TierRate"+ ( \o ->+ TierRate+ Core.<$> (o Core..:? "startUsageAmount")+ Core.<*> (o Core..:? "unitPrice")+ )++instance Core.ToJSON TierRate where+ toJSON TierRate {..} =+ Core.object+ ( Core.catMaybes+ [ ("startUsageAmount" Core..=) Core.<$> startUsageAmount,+ ("unitPrice" Core..=) Core.<$> unitPrice+ ]+ )
+ gen/Gogol/Billing/Internal/Sum.hs view
@@ -0,0 +1,227 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Internal.Sum+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.Billing.Internal.Sum+ ( -- * Xgafv+ Xgafv+ ( Xgafv_1,+ Xgafv_2,+ ..+ ),++ -- * AggregationInfo_AggregationInterval+ AggregationInfo_AggregationInterval+ ( AggregationInfo_AggregationInterval_AGGREGATIONINTERVALUNSPECIFIED,+ AggregationInfo_AggregationInterval_Daily,+ AggregationInfo_AggregationInterval_Monthly,+ ..+ ),++ -- * AggregationInfo_AggregationLevel+ AggregationInfo_AggregationLevel+ ( AggregationInfo_AggregationLevel_AGGREGATIONLEVELUNSPECIFIED,+ AggregationInfo_AggregationLevel_Account,+ AggregationInfo_AggregationLevel_Project,+ ..+ ),++ -- * AuditLogConfig_LogType+ AuditLogConfig_LogType+ ( AuditLogConfig_LogType_LOGTYPEUNSPECIFIED,+ AuditLogConfig_LogType_ADMINREAD,+ AuditLogConfig_LogType_DATAWRITE,+ AuditLogConfig_LogType_DATAREAD,+ ..+ ),++ -- * GeoTaxonomy_Type+ GeoTaxonomy_Type+ ( GeoTaxonomy_Type_TYPEUNSPECIFIED,+ GeoTaxonomy_Type_Global,+ GeoTaxonomy_Type_Regional,+ GeoTaxonomy_Type_MULTIREGIONAL,+ ..+ ),+ )+where++import Gogol.Prelude qualified as Core++-- | V1 error format.+newtype Xgafv = Xgafv {fromXgafv :: Core.Text}+ deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+ deriving newtype+ ( Core.Hashable,+ Core.ToHttpApiData,+ Core.FromHttpApiData,+ Core.ToJSON,+ Core.ToJSONKey,+ Core.FromJSON,+ Core.FromJSONKey+ )++-- | v1 error format+pattern Xgafv_1 :: Xgafv+pattern Xgafv_1 = Xgafv "1"++-- | v2 error format+pattern Xgafv_2 :: Xgafv+pattern Xgafv_2 = Xgafv "2"++{-# COMPLETE+ Xgafv_1,+ Xgafv_2,+ Xgafv+ #-}++newtype AggregationInfo_AggregationInterval = AggregationInfo_AggregationInterval {fromAggregationInfo_AggregationInterval :: Core.Text}+ deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+ deriving newtype+ ( Core.Hashable,+ Core.ToHttpApiData,+ Core.FromHttpApiData,+ Core.ToJSON,+ Core.ToJSONKey,+ Core.FromJSON,+ Core.FromJSONKey+ )++pattern AggregationInfo_AggregationInterval_AGGREGATIONINTERVALUNSPECIFIED :: AggregationInfo_AggregationInterval+pattern AggregationInfo_AggregationInterval_AGGREGATIONINTERVALUNSPECIFIED = AggregationInfo_AggregationInterval "AGGREGATION_INTERVAL_UNSPECIFIED"++pattern AggregationInfo_AggregationInterval_Daily :: AggregationInfo_AggregationInterval+pattern AggregationInfo_AggregationInterval_Daily = AggregationInfo_AggregationInterval "DAILY"++pattern AggregationInfo_AggregationInterval_Monthly :: AggregationInfo_AggregationInterval+pattern AggregationInfo_AggregationInterval_Monthly = AggregationInfo_AggregationInterval "MONTHLY"++{-# COMPLETE+ AggregationInfo_AggregationInterval_AGGREGATIONINTERVALUNSPECIFIED,+ AggregationInfo_AggregationInterval_Daily,+ AggregationInfo_AggregationInterval_Monthly,+ AggregationInfo_AggregationInterval+ #-}++newtype AggregationInfo_AggregationLevel = AggregationInfo_AggregationLevel {fromAggregationInfo_AggregationLevel :: Core.Text}+ deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+ deriving newtype+ ( Core.Hashable,+ Core.ToHttpApiData,+ Core.FromHttpApiData,+ Core.ToJSON,+ Core.ToJSONKey,+ Core.FromJSON,+ Core.FromJSONKey+ )++pattern AggregationInfo_AggregationLevel_AGGREGATIONLEVELUNSPECIFIED :: AggregationInfo_AggregationLevel+pattern AggregationInfo_AggregationLevel_AGGREGATIONLEVELUNSPECIFIED = AggregationInfo_AggregationLevel "AGGREGATION_LEVEL_UNSPECIFIED"++pattern AggregationInfo_AggregationLevel_Account :: AggregationInfo_AggregationLevel+pattern AggregationInfo_AggregationLevel_Account = AggregationInfo_AggregationLevel "ACCOUNT"++pattern AggregationInfo_AggregationLevel_Project :: AggregationInfo_AggregationLevel+pattern AggregationInfo_AggregationLevel_Project = AggregationInfo_AggregationLevel "PROJECT"++{-# COMPLETE+ AggregationInfo_AggregationLevel_AGGREGATIONLEVELUNSPECIFIED,+ AggregationInfo_AggregationLevel_Account,+ AggregationInfo_AggregationLevel_Project,+ AggregationInfo_AggregationLevel+ #-}++-- | The log type that this config enables.+newtype AuditLogConfig_LogType = AuditLogConfig_LogType {fromAuditLogConfig_LogType :: Core.Text}+ deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+ deriving newtype+ ( Core.Hashable,+ Core.ToHttpApiData,+ Core.FromHttpApiData,+ Core.ToJSON,+ Core.ToJSONKey,+ Core.FromJSON,+ Core.FromJSONKey+ )++-- | Default case. Should never be this.+pattern AuditLogConfig_LogType_LOGTYPEUNSPECIFIED :: AuditLogConfig_LogType+pattern AuditLogConfig_LogType_LOGTYPEUNSPECIFIED = AuditLogConfig_LogType "LOG_TYPE_UNSPECIFIED"++-- | Admin reads. Example: CloudIAM getIamPolicy+pattern AuditLogConfig_LogType_ADMINREAD :: AuditLogConfig_LogType+pattern AuditLogConfig_LogType_ADMINREAD = AuditLogConfig_LogType "ADMIN_READ"++-- | Data writes. Example: CloudSQL Users create+pattern AuditLogConfig_LogType_DATAWRITE :: AuditLogConfig_LogType+pattern AuditLogConfig_LogType_DATAWRITE = AuditLogConfig_LogType "DATA_WRITE"++-- | Data reads. Example: CloudSQL Users list+pattern AuditLogConfig_LogType_DATAREAD :: AuditLogConfig_LogType+pattern AuditLogConfig_LogType_DATAREAD = AuditLogConfig_LogType "DATA_READ"++{-# COMPLETE+ AuditLogConfig_LogType_LOGTYPEUNSPECIFIED,+ AuditLogConfig_LogType_ADMINREAD,+ AuditLogConfig_LogType_DATAWRITE,+ AuditLogConfig_LogType_DATAREAD,+ AuditLogConfig_LogType+ #-}++-- | The type of Geo Taxonomy: GLOBAL, REGIONAL, or MULTI_REGIONAL.+newtype GeoTaxonomy_Type = GeoTaxonomy_Type {fromGeoTaxonomy_Type :: Core.Text}+ deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+ deriving newtype+ ( Core.Hashable,+ Core.ToHttpApiData,+ Core.FromHttpApiData,+ Core.ToJSON,+ Core.ToJSONKey,+ Core.FromJSON,+ Core.FromJSONKey+ )++-- | The type is not specified.+pattern GeoTaxonomy_Type_TYPEUNSPECIFIED :: GeoTaxonomy_Type+pattern GeoTaxonomy_Type_TYPEUNSPECIFIED = GeoTaxonomy_Type "TYPE_UNSPECIFIED"++-- | The sku is global in nature, e.g. a license sku. Global skus are available in all regions, and so have an empty region list.+pattern GeoTaxonomy_Type_Global :: GeoTaxonomy_Type+pattern GeoTaxonomy_Type_Global = GeoTaxonomy_Type "GLOBAL"++-- | The sku is available in a specific region, e.g. \"us-west2\".+pattern GeoTaxonomy_Type_Regional :: GeoTaxonomy_Type+pattern GeoTaxonomy_Type_Regional = GeoTaxonomy_Type "REGIONAL"++-- | The sku is associated with multiple regions, e.g. \"us-west2\" and \"us-east1\".+pattern GeoTaxonomy_Type_MULTIREGIONAL :: GeoTaxonomy_Type+pattern GeoTaxonomy_Type_MULTIREGIONAL = GeoTaxonomy_Type "MULTI_REGIONAL"++{-# COMPLETE+ GeoTaxonomy_Type_TYPEUNSPECIFIED,+ GeoTaxonomy_Type_Global,+ GeoTaxonomy_Type_Regional,+ GeoTaxonomy_Type_MULTIREGIONAL,+ GeoTaxonomy_Type+ #-}
+ gen/Gogol/Billing/Types.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module : Gogol.Billing.Types+-- Copyright : (c) 2015-2025 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>+-- Toni Cebrián <toni@tonicebrian.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.Billing.Types+ ( -- * Configuration+ billingService,++ -- * OAuth Scopes+ CloudBilling'FullControl,+ CloudBilling'Readonly,+ CloudPlatform'FullControl,++ -- * Types++ -- ** Xgafv+ Xgafv (..),++ -- ** AggregationInfo+ AggregationInfo (..),+ newAggregationInfo,++ -- ** AggregationInfo_AggregationInterval+ AggregationInfo_AggregationInterval (..),++ -- ** AggregationInfo_AggregationLevel+ AggregationInfo_AggregationLevel (..),++ -- ** AuditConfig+ AuditConfig (..),+ newAuditConfig,++ -- ** AuditLogConfig+ AuditLogConfig (..),+ newAuditLogConfig,++ -- ** AuditLogConfig_LogType+ AuditLogConfig_LogType (..),++ -- ** BillingAccount+ BillingAccount (..),+ newBillingAccount,++ -- ** Binding+ Binding (..),+ newBinding,++ -- ** Category+ Category (..),+ newCategory,++ -- ** Expr+ Expr (..),+ newExpr,++ -- ** GeoTaxonomy+ GeoTaxonomy (..),+ newGeoTaxonomy,++ -- ** GeoTaxonomy_Type+ GeoTaxonomy_Type (..),++ -- ** ListBillingAccountsResponse+ ListBillingAccountsResponse (..),+ newListBillingAccountsResponse,++ -- ** ListProjectBillingInfoResponse+ ListProjectBillingInfoResponse (..),+ newListProjectBillingInfoResponse,++ -- ** ListServicesResponse+ ListServicesResponse (..),+ newListServicesResponse,++ -- ** ListSkusResponse+ ListSkusResponse (..),+ newListSkusResponse,++ -- ** Money+ Money (..),+ newMoney,++ -- ** MoveBillingAccountRequest+ MoveBillingAccountRequest (..),+ newMoveBillingAccountRequest,++ -- ** Policy+ Policy (..),+ newPolicy,++ -- ** PricingExpression+ PricingExpression (..),+ newPricingExpression,++ -- ** PricingInfo+ PricingInfo (..),+ newPricingInfo,++ -- ** ProjectBillingInfo+ ProjectBillingInfo (..),+ newProjectBillingInfo,++ -- ** Service+ Service (..),+ newService,++ -- ** SetIamPolicyRequest+ SetIamPolicyRequest (..),+ newSetIamPolicyRequest,++ -- ** Sku+ Sku (..),+ newSku,++ -- ** TestIamPermissionsRequest+ TestIamPermissionsRequest (..),+ newTestIamPermissionsRequest,++ -- ** TestIamPermissionsResponse+ TestIamPermissionsResponse (..),+ newTestIamPermissionsResponse,++ -- ** TierRate+ TierRate (..),+ newTierRate,+ )+where++import Gogol.Billing.Internal.Product+import Gogol.Billing.Internal.Sum+import Gogol.Prelude qualified as Core++-- | 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 :: Core.ServiceConfig+billingService =+ Core.defaultService+ (Core.ServiceId "cloudbilling:v1")+ "cloudbilling.googleapis.com"++-- | View and manage your Google Cloud Platform billing accounts+type CloudBilling'FullControl =+ "https://www.googleapis.com/auth/cloud-billing"++-- | View your Google Cloud Platform billing accounts+type CloudBilling'Readonly =+ "https://www.googleapis.com/auth/cloud-billing.readonly"++-- | See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.+type CloudPlatform'FullControl =+ "https://www.googleapis.com/auth/cloud-platform"
− gen/Network/Google/Billing.hs
@@ -1,274 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE TypeOperators #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- |--- Module : Network.Google.Billing--- 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)------ Allows developers to manage billing for their Google Cloud Platform--- projects programmatically.------ /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference>-module Network.Google.Billing- (- -- * Service Configuration- billingService-- -- * OAuth Scopes- , cloudPlatformScope-- -- * API Declaration- , BillingAPI-- -- * 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- , sBusinessEntityName- , sName- , sDisplayName- , sServiceId-- -- ** ProjectBillingInfo- , ProjectBillingInfo- , projectBillingInfo- , pbiName- , pbiBillingAccountName- , 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 Cloud Billing API service.-type BillingAPI =- ProjectsGetBillingInfoResource :<|>- ProjectsUpdateBillingInfoResource- :<|> ServicesSKUsListResource- :<|> ServicesListResource- :<|> BillingAccountsProjectsListResource- :<|> BillingAccountsListResource- :<|> BillingAccountsGetIAMPolicyResource- :<|> BillingAccountsPatchResource- :<|> BillingAccountsGetResource- :<|> BillingAccountsCreateResource- :<|> BillingAccountsSetIAMPolicyResource- :<|> BillingAccountsTestIAMPermissionsResource
− gen/Network/Google/Billing/Types.hs
@@ -1,208 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module : Network.Google.Billing.Types--- 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)----module Network.Google.Billing.Types- (- -- * Service Configuration- billingService-- -- * 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- , sBusinessEntityName- , sName- , sDisplayName- , sServiceId-- -- * ProjectBillingInfo- , ProjectBillingInfo- , projectBillingInfo- , pbiName- , pbiBillingAccountName- , 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 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")- "cloudbilling.googleapis.com"---- | View and manage your data across Google Cloud Platform services-cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]-cloudPlatformScope = Proxy
− gen/Network/Google/Billing/Types/Product.hs
@@ -1,1640 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}--{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module : Network.Google.Billing.Types.Product--- 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)----module Network.Google.Billing.Types.Product where--import Network.Google.Billing.Types.Sum-import Network.Google.Prelude---- | 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'- { _sBusinessEntityName :: !(Maybe Text)- , _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:------ * 'sBusinessEntityName'------ * 'sName'------ * 'sDisplayName'------ * 'sServiceId'-service- :: Service-service =- Service'- { _sBusinessEntityName = Nothing- , _sName = Nothing- , _sDisplayName = Nothing- , _sServiceId = Nothing- }----- | The business under which the service is offered. Ex.--- \"businessEntities\/GCP\", \"businessEntities\/Maps\"-sBusinessEntityName :: Lens' Service (Maybe Text)-sBusinessEntityName- = lens _sBusinessEntityName- (\ s a -> s{_sBusinessEntityName = a})---- | 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 .:? "businessEntityName") <*> (o .:? "name") <*>- (o .:? "displayName")- <*> (o .:? "serviceId"))--instance ToJSON Service where- toJSON Service'{..}- = object- (catMaybes- [("businessEntityName" .=) <$> _sBusinessEntityName,- ("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}\`: The G Suite domain--- (primary) 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})---- | 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
@@ -1,147 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module : Network.Google.Billing.Types.Sum--- 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)----module Network.Google.Billing.Types.Sum where--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
@@ -1,167 +0,0 @@-{-# 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
@@ -1,154 +0,0 @@-{-# 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.Get--- 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 information about a billing account. The current authenticated user--- must be a [viewer of the billing--- account](https:\/\/cloud.google.com\/billing\/docs\/how-to\/billing-access).------ /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.get@.-module Network.Google.Resource.CloudBilling.BillingAccounts.Get- (- -- * REST Resource- BillingAccountsGetResource-- -- * Creating a Request- , billingAccountsGet- , BillingAccountsGet-- -- * Request Lenses- , bagXgafv- , bagUploadProtocol- , bagAccessToken- , bagUploadType- , bagName- , bagCallback- ) where--import Network.Google.Billing.Types-import Network.Google.Prelude---- | A resource alias for @cloudbilling.billingAccounts.get@ method which the--- 'BillingAccountsGet' request conforms to.-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---- | Gets information about a billing account. The current authenticated user--- 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 Xgafv)- , _bagUploadProtocol :: !(Maybe Text)- , _bagAccessToken :: !(Maybe Text)- , _bagUploadType :: !(Maybe Text)- , _bagName :: !Text- , _bagCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'BillingAccountsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bagXgafv'------ * 'bagUploadProtocol'------ * 'bagAccessToken'------ * 'bagUploadType'------ * 'bagName'------ * 'bagCallback'-billingAccountsGet- :: Text -- ^ 'bagName'- -> BillingAccountsGet-billingAccountsGet pBagName_ =- BillingAccountsGet'- { _bagXgafv = Nothing- , _bagUploadProtocol = Nothing- , _bagAccessToken = Nothing- , _bagUploadType = Nothing- , _bagName = pBagName_- , _bagCallback = Nothing- }----- | V1 error format.-bagXgafv :: Lens' BillingAccountsGet (Maybe Xgafv)-bagXgafv = lens _bagXgafv (\ s a -> s{_bagXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-bagUploadProtocol :: Lens' BillingAccountsGet (Maybe Text)-bagUploadProtocol- = lens _bagUploadProtocol- (\ s a -> s{_bagUploadProtocol = a})---- | OAuth access token.-bagAccessToken :: Lens' BillingAccountsGet (Maybe Text)-bagAccessToken- = lens _bagAccessToken- (\ s a -> s{_bagAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-bagUploadType :: Lens' BillingAccountsGet (Maybe Text)-bagUploadType- = lens _bagUploadType- (\ s a -> s{_bagUploadType = a})---- | The resource name of the billing account to retrieve. For example,--- \`billingAccounts\/012345-567890-ABCDEF\`.-bagName :: Lens' BillingAccountsGet Text-bagName = lens _bagName (\ s a -> s{_bagName = a})---- | JSONP-bagCallback :: Lens' BillingAccountsGet (Maybe Text)-bagCallback- = lens _bagCallback (\ s a -> s{_bagCallback = a})--instance GoogleRequest BillingAccountsGet where- type Rs BillingAccountsGet = BillingAccount- type Scopes BillingAccountsGet =- '["https://www.googleapis.com/auth/cloud-platform"]- requestClient BillingAccountsGet'{..}- = go _bagName _bagXgafv _bagUploadProtocol- _bagAccessToken- _bagUploadType- _bagCallback- (Just AltJSON)- billingService- where go- = buildClient- (Proxy :: Proxy BillingAccountsGetResource)- mempty
− gen/Network/Google/Resource/CloudBilling/BillingAccounts/GetIAMPolicy.hs
@@ -1,160 +0,0 @@-{-# 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
@@ -1,189 +0,0 @@-{-# 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.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 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/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.list@.-module Network.Google.Resource.CloudBilling.BillingAccounts.List- (- -- * REST Resource- BillingAccountsListResource-- -- * Creating a Request- , billingAccountsList- , BillingAccountsList-- -- * Request Lenses- , balXgafv- , balUploadProtocol- , balAccessToken- , balUploadType- , balFilter- , balPageToken- , balPageSize- , balCallback- ) where--import Network.Google.Billing.Types-import Network.Google.Prelude---- | A resource alias for @cloudbilling.billingAccounts.list@ method which the--- 'BillingAccountsList' request conforms to.-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---- | 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 Xgafv)- , _balUploadProtocol :: !(Maybe Text)- , _balAccessToken :: !(Maybe Text)- , _balUploadType :: !(Maybe Text)- , _balFilter :: !(Maybe Text)- , _balPageToken :: !(Maybe Text)- , _balPageSize :: !(Maybe (Textual Int32))- , _balCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'BillingAccountsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'balXgafv'------ * 'balUploadProtocol'------ * 'balAccessToken'------ * 'balUploadType'------ * 'balFilter'------ * 'balPageToken'------ * 'balPageSize'------ * 'balCallback'-billingAccountsList- :: BillingAccountsList-billingAccountsList =- BillingAccountsList'- { _balXgafv = Nothing- , _balUploadProtocol = Nothing- , _balAccessToken = Nothing- , _balUploadType = Nothing- , _balFilter = Nothing- , _balPageToken = Nothing- , _balPageSize = Nothing- , _balCallback = Nothing- }----- | V1 error format.-balXgafv :: Lens' BillingAccountsList (Maybe Xgafv)-balXgafv = lens _balXgafv (\ s a -> s{_balXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-balUploadProtocol :: Lens' BillingAccountsList (Maybe Text)-balUploadProtocol- = lens _balUploadProtocol- (\ s a -> s{_balUploadProtocol = a})---- | OAuth access token.-balAccessToken :: Lens' BillingAccountsList (Maybe Text)-balAccessToken- = lens _balAccessToken- (\ s a -> s{_balAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-balUploadType :: Lens' BillingAccountsList (Maybe Text)-balUploadType- = lens _balUploadType- (\ s a -> s{_balUploadType = 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--- \`ListBillingAccounts\` call. If unspecified, the first page of results--- is returned.-balPageToken :: Lens' BillingAccountsList (Maybe Text)-balPageToken- = lens _balPageToken (\ s a -> s{_balPageToken = a})---- | Requested page size. The maximum page size is 100; this is also the--- default.-balPageSize :: Lens' BillingAccountsList (Maybe Int32)-balPageSize- = lens _balPageSize (\ s a -> s{_balPageSize = a}) .- mapping _Coerce---- | JSONP-balCallback :: Lens' BillingAccountsList (Maybe Text)-balCallback- = lens _balCallback (\ s a -> s{_balCallback = a})--instance GoogleRequest BillingAccountsList where- type Rs BillingAccountsList =- ListBillingAccountsResponse- type Scopes BillingAccountsList =- '["https://www.googleapis.com/auth/cloud-platform"]- requestClient BillingAccountsList'{..}- = go _balXgafv _balUploadProtocol _balAccessToken- _balUploadType- _balFilter- _balPageToken- _balPageSize- _balCallback- (Just AltJSON)- billingService- where go- = buildClient- (Proxy :: Proxy BillingAccountsListResource)- mempty
− gen/Network/Google/Resource/CloudBilling/BillingAccounts/Patch.hs
@@ -1,186 +0,0 @@-{-# 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
@@ -1,191 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE TypeOperators #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module : Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List--- 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 the projects associated with a billing account. The current--- 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/ Cloud Billing API Reference> for @cloudbilling.billingAccounts.projects.list@.-module Network.Google.Resource.CloudBilling.BillingAccounts.Projects.List- (- -- * REST Resource- BillingAccountsProjectsListResource-- -- * Creating a Request- , billingAccountsProjectsList- , BillingAccountsProjectsList-- -- * Request Lenses- , baplXgafv- , baplUploadProtocol- , baplAccessToken- , baplUploadType- , baplName- , baplPageToken- , baplPageSize- , baplCallback- ) where--import Network.Google.Billing.Types-import Network.Google.Prelude---- | A resource alias for @cloudbilling.billingAccounts.projects.list@ method which the--- 'BillingAccountsProjectsList' request conforms to.-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---- | Lists the projects associated with a billing account. The current--- 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 Xgafv)- , _baplUploadProtocol :: !(Maybe Text)- , _baplAccessToken :: !(Maybe Text)- , _baplUploadType :: !(Maybe Text)- , _baplName :: !Text- , _baplPageToken :: !(Maybe Text)- , _baplPageSize :: !(Maybe (Textual Int32))- , _baplCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'BillingAccountsProjectsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'baplXgafv'------ * 'baplUploadProtocol'------ * 'baplAccessToken'------ * 'baplUploadType'------ * 'baplName'------ * 'baplPageToken'------ * 'baplPageSize'------ * 'baplCallback'-billingAccountsProjectsList- :: Text -- ^ 'baplName'- -> BillingAccountsProjectsList-billingAccountsProjectsList pBaplName_ =- BillingAccountsProjectsList'- { _baplXgafv = Nothing- , _baplUploadProtocol = Nothing- , _baplAccessToken = Nothing- , _baplUploadType = Nothing- , _baplName = pBaplName_- , _baplPageToken = Nothing- , _baplPageSize = Nothing- , _baplCallback = Nothing- }----- | V1 error format.-baplXgafv :: Lens' BillingAccountsProjectsList (Maybe Xgafv)-baplXgafv- = lens _baplXgafv (\ s a -> s{_baplXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-baplUploadProtocol :: Lens' BillingAccountsProjectsList (Maybe Text)-baplUploadProtocol- = lens _baplUploadProtocol- (\ s a -> s{_baplUploadProtocol = a})---- | OAuth access token.-baplAccessToken :: Lens' BillingAccountsProjectsList (Maybe Text)-baplAccessToken- = lens _baplAccessToken- (\ s a -> s{_baplAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-baplUploadType :: Lens' BillingAccountsProjectsList (Maybe Text)-baplUploadType- = lens _baplUploadType- (\ s a -> s{_baplUploadType = a})---- | The resource name of the billing account associated with the projects--- that you want to list. For example,--- \`billingAccounts\/012345-567890-ABCDEF\`.-baplName :: Lens' BillingAccountsProjectsList Text-baplName = lens _baplName (\ s a -> s{_baplName = a})---- | A token identifying a page of results to be returned. This should be a--- \`next_page_token\` value returned from a previous--- \`ListProjectBillingInfo\` call. If unspecified, the first page of--- results is returned.-baplPageToken :: Lens' BillingAccountsProjectsList (Maybe Text)-baplPageToken- = lens _baplPageToken- (\ s a -> s{_baplPageToken = a})---- | Requested page size. The maximum page size is 100; this is also the--- default.-baplPageSize :: Lens' BillingAccountsProjectsList (Maybe Int32)-baplPageSize- = lens _baplPageSize (\ s a -> s{_baplPageSize = a})- . mapping _Coerce---- | JSONP-baplCallback :: Lens' BillingAccountsProjectsList (Maybe Text)-baplCallback- = lens _baplCallback (\ s a -> s{_baplCallback = a})--instance GoogleRequest BillingAccountsProjectsList- where- type Rs BillingAccountsProjectsList =- ListProjectBillingInfoResponse- type Scopes BillingAccountsProjectsList =- '["https://www.googleapis.com/auth/cloud-platform"]- requestClient BillingAccountsProjectsList'{..}- = go _baplName _baplXgafv _baplUploadProtocol- _baplAccessToken- _baplUploadType- _baplPageToken- _baplPageSize- _baplCallback- (Just AltJSON)- billingService- where go- = buildClient- (Proxy :: Proxy BillingAccountsProjectsListResource)- mempty
− gen/Network/Google/Resource/CloudBilling/BillingAccounts/SetIAMPolicy.hs
@@ -1,176 +0,0 @@-{-# 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
@@ -1,176 +0,0 @@-{-# 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
@@ -1,158 +0,0 @@-{-# 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.Projects.GetBillingInfo--- 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 billing information for a project. The current authenticated--- user must have [permission to view the--- project](https:\/\/cloud.google.com\/docs\/permissions-overview#h.bgs0oxofvnoo--- ).------ /See:/ <https://cloud.google.com/billing/ Cloud Billing API Reference> for @cloudbilling.projects.getBillingInfo@.-module Network.Google.Resource.CloudBilling.Projects.GetBillingInfo- (- -- * REST Resource- ProjectsGetBillingInfoResource-- -- * Creating a Request- , projectsGetBillingInfo- , ProjectsGetBillingInfo-- -- * Request Lenses- , pgbiXgafv- , pgbiUploadProtocol- , pgbiAccessToken- , pgbiUploadType- , pgbiName- , pgbiCallback- ) where--import Network.Google.Billing.Types-import Network.Google.Prelude---- | A resource alias for @cloudbilling.projects.getBillingInfo@ method which the--- 'ProjectsGetBillingInfo' request conforms to.-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---- | Gets the billing information for a project. The current authenticated--- user must have [permission to view the--- project](https:\/\/cloud.google.com\/docs\/permissions-overview#h.bgs0oxofvnoo--- ).------ /See:/ 'projectsGetBillingInfo' smart constructor.-data ProjectsGetBillingInfo =- ProjectsGetBillingInfo'- { _pgbiXgafv :: !(Maybe Xgafv)- , _pgbiUploadProtocol :: !(Maybe Text)- , _pgbiAccessToken :: !(Maybe Text)- , _pgbiUploadType :: !(Maybe Text)- , _pgbiName :: !Text- , _pgbiCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ProjectsGetBillingInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgbiXgafv'------ * 'pgbiUploadProtocol'------ * 'pgbiAccessToken'------ * 'pgbiUploadType'------ * 'pgbiName'------ * 'pgbiCallback'-projectsGetBillingInfo- :: Text -- ^ 'pgbiName'- -> ProjectsGetBillingInfo-projectsGetBillingInfo pPgbiName_ =- ProjectsGetBillingInfo'- { _pgbiXgafv = Nothing- , _pgbiUploadProtocol = Nothing- , _pgbiAccessToken = Nothing- , _pgbiUploadType = Nothing- , _pgbiName = pPgbiName_- , _pgbiCallback = Nothing- }----- | V1 error format.-pgbiXgafv :: Lens' ProjectsGetBillingInfo (Maybe Xgafv)-pgbiXgafv- = lens _pgbiXgafv (\ s a -> s{_pgbiXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-pgbiUploadProtocol :: Lens' ProjectsGetBillingInfo (Maybe Text)-pgbiUploadProtocol- = lens _pgbiUploadProtocol- (\ s a -> s{_pgbiUploadProtocol = a})---- | OAuth access token.-pgbiAccessToken :: Lens' ProjectsGetBillingInfo (Maybe Text)-pgbiAccessToken- = lens _pgbiAccessToken- (\ s a -> s{_pgbiAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-pgbiUploadType :: Lens' ProjectsGetBillingInfo (Maybe Text)-pgbiUploadType- = lens _pgbiUploadType- (\ s a -> s{_pgbiUploadType = a})---- | The resource name of the project for which billing information is--- retrieved. For example, \`projects\/tokyo-rain-123\`.-pgbiName :: Lens' ProjectsGetBillingInfo Text-pgbiName = lens _pgbiName (\ s a -> s{_pgbiName = a})---- | JSONP-pgbiCallback :: Lens' ProjectsGetBillingInfo (Maybe Text)-pgbiCallback- = lens _pgbiCallback (\ s a -> s{_pgbiCallback = a})--instance GoogleRequest ProjectsGetBillingInfo where- type Rs ProjectsGetBillingInfo = ProjectBillingInfo- type Scopes ProjectsGetBillingInfo =- '["https://www.googleapis.com/auth/cloud-platform"]- requestClient ProjectsGetBillingInfo'{..}- = go _pgbiName _pgbiXgafv _pgbiUploadProtocol- _pgbiAccessToken- _pgbiUploadType- _pgbiCallback- (Just AltJSON)- billingService- where go- = buildClient- (Proxy :: Proxy ProjectsGetBillingInfoResource)- mempty
− gen/Network/Google/Resource/CloudBilling/Projects/UpdateBillingInfo.hs
@@ -1,217 +0,0 @@-{-# 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.Projects.UpdateBillingInfo--- 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 or updates the billing account associated with a project. You--- specify the new billing account by setting the \`billing_account_name\`--- in the \`ProjectBillingInfo\` resource to the resource name of a billing--- account. Associating a project with an open billing account enables--- 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 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:\/\/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/ Cloud Billing API Reference> for @cloudbilling.projects.updateBillingInfo@.-module Network.Google.Resource.CloudBilling.Projects.UpdateBillingInfo- (- -- * REST Resource- ProjectsUpdateBillingInfoResource-- -- * Creating a Request- , projectsUpdateBillingInfo- , ProjectsUpdateBillingInfo-- -- * Request Lenses- , pubiXgafv- , pubiUploadProtocol- , pubiAccessToken- , pubiUploadType- , pubiPayload- , pubiName- , pubiCallback- ) where--import Network.Google.Billing.Types-import Network.Google.Prelude---- | A resource alias for @cloudbilling.projects.updateBillingInfo@ method which the--- 'ProjectsUpdateBillingInfo' request conforms to.-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---- | Sets or updates the billing account associated with a project. You--- specify the new billing account by setting the \`billing_account_name\`--- in the \`ProjectBillingInfo\` resource to the resource name of a billing--- account. Associating a project with an open billing account enables--- 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 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:\/\/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 Xgafv)- , _pubiUploadProtocol :: !(Maybe Text)- , _pubiAccessToken :: !(Maybe Text)- , _pubiUploadType :: !(Maybe Text)- , _pubiPayload :: !ProjectBillingInfo- , _pubiName :: !Text- , _pubiCallback :: !(Maybe Text)- }- deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ProjectsUpdateBillingInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pubiXgafv'------ * 'pubiUploadProtocol'------ * 'pubiAccessToken'------ * 'pubiUploadType'------ * 'pubiPayload'------ * 'pubiName'------ * 'pubiCallback'-projectsUpdateBillingInfo- :: ProjectBillingInfo -- ^ 'pubiPayload'- -> Text -- ^ 'pubiName'- -> ProjectsUpdateBillingInfo-projectsUpdateBillingInfo pPubiPayload_ pPubiName_ =- ProjectsUpdateBillingInfo'- { _pubiXgafv = Nothing- , _pubiUploadProtocol = Nothing- , _pubiAccessToken = Nothing- , _pubiUploadType = Nothing- , _pubiPayload = pPubiPayload_- , _pubiName = pPubiName_- , _pubiCallback = Nothing- }----- | V1 error format.-pubiXgafv :: Lens' ProjectsUpdateBillingInfo (Maybe Xgafv)-pubiXgafv- = lens _pubiXgafv (\ s a -> s{_pubiXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-pubiUploadProtocol :: Lens' ProjectsUpdateBillingInfo (Maybe Text)-pubiUploadProtocol- = lens _pubiUploadProtocol- (\ s a -> s{_pubiUploadProtocol = a})---- | OAuth access token.-pubiAccessToken :: Lens' ProjectsUpdateBillingInfo (Maybe Text)-pubiAccessToken- = lens _pubiAccessToken- (\ s a -> s{_pubiAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-pubiUploadType :: Lens' ProjectsUpdateBillingInfo (Maybe Text)-pubiUploadType- = lens _pubiUploadType- (\ s a -> s{_pubiUploadType = a})---- | Multipart request metadata.-pubiPayload :: Lens' ProjectsUpdateBillingInfo ProjectBillingInfo-pubiPayload- = lens _pubiPayload (\ s a -> s{_pubiPayload = 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-pubiName = lens _pubiName (\ s a -> s{_pubiName = a})---- | JSONP-pubiCallback :: Lens' ProjectsUpdateBillingInfo (Maybe Text)-pubiCallback- = lens _pubiCallback (\ s a -> s{_pubiCallback = a})--instance GoogleRequest ProjectsUpdateBillingInfo- where- type Rs ProjectsUpdateBillingInfo =- ProjectBillingInfo- type Scopes ProjectsUpdateBillingInfo =- '["https://www.googleapis.com/auth/cloud-platform"]- requestClient ProjectsUpdateBillingInfo'{..}- = go _pubiName _pubiXgafv _pubiUploadProtocol- _pubiAccessToken- _pubiUploadType- _pubiCallback- (Just AltJSON)- _pubiPayload- billingService- where go- = buildClient- (Proxy :: Proxy ProjectsUpdateBillingInfoResource)- mempty
− gen/Network/Google/Resource/CloudBilling/Services/List.hs
@@ -1,163 +0,0 @@-{-# 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
@@ -1,234 +0,0 @@-{-# 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,58 +1,78 @@-name: gogol-billing-version: 0.5.0-synopsis: Google Cloud Billing SDK.-homepage: https://github.com/brendanhay/gogol-bug-reports: https://github.com/brendanhay/gogol/issues-license: OtherLicense-license-file: LICENSE-author: Brendan Hay-maintainer: Brendan Hay <brendan.g.hay@gmail.com>-copyright: Copyright (c) 2015-2016 Brendan Hay-category: Network, Google, Cloud-build-type: Simple-cabal-version: >= 1.10-extra-source-files: README.md src/.gitkeep+cabal-version: 2.2+name: gogol-billing+version: 1.0.0+synopsis: Google Cloud Billing SDK.+homepage: https://github.com/brendanhay/gogol+bug-reports: https://github.com/brendanhay/gogol/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+gogol@gmail.com>, Toni Cebrián <toni@tonicebrian.com> +copyright: Copyright (c) 2015-2025 Brendan Hay+category: Google+build-type: Simple+extra-source-files:+ README.md+ src/.gitkeep+ description:- 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!- .- This library is compatible with version @v1@- of the API.+ 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!+ .+ This library is compatible with version @v1@+ of the API. source-repository head- type: git- location: git://github.com/brendanhay/gogol.git+ type: git+ location: git://github.com/brendanhay/gogol.git+ subdir: gogol-billing +flag field-selectors+ description:+ If record field selectors should be enabled. Disabling this requires GHC >=9.2 and the NoFieldSelectors extension.++ default: False+ manual: True+ library- default-language: Haskell2010- hs-source-dirs: src gen+ default-language: GHC2021+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields+ -fwarn-unused-packages - ghc-options: -Wall+ if (!flag(field-selectors) && impl(ghc >=9.2))+ default-extensions: NoFieldSelectors - 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+ exposed-modules:+ Gogol.Billing+ Gogol.Billing.Cloudbilling.BillingAccounts.Create+ Gogol.Billing.Cloudbilling.BillingAccounts.Get+ Gogol.Billing.Cloudbilling.BillingAccounts.GetIamPolicy+ Gogol.Billing.Cloudbilling.BillingAccounts.List+ Gogol.Billing.Cloudbilling.BillingAccounts.Move+ Gogol.Billing.Cloudbilling.BillingAccounts.Patch+ Gogol.Billing.Cloudbilling.BillingAccounts.Projects.List+ Gogol.Billing.Cloudbilling.BillingAccounts.SetIamPolicy+ Gogol.Billing.Cloudbilling.BillingAccounts.SubAccounts.Create+ Gogol.Billing.Cloudbilling.BillingAccounts.SubAccounts.List+ Gogol.Billing.Cloudbilling.BillingAccounts.TestIamPermissions+ Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.Create+ Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.List+ Gogol.Billing.Cloudbilling.Organizations.BillingAccounts.Move+ Gogol.Billing.Cloudbilling.Projects.GetBillingInfo+ Gogol.Billing.Cloudbilling.Projects.UpdateBillingInfo+ Gogol.Billing.Cloudbilling.Services.List+ Gogol.Billing.Cloudbilling.Services.Skus.List+ Gogol.Billing.Types - other-modules:- Network.Google.Billing.Types.Product- , Network.Google.Billing.Types.Sum+ other-modules:+ Gogol.Billing.Internal.Product+ Gogol.Billing.Internal.Sum - build-depends:- gogol-core == 0.5.0.*- , base >= 4.7 && < 5+ build-depends: gogol-core ^>=1.0.0