{-# 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.ResilienceHub.DescribeDraftAppVersionResourcesImportStatus
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes the status of importing resources to an application version.
module Amazonka.ResilienceHub.DescribeDraftAppVersionResourcesImportStatus
  ( -- * Creating a Request
    DescribeDraftAppVersionResourcesImportStatus (..),
    newDescribeDraftAppVersionResourcesImportStatus,

    -- * Request Lenses
    describeDraftAppVersionResourcesImportStatus_appArn,

    -- * Destructuring the Response
    DescribeDraftAppVersionResourcesImportStatusResponse (..),
    newDescribeDraftAppVersionResourcesImportStatusResponse,

    -- * Response Lenses
    describeDraftAppVersionResourcesImportStatusResponse_errorMessage,
    describeDraftAppVersionResourcesImportStatusResponse_httpStatus,
    describeDraftAppVersionResourcesImportStatusResponse_appArn,
    describeDraftAppVersionResourcesImportStatusResponse_appVersion,
    describeDraftAppVersionResourcesImportStatusResponse_status,
    describeDraftAppVersionResourcesImportStatusResponse_statusChangeTime,
  )
where

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

-- | /See:/ 'newDescribeDraftAppVersionResourcesImportStatus' smart constructor.
data DescribeDraftAppVersionResourcesImportStatus = DescribeDraftAppVersionResourcesImportStatus'
  { -- | The Amazon Resource Name (ARN) of the application. The format for this
    -- ARN is: arn:@partition@:resiliencehub:@region@:@account@:app\/@app-id@.
    -- For more information about ARNs, see
    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
    -- in the /AWS General Reference/.
    DescribeDraftAppVersionResourcesImportStatus -> Text
appArn :: Prelude.Text
  }
  deriving (DescribeDraftAppVersionResourcesImportStatus
-> DescribeDraftAppVersionResourcesImportStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDraftAppVersionResourcesImportStatus
-> DescribeDraftAppVersionResourcesImportStatus -> Bool
$c/= :: DescribeDraftAppVersionResourcesImportStatus
-> DescribeDraftAppVersionResourcesImportStatus -> Bool
== :: DescribeDraftAppVersionResourcesImportStatus
-> DescribeDraftAppVersionResourcesImportStatus -> Bool
$c== :: DescribeDraftAppVersionResourcesImportStatus
-> DescribeDraftAppVersionResourcesImportStatus -> Bool
Prelude.Eq, ReadPrec [DescribeDraftAppVersionResourcesImportStatus]
ReadPrec DescribeDraftAppVersionResourcesImportStatus
Int -> ReadS DescribeDraftAppVersionResourcesImportStatus
ReadS [DescribeDraftAppVersionResourcesImportStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDraftAppVersionResourcesImportStatus]
$creadListPrec :: ReadPrec [DescribeDraftAppVersionResourcesImportStatus]
readPrec :: ReadPrec DescribeDraftAppVersionResourcesImportStatus
$creadPrec :: ReadPrec DescribeDraftAppVersionResourcesImportStatus
readList :: ReadS [DescribeDraftAppVersionResourcesImportStatus]
$creadList :: ReadS [DescribeDraftAppVersionResourcesImportStatus]
readsPrec :: Int -> ReadS DescribeDraftAppVersionResourcesImportStatus
$creadsPrec :: Int -> ReadS DescribeDraftAppVersionResourcesImportStatus
Prelude.Read, Int -> DescribeDraftAppVersionResourcesImportStatus -> ShowS
[DescribeDraftAppVersionResourcesImportStatus] -> ShowS
DescribeDraftAppVersionResourcesImportStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDraftAppVersionResourcesImportStatus] -> ShowS
$cshowList :: [DescribeDraftAppVersionResourcesImportStatus] -> ShowS
show :: DescribeDraftAppVersionResourcesImportStatus -> String
$cshow :: DescribeDraftAppVersionResourcesImportStatus -> String
showsPrec :: Int -> DescribeDraftAppVersionResourcesImportStatus -> ShowS
$cshowsPrec :: Int -> DescribeDraftAppVersionResourcesImportStatus -> ShowS
Prelude.Show, forall x.
Rep DescribeDraftAppVersionResourcesImportStatus x
-> DescribeDraftAppVersionResourcesImportStatus
forall x.
DescribeDraftAppVersionResourcesImportStatus
-> Rep DescribeDraftAppVersionResourcesImportStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDraftAppVersionResourcesImportStatus x
-> DescribeDraftAppVersionResourcesImportStatus
$cfrom :: forall x.
DescribeDraftAppVersionResourcesImportStatus
-> Rep DescribeDraftAppVersionResourcesImportStatus x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDraftAppVersionResourcesImportStatus' 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:
--
-- 'appArn', 'describeDraftAppVersionResourcesImportStatus_appArn' - The Amazon Resource Name (ARN) of the application. The format for this
-- ARN is: arn:@partition@:resiliencehub:@region@:@account@:app\/@app-id@.
-- For more information about ARNs, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
-- in the /AWS General Reference/.
newDescribeDraftAppVersionResourcesImportStatus ::
  -- | 'appArn'
  Prelude.Text ->
  DescribeDraftAppVersionResourcesImportStatus
newDescribeDraftAppVersionResourcesImportStatus :: Text -> DescribeDraftAppVersionResourcesImportStatus
newDescribeDraftAppVersionResourcesImportStatus
  Text
pAppArn_ =
    DescribeDraftAppVersionResourcesImportStatus'
      { $sel:appArn:DescribeDraftAppVersionResourcesImportStatus' :: Text
appArn =
          Text
pAppArn_
      }

-- | The Amazon Resource Name (ARN) of the application. The format for this
-- ARN is: arn:@partition@:resiliencehub:@region@:@account@:app\/@app-id@.
-- For more information about ARNs, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
-- in the /AWS General Reference/.
describeDraftAppVersionResourcesImportStatus_appArn :: Lens.Lens' DescribeDraftAppVersionResourcesImportStatus Prelude.Text
describeDraftAppVersionResourcesImportStatus_appArn :: Lens' DescribeDraftAppVersionResourcesImportStatus Text
describeDraftAppVersionResourcesImportStatus_appArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDraftAppVersionResourcesImportStatus' {Text
appArn :: Text
$sel:appArn:DescribeDraftAppVersionResourcesImportStatus' :: DescribeDraftAppVersionResourcesImportStatus -> Text
appArn} -> Text
appArn) (\s :: DescribeDraftAppVersionResourcesImportStatus
s@DescribeDraftAppVersionResourcesImportStatus' {} Text
a -> DescribeDraftAppVersionResourcesImportStatus
s {$sel:appArn:DescribeDraftAppVersionResourcesImportStatus' :: Text
appArn = Text
a} :: DescribeDraftAppVersionResourcesImportStatus)

instance
  Core.AWSRequest
    DescribeDraftAppVersionResourcesImportStatus
  where
  type
    AWSResponse
      DescribeDraftAppVersionResourcesImportStatus =
      DescribeDraftAppVersionResourcesImportStatusResponse
  request :: (Service -> Service)
-> DescribeDraftAppVersionResourcesImportStatus
-> Request DescribeDraftAppVersionResourcesImportStatus
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeDraftAppVersionResourcesImportStatus
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DescribeDraftAppVersionResourcesImportStatus)))
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
-> Int
-> Text
-> Text
-> ResourceImportStatusType
-> POSIX
-> DescribeDraftAppVersionResourcesImportStatusResponse
DescribeDraftAppVersionResourcesImportStatusResponse'
            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
"errorMessage")
            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))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"appArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"appVersion")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"statusChangeTime")
      )

instance
  Prelude.Hashable
    DescribeDraftAppVersionResourcesImportStatus
  where
  hashWithSalt :: Int -> DescribeDraftAppVersionResourcesImportStatus -> Int
hashWithSalt
    Int
_salt
    DescribeDraftAppVersionResourcesImportStatus' {Text
appArn :: Text
$sel:appArn:DescribeDraftAppVersionResourcesImportStatus' :: DescribeDraftAppVersionResourcesImportStatus -> Text
..} =
      Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
appArn

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

instance
  Data.ToHeaders
    DescribeDraftAppVersionResourcesImportStatus
  where
  toHeaders :: DescribeDraftAppVersionResourcesImportStatus -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance
  Data.ToJSON
    DescribeDraftAppVersionResourcesImportStatus
  where
  toJSON :: DescribeDraftAppVersionResourcesImportStatus -> Value
toJSON
    DescribeDraftAppVersionResourcesImportStatus' {Text
appArn :: Text
$sel:appArn:DescribeDraftAppVersionResourcesImportStatus' :: DescribeDraftAppVersionResourcesImportStatus -> Text
..} =
      [Pair] -> Value
Data.object
        ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
            [forall a. a -> Maybe a
Prelude.Just (Key
"appArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
appArn)]
        )

instance
  Data.ToPath
    DescribeDraftAppVersionResourcesImportStatus
  where
  toPath :: DescribeDraftAppVersionResourcesImportStatus -> ByteString
toPath =
    forall a b. a -> b -> a
Prelude.const
      ByteString
"/describe-draft-app-version-resources-import-status"

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

-- | /See:/ 'newDescribeDraftAppVersionResourcesImportStatusResponse' smart constructor.
data DescribeDraftAppVersionResourcesImportStatusResponse = DescribeDraftAppVersionResourcesImportStatusResponse'
  { -- | The returned error message for the request.
    DescribeDraftAppVersionResourcesImportStatusResponse -> Maybe Text
errorMessage :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeDraftAppVersionResourcesImportStatusResponse -> Int
httpStatus :: Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the application. The format for this
    -- ARN is: arn:@partition@:resiliencehub:@region@:@account@:app\/@app-id@.
    -- For more information about ARNs, see
    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
    -- in the /AWS General Reference/.
    DescribeDraftAppVersionResourcesImportStatusResponse -> Text
appArn :: Prelude.Text,
    -- | The version of the application.
    DescribeDraftAppVersionResourcesImportStatusResponse -> Text
appVersion :: Prelude.Text,
    -- | The status of the action.
    DescribeDraftAppVersionResourcesImportStatusResponse
-> ResourceImportStatusType
status :: ResourceImportStatusType,
    -- | The timestamp for when the status last changed.
    DescribeDraftAppVersionResourcesImportStatusResponse -> POSIX
statusChangeTime :: Data.POSIX
  }
  deriving (DescribeDraftAppVersionResourcesImportStatusResponse
-> DescribeDraftAppVersionResourcesImportStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDraftAppVersionResourcesImportStatusResponse
-> DescribeDraftAppVersionResourcesImportStatusResponse -> Bool
$c/= :: DescribeDraftAppVersionResourcesImportStatusResponse
-> DescribeDraftAppVersionResourcesImportStatusResponse -> Bool
== :: DescribeDraftAppVersionResourcesImportStatusResponse
-> DescribeDraftAppVersionResourcesImportStatusResponse -> Bool
$c== :: DescribeDraftAppVersionResourcesImportStatusResponse
-> DescribeDraftAppVersionResourcesImportStatusResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDraftAppVersionResourcesImportStatusResponse]
ReadPrec DescribeDraftAppVersionResourcesImportStatusResponse
Int -> ReadS DescribeDraftAppVersionResourcesImportStatusResponse
ReadS [DescribeDraftAppVersionResourcesImportStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDraftAppVersionResourcesImportStatusResponse]
$creadListPrec :: ReadPrec [DescribeDraftAppVersionResourcesImportStatusResponse]
readPrec :: ReadPrec DescribeDraftAppVersionResourcesImportStatusResponse
$creadPrec :: ReadPrec DescribeDraftAppVersionResourcesImportStatusResponse
readList :: ReadS [DescribeDraftAppVersionResourcesImportStatusResponse]
$creadList :: ReadS [DescribeDraftAppVersionResourcesImportStatusResponse]
readsPrec :: Int -> ReadS DescribeDraftAppVersionResourcesImportStatusResponse
$creadsPrec :: Int -> ReadS DescribeDraftAppVersionResourcesImportStatusResponse
Prelude.Read, Int
-> DescribeDraftAppVersionResourcesImportStatusResponse -> ShowS
[DescribeDraftAppVersionResourcesImportStatusResponse] -> ShowS
DescribeDraftAppVersionResourcesImportStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDraftAppVersionResourcesImportStatusResponse] -> ShowS
$cshowList :: [DescribeDraftAppVersionResourcesImportStatusResponse] -> ShowS
show :: DescribeDraftAppVersionResourcesImportStatusResponse -> String
$cshow :: DescribeDraftAppVersionResourcesImportStatusResponse -> String
showsPrec :: Int
-> DescribeDraftAppVersionResourcesImportStatusResponse -> ShowS
$cshowsPrec :: Int
-> DescribeDraftAppVersionResourcesImportStatusResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeDraftAppVersionResourcesImportStatusResponse x
-> DescribeDraftAppVersionResourcesImportStatusResponse
forall x.
DescribeDraftAppVersionResourcesImportStatusResponse
-> Rep DescribeDraftAppVersionResourcesImportStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDraftAppVersionResourcesImportStatusResponse x
-> DescribeDraftAppVersionResourcesImportStatusResponse
$cfrom :: forall x.
DescribeDraftAppVersionResourcesImportStatusResponse
-> Rep DescribeDraftAppVersionResourcesImportStatusResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDraftAppVersionResourcesImportStatusResponse' 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:
--
-- 'errorMessage', 'describeDraftAppVersionResourcesImportStatusResponse_errorMessage' - The returned error message for the request.
--
-- 'httpStatus', 'describeDraftAppVersionResourcesImportStatusResponse_httpStatus' - The response's http status code.
--
-- 'appArn', 'describeDraftAppVersionResourcesImportStatusResponse_appArn' - The Amazon Resource Name (ARN) of the application. The format for this
-- ARN is: arn:@partition@:resiliencehub:@region@:@account@:app\/@app-id@.
-- For more information about ARNs, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
-- in the /AWS General Reference/.
--
-- 'appVersion', 'describeDraftAppVersionResourcesImportStatusResponse_appVersion' - The version of the application.
--
-- 'status', 'describeDraftAppVersionResourcesImportStatusResponse_status' - The status of the action.
--
-- 'statusChangeTime', 'describeDraftAppVersionResourcesImportStatusResponse_statusChangeTime' - The timestamp for when the status last changed.
newDescribeDraftAppVersionResourcesImportStatusResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'appArn'
  Prelude.Text ->
  -- | 'appVersion'
  Prelude.Text ->
  -- | 'status'
  ResourceImportStatusType ->
  -- | 'statusChangeTime'
  Prelude.UTCTime ->
  DescribeDraftAppVersionResourcesImportStatusResponse
newDescribeDraftAppVersionResourcesImportStatusResponse :: Int
-> Text
-> Text
-> ResourceImportStatusType
-> UTCTime
-> DescribeDraftAppVersionResourcesImportStatusResponse
newDescribeDraftAppVersionResourcesImportStatusResponse
  Int
pHttpStatus_
  Text
pAppArn_
  Text
pAppVersion_
  ResourceImportStatusType
pStatus_
  UTCTime
pStatusChangeTime_ =
    DescribeDraftAppVersionResourcesImportStatusResponse'
      { $sel:errorMessage:DescribeDraftAppVersionResourcesImportStatusResponse' :: Maybe Text
errorMessage =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeDraftAppVersionResourcesImportStatusResponse' :: Int
httpStatus =
          Int
pHttpStatus_,
        $sel:appArn:DescribeDraftAppVersionResourcesImportStatusResponse' :: Text
appArn = Text
pAppArn_,
        $sel:appVersion:DescribeDraftAppVersionResourcesImportStatusResponse' :: Text
appVersion =
          Text
pAppVersion_,
        $sel:status:DescribeDraftAppVersionResourcesImportStatusResponse' :: ResourceImportStatusType
status = ResourceImportStatusType
pStatus_,
        $sel:statusChangeTime:DescribeDraftAppVersionResourcesImportStatusResponse' :: POSIX
statusChangeTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
            forall t b. AReview t b -> b -> t
Lens.# UTCTime
pStatusChangeTime_
      }

-- | The returned error message for the request.
describeDraftAppVersionResourcesImportStatusResponse_errorMessage :: Lens.Lens' DescribeDraftAppVersionResourcesImportStatusResponse (Prelude.Maybe Prelude.Text)
describeDraftAppVersionResourcesImportStatusResponse_errorMessage :: Lens'
  DescribeDraftAppVersionResourcesImportStatusResponse (Maybe Text)
describeDraftAppVersionResourcesImportStatusResponse_errorMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDraftAppVersionResourcesImportStatusResponse' {Maybe Text
errorMessage :: Maybe Text
$sel:errorMessage:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse -> Maybe Text
errorMessage} -> Maybe Text
errorMessage) (\s :: DescribeDraftAppVersionResourcesImportStatusResponse
s@DescribeDraftAppVersionResourcesImportStatusResponse' {} Maybe Text
a -> DescribeDraftAppVersionResourcesImportStatusResponse
s {$sel:errorMessage:DescribeDraftAppVersionResourcesImportStatusResponse' :: Maybe Text
errorMessage = Maybe Text
a} :: DescribeDraftAppVersionResourcesImportStatusResponse)

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

-- | The Amazon Resource Name (ARN) of the application. The format for this
-- ARN is: arn:@partition@:resiliencehub:@region@:@account@:app\/@app-id@.
-- For more information about ARNs, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
-- in the /AWS General Reference/.
describeDraftAppVersionResourcesImportStatusResponse_appArn :: Lens.Lens' DescribeDraftAppVersionResourcesImportStatusResponse Prelude.Text
describeDraftAppVersionResourcesImportStatusResponse_appArn :: Lens' DescribeDraftAppVersionResourcesImportStatusResponse Text
describeDraftAppVersionResourcesImportStatusResponse_appArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDraftAppVersionResourcesImportStatusResponse' {Text
appArn :: Text
$sel:appArn:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse -> Text
appArn} -> Text
appArn) (\s :: DescribeDraftAppVersionResourcesImportStatusResponse
s@DescribeDraftAppVersionResourcesImportStatusResponse' {} Text
a -> DescribeDraftAppVersionResourcesImportStatusResponse
s {$sel:appArn:DescribeDraftAppVersionResourcesImportStatusResponse' :: Text
appArn = Text
a} :: DescribeDraftAppVersionResourcesImportStatusResponse)

-- | The version of the application.
describeDraftAppVersionResourcesImportStatusResponse_appVersion :: Lens.Lens' DescribeDraftAppVersionResourcesImportStatusResponse Prelude.Text
describeDraftAppVersionResourcesImportStatusResponse_appVersion :: Lens' DescribeDraftAppVersionResourcesImportStatusResponse Text
describeDraftAppVersionResourcesImportStatusResponse_appVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDraftAppVersionResourcesImportStatusResponse' {Text
appVersion :: Text
$sel:appVersion:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse -> Text
appVersion} -> Text
appVersion) (\s :: DescribeDraftAppVersionResourcesImportStatusResponse
s@DescribeDraftAppVersionResourcesImportStatusResponse' {} Text
a -> DescribeDraftAppVersionResourcesImportStatusResponse
s {$sel:appVersion:DescribeDraftAppVersionResourcesImportStatusResponse' :: Text
appVersion = Text
a} :: DescribeDraftAppVersionResourcesImportStatusResponse)

-- | The status of the action.
describeDraftAppVersionResourcesImportStatusResponse_status :: Lens.Lens' DescribeDraftAppVersionResourcesImportStatusResponse ResourceImportStatusType
describeDraftAppVersionResourcesImportStatusResponse_status :: Lens'
  DescribeDraftAppVersionResourcesImportStatusResponse
  ResourceImportStatusType
describeDraftAppVersionResourcesImportStatusResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDraftAppVersionResourcesImportStatusResponse' {ResourceImportStatusType
status :: ResourceImportStatusType
$sel:status:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse
-> ResourceImportStatusType
status} -> ResourceImportStatusType
status) (\s :: DescribeDraftAppVersionResourcesImportStatusResponse
s@DescribeDraftAppVersionResourcesImportStatusResponse' {} ResourceImportStatusType
a -> DescribeDraftAppVersionResourcesImportStatusResponse
s {$sel:status:DescribeDraftAppVersionResourcesImportStatusResponse' :: ResourceImportStatusType
status = ResourceImportStatusType
a} :: DescribeDraftAppVersionResourcesImportStatusResponse)

-- | The timestamp for when the status last changed.
describeDraftAppVersionResourcesImportStatusResponse_statusChangeTime :: Lens.Lens' DescribeDraftAppVersionResourcesImportStatusResponse Prelude.UTCTime
describeDraftAppVersionResourcesImportStatusResponse_statusChangeTime :: Lens' DescribeDraftAppVersionResourcesImportStatusResponse UTCTime
describeDraftAppVersionResourcesImportStatusResponse_statusChangeTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDraftAppVersionResourcesImportStatusResponse' {POSIX
statusChangeTime :: POSIX
$sel:statusChangeTime:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse -> POSIX
statusChangeTime} -> POSIX
statusChangeTime) (\s :: DescribeDraftAppVersionResourcesImportStatusResponse
s@DescribeDraftAppVersionResourcesImportStatusResponse' {} POSIX
a -> DescribeDraftAppVersionResourcesImportStatusResponse
s {$sel:statusChangeTime:DescribeDraftAppVersionResourcesImportStatusResponse' :: POSIX
statusChangeTime = POSIX
a} :: DescribeDraftAppVersionResourcesImportStatusResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

instance
  Prelude.NFData
    DescribeDraftAppVersionResourcesImportStatusResponse
  where
  rnf :: DescribeDraftAppVersionResourcesImportStatusResponse -> ()
rnf
    DescribeDraftAppVersionResourcesImportStatusResponse' {Int
Maybe Text
Text
POSIX
ResourceImportStatusType
statusChangeTime :: POSIX
status :: ResourceImportStatusType
appVersion :: Text
appArn :: Text
httpStatus :: Int
errorMessage :: Maybe Text
$sel:statusChangeTime:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse -> POSIX
$sel:status:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse
-> ResourceImportStatusType
$sel:appVersion:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse -> Text
$sel:appArn:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse -> Text
$sel:httpStatus:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse -> Int
$sel:errorMessage:DescribeDraftAppVersionResourcesImportStatusResponse' :: DescribeDraftAppVersionResourcesImportStatusResponse -> Maybe Text
..} =
      forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
errorMessage
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
appArn
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
appVersion
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ResourceImportStatusType
status
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
statusChangeTime