gogol-android-publisher-1.0.0: gen/Gogol/AndroidPublisher/Monetization/Subscriptions/BasePlans/MigratePrices.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- |
-- Module : Gogol.AndroidPublisher.Monetization.Subscriptions.BasePlans.MigratePrices
-- Copyright : (c) 2015-2025 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>
-- Toni Cebrián <toni@tonicebrian.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Migrates subscribers from one or more legacy price cohorts to the current price. Requests result in Google Play notifying affected subscribers. Only up to 250 simultaneous legacy price cohorts are supported.
--
-- /See:/ <https://developers.google.com/android-publisher Google Play Android Developer API Reference> for @androidpublisher.monetization.subscriptions.basePlans.migratePrices@.
module Gogol.AndroidPublisher.Monetization.Subscriptions.BasePlans.MigratePrices
( -- * Resource
AndroidPublisherMonetizationSubscriptionsBasePlansMigratePricesResource,
-- ** Constructing a Request
AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices (..),
newAndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices,
)
where
import Gogol.AndroidPublisher.Types
import Gogol.Prelude qualified as Core
-- | A resource alias for @androidpublisher.monetization.subscriptions.basePlans.migratePrices@ method which the
-- 'AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices' request conforms to.
type AndroidPublisherMonetizationSubscriptionsBasePlansMigratePricesResource =
"androidpublisher"
Core.:> "v3"
Core.:> "applications"
Core.:> Core.Capture "packageName" Core.Text
Core.:> "subscriptions"
Core.:> Core.Capture "productId" Core.Text
Core.:> "basePlans"
Core.:> Core.CaptureMode "basePlanId" "migratePrices" Core.Text
Core.:> Core.QueryParam "$.xgafv" Xgafv
Core.:> Core.QueryParam "access_token" Core.Text
Core.:> Core.QueryParam "callback" Core.Text
Core.:> Core.QueryParam "uploadType" Core.Text
Core.:> Core.QueryParam "upload_protocol" Core.Text
Core.:> Core.QueryParam "alt" Core.AltJSON
Core.:> Core.ReqBody '[Core.JSON] MigrateBasePlanPricesRequest
Core.:> Core.Post '[Core.JSON] MigrateBasePlanPricesResponse
-- | Migrates subscribers from one or more legacy price cohorts to the current price. Requests result in Google Play notifying affected subscribers. Only up to 250 simultaneous legacy price cohorts are supported.
--
-- /See:/ 'newAndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices' smart constructor.
data AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices = AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices
{ -- | V1 error format.
xgafv :: (Core.Maybe Xgafv),
-- | OAuth access token.
accessToken :: (Core.Maybe Core.Text),
-- | Required. The unique base plan ID of the base plan to update prices on.
basePlanId :: Core.Text,
-- | JSONP
callback :: (Core.Maybe Core.Text),
-- | Required. Package name of the parent app. Must be equal to the package_name field on the Subscription resource.
packageName :: Core.Text,
-- | Multipart request metadata.
payload :: MigrateBasePlanPricesRequest,
-- | Required. The ID of the subscription to update. Must be equal to the product_id field on the Subscription resource.
productId :: Core.Text,
-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
uploadType :: (Core.Maybe Core.Text),
-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
uploadProtocol :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices' with the minimum fields required to make a request.
newAndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices ::
-- | Required. The unique base plan ID of the base plan to update prices on. See 'basePlanId'.
Core.Text ->
-- | Required. Package name of the parent app. Must be equal to the package_name field on the Subscription resource. See 'packageName'.
Core.Text ->
-- | Multipart request metadata. See 'payload'.
MigrateBasePlanPricesRequest ->
-- | Required. The ID of the subscription to update. Must be equal to the product_id field on the Subscription resource. See 'productId'.
Core.Text ->
AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices
newAndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices
basePlanId
packageName
payload
productId =
AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices
{ xgafv =
Core.Nothing,
accessToken = Core.Nothing,
basePlanId = basePlanId,
callback = Core.Nothing,
packageName = packageName,
payload = payload,
productId = productId,
uploadType = Core.Nothing,
uploadProtocol = Core.Nothing
}
instance
Core.GoogleRequest
AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices
where
type
Rs
AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices =
MigrateBasePlanPricesResponse
type
Scopes
AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices =
'[Androidpublisher'FullControl]
requestClient
AndroidPublisherMonetizationSubscriptionsBasePlansMigratePrices {..} =
go
packageName
productId
basePlanId
xgafv
accessToken
callback
uploadType
uploadProtocol
(Core.Just Core.AltJSON)
payload
androidPublisherService
where
go =
Core.buildClient
( Core.Proxy ::
Core.Proxy
AndroidPublisherMonetizationSubscriptionsBasePlansMigratePricesResource
)
Core.mempty