{-# 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.DataExchange.Types.ApiGatewayApiAsset where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DataExchange.Types.ProtocolType
import qualified Amazonka.Prelude as Prelude
data ApiGatewayApiAsset = ApiGatewayApiAsset'
{
ApiGatewayApiAsset -> Maybe Text
apiDescription :: Prelude.Maybe Prelude.Text,
ApiGatewayApiAsset -> Maybe Text
apiEndpoint :: Prelude.Maybe Prelude.Text,
ApiGatewayApiAsset -> Maybe Text
apiId :: Prelude.Maybe Prelude.Text,
ApiGatewayApiAsset -> Maybe Text
apiKey :: Prelude.Maybe Prelude.Text,
ApiGatewayApiAsset -> Maybe Text
apiName :: Prelude.Maybe Prelude.Text,
ApiGatewayApiAsset -> Maybe Text
apiSpecificationDownloadUrl :: Prelude.Maybe Prelude.Text,
ApiGatewayApiAsset -> Maybe ISO8601
apiSpecificationDownloadUrlExpiresAt :: Prelude.Maybe Data.ISO8601,
ApiGatewayApiAsset -> Maybe ProtocolType
protocolType :: Prelude.Maybe ProtocolType,
ApiGatewayApiAsset -> Maybe Text
stage :: Prelude.Maybe Prelude.Text
}
deriving (ApiGatewayApiAsset -> ApiGatewayApiAsset -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiGatewayApiAsset -> ApiGatewayApiAsset -> Bool
$c/= :: ApiGatewayApiAsset -> ApiGatewayApiAsset -> Bool
== :: ApiGatewayApiAsset -> ApiGatewayApiAsset -> Bool
$c== :: ApiGatewayApiAsset -> ApiGatewayApiAsset -> Bool
Prelude.Eq, ReadPrec [ApiGatewayApiAsset]
ReadPrec ApiGatewayApiAsset
Int -> ReadS ApiGatewayApiAsset
ReadS [ApiGatewayApiAsset]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ApiGatewayApiAsset]
$creadListPrec :: ReadPrec [ApiGatewayApiAsset]
readPrec :: ReadPrec ApiGatewayApiAsset
$creadPrec :: ReadPrec ApiGatewayApiAsset
readList :: ReadS [ApiGatewayApiAsset]
$creadList :: ReadS [ApiGatewayApiAsset]
readsPrec :: Int -> ReadS ApiGatewayApiAsset
$creadsPrec :: Int -> ReadS ApiGatewayApiAsset
Prelude.Read, Int -> ApiGatewayApiAsset -> ShowS
[ApiGatewayApiAsset] -> ShowS
ApiGatewayApiAsset -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiGatewayApiAsset] -> ShowS
$cshowList :: [ApiGatewayApiAsset] -> ShowS
show :: ApiGatewayApiAsset -> String
$cshow :: ApiGatewayApiAsset -> String
showsPrec :: Int -> ApiGatewayApiAsset -> ShowS
$cshowsPrec :: Int -> ApiGatewayApiAsset -> ShowS
Prelude.Show, forall x. Rep ApiGatewayApiAsset x -> ApiGatewayApiAsset
forall x. ApiGatewayApiAsset -> Rep ApiGatewayApiAsset x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ApiGatewayApiAsset x -> ApiGatewayApiAsset
$cfrom :: forall x. ApiGatewayApiAsset -> Rep ApiGatewayApiAsset x
Prelude.Generic)
newApiGatewayApiAsset ::
ApiGatewayApiAsset
newApiGatewayApiAsset :: ApiGatewayApiAsset
newApiGatewayApiAsset =
ApiGatewayApiAsset'
{ $sel:apiDescription:ApiGatewayApiAsset' :: Maybe Text
apiDescription =
forall a. Maybe a
Prelude.Nothing,
$sel:apiEndpoint:ApiGatewayApiAsset' :: Maybe Text
apiEndpoint = forall a. Maybe a
Prelude.Nothing,
$sel:apiId:ApiGatewayApiAsset' :: Maybe Text
apiId = forall a. Maybe a
Prelude.Nothing,
$sel:apiKey:ApiGatewayApiAsset' :: Maybe Text
apiKey = forall a. Maybe a
Prelude.Nothing,
$sel:apiName:ApiGatewayApiAsset' :: Maybe Text
apiName = forall a. Maybe a
Prelude.Nothing,
$sel:apiSpecificationDownloadUrl:ApiGatewayApiAsset' :: Maybe Text
apiSpecificationDownloadUrl = forall a. Maybe a
Prelude.Nothing,
$sel:apiSpecificationDownloadUrlExpiresAt:ApiGatewayApiAsset' :: Maybe ISO8601
apiSpecificationDownloadUrlExpiresAt =
forall a. Maybe a
Prelude.Nothing,
$sel:protocolType:ApiGatewayApiAsset' :: Maybe ProtocolType
protocolType = forall a. Maybe a
Prelude.Nothing,
$sel:stage:ApiGatewayApiAsset' :: Maybe Text
stage = forall a. Maybe a
Prelude.Nothing
}
apiGatewayApiAsset_apiDescription :: Lens.Lens' ApiGatewayApiAsset (Prelude.Maybe Prelude.Text)
apiGatewayApiAsset_apiDescription :: Lens' ApiGatewayApiAsset (Maybe Text)
apiGatewayApiAsset_apiDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApiGatewayApiAsset' {Maybe Text
apiDescription :: Maybe Text
$sel:apiDescription:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
apiDescription} -> Maybe Text
apiDescription) (\s :: ApiGatewayApiAsset
s@ApiGatewayApiAsset' {} Maybe Text
a -> ApiGatewayApiAsset
s {$sel:apiDescription:ApiGatewayApiAsset' :: Maybe Text
apiDescription = Maybe Text
a} :: ApiGatewayApiAsset)
apiGatewayApiAsset_apiEndpoint :: Lens.Lens' ApiGatewayApiAsset (Prelude.Maybe Prelude.Text)
apiGatewayApiAsset_apiEndpoint :: Lens' ApiGatewayApiAsset (Maybe Text)
apiGatewayApiAsset_apiEndpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApiGatewayApiAsset' {Maybe Text
apiEndpoint :: Maybe Text
$sel:apiEndpoint:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
apiEndpoint} -> Maybe Text
apiEndpoint) (\s :: ApiGatewayApiAsset
s@ApiGatewayApiAsset' {} Maybe Text
a -> ApiGatewayApiAsset
s {$sel:apiEndpoint:ApiGatewayApiAsset' :: Maybe Text
apiEndpoint = Maybe Text
a} :: ApiGatewayApiAsset)
apiGatewayApiAsset_apiId :: Lens.Lens' ApiGatewayApiAsset (Prelude.Maybe Prelude.Text)
apiGatewayApiAsset_apiId :: Lens' ApiGatewayApiAsset (Maybe Text)
apiGatewayApiAsset_apiId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApiGatewayApiAsset' {Maybe Text
apiId :: Maybe Text
$sel:apiId:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
apiId} -> Maybe Text
apiId) (\s :: ApiGatewayApiAsset
s@ApiGatewayApiAsset' {} Maybe Text
a -> ApiGatewayApiAsset
s {$sel:apiId:ApiGatewayApiAsset' :: Maybe Text
apiId = Maybe Text
a} :: ApiGatewayApiAsset)
apiGatewayApiAsset_apiKey :: Lens.Lens' ApiGatewayApiAsset (Prelude.Maybe Prelude.Text)
apiGatewayApiAsset_apiKey :: Lens' ApiGatewayApiAsset (Maybe Text)
apiGatewayApiAsset_apiKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApiGatewayApiAsset' {Maybe Text
apiKey :: Maybe Text
$sel:apiKey:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
apiKey} -> Maybe Text
apiKey) (\s :: ApiGatewayApiAsset
s@ApiGatewayApiAsset' {} Maybe Text
a -> ApiGatewayApiAsset
s {$sel:apiKey:ApiGatewayApiAsset' :: Maybe Text
apiKey = Maybe Text
a} :: ApiGatewayApiAsset)
apiGatewayApiAsset_apiName :: Lens.Lens' ApiGatewayApiAsset (Prelude.Maybe Prelude.Text)
apiGatewayApiAsset_apiName :: Lens' ApiGatewayApiAsset (Maybe Text)
apiGatewayApiAsset_apiName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApiGatewayApiAsset' {Maybe Text
apiName :: Maybe Text
$sel:apiName:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
apiName} -> Maybe Text
apiName) (\s :: ApiGatewayApiAsset
s@ApiGatewayApiAsset' {} Maybe Text
a -> ApiGatewayApiAsset
s {$sel:apiName:ApiGatewayApiAsset' :: Maybe Text
apiName = Maybe Text
a} :: ApiGatewayApiAsset)
apiGatewayApiAsset_apiSpecificationDownloadUrl :: Lens.Lens' ApiGatewayApiAsset (Prelude.Maybe Prelude.Text)
apiGatewayApiAsset_apiSpecificationDownloadUrl :: Lens' ApiGatewayApiAsset (Maybe Text)
apiGatewayApiAsset_apiSpecificationDownloadUrl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApiGatewayApiAsset' {Maybe Text
apiSpecificationDownloadUrl :: Maybe Text
$sel:apiSpecificationDownloadUrl:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
apiSpecificationDownloadUrl} -> Maybe Text
apiSpecificationDownloadUrl) (\s :: ApiGatewayApiAsset
s@ApiGatewayApiAsset' {} Maybe Text
a -> ApiGatewayApiAsset
s {$sel:apiSpecificationDownloadUrl:ApiGatewayApiAsset' :: Maybe Text
apiSpecificationDownloadUrl = Maybe Text
a} :: ApiGatewayApiAsset)
apiGatewayApiAsset_apiSpecificationDownloadUrlExpiresAt :: Lens.Lens' ApiGatewayApiAsset (Prelude.Maybe Prelude.UTCTime)
apiGatewayApiAsset_apiSpecificationDownloadUrlExpiresAt :: Lens' ApiGatewayApiAsset (Maybe UTCTime)
apiGatewayApiAsset_apiSpecificationDownloadUrlExpiresAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApiGatewayApiAsset' {Maybe ISO8601
apiSpecificationDownloadUrlExpiresAt :: Maybe ISO8601
$sel:apiSpecificationDownloadUrlExpiresAt:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe ISO8601
apiSpecificationDownloadUrlExpiresAt} -> Maybe ISO8601
apiSpecificationDownloadUrlExpiresAt) (\s :: ApiGatewayApiAsset
s@ApiGatewayApiAsset' {} Maybe ISO8601
a -> ApiGatewayApiAsset
s {$sel:apiSpecificationDownloadUrlExpiresAt:ApiGatewayApiAsset' :: Maybe ISO8601
apiSpecificationDownloadUrlExpiresAt = Maybe ISO8601
a} :: ApiGatewayApiAsset) 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
apiGatewayApiAsset_protocolType :: Lens.Lens' ApiGatewayApiAsset (Prelude.Maybe ProtocolType)
apiGatewayApiAsset_protocolType :: Lens' ApiGatewayApiAsset (Maybe ProtocolType)
apiGatewayApiAsset_protocolType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApiGatewayApiAsset' {Maybe ProtocolType
protocolType :: Maybe ProtocolType
$sel:protocolType:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe ProtocolType
protocolType} -> Maybe ProtocolType
protocolType) (\s :: ApiGatewayApiAsset
s@ApiGatewayApiAsset' {} Maybe ProtocolType
a -> ApiGatewayApiAsset
s {$sel:protocolType:ApiGatewayApiAsset' :: Maybe ProtocolType
protocolType = Maybe ProtocolType
a} :: ApiGatewayApiAsset)
apiGatewayApiAsset_stage :: Lens.Lens' ApiGatewayApiAsset (Prelude.Maybe Prelude.Text)
apiGatewayApiAsset_stage :: Lens' ApiGatewayApiAsset (Maybe Text)
apiGatewayApiAsset_stage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApiGatewayApiAsset' {Maybe Text
stage :: Maybe Text
$sel:stage:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
stage} -> Maybe Text
stage) (\s :: ApiGatewayApiAsset
s@ApiGatewayApiAsset' {} Maybe Text
a -> ApiGatewayApiAsset
s {$sel:stage:ApiGatewayApiAsset' :: Maybe Text
stage = Maybe Text
a} :: ApiGatewayApiAsset)
instance Data.FromJSON ApiGatewayApiAsset where
parseJSON :: Value -> Parser ApiGatewayApiAsset
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ApiGatewayApiAsset"
( \Object
x ->
Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ISO8601
-> Maybe ProtocolType
-> Maybe Text
-> ApiGatewayApiAsset
ApiGatewayApiAsset'
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
"ApiDescription")
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
"ApiEndpoint")
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
"ApiId")
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
"ApiKey")
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
"ApiName")
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
"ApiSpecificationDownloadUrl")
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
"ApiSpecificationDownloadUrlExpiresAt")
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
"ProtocolType")
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
"Stage")
)
instance Prelude.Hashable ApiGatewayApiAsset where
hashWithSalt :: Int -> ApiGatewayApiAsset -> Int
hashWithSalt Int
_salt ApiGatewayApiAsset' {Maybe Text
Maybe ISO8601
Maybe ProtocolType
stage :: Maybe Text
protocolType :: Maybe ProtocolType
apiSpecificationDownloadUrlExpiresAt :: Maybe ISO8601
apiSpecificationDownloadUrl :: Maybe Text
apiName :: Maybe Text
apiKey :: Maybe Text
apiId :: Maybe Text
apiEndpoint :: Maybe Text
apiDescription :: Maybe Text
$sel:stage:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:protocolType:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe ProtocolType
$sel:apiSpecificationDownloadUrlExpiresAt:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe ISO8601
$sel:apiSpecificationDownloadUrl:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiName:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiKey:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiId:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiEndpoint:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiDescription:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
apiDescription
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
apiEndpoint
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
apiId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
apiKey
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
apiName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
apiSpecificationDownloadUrl
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
apiSpecificationDownloadUrlExpiresAt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ProtocolType
protocolType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
stage
instance Prelude.NFData ApiGatewayApiAsset where
rnf :: ApiGatewayApiAsset -> ()
rnf ApiGatewayApiAsset' {Maybe Text
Maybe ISO8601
Maybe ProtocolType
stage :: Maybe Text
protocolType :: Maybe ProtocolType
apiSpecificationDownloadUrlExpiresAt :: Maybe ISO8601
apiSpecificationDownloadUrl :: Maybe Text
apiName :: Maybe Text
apiKey :: Maybe Text
apiId :: Maybe Text
apiEndpoint :: Maybe Text
apiDescription :: Maybe Text
$sel:stage:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:protocolType:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe ProtocolType
$sel:apiSpecificationDownloadUrlExpiresAt:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe ISO8601
$sel:apiSpecificationDownloadUrl:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiName:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiKey:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiId:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiEndpoint:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
$sel:apiDescription:ApiGatewayApiAsset' :: ApiGatewayApiAsset -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
apiDescription
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
apiEndpoint
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
apiId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
apiKey
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
apiName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
apiSpecificationDownloadUrl
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
apiSpecificationDownloadUrlExpiresAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ProtocolType
protocolType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
stage