{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

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

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

-- | Contains information summarizing device details and deployment status.
--
-- /See:/ 'newDeviceDeploymentSummary' smart constructor.
data DeviceDeploymentSummary = DeviceDeploymentSummary'
  { -- | The name of the deployed stage.
    DeviceDeploymentSummary -> Maybe Text
deployedStageName :: Prelude.Maybe Prelude.Text,
    -- | The time when the deployment on the device started.
    DeviceDeploymentSummary -> Maybe POSIX
deploymentStartTime :: Prelude.Maybe Data.POSIX,
    -- | The description of the device.
    DeviceDeploymentSummary -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The deployment status of the device.
    DeviceDeploymentSummary -> Maybe DeviceDeploymentStatus
deviceDeploymentStatus :: Prelude.Maybe DeviceDeploymentStatus,
    -- | The detailed error message for the deployoment status result.
    DeviceDeploymentSummary -> Maybe Text
deviceDeploymentStatusMessage :: Prelude.Maybe Prelude.Text,
    -- | The name of the fleet to which the device belongs to.
    DeviceDeploymentSummary -> Maybe Text
deviceFleetName :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the edge deployment plan.
    DeviceDeploymentSummary -> Text
edgeDeploymentPlanArn :: Prelude.Text,
    -- | The name of the edge deployment plan.
    DeviceDeploymentSummary -> Text
edgeDeploymentPlanName :: Prelude.Text,
    -- | The name of the stage in the edge deployment plan.
    DeviceDeploymentSummary -> Text
stageName :: Prelude.Text,
    -- | The name of the device.
    DeviceDeploymentSummary -> Text
deviceName :: Prelude.Text,
    -- | The ARN of the device.
    DeviceDeploymentSummary -> Text
deviceArn :: Prelude.Text
  }
  deriving (DeviceDeploymentSummary -> DeviceDeploymentSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeviceDeploymentSummary -> DeviceDeploymentSummary -> Bool
$c/= :: DeviceDeploymentSummary -> DeviceDeploymentSummary -> Bool
== :: DeviceDeploymentSummary -> DeviceDeploymentSummary -> Bool
$c== :: DeviceDeploymentSummary -> DeviceDeploymentSummary -> Bool
Prelude.Eq, ReadPrec [DeviceDeploymentSummary]
ReadPrec DeviceDeploymentSummary
Int -> ReadS DeviceDeploymentSummary
ReadS [DeviceDeploymentSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeviceDeploymentSummary]
$creadListPrec :: ReadPrec [DeviceDeploymentSummary]
readPrec :: ReadPrec DeviceDeploymentSummary
$creadPrec :: ReadPrec DeviceDeploymentSummary
readList :: ReadS [DeviceDeploymentSummary]
$creadList :: ReadS [DeviceDeploymentSummary]
readsPrec :: Int -> ReadS DeviceDeploymentSummary
$creadsPrec :: Int -> ReadS DeviceDeploymentSummary
Prelude.Read, Int -> DeviceDeploymentSummary -> ShowS
[DeviceDeploymentSummary] -> ShowS
DeviceDeploymentSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeviceDeploymentSummary] -> ShowS
$cshowList :: [DeviceDeploymentSummary] -> ShowS
show :: DeviceDeploymentSummary -> String
$cshow :: DeviceDeploymentSummary -> String
showsPrec :: Int -> DeviceDeploymentSummary -> ShowS
$cshowsPrec :: Int -> DeviceDeploymentSummary -> ShowS
Prelude.Show, forall x. Rep DeviceDeploymentSummary x -> DeviceDeploymentSummary
forall x. DeviceDeploymentSummary -> Rep DeviceDeploymentSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeviceDeploymentSummary x -> DeviceDeploymentSummary
$cfrom :: forall x. DeviceDeploymentSummary -> Rep DeviceDeploymentSummary x
Prelude.Generic)

-- |
-- Create a value of 'DeviceDeploymentSummary' 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:
--
-- 'deployedStageName', 'deviceDeploymentSummary_deployedStageName' - The name of the deployed stage.
--
-- 'deploymentStartTime', 'deviceDeploymentSummary_deploymentStartTime' - The time when the deployment on the device started.
--
-- 'description', 'deviceDeploymentSummary_description' - The description of the device.
--
-- 'deviceDeploymentStatus', 'deviceDeploymentSummary_deviceDeploymentStatus' - The deployment status of the device.
--
-- 'deviceDeploymentStatusMessage', 'deviceDeploymentSummary_deviceDeploymentStatusMessage' - The detailed error message for the deployoment status result.
--
-- 'deviceFleetName', 'deviceDeploymentSummary_deviceFleetName' - The name of the fleet to which the device belongs to.
--
-- 'edgeDeploymentPlanArn', 'deviceDeploymentSummary_edgeDeploymentPlanArn' - The ARN of the edge deployment plan.
--
-- 'edgeDeploymentPlanName', 'deviceDeploymentSummary_edgeDeploymentPlanName' - The name of the edge deployment plan.
--
-- 'stageName', 'deviceDeploymentSummary_stageName' - The name of the stage in the edge deployment plan.
--
-- 'deviceName', 'deviceDeploymentSummary_deviceName' - The name of the device.
--
-- 'deviceArn', 'deviceDeploymentSummary_deviceArn' - The ARN of the device.
newDeviceDeploymentSummary ::
  -- | 'edgeDeploymentPlanArn'
  Prelude.Text ->
  -- | 'edgeDeploymentPlanName'
  Prelude.Text ->
  -- | 'stageName'
  Prelude.Text ->
  -- | 'deviceName'
  Prelude.Text ->
  -- | 'deviceArn'
  Prelude.Text ->
  DeviceDeploymentSummary
newDeviceDeploymentSummary :: Text -> Text -> Text -> Text -> Text -> DeviceDeploymentSummary
newDeviceDeploymentSummary
  Text
pEdgeDeploymentPlanArn_
  Text
pEdgeDeploymentPlanName_
  Text
pStageName_
  Text
pDeviceName_
  Text
pDeviceArn_ =
    DeviceDeploymentSummary'
      { $sel:deployedStageName:DeviceDeploymentSummary' :: Maybe Text
deployedStageName =
          forall a. Maybe a
Prelude.Nothing,
        $sel:deploymentStartTime:DeviceDeploymentSummary' :: Maybe POSIX
deploymentStartTime = forall a. Maybe a
Prelude.Nothing,
        $sel:description:DeviceDeploymentSummary' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
        $sel:deviceDeploymentStatus:DeviceDeploymentSummary' :: Maybe DeviceDeploymentStatus
deviceDeploymentStatus = forall a. Maybe a
Prelude.Nothing,
        $sel:deviceDeploymentStatusMessage:DeviceDeploymentSummary' :: Maybe Text
deviceDeploymentStatusMessage = forall a. Maybe a
Prelude.Nothing,
        $sel:deviceFleetName:DeviceDeploymentSummary' :: Maybe Text
deviceFleetName = forall a. Maybe a
Prelude.Nothing,
        $sel:edgeDeploymentPlanArn:DeviceDeploymentSummary' :: Text
edgeDeploymentPlanArn = Text
pEdgeDeploymentPlanArn_,
        $sel:edgeDeploymentPlanName:DeviceDeploymentSummary' :: Text
edgeDeploymentPlanName = Text
pEdgeDeploymentPlanName_,
        $sel:stageName:DeviceDeploymentSummary' :: Text
stageName = Text
pStageName_,
        $sel:deviceName:DeviceDeploymentSummary' :: Text
deviceName = Text
pDeviceName_,
        $sel:deviceArn:DeviceDeploymentSummary' :: Text
deviceArn = Text
pDeviceArn_
      }

-- | The name of the deployed stage.
deviceDeploymentSummary_deployedStageName :: Lens.Lens' DeviceDeploymentSummary (Prelude.Maybe Prelude.Text)
deviceDeploymentSummary_deployedStageName :: Lens' DeviceDeploymentSummary (Maybe Text)
deviceDeploymentSummary_deployedStageName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Maybe Text
deployedStageName :: Maybe Text
$sel:deployedStageName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
deployedStageName} -> Maybe Text
deployedStageName) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Maybe Text
a -> DeviceDeploymentSummary
s {$sel:deployedStageName:DeviceDeploymentSummary' :: Maybe Text
deployedStageName = Maybe Text
a} :: DeviceDeploymentSummary)

-- | The time when the deployment on the device started.
deviceDeploymentSummary_deploymentStartTime :: Lens.Lens' DeviceDeploymentSummary (Prelude.Maybe Prelude.UTCTime)
deviceDeploymentSummary_deploymentStartTime :: Lens' DeviceDeploymentSummary (Maybe UTCTime)
deviceDeploymentSummary_deploymentStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Maybe POSIX
deploymentStartTime :: Maybe POSIX
$sel:deploymentStartTime:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe POSIX
deploymentStartTime} -> Maybe POSIX
deploymentStartTime) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Maybe POSIX
a -> DeviceDeploymentSummary
s {$sel:deploymentStartTime:DeviceDeploymentSummary' :: Maybe POSIX
deploymentStartTime = Maybe POSIX
a} :: DeviceDeploymentSummary) 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 description of the device.
deviceDeploymentSummary_description :: Lens.Lens' DeviceDeploymentSummary (Prelude.Maybe Prelude.Text)
deviceDeploymentSummary_description :: Lens' DeviceDeploymentSummary (Maybe Text)
deviceDeploymentSummary_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Maybe Text
description :: Maybe Text
$sel:description:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
description} -> Maybe Text
description) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Maybe Text
a -> DeviceDeploymentSummary
s {$sel:description:DeviceDeploymentSummary' :: Maybe Text
description = Maybe Text
a} :: DeviceDeploymentSummary)

-- | The deployment status of the device.
deviceDeploymentSummary_deviceDeploymentStatus :: Lens.Lens' DeviceDeploymentSummary (Prelude.Maybe DeviceDeploymentStatus)
deviceDeploymentSummary_deviceDeploymentStatus :: Lens' DeviceDeploymentSummary (Maybe DeviceDeploymentStatus)
deviceDeploymentSummary_deviceDeploymentStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Maybe DeviceDeploymentStatus
deviceDeploymentStatus :: Maybe DeviceDeploymentStatus
$sel:deviceDeploymentStatus:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe DeviceDeploymentStatus
deviceDeploymentStatus} -> Maybe DeviceDeploymentStatus
deviceDeploymentStatus) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Maybe DeviceDeploymentStatus
a -> DeviceDeploymentSummary
s {$sel:deviceDeploymentStatus:DeviceDeploymentSummary' :: Maybe DeviceDeploymentStatus
deviceDeploymentStatus = Maybe DeviceDeploymentStatus
a} :: DeviceDeploymentSummary)

-- | The detailed error message for the deployoment status result.
deviceDeploymentSummary_deviceDeploymentStatusMessage :: Lens.Lens' DeviceDeploymentSummary (Prelude.Maybe Prelude.Text)
deviceDeploymentSummary_deviceDeploymentStatusMessage :: Lens' DeviceDeploymentSummary (Maybe Text)
deviceDeploymentSummary_deviceDeploymentStatusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Maybe Text
deviceDeploymentStatusMessage :: Maybe Text
$sel:deviceDeploymentStatusMessage:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
deviceDeploymentStatusMessage} -> Maybe Text
deviceDeploymentStatusMessage) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Maybe Text
a -> DeviceDeploymentSummary
s {$sel:deviceDeploymentStatusMessage:DeviceDeploymentSummary' :: Maybe Text
deviceDeploymentStatusMessage = Maybe Text
a} :: DeviceDeploymentSummary)

-- | The name of the fleet to which the device belongs to.
deviceDeploymentSummary_deviceFleetName :: Lens.Lens' DeviceDeploymentSummary (Prelude.Maybe Prelude.Text)
deviceDeploymentSummary_deviceFleetName :: Lens' DeviceDeploymentSummary (Maybe Text)
deviceDeploymentSummary_deviceFleetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Maybe Text
deviceFleetName :: Maybe Text
$sel:deviceFleetName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
deviceFleetName} -> Maybe Text
deviceFleetName) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Maybe Text
a -> DeviceDeploymentSummary
s {$sel:deviceFleetName:DeviceDeploymentSummary' :: Maybe Text
deviceFleetName = Maybe Text
a} :: DeviceDeploymentSummary)

-- | The ARN of the edge deployment plan.
deviceDeploymentSummary_edgeDeploymentPlanArn :: Lens.Lens' DeviceDeploymentSummary Prelude.Text
deviceDeploymentSummary_edgeDeploymentPlanArn :: Lens' DeviceDeploymentSummary Text
deviceDeploymentSummary_edgeDeploymentPlanArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Text
edgeDeploymentPlanArn :: Text
$sel:edgeDeploymentPlanArn:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
edgeDeploymentPlanArn} -> Text
edgeDeploymentPlanArn) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Text
a -> DeviceDeploymentSummary
s {$sel:edgeDeploymentPlanArn:DeviceDeploymentSummary' :: Text
edgeDeploymentPlanArn = Text
a} :: DeviceDeploymentSummary)

-- | The name of the edge deployment plan.
deviceDeploymentSummary_edgeDeploymentPlanName :: Lens.Lens' DeviceDeploymentSummary Prelude.Text
deviceDeploymentSummary_edgeDeploymentPlanName :: Lens' DeviceDeploymentSummary Text
deviceDeploymentSummary_edgeDeploymentPlanName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Text
edgeDeploymentPlanName :: Text
$sel:edgeDeploymentPlanName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
edgeDeploymentPlanName} -> Text
edgeDeploymentPlanName) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Text
a -> DeviceDeploymentSummary
s {$sel:edgeDeploymentPlanName:DeviceDeploymentSummary' :: Text
edgeDeploymentPlanName = Text
a} :: DeviceDeploymentSummary)

-- | The name of the stage in the edge deployment plan.
deviceDeploymentSummary_stageName :: Lens.Lens' DeviceDeploymentSummary Prelude.Text
deviceDeploymentSummary_stageName :: Lens' DeviceDeploymentSummary Text
deviceDeploymentSummary_stageName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Text
stageName :: Text
$sel:stageName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
stageName} -> Text
stageName) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Text
a -> DeviceDeploymentSummary
s {$sel:stageName:DeviceDeploymentSummary' :: Text
stageName = Text
a} :: DeviceDeploymentSummary)

-- | The name of the device.
deviceDeploymentSummary_deviceName :: Lens.Lens' DeviceDeploymentSummary Prelude.Text
deviceDeploymentSummary_deviceName :: Lens' DeviceDeploymentSummary Text
deviceDeploymentSummary_deviceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Text
deviceName :: Text
$sel:deviceName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
deviceName} -> Text
deviceName) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Text
a -> DeviceDeploymentSummary
s {$sel:deviceName:DeviceDeploymentSummary' :: Text
deviceName = Text
a} :: DeviceDeploymentSummary)

-- | The ARN of the device.
deviceDeploymentSummary_deviceArn :: Lens.Lens' DeviceDeploymentSummary Prelude.Text
deviceDeploymentSummary_deviceArn :: Lens' DeviceDeploymentSummary Text
deviceDeploymentSummary_deviceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeviceDeploymentSummary' {Text
deviceArn :: Text
$sel:deviceArn:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
deviceArn} -> Text
deviceArn) (\s :: DeviceDeploymentSummary
s@DeviceDeploymentSummary' {} Text
a -> DeviceDeploymentSummary
s {$sel:deviceArn:DeviceDeploymentSummary' :: Text
deviceArn = Text
a} :: DeviceDeploymentSummary)

instance Data.FromJSON DeviceDeploymentSummary where
  parseJSON :: Value -> Parser DeviceDeploymentSummary
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"DeviceDeploymentSummary"
      ( \Object
x ->
          Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe DeviceDeploymentStatus
-> Maybe Text
-> Maybe Text
-> Text
-> Text
-> Text
-> Text
-> Text
-> DeviceDeploymentSummary
DeviceDeploymentSummary'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DeployedStageName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DeploymentStartTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DeviceDeploymentStatus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DeviceDeploymentStatusMessage")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DeviceFleetName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"EdgeDeploymentPlanArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"EdgeDeploymentPlanName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"StageName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"DeviceName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"DeviceArn")
      )

instance Prelude.Hashable DeviceDeploymentSummary where
  hashWithSalt :: Int -> DeviceDeploymentSummary -> Int
hashWithSalt Int
_salt DeviceDeploymentSummary' {Maybe Text
Maybe POSIX
Maybe DeviceDeploymentStatus
Text
deviceArn :: Text
deviceName :: Text
stageName :: Text
edgeDeploymentPlanName :: Text
edgeDeploymentPlanArn :: Text
deviceFleetName :: Maybe Text
deviceDeploymentStatusMessage :: Maybe Text
deviceDeploymentStatus :: Maybe DeviceDeploymentStatus
description :: Maybe Text
deploymentStartTime :: Maybe POSIX
deployedStageName :: Maybe Text
$sel:deviceArn:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:deviceName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:stageName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:edgeDeploymentPlanName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:edgeDeploymentPlanArn:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:deviceFleetName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
$sel:deviceDeploymentStatusMessage:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
$sel:deviceDeploymentStatus:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe DeviceDeploymentStatus
$sel:description:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
$sel:deploymentStartTime:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe POSIX
$sel:deployedStageName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
deployedStageName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
deploymentStartTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DeviceDeploymentStatus
deviceDeploymentStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
deviceDeploymentStatusMessage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
deviceFleetName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
edgeDeploymentPlanArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
edgeDeploymentPlanName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
stageName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deviceName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deviceArn

instance Prelude.NFData DeviceDeploymentSummary where
  rnf :: DeviceDeploymentSummary -> ()
rnf DeviceDeploymentSummary' {Maybe Text
Maybe POSIX
Maybe DeviceDeploymentStatus
Text
deviceArn :: Text
deviceName :: Text
stageName :: Text
edgeDeploymentPlanName :: Text
edgeDeploymentPlanArn :: Text
deviceFleetName :: Maybe Text
deviceDeploymentStatusMessage :: Maybe Text
deviceDeploymentStatus :: Maybe DeviceDeploymentStatus
description :: Maybe Text
deploymentStartTime :: Maybe POSIX
deployedStageName :: Maybe Text
$sel:deviceArn:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:deviceName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:stageName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:edgeDeploymentPlanName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:edgeDeploymentPlanArn:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Text
$sel:deviceFleetName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
$sel:deviceDeploymentStatusMessage:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
$sel:deviceDeploymentStatus:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe DeviceDeploymentStatus
$sel:description:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
$sel:deploymentStartTime:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe POSIX
$sel:deployedStageName:DeviceDeploymentSummary' :: DeviceDeploymentSummary -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
deployedStageName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
deploymentStartTime
      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 DeviceDeploymentStatus
deviceDeploymentStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
deviceDeploymentStatusMessage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
deviceFleetName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
edgeDeploymentPlanArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
edgeDeploymentPlanName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
stageName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deviceName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deviceArn