{-# 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 getInvoicesUpcomingLines
module StripeAPI.Operations.GetInvoicesUpcomingLines 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

-- | > GET /v1/invoices/upcoming/lines
--
-- \<p>When retrieving an upcoming invoice, you’ll get a \<strong>lines\<\/strong> property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.\<\/p>
getInvoicesUpcomingLines ::
  forall m.
  StripeAPI.Common.MonadHTTP m =>
  -- | Contains all available parameters of this operation (query and path parameters)
  GetInvoicesUpcomingLinesParameters ->
  -- | Monadic computation which returns the result of the operation
  StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response GetInvoicesUpcomingLinesResponse)
getInvoicesUpcomingLines :: GetInvoicesUpcomingLinesParameters
-> ClientT m (Response GetInvoicesUpcomingLinesResponse)
getInvoicesUpcomingLines GetInvoicesUpcomingLinesParameters
parameters =
  (Response ByteString -> Response GetInvoicesUpcomingLinesResponse)
-> ClientT m (Response ByteString)
-> ClientT m (Response GetInvoicesUpcomingLinesResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
    ( \Response ByteString
response_0 ->
        (ByteString -> GetInvoicesUpcomingLinesResponse)
-> Response ByteString -> Response GetInvoicesUpcomingLinesResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
          ( (String -> GetInvoicesUpcomingLinesResponse)
-> (GetInvoicesUpcomingLinesResponse
    -> GetInvoicesUpcomingLinesResponse)
-> Either String GetInvoicesUpcomingLinesResponse
-> GetInvoicesUpcomingLinesResponse
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
Data.Either.either String -> GetInvoicesUpcomingLinesResponse
GetInvoicesUpcomingLinesResponseError GetInvoicesUpcomingLinesResponse
-> GetInvoicesUpcomingLinesResponse
forall a. a -> a
GHC.Base.id
              (Either String GetInvoicesUpcomingLinesResponse
 -> GetInvoicesUpcomingLinesResponse)
-> (ByteString -> Either String GetInvoicesUpcomingLinesResponse)
-> ByteString
-> GetInvoicesUpcomingLinesResponse
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) ->
                                   GetInvoicesUpcomingLinesResponseBody200
-> GetInvoicesUpcomingLinesResponse
GetInvoicesUpcomingLinesResponse200
                                     (GetInvoicesUpcomingLinesResponseBody200
 -> GetInvoicesUpcomingLinesResponse)
-> Either String GetInvoicesUpcomingLinesResponseBody200
-> Either String GetInvoicesUpcomingLinesResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String GetInvoicesUpcomingLinesResponseBody200
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                          Data.Either.Either
                                                            GHC.Base.String
                                                            GetInvoicesUpcomingLinesResponseBody200
                                                      )
                                 | 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 -> GetInvoicesUpcomingLinesResponse
GetInvoicesUpcomingLinesResponseDefault
                                     (Error -> GetInvoicesUpcomingLinesResponse)
-> Either String Error
-> Either String GetInvoicesUpcomingLinesResponse
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 GetInvoicesUpcomingLinesResponse
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] -> ClientT m (Response ByteString)
forall (m :: * -> *).
MonadHTTP m =>
Text -> Text -> [QueryParameter] -> ClientT m (Response ByteString)
StripeAPI.Common.doCallWithConfigurationM
        (Text -> Text
Data.Text.toUpper (Text -> Text) -> Text -> Text
forall a b. (a -> b) -> a -> b
GHC.Base.$ String -> Text
Data.Text.pack String
"GET")
        (String -> Text
Data.Text.pack String
"/v1/invoices/upcoming/lines")
        [ Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"automatic_tax") (GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Value)
-> Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
getInvoicesUpcomingLinesParametersQueryAutomaticTax GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"coupon") (Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Text -> Value) -> Maybe Text -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryCoupon GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"customer") (Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Text -> Value) -> Maybe Text -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomer GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"customer_details") (GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Value)
-> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
getInvoicesUpcomingLinesParametersQueryCustomerDetails GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"discounts") (GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
 -> Value)
-> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
getInvoicesUpcomingLinesParametersQueryDiscounts GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"ending_before") (Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Text -> Value) -> Maybe Text -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryEndingBefore GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"expand") ([Text] -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON ([Text] -> Value) -> Maybe [Text] -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe [Text]
getInvoicesUpcomingLinesParametersQueryExpand GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"invoice_items") ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'] -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'] -> Value)
-> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
getInvoicesUpcomingLinesParametersQueryInvoiceItems GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"limit") (Int -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Int -> Value) -> Maybe Int -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQueryLimit GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"schedule") (Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Text -> Value) -> Maybe Text -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQuerySchedule GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"starting_after") (Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Text -> Value) -> Maybe Text -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryStartingAfter GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription") (Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Text -> Value) -> Maybe Text -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscription GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_billing_cycle_anchor") (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
 -> Value)
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_cancel_at") (GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
 -> Value)
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_cancel_at_period_end") (Bool -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Bool -> Value) -> Maybe Bool -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_cancel_now") (Bool -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Bool -> Value) -> Maybe Bool -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_default_tax_rates") (GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
 -> Value)
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_items") ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
 -> Value)
-> Maybe
     [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe
     [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
getInvoicesUpcomingLinesParametersQuerySubscriptionItems GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_proration_behavior") (GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
 -> Value)
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_proration_date") (Int -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Int -> Value) -> Maybe Int -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_start_date") (Int -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Int -> Value) -> Maybe Int -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_trial_end") (GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
 -> Value)
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
          Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"subscription_trial_from_plan") (Bool -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Bool -> Value) -> Maybe Bool -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan GetInvoicesUpcomingLinesParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True
        ]
    )

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters@ in the specification.
data GetInvoicesUpcomingLinesParameters = GetInvoicesUpcomingLinesParameters
  { -- | queryAutomatic_tax: Represents the parameter named \'automatic_tax\'
    --
    -- Settings for automatic tax lookup for this invoice preview.
    GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
getInvoicesUpcomingLinesParametersQueryAutomaticTax :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'),
    -- | queryCoupon: Represents the parameter named \'coupon\'
    --
    -- The code of the coupon to apply. If \`subscription\` or \`subscription_items\` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer\'s subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryCoupon :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | queryCustomer: Represents the parameter named \'customer\'
    --
    -- The identifier of the customer whose upcoming invoice you\'d like to retrieve.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomer :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | queryCustomer_details: Represents the parameter named \'customer_details\'
    --
    -- Details about the customer you want to invoice
    GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
getInvoicesUpcomingLinesParametersQueryCustomerDetails :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'),
    -- | queryDiscounts: Represents the parameter named \'discounts\'
    --
    -- The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn\'t been created, use \`coupon\` instead.
    GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
getInvoicesUpcomingLinesParametersQueryDiscounts :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants),
    -- | queryEnding_before: Represents the parameter named \'ending_before\'
    --
    -- A cursor for use in pagination. \`ending_before\` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with \`obj_bar\`, your subsequent call can include \`ending_before=obj_bar\` in order to fetch the previous page of the list.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryEndingBefore :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | queryExpand: Represents the parameter named \'expand\'
    --
    -- Specifies which fields in the response should be expanded.
    GetInvoicesUpcomingLinesParameters -> Maybe [Text]
getInvoicesUpcomingLinesParametersQueryExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])),
    -- | queryInvoice_items: Represents the parameter named \'invoice_items\'
    --
    -- List of invoice items to add or update in the upcoming invoice preview.
    GetInvoicesUpcomingLinesParameters
-> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
getInvoicesUpcomingLinesParametersQueryInvoiceItems :: (GHC.Maybe.Maybe ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'])),
    -- | queryLimit: Represents the parameter named \'limit\'
    --
    -- A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
    GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQueryLimit :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | querySchedule: Represents the parameter named \'schedule\'
    --
    -- The identifier of the unstarted schedule whose upcoming invoice you\'d like to retrieve. Cannot be used with subscription or subscription fields.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQuerySchedule :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | queryStarting_after: Represents the parameter named \'starting_after\'
    --
    -- A cursor for use in pagination. \`starting_after\` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with \`obj_foo\`, your subsequent call can include \`starting_after=obj_foo\` in order to fetch the next page of the list.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryStartingAfter :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | querySubscription: Represents the parameter named \'subscription\'
    --
    -- The identifier of the subscription for which you\'d like to retrieve the upcoming invoice. If not provided, but a \`subscription_items\` is provided, you will preview creating a subscription with those items. If neither \`subscription\` nor \`subscription_items\` is provided, you will retrieve the next upcoming invoice from among the customer\'s subscriptions.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscription :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | querySubscription_billing_cycle_anchor: Represents the parameter named \'subscription_billing_cycle_anchor\'
    --
    -- For new subscriptions, a future timestamp to anchor the subscription\'s [billing cycle](https:\/\/stripe.com\/docs\/subscriptions\/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with \`month\` or \`year\` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to \`now\` or \`unchanged\`.
    GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants),
    -- | querySubscription_cancel_at: Represents the parameter named \'subscription_cancel_at\'
    --
    -- Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using \`proration_behavior\`.
    GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants),
    -- | querySubscription_cancel_at_period_end: Represents the parameter named \'subscription_cancel_at_period_end\'
    --
    -- Boolean indicating whether this subscription should cancel at the end of the current period.
    GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | querySubscription_cancel_now: Represents the parameter named \'subscription_cancel_now\'
    --
    -- This simulates the subscription being canceled or expired immediately.
    GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | querySubscription_default_tax_rates: Represents the parameter named \'subscription_default_tax_rates\'
    --
    -- If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have \`tax_rates\` set.
    GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants),
    -- | querySubscription_items: Represents the parameter named \'subscription_items\'
    --
    -- A list of up to 20 subscription items, each with an attached price.
    GetInvoicesUpcomingLinesParameters
-> Maybe
     [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
getInvoicesUpcomingLinesParametersQuerySubscriptionItems :: (GHC.Maybe.Maybe ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'])),
    -- | querySubscription_proration_behavior: Represents the parameter named \'subscription_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\`.
    GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'),
    -- | querySubscription_proration_date: Represents the parameter named \'subscription_proration_date\'
    --
    -- If previewing an update to a subscription, and doing proration, \`subscription_proration_date\` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan. If set, \`subscription\`, and one of \`subscription_items\`, or \`subscription_trial_end\` are required. Also, \`subscription_proration_behavior\` cannot be set to \'none\'.
    GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | querySubscription_start_date: Represents the parameter named \'subscription_start_date\'
    --
    -- Date a subscription is intended to start (can be future or past)
    GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | querySubscription_trial_end: Represents the parameter named \'subscription_trial_end\'
    --
    -- If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of \`subscription_items\` or \`subscription\` is required.
    GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants),
    -- | querySubscription_trial_from_plan: Represents the parameter named \'subscription_trial_from_plan\'
    --
    -- Indicates if a plan\'s \`trial_period_days\` should be applied to the subscription. Setting \`subscription_trial_end\` per subscription is preferred, and this defaults to \`false\`. Setting this flag to \`true\` together with \`subscription_trial_end\` is not allowed.
    GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> GetInvoicesUpcomingLinesParameters -> ShowS
[GetInvoicesUpcomingLinesParameters] -> ShowS
GetInvoicesUpcomingLinesParameters -> String
(Int -> GetInvoicesUpcomingLinesParameters -> ShowS)
-> (GetInvoicesUpcomingLinesParameters -> String)
-> ([GetInvoicesUpcomingLinesParameters] -> ShowS)
-> Show GetInvoicesUpcomingLinesParameters
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParameters] -> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParameters] -> ShowS
show :: GetInvoicesUpcomingLinesParameters -> String
$cshow :: GetInvoicesUpcomingLinesParameters -> String
showsPrec :: Int -> GetInvoicesUpcomingLinesParameters -> ShowS
$cshowsPrec :: Int -> GetInvoicesUpcomingLinesParameters -> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParameters
-> GetInvoicesUpcomingLinesParameters -> Bool
(GetInvoicesUpcomingLinesParameters
 -> GetInvoicesUpcomingLinesParameters -> Bool)
-> (GetInvoicesUpcomingLinesParameters
    -> GetInvoicesUpcomingLinesParameters -> Bool)
-> Eq GetInvoicesUpcomingLinesParameters
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParameters
-> GetInvoicesUpcomingLinesParameters -> Bool
$c/= :: GetInvoicesUpcomingLinesParameters
-> GetInvoicesUpcomingLinesParameters -> Bool
== :: GetInvoicesUpcomingLinesParameters
-> GetInvoicesUpcomingLinesParameters -> Bool
$c== :: GetInvoicesUpcomingLinesParameters
-> GetInvoicesUpcomingLinesParameters -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParameters where
  toJSON :: GetInvoicesUpcomingLinesParameters -> Value
toJSON GetInvoicesUpcomingLinesParameters
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"queryAutomatic_tax" Text
-> Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
getInvoicesUpcomingLinesParametersQueryAutomaticTax GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryCoupon" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryCoupon GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryCustomer" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomer GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryCustomer_details" Text
-> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
getInvoicesUpcomingLinesParametersQueryCustomerDetails GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryDiscounts" Text
-> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
getInvoicesUpcomingLinesParametersQueryDiscounts GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryEnding_before" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryEndingBefore GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryExpand" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe [Text]
getInvoicesUpcomingLinesParametersQueryExpand GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryInvoice_items" Text
-> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
getInvoicesUpcomingLinesParametersQueryInvoiceItems GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryLimit" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQueryLimit GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySchedule" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQuerySchedule GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryStarting_after" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryStartingAfter GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscription GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_billing_cycle_anchor" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_cancel_at" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_cancel_at_period_end" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_cancel_now" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_default_tax_rates" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_items" Text
-> Maybe
     [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
getInvoicesUpcomingLinesParametersQuerySubscriptionItems GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_proration_behavior" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_proration_date" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_start_date" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_trial_end" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"querySubscription_trial_from_plan" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan GetInvoicesUpcomingLinesParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParameters -> Encoding
toEncoding GetInvoicesUpcomingLinesParameters
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"queryAutomatic_tax" Text
-> Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
getInvoicesUpcomingLinesParametersQueryAutomaticTax GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryCoupon" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryCoupon GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryCustomer" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomer GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryCustomer_details" Text
-> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
getInvoicesUpcomingLinesParametersQueryCustomerDetails GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryDiscounts" Text
-> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
getInvoicesUpcomingLinesParametersQueryDiscounts GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryEnding_before" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryEndingBefore GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryExpand" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe [Text]
getInvoicesUpcomingLinesParametersQueryExpand GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryInvoice_items" Text
-> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
getInvoicesUpcomingLinesParametersQueryInvoiceItems GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryLimit" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQueryLimit GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySchedule" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQuerySchedule GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryStarting_after" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQueryStartingAfter GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscription GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_billing_cycle_anchor" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_cancel_at" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_cancel_at_period_end" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_cancel_now" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_default_tax_rates" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_items" Text
-> Maybe
     [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
getInvoicesUpcomingLinesParametersQuerySubscriptionItems GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_proration_behavior" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_proration_date" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_start_date" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"querySubscription_trial_end" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd GetInvoicesUpcomingLinesParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"querySubscription_trial_from_plan" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParameters -> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan GetInvoicesUpcomingLinesParameters
obj)))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParameters where
  parseJSON :: Value -> Parser GetInvoicesUpcomingLinesParameters
parseJSON = String
-> (Object -> Parser GetInvoicesUpcomingLinesParameters)
-> Value
-> Parser GetInvoicesUpcomingLinesParameters
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParameters" (\Object
obj -> (((((((((((((((((((((((Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
 -> Maybe Text
 -> Maybe Text
 -> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
 -> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
 -> Maybe
      GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe
      GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
 -> Maybe
      [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
 -> Maybe
      GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
 -> Maybe Int
 -> Maybe Int
 -> Maybe
      GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
 -> Maybe Bool
 -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
      -> Maybe Text
      -> Maybe Text
      -> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
      -> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> Maybe Text
-> Maybe Text
-> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Maybe Text
-> Maybe [Text]
-> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Maybe Bool
-> Maybe Bool
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Maybe
     [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Maybe Int
-> Maybe Int
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Maybe Bool
-> GetInvoicesUpcomingLinesParameters
GetInvoicesUpcomingLinesParameters Parser
  (Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
   -> Maybe Text
   -> Maybe Text
   -> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
   -> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
      -> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryAutomatic_tax")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
   -> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
      -> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"queryCoupon")) Parser
  (Maybe Text
   -> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
   -> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Text)
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
      -> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"queryCustomer")) Parser
  (Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
   -> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryCustomer_details")) Parser
  (Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants)
-> Parser
     (Maybe Text
      -> Maybe [Text]
      -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryDiscounts")) Parser
  (Maybe Text
   -> Maybe [Text]
   -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text]
      -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"queryEnding_before")) Parser
  (Maybe [Text]
   -> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe [Text])
-> Parser
     (Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"queryExpand")) Parser
  (Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'])
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryInvoice_items")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"queryLimit")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"querySchedule")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"queryStarting_after")) Parser
  (Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"querySubscription")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"querySubscription_billing_cycle_anchor")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"querySubscription_cancel_at")) Parser
  (Maybe Bool
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"querySubscription_cancel_at_period_end")) Parser
  (Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Bool)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"querySubscription_cancel_now")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants)
-> Parser
     (Maybe [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"querySubscription_default_tax_rates")) Parser
  (Maybe [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'])
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"querySubscription_items")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior')
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"querySubscription_proration_behavior")) Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool
      -> GetInvoicesUpcomingLinesParameters)
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
"querySubscription_proration_date")) Parser
  (Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool
   -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Int)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
      -> Maybe Bool -> GetInvoicesUpcomingLinesParameters)
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
"querySubscription_start_date")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
   -> Maybe Bool -> GetInvoicesUpcomingLinesParameters)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants)
-> Parser (Maybe Bool -> GetInvoicesUpcomingLinesParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"querySubscription_trial_end")) Parser (Maybe Bool -> GetInvoicesUpcomingLinesParameters)
-> Parser (Maybe Bool) -> Parser GetInvoicesUpcomingLinesParameters
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
"querySubscription_trial_from_plan"))

-- | Create a new 'GetInvoicesUpcomingLinesParameters' with all required fields.
mkGetInvoicesUpcomingLinesParameters :: GetInvoicesUpcomingLinesParameters
mkGetInvoicesUpcomingLinesParameters :: GetInvoicesUpcomingLinesParameters
mkGetInvoicesUpcomingLinesParameters =
  GetInvoicesUpcomingLinesParameters :: Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> Maybe Text
-> Maybe Text
-> Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Maybe Text
-> Maybe [Text]
-> Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Maybe Bool
-> Maybe Bool
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Maybe
     [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Maybe Int
-> Maybe Int
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Maybe Bool
-> GetInvoicesUpcomingLinesParameters
GetInvoicesUpcomingLinesParameters
    { getInvoicesUpcomingLinesParametersQueryAutomaticTax :: Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
getInvoicesUpcomingLinesParametersQueryAutomaticTax = Maybe GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCoupon :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCoupon = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomer :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomer = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails :: Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
getInvoicesUpcomingLinesParametersQueryCustomerDetails = Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryDiscounts :: Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
getInvoicesUpcomingLinesParametersQueryDiscounts = Maybe GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryEndingBefore :: Maybe Text
getInvoicesUpcomingLinesParametersQueryEndingBefore = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryExpand :: Maybe [Text]
getInvoicesUpcomingLinesParametersQueryExpand = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems :: Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
getInvoicesUpcomingLinesParametersQueryInvoiceItems = Maybe [GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryLimit :: Maybe Int
getInvoicesUpcomingLinesParametersQueryLimit = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySchedule :: Maybe Text
getInvoicesUpcomingLinesParametersQuerySchedule = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryStartingAfter :: Maybe Text
getInvoicesUpcomingLinesParametersQueryStartingAfter = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscription :: Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor :: Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor = Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt :: Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt = Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd :: Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow :: Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates :: Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates = Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionItems :: Maybe [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
getInvoicesUpcomingLinesParametersQuerySubscriptionItems = Maybe [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior :: Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior = Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate :: Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate :: Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd :: Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd = Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan :: Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryAutomatic_tax@ in the specification.
--
-- Represents the parameter named \'automatic_tax\'
--
-- Settings for automatic tax lookup for this invoice preview.
data GetInvoicesUpcomingLinesParametersQueryAutomaticTax' = GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
  { -- | enabled
    GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool
getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled :: GHC.Types.Bool
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> ShowS
[GetInvoicesUpcomingLinesParametersQueryAutomaticTax'] -> ShowS
GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryAutomaticTax']
    -> ShowS)
-> Show GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryAutomaticTax'] -> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryAutomaticTax'] -> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool
(GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
 -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
    -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool)
-> Eq GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool
== :: GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
-> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryAutomaticTax' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Value
toJSON GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
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..= GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool
getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
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..= GetInvoicesUpcomingLinesParametersQueryAutomaticTax' -> Bool
getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryAutomaticTax' where
  parseJSON :: Value
-> Parser GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
parseJSON = String
-> (Object
    -> Parser GetInvoicesUpcomingLinesParametersQueryAutomaticTax')
-> Value
-> Parser GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryAutomaticTax'" (\Object
obj -> (Bool -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax')
-> Parser
     (Bool -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Bool -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
GetInvoicesUpcomingLinesParametersQueryAutomaticTax' Parser
  (Bool -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax')
-> Parser Bool
-> Parser GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
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 'GetInvoicesUpcomingLinesParametersQueryAutomaticTax'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryAutomaticTax' ::
  -- | 'getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled'
  GHC.Types.Bool ->
  GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
mkGetInvoicesUpcomingLinesParametersQueryAutomaticTax' :: Bool -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
mkGetInvoicesUpcomingLinesParametersQueryAutomaticTax' Bool
getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled = GetInvoicesUpcomingLinesParametersQueryAutomaticTax' :: Bool -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax'
GetInvoicesUpcomingLinesParametersQueryAutomaticTax' {getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled :: Bool
getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled = Bool
getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled}

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details@ in the specification.
--
-- Represents the parameter named \'customer_details\'
--
-- Details about the customer you want to invoice
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails' = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
  { -- | address
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants),
    -- | shipping
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants),
    -- | tax
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'),
    -- | tax_exempt
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'),
    -- | tax_ids
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds :: (GHC.Maybe.Maybe ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']))
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'] -> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails']
    -> ShowS)
-> Show GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'] -> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'] -> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Bool)
-> Eq GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Value
toJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_exempt" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_ids" Text
-> Maybe
     [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails' -> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_exempt" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"tax_ids" Text
-> Maybe
     [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
-> Maybe
     [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
obj)))))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails' where
  parseJSON :: Value
-> Parser GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
parseJSON = String
-> (Object
    -> Parser GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
-> Value
-> Parser GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryCustomerDetails'" (\Object
obj -> (((((Maybe
   GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
 -> Maybe
      GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
 -> Maybe
      GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
 -> Maybe
      GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
 -> Maybe
      [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Maybe
     [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails' Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants)
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"shipping")) Parser
  (Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
      -> Maybe
           [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
   -> Maybe
        [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt')
-> Parser
     (Maybe
        [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_exempt")) Parser
  (Maybe
     [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails')
-> Parser
     (Maybe
        [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'])
-> Parser GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_ids"))

-- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails' :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails' :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails' =
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails' :: Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Maybe
     [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'
    { getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address :: Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address = Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping :: Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping = Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax :: Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax = Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt :: Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt = Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds :: Maybe
  [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds = Maybe
  [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.address.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
  { -- | city
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Value
toJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"city" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1City GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Country GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line1" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line1 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line2" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line2 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"postal_code" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1PostalCode GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"state" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1State GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"city" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1City GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Country GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line1" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line1 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line2" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line2 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"postal_code" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1PostalCode GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"state" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1State GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
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
"city")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
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
"country")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
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
"line1")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
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
"line2")) Parser
  (Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
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
"postal_code")) Parser
  (Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1)
-> Parser (Maybe Text)
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
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
"state"))

-- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 =
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
    { getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1City :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Country :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line1 :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line2 :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1PostalCode :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1State :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.address.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'EmptyString
  | GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.shipping.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
  { -- | address
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address',
    -- | name
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name :: Data.Text.Internal.Text,
    -- | phone
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Value
toJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"name" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"phone" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Phone GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"name" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"phone" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Phone GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
obj)))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1)
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1" (\Object
obj -> (((GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
 -> Text
 -> Maybe Text
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1)
-> Parser
     (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
      -> Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 Parser
  (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
   -> Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1)
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Parser
     (Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"address")) Parser
  (Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1)
-> Parser Text
-> Parser
     (Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'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
"name")) Parser
  (Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1)
-> Parser (Maybe Text)
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
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
"phone"))

-- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 ::
  -- | 'getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' ->
  -- | 'getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name'
  Data.Text.Internal.Text ->
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name =
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
    { getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name :: Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name = Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Phone :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Phone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.shipping.anyOf.properties.address@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
  { -- | city
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 :: Data.Text.Internal.Text,
    -- | line2
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address']
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Value
toJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"city" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'City GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Country GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line1" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line2" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line2 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"postal_code" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'PostalCode GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"state" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'State GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"city" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'City GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Country GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line1" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line2" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line2 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"postal_code" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'PostalCode GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"state" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'State GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' Parser
  (Maybe Text
   -> Maybe Text
   -> Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
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
"city")) Parser
  (Maybe Text
   -> Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
-> Parser (Maybe Text)
-> Parser
     (Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
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
"country")) Parser
  (Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
-> Parser Text
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
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
"line1")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
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
"line2")) Parser
  (Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
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
"postal_code")) Parser
  (Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address')
-> Parser (Maybe Text)
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
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
"state"))

-- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' ::
  -- | 'getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1'
  Data.Text.Internal.Text ->
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' :: Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 =
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' :: Maybe Text
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'
    { getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'City :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Country :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 :: Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 = Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line2 :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'PostalCode :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'State :: Maybe Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.shipping.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'EmptyString
  | GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.tax@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
  { -- | ip_address
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax']
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax']
    -> ShowS)
-> Show GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
    -> Bool)
-> Eq GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Value
toJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"ip_address" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"ip_address" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax')
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'" (\Object
obj -> (Maybe
   GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants)
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ip_address"))

-- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' :: Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' {getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress :: Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress = Maybe
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.tax.properties.ip_address.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'EmptyString
  | GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Text Data.Text.Internal.Text
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Value
toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'EmptyString
        | Bool
GHC.Base.otherwise -> case (Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Text (Text
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants)
-> Result Text
-> Result
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'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
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Result
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Result
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
a -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.tax_exempt@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'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.
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumEmptyString
  | -- | Represents the JSON value @"exempt"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumExempt
  | -- | Represents the JSON value @"none"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumNone
  | -- | Represents the JSON value @"reverse"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumReverse
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt']
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Value
toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'Other Value
val) = Value
val
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumEmptyString) = Value
""
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumExempt) = Value
"exempt"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumNone) = Value
"none"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumReverse) = Value
"reverse"

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
parseJSON Value
val =
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
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
"" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumEmptyString
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"exempt" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumExempt
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"none" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumNone
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"reverse" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumReverse
            | Bool
GHC.Base.otherwise -> Value
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.tax_ids.items@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
  { -- | type
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type',
    -- | value
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Value
toJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"type" Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"value" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"type" Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"value" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
-> Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
obj))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds')
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'" (\Object
obj -> ((GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
 -> Text
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds')
-> Parser
     (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
      -> Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' Parser
  (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
   -> Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds')
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Parser
     (Text
      -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"type")) Parser
  (Text
   -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds')
-> Parser Text
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
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
"value"))

-- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' ::
  -- | 'getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type' ->
  -- | 'getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value'
  Data.Text.Internal.Text ->
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value =
  GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Text
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'
    { getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type,
      getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value :: Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value = Text
getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value
    }

-- | Defines the enum schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryCustomer_details.properties.tax_ids.items.properties.type@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'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.
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"ae_trn"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAeTrn
  | -- | Represents the JSON value @"au_abn"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAuAbn
  | -- | Represents the JSON value @"br_cnpj"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCnpj
  | -- | Represents the JSON value @"br_cpf"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCpf
  | -- | Represents the JSON value @"ca_bn"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaBn
  | -- | Represents the JSON value @"ca_gst_hst"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaGstHst
  | -- | Represents the JSON value @"ca_pst_bc"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstBc
  | -- | Represents the JSON value @"ca_pst_mb"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstMb
  | -- | Represents the JSON value @"ca_pst_sk"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstSk
  | -- | Represents the JSON value @"ca_qst"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaQst
  | -- | Represents the JSON value @"ch_vat"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumChVat
  | -- | Represents the JSON value @"cl_tin"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumClTin
  | -- | Represents the JSON value @"es_cif"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEsCif
  | -- | Represents the JSON value @"eu_vat"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEuVat
  | -- | Represents the JSON value @"gb_vat"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumGbVat
  | -- | Represents the JSON value @"hk_br"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumHkBr
  | -- | Represents the JSON value @"id_npwp"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIdNpwp
  | -- | Represents the JSON value @"il_vat"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIlVat
  | -- | Represents the JSON value @"in_gst"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumInGst
  | -- | Represents the JSON value @"jp_cn"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpCn
  | -- | Represents the JSON value @"jp_rn"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpRn
  | -- | Represents the JSON value @"kr_brn"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumKrBrn
  | -- | Represents the JSON value @"li_uid"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumLiUid
  | -- | Represents the JSON value @"mx_rfc"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMxRfc
  | -- | Represents the JSON value @"my_frp"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyFrp
  | -- | Represents the JSON value @"my_itn"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyItn
  | -- | Represents the JSON value @"my_sst"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMySst
  | -- | Represents the JSON value @"no_vat"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNoVat
  | -- | Represents the JSON value @"nz_gst"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNzGst
  | -- | Represents the JSON value @"ru_inn"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuInn
  | -- | Represents the JSON value @"ru_kpp"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuKpp
  | -- | Represents the JSON value @"sa_vat"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSaVat
  | -- | Represents the JSON value @"sg_gst"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgGst
  | -- | Represents the JSON value @"sg_uen"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgUen
  | -- | Represents the JSON value @"th_vat"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumThVat
  | -- | Represents the JSON value @"tw_vat"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumTwVat
  | -- | Represents the JSON value @"us_ein"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumUsEin
  | -- | Represents the JSON value @"za_vat"@
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumZaVat
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type']
-> ShowS
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Bool
(GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
 -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
    -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Value
toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'Other Value
val) = Value
val
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAeTrn) = Value
"ae_trn"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAuAbn) = Value
"au_abn"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCnpj) = Value
"br_cnpj"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCpf) = Value
"br_cpf"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaBn) = Value
"ca_bn"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaGstHst) = Value
"ca_gst_hst"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstBc) = Value
"ca_pst_bc"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstMb) = Value
"ca_pst_mb"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstSk) = Value
"ca_pst_sk"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaQst) = Value
"ca_qst"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumChVat) = Value
"ch_vat"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumClTin) = Value
"cl_tin"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEsCif) = Value
"es_cif"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEuVat) = Value
"eu_vat"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumGbVat) = Value
"gb_vat"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumHkBr) = Value
"hk_br"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIdNpwp) = Value
"id_npwp"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIlVat) = Value
"il_vat"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumInGst) = Value
"in_gst"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpCn) = Value
"jp_cn"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpRn) = Value
"jp_rn"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumKrBrn) = Value
"kr_brn"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumLiUid) = Value
"li_uid"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMxRfc) = Value
"mx_rfc"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyFrp) = Value
"my_frp"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyItn) = Value
"my_itn"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMySst) = Value
"my_sst"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNoVat) = Value
"no_vat"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNzGst) = Value
"nz_gst"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuInn) = Value
"ru_inn"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuKpp) = Value
"ru_kpp"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSaVat) = Value
"sa_vat"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgGst) = Value
"sg_gst"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgUen) = Value
"sg_uen"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumThVat) = Value
"th_vat"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumTwVat) = Value
"tw_vat"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumUsEin) = Value
"us_ein"
  toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumZaVat) = Value
"za_vat"

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
parseJSON Value
val =
    GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
-> Parser
     GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
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
"ae_trn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAeTrn
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"au_abn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAuAbn
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"br_cnpj" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCnpj
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"br_cpf" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCpf
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ca_bn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaBn
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ca_gst_hst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaGstHst
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ca_pst_bc" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstBc
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ca_pst_mb" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstMb
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ca_pst_sk" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstSk
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ca_qst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaQst
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ch_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumChVat
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"cl_tin" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumClTin
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"es_cif" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEsCif
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"eu_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEuVat
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"gb_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumGbVat
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"hk_br" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumHkBr
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"id_npwp" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIdNpwp
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"il_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIlVat
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"in_gst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumInGst
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"jp_cn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpCn
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"jp_rn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpRn
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"kr_brn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumKrBrn
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"li_uid" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumLiUid
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"mx_rfc" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMxRfc
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"my_frp" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyFrp
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"my_itn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyItn
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"my_sst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMySst
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"no_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNoVat
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"nz_gst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNzGst
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ru_inn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuInn
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ru_kpp" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuKpp
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sa_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSaVat
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sg_gst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgGst
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sg_uen" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgUen
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"th_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumThVat
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"tw_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumTwVat
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"us_ein" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumUsEin
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"za_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumZaVat
            | Bool
GHC.Base.otherwise -> Value
-> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'
GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryDiscounts.anyOf.items@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 = GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
  { -- | coupon
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Coupon :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | discount
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Discount :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> ShowS
[GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1] -> ShowS
GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1]
    -> ShowS)
-> Show GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1] -> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1] -> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> Bool
(GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
 -> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
    -> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> Bool)
-> Eq GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> Bool
== :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> Value
toJSON GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"coupon" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Coupon GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"discount" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Discount GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 -> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"coupon" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Coupon GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"discount" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Discount GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
obj))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 where
  parseJSON :: Value
-> Parser GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
parseJSON = String
-> (Object
    -> Parser GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1)
-> Value
-> Parser GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1" (\Object
obj -> ((Maybe Text
 -> Maybe Text
 -> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 Parser
  (Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1)
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 Text
   -> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1)
-> Parser (Maybe Text)
-> Parser GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
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
"discount"))

-- | Create a new 'GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
mkGetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
mkGetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 =
  GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 :: Maybe Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1
    { getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Coupon :: Maybe Text
getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Coupon = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Discount :: Maybe Text
getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Discount = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryDiscounts.anyOf@ in the specification.
--
-- Represents the parameter named \'discounts\'
--
-- The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn\'t been created, use \`coupon\` instead.
data GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQueryDiscounts'EmptyString
  | GetInvoicesUpcomingLinesParametersQueryDiscounts'ListTGetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 ([GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1])
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants -> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants]
    -> ShowS)
-> Show GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants -> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants -> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
 -> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
    -> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
    -> Bool)
-> Eq GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryInvoice_items.items@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryInvoiceItems' = GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
  { -- | amount
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Amount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | currency
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | description
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | discountable
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Bool
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discountable :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | discounts
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants),
    -- | invoiceitem
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Invoiceitem :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | metadata
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants),
    -- | period
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'),
    -- | price
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Price :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | price_data
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'),
    -- | quantity
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Quantity :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | tax_rates
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants),
    -- | unit_amount
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | unit_amount_decimal
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmountDecimal :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> ShowS
[GetInvoicesUpcomingLinesParametersQueryInvoiceItems'] -> ShowS
GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems']
    -> ShowS)
-> Show GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'] -> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'] -> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Bool
(GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
    -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Bool)
-> Eq GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Bool
== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Value
toJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"amount" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Amount GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"currency" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Currency GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"description" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Description GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"discountable" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Bool
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discountable GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"discounts" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"invoiceitem" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Invoiceitem GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"period" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Price GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"price_data" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Quantity GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_rates" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmount GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmountDecimal GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"amount" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Amount GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"currency" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Currency GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"description" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Description GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"discountable" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Bool
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discountable GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"discounts" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"invoiceitem" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Invoiceitem GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"period" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Price GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"price_data" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Quantity GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_rates" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmount GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems' -> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmountDecimal GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
obj))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems' where
  parseJSON :: Value
-> Parser GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
parseJSON = String
-> (Object
    -> Parser GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Value
-> Parser GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryInvoiceItems'" (\Object
obj -> ((((((((((((((Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
 -> Maybe Text
 -> Maybe
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
 -> Maybe
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
 -> Maybe Text
 -> Maybe
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
 -> Maybe Int
 -> Maybe
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
 -> Maybe Int
 -> Maybe Text
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Maybe Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Maybe Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe Int
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> Maybe Int
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems' Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
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")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
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
"currency")) Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
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
"description")) Parser
  (Maybe Bool
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser (Maybe Bool)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
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
"discountable")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants)
-> Parser
     (Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"discounts")) Parser
  (Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
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
"invoiceitem")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants)
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser
  (Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period')
-> Parser
     (Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"period")) Parser
  (Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
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
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
-> Parser
     (Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"price_data")) Parser
  (Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser (Maybe Int)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
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
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_rates")) Parser
  (Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
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
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems')
-> Parser (Maybe Text)
-> Parser GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
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 'GetInvoicesUpcomingLinesParametersQueryInvoiceItems'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems' :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems' :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems' =
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems' :: Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Maybe Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Maybe Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe Int
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> Maybe Int
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'
    { getInvoicesUpcomingLinesParametersQueryInvoiceItems'Amount :: Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Amount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Currency :: Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Description :: Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Description = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discountable :: Maybe Bool
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discountable = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts :: Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts = Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Invoiceitem :: Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Invoiceitem = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata :: Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata = Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period :: Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period = Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Price :: Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Price = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData :: Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData = Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Quantity :: Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Quantity = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates :: Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
getInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates = Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmount :: Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmountDecimal :: Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmountDecimal = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryInvoice_items.items.properties.discounts.anyOf.items@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 = GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
  { -- | coupon
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Coupon :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | discount
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Discount :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Bool
(GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
    -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Value
toJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"coupon" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Coupon GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"discount" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Discount GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"coupon" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Coupon GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"discount" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Discount GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
obj))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1)
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1" (\Object
obj -> ((Maybe Text
 -> Maybe Text
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 Parser
  (Maybe Text
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1)
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 Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1)
-> Parser (Maybe Text)
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
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
"discount"))

-- | Create a new 'GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 =
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 :: Maybe Text
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1
    { getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Coupon :: Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Coupon = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Discount :: Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Discount = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryInvoice_items.items.properties.discounts.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'EmptyString
  | GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'ListTGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1])
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
    -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
-> Value
toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'ListTGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1]
a) = [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1]
-> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1]
a
  toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'EmptyString) = Value
""

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

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryInvoice_items.items.properties.metadata.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'EmptyString
  | GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Object Data.Aeson.Types.Internal.Object
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
    -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryInvoice_items.items.properties.period@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' = GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
  { -- | end
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' -> Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End :: GHC.Types.Int,
    -- | start
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' -> Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start :: GHC.Types.Int
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period']
-> ShowS
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period']
    -> ShowS)
-> Show GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Bool
(GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
    -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
    -> Bool)
-> Eq GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Value
toJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"end" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' -> Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"start" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' -> Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"end" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' -> Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"start" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' -> Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
obj))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period')
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'" (\Object
obj -> ((Int
 -> Int
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period')
-> Parser
     (Int
      -> Int
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Int
-> Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' Parser
  (Int
   -> Int
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period')
-> Parser Int
-> Parser
     (Int
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period')
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
"end")) Parser
  (Int
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period')
-> Parser Int
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
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
"start"))

-- | Create a new 'GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' ::
  -- | 'getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End'
  GHC.Types.Int ->
  -- | 'getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start'
  GHC.Types.Int ->
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' :: Int
-> Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start =
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' :: Int
-> Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'
    { getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End :: Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End = Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start :: Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start = Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start
    }

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryInvoice_items.items.properties.price_data@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' = GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
  { -- | currency
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency :: Data.Text.Internal.Text,
    -- | product
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product :: Data.Text.Internal.Text,
    -- | tax_behavior
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'),
    -- | unit_amount
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | unit_amount_decimal
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmountDecimal :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData']
-> ShowS
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Bool
(GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
    -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' where
  toJSON :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Value
toJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_behavior" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmount GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmountDecimal GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_behavior" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmount GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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..= GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
-> Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmountDecimal GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
obj)))))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'" (\Object
obj -> (((((Text
 -> Text
 -> Maybe
      GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
 -> Maybe Int
 -> Maybe Text
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
-> Parser
     (Text
      -> Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Text
-> Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Maybe Int
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' Parser
  (Text
   -> Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
-> Parser Text
-> Parser
     (Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
-> Parser Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior')
-> Parser
     (Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_behavior")) Parser
  (Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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
   -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData')
-> Parser (Maybe Text)
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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 'GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' ::
  -- | 'getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency'
  Data.Text.Internal.Text ->
  -- | 'getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product'
  Data.Text.Internal.Text ->
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' :: Text
-> Text
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product =
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' :: Text
-> Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Maybe Int
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'
    { getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency :: Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency = Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product :: Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product = Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior :: Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior = Maybe
  GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmount :: Maybe Int
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmountDecimal :: Maybe Text
getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmountDecimal = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryInvoice_items.items.properties.price_data.properties.tax_behavior@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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.
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"exclusive"@
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumExclusive
  | -- | Represents the JSON value @"inclusive"@
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumInclusive
  | -- | Represents the JSON value @"unspecified"@
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumUnspecified
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior']
-> ShowS
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Bool
(GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
    -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
parseJSON Value
val =
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
-> Parser
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'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" -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumExclusive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inclusive" -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumInclusive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unspecified" -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumUnspecified
            | Bool
GHC.Base.otherwise -> Value
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.queryInvoice_items.items.properties.tax_rates.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'EmptyString
  | GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'ListTText ([Data.Text.Internal.Text])
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
 -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
    -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the enum schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_billing_cycle_anchor.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"now"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumNow
  | -- | Represents the JSON value @"unchanged"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumUnchanged
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1]
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1 where
  toJSON :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> Value
toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1Other Value
val) = Value
val
  toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumNow) = Value
"now"
  toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumUnchanged) = Value
"unchanged"

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1 where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
parseJSON Value
val =
    GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
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" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumNow
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unchanged" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumUnchanged
            | Bool
GHC.Base.otherwise -> Value
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_billing_cycle_anchor.anyOf@ in the specification.
--
-- Represents the parameter named \'subscription_billing_cycle_anchor\'
--
-- For new subscriptions, a future timestamp to anchor the subscription\'s [billing cycle](https:\/\/stripe.com\/docs\/subscriptions\/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with \`month\` or \`year\` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to \`now\` or \`unchanged\`.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
  = GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1 GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1
  | GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Int GHC.Types.Int
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_cancel_at.anyOf@ in the specification.
--
-- Represents the parameter named \'subscription_cancel_at\'
--
-- Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using \`proration_behavior\`.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'EmptyString
  | GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Int GHC.Types.Int
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_default_tax_rates.anyOf@ in the specification.
--
-- Represents the parameter named \'subscription_default_tax_rates\'
--
-- If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have \`tax_rates\` set.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'EmptyString
  | GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'ListTText ([Data.Text.Internal.Text])
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_items.items@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
  { -- | billing_thresholds
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants),
    -- | clear_usage
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'ClearUsage :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | deleted
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Maybe Bool
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Deleted :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | id
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | metadata
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants),
    -- | price
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Price :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | price_data
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'),
    -- | quantity
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Quantity :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | tax_rates
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' -> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
    -> ShowS)
-> Show GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' -> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' -> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
    -> Bool)
-> Eq GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
-> Bool
GHC.Classes.Eq
    )

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

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' where
  parseJSON :: Value
-> Parser GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Value
-> Parser GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'" (\Object
obj -> (((((((((Maybe
   GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe
      GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
 -> Maybe Text
 -> Maybe
      GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
 -> Maybe Int
 -> Maybe
      GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> Maybe Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe Int
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
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
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
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
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
      -> Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
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
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
   -> Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants)
-> Parser
     (Maybe Text
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser
  (Maybe Text
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
      -> Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
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
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
   -> Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
-> Parser
     (Maybe Int
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"price_data")) Parser
  (Maybe Int
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser (Maybe Int)
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
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
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants)
-> Parser GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_rates"))

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

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_items.items.properties.billing_thresholds.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
  { -- | usage_gte
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte :: GHC.Types.Int
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1]
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 where
  toJSON :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Value
toJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
-> Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
obj)

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1)
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1" (\Object
obj -> (Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1)
-> Parser
     (Int
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 Parser
  (Int
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1)
-> Parser Int
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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 'GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1' with all required fields.
mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 ::
  -- | 'getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte'
  GHC.Types.Int ->
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 {getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte :: Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte = Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte}

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_items.items.properties.billing_thresholds.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'EmptyString
  | GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_items.items.properties.metadata.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'EmptyString
  | GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Object Data.Aeson.Types.Internal.Object
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_items.items.properties.price_data@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
  { -- | currency
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency :: Data.Text.Internal.Text,
    -- | product
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product :: Data.Text.Internal.Text,
    -- | recurring
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring',
    -- | tax_behavior
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'),
    -- | unit_amount
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | unit_amount_decimal
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmountDecimal :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData']
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' where
  toJSON :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Value
toJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"recurring" Text
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_behavior" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmount GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmountDecimal GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Encoding
toEncoding GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"recurring" Text
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_behavior" Text
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmount GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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..= GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
-> Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmountDecimal GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'" (\Object
obj -> ((((((Text
 -> Text
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
 -> Maybe
      GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
 -> Maybe Int
 -> Maybe Text
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
-> Parser
     (Text
      -> Text
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Text
-> Text
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Maybe Int
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' Parser
  (Text
   -> Text
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
-> Parser Text
-> Parser
     (Text
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
-> Parser Text
-> Parser
     (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
      -> Maybe
           GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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
  (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
   -> Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
      -> Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"recurring")) Parser
  (Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
   -> Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior')
-> Parser
     (Maybe Int
      -> Maybe Text
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_behavior")) Parser
  (Maybe Int
   -> Maybe Text
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData')
-> Parser (Maybe Text)
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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 'GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' ::
  -- | 'getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency'
  Data.Text.Internal.Text ->
  -- | 'getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product'
  Data.Text.Internal.Text ->
  -- | 'getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' ->
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' :: Text
-> Text
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring =
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' :: Text
-> Text
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Maybe
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Maybe Int
-> Maybe Text
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'
    { getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency :: Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency = Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency,
      getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product :: Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product = Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product,
      getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring,
      getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior :: Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior = Maybe
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmount :: Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmountDecimal :: Maybe Text
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmountDecimal = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_items.items.properties.price_data.properties.recurring@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
  { -- | interval
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval',
    -- | interval_count
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'IntervalCount :: (GHC.Maybe.Maybe GHC.Types.Int)
  }
  deriving
    ( Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring']
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
-> Bool
GHC.Classes.Eq
    )

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

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
parseJSON = String
-> (Object
    -> Parser
         GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring')
-> Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'" (\Object
obj -> ((GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
 -> Maybe Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring')
-> Parser
     (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
      -> Maybe Int
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> Maybe Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' Parser
  (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
   -> Maybe Int
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring')
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> Parser
     (Maybe Int
      -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"interval")) Parser
  (Maybe Int
   -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring')
-> Parser (Maybe Int)
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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 'GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'' with all required fields.
mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' ::
  -- | 'getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval' ->
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval =
  GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> Maybe Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'
    { getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval,
      getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'IntervalCount :: Maybe Int
getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'IntervalCount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_items.items.properties.price_data.properties.recurring.properties.interval@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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.
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"day"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumDay
  | -- | Represents the JSON value @"month"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumMonth
  | -- | Represents the JSON value @"week"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumWeek
  | -- | Represents the JSON value @"year"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumYear
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval']
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
parseJSON Value
val =
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumDay
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"month" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumMonth
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"week" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumWeek
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"year" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumYear
            | Bool
GHC.Base.otherwise -> Value
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'Other Value
val
      )

-- | Defines the enum schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_items.items.properties.price_data.properties.tax_behavior@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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.
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"exclusive"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumExclusive
  | -- | Represents the JSON value @"inclusive"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumInclusive
  | -- | Represents the JSON value @"unspecified"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumUnspecified
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior']
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
parseJSON Value
val =
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'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" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumExclusive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inclusive" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumInclusive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unspecified" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumUnspecified
            | Bool
GHC.Base.otherwise -> Value
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_items.items.properties.tax_rates.anyOf@ in the specification.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
  = -- | Represents the JSON value @""@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'EmptyString
  | GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'ListTText ([Data.Text.Internal.Text])
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the enum schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_proration_behavior@ in the specification.
--
-- Represents the parameter named \'subscription_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\`.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'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.
    GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"always_invoice"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumAlwaysInvoice
  | -- | Represents the JSON value @"create_prorations"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumCreateProrations
  | -- | Represents the JSON value @"none"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumNone
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior']
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior']
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior']
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior']
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior' where
  parseJSON :: Value
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
parseJSON Value
val =
    GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
-> Parser
     GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
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" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumAlwaysInvoice
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"create_prorations" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumCreateProrations
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"none" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumNone
            | Bool
GHC.Base.otherwise -> Value
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'
GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.parameters.properties.querySubscription_trial_end.anyOf@ in the specification.
--
-- Represents the parameter named \'subscription_trial_end\'
--
-- If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of \`subscription_items\` or \`subscription\` is required.
data GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
  = -- | Represents the JSON value @"now"@
    GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Now
  | GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Int GHC.Types.Int
  deriving (Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> ShowS
[GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants]
-> ShowS
GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> String
(Int
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
 -> ShowS)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
    -> String)
-> ([GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants]
    -> ShowS)
-> Show
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants]
-> ShowS
$cshowList :: [GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants]
-> ShowS
show :: GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> String
$cshow :: GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> String
showsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> ShowS
$cshowsPrec :: Int
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Bool
(GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
 -> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
 -> Bool)
-> (GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
    -> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
    -> Bool)
-> Eq
     GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Bool
$c/= :: GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Bool
== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Bool
$c== :: GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Represents a response of the operation 'getInvoicesUpcomingLines'.
--
-- 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), 'GetInvoicesUpcomingLinesResponseError' is used.
data GetInvoicesUpcomingLinesResponse
  = -- | Means either no matching case available or a parse error
    GetInvoicesUpcomingLinesResponseError GHC.Base.String
  | -- | Successful response.
    GetInvoicesUpcomingLinesResponse200 GetInvoicesUpcomingLinesResponseBody200
  | -- | Error response.
    GetInvoicesUpcomingLinesResponseDefault Error
  deriving (Int -> GetInvoicesUpcomingLinesResponse -> ShowS
[GetInvoicesUpcomingLinesResponse] -> ShowS
GetInvoicesUpcomingLinesResponse -> String
(Int -> GetInvoicesUpcomingLinesResponse -> ShowS)
-> (GetInvoicesUpcomingLinesResponse -> String)
-> ([GetInvoicesUpcomingLinesResponse] -> ShowS)
-> Show GetInvoicesUpcomingLinesResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesResponse] -> ShowS
$cshowList :: [GetInvoicesUpcomingLinesResponse] -> ShowS
show :: GetInvoicesUpcomingLinesResponse -> String
$cshow :: GetInvoicesUpcomingLinesResponse -> String
showsPrec :: Int -> GetInvoicesUpcomingLinesResponse -> ShowS
$cshowsPrec :: Int -> GetInvoicesUpcomingLinesResponse -> ShowS
GHC.Show.Show, GetInvoicesUpcomingLinesResponse
-> GetInvoicesUpcomingLinesResponse -> Bool
(GetInvoicesUpcomingLinesResponse
 -> GetInvoicesUpcomingLinesResponse -> Bool)
-> (GetInvoicesUpcomingLinesResponse
    -> GetInvoicesUpcomingLinesResponse -> Bool)
-> Eq GetInvoicesUpcomingLinesResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesResponse
-> GetInvoicesUpcomingLinesResponse -> Bool
$c/= :: GetInvoicesUpcomingLinesResponse
-> GetInvoicesUpcomingLinesResponse -> Bool
== :: GetInvoicesUpcomingLinesResponse
-> GetInvoicesUpcomingLinesResponse -> Bool
$c== :: GetInvoicesUpcomingLinesResponse
-> GetInvoicesUpcomingLinesResponse -> Bool
GHC.Classes.Eq)

-- | Defines the object schema located at @paths.\/v1\/invoices\/upcoming\/lines.GET.responses.200.content.application\/json.schema@ in the specification.
data GetInvoicesUpcomingLinesResponseBody200 = GetInvoicesUpcomingLinesResponseBody200
  { -- | data: Details about each object.
    GetInvoicesUpcomingLinesResponseBody200 -> [LineItem]
getInvoicesUpcomingLinesResponseBody200Data :: ([LineItem]),
    -- | has_more: True if this list has another page of items after this one that can be fetched.
    GetInvoicesUpcomingLinesResponseBody200 -> Bool
getInvoicesUpcomingLinesResponseBody200HasMore :: GHC.Types.Bool,
    -- | url: The URL where this list can be accessed.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetInvoicesUpcomingLinesResponseBody200 -> Text
getInvoicesUpcomingLinesResponseBody200Url :: Data.Text.Internal.Text
  }
  deriving
    ( Int -> GetInvoicesUpcomingLinesResponseBody200 -> ShowS
[GetInvoicesUpcomingLinesResponseBody200] -> ShowS
GetInvoicesUpcomingLinesResponseBody200 -> String
(Int -> GetInvoicesUpcomingLinesResponseBody200 -> ShowS)
-> (GetInvoicesUpcomingLinesResponseBody200 -> String)
-> ([GetInvoicesUpcomingLinesResponseBody200] -> ShowS)
-> Show GetInvoicesUpcomingLinesResponseBody200
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetInvoicesUpcomingLinesResponseBody200] -> ShowS
$cshowList :: [GetInvoicesUpcomingLinesResponseBody200] -> ShowS
show :: GetInvoicesUpcomingLinesResponseBody200 -> String
$cshow :: GetInvoicesUpcomingLinesResponseBody200 -> String
showsPrec :: Int -> GetInvoicesUpcomingLinesResponseBody200 -> ShowS
$cshowsPrec :: Int -> GetInvoicesUpcomingLinesResponseBody200 -> ShowS
GHC.Show.Show,
      GetInvoicesUpcomingLinesResponseBody200
-> GetInvoicesUpcomingLinesResponseBody200 -> Bool
(GetInvoicesUpcomingLinesResponseBody200
 -> GetInvoicesUpcomingLinesResponseBody200 -> Bool)
-> (GetInvoicesUpcomingLinesResponseBody200
    -> GetInvoicesUpcomingLinesResponseBody200 -> Bool)
-> Eq GetInvoicesUpcomingLinesResponseBody200
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetInvoicesUpcomingLinesResponseBody200
-> GetInvoicesUpcomingLinesResponseBody200 -> Bool
$c/= :: GetInvoicesUpcomingLinesResponseBody200
-> GetInvoicesUpcomingLinesResponseBody200 -> Bool
== :: GetInvoicesUpcomingLinesResponseBody200
-> GetInvoicesUpcomingLinesResponseBody200 -> Bool
$c== :: GetInvoicesUpcomingLinesResponseBody200
-> GetInvoicesUpcomingLinesResponseBody200 -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesResponseBody200 where
  toJSON :: GetInvoicesUpcomingLinesResponseBody200 -> Value
toJSON GetInvoicesUpcomingLinesResponseBody200
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"data" Text -> [LineItem] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesResponseBody200 -> [LineItem]
getInvoicesUpcomingLinesResponseBody200Data GetInvoicesUpcomingLinesResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"has_more" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesResponseBody200 -> Bool
getInvoicesUpcomingLinesResponseBody200HasMore GetInvoicesUpcomingLinesResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"url" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesResponseBody200 -> Text
getInvoicesUpcomingLinesResponseBody200Url GetInvoicesUpcomingLinesResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"list" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetInvoicesUpcomingLinesResponseBody200 -> Encoding
toEncoding GetInvoicesUpcomingLinesResponseBody200
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"data" Text -> [LineItem] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesResponseBody200 -> [LineItem]
getInvoicesUpcomingLinesResponseBody200Data GetInvoicesUpcomingLinesResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"has_more" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesResponseBody200 -> Bool
getInvoicesUpcomingLinesResponseBody200HasMore GetInvoicesUpcomingLinesResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"url" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetInvoicesUpcomingLinesResponseBody200 -> Text
getInvoicesUpcomingLinesResponseBody200Url GetInvoicesUpcomingLinesResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"object" Text -> Value -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"list"))))

instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesResponseBody200 where
  parseJSON :: Value -> Parser GetInvoicesUpcomingLinesResponseBody200
parseJSON = String
-> (Object -> Parser GetInvoicesUpcomingLinesResponseBody200)
-> Value
-> Parser GetInvoicesUpcomingLinesResponseBody200
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetInvoicesUpcomingLinesResponseBody200" (\Object
obj -> ((([LineItem]
 -> Bool -> Text -> GetInvoicesUpcomingLinesResponseBody200)
-> Parser
     ([LineItem]
      -> Bool -> Text -> GetInvoicesUpcomingLinesResponseBody200)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure [LineItem]
-> Bool -> Text -> GetInvoicesUpcomingLinesResponseBody200
GetInvoicesUpcomingLinesResponseBody200 Parser
  ([LineItem]
   -> Bool -> Text -> GetInvoicesUpcomingLinesResponseBody200)
-> Parser [LineItem]
-> Parser (Bool -> Text -> GetInvoicesUpcomingLinesResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser [LineItem]
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"data")) Parser (Bool -> Text -> GetInvoicesUpcomingLinesResponseBody200)
-> Parser Bool
-> Parser (Text -> GetInvoicesUpcomingLinesResponseBody200)
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
"has_more")) Parser (Text -> GetInvoicesUpcomingLinesResponseBody200)
-> Parser Text -> Parser GetInvoicesUpcomingLinesResponseBody200
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
"url"))

-- | Create a new 'GetInvoicesUpcomingLinesResponseBody200' with all required fields.
mkGetInvoicesUpcomingLinesResponseBody200 ::
  -- | 'getInvoicesUpcomingLinesResponseBody200Data'
  [LineItem] ->
  -- | 'getInvoicesUpcomingLinesResponseBody200HasMore'
  GHC.Types.Bool ->
  -- | 'getInvoicesUpcomingLinesResponseBody200Url'
  Data.Text.Internal.Text ->
  GetInvoicesUpcomingLinesResponseBody200
mkGetInvoicesUpcomingLinesResponseBody200 :: [LineItem]
-> Bool -> Text -> GetInvoicesUpcomingLinesResponseBody200
mkGetInvoicesUpcomingLinesResponseBody200 [LineItem]
getInvoicesUpcomingLinesResponseBody200Data Bool
getInvoicesUpcomingLinesResponseBody200HasMore Text
getInvoicesUpcomingLinesResponseBody200Url =
  GetInvoicesUpcomingLinesResponseBody200 :: [LineItem]
-> Bool -> Text -> GetInvoicesUpcomingLinesResponseBody200
GetInvoicesUpcomingLinesResponseBody200
    { getInvoicesUpcomingLinesResponseBody200Data :: [LineItem]
getInvoicesUpcomingLinesResponseBody200Data = [LineItem]
getInvoicesUpcomingLinesResponseBody200Data,
      getInvoicesUpcomingLinesResponseBody200HasMore :: Bool
getInvoicesUpcomingLinesResponseBody200HasMore = Bool
getInvoicesUpcomingLinesResponseBody200HasMore,
      getInvoicesUpcomingLinesResponseBody200Url :: Text
getInvoicesUpcomingLinesResponseBody200Url = Text
getInvoicesUpcomingLinesResponseBody200Url
    }