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

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

-- |
-- Module      : Amazonka.Greengrass.GetResourceDefinitionVersion
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves information about a resource definition version, including
-- which resources are included in the version.
module Amazonka.Greengrass.GetResourceDefinitionVersion
  ( -- * Creating a Request
    GetResourceDefinitionVersion (..),
    newGetResourceDefinitionVersion,

    -- * Request Lenses
    getResourceDefinitionVersion_resourceDefinitionVersionId,
    getResourceDefinitionVersion_resourceDefinitionId,

    -- * Destructuring the Response
    GetResourceDefinitionVersionResponse (..),
    newGetResourceDefinitionVersionResponse,

    -- * Response Lenses
    getResourceDefinitionVersionResponse_arn,
    getResourceDefinitionVersionResponse_creationTimestamp,
    getResourceDefinitionVersionResponse_definition,
    getResourceDefinitionVersionResponse_id,
    getResourceDefinitionVersionResponse_version,
    getResourceDefinitionVersionResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Greengrass.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newGetResourceDefinitionVersion' smart constructor.
data GetResourceDefinitionVersion = GetResourceDefinitionVersion'
  { -- | The ID of the resource definition version. This value maps to the
    -- \'\'Version\'\' property of the corresponding \'\'VersionInformation\'\'
    -- object, which is returned by \'\'ListResourceDefinitionVersions\'\'
    -- requests. If the version is the last one that was associated with a
    -- resource definition, the value also maps to the \'\'LatestVersion\'\'
    -- property of the corresponding \'\'DefinitionInformation\'\' object.
    GetResourceDefinitionVersion -> Text
resourceDefinitionVersionId :: Prelude.Text,
    -- | The ID of the resource definition.
    GetResourceDefinitionVersion -> Text
resourceDefinitionId :: Prelude.Text
  }
  deriving (GetResourceDefinitionVersion
-> GetResourceDefinitionVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResourceDefinitionVersion
-> GetResourceDefinitionVersion -> Bool
$c/= :: GetResourceDefinitionVersion
-> GetResourceDefinitionVersion -> Bool
== :: GetResourceDefinitionVersion
-> GetResourceDefinitionVersion -> Bool
$c== :: GetResourceDefinitionVersion
-> GetResourceDefinitionVersion -> Bool
Prelude.Eq, ReadPrec [GetResourceDefinitionVersion]
ReadPrec GetResourceDefinitionVersion
Int -> ReadS GetResourceDefinitionVersion
ReadS [GetResourceDefinitionVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetResourceDefinitionVersion]
$creadListPrec :: ReadPrec [GetResourceDefinitionVersion]
readPrec :: ReadPrec GetResourceDefinitionVersion
$creadPrec :: ReadPrec GetResourceDefinitionVersion
readList :: ReadS [GetResourceDefinitionVersion]
$creadList :: ReadS [GetResourceDefinitionVersion]
readsPrec :: Int -> ReadS GetResourceDefinitionVersion
$creadsPrec :: Int -> ReadS GetResourceDefinitionVersion
Prelude.Read, Int -> GetResourceDefinitionVersion -> ShowS
[GetResourceDefinitionVersion] -> ShowS
GetResourceDefinitionVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResourceDefinitionVersion] -> ShowS
$cshowList :: [GetResourceDefinitionVersion] -> ShowS
show :: GetResourceDefinitionVersion -> String
$cshow :: GetResourceDefinitionVersion -> String
showsPrec :: Int -> GetResourceDefinitionVersion -> ShowS
$cshowsPrec :: Int -> GetResourceDefinitionVersion -> ShowS
Prelude.Show, forall x.
Rep GetResourceDefinitionVersion x -> GetResourceDefinitionVersion
forall x.
GetResourceDefinitionVersion -> Rep GetResourceDefinitionVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetResourceDefinitionVersion x -> GetResourceDefinitionVersion
$cfrom :: forall x.
GetResourceDefinitionVersion -> Rep GetResourceDefinitionVersion x
Prelude.Generic)

-- |
-- Create a value of 'GetResourceDefinitionVersion' 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:
--
-- 'resourceDefinitionVersionId', 'getResourceDefinitionVersion_resourceDefinitionVersionId' - The ID of the resource definition version. This value maps to the
-- \'\'Version\'\' property of the corresponding \'\'VersionInformation\'\'
-- object, which is returned by \'\'ListResourceDefinitionVersions\'\'
-- requests. If the version is the last one that was associated with a
-- resource definition, the value also maps to the \'\'LatestVersion\'\'
-- property of the corresponding \'\'DefinitionInformation\'\' object.
--
-- 'resourceDefinitionId', 'getResourceDefinitionVersion_resourceDefinitionId' - The ID of the resource definition.
newGetResourceDefinitionVersion ::
  -- | 'resourceDefinitionVersionId'
  Prelude.Text ->
  -- | 'resourceDefinitionId'
  Prelude.Text ->
  GetResourceDefinitionVersion
newGetResourceDefinitionVersion :: Text -> Text -> GetResourceDefinitionVersion
newGetResourceDefinitionVersion
  Text
pResourceDefinitionVersionId_
  Text
pResourceDefinitionId_ =
    GetResourceDefinitionVersion'
      { $sel:resourceDefinitionVersionId:GetResourceDefinitionVersion' :: Text
resourceDefinitionVersionId =
          Text
pResourceDefinitionVersionId_,
        $sel:resourceDefinitionId:GetResourceDefinitionVersion' :: Text
resourceDefinitionId = Text
pResourceDefinitionId_
      }

-- | The ID of the resource definition version. This value maps to the
-- \'\'Version\'\' property of the corresponding \'\'VersionInformation\'\'
-- object, which is returned by \'\'ListResourceDefinitionVersions\'\'
-- requests. If the version is the last one that was associated with a
-- resource definition, the value also maps to the \'\'LatestVersion\'\'
-- property of the corresponding \'\'DefinitionInformation\'\' object.
getResourceDefinitionVersion_resourceDefinitionVersionId :: Lens.Lens' GetResourceDefinitionVersion Prelude.Text
getResourceDefinitionVersion_resourceDefinitionVersionId :: Lens' GetResourceDefinitionVersion Text
getResourceDefinitionVersion_resourceDefinitionVersionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceDefinitionVersion' {Text
resourceDefinitionVersionId :: Text
$sel:resourceDefinitionVersionId:GetResourceDefinitionVersion' :: GetResourceDefinitionVersion -> Text
resourceDefinitionVersionId} -> Text
resourceDefinitionVersionId) (\s :: GetResourceDefinitionVersion
s@GetResourceDefinitionVersion' {} Text
a -> GetResourceDefinitionVersion
s {$sel:resourceDefinitionVersionId:GetResourceDefinitionVersion' :: Text
resourceDefinitionVersionId = Text
a} :: GetResourceDefinitionVersion)

-- | The ID of the resource definition.
getResourceDefinitionVersion_resourceDefinitionId :: Lens.Lens' GetResourceDefinitionVersion Prelude.Text
getResourceDefinitionVersion_resourceDefinitionId :: Lens' GetResourceDefinitionVersion Text
getResourceDefinitionVersion_resourceDefinitionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceDefinitionVersion' {Text
resourceDefinitionId :: Text
$sel:resourceDefinitionId:GetResourceDefinitionVersion' :: GetResourceDefinitionVersion -> Text
resourceDefinitionId} -> Text
resourceDefinitionId) (\s :: GetResourceDefinitionVersion
s@GetResourceDefinitionVersion' {} Text
a -> GetResourceDefinitionVersion
s {$sel:resourceDefinitionId:GetResourceDefinitionVersion' :: Text
resourceDefinitionId = Text
a} :: GetResourceDefinitionVersion)

instance Core.AWSRequest GetResourceDefinitionVersion where
  type
    AWSResponse GetResourceDefinitionVersion =
      GetResourceDefinitionVersionResponse
  request :: (Service -> Service)
-> GetResourceDefinitionVersion
-> Request GetResourceDefinitionVersion
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetResourceDefinitionVersion
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetResourceDefinitionVersion)))
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 Text
-> Maybe Text
-> Maybe ResourceDefinitionVersion
-> Maybe Text
-> Maybe Text
-> Int
-> GetResourceDefinitionVersionResponse
GetResourceDefinitionVersionResponse'
            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
"Arn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"CreationTimestamp")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Definition")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Id")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Version")
            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
    GetResourceDefinitionVersion
  where
  hashWithSalt :: Int -> GetResourceDefinitionVersion -> Int
hashWithSalt Int
_salt GetResourceDefinitionVersion' {Text
resourceDefinitionId :: Text
resourceDefinitionVersionId :: Text
$sel:resourceDefinitionId:GetResourceDefinitionVersion' :: GetResourceDefinitionVersion -> Text
$sel:resourceDefinitionVersionId:GetResourceDefinitionVersion' :: GetResourceDefinitionVersion -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceDefinitionVersionId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceDefinitionId

instance Prelude.NFData GetResourceDefinitionVersion where
  rnf :: GetResourceDefinitionVersion -> ()
rnf GetResourceDefinitionVersion' {Text
resourceDefinitionId :: Text
resourceDefinitionVersionId :: Text
$sel:resourceDefinitionId:GetResourceDefinitionVersion' :: GetResourceDefinitionVersion -> Text
$sel:resourceDefinitionVersionId:GetResourceDefinitionVersion' :: GetResourceDefinitionVersion -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
resourceDefinitionVersionId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceDefinitionId

instance Data.ToHeaders GetResourceDefinitionVersion where
  toHeaders :: GetResourceDefinitionVersion -> 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.ToPath GetResourceDefinitionVersion where
  toPath :: GetResourceDefinitionVersion -> ByteString
toPath GetResourceDefinitionVersion' {Text
resourceDefinitionId :: Text
resourceDefinitionVersionId :: Text
$sel:resourceDefinitionId:GetResourceDefinitionVersion' :: GetResourceDefinitionVersion -> Text
$sel:resourceDefinitionVersionId:GetResourceDefinitionVersion' :: GetResourceDefinitionVersion -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/greengrass/definition/resources/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
resourceDefinitionId,
        ByteString
"/versions/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
resourceDefinitionVersionId
      ]

instance Data.ToQuery GetResourceDefinitionVersion where
  toQuery :: GetResourceDefinitionVersion -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newGetResourceDefinitionVersionResponse' smart constructor.
data GetResourceDefinitionVersionResponse = GetResourceDefinitionVersionResponse'
  { -- | Arn of the resource definition version.
    GetResourceDefinitionVersionResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The time, in milliseconds since the epoch, when the resource definition
    -- version was created.
    GetResourceDefinitionVersionResponse -> Maybe Text
creationTimestamp :: Prelude.Maybe Prelude.Text,
    -- | Information about the definition.
    GetResourceDefinitionVersionResponse
-> Maybe ResourceDefinitionVersion
definition :: Prelude.Maybe ResourceDefinitionVersion,
    -- | The ID of the resource definition version.
    GetResourceDefinitionVersionResponse -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
    -- | The version of the resource definition version.
    GetResourceDefinitionVersionResponse -> Maybe Text
version :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetResourceDefinitionVersionResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetResourceDefinitionVersionResponse
-> GetResourceDefinitionVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResourceDefinitionVersionResponse
-> GetResourceDefinitionVersionResponse -> Bool
$c/= :: GetResourceDefinitionVersionResponse
-> GetResourceDefinitionVersionResponse -> Bool
== :: GetResourceDefinitionVersionResponse
-> GetResourceDefinitionVersionResponse -> Bool
$c== :: GetResourceDefinitionVersionResponse
-> GetResourceDefinitionVersionResponse -> Bool
Prelude.Eq, ReadPrec [GetResourceDefinitionVersionResponse]
ReadPrec GetResourceDefinitionVersionResponse
Int -> ReadS GetResourceDefinitionVersionResponse
ReadS [GetResourceDefinitionVersionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetResourceDefinitionVersionResponse]
$creadListPrec :: ReadPrec [GetResourceDefinitionVersionResponse]
readPrec :: ReadPrec GetResourceDefinitionVersionResponse
$creadPrec :: ReadPrec GetResourceDefinitionVersionResponse
readList :: ReadS [GetResourceDefinitionVersionResponse]
$creadList :: ReadS [GetResourceDefinitionVersionResponse]
readsPrec :: Int -> ReadS GetResourceDefinitionVersionResponse
$creadsPrec :: Int -> ReadS GetResourceDefinitionVersionResponse
Prelude.Read, Int -> GetResourceDefinitionVersionResponse -> ShowS
[GetResourceDefinitionVersionResponse] -> ShowS
GetResourceDefinitionVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResourceDefinitionVersionResponse] -> ShowS
$cshowList :: [GetResourceDefinitionVersionResponse] -> ShowS
show :: GetResourceDefinitionVersionResponse -> String
$cshow :: GetResourceDefinitionVersionResponse -> String
showsPrec :: Int -> GetResourceDefinitionVersionResponse -> ShowS
$cshowsPrec :: Int -> GetResourceDefinitionVersionResponse -> ShowS
Prelude.Show, forall x.
Rep GetResourceDefinitionVersionResponse x
-> GetResourceDefinitionVersionResponse
forall x.
GetResourceDefinitionVersionResponse
-> Rep GetResourceDefinitionVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetResourceDefinitionVersionResponse x
-> GetResourceDefinitionVersionResponse
$cfrom :: forall x.
GetResourceDefinitionVersionResponse
-> Rep GetResourceDefinitionVersionResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetResourceDefinitionVersionResponse' 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:
--
-- 'arn', 'getResourceDefinitionVersionResponse_arn' - Arn of the resource definition version.
--
-- 'creationTimestamp', 'getResourceDefinitionVersionResponse_creationTimestamp' - The time, in milliseconds since the epoch, when the resource definition
-- version was created.
--
-- 'definition', 'getResourceDefinitionVersionResponse_definition' - Information about the definition.
--
-- 'id', 'getResourceDefinitionVersionResponse_id' - The ID of the resource definition version.
--
-- 'version', 'getResourceDefinitionVersionResponse_version' - The version of the resource definition version.
--
-- 'httpStatus', 'getResourceDefinitionVersionResponse_httpStatus' - The response's http status code.
newGetResourceDefinitionVersionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetResourceDefinitionVersionResponse
newGetResourceDefinitionVersionResponse :: Int -> GetResourceDefinitionVersionResponse
newGetResourceDefinitionVersionResponse Int
pHttpStatus_ =
  GetResourceDefinitionVersionResponse'
    { $sel:arn:GetResourceDefinitionVersionResponse' :: Maybe Text
arn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:creationTimestamp:GetResourceDefinitionVersionResponse' :: Maybe Text
creationTimestamp = forall a. Maybe a
Prelude.Nothing,
      $sel:definition:GetResourceDefinitionVersionResponse' :: Maybe ResourceDefinitionVersion
definition = forall a. Maybe a
Prelude.Nothing,
      $sel:id:GetResourceDefinitionVersionResponse' :: Maybe Text
id = forall a. Maybe a
Prelude.Nothing,
      $sel:version:GetResourceDefinitionVersionResponse' :: Maybe Text
version = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetResourceDefinitionVersionResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Arn of the resource definition version.
getResourceDefinitionVersionResponse_arn :: Lens.Lens' GetResourceDefinitionVersionResponse (Prelude.Maybe Prelude.Text)
getResourceDefinitionVersionResponse_arn :: Lens' GetResourceDefinitionVersionResponse (Maybe Text)
getResourceDefinitionVersionResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceDefinitionVersionResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: GetResourceDefinitionVersionResponse
s@GetResourceDefinitionVersionResponse' {} Maybe Text
a -> GetResourceDefinitionVersionResponse
s {$sel:arn:GetResourceDefinitionVersionResponse' :: Maybe Text
arn = Maybe Text
a} :: GetResourceDefinitionVersionResponse)

-- | The time, in milliseconds since the epoch, when the resource definition
-- version was created.
getResourceDefinitionVersionResponse_creationTimestamp :: Lens.Lens' GetResourceDefinitionVersionResponse (Prelude.Maybe Prelude.Text)
getResourceDefinitionVersionResponse_creationTimestamp :: Lens' GetResourceDefinitionVersionResponse (Maybe Text)
getResourceDefinitionVersionResponse_creationTimestamp = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceDefinitionVersionResponse' {Maybe Text
creationTimestamp :: Maybe Text
$sel:creationTimestamp:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Maybe Text
creationTimestamp} -> Maybe Text
creationTimestamp) (\s :: GetResourceDefinitionVersionResponse
s@GetResourceDefinitionVersionResponse' {} Maybe Text
a -> GetResourceDefinitionVersionResponse
s {$sel:creationTimestamp:GetResourceDefinitionVersionResponse' :: Maybe Text
creationTimestamp = Maybe Text
a} :: GetResourceDefinitionVersionResponse)

-- | Information about the definition.
getResourceDefinitionVersionResponse_definition :: Lens.Lens' GetResourceDefinitionVersionResponse (Prelude.Maybe ResourceDefinitionVersion)
getResourceDefinitionVersionResponse_definition :: Lens'
  GetResourceDefinitionVersionResponse
  (Maybe ResourceDefinitionVersion)
getResourceDefinitionVersionResponse_definition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceDefinitionVersionResponse' {Maybe ResourceDefinitionVersion
definition :: Maybe ResourceDefinitionVersion
$sel:definition:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse
-> Maybe ResourceDefinitionVersion
definition} -> Maybe ResourceDefinitionVersion
definition) (\s :: GetResourceDefinitionVersionResponse
s@GetResourceDefinitionVersionResponse' {} Maybe ResourceDefinitionVersion
a -> GetResourceDefinitionVersionResponse
s {$sel:definition:GetResourceDefinitionVersionResponse' :: Maybe ResourceDefinitionVersion
definition = Maybe ResourceDefinitionVersion
a} :: GetResourceDefinitionVersionResponse)

-- | The ID of the resource definition version.
getResourceDefinitionVersionResponse_id :: Lens.Lens' GetResourceDefinitionVersionResponse (Prelude.Maybe Prelude.Text)
getResourceDefinitionVersionResponse_id :: Lens' GetResourceDefinitionVersionResponse (Maybe Text)
getResourceDefinitionVersionResponse_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceDefinitionVersionResponse' {Maybe Text
id :: Maybe Text
$sel:id:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Maybe Text
id} -> Maybe Text
id) (\s :: GetResourceDefinitionVersionResponse
s@GetResourceDefinitionVersionResponse' {} Maybe Text
a -> GetResourceDefinitionVersionResponse
s {$sel:id:GetResourceDefinitionVersionResponse' :: Maybe Text
id = Maybe Text
a} :: GetResourceDefinitionVersionResponse)

-- | The version of the resource definition version.
getResourceDefinitionVersionResponse_version :: Lens.Lens' GetResourceDefinitionVersionResponse (Prelude.Maybe Prelude.Text)
getResourceDefinitionVersionResponse_version :: Lens' GetResourceDefinitionVersionResponse (Maybe Text)
getResourceDefinitionVersionResponse_version = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceDefinitionVersionResponse' {Maybe Text
version :: Maybe Text
$sel:version:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Maybe Text
version} -> Maybe Text
version) (\s :: GetResourceDefinitionVersionResponse
s@GetResourceDefinitionVersionResponse' {} Maybe Text
a -> GetResourceDefinitionVersionResponse
s {$sel:version:GetResourceDefinitionVersionResponse' :: Maybe Text
version = Maybe Text
a} :: GetResourceDefinitionVersionResponse)

-- | The response's http status code.
getResourceDefinitionVersionResponse_httpStatus :: Lens.Lens' GetResourceDefinitionVersionResponse Prelude.Int
getResourceDefinitionVersionResponse_httpStatus :: Lens' GetResourceDefinitionVersionResponse Int
getResourceDefinitionVersionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceDefinitionVersionResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetResourceDefinitionVersionResponse
s@GetResourceDefinitionVersionResponse' {} Int
a -> GetResourceDefinitionVersionResponse
s {$sel:httpStatus:GetResourceDefinitionVersionResponse' :: Int
httpStatus = Int
a} :: GetResourceDefinitionVersionResponse)

instance
  Prelude.NFData
    GetResourceDefinitionVersionResponse
  where
  rnf :: GetResourceDefinitionVersionResponse -> ()
rnf GetResourceDefinitionVersionResponse' {Int
Maybe Text
Maybe ResourceDefinitionVersion
httpStatus :: Int
version :: Maybe Text
id :: Maybe Text
definition :: Maybe ResourceDefinitionVersion
creationTimestamp :: Maybe Text
arn :: Maybe Text
$sel:httpStatus:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Int
$sel:version:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Maybe Text
$sel:id:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Maybe Text
$sel:definition:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse
-> Maybe ResourceDefinitionVersion
$sel:creationTimestamp:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Maybe Text
$sel:arn:GetResourceDefinitionVersionResponse' :: GetResourceDefinitionVersionResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
creationTimestamp
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceDefinitionVersion
definition
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
id
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
version
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus