{-# 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.Config.Types.ResourceValueType
-- 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.Config.Types.ResourceValueType
  ( ResourceValueType
      ( ..,
        ResourceValueType_RESOURCE_ID
      ),
  )
where

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

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

pattern ResourceValueType_RESOURCE_ID :: ResourceValueType
pattern $bResourceValueType_RESOURCE_ID :: ResourceValueType
$mResourceValueType_RESOURCE_ID :: forall r. ResourceValueType -> (Void# -> r) -> (Void# -> r) -> r
ResourceValueType_RESOURCE_ID = ResourceValueType' "RESOURCE_ID"

{-# COMPLETE
  ResourceValueType_RESOURCE_ID,
  ResourceValueType'
  #-}