{-# 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.CodeBuild.Types.WebhookFilterType
-- 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.CodeBuild.Types.WebhookFilterType
  ( WebhookFilterType
      ( ..,
        WebhookFilterType_ACTOR_ACCOUNT_ID,
        WebhookFilterType_BASE_REF,
        WebhookFilterType_COMMIT_MESSAGE,
        WebhookFilterType_EVENT,
        WebhookFilterType_FILE_PATH,
        WebhookFilterType_HEAD_REF
      ),
  )
where

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

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

pattern WebhookFilterType_ACTOR_ACCOUNT_ID :: WebhookFilterType
pattern $bWebhookFilterType_ACTOR_ACCOUNT_ID :: WebhookFilterType
$mWebhookFilterType_ACTOR_ACCOUNT_ID :: forall r. WebhookFilterType -> (Void# -> r) -> (Void# -> r) -> r
WebhookFilterType_ACTOR_ACCOUNT_ID = WebhookFilterType' "ACTOR_ACCOUNT_ID"

pattern WebhookFilterType_BASE_REF :: WebhookFilterType
pattern $bWebhookFilterType_BASE_REF :: WebhookFilterType
$mWebhookFilterType_BASE_REF :: forall r. WebhookFilterType -> (Void# -> r) -> (Void# -> r) -> r
WebhookFilterType_BASE_REF = WebhookFilterType' "BASE_REF"

pattern WebhookFilterType_COMMIT_MESSAGE :: WebhookFilterType
pattern $bWebhookFilterType_COMMIT_MESSAGE :: WebhookFilterType
$mWebhookFilterType_COMMIT_MESSAGE :: forall r. WebhookFilterType -> (Void# -> r) -> (Void# -> r) -> r
WebhookFilterType_COMMIT_MESSAGE = WebhookFilterType' "COMMIT_MESSAGE"

pattern WebhookFilterType_EVENT :: WebhookFilterType
pattern $bWebhookFilterType_EVENT :: WebhookFilterType
$mWebhookFilterType_EVENT :: forall r. WebhookFilterType -> (Void# -> r) -> (Void# -> r) -> r
WebhookFilterType_EVENT = WebhookFilterType' "EVENT"

pattern WebhookFilterType_FILE_PATH :: WebhookFilterType
pattern $bWebhookFilterType_FILE_PATH :: WebhookFilterType
$mWebhookFilterType_FILE_PATH :: forall r. WebhookFilterType -> (Void# -> r) -> (Void# -> r) -> r
WebhookFilterType_FILE_PATH = WebhookFilterType' "FILE_PATH"

pattern WebhookFilterType_HEAD_REF :: WebhookFilterType
pattern $bWebhookFilterType_HEAD_REF :: WebhookFilterType
$mWebhookFilterType_HEAD_REF :: forall r. WebhookFilterType -> (Void# -> r) -> (Void# -> r) -> r
WebhookFilterType_HEAD_REF = WebhookFilterType' "HEAD_REF"

{-# COMPLETE
  WebhookFilterType_ACTOR_ACCOUNT_ID,
  WebhookFilterType_BASE_REF,
  WebhookFilterType_COMMIT_MESSAGE,
  WebhookFilterType_EVENT,
  WebhookFilterType_FILE_PATH,
  WebhookFilterType_HEAD_REF,
  WebhookFilterType'
  #-}