{-# 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.OpsWorks.Types.DeploymentCommandName
-- 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.OpsWorks.Types.DeploymentCommandName
  ( DeploymentCommandName
      ( ..,
        DeploymentCommandName_Configure,
        DeploymentCommandName_Deploy,
        DeploymentCommandName_Execute_recipes,
        DeploymentCommandName_Install_dependencies,
        DeploymentCommandName_Restart,
        DeploymentCommandName_Rollback,
        DeploymentCommandName_Setup,
        DeploymentCommandName_Start,
        DeploymentCommandName_Stop,
        DeploymentCommandName_Undeploy,
        DeploymentCommandName_Update_custom_cookbooks,
        DeploymentCommandName_Update_dependencies
      ),
  )
where

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

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

pattern DeploymentCommandName_Configure :: DeploymentCommandName
pattern $bDeploymentCommandName_Configure :: DeploymentCommandName
$mDeploymentCommandName_Configure :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Configure = DeploymentCommandName' "configure"

pattern DeploymentCommandName_Deploy :: DeploymentCommandName
pattern $bDeploymentCommandName_Deploy :: DeploymentCommandName
$mDeploymentCommandName_Deploy :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Deploy = DeploymentCommandName' "deploy"

pattern DeploymentCommandName_Execute_recipes :: DeploymentCommandName
pattern $bDeploymentCommandName_Execute_recipes :: DeploymentCommandName
$mDeploymentCommandName_Execute_recipes :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Execute_recipes = DeploymentCommandName' "execute_recipes"

pattern DeploymentCommandName_Install_dependencies :: DeploymentCommandName
pattern $bDeploymentCommandName_Install_dependencies :: DeploymentCommandName
$mDeploymentCommandName_Install_dependencies :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Install_dependencies = DeploymentCommandName' "install_dependencies"

pattern DeploymentCommandName_Restart :: DeploymentCommandName
pattern $bDeploymentCommandName_Restart :: DeploymentCommandName
$mDeploymentCommandName_Restart :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Restart = DeploymentCommandName' "restart"

pattern DeploymentCommandName_Rollback :: DeploymentCommandName
pattern $bDeploymentCommandName_Rollback :: DeploymentCommandName
$mDeploymentCommandName_Rollback :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Rollback = DeploymentCommandName' "rollback"

pattern DeploymentCommandName_Setup :: DeploymentCommandName
pattern $bDeploymentCommandName_Setup :: DeploymentCommandName
$mDeploymentCommandName_Setup :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Setup = DeploymentCommandName' "setup"

pattern DeploymentCommandName_Start :: DeploymentCommandName
pattern $bDeploymentCommandName_Start :: DeploymentCommandName
$mDeploymentCommandName_Start :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Start = DeploymentCommandName' "start"

pattern DeploymentCommandName_Stop :: DeploymentCommandName
pattern $bDeploymentCommandName_Stop :: DeploymentCommandName
$mDeploymentCommandName_Stop :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Stop = DeploymentCommandName' "stop"

pattern DeploymentCommandName_Undeploy :: DeploymentCommandName
pattern $bDeploymentCommandName_Undeploy :: DeploymentCommandName
$mDeploymentCommandName_Undeploy :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Undeploy = DeploymentCommandName' "undeploy"

pattern DeploymentCommandName_Update_custom_cookbooks :: DeploymentCommandName
pattern $bDeploymentCommandName_Update_custom_cookbooks :: DeploymentCommandName
$mDeploymentCommandName_Update_custom_cookbooks :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Update_custom_cookbooks = DeploymentCommandName' "update_custom_cookbooks"

pattern DeploymentCommandName_Update_dependencies :: DeploymentCommandName
pattern $bDeploymentCommandName_Update_dependencies :: DeploymentCommandName
$mDeploymentCommandName_Update_dependencies :: forall r.
DeploymentCommandName -> (Void# -> r) -> (Void# -> r) -> r
DeploymentCommandName_Update_dependencies = DeploymentCommandName' "update_dependencies"

{-# COMPLETE
  DeploymentCommandName_Configure,
  DeploymentCommandName_Deploy,
  DeploymentCommandName_Execute_recipes,
  DeploymentCommandName_Install_dependencies,
  DeploymentCommandName_Restart,
  DeploymentCommandName_Rollback,
  DeploymentCommandName_Setup,
  DeploymentCommandName_Start,
  DeploymentCommandName_Stop,
  DeploymentCommandName_Undeploy,
  DeploymentCommandName_Update_custom_cookbooks,
  DeploymentCommandName_Update_dependencies,
  DeploymentCommandName'
  #-}