{-# 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.DescribeScheduledInstanceAvailability
(
DescribeScheduledInstanceAvailability (..),
newDescribeScheduledInstanceAvailability,
describeScheduledInstanceAvailability_dryRun,
describeScheduledInstanceAvailability_filters,
describeScheduledInstanceAvailability_maxResults,
describeScheduledInstanceAvailability_maxSlotDurationInHours,
describeScheduledInstanceAvailability_minSlotDurationInHours,
describeScheduledInstanceAvailability_nextToken,
describeScheduledInstanceAvailability_firstSlotStartTimeRange,
describeScheduledInstanceAvailability_recurrence,
DescribeScheduledInstanceAvailabilityResponse (..),
newDescribeScheduledInstanceAvailabilityResponse,
describeScheduledInstanceAvailabilityResponse_nextToken,
describeScheduledInstanceAvailabilityResponse_scheduledInstanceAvailabilitySet,
describeScheduledInstanceAvailabilityResponse_httpStatus,
)
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 DescribeScheduledInstanceAvailability = DescribeScheduledInstanceAvailability'
{
DescribeScheduledInstanceAvailability -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
DescribeScheduledInstanceAvailability -> Maybe [Filter]
filters :: Prelude.Maybe [Filter],
DescribeScheduledInstanceAvailability -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
DescribeScheduledInstanceAvailability -> Maybe Int
maxSlotDurationInHours :: Prelude.Maybe Prelude.Int,
DescribeScheduledInstanceAvailability -> Maybe Int
minSlotDurationInHours :: Prelude.Maybe Prelude.Int,
DescribeScheduledInstanceAvailability -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
DescribeScheduledInstanceAvailability -> SlotDateTimeRangeRequest
firstSlotStartTimeRange :: SlotDateTimeRangeRequest,
DescribeScheduledInstanceAvailability
-> ScheduledInstanceRecurrenceRequest
recurrence :: ScheduledInstanceRecurrenceRequest
}
deriving (DescribeScheduledInstanceAvailability
-> DescribeScheduledInstanceAvailability -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeScheduledInstanceAvailability
-> DescribeScheduledInstanceAvailability -> Bool
$c/= :: DescribeScheduledInstanceAvailability
-> DescribeScheduledInstanceAvailability -> Bool
== :: DescribeScheduledInstanceAvailability
-> DescribeScheduledInstanceAvailability -> Bool
$c== :: DescribeScheduledInstanceAvailability
-> DescribeScheduledInstanceAvailability -> Bool
Prelude.Eq, ReadPrec [DescribeScheduledInstanceAvailability]
ReadPrec DescribeScheduledInstanceAvailability
Int -> ReadS DescribeScheduledInstanceAvailability
ReadS [DescribeScheduledInstanceAvailability]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeScheduledInstanceAvailability]
$creadListPrec :: ReadPrec [DescribeScheduledInstanceAvailability]
readPrec :: ReadPrec DescribeScheduledInstanceAvailability
$creadPrec :: ReadPrec DescribeScheduledInstanceAvailability
readList :: ReadS [DescribeScheduledInstanceAvailability]
$creadList :: ReadS [DescribeScheduledInstanceAvailability]
readsPrec :: Int -> ReadS DescribeScheduledInstanceAvailability
$creadsPrec :: Int -> ReadS DescribeScheduledInstanceAvailability
Prelude.Read, Int -> DescribeScheduledInstanceAvailability -> ShowS
[DescribeScheduledInstanceAvailability] -> ShowS
DescribeScheduledInstanceAvailability -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeScheduledInstanceAvailability] -> ShowS
$cshowList :: [DescribeScheduledInstanceAvailability] -> ShowS
show :: DescribeScheduledInstanceAvailability -> String
$cshow :: DescribeScheduledInstanceAvailability -> String
showsPrec :: Int -> DescribeScheduledInstanceAvailability -> ShowS
$cshowsPrec :: Int -> DescribeScheduledInstanceAvailability -> ShowS
Prelude.Show, forall x.
Rep DescribeScheduledInstanceAvailability x
-> DescribeScheduledInstanceAvailability
forall x.
DescribeScheduledInstanceAvailability
-> Rep DescribeScheduledInstanceAvailability x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeScheduledInstanceAvailability x
-> DescribeScheduledInstanceAvailability
$cfrom :: forall x.
DescribeScheduledInstanceAvailability
-> Rep DescribeScheduledInstanceAvailability x
Prelude.Generic)
newDescribeScheduledInstanceAvailability ::
SlotDateTimeRangeRequest ->
ScheduledInstanceRecurrenceRequest ->
DescribeScheduledInstanceAvailability
newDescribeScheduledInstanceAvailability :: SlotDateTimeRangeRequest
-> ScheduledInstanceRecurrenceRequest
-> DescribeScheduledInstanceAvailability
newDescribeScheduledInstanceAvailability
SlotDateTimeRangeRequest
pFirstSlotStartTimeRange_
ScheduledInstanceRecurrenceRequest
pRecurrence_ =
DescribeScheduledInstanceAvailability'
{ $sel:dryRun:DescribeScheduledInstanceAvailability' :: Maybe Bool
dryRun =
forall a. Maybe a
Prelude.Nothing,
$sel:filters:DescribeScheduledInstanceAvailability' :: Maybe [Filter]
filters = forall a. Maybe a
Prelude.Nothing,
$sel:maxResults:DescribeScheduledInstanceAvailability' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:maxSlotDurationInHours:DescribeScheduledInstanceAvailability' :: Maybe Int
maxSlotDurationInHours =
forall a. Maybe a
Prelude.Nothing,
$sel:minSlotDurationInHours:DescribeScheduledInstanceAvailability' :: Maybe Int
minSlotDurationInHours =
forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:DescribeScheduledInstanceAvailability' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:firstSlotStartTimeRange:DescribeScheduledInstanceAvailability' :: SlotDateTimeRangeRequest
firstSlotStartTimeRange =
SlotDateTimeRangeRequest
pFirstSlotStartTimeRange_,
$sel:recurrence:DescribeScheduledInstanceAvailability' :: ScheduledInstanceRecurrenceRequest
recurrence = ScheduledInstanceRecurrenceRequest
pRecurrence_
}
describeScheduledInstanceAvailability_dryRun :: Lens.Lens' DescribeScheduledInstanceAvailability (Prelude.Maybe Prelude.Bool)
describeScheduledInstanceAvailability_dryRun :: Lens' DescribeScheduledInstanceAvailability (Maybe Bool)
describeScheduledInstanceAvailability_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailability' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: DescribeScheduledInstanceAvailability
s@DescribeScheduledInstanceAvailability' {} Maybe Bool
a -> DescribeScheduledInstanceAvailability
s {$sel:dryRun:DescribeScheduledInstanceAvailability' :: Maybe Bool
dryRun = Maybe Bool
a} :: DescribeScheduledInstanceAvailability)
describeScheduledInstanceAvailability_filters :: Lens.Lens' DescribeScheduledInstanceAvailability (Prelude.Maybe [Filter])
describeScheduledInstanceAvailability_filters :: Lens' DescribeScheduledInstanceAvailability (Maybe [Filter])
describeScheduledInstanceAvailability_filters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailability' {Maybe [Filter]
filters :: Maybe [Filter]
$sel:filters:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe [Filter]
filters} -> Maybe [Filter]
filters) (\s :: DescribeScheduledInstanceAvailability
s@DescribeScheduledInstanceAvailability' {} Maybe [Filter]
a -> DescribeScheduledInstanceAvailability
s {$sel:filters:DescribeScheduledInstanceAvailability' :: Maybe [Filter]
filters = Maybe [Filter]
a} :: DescribeScheduledInstanceAvailability) 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
describeScheduledInstanceAvailability_maxResults :: Lens.Lens' DescribeScheduledInstanceAvailability (Prelude.Maybe Prelude.Natural)
describeScheduledInstanceAvailability_maxResults :: Lens' DescribeScheduledInstanceAvailability (Maybe Natural)
describeScheduledInstanceAvailability_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailability' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: DescribeScheduledInstanceAvailability
s@DescribeScheduledInstanceAvailability' {} Maybe Natural
a -> DescribeScheduledInstanceAvailability
s {$sel:maxResults:DescribeScheduledInstanceAvailability' :: Maybe Natural
maxResults = Maybe Natural
a} :: DescribeScheduledInstanceAvailability)
describeScheduledInstanceAvailability_maxSlotDurationInHours :: Lens.Lens' DescribeScheduledInstanceAvailability (Prelude.Maybe Prelude.Int)
describeScheduledInstanceAvailability_maxSlotDurationInHours :: Lens' DescribeScheduledInstanceAvailability (Maybe Int)
describeScheduledInstanceAvailability_maxSlotDurationInHours = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailability' {Maybe Int
maxSlotDurationInHours :: Maybe Int
$sel:maxSlotDurationInHours:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Int
maxSlotDurationInHours} -> Maybe Int
maxSlotDurationInHours) (\s :: DescribeScheduledInstanceAvailability
s@DescribeScheduledInstanceAvailability' {} Maybe Int
a -> DescribeScheduledInstanceAvailability
s {$sel:maxSlotDurationInHours:DescribeScheduledInstanceAvailability' :: Maybe Int
maxSlotDurationInHours = Maybe Int
a} :: DescribeScheduledInstanceAvailability)
describeScheduledInstanceAvailability_minSlotDurationInHours :: Lens.Lens' DescribeScheduledInstanceAvailability (Prelude.Maybe Prelude.Int)
describeScheduledInstanceAvailability_minSlotDurationInHours :: Lens' DescribeScheduledInstanceAvailability (Maybe Int)
describeScheduledInstanceAvailability_minSlotDurationInHours = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailability' {Maybe Int
minSlotDurationInHours :: Maybe Int
$sel:minSlotDurationInHours:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Int
minSlotDurationInHours} -> Maybe Int
minSlotDurationInHours) (\s :: DescribeScheduledInstanceAvailability
s@DescribeScheduledInstanceAvailability' {} Maybe Int
a -> DescribeScheduledInstanceAvailability
s {$sel:minSlotDurationInHours:DescribeScheduledInstanceAvailability' :: Maybe Int
minSlotDurationInHours = Maybe Int
a} :: DescribeScheduledInstanceAvailability)
describeScheduledInstanceAvailability_nextToken :: Lens.Lens' DescribeScheduledInstanceAvailability (Prelude.Maybe Prelude.Text)
describeScheduledInstanceAvailability_nextToken :: Lens' DescribeScheduledInstanceAvailability (Maybe Text)
describeScheduledInstanceAvailability_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailability' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeScheduledInstanceAvailability
s@DescribeScheduledInstanceAvailability' {} Maybe Text
a -> DescribeScheduledInstanceAvailability
s {$sel:nextToken:DescribeScheduledInstanceAvailability' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeScheduledInstanceAvailability)
describeScheduledInstanceAvailability_firstSlotStartTimeRange :: Lens.Lens' DescribeScheduledInstanceAvailability SlotDateTimeRangeRequest
describeScheduledInstanceAvailability_firstSlotStartTimeRange :: Lens'
DescribeScheduledInstanceAvailability SlotDateTimeRangeRequest
describeScheduledInstanceAvailability_firstSlotStartTimeRange = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailability' {SlotDateTimeRangeRequest
firstSlotStartTimeRange :: SlotDateTimeRangeRequest
$sel:firstSlotStartTimeRange:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> SlotDateTimeRangeRequest
firstSlotStartTimeRange} -> SlotDateTimeRangeRequest
firstSlotStartTimeRange) (\s :: DescribeScheduledInstanceAvailability
s@DescribeScheduledInstanceAvailability' {} SlotDateTimeRangeRequest
a -> DescribeScheduledInstanceAvailability
s {$sel:firstSlotStartTimeRange:DescribeScheduledInstanceAvailability' :: SlotDateTimeRangeRequest
firstSlotStartTimeRange = SlotDateTimeRangeRequest
a} :: DescribeScheduledInstanceAvailability)
describeScheduledInstanceAvailability_recurrence :: Lens.Lens' DescribeScheduledInstanceAvailability ScheduledInstanceRecurrenceRequest
describeScheduledInstanceAvailability_recurrence :: Lens'
DescribeScheduledInstanceAvailability
ScheduledInstanceRecurrenceRequest
describeScheduledInstanceAvailability_recurrence = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailability' {ScheduledInstanceRecurrenceRequest
recurrence :: ScheduledInstanceRecurrenceRequest
$sel:recurrence:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability
-> ScheduledInstanceRecurrenceRequest
recurrence} -> ScheduledInstanceRecurrenceRequest
recurrence) (\s :: DescribeScheduledInstanceAvailability
s@DescribeScheduledInstanceAvailability' {} ScheduledInstanceRecurrenceRequest
a -> DescribeScheduledInstanceAvailability
s {$sel:recurrence:DescribeScheduledInstanceAvailability' :: ScheduledInstanceRecurrenceRequest
recurrence = ScheduledInstanceRecurrenceRequest
a} :: DescribeScheduledInstanceAvailability)
instance
Core.AWSPager
DescribeScheduledInstanceAvailability
where
page :: DescribeScheduledInstanceAvailability
-> AWSResponse DescribeScheduledInstanceAvailability
-> Maybe DescribeScheduledInstanceAvailability
page DescribeScheduledInstanceAvailability
rq AWSResponse DescribeScheduledInstanceAvailability
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeScheduledInstanceAvailability
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeScheduledInstanceAvailabilityResponse (Maybe Text)
describeScheduledInstanceAvailabilityResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeScheduledInstanceAvailability
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
DescribeScheduledInstanceAvailabilityResponse
(Maybe [ScheduledInstanceAvailability])
describeScheduledInstanceAvailabilityResponse_scheduledInstanceAvailabilitySet
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| Bool
Prelude.otherwise =
forall a. a -> Maybe a
Prelude.Just
forall a b. (a -> b) -> a -> b
Prelude.$ DescribeScheduledInstanceAvailability
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' DescribeScheduledInstanceAvailability (Maybe Text)
describeScheduledInstanceAvailability_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeScheduledInstanceAvailability
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeScheduledInstanceAvailabilityResponse (Maybe Text)
describeScheduledInstanceAvailabilityResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
instance
Core.AWSRequest
DescribeScheduledInstanceAvailability
where
type
AWSResponse
DescribeScheduledInstanceAvailability =
DescribeScheduledInstanceAvailabilityResponse
request :: (Service -> Service)
-> DescribeScheduledInstanceAvailability
-> Request DescribeScheduledInstanceAvailability
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 DescribeScheduledInstanceAvailability
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse
(AWSResponse DescribeScheduledInstanceAvailability)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Text
-> Maybe [ScheduledInstanceAvailability]
-> Int
-> DescribeScheduledInstanceAvailabilityResponse
DescribeScheduledInstanceAvailabilityResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"nextToken")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"scheduledInstanceAvailabilitySet"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance
Prelude.Hashable
DescribeScheduledInstanceAvailability
where
hashWithSalt :: Int -> DescribeScheduledInstanceAvailability -> Int
hashWithSalt
Int
_salt
DescribeScheduledInstanceAvailability' {Maybe Bool
Maybe Int
Maybe Natural
Maybe [Filter]
Maybe Text
ScheduledInstanceRecurrenceRequest
SlotDateTimeRangeRequest
recurrence :: ScheduledInstanceRecurrenceRequest
firstSlotStartTimeRange :: SlotDateTimeRangeRequest
nextToken :: Maybe Text
minSlotDurationInHours :: Maybe Int
maxSlotDurationInHours :: Maybe Int
maxResults :: Maybe Natural
filters :: Maybe [Filter]
dryRun :: Maybe Bool
$sel:recurrence:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability
-> ScheduledInstanceRecurrenceRequest
$sel:firstSlotStartTimeRange:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> SlotDateTimeRangeRequest
$sel:nextToken:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Text
$sel:minSlotDurationInHours:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Int
$sel:maxSlotDurationInHours:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Int
$sel:maxResults:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Natural
$sel:filters:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe [Filter]
$sel:dryRun:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Filter]
filters
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
maxSlotDurationInHours
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
minSlotDurationInHours
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` SlotDateTimeRangeRequest
firstSlotStartTimeRange
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ScheduledInstanceRecurrenceRequest
recurrence
instance
Prelude.NFData
DescribeScheduledInstanceAvailability
where
rnf :: DescribeScheduledInstanceAvailability -> ()
rnf DescribeScheduledInstanceAvailability' {Maybe Bool
Maybe Int
Maybe Natural
Maybe [Filter]
Maybe Text
ScheduledInstanceRecurrenceRequest
SlotDateTimeRangeRequest
recurrence :: ScheduledInstanceRecurrenceRequest
firstSlotStartTimeRange :: SlotDateTimeRangeRequest
nextToken :: Maybe Text
minSlotDurationInHours :: Maybe Int
maxSlotDurationInHours :: Maybe Int
maxResults :: Maybe Natural
filters :: Maybe [Filter]
dryRun :: Maybe Bool
$sel:recurrence:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability
-> ScheduledInstanceRecurrenceRequest
$sel:firstSlotStartTimeRange:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> SlotDateTimeRangeRequest
$sel:nextToken:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Text
$sel:minSlotDurationInHours:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Int
$sel:maxSlotDurationInHours:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Int
$sel:maxResults:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Natural
$sel:filters:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe [Filter]
$sel:dryRun:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Bool
..} =
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 [Filter]
filters
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
maxSlotDurationInHours
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
minSlotDurationInHours
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf SlotDateTimeRangeRequest
firstSlotStartTimeRange
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ScheduledInstanceRecurrenceRequest
recurrence
instance
Data.ToHeaders
DescribeScheduledInstanceAvailability
where
toHeaders :: DescribeScheduledInstanceAvailability -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance
Data.ToPath
DescribeScheduledInstanceAvailability
where
toPath :: DescribeScheduledInstanceAvailability -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
DescribeScheduledInstanceAvailability
where
toQuery :: DescribeScheduledInstanceAvailability -> QueryString
toQuery DescribeScheduledInstanceAvailability' {Maybe Bool
Maybe Int
Maybe Natural
Maybe [Filter]
Maybe Text
ScheduledInstanceRecurrenceRequest
SlotDateTimeRangeRequest
recurrence :: ScheduledInstanceRecurrenceRequest
firstSlotStartTimeRange :: SlotDateTimeRangeRequest
nextToken :: Maybe Text
minSlotDurationInHours :: Maybe Int
maxSlotDurationInHours :: Maybe Int
maxResults :: Maybe Natural
filters :: Maybe [Filter]
dryRun :: Maybe Bool
$sel:recurrence:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability
-> ScheduledInstanceRecurrenceRequest
$sel:firstSlotStartTimeRange:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> SlotDateTimeRangeRequest
$sel:nextToken:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Text
$sel:minSlotDurationInHours:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Int
$sel:maxSlotDurationInHours:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Int
$sel:maxResults:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Natural
$sel:filters:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe [Filter]
$sel:dryRun:DescribeScheduledInstanceAvailability' :: DescribeScheduledInstanceAvailability -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"DescribeScheduledInstanceAvailability" ::
Prelude.ByteString
),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
forall a. ToQuery a => a -> QueryString
Data.toQuery
(forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"Filter" forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Filter]
filters),
ByteString
"MaxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
ByteString
"MaxSlotDurationInHours"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Int
maxSlotDurationInHours,
ByteString
"MinSlotDurationInHours"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Int
minSlotDurationInHours,
ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
ByteString
"FirstSlotStartTimeRange"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: SlotDateTimeRangeRequest
firstSlotStartTimeRange,
ByteString
"Recurrence" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ScheduledInstanceRecurrenceRequest
recurrence
]
data DescribeScheduledInstanceAvailabilityResponse = DescribeScheduledInstanceAvailabilityResponse'
{
DescribeScheduledInstanceAvailabilityResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
DescribeScheduledInstanceAvailabilityResponse
-> Maybe [ScheduledInstanceAvailability]
scheduledInstanceAvailabilitySet :: Prelude.Maybe [ScheduledInstanceAvailability],
DescribeScheduledInstanceAvailabilityResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeScheduledInstanceAvailabilityResponse
-> DescribeScheduledInstanceAvailabilityResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeScheduledInstanceAvailabilityResponse
-> DescribeScheduledInstanceAvailabilityResponse -> Bool
$c/= :: DescribeScheduledInstanceAvailabilityResponse
-> DescribeScheduledInstanceAvailabilityResponse -> Bool
== :: DescribeScheduledInstanceAvailabilityResponse
-> DescribeScheduledInstanceAvailabilityResponse -> Bool
$c== :: DescribeScheduledInstanceAvailabilityResponse
-> DescribeScheduledInstanceAvailabilityResponse -> Bool
Prelude.Eq, ReadPrec [DescribeScheduledInstanceAvailabilityResponse]
ReadPrec DescribeScheduledInstanceAvailabilityResponse
Int -> ReadS DescribeScheduledInstanceAvailabilityResponse
ReadS [DescribeScheduledInstanceAvailabilityResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeScheduledInstanceAvailabilityResponse]
$creadListPrec :: ReadPrec [DescribeScheduledInstanceAvailabilityResponse]
readPrec :: ReadPrec DescribeScheduledInstanceAvailabilityResponse
$creadPrec :: ReadPrec DescribeScheduledInstanceAvailabilityResponse
readList :: ReadS [DescribeScheduledInstanceAvailabilityResponse]
$creadList :: ReadS [DescribeScheduledInstanceAvailabilityResponse]
readsPrec :: Int -> ReadS DescribeScheduledInstanceAvailabilityResponse
$creadsPrec :: Int -> ReadS DescribeScheduledInstanceAvailabilityResponse
Prelude.Read, Int -> DescribeScheduledInstanceAvailabilityResponse -> ShowS
[DescribeScheduledInstanceAvailabilityResponse] -> ShowS
DescribeScheduledInstanceAvailabilityResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeScheduledInstanceAvailabilityResponse] -> ShowS
$cshowList :: [DescribeScheduledInstanceAvailabilityResponse] -> ShowS
show :: DescribeScheduledInstanceAvailabilityResponse -> String
$cshow :: DescribeScheduledInstanceAvailabilityResponse -> String
showsPrec :: Int -> DescribeScheduledInstanceAvailabilityResponse -> ShowS
$cshowsPrec :: Int -> DescribeScheduledInstanceAvailabilityResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeScheduledInstanceAvailabilityResponse x
-> DescribeScheduledInstanceAvailabilityResponse
forall x.
DescribeScheduledInstanceAvailabilityResponse
-> Rep DescribeScheduledInstanceAvailabilityResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeScheduledInstanceAvailabilityResponse x
-> DescribeScheduledInstanceAvailabilityResponse
$cfrom :: forall x.
DescribeScheduledInstanceAvailabilityResponse
-> Rep DescribeScheduledInstanceAvailabilityResponse x
Prelude.Generic)
newDescribeScheduledInstanceAvailabilityResponse ::
Prelude.Int ->
DescribeScheduledInstanceAvailabilityResponse
newDescribeScheduledInstanceAvailabilityResponse :: Int -> DescribeScheduledInstanceAvailabilityResponse
newDescribeScheduledInstanceAvailabilityResponse
Int
pHttpStatus_ =
DescribeScheduledInstanceAvailabilityResponse'
{ $sel:nextToken:DescribeScheduledInstanceAvailabilityResponse' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:scheduledInstanceAvailabilitySet:DescribeScheduledInstanceAvailabilityResponse' :: Maybe [ScheduledInstanceAvailability]
scheduledInstanceAvailabilitySet =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeScheduledInstanceAvailabilityResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeScheduledInstanceAvailabilityResponse_nextToken :: Lens.Lens' DescribeScheduledInstanceAvailabilityResponse (Prelude.Maybe Prelude.Text)
describeScheduledInstanceAvailabilityResponse_nextToken :: Lens' DescribeScheduledInstanceAvailabilityResponse (Maybe Text)
describeScheduledInstanceAvailabilityResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailabilityResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeScheduledInstanceAvailabilityResponse' :: DescribeScheduledInstanceAvailabilityResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeScheduledInstanceAvailabilityResponse
s@DescribeScheduledInstanceAvailabilityResponse' {} Maybe Text
a -> DescribeScheduledInstanceAvailabilityResponse
s {$sel:nextToken:DescribeScheduledInstanceAvailabilityResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeScheduledInstanceAvailabilityResponse)
describeScheduledInstanceAvailabilityResponse_scheduledInstanceAvailabilitySet :: Lens.Lens' DescribeScheduledInstanceAvailabilityResponse (Prelude.Maybe [ScheduledInstanceAvailability])
describeScheduledInstanceAvailabilityResponse_scheduledInstanceAvailabilitySet :: Lens'
DescribeScheduledInstanceAvailabilityResponse
(Maybe [ScheduledInstanceAvailability])
describeScheduledInstanceAvailabilityResponse_scheduledInstanceAvailabilitySet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailabilityResponse' {Maybe [ScheduledInstanceAvailability]
scheduledInstanceAvailabilitySet :: Maybe [ScheduledInstanceAvailability]
$sel:scheduledInstanceAvailabilitySet:DescribeScheduledInstanceAvailabilityResponse' :: DescribeScheduledInstanceAvailabilityResponse
-> Maybe [ScheduledInstanceAvailability]
scheduledInstanceAvailabilitySet} -> Maybe [ScheduledInstanceAvailability]
scheduledInstanceAvailabilitySet) (\s :: DescribeScheduledInstanceAvailabilityResponse
s@DescribeScheduledInstanceAvailabilityResponse' {} Maybe [ScheduledInstanceAvailability]
a -> DescribeScheduledInstanceAvailabilityResponse
s {$sel:scheduledInstanceAvailabilitySet:DescribeScheduledInstanceAvailabilityResponse' :: Maybe [ScheduledInstanceAvailability]
scheduledInstanceAvailabilitySet = Maybe [ScheduledInstanceAvailability]
a} :: DescribeScheduledInstanceAvailabilityResponse) 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
describeScheduledInstanceAvailabilityResponse_httpStatus :: Lens.Lens' DescribeScheduledInstanceAvailabilityResponse Prelude.Int
describeScheduledInstanceAvailabilityResponse_httpStatus :: Lens' DescribeScheduledInstanceAvailabilityResponse Int
describeScheduledInstanceAvailabilityResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeScheduledInstanceAvailabilityResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeScheduledInstanceAvailabilityResponse' :: DescribeScheduledInstanceAvailabilityResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeScheduledInstanceAvailabilityResponse
s@DescribeScheduledInstanceAvailabilityResponse' {} Int
a -> DescribeScheduledInstanceAvailabilityResponse
s {$sel:httpStatus:DescribeScheduledInstanceAvailabilityResponse' :: Int
httpStatus = Int
a} :: DescribeScheduledInstanceAvailabilityResponse)
instance
Prelude.NFData
DescribeScheduledInstanceAvailabilityResponse
where
rnf :: DescribeScheduledInstanceAvailabilityResponse -> ()
rnf
DescribeScheduledInstanceAvailabilityResponse' {Int
Maybe [ScheduledInstanceAvailability]
Maybe Text
httpStatus :: Int
scheduledInstanceAvailabilitySet :: Maybe [ScheduledInstanceAvailability]
nextToken :: Maybe Text
$sel:httpStatus:DescribeScheduledInstanceAvailabilityResponse' :: DescribeScheduledInstanceAvailabilityResponse -> Int
$sel:scheduledInstanceAvailabilitySet:DescribeScheduledInstanceAvailabilityResponse' :: DescribeScheduledInstanceAvailabilityResponse
-> Maybe [ScheduledInstanceAvailability]
$sel:nextToken:DescribeScheduledInstanceAvailabilityResponse' :: DescribeScheduledInstanceAvailabilityResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ScheduledInstanceAvailability]
scheduledInstanceAvailabilitySet
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus