{-# 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.ArcZonalShift.Types.AppliedStatus
-- 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.ArcZonalShift.Types.AppliedStatus
  ( AppliedStatus
      ( ..,
        AppliedStatus_APPLIED,
        AppliedStatus_NOT_APPLIED
      ),
  )
where

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

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

pattern AppliedStatus_APPLIED :: AppliedStatus
pattern $bAppliedStatus_APPLIED :: AppliedStatus
$mAppliedStatus_APPLIED :: forall {r}. AppliedStatus -> ((# #) -> r) -> ((# #) -> r) -> r
AppliedStatus_APPLIED = AppliedStatus' "APPLIED"

pattern AppliedStatus_NOT_APPLIED :: AppliedStatus
pattern $bAppliedStatus_NOT_APPLIED :: AppliedStatus
$mAppliedStatus_NOT_APPLIED :: forall {r}. AppliedStatus -> ((# #) -> r) -> ((# #) -> r) -> r
AppliedStatus_NOT_APPLIED = AppliedStatus' "NOT_APPLIED"

{-# COMPLETE
  AppliedStatus_APPLIED,
  AppliedStatus_NOT_APPLIED,
  AppliedStatus'
  #-}