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