{-# 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.Grafana.Types.WorkspaceStatus
-- 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.Grafana.Types.WorkspaceStatus
  ( WorkspaceStatus
      ( ..,
        WorkspaceStatus_ACTIVE,
        WorkspaceStatus_CREATING,
        WorkspaceStatus_CREATION_FAILED,
        WorkspaceStatus_DELETING,
        WorkspaceStatus_DELETION_FAILED,
        WorkspaceStatus_FAILED,
        WorkspaceStatus_LICENSE_REMOVAL_FAILED,
        WorkspaceStatus_UPDATE_FAILED,
        WorkspaceStatus_UPDATING,
        WorkspaceStatus_UPGRADE_FAILED,
        WorkspaceStatus_UPGRADING
      ),
  )
where

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

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

pattern WorkspaceStatus_ACTIVE :: WorkspaceStatus
pattern $bWorkspaceStatus_ACTIVE :: WorkspaceStatus
$mWorkspaceStatus_ACTIVE :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_ACTIVE = WorkspaceStatus' "ACTIVE"

pattern WorkspaceStatus_CREATING :: WorkspaceStatus
pattern $bWorkspaceStatus_CREATING :: WorkspaceStatus
$mWorkspaceStatus_CREATING :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_CREATING = WorkspaceStatus' "CREATING"

pattern WorkspaceStatus_CREATION_FAILED :: WorkspaceStatus
pattern $bWorkspaceStatus_CREATION_FAILED :: WorkspaceStatus
$mWorkspaceStatus_CREATION_FAILED :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_CREATION_FAILED = WorkspaceStatus' "CREATION_FAILED"

pattern WorkspaceStatus_DELETING :: WorkspaceStatus
pattern $bWorkspaceStatus_DELETING :: WorkspaceStatus
$mWorkspaceStatus_DELETING :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_DELETING = WorkspaceStatus' "DELETING"

pattern WorkspaceStatus_DELETION_FAILED :: WorkspaceStatus
pattern $bWorkspaceStatus_DELETION_FAILED :: WorkspaceStatus
$mWorkspaceStatus_DELETION_FAILED :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_DELETION_FAILED = WorkspaceStatus' "DELETION_FAILED"

pattern WorkspaceStatus_FAILED :: WorkspaceStatus
pattern $bWorkspaceStatus_FAILED :: WorkspaceStatus
$mWorkspaceStatus_FAILED :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_FAILED = WorkspaceStatus' "FAILED"

pattern WorkspaceStatus_LICENSE_REMOVAL_FAILED :: WorkspaceStatus
pattern $bWorkspaceStatus_LICENSE_REMOVAL_FAILED :: WorkspaceStatus
$mWorkspaceStatus_LICENSE_REMOVAL_FAILED :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_LICENSE_REMOVAL_FAILED = WorkspaceStatus' "LICENSE_REMOVAL_FAILED"

pattern WorkspaceStatus_UPDATE_FAILED :: WorkspaceStatus
pattern $bWorkspaceStatus_UPDATE_FAILED :: WorkspaceStatus
$mWorkspaceStatus_UPDATE_FAILED :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_UPDATE_FAILED = WorkspaceStatus' "UPDATE_FAILED"

pattern WorkspaceStatus_UPDATING :: WorkspaceStatus
pattern $bWorkspaceStatus_UPDATING :: WorkspaceStatus
$mWorkspaceStatus_UPDATING :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_UPDATING = WorkspaceStatus' "UPDATING"

pattern WorkspaceStatus_UPGRADE_FAILED :: WorkspaceStatus
pattern $bWorkspaceStatus_UPGRADE_FAILED :: WorkspaceStatus
$mWorkspaceStatus_UPGRADE_FAILED :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_UPGRADE_FAILED = WorkspaceStatus' "UPGRADE_FAILED"

pattern WorkspaceStatus_UPGRADING :: WorkspaceStatus
pattern $bWorkspaceStatus_UPGRADING :: WorkspaceStatus
$mWorkspaceStatus_UPGRADING :: forall r. WorkspaceStatus -> (Void# -> r) -> (Void# -> r) -> r
WorkspaceStatus_UPGRADING = WorkspaceStatus' "UPGRADING"

{-# COMPLETE
  WorkspaceStatus_ACTIVE,
  WorkspaceStatus_CREATING,
  WorkspaceStatus_CREATION_FAILED,
  WorkspaceStatus_DELETING,
  WorkspaceStatus_DELETION_FAILED,
  WorkspaceStatus_FAILED,
  WorkspaceStatus_LICENSE_REMOVAL_FAILED,
  WorkspaceStatus_UPDATE_FAILED,
  WorkspaceStatus_UPDATING,
  WorkspaceStatus_UPGRADE_FAILED,
  WorkspaceStatus_UPGRADING,
  WorkspaceStatus'
  #-}