{-# 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.GetBulkDeploymentStatus
-- 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 the status of a bulk deployment.
module Amazonka.Greengrass.GetBulkDeploymentStatus
  ( -- * Creating a Request
    GetBulkDeploymentStatus (..),
    newGetBulkDeploymentStatus,

    -- * Request Lenses
    getBulkDeploymentStatus_bulkDeploymentId,

    -- * Destructuring the Response
    GetBulkDeploymentStatusResponse (..),
    newGetBulkDeploymentStatusResponse,

    -- * Response Lenses
    getBulkDeploymentStatusResponse_bulkDeploymentMetrics,
    getBulkDeploymentStatusResponse_bulkDeploymentStatus,
    getBulkDeploymentStatusResponse_createdAt,
    getBulkDeploymentStatusResponse_errorDetails,
    getBulkDeploymentStatusResponse_errorMessage,
    getBulkDeploymentStatusResponse_tags,
    getBulkDeploymentStatusResponse_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:/ 'newGetBulkDeploymentStatus' smart constructor.
data GetBulkDeploymentStatus = GetBulkDeploymentStatus'
  { -- | The ID of the bulk deployment.
    GetBulkDeploymentStatus -> Text
bulkDeploymentId :: Prelude.Text
  }
  deriving (GetBulkDeploymentStatus -> GetBulkDeploymentStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetBulkDeploymentStatus -> GetBulkDeploymentStatus -> Bool
$c/= :: GetBulkDeploymentStatus -> GetBulkDeploymentStatus -> Bool
== :: GetBulkDeploymentStatus -> GetBulkDeploymentStatus -> Bool
$c== :: GetBulkDeploymentStatus -> GetBulkDeploymentStatus -> Bool
Prelude.Eq, ReadPrec [GetBulkDeploymentStatus]
ReadPrec GetBulkDeploymentStatus
Int -> ReadS GetBulkDeploymentStatus
ReadS [GetBulkDeploymentStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetBulkDeploymentStatus]
$creadListPrec :: ReadPrec [GetBulkDeploymentStatus]
readPrec :: ReadPrec GetBulkDeploymentStatus
$creadPrec :: ReadPrec GetBulkDeploymentStatus
readList :: ReadS [GetBulkDeploymentStatus]
$creadList :: ReadS [GetBulkDeploymentStatus]
readsPrec :: Int -> ReadS GetBulkDeploymentStatus
$creadsPrec :: Int -> ReadS GetBulkDeploymentStatus
Prelude.Read, Int -> GetBulkDeploymentStatus -> ShowS
[GetBulkDeploymentStatus] -> ShowS
GetBulkDeploymentStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetBulkDeploymentStatus] -> ShowS
$cshowList :: [GetBulkDeploymentStatus] -> ShowS
show :: GetBulkDeploymentStatus -> String
$cshow :: GetBulkDeploymentStatus -> String
showsPrec :: Int -> GetBulkDeploymentStatus -> ShowS
$cshowsPrec :: Int -> GetBulkDeploymentStatus -> ShowS
Prelude.Show, forall x. Rep GetBulkDeploymentStatus x -> GetBulkDeploymentStatus
forall x. GetBulkDeploymentStatus -> Rep GetBulkDeploymentStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetBulkDeploymentStatus x -> GetBulkDeploymentStatus
$cfrom :: forall x. GetBulkDeploymentStatus -> Rep GetBulkDeploymentStatus x
Prelude.Generic)

-- |
-- Create a value of 'GetBulkDeploymentStatus' 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:
--
-- 'bulkDeploymentId', 'getBulkDeploymentStatus_bulkDeploymentId' - The ID of the bulk deployment.
newGetBulkDeploymentStatus ::
  -- | 'bulkDeploymentId'
  Prelude.Text ->
  GetBulkDeploymentStatus
newGetBulkDeploymentStatus :: Text -> GetBulkDeploymentStatus
newGetBulkDeploymentStatus Text
pBulkDeploymentId_ =
  GetBulkDeploymentStatus'
    { $sel:bulkDeploymentId:GetBulkDeploymentStatus' :: Text
bulkDeploymentId =
        Text
pBulkDeploymentId_
    }

-- | The ID of the bulk deployment.
getBulkDeploymentStatus_bulkDeploymentId :: Lens.Lens' GetBulkDeploymentStatus Prelude.Text
getBulkDeploymentStatus_bulkDeploymentId :: Lens' GetBulkDeploymentStatus Text
getBulkDeploymentStatus_bulkDeploymentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBulkDeploymentStatus' {Text
bulkDeploymentId :: Text
$sel:bulkDeploymentId:GetBulkDeploymentStatus' :: GetBulkDeploymentStatus -> Text
bulkDeploymentId} -> Text
bulkDeploymentId) (\s :: GetBulkDeploymentStatus
s@GetBulkDeploymentStatus' {} Text
a -> GetBulkDeploymentStatus
s {$sel:bulkDeploymentId:GetBulkDeploymentStatus' :: Text
bulkDeploymentId = Text
a} :: GetBulkDeploymentStatus)

instance Core.AWSRequest GetBulkDeploymentStatus where
  type
    AWSResponse GetBulkDeploymentStatus =
      GetBulkDeploymentStatusResponse
  request :: (Service -> Service)
-> GetBulkDeploymentStatus -> Request GetBulkDeploymentStatus
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 GetBulkDeploymentStatus
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetBulkDeploymentStatus)))
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 BulkDeploymentMetrics
-> Maybe BulkDeploymentStatus
-> Maybe Text
-> Maybe [ErrorDetail]
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Int
-> GetBulkDeploymentStatusResponse
GetBulkDeploymentStatusResponse'
            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
"BulkDeploymentMetrics")
            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
"BulkDeploymentStatus")
            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
"CreatedAt")
            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
"ErrorDetails" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            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
"ErrorMessage")
            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
"tags" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            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 GetBulkDeploymentStatus where
  hashWithSalt :: Int -> GetBulkDeploymentStatus -> Int
hashWithSalt Int
_salt GetBulkDeploymentStatus' {Text
bulkDeploymentId :: Text
$sel:bulkDeploymentId:GetBulkDeploymentStatus' :: GetBulkDeploymentStatus -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
bulkDeploymentId

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

instance Data.ToHeaders GetBulkDeploymentStatus where
  toHeaders :: GetBulkDeploymentStatus -> 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 GetBulkDeploymentStatus where
  toPath :: GetBulkDeploymentStatus -> ByteString
toPath GetBulkDeploymentStatus' {Text
bulkDeploymentId :: Text
$sel:bulkDeploymentId:GetBulkDeploymentStatus' :: GetBulkDeploymentStatus -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/greengrass/bulk/deployments/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
bulkDeploymentId,
        ByteString
"/status"
      ]

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

-- | /See:/ 'newGetBulkDeploymentStatusResponse' smart constructor.
data GetBulkDeploymentStatusResponse = GetBulkDeploymentStatusResponse'
  { -- | Relevant metrics on input records processed during bulk deployment.
    GetBulkDeploymentStatusResponse -> Maybe BulkDeploymentMetrics
bulkDeploymentMetrics :: Prelude.Maybe BulkDeploymentMetrics,
    -- | The status of the bulk deployment.
    GetBulkDeploymentStatusResponse -> Maybe BulkDeploymentStatus
bulkDeploymentStatus :: Prelude.Maybe BulkDeploymentStatus,
    -- | The time, in ISO format, when the deployment was created.
    GetBulkDeploymentStatusResponse -> Maybe Text
createdAt :: Prelude.Maybe Prelude.Text,
    -- | Error details
    GetBulkDeploymentStatusResponse -> Maybe [ErrorDetail]
errorDetails :: Prelude.Maybe [ErrorDetail],
    -- | Error message
    GetBulkDeploymentStatusResponse -> Maybe Text
errorMessage :: Prelude.Maybe Prelude.Text,
    -- | Tag(s) attached to the resource arn.
    GetBulkDeploymentStatusResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The response's http status code.
    GetBulkDeploymentStatusResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetBulkDeploymentStatusResponse
-> GetBulkDeploymentStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetBulkDeploymentStatusResponse
-> GetBulkDeploymentStatusResponse -> Bool
$c/= :: GetBulkDeploymentStatusResponse
-> GetBulkDeploymentStatusResponse -> Bool
== :: GetBulkDeploymentStatusResponse
-> GetBulkDeploymentStatusResponse -> Bool
$c== :: GetBulkDeploymentStatusResponse
-> GetBulkDeploymentStatusResponse -> Bool
Prelude.Eq, ReadPrec [GetBulkDeploymentStatusResponse]
ReadPrec GetBulkDeploymentStatusResponse
Int -> ReadS GetBulkDeploymentStatusResponse
ReadS [GetBulkDeploymentStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetBulkDeploymentStatusResponse]
$creadListPrec :: ReadPrec [GetBulkDeploymentStatusResponse]
readPrec :: ReadPrec GetBulkDeploymentStatusResponse
$creadPrec :: ReadPrec GetBulkDeploymentStatusResponse
readList :: ReadS [GetBulkDeploymentStatusResponse]
$creadList :: ReadS [GetBulkDeploymentStatusResponse]
readsPrec :: Int -> ReadS GetBulkDeploymentStatusResponse
$creadsPrec :: Int -> ReadS GetBulkDeploymentStatusResponse
Prelude.Read, Int -> GetBulkDeploymentStatusResponse -> ShowS
[GetBulkDeploymentStatusResponse] -> ShowS
GetBulkDeploymentStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetBulkDeploymentStatusResponse] -> ShowS
$cshowList :: [GetBulkDeploymentStatusResponse] -> ShowS
show :: GetBulkDeploymentStatusResponse -> String
$cshow :: GetBulkDeploymentStatusResponse -> String
showsPrec :: Int -> GetBulkDeploymentStatusResponse -> ShowS
$cshowsPrec :: Int -> GetBulkDeploymentStatusResponse -> ShowS
Prelude.Show, forall x.
Rep GetBulkDeploymentStatusResponse x
-> GetBulkDeploymentStatusResponse
forall x.
GetBulkDeploymentStatusResponse
-> Rep GetBulkDeploymentStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetBulkDeploymentStatusResponse x
-> GetBulkDeploymentStatusResponse
$cfrom :: forall x.
GetBulkDeploymentStatusResponse
-> Rep GetBulkDeploymentStatusResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetBulkDeploymentStatusResponse' 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:
--
-- 'bulkDeploymentMetrics', 'getBulkDeploymentStatusResponse_bulkDeploymentMetrics' - Relevant metrics on input records processed during bulk deployment.
--
-- 'bulkDeploymentStatus', 'getBulkDeploymentStatusResponse_bulkDeploymentStatus' - The status of the bulk deployment.
--
-- 'createdAt', 'getBulkDeploymentStatusResponse_createdAt' - The time, in ISO format, when the deployment was created.
--
-- 'errorDetails', 'getBulkDeploymentStatusResponse_errorDetails' - Error details
--
-- 'errorMessage', 'getBulkDeploymentStatusResponse_errorMessage' - Error message
--
-- 'tags', 'getBulkDeploymentStatusResponse_tags' - Tag(s) attached to the resource arn.
--
-- 'httpStatus', 'getBulkDeploymentStatusResponse_httpStatus' - The response's http status code.
newGetBulkDeploymentStatusResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetBulkDeploymentStatusResponse
newGetBulkDeploymentStatusResponse :: Int -> GetBulkDeploymentStatusResponse
newGetBulkDeploymentStatusResponse Int
pHttpStatus_ =
  GetBulkDeploymentStatusResponse'
    { $sel:bulkDeploymentMetrics:GetBulkDeploymentStatusResponse' :: Maybe BulkDeploymentMetrics
bulkDeploymentMetrics =
        forall a. Maybe a
Prelude.Nothing,
      $sel:bulkDeploymentStatus:GetBulkDeploymentStatusResponse' :: Maybe BulkDeploymentStatus
bulkDeploymentStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:createdAt:GetBulkDeploymentStatusResponse' :: Maybe Text
createdAt = forall a. Maybe a
Prelude.Nothing,
      $sel:errorDetails:GetBulkDeploymentStatusResponse' :: Maybe [ErrorDetail]
errorDetails = forall a. Maybe a
Prelude.Nothing,
      $sel:errorMessage:GetBulkDeploymentStatusResponse' :: Maybe Text
errorMessage = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:GetBulkDeploymentStatusResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetBulkDeploymentStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Relevant metrics on input records processed during bulk deployment.
getBulkDeploymentStatusResponse_bulkDeploymentMetrics :: Lens.Lens' GetBulkDeploymentStatusResponse (Prelude.Maybe BulkDeploymentMetrics)
getBulkDeploymentStatusResponse_bulkDeploymentMetrics :: Lens' GetBulkDeploymentStatusResponse (Maybe BulkDeploymentMetrics)
getBulkDeploymentStatusResponse_bulkDeploymentMetrics = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBulkDeploymentStatusResponse' {Maybe BulkDeploymentMetrics
bulkDeploymentMetrics :: Maybe BulkDeploymentMetrics
$sel:bulkDeploymentMetrics:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe BulkDeploymentMetrics
bulkDeploymentMetrics} -> Maybe BulkDeploymentMetrics
bulkDeploymentMetrics) (\s :: GetBulkDeploymentStatusResponse
s@GetBulkDeploymentStatusResponse' {} Maybe BulkDeploymentMetrics
a -> GetBulkDeploymentStatusResponse
s {$sel:bulkDeploymentMetrics:GetBulkDeploymentStatusResponse' :: Maybe BulkDeploymentMetrics
bulkDeploymentMetrics = Maybe BulkDeploymentMetrics
a} :: GetBulkDeploymentStatusResponse)

-- | The status of the bulk deployment.
getBulkDeploymentStatusResponse_bulkDeploymentStatus :: Lens.Lens' GetBulkDeploymentStatusResponse (Prelude.Maybe BulkDeploymentStatus)
getBulkDeploymentStatusResponse_bulkDeploymentStatus :: Lens' GetBulkDeploymentStatusResponse (Maybe BulkDeploymentStatus)
getBulkDeploymentStatusResponse_bulkDeploymentStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBulkDeploymentStatusResponse' {Maybe BulkDeploymentStatus
bulkDeploymentStatus :: Maybe BulkDeploymentStatus
$sel:bulkDeploymentStatus:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe BulkDeploymentStatus
bulkDeploymentStatus} -> Maybe BulkDeploymentStatus
bulkDeploymentStatus) (\s :: GetBulkDeploymentStatusResponse
s@GetBulkDeploymentStatusResponse' {} Maybe BulkDeploymentStatus
a -> GetBulkDeploymentStatusResponse
s {$sel:bulkDeploymentStatus:GetBulkDeploymentStatusResponse' :: Maybe BulkDeploymentStatus
bulkDeploymentStatus = Maybe BulkDeploymentStatus
a} :: GetBulkDeploymentStatusResponse)

-- | The time, in ISO format, when the deployment was created.
getBulkDeploymentStatusResponse_createdAt :: Lens.Lens' GetBulkDeploymentStatusResponse (Prelude.Maybe Prelude.Text)
getBulkDeploymentStatusResponse_createdAt :: Lens' GetBulkDeploymentStatusResponse (Maybe Text)
getBulkDeploymentStatusResponse_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBulkDeploymentStatusResponse' {Maybe Text
createdAt :: Maybe Text
$sel:createdAt:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe Text
createdAt} -> Maybe Text
createdAt) (\s :: GetBulkDeploymentStatusResponse
s@GetBulkDeploymentStatusResponse' {} Maybe Text
a -> GetBulkDeploymentStatusResponse
s {$sel:createdAt:GetBulkDeploymentStatusResponse' :: Maybe Text
createdAt = Maybe Text
a} :: GetBulkDeploymentStatusResponse)

-- | Error details
getBulkDeploymentStatusResponse_errorDetails :: Lens.Lens' GetBulkDeploymentStatusResponse (Prelude.Maybe [ErrorDetail])
getBulkDeploymentStatusResponse_errorDetails :: Lens' GetBulkDeploymentStatusResponse (Maybe [ErrorDetail])
getBulkDeploymentStatusResponse_errorDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBulkDeploymentStatusResponse' {Maybe [ErrorDetail]
errorDetails :: Maybe [ErrorDetail]
$sel:errorDetails:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe [ErrorDetail]
errorDetails} -> Maybe [ErrorDetail]
errorDetails) (\s :: GetBulkDeploymentStatusResponse
s@GetBulkDeploymentStatusResponse' {} Maybe [ErrorDetail]
a -> GetBulkDeploymentStatusResponse
s {$sel:errorDetails:GetBulkDeploymentStatusResponse' :: Maybe [ErrorDetail]
errorDetails = Maybe [ErrorDetail]
a} :: GetBulkDeploymentStatusResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Error message
getBulkDeploymentStatusResponse_errorMessage :: Lens.Lens' GetBulkDeploymentStatusResponse (Prelude.Maybe Prelude.Text)
getBulkDeploymentStatusResponse_errorMessage :: Lens' GetBulkDeploymentStatusResponse (Maybe Text)
getBulkDeploymentStatusResponse_errorMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBulkDeploymentStatusResponse' {Maybe Text
errorMessage :: Maybe Text
$sel:errorMessage:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe Text
errorMessage} -> Maybe Text
errorMessage) (\s :: GetBulkDeploymentStatusResponse
s@GetBulkDeploymentStatusResponse' {} Maybe Text
a -> GetBulkDeploymentStatusResponse
s {$sel:errorMessage:GetBulkDeploymentStatusResponse' :: Maybe Text
errorMessage = Maybe Text
a} :: GetBulkDeploymentStatusResponse)

-- | Tag(s) attached to the resource arn.
getBulkDeploymentStatusResponse_tags :: Lens.Lens' GetBulkDeploymentStatusResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
getBulkDeploymentStatusResponse_tags :: Lens' GetBulkDeploymentStatusResponse (Maybe (HashMap Text Text))
getBulkDeploymentStatusResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBulkDeploymentStatusResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: GetBulkDeploymentStatusResponse
s@GetBulkDeploymentStatusResponse' {} Maybe (HashMap Text Text)
a -> GetBulkDeploymentStatusResponse
s {$sel:tags:GetBulkDeploymentStatusResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: GetBulkDeploymentStatusResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

instance
  Prelude.NFData
    GetBulkDeploymentStatusResponse
  where
  rnf :: GetBulkDeploymentStatusResponse -> ()
rnf GetBulkDeploymentStatusResponse' {Int
Maybe [ErrorDetail]
Maybe Text
Maybe (HashMap Text Text)
Maybe BulkDeploymentMetrics
Maybe BulkDeploymentStatus
httpStatus :: Int
tags :: Maybe (HashMap Text Text)
errorMessage :: Maybe Text
errorDetails :: Maybe [ErrorDetail]
createdAt :: Maybe Text
bulkDeploymentStatus :: Maybe BulkDeploymentStatus
bulkDeploymentMetrics :: Maybe BulkDeploymentMetrics
$sel:httpStatus:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Int
$sel:tags:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe (HashMap Text Text)
$sel:errorMessage:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe Text
$sel:errorDetails:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe [ErrorDetail]
$sel:createdAt:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe Text
$sel:bulkDeploymentStatus:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe BulkDeploymentStatus
$sel:bulkDeploymentMetrics:GetBulkDeploymentStatusResponse' :: GetBulkDeploymentStatusResponse -> Maybe BulkDeploymentMetrics
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe BulkDeploymentMetrics
bulkDeploymentMetrics
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe BulkDeploymentStatus
bulkDeploymentStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
createdAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ErrorDetail]
errorDetails
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus