{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE MultiWayIf #-}
-- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator.
{-# LANGUAGE OverloadedStrings #-}

-- | Contains the different functions to run the operation postSubscriptionsSubscriptionExposedId
module StripeAPI.Operations.PostSubscriptionsSubscriptionExposedId where

import qualified Control.Monad.Fail
import qualified Control.Monad.Trans.Reader
import qualified Data.Aeson
import qualified Data.Aeson as Data.Aeson.Encoding.Internal
import qualified Data.Aeson as Data.Aeson.Types
import qualified Data.Aeson as Data.Aeson.Types.FromJSON
import qualified Data.Aeson as Data.Aeson.Types.Internal
import qualified Data.Aeson as Data.Aeson.Types.ToJSON
import qualified Data.ByteString.Char8
import qualified Data.ByteString.Char8 as Data.ByteString.Internal
import qualified Data.Either
import qualified Data.Functor
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text.Internal
import qualified Data.Time.Calendar as Data.Time.Calendar.Days
import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
import qualified Data.Vector
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified Network.HTTP.Client
import qualified Network.HTTP.Client as Network.HTTP.Client.Request
import qualified Network.HTTP.Client as Network.HTTP.Client.Types
import qualified Network.HTTP.Simple
import qualified Network.HTTP.Types
import qualified Network.HTTP.Types as Network.HTTP.Types.Status
import qualified Network.HTTP.Types as Network.HTTP.Types.URI
import qualified StripeAPI.Common
import StripeAPI.Types
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe

-- | > POST /v1/subscriptions/{subscription_exposed_id}
--
-- \<p>Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the \<a href=\"\#upcoming_invoice\">upcoming invoice\<\/a> endpoint.\<\/p>
postSubscriptionsSubscriptionExposedId ::
  forall m.
  StripeAPI.Common.MonadHTTP m =>
  -- | subscription_exposed_id | Constraints: Maximum length of 5000
  Data.Text.Internal.Text ->
  -- | The request body to send
  GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBody ->
  -- | Monadic computation which returns the result of the operation
  StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostSubscriptionsSubscriptionExposedIdResponse)
postSubscriptionsSubscriptionExposedId :: Text
-> Maybe PostSubscriptionsSubscriptionExposedIdRequestBody
-> ClientT
     m (Response PostSubscriptionsSubscriptionExposedIdResponse)
postSubscriptionsSubscriptionExposedId
  Text
subscriptionExposedId
  Maybe PostSubscriptionsSubscriptionExposedIdRequestBody
body =
    (Response ByteString
 -> Response PostSubscriptionsSubscriptionExposedIdResponse)
-> ClientT m (Response ByteString)
-> ClientT
     m (Response PostSubscriptionsSubscriptionExposedIdResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
      ( \Response ByteString
response_0 ->
          (ByteString -> PostSubscriptionsSubscriptionExposedIdResponse)
-> Response ByteString
-> Response PostSubscriptionsSubscriptionExposedIdResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
            ( (String -> PostSubscriptionsSubscriptionExposedIdResponse)
-> (PostSubscriptionsSubscriptionExposedIdResponse
    -> PostSubscriptionsSubscriptionExposedIdResponse)
-> Either String PostSubscriptionsSubscriptionExposedIdResponse
-> PostSubscriptionsSubscriptionExposedIdResponse
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
Data.Either.either String -> PostSubscriptionsSubscriptionExposedIdResponse
PostSubscriptionsSubscriptionExposedIdResponseError PostSubscriptionsSubscriptionExposedIdResponse
-> PostSubscriptionsSubscriptionExposedIdResponse
forall a. a -> a
GHC.Base.id
                (Either String PostSubscriptionsSubscriptionExposedIdResponse
 -> PostSubscriptionsSubscriptionExposedIdResponse)
-> (ByteString
    -> Either String PostSubscriptionsSubscriptionExposedIdResponse)
-> ByteString
-> PostSubscriptionsSubscriptionExposedIdResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. ( \Response ByteString
response ByteString
body ->
                               if
                                   | (\Status
status_1 -> Status -> Int
Network.HTTP.Types.Status.statusCode Status
status_1 Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Int
200) (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                     Subscription -> PostSubscriptionsSubscriptionExposedIdResponse
PostSubscriptionsSubscriptionExposedIdResponse200
                                       (Subscription -> PostSubscriptionsSubscriptionExposedIdResponse)
-> Either String Subscription
-> Either String PostSubscriptionsSubscriptionExposedIdResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String Subscription
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                            Data.Either.Either
                                                              GHC.Base.String
                                                              Subscription
                                                        )
                                   | Bool -> Status -> Bool
forall a b. a -> b -> a
GHC.Base.const Bool
GHC.Types.True (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                     Error -> PostSubscriptionsSubscriptionExposedIdResponse
PostSubscriptionsSubscriptionExposedIdResponseDefault
                                       (Error -> PostSubscriptionsSubscriptionExposedIdResponse)
-> Either String Error
-> Either String PostSubscriptionsSubscriptionExposedIdResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String Error
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                            Data.Either.Either
                                                              GHC.Base.String
                                                              Error
                                                        )
                                   | Bool
GHC.Base.otherwise -> String
-> Either String PostSubscriptionsSubscriptionExposedIdResponse
forall a b. a -> Either a b
Data.Either.Left String
"Missing default response type"
                           )
                  Response ByteString
response_0
            )
            Response ByteString
response_0
      )
      (Text
-> Text
-> [QueryParameter]
-> Maybe PostSubscriptionsSubscriptionExposedIdRequestBody
-> RequestBodyEncoding
-> ClientT m (Response ByteString)
forall (m :: * -> *) body.
(MonadHTTP m, ToJSON body) =>
Text
-> Text
-> [QueryParameter]
-> Maybe body
-> RequestBodyEncoding
-> ClientT m (Response ByteString)
StripeAPI.Common.doBodyCallWithConfigurationM (Text -> Text
Data.Text.toUpper (Text -> Text) -> Text -> Text
forall a b. (a -> b) -> a -> b
GHC.Base.$ String -> Text
Data.Text.pack String
"POST") (String -> Text
Data.Text.pack (String
"/v1/subscriptions/" String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ (ByteString -> String
Data.ByteString.Char8.unpack (Bool -> ByteString -> ByteString
Network.HTTP.Types.URI.urlEncode Bool
GHC.Types.True (ByteString -> ByteString) -> ByteString -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ (String -> ByteString
Data.ByteString.Char8.pack (String -> ByteString) -> String -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ Text -> String
forall a. StringifyModel a => a -> String
StripeAPI.Common.stringifyModel Text
subscriptionExposedId)) String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ String
""))) [QueryParameter]
forall a. Monoid a => a
GHC.Base.mempty Maybe PostSubscriptionsSubscriptionExposedIdRequestBody
body RequestBodyEncoding
StripeAPI.Common.RequestBodyEncodingFormData)

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBody = PostSubscriptionsSubscriptionExposedIdRequestBody
  { -- | add_invoice_items: A list of prices and quantities that will generate invoice items appended to the first invoice for this subscription. You may pass up to 20 items.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems :: (GHC.Maybe.Maybe ([PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'])),
    -- | application_fee_percent: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner\'s Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https:\/\/stripe.com\/docs\/connect\/subscriptions\#collecting-fees-on-subscriptions).
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Double
postSubscriptionsSubscriptionExposedIdRequestBodyApplicationFeePercent :: (GHC.Maybe.Maybe GHC.Types.Double),
    -- | automatic_tax: Automatic tax settings for this subscription.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'),
    -- | billing_cycle_anchor: Either \`now\` or \`unchanged\`. Setting the value to \`now\` resets the subscription\'s billing cycle anchor to the current time. For more information, see the billing cycle [documentation](https:\/\/stripe.com\/docs\/billing\/subscriptions\/billing-cycle).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
postSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'),
    -- | billing_thresholds: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants),
    -- | cancel_at: A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using \`proration_behavior\`. If set during a future period, this will always cause a proration for that period.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyCancelAt :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants),
    -- | cancel_at_period_end: Boolean indicating whether this subscription should cancel at the end of the current period.
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyCancelAtPeriodEnd :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | collection_method: Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to \`charge_automatically\`.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
postSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'),
    -- | coupon: The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyCoupon :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | days_until_due: Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where \`collection_method\` is set to \`send_invoice\`.
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyDaysUntilDue :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | default_payment_method: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over \`default_source\`. If neither are set, invoices will use the customer\'s [invoice_settings.default_payment_method](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-invoice_settings-default_payment_method) or [default_source](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-default_source).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultPaymentMethod :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_source: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If \`default_payment_method\` is also set, \`default_payment_method\` will take precedence. If neither are set, invoices will use the customer\'s [invoice_settings.default_payment_method](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-invoice_settings-default_payment_method) or [default_source](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-default_source).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultSource :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_tax_rates: The tax rates that will apply to any subscription item that does not have \`tax_rates\` set. Invoices created will have their \`default_tax_rates\` populated from the subscription. Pass an empty string to remove previously-defined tax rates.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants),
    -- | expand: Specifies which fields in the response should be expanded.
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe [Text]
postSubscriptionsSubscriptionExposedIdRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])),
    -- | items: A list of up to 20 subscription items, each with an attached price.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
postSubscriptionsSubscriptionExposedIdRequestBodyItems :: (GHC.Maybe.Maybe ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems'])),
    -- | metadata: Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyMetadata :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants),
    -- | off_session: Indicates if a customer is on or off-session while an invoice payment is attempted.
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyOffSession :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | pause_collection: If specified, payment collection for this subscription will be paused.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants),
    -- | payment_behavior: Use \`allow_incomplete\` to transition the subscription to \`status=past_due\` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription\'s invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https:\/\/stripe.com\/docs\/billing\/migration\/strong-customer-authentication) for Billing to learn more. This is the default behavior.
    --
    -- Use \`default_incomplete\` to transition the subscription to \`status=past_due\` when payment is required and await explicit confirmation of the invoice\'s payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https:\/\/stripe.com\/docs\/billing\/migration\/strong-customer-authentication), or collecting a mandate for a bank debit payment method.
    --
    -- Use \`pending_if_incomplete\` to update the subscription using [pending updates](https:\/\/stripe.com\/docs\/billing\/subscriptions\/pending-updates). When you use \`pending_if_incomplete\` you can only pass the parameters [supported by pending updates](https:\/\/stripe.com\/docs\/billing\/pending-updates-reference\#supported-attributes).
    --
    -- Use \`error_if_incomplete\` if you want Stripe to return an HTTP 402 status code if a subscription\'s invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https:\/\/stripe.com\/docs\/upgrades\#2019-03-14) to learn more.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'),
    -- | pending_invoice_item_interval: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https:\/\/stripe.com\/docs\/api\#create_invoice) for the given subscription at the specified interval.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants),
    -- | promotion_code: The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyPromotionCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | proration_behavior: Determines how to handle [prorations](https:\/\/stripe.com\/docs\/subscriptions\/billing-cycle\#prorations) when the billing cycle changes (e.g., when switching plans, resetting \`billing_cycle_anchor=now\`, or starting a trial), or if an item\'s \`quantity\` changes. Valid values are \`create_prorations\`, \`none\`, or \`always_invoice\`.
    --
    -- Passing \`create_prorations\` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https:\/\/stripe.com\/docs\/subscriptions\/upgrading-downgrading\#immediate-payment). In order to always invoice immediately for prorations, pass \`always_invoice\`.
    --
    -- Prorations can be disabled by passing \`none\`.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'),
    -- | proration_date: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https:\/\/stripe.com\/docs\/api\#retrieve_customer_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyProrationDate :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | transfer_data: If specified, the funds from the subscription\'s invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants),
    -- | trial_end: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value \`now\` can be provided to end the customer\'s trial immediately. Can be at most two years from \`billing_cycle_anchor\`.
    PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants),
    -- | trial_from_plan: Indicates if a plan\'s \`trial_period_days\` should be applied to the subscription. Setting \`trial_end\` per subscription is preferred, and this defaults to \`false\`. Setting this flag to \`true\` together with \`trial_end\` is not allowed.
    PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyTrialFromPlan :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBody
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBody]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBody -> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBody
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBody -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBody]
    -> String -> String)
-> Show PostSubscriptionsSubscriptionExposedIdRequestBody
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBody]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBody]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBody -> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBody -> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBody
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBody
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBody
-> PostSubscriptionsSubscriptionExposedIdRequestBody -> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBody
 -> PostSubscriptionsSubscriptionExposedIdRequestBody -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBody
    -> PostSubscriptionsSubscriptionExposedIdRequestBody -> Bool)
-> Eq PostSubscriptionsSubscriptionExposedIdRequestBody
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBody
-> PostSubscriptionsSubscriptionExposedIdRequestBody -> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBody
-> PostSubscriptionsSubscriptionExposedIdRequestBody -> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBody
-> PostSubscriptionsSubscriptionExposedIdRequestBody -> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBody
-> PostSubscriptionsSubscriptionExposedIdRequestBody -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBody where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBody -> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBody
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"add_invoice_items" Text
-> Maybe
     [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"application_fee_percent" Text -> Maybe Double -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Double
postSubscriptionsSubscriptionExposedIdRequestBodyApplicationFeePercent PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"automatic_tax" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"billing_cycle_anchor" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
postSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"billing_thresholds" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cancel_at" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyCancelAt PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cancel_at_period_end" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyCancelAtPeriodEnd PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"collection_method" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
postSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"coupon" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyCoupon PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"days_until_due" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyDaysUntilDue PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"default_payment_method" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultPaymentMethod PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"default_source" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultSource PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"default_tax_rates" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"expand" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe [Text]
postSubscriptionsSubscriptionExposedIdRequestBodyExpand PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"items" Text
-> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
postSubscriptionsSubscriptionExposedIdRequestBodyItems PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyMetadata PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"off_session" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyOffSession PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pause_collection" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_behavior" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pending_invoice_item_interval" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"promotion_code" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyPromotionCode PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"proration_behavior" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"proration_date" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyProrationDate PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"transfer_data" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"trial_end" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"trial_from_plan" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyTrialFromPlan PostSubscriptionsSubscriptionExposedIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBody -> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBody
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"add_invoice_items" Text
-> Maybe
     [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"application_fee_percent" Text -> Maybe Double -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Double
postSubscriptionsSubscriptionExposedIdRequestBodyApplicationFeePercent PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"automatic_tax" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"billing_cycle_anchor" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
postSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"billing_thresholds" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cancel_at" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyCancelAt PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cancel_at_period_end" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyCancelAtPeriodEnd PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"collection_method" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
postSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"coupon" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyCoupon PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"days_until_due" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyDaysUntilDue PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"default_payment_method" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultPaymentMethod PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"default_source" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultSource PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"default_tax_rates" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"expand" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe [Text]
postSubscriptionsSubscriptionExposedIdRequestBodyExpand PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"items" Text
-> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
postSubscriptionsSubscriptionExposedIdRequestBodyItems PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyMetadata PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"off_session" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyOffSession PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pause_collection" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_behavior" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pending_invoice_item_interval" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"promotion_code" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyPromotionCode PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"proration_behavior" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"proration_date" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyProrationDate PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"transfer_data" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"trial_end" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd PostSubscriptionsSubscriptionExposedIdRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"trial_from_plan" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBody -> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyTrialFromPlan PostSubscriptionsSubscriptionExposedIdRequestBody
obj))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBody where
  parseJSON :: Value -> Parser PostSubscriptionsSubscriptionExposedIdRequestBody
parseJSON = String
-> (Object
    -> Parser PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Value
-> Parser PostSubscriptionsSubscriptionExposedIdRequestBody
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBody" (\Object
obj -> ((((((((((((((((((((((((((Maybe
   [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
 -> Maybe Double
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
 -> Maybe Bool
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
 -> Maybe [Text]
 -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
 -> Maybe Bool
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
 -> Maybe Text
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
 -> Maybe Int
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
 -> Maybe Bool
 -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
      -> Maybe Double
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
-> Maybe Double
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Maybe Bool
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Maybe [Text]
-> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Maybe Bool
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Maybe Int
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Maybe Bool
-> PostSubscriptionsSubscriptionExposedIdRequestBody
PostSubscriptionsSubscriptionExposedIdRequestBody Parser
  (Maybe
     [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
   -> Maybe Double
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'])
-> Parser
     (Maybe Double
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"add_invoice_items")) Parser
  (Maybe Double
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Double)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"application_fee_percent")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"automatic_tax")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"billing_cycle_anchor")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"billing_thresholds")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants)
-> Parser
     (Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"cancel_at")) Parser
  (Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Bool)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"cancel_at_period_end")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod')
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"collection_method")) Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"coupon")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"days_until_due")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"default_payment_method")) Parser
  (Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
      -> Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"default_source")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
   -> Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants)
-> Parser
     (Maybe [Text]
      -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"default_tax_rates")) Parser
  (Maybe [Text]
   -> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe [Text])
-> Parser
     (Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe [Text])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"expand")) Parser
  (Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'])
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
      -> Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"items")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
   -> Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants)
-> Parser
     (Maybe Bool
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser
  (Maybe Bool
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Bool)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"off_session")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pause_collection")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payment_behavior")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants)
-> Parser
     (Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pending_invoice_item_interval")) Parser
  (Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"promotion_code")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior')
-> Parser
     (Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"proration_behavior")) Parser
  (Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Int)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"proration_date")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
      -> Maybe Bool -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"transfer_data")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
   -> Maybe Bool -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants)
-> Parser
     (Maybe Bool -> PostSubscriptionsSubscriptionExposedIdRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"trial_end")) Parser
  (Maybe Bool -> PostSubscriptionsSubscriptionExposedIdRequestBody)
-> Parser (Maybe Bool)
-> Parser PostSubscriptionsSubscriptionExposedIdRequestBody
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"trial_from_plan"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBody' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBody :: PostSubscriptionsSubscriptionExposedIdRequestBody
mkPostSubscriptionsSubscriptionExposedIdRequestBody :: PostSubscriptionsSubscriptionExposedIdRequestBody
mkPostSubscriptionsSubscriptionExposedIdRequestBody =
  PostSubscriptionsSubscriptionExposedIdRequestBody :: Maybe
  [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
-> Maybe Double
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Maybe Bool
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Maybe [Text]
-> Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Maybe Bool
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Maybe Int
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Maybe Bool
-> PostSubscriptionsSubscriptionExposedIdRequestBody
PostSubscriptionsSubscriptionExposedIdRequestBody
    { postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems :: Maybe
  [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems = Maybe
  [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyApplicationFeePercent :: Maybe Double
postSubscriptionsSubscriptionExposedIdRequestBodyApplicationFeePercent = Maybe Double
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
postSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyCancelAt :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyCancelAt = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyCancelAtPeriodEnd :: Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyCancelAtPeriodEnd = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
postSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyCoupon :: Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyCoupon = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyDaysUntilDue :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyDaysUntilDue = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyDefaultPaymentMethod :: Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultPaymentMethod = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyDefaultSource :: Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultSource = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyExpand :: Maybe [Text]
postSubscriptionsSubscriptionExposedIdRequestBodyExpand = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems :: Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
postSubscriptionsSubscriptionExposedIdRequestBodyItems = Maybe [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyMetadata :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyMetadata = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyOffSession :: Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyOffSession = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyPromotionCode :: Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyPromotionCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyProrationDate :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyProrationDate = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyTransferData :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyTrialFromPlan :: Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyTrialFromPlan = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.add_invoice_items.items@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems' = PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
  { -- | price
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Price :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | price_data
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'),
    -- | quantity
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Quantity :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | tax_rates
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants)
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"price" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Price PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"price_data" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"quantity" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Quantity PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_rates" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"price" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Price PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"price_data" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"quantity" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Quantity PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"tax_rates" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
obj))))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'" (\Object
obj -> ((((Maybe Text
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
 -> Maybe Int
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
-> Parser
     (Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe Int
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems' Parser
  (Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"price")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
-> Parser
     (Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"price_data")) Parser
  (Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
-> Parser (Maybe Int)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"quantity")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants)
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_rates"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems' :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems' :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems' =
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems' :: Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe Int
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'
    { postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Price :: Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Price = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Quantity :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'Quantity = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.add_invoice_items.items.properties.price_data@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData' = PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
  { -- | currency
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Currency :: Data.Text.Internal.Text,
    -- | product
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Product :: Data.Text.Internal.Text,
    -- | tax_behavior
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'),
    -- | unit_amount
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | unit_amount_decimal
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmountDecimal :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"currency" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Currency PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"product" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Product PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_behavior" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"unit_amount" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmount PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"unit_amount_decimal" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmountDecimal PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"currency" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Currency PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"product" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Product PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_behavior" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"unit_amount" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmount PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"unit_amount_decimal" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmountDecimal PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
obj)))))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'" (\Object
obj -> (((((Text
 -> Text
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
 -> Maybe Int
 -> Maybe Text
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
-> Parser
     (Text
      -> Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Text
-> Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Maybe Int
-> Maybe Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData' Parser
  (Text
   -> Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
-> Parser Text
-> Parser
     (Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"currency")) Parser
  (Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
-> Parser Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"product")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior')
-> Parser
     (Maybe Int
      -> Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_behavior")) Parser
  (Maybe Int
   -> Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"unit_amount")) Parser
  (Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData')
-> Parser (Maybe Text)
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"unit_amount_decimal"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData' ::
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Currency'
  Data.Text.Internal.Text ->
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Product'
  Data.Text.Internal.Text ->
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData' :: Text
-> Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData' Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Currency Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Product =
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData' :: Text
-> Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Maybe Int
-> Maybe Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'
    { postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Currency :: Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Currency = Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Currency,
      postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Product :: Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Product = Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'Product,
      postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmount :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmountDecimal :: Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'UnitAmountDecimal = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.add_invoice_items.items.properties.price_data.properties.tax_behavior@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"exclusive"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'EnumExclusive
  | -- | Represents the JSON value @"inclusive"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'EnumInclusive
  | -- | Represents the JSON value @"unspecified"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'EnumUnspecified
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'Other Value
val) = Value
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'EnumExclusive) = Value
"exclusive"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'EnumInclusive) = Value
"inclusive"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'EnumUnspecified) = Value
"unspecified"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
parseJSON Value
val =
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"exclusive" -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'EnumExclusive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inclusive" -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'EnumInclusive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unspecified" -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'EnumUnspecified
            | Bool
GHC.Base.otherwise -> Value
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'PriceData'TaxBehavior'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.add_invoice_items.items.properties.tax_rates.anyOf@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'ListTText ([Data.Text.Internal.Text])
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'ListTText [Text]
a) = [Text] -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON [Text]
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'EmptyString
        | Bool
GHC.Base.otherwise -> case ([Text]
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'ListTText ([Text]
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants)
-> Result [Text]
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result [Text]
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAddInvoiceItems'TaxRates'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.automatic_tax@ in the specification.
--
-- Automatic tax settings for this subscription.
data PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax' = PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
  { -- | enabled
    PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Bool
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'Enabled :: GHC.Types.Bool
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"enabled" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Bool
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'Enabled PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"enabled" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
-> Bool
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'Enabled PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax')
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'" (\Object
obj -> (Bool
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax')
-> Parser
     (Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Bool
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax' Parser
  (Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax')
-> Parser Bool
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"enabled"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax' ::
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'Enabled'
  GHC.Types.Bool ->
  PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax' :: Bool
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax' Bool
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'Enabled = PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax' :: Bool
-> PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'
PostSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax' {postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'Enabled :: Bool
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'Enabled = Bool
postSubscriptionsSubscriptionExposedIdRequestBodyAutomaticTax'Enabled}

-- | Defines the enum schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.billing_cycle_anchor@ in the specification.
--
-- Either \`now\` or \`unchanged\`. Setting the value to \`now\` resets the subscription\'s billing cycle anchor to the current time. For more information, see the billing cycle [documentation](https:\/\/stripe.com\/docs\/billing\/subscriptions\/billing-cycle).
data PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"now"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'EnumNow
  | -- | Represents the JSON value @"unchanged"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'EnumUnchanged
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'Other Value
val) = Value
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'EnumNow) = Value
"now"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'EnumUnchanged) = Value
"unchanged"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
parseJSON Value
val =
    PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"now" -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'EnumNow
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unchanged" -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'EnumUnchanged
            | Bool
GHC.Base.otherwise -> Value
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingCycleAnchor'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.billing_thresholds.anyOf@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 = PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
  { -- | amount_gte
    PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1AmountGte :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | reset_billing_cycle_anchor
    PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1ResetBillingCycleAnchor :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"amount_gte" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1AmountGte PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"reset_billing_cycle_anchor" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1ResetBillingCycleAnchor PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"amount_gte" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1AmountGte PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"reset_billing_cycle_anchor" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1ResetBillingCycleAnchor PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1)
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1" (\Object
obj -> ((Maybe Int
 -> Maybe Bool
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1)
-> Parser
     (Maybe Int
      -> Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Int
-> Maybe Bool
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 Parser
  (Maybe Int
   -> Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1)
-> Parser (Maybe Int)
-> Parser
     (Maybe Bool
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"amount_gte")) Parser
  (Maybe Bool
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1)
-> Parser (Maybe Bool)
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"reset_billing_cycle_anchor"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 =
  PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 :: Maybe Int
-> Maybe Bool
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
    { postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1AmountGte :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1AmountGte = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1ResetBillingCycleAnchor :: Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1ResetBillingCycleAnchor = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.billing_thresholds.anyOf@ in the specification.
--
-- Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
data PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
a) = PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'EmptyString
        | Bool
GHC.Base.otherwise -> case (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1 (PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants)
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'OneOf1
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyBillingThresholds'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.cancel_at.anyOf@ in the specification.
--
-- A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using \`proration_behavior\`. If set during a future period, this will always cause a proration for that period.
data PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Int GHC.Types.Int
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Int Int
a) = Int -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Int
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'EmptyString
        | Bool
GHC.Base.otherwise -> case (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Int (Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants)
-> Result Int
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Int
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyCancelAt'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.collection_method@ in the specification.
--
-- Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to \`charge_automatically\`.
data PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"charge_automatically"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'EnumChargeAutomatically
  | -- | Represents the JSON value @"send_invoice"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'EnumSendInvoice
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'Other Value
val) = Value
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'EnumChargeAutomatically) = Value
"charge_automatically"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'EnumSendInvoice) = Value
"send_invoice"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
parseJSON Value
val =
    PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"charge_automatically" -> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'EnumChargeAutomatically
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"send_invoice" -> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'EnumSendInvoice
            | Bool
GHC.Base.otherwise -> Value
-> PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'
PostSubscriptionsSubscriptionExposedIdRequestBodyCollectionMethod'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.default_tax_rates.anyOf@ in the specification.
--
-- The tax rates that will apply to any subscription item that does not have \`tax_rates\` set. Invoices created will have their \`default_tax_rates\` populated from the subscription. Pass an empty string to remove previously-defined tax rates.
data PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'ListTText ([Data.Text.Internal.Text])
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'ListTText [Text]
a) = [Text] -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON [Text]
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'EmptyString
        | Bool
GHC.Base.otherwise -> case ([Text]
-> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'ListTText ([Text]
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants)
-> Result [Text]
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result [Text]
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyDefaultTaxRates'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.items@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyItems' = PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
  { -- | billing_thresholds
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants),
    -- | clear_usage
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyItems'ClearUsage :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | deleted
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Deleted :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | id
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | metadata
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants),
    -- | price
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Price :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | price_data
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'),
    -- | quantity
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Quantity :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | tax_rates
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants)
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
    -> String -> String)
-> Show PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> Bool)
-> Eq PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"billing_thresholds" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"clear_usage" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyItems'ClearUsage PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"deleted" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Deleted PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Id PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"price" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Price PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"price_data" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"quantity" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Quantity PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_rates" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems' -> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"billing_thresholds" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"clear_usage" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyItems'ClearUsage PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"deleted" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Deleted PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Id PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"price" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Price PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"price_data" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"quantity" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Quantity PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"tax_rates" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
obj)))))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems' where
  parseJSON :: Value
-> Parser PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
parseJSON = String
-> (Object
    -> Parser PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Value
-> Parser PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyItems'" (\Object
obj -> (((((((((Maybe
   PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
 -> Maybe Text
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
 -> Maybe Int
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe Int
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems' Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"billing_thresholds")) Parser
  (Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"clear_usage")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"deleted")) Parser
  (Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"id")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants)
-> Parser
     (Maybe Text
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser
  (Maybe Text
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
      -> Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"price")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
   -> Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
-> Parser
     (Maybe Int
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"price_data")) Parser
  (Maybe Int
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser (Maybe Int)
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"quantity")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants)
-> Parser PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_rates"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyItems'' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems' :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems' :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems' =
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems' :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Maybe Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe Int
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'
    { postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'ClearUsage :: Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyItems'ClearUsage = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'Deleted :: Maybe Bool
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Deleted = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'Id :: Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'Price :: Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Price = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'Quantity :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'Quantity = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
postSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.items.properties.billing_thresholds.anyOf@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 = PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
  { -- | usage_gte
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1UsageGte :: GHC.Types.Int
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"usage_gte" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1UsageGte PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"usage_gte" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1UsageGte PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1)
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1" (\Object
obj -> (Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1)
-> Parser
     (Int
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 Parser
  (Int
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1)
-> Parser Int
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"usage_gte"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 ::
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1UsageGte'
  GHC.Types.Int ->
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1UsageGte = PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 {postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1UsageGte :: Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1UsageGte = Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1UsageGte}

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.items.properties.billing_thresholds.anyOf@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
a) = PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'EmptyString
        | Bool
GHC.Base.otherwise -> case (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1 (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants)
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'OneOf1
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'BillingThresholds'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.items.properties.metadata.anyOf@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Object Data.Aeson.Types.Internal.Object
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Object Object
a) = Object -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Object
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'EmptyString
        | Bool
GHC.Base.otherwise -> case (Object
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Object (Object
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants)
-> Result Object
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Object
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'Metadata'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.items.properties.price_data@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData' = PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
  { -- | currency
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Currency :: Data.Text.Internal.Text,
    -- | product
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Product :: Data.Text.Internal.Text,
    -- | recurring
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring',
    -- | tax_behavior
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior :: (GHC.Maybe.Maybe PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'),
    -- | unit_amount
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | unit_amount_decimal
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmountDecimal :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"currency" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Currency PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"product" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Product PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"recurring" Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_behavior" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"unit_amount" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmount PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"unit_amount_decimal" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmountDecimal PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"currency" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Currency PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"product" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Product PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"recurring" Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_behavior" Text
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"unit_amount" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmount PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"unit_amount_decimal" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
-> Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmountDecimal PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'" (\Object
obj -> ((((((Text
 -> Text
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
 -> Maybe
      PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
 -> Maybe Int
 -> Maybe Text
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
-> Parser
     (Text
      -> Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Text
-> Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Maybe Int
-> Maybe Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData' Parser
  (Text
   -> Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
-> Parser Text
-> Parser
     (Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"currency")) Parser
  (Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
-> Parser Text
-> Parser
     (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
      -> Maybe
           PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"product")) Parser
  (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
   -> Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"recurring")) Parser
  (Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior')
-> Parser
     (Maybe Int
      -> Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_behavior")) Parser
  (Maybe Int
   -> Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"unit_amount")) Parser
  (Maybe Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData')
-> Parser (Maybe Text)
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"unit_amount_decimal"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData' ::
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Currency'
  Data.Text.Internal.Text ->
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Product'
  Data.Text.Internal.Text ->
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring' ->
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData' :: Text
-> Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData' Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Currency Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Product PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring =
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData' :: Text
-> Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Maybe
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Maybe Int
-> Maybe Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'
    { postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Currency :: Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Currency = Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Currency,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Product :: Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Product = Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Product,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring = PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior :: Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior = Maybe
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmount :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmountDecimal :: Maybe Text
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'UnitAmountDecimal = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.items.properties.price_data.properties.recurring@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring' = PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
  { -- | interval
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval',
    -- | interval_count
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'IntervalCount :: (GHC.Maybe.Maybe GHC.Types.Int)
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"interval" Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"interval_count" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'IntervalCount PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"interval" Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"interval_count" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'IntervalCount PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring')
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'" (\Object
obj -> ((PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
 -> Maybe Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring')
-> Parser
     (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
      -> Maybe Int
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Maybe Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring' Parser
  (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
   -> Maybe Int
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring')
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Parser
     (Maybe Int
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"interval")) Parser
  (Maybe Int
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring')
-> Parser (Maybe Int)
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"interval_count"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring' ::
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval' ->
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring' :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
mkPostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring' PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval =
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring' :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Maybe Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'
    { postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval = PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval,
      postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'IntervalCount :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'IntervalCount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.items.properties.price_data.properties.recurring.properties.interval@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"day"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumDay
  | -- | Represents the JSON value @"month"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumMonth
  | -- | Represents the JSON value @"week"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumWeek
  | -- | Represents the JSON value @"year"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumYear
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'Other Value
val) = Value
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumDay) = Value
"day"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumMonth) = Value
"month"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumWeek) = Value
"week"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumYear) = Value
"year"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
parseJSON Value
val =
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"day" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumDay
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"month" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumMonth
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"week" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumWeek
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"year" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'EnumYear
            | Bool
GHC.Base.otherwise -> Value
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'Recurring'Interval'Other Value
val
      )

-- | Defines the enum schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.items.properties.price_data.properties.tax_behavior@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"exclusive"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'EnumExclusive
  | -- | Represents the JSON value @"inclusive"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'EnumInclusive
  | -- | Represents the JSON value @"unspecified"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'EnumUnspecified
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'Other Value
val) = Value
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'EnumExclusive) = Value
"exclusive"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'EnumInclusive) = Value
"inclusive"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'EnumUnspecified) = Value
"unspecified"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
parseJSON Value
val =
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"exclusive" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'EnumExclusive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inclusive" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'EnumInclusive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unspecified" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'EnumUnspecified
            | Bool
GHC.Base.otherwise -> Value
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'PriceData'TaxBehavior'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.items.properties.tax_rates.anyOf@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'ListTText ([Data.Text.Internal.Text])
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'ListTText [Text]
a) = [Text] -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON [Text]
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'EmptyString
        | Bool
GHC.Base.otherwise -> case ([Text]
-> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'ListTText ([Text]
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants)
-> Result [Text]
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result [Text]
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyItems'TaxRates'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.metadata.anyOf@ in the specification.
--
-- Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`.
data PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Object Object
a) = Object -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Object
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'EmptyString
        | Bool
GHC.Base.otherwise -> case (Object
-> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Object (Object
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants)
-> Result Object
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Object
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyMetadata'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.pause_collection.anyOf@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 = PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
  { -- | behavior
    PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior',
    -- | resumes_at
    PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1ResumesAt :: (GHC.Maybe.Maybe GHC.Types.Int)
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"behavior" Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"resumes_at" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1ResumesAt PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"behavior" Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"resumes_at" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1ResumesAt PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1)
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1" (\Object
obj -> ((PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
 -> Maybe Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1)
-> Parser
     (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
      -> Maybe Int
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Maybe Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 Parser
  (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
   -> Maybe Int
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1)
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Parser
     (Maybe Int
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"behavior")) Parser
  (Maybe Int
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1)
-> Parser (Maybe Int)
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"resumes_at"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 ::
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
  PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior' ->
  PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior =
  PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Maybe Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
    { postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior = PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior,
      postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1ResumesAt :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1ResumesAt = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.pause_collection.anyOf.properties.behavior@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"keep_as_draft"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'EnumKeepAsDraft
  | -- | Represents the JSON value @"mark_uncollectible"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'EnumMarkUncollectible
  | -- | Represents the JSON value @"void"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'EnumVoid
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'Other Value
val) = Value
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'EnumKeepAsDraft) = Value
"keep_as_draft"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'EnumMarkUncollectible) = Value
"mark_uncollectible"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'EnumVoid) = Value
"void"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
parseJSON Value
val =
    PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"keep_as_draft" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'EnumKeepAsDraft
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"mark_uncollectible" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'EnumMarkUncollectible
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"void" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'EnumVoid
            | Bool
GHC.Base.otherwise -> Value
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1Behavior'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.pause_collection.anyOf@ in the specification.
--
-- If specified, payment collection for this subscription will be paused.
data PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
a) = PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'EmptyString
        | Bool
GHC.Base.otherwise -> case (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1 (PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants)
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'OneOf1
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPauseCollection'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_behavior@ in the specification.
--
-- Use \`allow_incomplete\` to transition the subscription to \`status=past_due\` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription\'s invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https:\/\/stripe.com\/docs\/billing\/migration\/strong-customer-authentication) for Billing to learn more. This is the default behavior.
--
-- Use \`default_incomplete\` to transition the subscription to \`status=past_due\` when payment is required and await explicit confirmation of the invoice\'s payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https:\/\/stripe.com\/docs\/billing\/migration\/strong-customer-authentication), or collecting a mandate for a bank debit payment method.
--
-- Use \`pending_if_incomplete\` to update the subscription using [pending updates](https:\/\/stripe.com\/docs\/billing\/subscriptions\/pending-updates). When you use \`pending_if_incomplete\` you can only pass the parameters [supported by pending updates](https:\/\/stripe.com\/docs\/billing\/pending-updates-reference\#supported-attributes).
--
-- Use \`error_if_incomplete\` if you want Stripe to return an HTTP 402 status code if a subscription\'s invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https:\/\/stripe.com\/docs\/upgrades\#2019-03-14) to learn more.
data PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"allow_incomplete"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumAllowIncomplete
  | -- | Represents the JSON value @"default_incomplete"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumDefaultIncomplete
  | -- | Represents the JSON value @"error_if_incomplete"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumErrorIfIncomplete
  | -- | Represents the JSON value @"pending_if_incomplete"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumPendingIfIncomplete
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'Other Value
val) = Value
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumAllowIncomplete) = Value
"allow_incomplete"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumDefaultIncomplete) = Value
"default_incomplete"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumErrorIfIncomplete) = Value
"error_if_incomplete"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumPendingIfIncomplete) = Value
"pending_if_incomplete"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
parseJSON Value
val =
    PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"allow_incomplete" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumAllowIncomplete
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"default_incomplete" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumDefaultIncomplete
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"error_if_incomplete" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumErrorIfIncomplete
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending_if_incomplete" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'EnumPendingIfIncomplete
            | Bool
GHC.Base.otherwise -> Value
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyPaymentBehavior'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.pending_invoice_item_interval.anyOf@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 = PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
  { -- | interval
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval',
    -- | interval_count
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1IntervalCount :: (GHC.Maybe.Maybe GHC.Types.Int)
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"interval" Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"interval_count" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1IntervalCount PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"interval" Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"interval_count" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1IntervalCount PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1)
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1" (\Object
obj -> ((PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
 -> Maybe Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1)
-> Parser
     (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
      -> Maybe Int
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Maybe Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 Parser
  (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
   -> Maybe Int
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1)
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Parser
     (Maybe Int
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"interval")) Parser
  (Maybe Int
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1)
-> Parser (Maybe Int)
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"interval_count"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 ::
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
  PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval' ->
  PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval =
  PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Maybe Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
    { postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval = PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval,
      postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1IntervalCount :: Maybe Int
postSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1IntervalCount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.pending_invoice_item_interval.anyOf.properties.interval@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"day"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumDay
  | -- | Represents the JSON value @"month"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumMonth
  | -- | Represents the JSON value @"week"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumWeek
  | -- | Represents the JSON value @"year"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumYear
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'Other Value
val) = Value
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumDay) = Value
"day"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumMonth) = Value
"month"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumWeek) = Value
"week"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumYear) = Value
"year"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
parseJSON Value
val =
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"day" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumDay
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"month" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumMonth
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"week" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumWeek
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"year" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'EnumYear
            | Bool
GHC.Base.otherwise -> Value
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1Interval'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.pending_invoice_item_interval.anyOf@ in the specification.
--
-- Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https:\/\/stripe.com\/docs\/api\#create_invoice) for the given subscription at the specified interval.
data PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
a) = PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'EmptyString
        | Bool
GHC.Base.otherwise -> case (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1 (PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants)
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'OneOf1
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyPendingInvoiceItemInterval'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.proration_behavior@ in the specification.
--
-- Determines how to handle [prorations](https:\/\/stripe.com\/docs\/subscriptions\/billing-cycle\#prorations) when the billing cycle changes (e.g., when switching plans, resetting \`billing_cycle_anchor=now\`, or starting a trial), or if an item\'s \`quantity\` changes. Valid values are \`create_prorations\`, \`none\`, or \`always_invoice\`.
--
-- Passing \`create_prorations\` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https:\/\/stripe.com\/docs\/subscriptions\/upgrading-downgrading\#immediate-payment). In order to always invoice immediately for prorations, pass \`always_invoice\`.
--
-- Prorations can be disabled by passing \`none\`.
data PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"always_invoice"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'EnumAlwaysInvoice
  | -- | Represents the JSON value @"create_prorations"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'EnumCreateProrations
  | -- | Represents the JSON value @"none"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'EnumNone
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior']
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior']
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior']
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior']
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior' where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'Other Value
val) = Value
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'EnumAlwaysInvoice) = Value
"always_invoice"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'EnumCreateProrations) = Value
"create_prorations"
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'EnumNone) = Value
"none"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior' where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
parseJSON Value
val =
    PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"always_invoice" -> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'EnumAlwaysInvoice
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"create_prorations" -> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'EnumCreateProrations
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"none" -> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'EnumNone
            | Bool
GHC.Base.otherwise -> Value
-> PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'
PostSubscriptionsSubscriptionExposedIdRequestBodyProrationBehavior'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.transfer_data.anyOf@ in the specification.
data PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 = PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
  { -- | amount_percent
    PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Maybe Double
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1AmountPercent :: (GHC.Maybe.Maybe GHC.Types.Double),
    -- | destination
    PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1Destination :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> String
-> String
GHC.Show.Show,
      PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Value
toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"amount_percent" Text -> Maybe Double -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Maybe Double
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1AmountPercent PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"destination" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1Destination PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Encoding
toEncoding PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"amount_percent" Text -> Maybe Double -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Maybe Double
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1AmountPercent PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"destination" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Text
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1Destination PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
parseJSON = String
-> (Object
    -> Parser
         PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1)
-> Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1" (\Object
obj -> ((Maybe Double
 -> Text
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1)
-> Parser
     (Maybe Double
      -> Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Double
-> Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 Parser
  (Maybe Double
   -> Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1)
-> Parser (Maybe Double)
-> Parser
     (Text
      -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"amount_percent")) Parser
  (Text
   -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1)
-> Parser Text
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"destination"))

-- | Create a new 'PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1' with all required fields.
mkPostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 ::
  -- | 'postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1Destination'
  Data.Text.Internal.Text ->
  PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 :: Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
mkPostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 Text
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1Destination =
  PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 :: Maybe Double
-> Text
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
    { postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1AmountPercent :: Maybe Double
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1AmountPercent = Maybe Double
forall a. Maybe a
GHC.Maybe.Nothing,
      postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1Destination :: Text
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1Destination = Text
postSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1Destination
    }

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.transfer_data.anyOf@ in the specification.
--
-- If specified, the funds from the subscription\'s invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value.
data PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
  = -- | Represents the JSON value @""@
    PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'EmptyString
  | PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
a) = PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'EmptyString
        | Bool
GHC.Base.otherwise -> case (PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1 (PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants)
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'OneOf1
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTransferData'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @paths.\/v1\/subscriptions\/{subscription_exposed_id}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.trial_end.anyOf@ in the specification.
--
-- Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value \`now\` can be provided to end the customer\'s trial immediately. Can be at most two years from \`billing_cycle_anchor\`.
data PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
  = -- | Represents the JSON value @"now"@
    PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Now
  | PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Int GHC.Types.Int
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants]
-> String -> String
PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
    -> String)
-> ([PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants]
    -> String -> String)
-> Show
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> String
$cshow :: PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Bool
(PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
 -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
    -> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
    -> Bool)
-> Eq
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Bool
== :: PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants where
  toJSON :: PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Value
toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Int Int
a) = Int -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Int
a
  toJSON (PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Now) = Value
"now"

instance Data.Aeson.Types.FromJSON.FromJSON PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants where
  parseJSON :: Value
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"now" -> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Now
        | Bool
GHC.Base.otherwise -> case (Int
-> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Int (Int
 -> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants)
-> Result Int
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Int
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
a -> PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostSubscriptionsSubscriptionExposedIdRequestBodyTrialEnd'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Represents a response of the operation 'postSubscriptionsSubscriptionExposedId'.
--
-- The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), 'PostSubscriptionsSubscriptionExposedIdResponseError' is used.
data PostSubscriptionsSubscriptionExposedIdResponse
  = -- | Means either no matching case available or a parse error
    PostSubscriptionsSubscriptionExposedIdResponseError GHC.Base.String
  | -- | Successful response.
    PostSubscriptionsSubscriptionExposedIdResponse200 Subscription
  | -- | Error response.
    PostSubscriptionsSubscriptionExposedIdResponseDefault Error
  deriving (Int
-> PostSubscriptionsSubscriptionExposedIdResponse
-> String
-> String
[PostSubscriptionsSubscriptionExposedIdResponse]
-> String -> String
PostSubscriptionsSubscriptionExposedIdResponse -> String
(Int
 -> PostSubscriptionsSubscriptionExposedIdResponse
 -> String
 -> String)
-> (PostSubscriptionsSubscriptionExposedIdResponse -> String)
-> ([PostSubscriptionsSubscriptionExposedIdResponse]
    -> String -> String)
-> Show PostSubscriptionsSubscriptionExposedIdResponse
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostSubscriptionsSubscriptionExposedIdResponse]
-> String -> String
$cshowList :: [PostSubscriptionsSubscriptionExposedIdResponse]
-> String -> String
show :: PostSubscriptionsSubscriptionExposedIdResponse -> String
$cshow :: PostSubscriptionsSubscriptionExposedIdResponse -> String
showsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdResponse
-> String
-> String
$cshowsPrec :: Int
-> PostSubscriptionsSubscriptionExposedIdResponse
-> String
-> String
GHC.Show.Show, PostSubscriptionsSubscriptionExposedIdResponse
-> PostSubscriptionsSubscriptionExposedIdResponse -> Bool
(PostSubscriptionsSubscriptionExposedIdResponse
 -> PostSubscriptionsSubscriptionExposedIdResponse -> Bool)
-> (PostSubscriptionsSubscriptionExposedIdResponse
    -> PostSubscriptionsSubscriptionExposedIdResponse -> Bool)
-> Eq PostSubscriptionsSubscriptionExposedIdResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostSubscriptionsSubscriptionExposedIdResponse
-> PostSubscriptionsSubscriptionExposedIdResponse -> Bool
$c/= :: PostSubscriptionsSubscriptionExposedIdResponse
-> PostSubscriptionsSubscriptionExposedIdResponse -> Bool
== :: PostSubscriptionsSubscriptionExposedIdResponse
-> PostSubscriptionsSubscriptionExposedIdResponse -> Bool
$c== :: PostSubscriptionsSubscriptionExposedIdResponse
-> PostSubscriptionsSubscriptionExposedIdResponse -> Bool
GHC.Classes.Eq)