{-# 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.QuickSight.Types.NamespaceStatus
-- 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.QuickSight.Types.NamespaceStatus
  ( NamespaceStatus
      ( ..,
        NamespaceStatus_CREATED,
        NamespaceStatus_CREATING,
        NamespaceStatus_DELETING,
        NamespaceStatus_NON_RETRYABLE_FAILURE,
        NamespaceStatus_RETRYABLE_FAILURE
      ),
  )
where

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

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

pattern NamespaceStatus_CREATED :: NamespaceStatus
pattern $bNamespaceStatus_CREATED :: NamespaceStatus
$mNamespaceStatus_CREATED :: forall r. NamespaceStatus -> (Void# -> r) -> (Void# -> r) -> r
NamespaceStatus_CREATED = NamespaceStatus' "CREATED"

pattern NamespaceStatus_CREATING :: NamespaceStatus
pattern $bNamespaceStatus_CREATING :: NamespaceStatus
$mNamespaceStatus_CREATING :: forall r. NamespaceStatus -> (Void# -> r) -> (Void# -> r) -> r
NamespaceStatus_CREATING = NamespaceStatus' "CREATING"

pattern NamespaceStatus_DELETING :: NamespaceStatus
pattern $bNamespaceStatus_DELETING :: NamespaceStatus
$mNamespaceStatus_DELETING :: forall r. NamespaceStatus -> (Void# -> r) -> (Void# -> r) -> r
NamespaceStatus_DELETING = NamespaceStatus' "DELETING"

pattern NamespaceStatus_NON_RETRYABLE_FAILURE :: NamespaceStatus
pattern $bNamespaceStatus_NON_RETRYABLE_FAILURE :: NamespaceStatus
$mNamespaceStatus_NON_RETRYABLE_FAILURE :: forall r. NamespaceStatus -> (Void# -> r) -> (Void# -> r) -> r
NamespaceStatus_NON_RETRYABLE_FAILURE = NamespaceStatus' "NON_RETRYABLE_FAILURE"

pattern NamespaceStatus_RETRYABLE_FAILURE :: NamespaceStatus
pattern $bNamespaceStatus_RETRYABLE_FAILURE :: NamespaceStatus
$mNamespaceStatus_RETRYABLE_FAILURE :: forall r. NamespaceStatus -> (Void# -> r) -> (Void# -> r) -> r
NamespaceStatus_RETRYABLE_FAILURE = NamespaceStatus' "RETRYABLE_FAILURE"

{-# COMPLETE
  NamespaceStatus_CREATED,
  NamespaceStatus_CREATING,
  NamespaceStatus_DELETING,
  NamespaceStatus_NON_RETRYABLE_FAILURE,
  NamespaceStatus_RETRYABLE_FAILURE,
  NamespaceStatus'
  #-}