{-# 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.Chime.Types.ArtifactsState
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Chime.Types.ArtifactsState
  ( ArtifactsState
      ( ..,
        ArtifactsState_Disabled,
        ArtifactsState_Enabled
      ),
  )
where

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

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

pattern ArtifactsState_Disabled :: ArtifactsState
pattern $bArtifactsState_Disabled :: ArtifactsState
$mArtifactsState_Disabled :: forall r. ArtifactsState -> (Void# -> r) -> (Void# -> r) -> r
ArtifactsState_Disabled = ArtifactsState' "Disabled"

pattern ArtifactsState_Enabled :: ArtifactsState
pattern $bArtifactsState_Enabled :: ArtifactsState
$mArtifactsState_Enabled :: forall r. ArtifactsState -> (Void# -> r) -> (Void# -> r) -> r
ArtifactsState_Enabled = ArtifactsState' "Enabled"

{-# COMPLETE
  ArtifactsState_Disabled,
  ArtifactsState_Enabled,
  ArtifactsState'
  #-}