{-# 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.Inspector2.Types.FreeTrialStatus
-- 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.Inspector2.Types.FreeTrialStatus
  ( FreeTrialStatus
      ( ..,
        FreeTrialStatus_ACTIVE,
        FreeTrialStatus_INACTIVE
      ),
  )
where

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

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

pattern FreeTrialStatus_ACTIVE :: FreeTrialStatus
pattern $bFreeTrialStatus_ACTIVE :: FreeTrialStatus
$mFreeTrialStatus_ACTIVE :: forall {r}. FreeTrialStatus -> ((# #) -> r) -> ((# #) -> r) -> r
FreeTrialStatus_ACTIVE = FreeTrialStatus' "ACTIVE"

pattern FreeTrialStatus_INACTIVE :: FreeTrialStatus
pattern $bFreeTrialStatus_INACTIVE :: FreeTrialStatus
$mFreeTrialStatus_INACTIVE :: forall {r}. FreeTrialStatus -> ((# #) -> r) -> ((# #) -> r) -> r
FreeTrialStatus_INACTIVE = FreeTrialStatus' "INACTIVE"

{-# COMPLETE
  FreeTrialStatus_ACTIVE,
  FreeTrialStatus_INACTIVE,
  FreeTrialStatus'
  #-}