{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.FMS.Types.MarketplaceSubscriptionOnboardingStatus
  ( MarketplaceSubscriptionOnboardingStatus
      ( ..,
        MarketplaceSubscriptionOnboardingStatus_COMPLETE,
        MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE,
        MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude

newtype MarketplaceSubscriptionOnboardingStatus = MarketplaceSubscriptionOnboardingStatus'
  { MarketplaceSubscriptionOnboardingStatus -> Text
fromMarketplaceSubscriptionOnboardingStatus ::
      Data.Text
  }
  deriving stock
    ( Int -> MarketplaceSubscriptionOnboardingStatus -> ShowS
[MarketplaceSubscriptionOnboardingStatus] -> ShowS
MarketplaceSubscriptionOnboardingStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MarketplaceSubscriptionOnboardingStatus] -> ShowS
$cshowList :: [MarketplaceSubscriptionOnboardingStatus] -> ShowS
show :: MarketplaceSubscriptionOnboardingStatus -> String
$cshow :: MarketplaceSubscriptionOnboardingStatus -> String
showsPrec :: Int -> MarketplaceSubscriptionOnboardingStatus -> ShowS
$cshowsPrec :: Int -> MarketplaceSubscriptionOnboardingStatus -> ShowS
Prelude.Show,
      ReadPrec [MarketplaceSubscriptionOnboardingStatus]
ReadPrec MarketplaceSubscriptionOnboardingStatus
Int -> ReadS MarketplaceSubscriptionOnboardingStatus
ReadS [MarketplaceSubscriptionOnboardingStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MarketplaceSubscriptionOnboardingStatus]
$creadListPrec :: ReadPrec [MarketplaceSubscriptionOnboardingStatus]
readPrec :: ReadPrec MarketplaceSubscriptionOnboardingStatus
$creadPrec :: ReadPrec MarketplaceSubscriptionOnboardingStatus
readList :: ReadS [MarketplaceSubscriptionOnboardingStatus]
$creadList :: ReadS [MarketplaceSubscriptionOnboardingStatus]
readsPrec :: Int -> ReadS MarketplaceSubscriptionOnboardingStatus
$creadsPrec :: Int -> ReadS MarketplaceSubscriptionOnboardingStatus
Prelude.Read,
      MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
$c/= :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
== :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
$c== :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
Prelude.Eq,
      Eq MarketplaceSubscriptionOnboardingStatus
MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Ordering
MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
$cmin :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
max :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
$cmax :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus
>= :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
$c>= :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
> :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
$c> :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
<= :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
$c<= :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
< :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
$c< :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Bool
compare :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Ordering
$ccompare :: MarketplaceSubscriptionOnboardingStatus
-> MarketplaceSubscriptionOnboardingStatus -> Ordering
Prelude.Ord,
      forall x.
Rep MarketplaceSubscriptionOnboardingStatus x
-> MarketplaceSubscriptionOnboardingStatus
forall x.
MarketplaceSubscriptionOnboardingStatus
-> Rep MarketplaceSubscriptionOnboardingStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep MarketplaceSubscriptionOnboardingStatus x
-> MarketplaceSubscriptionOnboardingStatus
$cfrom :: forall x.
MarketplaceSubscriptionOnboardingStatus
-> Rep MarketplaceSubscriptionOnboardingStatus x
Prelude.Generic
    )
  deriving newtype
    ( Eq MarketplaceSubscriptionOnboardingStatus
Int -> MarketplaceSubscriptionOnboardingStatus -> Int
MarketplaceSubscriptionOnboardingStatus -> Int
forall a. Eq a -> (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: MarketplaceSubscriptionOnboardingStatus -> Int
$chash :: MarketplaceSubscriptionOnboardingStatus -> Int
hashWithSalt :: Int -> MarketplaceSubscriptionOnboardingStatus -> Int
$chashWithSalt :: Int -> MarketplaceSubscriptionOnboardingStatus -> Int
Prelude.Hashable,
      MarketplaceSubscriptionOnboardingStatus -> ()
forall a. (a -> ()) -> NFData a
rnf :: MarketplaceSubscriptionOnboardingStatus -> ()
$crnf :: MarketplaceSubscriptionOnboardingStatus -> ()
Prelude.NFData,
      Text -> Either String MarketplaceSubscriptionOnboardingStatus
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String MarketplaceSubscriptionOnboardingStatus
$cfromText :: Text -> Either String MarketplaceSubscriptionOnboardingStatus
Data.FromText,
      MarketplaceSubscriptionOnboardingStatus -> Text
forall a. (a -> Text) -> ToText a
toText :: MarketplaceSubscriptionOnboardingStatus -> Text
$ctoText :: MarketplaceSubscriptionOnboardingStatus -> Text
Data.ToText,
      MarketplaceSubscriptionOnboardingStatus -> ByteString
forall a. (a -> ByteString) -> ToByteString a
toBS :: MarketplaceSubscriptionOnboardingStatus -> ByteString
$ctoBS :: MarketplaceSubscriptionOnboardingStatus -> ByteString
Data.ToByteString,
      MarketplaceSubscriptionOnboardingStatus -> ByteStringBuilder
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: MarketplaceSubscriptionOnboardingStatus -> ByteStringBuilder
$cbuild :: MarketplaceSubscriptionOnboardingStatus -> ByteStringBuilder
Data.ToLog,
      HeaderName -> MarketplaceSubscriptionOnboardingStatus -> [Header]
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> MarketplaceSubscriptionOnboardingStatus -> [Header]
$ctoHeader :: HeaderName -> MarketplaceSubscriptionOnboardingStatus -> [Header]
Data.ToHeader,
      MarketplaceSubscriptionOnboardingStatus -> QueryString
forall a. (a -> QueryString) -> ToQuery a
toQuery :: MarketplaceSubscriptionOnboardingStatus -> QueryString
$ctoQuery :: MarketplaceSubscriptionOnboardingStatus -> QueryString
Data.ToQuery,
      Value -> Parser [MarketplaceSubscriptionOnboardingStatus]
Value -> Parser MarketplaceSubscriptionOnboardingStatus
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [MarketplaceSubscriptionOnboardingStatus]
$cparseJSONList :: Value -> Parser [MarketplaceSubscriptionOnboardingStatus]
parseJSON :: Value -> Parser MarketplaceSubscriptionOnboardingStatus
$cparseJSON :: Value -> Parser MarketplaceSubscriptionOnboardingStatus
Data.FromJSON,
      FromJSONKeyFunction [MarketplaceSubscriptionOnboardingStatus]
FromJSONKeyFunction MarketplaceSubscriptionOnboardingStatus
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [MarketplaceSubscriptionOnboardingStatus]
$cfromJSONKeyList :: FromJSONKeyFunction [MarketplaceSubscriptionOnboardingStatus]
fromJSONKey :: FromJSONKeyFunction MarketplaceSubscriptionOnboardingStatus
$cfromJSONKey :: FromJSONKeyFunction MarketplaceSubscriptionOnboardingStatus
Data.FromJSONKey,
      [MarketplaceSubscriptionOnboardingStatus] -> Encoding
[MarketplaceSubscriptionOnboardingStatus] -> Value
MarketplaceSubscriptionOnboardingStatus -> Encoding
MarketplaceSubscriptionOnboardingStatus -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [MarketplaceSubscriptionOnboardingStatus] -> Encoding
$ctoEncodingList :: [MarketplaceSubscriptionOnboardingStatus] -> Encoding
toJSONList :: [MarketplaceSubscriptionOnboardingStatus] -> Value
$ctoJSONList :: [MarketplaceSubscriptionOnboardingStatus] -> Value
toEncoding :: MarketplaceSubscriptionOnboardingStatus -> Encoding
$ctoEncoding :: MarketplaceSubscriptionOnboardingStatus -> Encoding
toJSON :: MarketplaceSubscriptionOnboardingStatus -> Value
$ctoJSON :: MarketplaceSubscriptionOnboardingStatus -> Value
Data.ToJSON,
      ToJSONKeyFunction [MarketplaceSubscriptionOnboardingStatus]
ToJSONKeyFunction MarketplaceSubscriptionOnboardingStatus
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [MarketplaceSubscriptionOnboardingStatus]
$ctoJSONKeyList :: ToJSONKeyFunction [MarketplaceSubscriptionOnboardingStatus]
toJSONKey :: ToJSONKeyFunction MarketplaceSubscriptionOnboardingStatus
$ctoJSONKey :: ToJSONKeyFunction MarketplaceSubscriptionOnboardingStatus
Data.ToJSONKey,
      [Node] -> Either String MarketplaceSubscriptionOnboardingStatus
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String MarketplaceSubscriptionOnboardingStatus
$cparseXML :: [Node] -> Either String MarketplaceSubscriptionOnboardingStatus
Data.FromXML,
      MarketplaceSubscriptionOnboardingStatus -> XML
forall a. (a -> XML) -> ToXML a
toXML :: MarketplaceSubscriptionOnboardingStatus -> XML
$ctoXML :: MarketplaceSubscriptionOnboardingStatus -> XML
Data.ToXML
    )

pattern MarketplaceSubscriptionOnboardingStatus_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
pattern $bMarketplaceSubscriptionOnboardingStatus_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
$mMarketplaceSubscriptionOnboardingStatus_COMPLETE :: forall {r}.
MarketplaceSubscriptionOnboardingStatus
-> ((# #) -> r) -> ((# #) -> r) -> r
MarketplaceSubscriptionOnboardingStatus_COMPLETE = MarketplaceSubscriptionOnboardingStatus' "COMPLETE"

pattern MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
pattern $bMarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE :: MarketplaceSubscriptionOnboardingStatus
$mMarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE :: forall {r}.
MarketplaceSubscriptionOnboardingStatus
-> ((# #) -> r) -> ((# #) -> r) -> r
MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE = MarketplaceSubscriptionOnboardingStatus' "NOT_COMPLETE"

pattern MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION :: MarketplaceSubscriptionOnboardingStatus
pattern $bMarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION :: MarketplaceSubscriptionOnboardingStatus
$mMarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION :: forall {r}.
MarketplaceSubscriptionOnboardingStatus
-> ((# #) -> r) -> ((# #) -> r) -> r
MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION = MarketplaceSubscriptionOnboardingStatus' "NO_SUBSCRIPTION"

{-# COMPLETE
  MarketplaceSubscriptionOnboardingStatus_COMPLETE,
  MarketplaceSubscriptionOnboardingStatus_NOT_COMPLETE,
  MarketplaceSubscriptionOnboardingStatus_NO_SUBSCRIPTION,
  MarketplaceSubscriptionOnboardingStatus'
  #-}