{-# 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.IoTSiteWise.Types.AssetErrorCode
-- 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.IoTSiteWise.Types.AssetErrorCode
  ( AssetErrorCode
      ( ..,
        AssetErrorCode_INTERNAL_FAILURE
      ),
  )
where

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

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

pattern AssetErrorCode_INTERNAL_FAILURE :: AssetErrorCode
pattern $bAssetErrorCode_INTERNAL_FAILURE :: AssetErrorCode
$mAssetErrorCode_INTERNAL_FAILURE :: forall r. AssetErrorCode -> (Void# -> r) -> (Void# -> r) -> r
AssetErrorCode_INTERNAL_FAILURE = AssetErrorCode' "INTERNAL_FAILURE"

{-# COMPLETE
  AssetErrorCode_INTERNAL_FAILURE,
  AssetErrorCode'
  #-}