{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.DataExchange.Types.ApiGatewayApiAsset
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
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

-- | The API Gateway API that is the asset.
--
-- /See:/ 'newApiGatewayApiAsset' smart constructor.
data ApiGatewayApiAsset = ApiGatewayApiAsset'
  { -- | The API description of the API asset.
    ApiGatewayApiAsset -> Maybe Text
apiDescription :: Prelude.Maybe Prelude.Text,
    -- | The API endpoint of the API asset.
    ApiGatewayApiAsset -> Maybe Text
apiEndpoint :: Prelude.Maybe Prelude.Text,
    -- | The unique identifier of the API asset.
    ApiGatewayApiAsset -> Maybe Text
apiId :: Prelude.Maybe Prelude.Text,
    -- | The API key of the API asset.
    ApiGatewayApiAsset -> Maybe Text
apiKey :: Prelude.Maybe Prelude.Text,
    -- | The API name of the API asset.
    ApiGatewayApiAsset -> Maybe Text
apiName :: Prelude.Maybe Prelude.Text,
    -- | The download URL of the API specification of the API asset.
    ApiGatewayApiAsset -> Maybe Text
apiSpecificationDownloadUrl :: Prelude.Maybe Prelude.Text,
    -- | The date and time that the upload URL expires, in ISO 8601 format.
    ApiGatewayApiAsset -> Maybe ISO8601
apiSpecificationDownloadUrlExpiresAt :: Prelude.Maybe Data.ISO8601,
    -- | The protocol type of the API asset.
    ApiGatewayApiAsset -> Maybe ProtocolType
protocolType :: Prelude.Maybe ProtocolType,
    -- | The stage of the API asset.
    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)

-- |
-- Create a value of 'ApiGatewayApiAsset' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'apiDescription', 'apiGatewayApiAsset_apiDescription' - The API description of the API asset.
--
-- 'apiEndpoint', 'apiGatewayApiAsset_apiEndpoint' - The API endpoint of the API asset.
--
-- 'apiId', 'apiGatewayApiAsset_apiId' - The unique identifier of the API asset.
--
-- 'apiKey', 'apiGatewayApiAsset_apiKey' - The API key of the API asset.
--
-- 'apiName', 'apiGatewayApiAsset_apiName' - The API name of the API asset.
--
-- 'apiSpecificationDownloadUrl', 'apiGatewayApiAsset_apiSpecificationDownloadUrl' - The download URL of the API specification of the API asset.
--
-- 'apiSpecificationDownloadUrlExpiresAt', 'apiGatewayApiAsset_apiSpecificationDownloadUrlExpiresAt' - The date and time that the upload URL expires, in ISO 8601 format.
--
-- 'protocolType', 'apiGatewayApiAsset_protocolType' - The protocol type of the API asset.
--
-- 'stage', 'apiGatewayApiAsset_stage' - The stage of the API asset.
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
    }

-- | The API description of the API asset.
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)

-- | The API endpoint of the API asset.
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)

-- | The unique identifier of the API asset.
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)

-- | The API key of the API asset.
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)

-- | The API name of the API asset.
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)

-- | The download URL of the API specification of the API asset.
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)

-- | The date and time that the upload URL expires, in ISO 8601 format.
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

-- | The protocol type of the API asset.
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)

-- | The stage of the API asset.
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