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

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

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

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

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

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

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

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

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