{-# 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.Foldable import qualified Data.Functor import qualified Data.Maybe 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 -- -- \

When retrieving an upcoming invoice, you’ll get a \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 parameters = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either GetInvoicesUpcomingLinesResponseError GHC.Base.id GHC.Base.. ( \response body -> if | (\status_1 -> Network.HTTP.Types.Status.statusCode status_1 GHC.Classes.== 200) (Network.HTTP.Client.Types.responseStatus response) -> GetInvoicesUpcomingLinesResponse200 Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String GetInvoicesUpcomingLinesResponseBody200 ) | GHC.Base.const GHC.Types.True (Network.HTTP.Client.Types.responseStatus response) -> GetInvoicesUpcomingLinesResponseDefault Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String Error ) | GHC.Base.otherwise -> Data.Either.Left "Missing default response type" ) response_0 ) response_0 ) ( StripeAPI.Common.doCallWithConfigurationM (Data.Text.toUpper GHC.Base.$ Data.Text.pack "GET") (Data.Text.pack "/v1/invoices/upcoming/lines") [ StripeAPI.Common.QueryParameter (Data.Text.pack "automatic_tax") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryAutomaticTax parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "coupon") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryCoupon parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "customer") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryCustomer parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "customer_details") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryCustomerDetails parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "discounts") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryDiscounts parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "ending_before") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryEndingBefore parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "expand") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryExpand parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "invoice_items") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryInvoiceItems parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "limit") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryLimit parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "schedule") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySchedule parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "starting_after") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQueryStartingAfter parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscription parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_billing_cycle_anchor") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_cancel_at") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_cancel_at_period_end") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_cancel_now") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_default_tax_rates") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_items") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionItems parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_proration_behavior") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_proration_date") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_start_date") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_trial_end") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "subscription_trial_from_plan") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan parameters) (Data.Text.pack "form") 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. 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 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 getInvoicesUpcomingLinesParametersQueryCustomer :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | queryCustomer_details: Represents the parameter named \'customer_details\' -- -- Details about the customer you want to invoice or overrides for an existing customer. 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. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the \`coupon\` parameter instead. 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. 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 getInvoicesUpcomingLinesParametersQueryEndingBefore :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | queryExpand: Represents the parameter named \'expand\' -- -- Specifies which fields in the response should be expanded. 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. 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. 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 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 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 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\`. 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\`. 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. 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. 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. 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. 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. 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\'. 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) 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. 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. See [Using trial periods on subscriptions](https:\/\/stripe.com\/docs\/billing\/subscriptions\/trials) to learn more. getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParameters where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryAutomatic_tax" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryAutomaticTax obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryCoupon" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCoupon obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryCustomer" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomer obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryCustomer_details" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryDiscounts" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryDiscounts obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryEnding_before" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryEndingBefore obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryExpand" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryExpand obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryInvoice_items" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryLimit" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryLimit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySchedule" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySchedule obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryStarting_after" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryStartingAfter obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscription obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_billing_cycle_anchor" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_cancel_at" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_cancel_at_period_end" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_cancel_now" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_default_tax_rates" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_items" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_proration_behavior" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_proration_date" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_start_date" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_trial_end" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_trial_from_plan" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryAutomatic_tax" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryAutomaticTax obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryCoupon" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCoupon obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryCustomer" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomer obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryCustomer_details" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryDiscounts" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryDiscounts obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryEnding_before" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryEndingBefore obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryExpand" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryExpand obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryInvoice_items" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryLimit" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryLimit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySchedule" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySchedule obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("queryStarting_after" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryStartingAfter obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscription obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_billing_cycle_anchor" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_cancel_at" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_cancel_at_period_end" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_cancel_now" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_default_tax_rates" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_items" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_proration_behavior" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_proration_date" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_start_date" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_trial_end" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("querySubscription_trial_from_plan" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParameters where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParameters" (\obj -> ((((((((((((((((((((((GHC.Base.pure GetInvoicesUpcomingLinesParameters GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryAutomatic_tax")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryCoupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryCustomer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryCustomer_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryDiscounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryEnding_before")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryExpand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryInvoice_items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryLimit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySchedule")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "queryStarting_after")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_billing_cycle_anchor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_cancel_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_cancel_at_period_end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_cancel_now")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_default_tax_rates")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_proration_behavior")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_proration_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_start_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_trial_end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "querySubscription_trial_from_plan")) -- | Create a new 'GetInvoicesUpcomingLinesParameters' with all required fields. mkGetInvoicesUpcomingLinesParameters :: GetInvoicesUpcomingLinesParameters mkGetInvoicesUpcomingLinesParameters = GetInvoicesUpcomingLinesParameters { getInvoicesUpcomingLinesParametersQueryAutomaticTax = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCoupon = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomer = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryDiscounts = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryEndingBefore = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryExpand = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryLimit = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySchedule = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryStartingAfter = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscription = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionCancelAtPeriodEnd = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionCancelNow = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionProrationDate = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionStartDate = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionTrialFromPlan = 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'Enabled :: GHC.Types.Bool } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryAutomaticTax' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryAutomaticTax' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryAutomaticTax'" (\obj -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryAutomaticTax' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "enabled")) -- | Create a new 'GetInvoicesUpcomingLinesParametersQueryAutomaticTax'' with all required fields. mkGetInvoicesUpcomingLinesParametersQueryAutomaticTax' :: -- | 'getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled' GHC.Types.Bool -> GetInvoicesUpcomingLinesParametersQueryAutomaticTax' mkGetInvoicesUpcomingLinesParametersQueryAutomaticTax' getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled = GetInvoicesUpcomingLinesParametersQueryAutomaticTax' {getInvoicesUpcomingLinesParametersQueryAutomaticTax'Enabled = 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 or overrides for an existing customer. data GetInvoicesUpcomingLinesParametersQueryCustomerDetails' = GetInvoicesUpcomingLinesParametersQueryCustomerDetails' { -- | address getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants), -- | shipping getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants), -- | tax getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'), -- | tax_exempt getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'), -- | tax_ids getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds :: (GHC.Maybe.Maybe ([GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("address" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_exempt" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_ids" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("address" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_exempt" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_ids" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryCustomerDetails'" (\obj -> ((((GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_exempt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_ids")) -- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'' with all required fields. mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails' :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails' mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails' = GetInvoicesUpcomingLinesParametersQueryCustomerDetails' { getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds = 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'OneOf1City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("city" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1City obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Country obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line1" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line1 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1PostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1State obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("city" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1City obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Country obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line1" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line1 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1PostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1State obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1" (\obj -> (((((GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "state")) -- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1' with all required fields. mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 { getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1City = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Country = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line1 = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1Line2 = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1PostalCode = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1State = 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants where toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Address'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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'OneOf1Address :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address', -- | name -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name :: Data.Text.Internal.Text, -- | phone -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["address" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address obj] : ["name" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("phone" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Phone obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["address" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address obj] : ["name" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("phone" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Phone obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1" (\obj -> ((GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "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 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 { getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address = getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name = getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Name, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Phone = 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'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("city" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'City obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Country obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line1" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'PostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'State obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("city" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'City obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Country obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line1" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'PostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'State obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'" (\obj -> (((((GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "state")) -- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'' with all required fields. mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address' { getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'City = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Country = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line1 = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'Line2 = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'PostalCode = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1Address'State = 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants where toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Shipping'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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'IpAddress :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("ip_address" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("ip_address" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'" (\obj -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "ip_address")) -- | Create a new 'GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'' with all required fields. mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' mkGetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax' {getInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress = 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants where toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Text a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'Tax'IpAddress'Text Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt' where toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'Other val) = val toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumEmptyString) = "" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumExempt) = "exempt" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumNone) = "none" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumReverse) = "reverse" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumEmptyString | val GHC.Classes.== "exempt" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumExempt | val GHC.Classes.== "none" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumNone | val GHC.Classes.== "reverse" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'EnumReverse | GHC.Base.otherwise -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxExempt'Other 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'Type :: GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type', -- | value getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["type" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type obj] : ["value" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["type" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type obj] : ["value" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'" (\obj -> (GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "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 getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value = GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds' { getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type = getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type, getInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Value = 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 @"au_arn"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAuArn | -- | Represents the JSON value @"bg_uic"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBgUic | -- | 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_oss_vat"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEuOssVat | -- | Represents the JSON value @"eu_vat"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEuVat | -- | Represents the JSON value @"gb_vat"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumGbVat | -- | Represents the JSON value @"ge_vat"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumGeVat | -- | Represents the JSON value @"hk_br"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumHkBr | -- | Represents the JSON value @"hu_tin"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumHuTin | -- | 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 @"is_vat"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIsVat | -- | 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 @"si_tin"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSiTin | -- | Represents the JSON value @"th_vat"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumThVat | -- | Represents the JSON value @"tw_vat"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumTwVat | -- | Represents the JSON value @"ua_vat"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumUaVat | -- | Represents the JSON value @"us_ein"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumUsEin | -- | Represents the JSON value @"za_vat"@ GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumZaVat deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type' where toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'Other val) = val toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAeTrn) = "ae_trn" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAuAbn) = "au_abn" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAuArn) = "au_arn" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBgUic) = "bg_uic" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCnpj) = "br_cnpj" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCpf) = "br_cpf" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaBn) = "ca_bn" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaGstHst) = "ca_gst_hst" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstBc) = "ca_pst_bc" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstMb) = "ca_pst_mb" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstSk) = "ca_pst_sk" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaQst) = "ca_qst" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumChVat) = "ch_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumClTin) = "cl_tin" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEsCif) = "es_cif" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEuOssVat) = "eu_oss_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEuVat) = "eu_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumGbVat) = "gb_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumGeVat) = "ge_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumHkBr) = "hk_br" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumHuTin) = "hu_tin" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIdNpwp) = "id_npwp" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIlVat) = "il_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumInGst) = "in_gst" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIsVat) = "is_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpCn) = "jp_cn" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpRn) = "jp_rn" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumKrBrn) = "kr_brn" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumLiUid) = "li_uid" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMxRfc) = "mx_rfc" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyFrp) = "my_frp" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyItn) = "my_itn" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMySst) = "my_sst" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNoVat) = "no_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNzGst) = "nz_gst" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuInn) = "ru_inn" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuKpp) = "ru_kpp" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSaVat) = "sa_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgGst) = "sg_gst" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgUen) = "sg_uen" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSiTin) = "si_tin" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumThVat) = "th_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumTwVat) = "tw_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumUaVat) = "ua_vat" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumUsEin) = "us_ein" toJSON (GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumZaVat) = "za_vat" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "ae_trn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAeTrn | val GHC.Classes.== "au_abn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAuAbn | val GHC.Classes.== "au_arn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumAuArn | val GHC.Classes.== "bg_uic" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBgUic | val GHC.Classes.== "br_cnpj" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCnpj | val GHC.Classes.== "br_cpf" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumBrCpf | val GHC.Classes.== "ca_bn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaBn | val GHC.Classes.== "ca_gst_hst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaGstHst | val GHC.Classes.== "ca_pst_bc" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstBc | val GHC.Classes.== "ca_pst_mb" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstMb | val GHC.Classes.== "ca_pst_sk" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaPstSk | val GHC.Classes.== "ca_qst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumCaQst | val GHC.Classes.== "ch_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumChVat | val GHC.Classes.== "cl_tin" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumClTin | val GHC.Classes.== "es_cif" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEsCif | val GHC.Classes.== "eu_oss_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEuOssVat | val GHC.Classes.== "eu_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumEuVat | val GHC.Classes.== "gb_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumGbVat | val GHC.Classes.== "ge_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumGeVat | val GHC.Classes.== "hk_br" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumHkBr | val GHC.Classes.== "hu_tin" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumHuTin | val GHC.Classes.== "id_npwp" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIdNpwp | val GHC.Classes.== "il_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIlVat | val GHC.Classes.== "in_gst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumInGst | val GHC.Classes.== "is_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumIsVat | val GHC.Classes.== "jp_cn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpCn | val GHC.Classes.== "jp_rn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumJpRn | val GHC.Classes.== "kr_brn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumKrBrn | val GHC.Classes.== "li_uid" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumLiUid | val GHC.Classes.== "mx_rfc" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMxRfc | val GHC.Classes.== "my_frp" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyFrp | val GHC.Classes.== "my_itn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMyItn | val GHC.Classes.== "my_sst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumMySst | val GHC.Classes.== "no_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNoVat | val GHC.Classes.== "nz_gst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumNzGst | val GHC.Classes.== "ru_inn" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuInn | val GHC.Classes.== "ru_kpp" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumRuKpp | val GHC.Classes.== "sa_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSaVat | val GHC.Classes.== "sg_gst" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgGst | val GHC.Classes.== "sg_uen" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSgUen | val GHC.Classes.== "si_tin" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumSiTin | val GHC.Classes.== "th_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumThVat | val GHC.Classes.== "tw_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumTwVat | val GHC.Classes.== "ua_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumUaVat | val GHC.Classes.== "us_ein" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumUsEin | val GHC.Classes.== "za_vat" -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'EnumZaVat | GHC.Base.otherwise -> GetInvoicesUpcomingLinesParametersQueryCustomerDetails'TaxIds'Type'Other 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'OneOf1Coupon :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | discount -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Discount :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("coupon" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Coupon obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Discount obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("coupon" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Coupon obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Discount obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1" (\obj -> (GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "discount")) -- | Create a new 'GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1' with all required fields. mkGetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 mkGetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 = GetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 { getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Coupon = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1Discount = 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. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the \`coupon\` parameter instead. 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants where toJSON (GetInvoicesUpcomingLinesParametersQueryDiscounts'ListTGetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQueryDiscounts'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryDiscounts'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryDiscounts'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQueryDiscounts'ListTGetInvoicesUpcomingLinesParametersQueryDiscounts'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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'Amount :: (GHC.Maybe.Maybe GHC.Types.Int), -- | currency getInvoicesUpcomingLinesParametersQueryInvoiceItems'Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | description -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryInvoiceItems'Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | discountable getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discountable :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | discounts getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants), -- | invoiceitem -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryInvoiceItems'Invoiceitem :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | metadata getInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants), -- | period getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'), -- | price -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryInvoiceItems'Price :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | price_data getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'), -- | quantity getInvoicesUpcomingLinesParametersQueryInvoiceItems'Quantity :: (GHC.Maybe.Maybe GHC.Types.Int), -- | tax_rates getInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants), -- | unit_amount getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmount :: (GHC.Maybe.Maybe GHC.Types.Int), -- | unit_amount_decimal getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmountDecimal :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("amount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Amount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("currency" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Currency obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discountable" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discountable obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discounts" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("invoiceitem" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Invoiceitem obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("period" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Price obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price_data" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("quantity" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Quantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_rates" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount_decimal" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmountDecimal obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("amount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Amount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("currency" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Currency obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discountable" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discountable obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discounts" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("invoiceitem" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Invoiceitem obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("period" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Price obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price_data" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("quantity" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Quantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_rates" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount_decimal" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmountDecimal obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryInvoiceItems'" (\obj -> (((((((((((((GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryInvoiceItems' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "discountable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "discounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "invoiceitem")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "period")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "price")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "price_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_rates")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "unit_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "unit_amount_decimal")) -- | Create a new 'GetInvoicesUpcomingLinesParametersQueryInvoiceItems'' with all required fields. mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems' :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems' mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems' = GetInvoicesUpcomingLinesParametersQueryInvoiceItems' { getInvoicesUpcomingLinesParametersQueryInvoiceItems'Amount = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Currency = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Description = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discountable = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Invoiceitem = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Price = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Quantity = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmount = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'UnitAmountDecimal = 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'OneOf1Coupon :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | discount -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Discount :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("coupon" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Coupon obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Discount obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("coupon" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Coupon obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Discount obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1" (\obj -> (GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "discount")) -- | Create a new 'GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1' with all required fields. mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 :: GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 mkGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 = GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 { getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Coupon = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1Discount = 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants where toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'ListTGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'ListTGetInvoicesUpcomingLinesParametersQueryInvoiceItems'Discounts'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants where toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Metadata'Object Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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'End :: GHC.Types.Int, -- | start getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["end" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End obj] : ["start" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["end" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End obj] : ["start" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'" (\obj -> (GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "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' getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start = GetInvoicesUpcomingLinesParametersQueryInvoiceItems'Period' { getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End = getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'End, getInvoicesUpcomingLinesParametersQueryInvoiceItems'Period'Start = 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'Currency :: Data.Text.Internal.Text, -- | product -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product :: Data.Text.Internal.Text, -- | tax_behavior getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'), -- | unit_amount getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmount :: (GHC.Maybe.Maybe GHC.Types.Int), -- | unit_amount_decimal getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmountDecimal :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["currency" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency obj] : ["product" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_behavior" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount_decimal" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmountDecimal obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["currency" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency obj] : ["product" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_behavior" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount_decimal" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmountDecimal obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'" (\obj -> ((((GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "product")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_behavior")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "unit_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "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' getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product = GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData' { getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency = getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Currency, getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product = getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'Product, getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmount = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'UnitAmountDecimal = 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior' where toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'Other val) = val toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumExclusive) = "exclusive" toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumInclusive) = "inclusive" toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumUnspecified) = "unspecified" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "exclusive" -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumExclusive | val GHC.Classes.== "inclusive" -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumInclusive | val GHC.Classes.== "unspecified" -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'EnumUnspecified | GHC.Base.otherwise -> GetInvoicesUpcomingLinesParametersQueryInvoiceItems'PriceData'TaxBehavior'Other 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants where toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'ListTText a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQueryInvoiceItems'TaxRates'ListTText Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1 where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1Other val) = val toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumNow) = "now" toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumUnchanged) = "unchanged" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1 where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "now" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumNow | val GHC.Classes.== "unchanged" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1EnumUnchanged | GHC.Base.otherwise -> GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1Other 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Int a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Variants where parseJSON val = case (GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((GetInvoicesUpcomingLinesParametersQuerySubscriptionBillingCycleAnchor'Int Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched") of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Int a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQuerySubscriptionCancelAt'Int Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'ListTText a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQuerySubscriptionDefaultTaxRates'ListTText Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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'BillingThresholds :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants), -- | clear_usage getInvoicesUpcomingLinesParametersQuerySubscriptionItems'ClearUsage :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | deleted getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Deleted :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | id -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | metadata getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants), -- | price -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Price :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | price_data getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'), -- | quantity getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Quantity :: (GHC.Maybe.Maybe GHC.Types.Int), -- | tax_rates getInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("billing_thresholds" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("clear_usage" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'ClearUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("deleted" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Deleted obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("id" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Id obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Price obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price_data" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("quantity" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Quantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_rates" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("billing_thresholds" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("clear_usage" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'ClearUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("deleted" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Deleted obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("id" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Id obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Price obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price_data" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("quantity" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Quantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_rates" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'" (\obj -> ((((((((GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "billing_thresholds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "clear_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "deleted")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "price")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "price_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_rates")) -- | Create a new 'GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'' with all required fields. mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems' :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' mkGetInvoicesUpcomingLinesParametersQuerySubscriptionItems' = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems' { getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'ClearUsage = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Deleted = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Id = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Price = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'Quantity = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates = 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'OneOf1UsageGte :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["usage_gte" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["usage_gte" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1" (\obj -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "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 getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 {getInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1UsageGte = 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'BillingThresholds'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'Metadata'Object Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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'Currency :: Data.Text.Internal.Text, -- | product -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product :: Data.Text.Internal.Text, -- | recurring getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring', -- | tax_behavior getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior :: (GHC.Maybe.Maybe GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'), -- | unit_amount getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmount :: (GHC.Maybe.Maybe GHC.Types.Int), -- | unit_amount_decimal getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmountDecimal :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["currency" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency obj] : ["product" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product obj] : ["recurring" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_behavior" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount_decimal" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmountDecimal obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["currency" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency obj] : ["product" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product obj] : ["recurring" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_behavior" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount_decimal" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmountDecimal obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'" (\obj -> (((((GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "product")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "recurring")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_behavior")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "unit_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "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' getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring = GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData' { getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency = getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Currency, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product = getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Product, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring = getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmount = GHC.Maybe.Nothing, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'UnitAmountDecimal = 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'Interval :: GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval', -- | interval_count getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'IntervalCount :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["interval" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("interval_count" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'IntervalCount obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["interval" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("interval_count" Data.Aeson.Types.ToJSON..=)) (getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'IntervalCount obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'" (\obj -> (GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "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' { getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval = getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval, getInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'IntervalCount = 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval' where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'Other val) = val toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumDay) = "day" toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumMonth) = "month" toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumWeek) = "week" toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumYear) = "year" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "day" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumDay | val GHC.Classes.== "month" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumMonth | val GHC.Classes.== "week" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumWeek | val GHC.Classes.== "year" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'EnumYear | GHC.Base.otherwise -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'Recurring'Interval'Other 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior' where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'Other val) = val toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumExclusive) = "exclusive" toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumInclusive) = "inclusive" toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumUnspecified) = "unspecified" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "exclusive" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumExclusive | val GHC.Classes.== "inclusive" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumInclusive | val GHC.Classes.== "unspecified" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'EnumUnspecified | GHC.Base.otherwise -> GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'PriceData'TaxBehavior'Other 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'ListTText a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'EmptyString | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQuerySubscriptionItems'TaxRates'ListTText Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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. 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior' where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'Other val) = val toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumAlwaysInvoice) = "always_invoice" toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumCreateProrations) = "create_prorations" toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "always_invoice" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumAlwaysInvoice | val GHC.Classes.== "create_prorations" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumCreateProrations | val GHC.Classes.== "none" -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'EnumNone | GHC.Base.otherwise -> GetInvoicesUpcomingLinesParametersQuerySubscriptionProrationBehavior'Other 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 (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants where toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Int a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Now) = "now" instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Variants where parseJSON val = if | val GHC.Classes.== "now" -> GHC.Base.pure GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Now | GHC.Base.otherwise -> case (GetInvoicesUpcomingLinesParametersQuerySubscriptionTrialEnd'Int Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail 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 (GHC.Show.Show, 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. getInvoicesUpcomingLinesResponseBody200Data :: ([LineItem]), -- | has_more: True if this list has another page of items after this one that can be fetched. getInvoicesUpcomingLinesResponseBody200HasMore :: GHC.Types.Bool, -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 getInvoicesUpcomingLinesResponseBody200Url :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetInvoicesUpcomingLinesResponseBody200 where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["data" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesResponseBody200Data obj] : ["has_more" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesResponseBody200HasMore obj] : ["url" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesResponseBody200Url obj] : ["object" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "list"] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["data" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesResponseBody200Data obj] : ["has_more" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesResponseBody200HasMore obj] : ["url" Data.Aeson.Types.ToJSON..= getInvoicesUpcomingLinesResponseBody200Url obj] : ["object" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "list"] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON GetInvoicesUpcomingLinesResponseBody200 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetInvoicesUpcomingLinesResponseBody200" (\obj -> ((GHC.Base.pure GetInvoicesUpcomingLinesResponseBody200 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Create a new 'GetInvoicesUpcomingLinesResponseBody200' with all required fields. mkGetInvoicesUpcomingLinesResponseBody200 :: -- | 'getInvoicesUpcomingLinesResponseBody200Data' [LineItem] -> -- | 'getInvoicesUpcomingLinesResponseBody200HasMore' GHC.Types.Bool -> -- | 'getInvoicesUpcomingLinesResponseBody200Url' Data.Text.Internal.Text -> GetInvoicesUpcomingLinesResponseBody200 mkGetInvoicesUpcomingLinesResponseBody200 getInvoicesUpcomingLinesResponseBody200Data getInvoicesUpcomingLinesResponseBody200HasMore getInvoicesUpcomingLinesResponseBody200Url = GetInvoicesUpcomingLinesResponseBody200 { getInvoicesUpcomingLinesResponseBody200Data = getInvoicesUpcomingLinesResponseBody200Data, getInvoicesUpcomingLinesResponseBody200HasMore = getInvoicesUpcomingLinesResponseBody200HasMore, getInvoicesUpcomingLinesResponseBody200Url = getInvoicesUpcomingLinesResponseBody200Url }