{-# 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.Greengrass.Types.BulkDeploymentStatus
-- 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.Greengrass.Types.BulkDeploymentStatus
  ( BulkDeploymentStatus
      ( ..,
        BulkDeploymentStatus_Completed,
        BulkDeploymentStatus_Failed,
        BulkDeploymentStatus_Initializing,
        BulkDeploymentStatus_Running,
        BulkDeploymentStatus_Stopped,
        BulkDeploymentStatus_Stopping
      ),
  )
where

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

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

pattern BulkDeploymentStatus_Completed :: BulkDeploymentStatus
pattern $bBulkDeploymentStatus_Completed :: BulkDeploymentStatus
$mBulkDeploymentStatus_Completed :: forall r. BulkDeploymentStatus -> (Void# -> r) -> (Void# -> r) -> r
BulkDeploymentStatus_Completed = BulkDeploymentStatus' "Completed"

pattern BulkDeploymentStatus_Failed :: BulkDeploymentStatus
pattern $bBulkDeploymentStatus_Failed :: BulkDeploymentStatus
$mBulkDeploymentStatus_Failed :: forall r. BulkDeploymentStatus -> (Void# -> r) -> (Void# -> r) -> r
BulkDeploymentStatus_Failed = BulkDeploymentStatus' "Failed"

pattern BulkDeploymentStatus_Initializing :: BulkDeploymentStatus
pattern $bBulkDeploymentStatus_Initializing :: BulkDeploymentStatus
$mBulkDeploymentStatus_Initializing :: forall r. BulkDeploymentStatus -> (Void# -> r) -> (Void# -> r) -> r
BulkDeploymentStatus_Initializing = BulkDeploymentStatus' "Initializing"

pattern BulkDeploymentStatus_Running :: BulkDeploymentStatus
pattern $bBulkDeploymentStatus_Running :: BulkDeploymentStatus
$mBulkDeploymentStatus_Running :: forall r. BulkDeploymentStatus -> (Void# -> r) -> (Void# -> r) -> r
BulkDeploymentStatus_Running = BulkDeploymentStatus' "Running"

pattern BulkDeploymentStatus_Stopped :: BulkDeploymentStatus
pattern $bBulkDeploymentStatus_Stopped :: BulkDeploymentStatus
$mBulkDeploymentStatus_Stopped :: forall r. BulkDeploymentStatus -> (Void# -> r) -> (Void# -> r) -> r
BulkDeploymentStatus_Stopped = BulkDeploymentStatus' "Stopped"

pattern BulkDeploymentStatus_Stopping :: BulkDeploymentStatus
pattern $bBulkDeploymentStatus_Stopping :: BulkDeploymentStatus
$mBulkDeploymentStatus_Stopping :: forall r. BulkDeploymentStatus -> (Void# -> r) -> (Void# -> r) -> r
BulkDeploymentStatus_Stopping = BulkDeploymentStatus' "Stopping"

{-# COMPLETE
  BulkDeploymentStatus_Completed,
  BulkDeploymentStatus_Failed,
  BulkDeploymentStatus_Initializing,
  BulkDeploymentStatus_Running,
  BulkDeploymentStatus_Stopped,
  BulkDeploymentStatus_Stopping,
  BulkDeploymentStatus'
  #-}