{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.EC2.ReportInstanceStatus
(
ReportInstanceStatus (..),
newReportInstanceStatus,
reportInstanceStatus_description,
reportInstanceStatus_dryRun,
reportInstanceStatus_endTime,
reportInstanceStatus_startTime,
reportInstanceStatus_instances,
reportInstanceStatus_reasonCodes,
reportInstanceStatus_status,
ReportInstanceStatusResponse (..),
newReportInstanceStatusResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ReportInstanceStatus = ReportInstanceStatus'
{
ReportInstanceStatus -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
ReportInstanceStatus -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
ReportInstanceStatus -> Maybe ISO8601
endTime :: Prelude.Maybe Data.ISO8601,
ReportInstanceStatus -> Maybe ISO8601
startTime :: Prelude.Maybe Data.ISO8601,
ReportInstanceStatus -> [Text]
instances :: [Prelude.Text],
ReportInstanceStatus -> [ReportInstanceReasonCodes]
reasonCodes :: [ReportInstanceReasonCodes],
ReportInstanceStatus -> ReportStatusType
status :: ReportStatusType
}
deriving (ReportInstanceStatus -> ReportInstanceStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReportInstanceStatus -> ReportInstanceStatus -> Bool
$c/= :: ReportInstanceStatus -> ReportInstanceStatus -> Bool
== :: ReportInstanceStatus -> ReportInstanceStatus -> Bool
$c== :: ReportInstanceStatus -> ReportInstanceStatus -> Bool
Prelude.Eq, ReadPrec [ReportInstanceStatus]
ReadPrec ReportInstanceStatus
Int -> ReadS ReportInstanceStatus
ReadS [ReportInstanceStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ReportInstanceStatus]
$creadListPrec :: ReadPrec [ReportInstanceStatus]
readPrec :: ReadPrec ReportInstanceStatus
$creadPrec :: ReadPrec ReportInstanceStatus
readList :: ReadS [ReportInstanceStatus]
$creadList :: ReadS [ReportInstanceStatus]
readsPrec :: Int -> ReadS ReportInstanceStatus
$creadsPrec :: Int -> ReadS ReportInstanceStatus
Prelude.Read, Int -> ReportInstanceStatus -> ShowS
[ReportInstanceStatus] -> ShowS
ReportInstanceStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReportInstanceStatus] -> ShowS
$cshowList :: [ReportInstanceStatus] -> ShowS
show :: ReportInstanceStatus -> String
$cshow :: ReportInstanceStatus -> String
showsPrec :: Int -> ReportInstanceStatus -> ShowS
$cshowsPrec :: Int -> ReportInstanceStatus -> ShowS
Prelude.Show, forall x. Rep ReportInstanceStatus x -> ReportInstanceStatus
forall x. ReportInstanceStatus -> Rep ReportInstanceStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ReportInstanceStatus x -> ReportInstanceStatus
$cfrom :: forall x. ReportInstanceStatus -> Rep ReportInstanceStatus x
Prelude.Generic)
newReportInstanceStatus ::
ReportStatusType ->
ReportInstanceStatus
newReportInstanceStatus :: ReportStatusType -> ReportInstanceStatus
newReportInstanceStatus ReportStatusType
pStatus_ =
ReportInstanceStatus'
{ $sel:description:ReportInstanceStatus' :: Maybe Text
description =
forall a. Maybe a
Prelude.Nothing,
$sel:dryRun:ReportInstanceStatus' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:endTime:ReportInstanceStatus' :: Maybe ISO8601
endTime = forall a. Maybe a
Prelude.Nothing,
$sel:startTime:ReportInstanceStatus' :: Maybe ISO8601
startTime = forall a. Maybe a
Prelude.Nothing,
$sel:instances:ReportInstanceStatus' :: [Text]
instances = forall a. Monoid a => a
Prelude.mempty,
$sel:reasonCodes:ReportInstanceStatus' :: [ReportInstanceReasonCodes]
reasonCodes = forall a. Monoid a => a
Prelude.mempty,
$sel:status:ReportInstanceStatus' :: ReportStatusType
status = ReportStatusType
pStatus_
}
reportInstanceStatus_description :: Lens.Lens' ReportInstanceStatus (Prelude.Maybe Prelude.Text)
reportInstanceStatus_description :: Lens' ReportInstanceStatus (Maybe Text)
reportInstanceStatus_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReportInstanceStatus' {Maybe Text
description :: Maybe Text
$sel:description:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe Text
description} -> Maybe Text
description) (\s :: ReportInstanceStatus
s@ReportInstanceStatus' {} Maybe Text
a -> ReportInstanceStatus
s {$sel:description:ReportInstanceStatus' :: Maybe Text
description = Maybe Text
a} :: ReportInstanceStatus)
reportInstanceStatus_dryRun :: Lens.Lens' ReportInstanceStatus (Prelude.Maybe Prelude.Bool)
reportInstanceStatus_dryRun :: Lens' ReportInstanceStatus (Maybe Bool)
reportInstanceStatus_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReportInstanceStatus' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: ReportInstanceStatus
s@ReportInstanceStatus' {} Maybe Bool
a -> ReportInstanceStatus
s {$sel:dryRun:ReportInstanceStatus' :: Maybe Bool
dryRun = Maybe Bool
a} :: ReportInstanceStatus)
reportInstanceStatus_endTime :: Lens.Lens' ReportInstanceStatus (Prelude.Maybe Prelude.UTCTime)
reportInstanceStatus_endTime :: Lens' ReportInstanceStatus (Maybe UTCTime)
reportInstanceStatus_endTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReportInstanceStatus' {Maybe ISO8601
endTime :: Maybe ISO8601
$sel:endTime:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe ISO8601
endTime} -> Maybe ISO8601
endTime) (\s :: ReportInstanceStatus
s@ReportInstanceStatus' {} Maybe ISO8601
a -> ReportInstanceStatus
s {$sel:endTime:ReportInstanceStatus' :: Maybe ISO8601
endTime = Maybe ISO8601
a} :: ReportInstanceStatus) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
reportInstanceStatus_startTime :: Lens.Lens' ReportInstanceStatus (Prelude.Maybe Prelude.UTCTime)
reportInstanceStatus_startTime :: Lens' ReportInstanceStatus (Maybe UTCTime)
reportInstanceStatus_startTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReportInstanceStatus' {Maybe ISO8601
startTime :: Maybe ISO8601
$sel:startTime:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe ISO8601
startTime} -> Maybe ISO8601
startTime) (\s :: ReportInstanceStatus
s@ReportInstanceStatus' {} Maybe ISO8601
a -> ReportInstanceStatus
s {$sel:startTime:ReportInstanceStatus' :: Maybe ISO8601
startTime = Maybe ISO8601
a} :: ReportInstanceStatus) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
reportInstanceStatus_instances :: Lens.Lens' ReportInstanceStatus [Prelude.Text]
reportInstanceStatus_instances :: Lens' ReportInstanceStatus [Text]
reportInstanceStatus_instances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReportInstanceStatus' {[Text]
instances :: [Text]
$sel:instances:ReportInstanceStatus' :: ReportInstanceStatus -> [Text]
instances} -> [Text]
instances) (\s :: ReportInstanceStatus
s@ReportInstanceStatus' {} [Text]
a -> ReportInstanceStatus
s {$sel:instances:ReportInstanceStatus' :: [Text]
instances = [Text]
a} :: ReportInstanceStatus) 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
reportInstanceStatus_reasonCodes :: Lens.Lens' ReportInstanceStatus [ReportInstanceReasonCodes]
reportInstanceStatus_reasonCodes :: Lens' ReportInstanceStatus [ReportInstanceReasonCodes]
reportInstanceStatus_reasonCodes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReportInstanceStatus' {[ReportInstanceReasonCodes]
reasonCodes :: [ReportInstanceReasonCodes]
$sel:reasonCodes:ReportInstanceStatus' :: ReportInstanceStatus -> [ReportInstanceReasonCodes]
reasonCodes} -> [ReportInstanceReasonCodes]
reasonCodes) (\s :: ReportInstanceStatus
s@ReportInstanceStatus' {} [ReportInstanceReasonCodes]
a -> ReportInstanceStatus
s {$sel:reasonCodes:ReportInstanceStatus' :: [ReportInstanceReasonCodes]
reasonCodes = [ReportInstanceReasonCodes]
a} :: ReportInstanceStatus) 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
reportInstanceStatus_status :: Lens.Lens' ReportInstanceStatus ReportStatusType
reportInstanceStatus_status :: Lens' ReportInstanceStatus ReportStatusType
reportInstanceStatus_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReportInstanceStatus' {ReportStatusType
status :: ReportStatusType
$sel:status:ReportInstanceStatus' :: ReportInstanceStatus -> ReportStatusType
status} -> ReportStatusType
status) (\s :: ReportInstanceStatus
s@ReportInstanceStatus' {} ReportStatusType
a -> ReportInstanceStatus
s {$sel:status:ReportInstanceStatus' :: ReportStatusType
status = ReportStatusType
a} :: ReportInstanceStatus)
instance Core.AWSRequest ReportInstanceStatus where
type
AWSResponse ReportInstanceStatus =
ReportInstanceStatusResponse
request :: (Service -> Service)
-> ReportInstanceStatus -> Request ReportInstanceStatus
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ReportInstanceStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ReportInstanceStatus)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull ReportInstanceStatusResponse
ReportInstanceStatusResponse'
instance Prelude.Hashable ReportInstanceStatus where
hashWithSalt :: Int -> ReportInstanceStatus -> Int
hashWithSalt Int
_salt ReportInstanceStatus' {[Text]
[ReportInstanceReasonCodes]
Maybe Bool
Maybe Text
Maybe ISO8601
ReportStatusType
status :: ReportStatusType
reasonCodes :: [ReportInstanceReasonCodes]
instances :: [Text]
startTime :: Maybe ISO8601
endTime :: Maybe ISO8601
dryRun :: Maybe Bool
description :: Maybe Text
$sel:status:ReportInstanceStatus' :: ReportInstanceStatus -> ReportStatusType
$sel:reasonCodes:ReportInstanceStatus' :: ReportInstanceStatus -> [ReportInstanceReasonCodes]
$sel:instances:ReportInstanceStatus' :: ReportInstanceStatus -> [Text]
$sel:startTime:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe ISO8601
$sel:endTime:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe ISO8601
$sel:dryRun:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe Bool
$sel:description:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
endTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
startTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
instances
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [ReportInstanceReasonCodes]
reasonCodes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ReportStatusType
status
instance Prelude.NFData ReportInstanceStatus where
rnf :: ReportInstanceStatus -> ()
rnf ReportInstanceStatus' {[Text]
[ReportInstanceReasonCodes]
Maybe Bool
Maybe Text
Maybe ISO8601
ReportStatusType
status :: ReportStatusType
reasonCodes :: [ReportInstanceReasonCodes]
instances :: [Text]
startTime :: Maybe ISO8601
endTime :: Maybe ISO8601
dryRun :: Maybe Bool
description :: Maybe Text
$sel:status:ReportInstanceStatus' :: ReportInstanceStatus -> ReportStatusType
$sel:reasonCodes:ReportInstanceStatus' :: ReportInstanceStatus -> [ReportInstanceReasonCodes]
$sel:instances:ReportInstanceStatus' :: ReportInstanceStatus -> [Text]
$sel:startTime:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe ISO8601
$sel:endTime:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe ISO8601
$sel:dryRun:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe Bool
$sel:description:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
endTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
startTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Text]
instances
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [ReportInstanceReasonCodes]
reasonCodes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ReportStatusType
status
instance Data.ToHeaders ReportInstanceStatus where
toHeaders :: ReportInstanceStatus -> [Header]
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath ReportInstanceStatus where
toPath :: ReportInstanceStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ReportInstanceStatus where
toQuery :: ReportInstanceStatus -> QueryString
toQuery ReportInstanceStatus' {[Text]
[ReportInstanceReasonCodes]
Maybe Bool
Maybe Text
Maybe ISO8601
ReportStatusType
status :: ReportStatusType
reasonCodes :: [ReportInstanceReasonCodes]
instances :: [Text]
startTime :: Maybe ISO8601
endTime :: Maybe ISO8601
dryRun :: Maybe Bool
description :: Maybe Text
$sel:status:ReportInstanceStatus' :: ReportInstanceStatus -> ReportStatusType
$sel:reasonCodes:ReportInstanceStatus' :: ReportInstanceStatus -> [ReportInstanceReasonCodes]
$sel:instances:ReportInstanceStatus' :: ReportInstanceStatus -> [Text]
$sel:startTime:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe ISO8601
$sel:endTime:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe ISO8601
$sel:dryRun:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe Bool
$sel:description:ReportInstanceStatus' :: ReportInstanceStatus -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"ReportInstanceStatus" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"Description" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
description,
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
ByteString
"EndTime" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe ISO8601
endTime,
ByteString
"StartTime" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe ISO8601
startTime,
forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"InstanceId" [Text]
instances,
forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"ReasonCode" [ReportInstanceReasonCodes]
reasonCodes,
ByteString
"Status" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ReportStatusType
status
]
data ReportInstanceStatusResponse = ReportInstanceStatusResponse'
{
}
deriving (ReportInstanceStatusResponse
-> ReportInstanceStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReportInstanceStatusResponse
-> ReportInstanceStatusResponse -> Bool
$c/= :: ReportInstanceStatusResponse
-> ReportInstanceStatusResponse -> Bool
== :: ReportInstanceStatusResponse
-> ReportInstanceStatusResponse -> Bool
$c== :: ReportInstanceStatusResponse
-> ReportInstanceStatusResponse -> Bool
Prelude.Eq, ReadPrec [ReportInstanceStatusResponse]
ReadPrec ReportInstanceStatusResponse
Int -> ReadS ReportInstanceStatusResponse
ReadS [ReportInstanceStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ReportInstanceStatusResponse]
$creadListPrec :: ReadPrec [ReportInstanceStatusResponse]
readPrec :: ReadPrec ReportInstanceStatusResponse
$creadPrec :: ReadPrec ReportInstanceStatusResponse
readList :: ReadS [ReportInstanceStatusResponse]
$creadList :: ReadS [ReportInstanceStatusResponse]
readsPrec :: Int -> ReadS ReportInstanceStatusResponse
$creadsPrec :: Int -> ReadS ReportInstanceStatusResponse
Prelude.Read, Int -> ReportInstanceStatusResponse -> ShowS
[ReportInstanceStatusResponse] -> ShowS
ReportInstanceStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReportInstanceStatusResponse] -> ShowS
$cshowList :: [ReportInstanceStatusResponse] -> ShowS
show :: ReportInstanceStatusResponse -> String
$cshow :: ReportInstanceStatusResponse -> String
showsPrec :: Int -> ReportInstanceStatusResponse -> ShowS
$cshowsPrec :: Int -> ReportInstanceStatusResponse -> ShowS
Prelude.Show, forall x.
Rep ReportInstanceStatusResponse x -> ReportInstanceStatusResponse
forall x.
ReportInstanceStatusResponse -> Rep ReportInstanceStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ReportInstanceStatusResponse x -> ReportInstanceStatusResponse
$cfrom :: forall x.
ReportInstanceStatusResponse -> Rep ReportInstanceStatusResponse x
Prelude.Generic)
newReportInstanceStatusResponse ::
ReportInstanceStatusResponse
newReportInstanceStatusResponse :: ReportInstanceStatusResponse
newReportInstanceStatusResponse =
ReportInstanceStatusResponse
ReportInstanceStatusResponse'
instance Prelude.NFData ReportInstanceStatusResponse where
rnf :: ReportInstanceStatusResponse -> ()
rnf ReportInstanceStatusResponse
_ = ()