{-# 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.CodeDeploy.Types.DeploymentCreator
-- 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.CodeDeploy.Types.DeploymentCreator
  ( DeploymentCreator
      ( ..,
        DeploymentCreator_Autoscaling,
        DeploymentCreator_CloudFormation,
        DeploymentCreator_CloudFormationRollback,
        DeploymentCreator_CodeDeploy,
        DeploymentCreator_CodeDeployAutoUpdate,
        DeploymentCreator_CodeDeployRollback,
        DeploymentCreator_User
      ),
  )
where

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

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

pattern DeploymentCreator_Autoscaling :: DeploymentCreator
pattern $bDeploymentCreator_Autoscaling :: DeploymentCreator
$mDeploymentCreator_Autoscaling :: forall r. DeploymentCreator -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCreator_Autoscaling = DeploymentCreator' "autoscaling"

pattern DeploymentCreator_CloudFormation :: DeploymentCreator
pattern $bDeploymentCreator_CloudFormation :: DeploymentCreator
$mDeploymentCreator_CloudFormation :: forall r. DeploymentCreator -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCreator_CloudFormation = DeploymentCreator' "CloudFormation"

pattern DeploymentCreator_CloudFormationRollback :: DeploymentCreator
pattern $bDeploymentCreator_CloudFormationRollback :: DeploymentCreator
$mDeploymentCreator_CloudFormationRollback :: forall r. DeploymentCreator -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCreator_CloudFormationRollback = DeploymentCreator' "CloudFormationRollback"

pattern DeploymentCreator_CodeDeploy :: DeploymentCreator
pattern $bDeploymentCreator_CodeDeploy :: DeploymentCreator
$mDeploymentCreator_CodeDeploy :: forall r. DeploymentCreator -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCreator_CodeDeploy = DeploymentCreator' "CodeDeploy"

pattern DeploymentCreator_CodeDeployAutoUpdate :: DeploymentCreator
pattern $bDeploymentCreator_CodeDeployAutoUpdate :: DeploymentCreator
$mDeploymentCreator_CodeDeployAutoUpdate :: forall r. DeploymentCreator -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCreator_CodeDeployAutoUpdate = DeploymentCreator' "CodeDeployAutoUpdate"

pattern DeploymentCreator_CodeDeployRollback :: DeploymentCreator
pattern $bDeploymentCreator_CodeDeployRollback :: DeploymentCreator
$mDeploymentCreator_CodeDeployRollback :: forall r. DeploymentCreator -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCreator_CodeDeployRollback = DeploymentCreator' "codeDeployRollback"

pattern DeploymentCreator_User :: DeploymentCreator
pattern $bDeploymentCreator_User :: DeploymentCreator
$mDeploymentCreator_User :: forall r. DeploymentCreator -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCreator_User = DeploymentCreator' "user"

{-# COMPLETE
  DeploymentCreator_Autoscaling,
  DeploymentCreator_CloudFormation,
  DeploymentCreator_CloudFormationRollback,
  DeploymentCreator_CodeDeploy,
  DeploymentCreator_CodeDeployAutoUpdate,
  DeploymentCreator_CodeDeployRollback,
  DeploymentCreator_User,
  DeploymentCreator'
  #-}