{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Batch.Types.JobQueueDetail where
import Amazonka.Batch.Types.ComputeEnvironmentOrder
import Amazonka.Batch.Types.JQState
import Amazonka.Batch.Types.JQStatus
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
data JobQueueDetail = JobQueueDetail'
{
JobQueueDetail -> Maybe Text
schedulingPolicyArn :: Prelude.Maybe Prelude.Text,
JobQueueDetail -> Maybe JQStatus
status :: Prelude.Maybe JQStatus,
JobQueueDetail -> Maybe Text
statusReason :: Prelude.Maybe Prelude.Text,
JobQueueDetail -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
JobQueueDetail -> Text
jobQueueName :: Prelude.Text,
JobQueueDetail -> Text
jobQueueArn :: Prelude.Text,
JobQueueDetail -> JQState
state :: JQState,
JobQueueDetail -> Int
priority :: Prelude.Int,
JobQueueDetail -> [ComputeEnvironmentOrder]
computeEnvironmentOrder :: [ComputeEnvironmentOrder]
}
deriving (JobQueueDetail -> JobQueueDetail -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JobQueueDetail -> JobQueueDetail -> Bool
$c/= :: JobQueueDetail -> JobQueueDetail -> Bool
== :: JobQueueDetail -> JobQueueDetail -> Bool
$c== :: JobQueueDetail -> JobQueueDetail -> Bool
Prelude.Eq, ReadPrec [JobQueueDetail]
ReadPrec JobQueueDetail
Int -> ReadS JobQueueDetail
ReadS [JobQueueDetail]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [JobQueueDetail]
$creadListPrec :: ReadPrec [JobQueueDetail]
readPrec :: ReadPrec JobQueueDetail
$creadPrec :: ReadPrec JobQueueDetail
readList :: ReadS [JobQueueDetail]
$creadList :: ReadS [JobQueueDetail]
readsPrec :: Int -> ReadS JobQueueDetail
$creadsPrec :: Int -> ReadS JobQueueDetail
Prelude.Read, Int -> JobQueueDetail -> ShowS
[JobQueueDetail] -> ShowS
JobQueueDetail -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JobQueueDetail] -> ShowS
$cshowList :: [JobQueueDetail] -> ShowS
show :: JobQueueDetail -> String
$cshow :: JobQueueDetail -> String
showsPrec :: Int -> JobQueueDetail -> ShowS
$cshowsPrec :: Int -> JobQueueDetail -> ShowS
Prelude.Show, forall x. Rep JobQueueDetail x -> JobQueueDetail
forall x. JobQueueDetail -> Rep JobQueueDetail x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep JobQueueDetail x -> JobQueueDetail
$cfrom :: forall x. JobQueueDetail -> Rep JobQueueDetail x
Prelude.Generic)
newJobQueueDetail ::
Prelude.Text ->
Prelude.Text ->
JQState ->
Prelude.Int ->
JobQueueDetail
newJobQueueDetail :: Text -> Text -> JQState -> Int -> JobQueueDetail
newJobQueueDetail
Text
pJobQueueName_
Text
pJobQueueArn_
JQState
pState_
Int
pPriority_ =
JobQueueDetail'
{ $sel:schedulingPolicyArn:JobQueueDetail' :: Maybe Text
schedulingPolicyArn =
forall a. Maybe a
Prelude.Nothing,
$sel:status:JobQueueDetail' :: Maybe JQStatus
status = forall a. Maybe a
Prelude.Nothing,
$sel:statusReason:JobQueueDetail' :: Maybe Text
statusReason = forall a. Maybe a
Prelude.Nothing,
$sel:tags:JobQueueDetail' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:jobQueueName:JobQueueDetail' :: Text
jobQueueName = Text
pJobQueueName_,
$sel:jobQueueArn:JobQueueDetail' :: Text
jobQueueArn = Text
pJobQueueArn_,
$sel:state:JobQueueDetail' :: JQState
state = JQState
pState_,
$sel:priority:JobQueueDetail' :: Int
priority = Int
pPriority_,
$sel:computeEnvironmentOrder:JobQueueDetail' :: [ComputeEnvironmentOrder]
computeEnvironmentOrder = forall a. Monoid a => a
Prelude.mempty
}
jobQueueDetail_schedulingPolicyArn :: Lens.Lens' JobQueueDetail (Prelude.Maybe Prelude.Text)
jobQueueDetail_schedulingPolicyArn :: Lens' JobQueueDetail (Maybe Text)
jobQueueDetail_schedulingPolicyArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobQueueDetail' {Maybe Text
schedulingPolicyArn :: Maybe Text
$sel:schedulingPolicyArn:JobQueueDetail' :: JobQueueDetail -> Maybe Text
schedulingPolicyArn} -> Maybe Text
schedulingPolicyArn) (\s :: JobQueueDetail
s@JobQueueDetail' {} Maybe Text
a -> JobQueueDetail
s {$sel:schedulingPolicyArn:JobQueueDetail' :: Maybe Text
schedulingPolicyArn = Maybe Text
a} :: JobQueueDetail)
jobQueueDetail_status :: Lens.Lens' JobQueueDetail (Prelude.Maybe JQStatus)
jobQueueDetail_status :: Lens' JobQueueDetail (Maybe JQStatus)
jobQueueDetail_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobQueueDetail' {Maybe JQStatus
status :: Maybe JQStatus
$sel:status:JobQueueDetail' :: JobQueueDetail -> Maybe JQStatus
status} -> Maybe JQStatus
status) (\s :: JobQueueDetail
s@JobQueueDetail' {} Maybe JQStatus
a -> JobQueueDetail
s {$sel:status:JobQueueDetail' :: Maybe JQStatus
status = Maybe JQStatus
a} :: JobQueueDetail)
jobQueueDetail_statusReason :: Lens.Lens' JobQueueDetail (Prelude.Maybe Prelude.Text)
jobQueueDetail_statusReason :: Lens' JobQueueDetail (Maybe Text)
jobQueueDetail_statusReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobQueueDetail' {Maybe Text
statusReason :: Maybe Text
$sel:statusReason:JobQueueDetail' :: JobQueueDetail -> Maybe Text
statusReason} -> Maybe Text
statusReason) (\s :: JobQueueDetail
s@JobQueueDetail' {} Maybe Text
a -> JobQueueDetail
s {$sel:statusReason:JobQueueDetail' :: Maybe Text
statusReason = Maybe Text
a} :: JobQueueDetail)
jobQueueDetail_tags :: Lens.Lens' JobQueueDetail (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
jobQueueDetail_tags :: Lens' JobQueueDetail (Maybe (HashMap Text Text))
jobQueueDetail_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobQueueDetail' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:JobQueueDetail' :: JobQueueDetail -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: JobQueueDetail
s@JobQueueDetail' {} Maybe (HashMap Text Text)
a -> JobQueueDetail
s {$sel:tags:JobQueueDetail' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: JobQueueDetail) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
jobQueueDetail_jobQueueName :: Lens.Lens' JobQueueDetail Prelude.Text
jobQueueDetail_jobQueueName :: Lens' JobQueueDetail Text
jobQueueDetail_jobQueueName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobQueueDetail' {Text
jobQueueName :: Text
$sel:jobQueueName:JobQueueDetail' :: JobQueueDetail -> Text
jobQueueName} -> Text
jobQueueName) (\s :: JobQueueDetail
s@JobQueueDetail' {} Text
a -> JobQueueDetail
s {$sel:jobQueueName:JobQueueDetail' :: Text
jobQueueName = Text
a} :: JobQueueDetail)
jobQueueDetail_jobQueueArn :: Lens.Lens' JobQueueDetail Prelude.Text
jobQueueDetail_jobQueueArn :: Lens' JobQueueDetail Text
jobQueueDetail_jobQueueArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobQueueDetail' {Text
jobQueueArn :: Text
$sel:jobQueueArn:JobQueueDetail' :: JobQueueDetail -> Text
jobQueueArn} -> Text
jobQueueArn) (\s :: JobQueueDetail
s@JobQueueDetail' {} Text
a -> JobQueueDetail
s {$sel:jobQueueArn:JobQueueDetail' :: Text
jobQueueArn = Text
a} :: JobQueueDetail)
jobQueueDetail_state :: Lens.Lens' JobQueueDetail JQState
jobQueueDetail_state :: Lens' JobQueueDetail JQState
jobQueueDetail_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobQueueDetail' {JQState
state :: JQState
$sel:state:JobQueueDetail' :: JobQueueDetail -> JQState
state} -> JQState
state) (\s :: JobQueueDetail
s@JobQueueDetail' {} JQState
a -> JobQueueDetail
s {$sel:state:JobQueueDetail' :: JQState
state = JQState
a} :: JobQueueDetail)
jobQueueDetail_priority :: Lens.Lens' JobQueueDetail Prelude.Int
jobQueueDetail_priority :: Lens' JobQueueDetail Int
jobQueueDetail_priority = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobQueueDetail' {Int
priority :: Int
$sel:priority:JobQueueDetail' :: JobQueueDetail -> Int
priority} -> Int
priority) (\s :: JobQueueDetail
s@JobQueueDetail' {} Int
a -> JobQueueDetail
s {$sel:priority:JobQueueDetail' :: Int
priority = Int
a} :: JobQueueDetail)
jobQueueDetail_computeEnvironmentOrder :: Lens.Lens' JobQueueDetail [ComputeEnvironmentOrder]
jobQueueDetail_computeEnvironmentOrder :: Lens' JobQueueDetail [ComputeEnvironmentOrder]
jobQueueDetail_computeEnvironmentOrder = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobQueueDetail' {[ComputeEnvironmentOrder]
computeEnvironmentOrder :: [ComputeEnvironmentOrder]
$sel:computeEnvironmentOrder:JobQueueDetail' :: JobQueueDetail -> [ComputeEnvironmentOrder]
computeEnvironmentOrder} -> [ComputeEnvironmentOrder]
computeEnvironmentOrder) (\s :: JobQueueDetail
s@JobQueueDetail' {} [ComputeEnvironmentOrder]
a -> JobQueueDetail
s {$sel:computeEnvironmentOrder:JobQueueDetail' :: [ComputeEnvironmentOrder]
computeEnvironmentOrder = [ComputeEnvironmentOrder]
a} :: JobQueueDetail) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Data.FromJSON JobQueueDetail where
parseJSON :: Value -> Parser JobQueueDetail
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"JobQueueDetail"
( \Object
x ->
Maybe Text
-> Maybe JQStatus
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Text
-> Text
-> JQState
-> Int
-> [ComputeEnvironmentOrder]
-> JobQueueDetail
JobQueueDetail'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"schedulingPolicyArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"status")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"statusReason")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"tags" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"jobQueueName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"jobQueueArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"state")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"priority")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"computeEnvironmentOrder"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
)
instance Prelude.Hashable JobQueueDetail where
hashWithSalt :: Int -> JobQueueDetail -> Int
hashWithSalt Int
_salt JobQueueDetail' {Int
[ComputeEnvironmentOrder]
Maybe Text
Maybe (HashMap Text Text)
Maybe JQStatus
Text
JQState
computeEnvironmentOrder :: [ComputeEnvironmentOrder]
priority :: Int
state :: JQState
jobQueueArn :: Text
jobQueueName :: Text
tags :: Maybe (HashMap Text Text)
statusReason :: Maybe Text
status :: Maybe JQStatus
schedulingPolicyArn :: Maybe Text
$sel:computeEnvironmentOrder:JobQueueDetail' :: JobQueueDetail -> [ComputeEnvironmentOrder]
$sel:priority:JobQueueDetail' :: JobQueueDetail -> Int
$sel:state:JobQueueDetail' :: JobQueueDetail -> JQState
$sel:jobQueueArn:JobQueueDetail' :: JobQueueDetail -> Text
$sel:jobQueueName:JobQueueDetail' :: JobQueueDetail -> Text
$sel:tags:JobQueueDetail' :: JobQueueDetail -> Maybe (HashMap Text Text)
$sel:statusReason:JobQueueDetail' :: JobQueueDetail -> Maybe Text
$sel:status:JobQueueDetail' :: JobQueueDetail -> Maybe JQStatus
$sel:schedulingPolicyArn:JobQueueDetail' :: JobQueueDetail -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
schedulingPolicyArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe JQStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusReason
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobQueueName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobQueueArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` JQState
state
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Int
priority
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [ComputeEnvironmentOrder]
computeEnvironmentOrder
instance Prelude.NFData JobQueueDetail where
rnf :: JobQueueDetail -> ()
rnf JobQueueDetail' {Int
[ComputeEnvironmentOrder]
Maybe Text
Maybe (HashMap Text Text)
Maybe JQStatus
Text
JQState
computeEnvironmentOrder :: [ComputeEnvironmentOrder]
priority :: Int
state :: JQState
jobQueueArn :: Text
jobQueueName :: Text
tags :: Maybe (HashMap Text Text)
statusReason :: Maybe Text
status :: Maybe JQStatus
schedulingPolicyArn :: Maybe Text
$sel:computeEnvironmentOrder:JobQueueDetail' :: JobQueueDetail -> [ComputeEnvironmentOrder]
$sel:priority:JobQueueDetail' :: JobQueueDetail -> Int
$sel:state:JobQueueDetail' :: JobQueueDetail -> JQState
$sel:jobQueueArn:JobQueueDetail' :: JobQueueDetail -> Text
$sel:jobQueueName:JobQueueDetail' :: JobQueueDetail -> Text
$sel:tags:JobQueueDetail' :: JobQueueDetail -> Maybe (HashMap Text Text)
$sel:statusReason:JobQueueDetail' :: JobQueueDetail -> Maybe Text
$sel:status:JobQueueDetail' :: JobQueueDetail -> Maybe JQStatus
$sel:schedulingPolicyArn:JobQueueDetail' :: JobQueueDetail -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
schedulingPolicyArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe JQStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusReason
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobQueueName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobQueueArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf JQState
state
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
priority
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [ComputeEnvironmentOrder]
computeEnvironmentOrder