{-# 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.ChimeSdkMeetings.Types.MeetingFeatureStatus
-- 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.ChimeSdkMeetings.Types.MeetingFeatureStatus
  ( MeetingFeatureStatus
      ( ..,
        MeetingFeatureStatus_AVAILABLE,
        MeetingFeatureStatus_UNAVAILABLE
      ),
  )
where

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

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

pattern MeetingFeatureStatus_AVAILABLE :: MeetingFeatureStatus
pattern $bMeetingFeatureStatus_AVAILABLE :: MeetingFeatureStatus
$mMeetingFeatureStatus_AVAILABLE :: forall {r}.
MeetingFeatureStatus -> ((# #) -> r) -> ((# #) -> r) -> r
MeetingFeatureStatus_AVAILABLE = MeetingFeatureStatus' "AVAILABLE"

pattern MeetingFeatureStatus_UNAVAILABLE :: MeetingFeatureStatus
pattern $bMeetingFeatureStatus_UNAVAILABLE :: MeetingFeatureStatus
$mMeetingFeatureStatus_UNAVAILABLE :: forall {r}.
MeetingFeatureStatus -> ((# #) -> r) -> ((# #) -> r) -> r
MeetingFeatureStatus_UNAVAILABLE = MeetingFeatureStatus' "UNAVAILABLE"

{-# COMPLETE
  MeetingFeatureStatus_AVAILABLE,
  MeetingFeatureStatus_UNAVAILABLE,
  MeetingFeatureStatus'
  #-}