{-# 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.Panorama.DescribeApplicationInstanceDetails
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns information about an application instance\'s configuration
-- manifest.
module Amazonka.Panorama.DescribeApplicationInstanceDetails
  ( -- * Creating a Request
    DescribeApplicationInstanceDetails (..),
    newDescribeApplicationInstanceDetails,

    -- * Request Lenses
    describeApplicationInstanceDetails_applicationInstanceId,

    -- * Destructuring the Response
    DescribeApplicationInstanceDetailsResponse (..),
    newDescribeApplicationInstanceDetailsResponse,

    -- * Response Lenses
    describeApplicationInstanceDetailsResponse_applicationInstanceId,
    describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace,
    describeApplicationInstanceDetailsResponse_createdTime,
    describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice,
    describeApplicationInstanceDetailsResponse_description,
    describeApplicationInstanceDetailsResponse_manifestOverridesPayload,
    describeApplicationInstanceDetailsResponse_manifestPayload,
    describeApplicationInstanceDetailsResponse_name,
    describeApplicationInstanceDetailsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeApplicationInstanceDetails' smart constructor.
data DescribeApplicationInstanceDetails = DescribeApplicationInstanceDetails'
  { -- | The application instance\'s ID.
    DescribeApplicationInstanceDetails -> Text
applicationInstanceId :: Prelude.Text
  }
  deriving (DescribeApplicationInstanceDetails
-> DescribeApplicationInstanceDetails -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeApplicationInstanceDetails
-> DescribeApplicationInstanceDetails -> Bool
$c/= :: DescribeApplicationInstanceDetails
-> DescribeApplicationInstanceDetails -> Bool
== :: DescribeApplicationInstanceDetails
-> DescribeApplicationInstanceDetails -> Bool
$c== :: DescribeApplicationInstanceDetails
-> DescribeApplicationInstanceDetails -> Bool
Prelude.Eq, ReadPrec [DescribeApplicationInstanceDetails]
ReadPrec DescribeApplicationInstanceDetails
Int -> ReadS DescribeApplicationInstanceDetails
ReadS [DescribeApplicationInstanceDetails]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeApplicationInstanceDetails]
$creadListPrec :: ReadPrec [DescribeApplicationInstanceDetails]
readPrec :: ReadPrec DescribeApplicationInstanceDetails
$creadPrec :: ReadPrec DescribeApplicationInstanceDetails
readList :: ReadS [DescribeApplicationInstanceDetails]
$creadList :: ReadS [DescribeApplicationInstanceDetails]
readsPrec :: Int -> ReadS DescribeApplicationInstanceDetails
$creadsPrec :: Int -> ReadS DescribeApplicationInstanceDetails
Prelude.Read, Int -> DescribeApplicationInstanceDetails -> ShowS
[DescribeApplicationInstanceDetails] -> ShowS
DescribeApplicationInstanceDetails -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeApplicationInstanceDetails] -> ShowS
$cshowList :: [DescribeApplicationInstanceDetails] -> ShowS
show :: DescribeApplicationInstanceDetails -> String
$cshow :: DescribeApplicationInstanceDetails -> String
showsPrec :: Int -> DescribeApplicationInstanceDetails -> ShowS
$cshowsPrec :: Int -> DescribeApplicationInstanceDetails -> ShowS
Prelude.Show, forall x.
Rep DescribeApplicationInstanceDetails x
-> DescribeApplicationInstanceDetails
forall x.
DescribeApplicationInstanceDetails
-> Rep DescribeApplicationInstanceDetails x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeApplicationInstanceDetails x
-> DescribeApplicationInstanceDetails
$cfrom :: forall x.
DescribeApplicationInstanceDetails
-> Rep DescribeApplicationInstanceDetails x
Prelude.Generic)

-- |
-- Create a value of 'DescribeApplicationInstanceDetails' 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:
--
-- 'applicationInstanceId', 'describeApplicationInstanceDetails_applicationInstanceId' - The application instance\'s ID.
newDescribeApplicationInstanceDetails ::
  -- | 'applicationInstanceId'
  Prelude.Text ->
  DescribeApplicationInstanceDetails
newDescribeApplicationInstanceDetails :: Text -> DescribeApplicationInstanceDetails
newDescribeApplicationInstanceDetails
  Text
pApplicationInstanceId_ =
    DescribeApplicationInstanceDetails'
      { $sel:applicationInstanceId:DescribeApplicationInstanceDetails' :: Text
applicationInstanceId =
          Text
pApplicationInstanceId_
      }

-- | The application instance\'s ID.
describeApplicationInstanceDetails_applicationInstanceId :: Lens.Lens' DescribeApplicationInstanceDetails Prelude.Text
describeApplicationInstanceDetails_applicationInstanceId :: Lens' DescribeApplicationInstanceDetails Text
describeApplicationInstanceDetails_applicationInstanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationInstanceDetails' {Text
applicationInstanceId :: Text
$sel:applicationInstanceId:DescribeApplicationInstanceDetails' :: DescribeApplicationInstanceDetails -> Text
applicationInstanceId} -> Text
applicationInstanceId) (\s :: DescribeApplicationInstanceDetails
s@DescribeApplicationInstanceDetails' {} Text
a -> DescribeApplicationInstanceDetails
s {$sel:applicationInstanceId:DescribeApplicationInstanceDetails' :: Text
applicationInstanceId = Text
a} :: DescribeApplicationInstanceDetails)

instance
  Core.AWSRequest
    DescribeApplicationInstanceDetails
  where
  type
    AWSResponse DescribeApplicationInstanceDetails =
      DescribeApplicationInstanceDetailsResponse
  request :: (Service -> Service)
-> DescribeApplicationInstanceDetails
-> Request DescribeApplicationInstanceDetails
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 DescribeApplicationInstanceDetails
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DescribeApplicationInstanceDetails)))
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 POSIX
-> Maybe Text
-> Maybe Text
-> Maybe ManifestOverridesPayload
-> Maybe ManifestPayload
-> Maybe Text
-> Int
-> DescribeApplicationInstanceDetailsResponse
DescribeApplicationInstanceDetailsResponse'
            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
"ApplicationInstanceId")
            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
"ApplicationInstanceIdToReplace")
            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
"CreatedTime")
            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
"DefaultRuntimeContextDevice")
            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
"Description")
            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
"ManifestOverridesPayload")
            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
"ManifestPayload")
            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
"Name")
            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
    DescribeApplicationInstanceDetails
  where
  hashWithSalt :: Int -> DescribeApplicationInstanceDetails -> Int
hashWithSalt
    Int
_salt
    DescribeApplicationInstanceDetails' {Text
applicationInstanceId :: Text
$sel:applicationInstanceId:DescribeApplicationInstanceDetails' :: DescribeApplicationInstanceDetails -> Text
..} =
      Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationInstanceId

instance
  Prelude.NFData
    DescribeApplicationInstanceDetails
  where
  rnf :: DescribeApplicationInstanceDetails -> ()
rnf DescribeApplicationInstanceDetails' {Text
applicationInstanceId :: Text
$sel:applicationInstanceId:DescribeApplicationInstanceDetails' :: DescribeApplicationInstanceDetails -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
applicationInstanceId

instance
  Data.ToHeaders
    DescribeApplicationInstanceDetails
  where
  toHeaders :: DescribeApplicationInstanceDetails -> 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
    DescribeApplicationInstanceDetails
  where
  toPath :: DescribeApplicationInstanceDetails -> ByteString
toPath DescribeApplicationInstanceDetails' {Text
applicationInstanceId :: Text
$sel:applicationInstanceId:DescribeApplicationInstanceDetails' :: DescribeApplicationInstanceDetails -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/application-instances/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
applicationInstanceId,
        ByteString
"/details"
      ]

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

-- | /See:/ 'newDescribeApplicationInstanceDetailsResponse' smart constructor.
data DescribeApplicationInstanceDetailsResponse = DescribeApplicationInstanceDetailsResponse'
  { -- | The application instance\'s ID.
    DescribeApplicationInstanceDetailsResponse -> Maybe Text
applicationInstanceId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the application instance that this instance replaced.
    DescribeApplicationInstanceDetailsResponse -> Maybe Text
applicationInstanceIdToReplace :: Prelude.Maybe Prelude.Text,
    -- | When the application instance was created.
    DescribeApplicationInstanceDetailsResponse -> Maybe POSIX
createdTime :: Prelude.Maybe Data.POSIX,
    -- | The application instance\'s default runtime context device.
    DescribeApplicationInstanceDetailsResponse -> Maybe Text
defaultRuntimeContextDevice :: Prelude.Maybe Prelude.Text,
    -- | The application instance\'s description.
    DescribeApplicationInstanceDetailsResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | Parameter overrides for the configuration manifest.
    DescribeApplicationInstanceDetailsResponse
-> Maybe ManifestOverridesPayload
manifestOverridesPayload :: Prelude.Maybe ManifestOverridesPayload,
    -- | The application instance\'s configuration manifest.
    DescribeApplicationInstanceDetailsResponse -> Maybe ManifestPayload
manifestPayload :: Prelude.Maybe ManifestPayload,
    -- | The application instance\'s name.
    DescribeApplicationInstanceDetailsResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeApplicationInstanceDetailsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeApplicationInstanceDetailsResponse
-> DescribeApplicationInstanceDetailsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeApplicationInstanceDetailsResponse
-> DescribeApplicationInstanceDetailsResponse -> Bool
$c/= :: DescribeApplicationInstanceDetailsResponse
-> DescribeApplicationInstanceDetailsResponse -> Bool
== :: DescribeApplicationInstanceDetailsResponse
-> DescribeApplicationInstanceDetailsResponse -> Bool
$c== :: DescribeApplicationInstanceDetailsResponse
-> DescribeApplicationInstanceDetailsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeApplicationInstanceDetailsResponse]
ReadPrec DescribeApplicationInstanceDetailsResponse
Int -> ReadS DescribeApplicationInstanceDetailsResponse
ReadS [DescribeApplicationInstanceDetailsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeApplicationInstanceDetailsResponse]
$creadListPrec :: ReadPrec [DescribeApplicationInstanceDetailsResponse]
readPrec :: ReadPrec DescribeApplicationInstanceDetailsResponse
$creadPrec :: ReadPrec DescribeApplicationInstanceDetailsResponse
readList :: ReadS [DescribeApplicationInstanceDetailsResponse]
$creadList :: ReadS [DescribeApplicationInstanceDetailsResponse]
readsPrec :: Int -> ReadS DescribeApplicationInstanceDetailsResponse
$creadsPrec :: Int -> ReadS DescribeApplicationInstanceDetailsResponse
Prelude.Read, Int -> DescribeApplicationInstanceDetailsResponse -> ShowS
[DescribeApplicationInstanceDetailsResponse] -> ShowS
DescribeApplicationInstanceDetailsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeApplicationInstanceDetailsResponse] -> ShowS
$cshowList :: [DescribeApplicationInstanceDetailsResponse] -> ShowS
show :: DescribeApplicationInstanceDetailsResponse -> String
$cshow :: DescribeApplicationInstanceDetailsResponse -> String
showsPrec :: Int -> DescribeApplicationInstanceDetailsResponse -> ShowS
$cshowsPrec :: Int -> DescribeApplicationInstanceDetailsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeApplicationInstanceDetailsResponse x
-> DescribeApplicationInstanceDetailsResponse
forall x.
DescribeApplicationInstanceDetailsResponse
-> Rep DescribeApplicationInstanceDetailsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeApplicationInstanceDetailsResponse x
-> DescribeApplicationInstanceDetailsResponse
$cfrom :: forall x.
DescribeApplicationInstanceDetailsResponse
-> Rep DescribeApplicationInstanceDetailsResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeApplicationInstanceDetailsResponse' 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:
--
-- 'applicationInstanceId', 'describeApplicationInstanceDetailsResponse_applicationInstanceId' - The application instance\'s ID.
--
-- 'applicationInstanceIdToReplace', 'describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace' - The ID of the application instance that this instance replaced.
--
-- 'createdTime', 'describeApplicationInstanceDetailsResponse_createdTime' - When the application instance was created.
--
-- 'defaultRuntimeContextDevice', 'describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice' - The application instance\'s default runtime context device.
--
-- 'description', 'describeApplicationInstanceDetailsResponse_description' - The application instance\'s description.
--
-- 'manifestOverridesPayload', 'describeApplicationInstanceDetailsResponse_manifestOverridesPayload' - Parameter overrides for the configuration manifest.
--
-- 'manifestPayload', 'describeApplicationInstanceDetailsResponse_manifestPayload' - The application instance\'s configuration manifest.
--
-- 'name', 'describeApplicationInstanceDetailsResponse_name' - The application instance\'s name.
--
-- 'httpStatus', 'describeApplicationInstanceDetailsResponse_httpStatus' - The response's http status code.
newDescribeApplicationInstanceDetailsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeApplicationInstanceDetailsResponse
newDescribeApplicationInstanceDetailsResponse :: Int -> DescribeApplicationInstanceDetailsResponse
newDescribeApplicationInstanceDetailsResponse
  Int
pHttpStatus_ =
    DescribeApplicationInstanceDetailsResponse'
      { $sel:applicationInstanceId:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
applicationInstanceId =
          forall a. Maybe a
Prelude.Nothing,
        $sel:applicationInstanceIdToReplace:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
applicationInstanceIdToReplace =
          forall a. Maybe a
Prelude.Nothing,
        $sel:createdTime:DescribeApplicationInstanceDetailsResponse' :: Maybe POSIX
createdTime = forall a. Maybe a
Prelude.Nothing,
        $sel:defaultRuntimeContextDevice:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
defaultRuntimeContextDevice =
          forall a. Maybe a
Prelude.Nothing,
        $sel:description:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
        $sel:manifestOverridesPayload:DescribeApplicationInstanceDetailsResponse' :: Maybe ManifestOverridesPayload
manifestOverridesPayload =
          forall a. Maybe a
Prelude.Nothing,
        $sel:manifestPayload:DescribeApplicationInstanceDetailsResponse' :: Maybe ManifestPayload
manifestPayload =
          forall a. Maybe a
Prelude.Nothing,
        $sel:name:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeApplicationInstanceDetailsResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The application instance\'s ID.
describeApplicationInstanceDetailsResponse_applicationInstanceId :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)
describeApplicationInstanceDetailsResponse_applicationInstanceId :: Lens' DescribeApplicationInstanceDetailsResponse (Maybe Text)
describeApplicationInstanceDetailsResponse_applicationInstanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationInstanceDetailsResponse' {Maybe Text
applicationInstanceId :: Maybe Text
$sel:applicationInstanceId:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
applicationInstanceId} -> Maybe Text
applicationInstanceId) (\s :: DescribeApplicationInstanceDetailsResponse
s@DescribeApplicationInstanceDetailsResponse' {} Maybe Text
a -> DescribeApplicationInstanceDetailsResponse
s {$sel:applicationInstanceId:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
applicationInstanceId = Maybe Text
a} :: DescribeApplicationInstanceDetailsResponse)

-- | The ID of the application instance that this instance replaced.
describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)
describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace :: Lens' DescribeApplicationInstanceDetailsResponse (Maybe Text)
describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationInstanceDetailsResponse' {Maybe Text
applicationInstanceIdToReplace :: Maybe Text
$sel:applicationInstanceIdToReplace:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
applicationInstanceIdToReplace} -> Maybe Text
applicationInstanceIdToReplace) (\s :: DescribeApplicationInstanceDetailsResponse
s@DescribeApplicationInstanceDetailsResponse' {} Maybe Text
a -> DescribeApplicationInstanceDetailsResponse
s {$sel:applicationInstanceIdToReplace:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
applicationInstanceIdToReplace = Maybe Text
a} :: DescribeApplicationInstanceDetailsResponse)

-- | When the application instance was created.
describeApplicationInstanceDetailsResponse_createdTime :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.UTCTime)
describeApplicationInstanceDetailsResponse_createdTime :: Lens' DescribeApplicationInstanceDetailsResponse (Maybe UTCTime)
describeApplicationInstanceDetailsResponse_createdTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationInstanceDetailsResponse' {Maybe POSIX
createdTime :: Maybe POSIX
$sel:createdTime:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe POSIX
createdTime} -> Maybe POSIX
createdTime) (\s :: DescribeApplicationInstanceDetailsResponse
s@DescribeApplicationInstanceDetailsResponse' {} Maybe POSIX
a -> DescribeApplicationInstanceDetailsResponse
s {$sel:createdTime:DescribeApplicationInstanceDetailsResponse' :: Maybe POSIX
createdTime = Maybe POSIX
a} :: DescribeApplicationInstanceDetailsResponse) 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 application instance\'s default runtime context device.
describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)
describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice :: Lens' DescribeApplicationInstanceDetailsResponse (Maybe Text)
describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationInstanceDetailsResponse' {Maybe Text
defaultRuntimeContextDevice :: Maybe Text
$sel:defaultRuntimeContextDevice:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
defaultRuntimeContextDevice} -> Maybe Text
defaultRuntimeContextDevice) (\s :: DescribeApplicationInstanceDetailsResponse
s@DescribeApplicationInstanceDetailsResponse' {} Maybe Text
a -> DescribeApplicationInstanceDetailsResponse
s {$sel:defaultRuntimeContextDevice:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
defaultRuntimeContextDevice = Maybe Text
a} :: DescribeApplicationInstanceDetailsResponse)

-- | The application instance\'s description.
describeApplicationInstanceDetailsResponse_description :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)
describeApplicationInstanceDetailsResponse_description :: Lens' DescribeApplicationInstanceDetailsResponse (Maybe Text)
describeApplicationInstanceDetailsResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationInstanceDetailsResponse' {Maybe Text
description :: Maybe Text
$sel:description:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: DescribeApplicationInstanceDetailsResponse
s@DescribeApplicationInstanceDetailsResponse' {} Maybe Text
a -> DescribeApplicationInstanceDetailsResponse
s {$sel:description:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
description = Maybe Text
a} :: DescribeApplicationInstanceDetailsResponse)

-- | Parameter overrides for the configuration manifest.
describeApplicationInstanceDetailsResponse_manifestOverridesPayload :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe ManifestOverridesPayload)
describeApplicationInstanceDetailsResponse_manifestOverridesPayload :: Lens'
  DescribeApplicationInstanceDetailsResponse
  (Maybe ManifestOverridesPayload)
describeApplicationInstanceDetailsResponse_manifestOverridesPayload = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationInstanceDetailsResponse' {Maybe ManifestOverridesPayload
manifestOverridesPayload :: Maybe ManifestOverridesPayload
$sel:manifestOverridesPayload:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse
-> Maybe ManifestOverridesPayload
manifestOverridesPayload} -> Maybe ManifestOverridesPayload
manifestOverridesPayload) (\s :: DescribeApplicationInstanceDetailsResponse
s@DescribeApplicationInstanceDetailsResponse' {} Maybe ManifestOverridesPayload
a -> DescribeApplicationInstanceDetailsResponse
s {$sel:manifestOverridesPayload:DescribeApplicationInstanceDetailsResponse' :: Maybe ManifestOverridesPayload
manifestOverridesPayload = Maybe ManifestOverridesPayload
a} :: DescribeApplicationInstanceDetailsResponse)

-- | The application instance\'s configuration manifest.
describeApplicationInstanceDetailsResponse_manifestPayload :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe ManifestPayload)
describeApplicationInstanceDetailsResponse_manifestPayload :: Lens'
  DescribeApplicationInstanceDetailsResponse (Maybe ManifestPayload)
describeApplicationInstanceDetailsResponse_manifestPayload = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationInstanceDetailsResponse' {Maybe ManifestPayload
manifestPayload :: Maybe ManifestPayload
$sel:manifestPayload:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe ManifestPayload
manifestPayload} -> Maybe ManifestPayload
manifestPayload) (\s :: DescribeApplicationInstanceDetailsResponse
s@DescribeApplicationInstanceDetailsResponse' {} Maybe ManifestPayload
a -> DescribeApplicationInstanceDetailsResponse
s {$sel:manifestPayload:DescribeApplicationInstanceDetailsResponse' :: Maybe ManifestPayload
manifestPayload = Maybe ManifestPayload
a} :: DescribeApplicationInstanceDetailsResponse)

-- | The application instance\'s name.
describeApplicationInstanceDetailsResponse_name :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)
describeApplicationInstanceDetailsResponse_name :: Lens' DescribeApplicationInstanceDetailsResponse (Maybe Text)
describeApplicationInstanceDetailsResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationInstanceDetailsResponse' {Maybe Text
name :: Maybe Text
$sel:name:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: DescribeApplicationInstanceDetailsResponse
s@DescribeApplicationInstanceDetailsResponse' {} Maybe Text
a -> DescribeApplicationInstanceDetailsResponse
s {$sel:name:DescribeApplicationInstanceDetailsResponse' :: Maybe Text
name = Maybe Text
a} :: DescribeApplicationInstanceDetailsResponse)

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

instance
  Prelude.NFData
    DescribeApplicationInstanceDetailsResponse
  where
  rnf :: DescribeApplicationInstanceDetailsResponse -> ()
rnf DescribeApplicationInstanceDetailsResponse' {Int
Maybe Text
Maybe POSIX
Maybe ManifestOverridesPayload
Maybe ManifestPayload
httpStatus :: Int
name :: Maybe Text
manifestPayload :: Maybe ManifestPayload
manifestOverridesPayload :: Maybe ManifestOverridesPayload
description :: Maybe Text
defaultRuntimeContextDevice :: Maybe Text
createdTime :: Maybe POSIX
applicationInstanceIdToReplace :: Maybe Text
applicationInstanceId :: Maybe Text
$sel:httpStatus:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Int
$sel:name:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
$sel:manifestPayload:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe ManifestPayload
$sel:manifestOverridesPayload:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse
-> Maybe ManifestOverridesPayload
$sel:description:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
$sel:defaultRuntimeContextDevice:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
$sel:createdTime:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe POSIX
$sel:applicationInstanceIdToReplace:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
$sel:applicationInstanceId:DescribeApplicationInstanceDetailsResponse' :: DescribeApplicationInstanceDetailsResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
applicationInstanceId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
applicationInstanceIdToReplace
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
defaultRuntimeContextDevice
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ManifestOverridesPayload
manifestOverridesPayload
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ManifestPayload
manifestPayload
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus