{-# 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-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- 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.Data as Data
import qualified Amazonka.Prelude as Prelude

newtype RequestCancelExternalWorkflowExecutionFailedCause = RequestCancelExternalWorkflowExecutionFailedCause'
  { RequestCancelExternalWorkflowExecutionFailedCause -> Text
fromRequestCancelExternalWorkflowExecutionFailedCause ::
      Data.Text
  }
  deriving stock
    ( Int -> RequestCancelExternalWorkflowExecutionFailedCause -> ShowS
[RequestCancelExternalWorkflowExecutionFailedCause] -> ShowS
RequestCancelExternalWorkflowExecutionFailedCause -> String
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]
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
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
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
Prelude.Ord,
      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
    ( Eq RequestCancelExternalWorkflowExecutionFailedCause
Int -> RequestCancelExternalWorkflowExecutionFailedCause -> Int
RequestCancelExternalWorkflowExecutionFailedCause -> Int
forall a. Eq 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 -> ()
forall a. (a -> ()) -> NFData a
rnf :: RequestCancelExternalWorkflowExecutionFailedCause -> ()
$crnf :: RequestCancelExternalWorkflowExecutionFailedCause -> ()
Prelude.NFData,
      Text
-> Either String RequestCancelExternalWorkflowExecutionFailedCause
forall a. (Text -> Either String a) -> FromText a
fromText :: Text
-> Either String RequestCancelExternalWorkflowExecutionFailedCause
$cfromText :: Text
-> Either String RequestCancelExternalWorkflowExecutionFailedCause
Data.FromText,
      RequestCancelExternalWorkflowExecutionFailedCause -> Text
forall a. (a -> Text) -> ToText a
toText :: RequestCancelExternalWorkflowExecutionFailedCause -> Text
$ctoText :: RequestCancelExternalWorkflowExecutionFailedCause -> Text
Data.ToText,
      RequestCancelExternalWorkflowExecutionFailedCause -> ByteString
forall a. (a -> ByteString) -> ToByteString a
toBS :: RequestCancelExternalWorkflowExecutionFailedCause -> ByteString
$ctoBS :: RequestCancelExternalWorkflowExecutionFailedCause -> ByteString
Data.ToByteString,
      RequestCancelExternalWorkflowExecutionFailedCause
-> ByteStringBuilder
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: RequestCancelExternalWorkflowExecutionFailedCause
-> ByteStringBuilder
$cbuild :: RequestCancelExternalWorkflowExecutionFailedCause
-> ByteStringBuilder
Data.ToLog,
      HeaderName
-> RequestCancelExternalWorkflowExecutionFailedCause -> [Header]
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName
-> RequestCancelExternalWorkflowExecutionFailedCause -> [Header]
$ctoHeader :: HeaderName
-> RequestCancelExternalWorkflowExecutionFailedCause -> [Header]
Data.ToHeader,
      RequestCancelExternalWorkflowExecutionFailedCause -> QueryString
forall a. (a -> QueryString) -> ToQuery a
toQuery :: RequestCancelExternalWorkflowExecutionFailedCause -> QueryString
$ctoQuery :: RequestCancelExternalWorkflowExecutionFailedCause -> QueryString
Data.ToQuery,
      Value -> Parser [RequestCancelExternalWorkflowExecutionFailedCause]
Value -> Parser 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
Data.FromJSON,
      FromJSONKeyFunction
  [RequestCancelExternalWorkflowExecutionFailedCause]
FromJSONKeyFunction
  RequestCancelExternalWorkflowExecutionFailedCause
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction
  [RequestCancelExternalWorkflowExecutionFailedCause]
$cfromJSONKeyList :: FromJSONKeyFunction
  [RequestCancelExternalWorkflowExecutionFailedCause]
fromJSONKey :: FromJSONKeyFunction
  RequestCancelExternalWorkflowExecutionFailedCause
$cfromJSONKey :: FromJSONKeyFunction
  RequestCancelExternalWorkflowExecutionFailedCause
Data.FromJSONKey,
      [RequestCancelExternalWorkflowExecutionFailedCause] -> Encoding
[RequestCancelExternalWorkflowExecutionFailedCause] -> Value
RequestCancelExternalWorkflowExecutionFailedCause -> Encoding
RequestCancelExternalWorkflowExecutionFailedCause -> Value
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
Data.ToJSON,
      ToJSONKeyFunction
  [RequestCancelExternalWorkflowExecutionFailedCause]
ToJSONKeyFunction RequestCancelExternalWorkflowExecutionFailedCause
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction
  [RequestCancelExternalWorkflowExecutionFailedCause]
$ctoJSONKeyList :: ToJSONKeyFunction
  [RequestCancelExternalWorkflowExecutionFailedCause]
toJSONKey :: ToJSONKeyFunction RequestCancelExternalWorkflowExecutionFailedCause
$ctoJSONKey :: ToJSONKeyFunction RequestCancelExternalWorkflowExecutionFailedCause
Data.ToJSONKey,
      [Node]
-> Either String RequestCancelExternalWorkflowExecutionFailedCause
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node]
-> Either String RequestCancelExternalWorkflowExecutionFailedCause
$cparseXML :: [Node]
-> Either String RequestCancelExternalWorkflowExecutionFailedCause
Data.FromXML,
      RequestCancelExternalWorkflowExecutionFailedCause -> XML
forall a. (a -> XML) -> ToXML a
toXML :: RequestCancelExternalWorkflowExecutionFailedCause -> XML
$ctoXML :: RequestCancelExternalWorkflowExecutionFailedCause -> XML
Data.ToXML
    )

pattern RequestCancelExternalWorkflowExecutionFailedCause_OPERATION_NOT_PERMITTED :: RequestCancelExternalWorkflowExecutionFailedCause
pattern $bRequestCancelExternalWorkflowExecutionFailedCause_OPERATION_NOT_PERMITTED :: RequestCancelExternalWorkflowExecutionFailedCause
$mRequestCancelExternalWorkflowExecutionFailedCause_OPERATION_NOT_PERMITTED :: forall {r}.
RequestCancelExternalWorkflowExecutionFailedCause
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> 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'
  #-}