{-# 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.ElasticInference.DescribeAcceleratorOfferings
(
DescribeAcceleratorOfferings (..),
newDescribeAcceleratorOfferings,
describeAcceleratorOfferings_acceleratorTypes,
describeAcceleratorOfferings_locationType,
DescribeAcceleratorOfferingsResponse (..),
newDescribeAcceleratorOfferingsResponse,
describeAcceleratorOfferingsResponse_acceleratorTypeOfferings,
describeAcceleratorOfferingsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ElasticInference.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeAcceleratorOfferings = DescribeAcceleratorOfferings'
{
DescribeAcceleratorOfferings -> Maybe [Text]
acceleratorTypes :: Prelude.Maybe [Prelude.Text],
DescribeAcceleratorOfferings -> LocationType
locationType :: LocationType
}
deriving (DescribeAcceleratorOfferings
-> DescribeAcceleratorOfferings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAcceleratorOfferings
-> DescribeAcceleratorOfferings -> Bool
$c/= :: DescribeAcceleratorOfferings
-> DescribeAcceleratorOfferings -> Bool
== :: DescribeAcceleratorOfferings
-> DescribeAcceleratorOfferings -> Bool
$c== :: DescribeAcceleratorOfferings
-> DescribeAcceleratorOfferings -> Bool
Prelude.Eq, ReadPrec [DescribeAcceleratorOfferings]
ReadPrec DescribeAcceleratorOfferings
Int -> ReadS DescribeAcceleratorOfferings
ReadS [DescribeAcceleratorOfferings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAcceleratorOfferings]
$creadListPrec :: ReadPrec [DescribeAcceleratorOfferings]
readPrec :: ReadPrec DescribeAcceleratorOfferings
$creadPrec :: ReadPrec DescribeAcceleratorOfferings
readList :: ReadS [DescribeAcceleratorOfferings]
$creadList :: ReadS [DescribeAcceleratorOfferings]
readsPrec :: Int -> ReadS DescribeAcceleratorOfferings
$creadsPrec :: Int -> ReadS DescribeAcceleratorOfferings
Prelude.Read, Int -> DescribeAcceleratorOfferings -> ShowS
[DescribeAcceleratorOfferings] -> ShowS
DescribeAcceleratorOfferings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAcceleratorOfferings] -> ShowS
$cshowList :: [DescribeAcceleratorOfferings] -> ShowS
show :: DescribeAcceleratorOfferings -> String
$cshow :: DescribeAcceleratorOfferings -> String
showsPrec :: Int -> DescribeAcceleratorOfferings -> ShowS
$cshowsPrec :: Int -> DescribeAcceleratorOfferings -> ShowS
Prelude.Show, forall x.
Rep DescribeAcceleratorOfferings x -> DescribeAcceleratorOfferings
forall x.
DescribeAcceleratorOfferings -> Rep DescribeAcceleratorOfferings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAcceleratorOfferings x -> DescribeAcceleratorOfferings
$cfrom :: forall x.
DescribeAcceleratorOfferings -> Rep DescribeAcceleratorOfferings x
Prelude.Generic)
newDescribeAcceleratorOfferings ::
LocationType ->
DescribeAcceleratorOfferings
newDescribeAcceleratorOfferings :: LocationType -> DescribeAcceleratorOfferings
newDescribeAcceleratorOfferings LocationType
pLocationType_ =
DescribeAcceleratorOfferings'
{ $sel:acceleratorTypes:DescribeAcceleratorOfferings' :: Maybe [Text]
acceleratorTypes =
forall a. Maybe a
Prelude.Nothing,
$sel:locationType:DescribeAcceleratorOfferings' :: LocationType
locationType = LocationType
pLocationType_
}
describeAcceleratorOfferings_acceleratorTypes :: Lens.Lens' DescribeAcceleratorOfferings (Prelude.Maybe [Prelude.Text])
describeAcceleratorOfferings_acceleratorTypes :: Lens' DescribeAcceleratorOfferings (Maybe [Text])
describeAcceleratorOfferings_acceleratorTypes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAcceleratorOfferings' {Maybe [Text]
acceleratorTypes :: Maybe [Text]
$sel:acceleratorTypes:DescribeAcceleratorOfferings' :: DescribeAcceleratorOfferings -> Maybe [Text]
acceleratorTypes} -> Maybe [Text]
acceleratorTypes) (\s :: DescribeAcceleratorOfferings
s@DescribeAcceleratorOfferings' {} Maybe [Text]
a -> DescribeAcceleratorOfferings
s {$sel:acceleratorTypes:DescribeAcceleratorOfferings' :: Maybe [Text]
acceleratorTypes = Maybe [Text]
a} :: DescribeAcceleratorOfferings) 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
describeAcceleratorOfferings_locationType :: Lens.Lens' DescribeAcceleratorOfferings LocationType
describeAcceleratorOfferings_locationType :: Lens' DescribeAcceleratorOfferings LocationType
describeAcceleratorOfferings_locationType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAcceleratorOfferings' {LocationType
locationType :: LocationType
$sel:locationType:DescribeAcceleratorOfferings' :: DescribeAcceleratorOfferings -> LocationType
locationType} -> LocationType
locationType) (\s :: DescribeAcceleratorOfferings
s@DescribeAcceleratorOfferings' {} LocationType
a -> DescribeAcceleratorOfferings
s {$sel:locationType:DescribeAcceleratorOfferings' :: LocationType
locationType = LocationType
a} :: DescribeAcceleratorOfferings)
instance Core.AWSRequest DescribeAcceleratorOfferings where
type
AWSResponse DescribeAcceleratorOfferings =
DescribeAcceleratorOfferingsResponse
request :: (Service -> Service)
-> DescribeAcceleratorOfferings
-> Request DescribeAcceleratorOfferings
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeAcceleratorOfferings
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeAcceleratorOfferings)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe [AcceleratorTypeOffering]
-> Int -> DescribeAcceleratorOfferingsResponse
DescribeAcceleratorOfferingsResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"acceleratorTypeOfferings"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
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
DescribeAcceleratorOfferings
where
hashWithSalt :: Int -> DescribeAcceleratorOfferings -> Int
hashWithSalt Int
_salt DescribeAcceleratorOfferings' {Maybe [Text]
LocationType
locationType :: LocationType
acceleratorTypes :: Maybe [Text]
$sel:locationType:DescribeAcceleratorOfferings' :: DescribeAcceleratorOfferings -> LocationType
$sel:acceleratorTypes:DescribeAcceleratorOfferings' :: DescribeAcceleratorOfferings -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
acceleratorTypes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` LocationType
locationType
instance Prelude.NFData DescribeAcceleratorOfferings where
rnf :: DescribeAcceleratorOfferings -> ()
rnf DescribeAcceleratorOfferings' {Maybe [Text]
LocationType
locationType :: LocationType
acceleratorTypes :: Maybe [Text]
$sel:locationType:DescribeAcceleratorOfferings' :: DescribeAcceleratorOfferings -> LocationType
$sel:acceleratorTypes:DescribeAcceleratorOfferings' :: DescribeAcceleratorOfferings -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
acceleratorTypes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf LocationType
locationType
instance Data.ToHeaders DescribeAcceleratorOfferings where
toHeaders :: DescribeAcceleratorOfferings -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeAcceleratorOfferings where
toJSON :: DescribeAcceleratorOfferings -> Value
toJSON DescribeAcceleratorOfferings' {Maybe [Text]
LocationType
locationType :: LocationType
acceleratorTypes :: Maybe [Text]
$sel:locationType:DescribeAcceleratorOfferings' :: DescribeAcceleratorOfferings -> LocationType
$sel:acceleratorTypes:DescribeAcceleratorOfferings' :: DescribeAcceleratorOfferings -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"acceleratorTypes" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
acceleratorTypes,
forall a. a -> Maybe a
Prelude.Just (Key
"locationType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= LocationType
locationType)
]
)
instance Data.ToPath DescribeAcceleratorOfferings where
toPath :: DescribeAcceleratorOfferings -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const ByteString
"/describe-accelerator-offerings"
instance Data.ToQuery DescribeAcceleratorOfferings where
toQuery :: DescribeAcceleratorOfferings -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeAcceleratorOfferingsResponse = DescribeAcceleratorOfferingsResponse'
{
DescribeAcceleratorOfferingsResponse
-> Maybe [AcceleratorTypeOffering]
acceleratorTypeOfferings :: Prelude.Maybe [AcceleratorTypeOffering],
DescribeAcceleratorOfferingsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeAcceleratorOfferingsResponse
-> DescribeAcceleratorOfferingsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAcceleratorOfferingsResponse
-> DescribeAcceleratorOfferingsResponse -> Bool
$c/= :: DescribeAcceleratorOfferingsResponse
-> DescribeAcceleratorOfferingsResponse -> Bool
== :: DescribeAcceleratorOfferingsResponse
-> DescribeAcceleratorOfferingsResponse -> Bool
$c== :: DescribeAcceleratorOfferingsResponse
-> DescribeAcceleratorOfferingsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeAcceleratorOfferingsResponse]
ReadPrec DescribeAcceleratorOfferingsResponse
Int -> ReadS DescribeAcceleratorOfferingsResponse
ReadS [DescribeAcceleratorOfferingsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAcceleratorOfferingsResponse]
$creadListPrec :: ReadPrec [DescribeAcceleratorOfferingsResponse]
readPrec :: ReadPrec DescribeAcceleratorOfferingsResponse
$creadPrec :: ReadPrec DescribeAcceleratorOfferingsResponse
readList :: ReadS [DescribeAcceleratorOfferingsResponse]
$creadList :: ReadS [DescribeAcceleratorOfferingsResponse]
readsPrec :: Int -> ReadS DescribeAcceleratorOfferingsResponse
$creadsPrec :: Int -> ReadS DescribeAcceleratorOfferingsResponse
Prelude.Read, Int -> DescribeAcceleratorOfferingsResponse -> ShowS
[DescribeAcceleratorOfferingsResponse] -> ShowS
DescribeAcceleratorOfferingsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAcceleratorOfferingsResponse] -> ShowS
$cshowList :: [DescribeAcceleratorOfferingsResponse] -> ShowS
show :: DescribeAcceleratorOfferingsResponse -> String
$cshow :: DescribeAcceleratorOfferingsResponse -> String
showsPrec :: Int -> DescribeAcceleratorOfferingsResponse -> ShowS
$cshowsPrec :: Int -> DescribeAcceleratorOfferingsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeAcceleratorOfferingsResponse x
-> DescribeAcceleratorOfferingsResponse
forall x.
DescribeAcceleratorOfferingsResponse
-> Rep DescribeAcceleratorOfferingsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAcceleratorOfferingsResponse x
-> DescribeAcceleratorOfferingsResponse
$cfrom :: forall x.
DescribeAcceleratorOfferingsResponse
-> Rep DescribeAcceleratorOfferingsResponse x
Prelude.Generic)
newDescribeAcceleratorOfferingsResponse ::
Prelude.Int ->
DescribeAcceleratorOfferingsResponse
newDescribeAcceleratorOfferingsResponse :: Int -> DescribeAcceleratorOfferingsResponse
newDescribeAcceleratorOfferingsResponse Int
pHttpStatus_ =
DescribeAcceleratorOfferingsResponse'
{ $sel:acceleratorTypeOfferings:DescribeAcceleratorOfferingsResponse' :: Maybe [AcceleratorTypeOffering]
acceleratorTypeOfferings =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeAcceleratorOfferingsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeAcceleratorOfferingsResponse_acceleratorTypeOfferings :: Lens.Lens' DescribeAcceleratorOfferingsResponse (Prelude.Maybe [AcceleratorTypeOffering])
describeAcceleratorOfferingsResponse_acceleratorTypeOfferings :: Lens'
DescribeAcceleratorOfferingsResponse
(Maybe [AcceleratorTypeOffering])
describeAcceleratorOfferingsResponse_acceleratorTypeOfferings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAcceleratorOfferingsResponse' {Maybe [AcceleratorTypeOffering]
acceleratorTypeOfferings :: Maybe [AcceleratorTypeOffering]
$sel:acceleratorTypeOfferings:DescribeAcceleratorOfferingsResponse' :: DescribeAcceleratorOfferingsResponse
-> Maybe [AcceleratorTypeOffering]
acceleratorTypeOfferings} -> Maybe [AcceleratorTypeOffering]
acceleratorTypeOfferings) (\s :: DescribeAcceleratorOfferingsResponse
s@DescribeAcceleratorOfferingsResponse' {} Maybe [AcceleratorTypeOffering]
a -> DescribeAcceleratorOfferingsResponse
s {$sel:acceleratorTypeOfferings:DescribeAcceleratorOfferingsResponse' :: Maybe [AcceleratorTypeOffering]
acceleratorTypeOfferings = Maybe [AcceleratorTypeOffering]
a} :: DescribeAcceleratorOfferingsResponse) 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
describeAcceleratorOfferingsResponse_httpStatus :: Lens.Lens' DescribeAcceleratorOfferingsResponse Prelude.Int
describeAcceleratorOfferingsResponse_httpStatus :: Lens' DescribeAcceleratorOfferingsResponse Int
describeAcceleratorOfferingsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAcceleratorOfferingsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeAcceleratorOfferingsResponse' :: DescribeAcceleratorOfferingsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeAcceleratorOfferingsResponse
s@DescribeAcceleratorOfferingsResponse' {} Int
a -> DescribeAcceleratorOfferingsResponse
s {$sel:httpStatus:DescribeAcceleratorOfferingsResponse' :: Int
httpStatus = Int
a} :: DescribeAcceleratorOfferingsResponse)
instance
Prelude.NFData
DescribeAcceleratorOfferingsResponse
where
rnf :: DescribeAcceleratorOfferingsResponse -> ()
rnf DescribeAcceleratorOfferingsResponse' {Int
Maybe [AcceleratorTypeOffering]
httpStatus :: Int
acceleratorTypeOfferings :: Maybe [AcceleratorTypeOffering]
$sel:httpStatus:DescribeAcceleratorOfferingsResponse' :: DescribeAcceleratorOfferingsResponse -> Int
$sel:acceleratorTypeOfferings:DescribeAcceleratorOfferingsResponse' :: DescribeAcceleratorOfferingsResponse
-> Maybe [AcceleratorTypeOffering]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [AcceleratorTypeOffering]
acceleratorTypeOfferings
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus