{-# 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.ZonalShiftStatus
-- 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.ZonalShiftStatus
  ( ZonalShiftStatus
      ( ..,
        ZonalShiftStatus_ACTIVE,
        ZonalShiftStatus_CANCELED,
        ZonalShiftStatus_EXPIRED
      ),
  )
where

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

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

pattern ZonalShiftStatus_ACTIVE :: ZonalShiftStatus
pattern $bZonalShiftStatus_ACTIVE :: ZonalShiftStatus
$mZonalShiftStatus_ACTIVE :: forall {r}. ZonalShiftStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ZonalShiftStatus_ACTIVE = ZonalShiftStatus' "ACTIVE"

pattern ZonalShiftStatus_CANCELED :: ZonalShiftStatus
pattern $bZonalShiftStatus_CANCELED :: ZonalShiftStatus
$mZonalShiftStatus_CANCELED :: forall {r}. ZonalShiftStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ZonalShiftStatus_CANCELED = ZonalShiftStatus' "CANCELED"

pattern ZonalShiftStatus_EXPIRED :: ZonalShiftStatus
pattern $bZonalShiftStatus_EXPIRED :: ZonalShiftStatus
$mZonalShiftStatus_EXPIRED :: forall {r}. ZonalShiftStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ZonalShiftStatus_EXPIRED = ZonalShiftStatus' "EXPIRED"

{-# COMPLETE
  ZonalShiftStatus_ACTIVE,
  ZonalShiftStatus_CANCELED,
  ZonalShiftStatus_EXPIRED,
  ZonalShiftStatus'
  #-}