{-# 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.SWF.Types.RequestCancelExternalWorkflowExecutionFailedCause
-- 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.SWF.Types.RequestCancelExternalWorkflowExecutionFailedCause
  ( RequestCancelExternalWorkflowExecutionFailedCause
      ( ..,
        RequestCancelExternalWorkflowExecutionFailedCause_OPERATION_NOT_PERMITTED,
        RequestCancelExternalWorkflowExecutionFailedCause_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED,
        RequestCancelExternalWorkflowExecutionFailedCause_UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION
      ),
  )
where

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

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

pattern RequestCancelExternalWorkflowExecutionFailedCause_OPERATION_NOT_PERMITTED :: RequestCancelExternalWorkflowExecutionFailedCause
pattern $bRequestCancelExternalWorkflowExecutionFailedCause_OPERATION_NOT_PERMITTED :: RequestCancelExternalWorkflowExecutionFailedCause
$mRequestCancelExternalWorkflowExecutionFailedCause_OPERATION_NOT_PERMITTED :: forall r.
RequestCancelExternalWorkflowExecutionFailedCause
-> (Void# -> r) -> (Void# -> r) -> r
RequestCancelExternalWorkflowExecutionFailedCause_OPERATION_NOT_PERMITTED = RequestCancelExternalWorkflowExecutionFailedCause' "OPERATION_NOT_PERMITTED"

pattern RequestCancelExternalWorkflowExecutionFailedCause_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED :: RequestCancelExternalWorkflowExecutionFailedCause
pattern $bRequestCancelExternalWorkflowExecutionFailedCause_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED :: RequestCancelExternalWorkflowExecutionFailedCause
$mRequestCancelExternalWorkflowExecutionFailedCause_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED :: forall r.
RequestCancelExternalWorkflowExecutionFailedCause
-> (Void# -> r) -> (Void# -> r) -> r
RequestCancelExternalWorkflowExecutionFailedCause_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED = RequestCancelExternalWorkflowExecutionFailedCause' "REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED"

pattern RequestCancelExternalWorkflowExecutionFailedCause_UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION :: RequestCancelExternalWorkflowExecutionFailedCause
pattern $bRequestCancelExternalWorkflowExecutionFailedCause_UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION :: RequestCancelExternalWorkflowExecutionFailedCause
$mRequestCancelExternalWorkflowExecutionFailedCause_UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION :: forall r.
RequestCancelExternalWorkflowExecutionFailedCause
-> (Void# -> r) -> (Void# -> r) -> r
RequestCancelExternalWorkflowExecutionFailedCause_UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION = RequestCancelExternalWorkflowExecutionFailedCause' "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION"

{-# COMPLETE
  RequestCancelExternalWorkflowExecutionFailedCause_OPERATION_NOT_PERMITTED,
  RequestCancelExternalWorkflowExecutionFailedCause_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED,
  RequestCancelExternalWorkflowExecutionFailedCause_UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION,
  RequestCancelExternalWorkflowExecutionFailedCause'
  #-}