{-# 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.DLM.Types.GettablePolicyStateValues
-- 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.DLM.Types.GettablePolicyStateValues
  ( GettablePolicyStateValues
      ( ..,
        GettablePolicyStateValues_DISABLED,
        GettablePolicyStateValues_ENABLED,
        GettablePolicyStateValues_ERROR
      ),
  )
where

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

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

pattern GettablePolicyStateValues_DISABLED :: GettablePolicyStateValues
pattern $bGettablePolicyStateValues_DISABLED :: GettablePolicyStateValues
$mGettablePolicyStateValues_DISABLED :: forall r.
GettablePolicyStateValues -> (Void# -> r) -> (Void# -> r) -> r
GettablePolicyStateValues_DISABLED = GettablePolicyStateValues' "DISABLED"

pattern GettablePolicyStateValues_ENABLED :: GettablePolicyStateValues
pattern $bGettablePolicyStateValues_ENABLED :: GettablePolicyStateValues
$mGettablePolicyStateValues_ENABLED :: forall r.
GettablePolicyStateValues -> (Void# -> r) -> (Void# -> r) -> r
GettablePolicyStateValues_ENABLED = GettablePolicyStateValues' "ENABLED"

pattern GettablePolicyStateValues_ERROR :: GettablePolicyStateValues
pattern $bGettablePolicyStateValues_ERROR :: GettablePolicyStateValues
$mGettablePolicyStateValues_ERROR :: forall r.
GettablePolicyStateValues -> (Void# -> r) -> (Void# -> r) -> r
GettablePolicyStateValues_ERROR = GettablePolicyStateValues' "ERROR"

{-# COMPLETE
  GettablePolicyStateValues_DISABLED,
  GettablePolicyStateValues_ENABLED,
  GettablePolicyStateValues_ERROR,
  GettablePolicyStateValues'
  #-}