{-# 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.M2.Types.ApplicationSummary
-- 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.M2.Types.ApplicationSummary where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.M2.Types.ApplicationDeploymentLifecycle
import Amazonka.M2.Types.ApplicationLifecycle
import Amazonka.M2.Types.ApplicationVersionLifecycle
import Amazonka.M2.Types.EngineType
import qualified Amazonka.Prelude as Prelude

-- | A subset of the possible application attributes. Used in the application
-- list.
--
-- /See:/ 'newApplicationSummary' smart constructor.
data ApplicationSummary = ApplicationSummary'
  { -- | Indicates either an ongoing deployment or if the application has ever
    -- deployed successfully.
    ApplicationSummary -> Maybe ApplicationDeploymentLifecycle
deploymentStatus :: Prelude.Maybe ApplicationDeploymentLifecycle,
    -- | The description of the application.
    ApplicationSummary -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The unique identifier of the runtime environment that hosts this
    -- application.
    ApplicationSummary -> Maybe Text
environmentId :: Prelude.Maybe Prelude.Text,
    -- | The timestamp when you last started the application. Null until the
    -- application runs for the first time.
    ApplicationSummary -> Maybe POSIX
lastStartTime :: Prelude.Maybe Data.POSIX,
    -- | Indicates the status of the latest version of the application.
    ApplicationSummary -> Maybe ApplicationVersionLifecycle
versionStatus :: Prelude.Maybe ApplicationVersionLifecycle,
    -- | The Amazon Resource Name (ARN) of the application.
    ApplicationSummary -> Text
applicationArn :: Prelude.Text,
    -- | The unique identifier of the application.
    ApplicationSummary -> Text
applicationId :: Prelude.Text,
    -- | The version of the application.
    ApplicationSummary -> Natural
applicationVersion :: Prelude.Natural,
    -- | The timestamp when the application was created.
    ApplicationSummary -> POSIX
creationTime :: Data.POSIX,
    -- | The type of the target platform for this application.
    ApplicationSummary -> EngineType
engineType :: EngineType,
    -- | The name of the application.
    ApplicationSummary -> Text
name :: Prelude.Text,
    -- | The status of the application.
    ApplicationSummary -> ApplicationLifecycle
status :: ApplicationLifecycle
  }
  deriving (ApplicationSummary -> ApplicationSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApplicationSummary -> ApplicationSummary -> Bool
$c/= :: ApplicationSummary -> ApplicationSummary -> Bool
== :: ApplicationSummary -> ApplicationSummary -> Bool
$c== :: ApplicationSummary -> ApplicationSummary -> Bool
Prelude.Eq, ReadPrec [ApplicationSummary]
ReadPrec ApplicationSummary
Int -> ReadS ApplicationSummary
ReadS [ApplicationSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ApplicationSummary]
$creadListPrec :: ReadPrec [ApplicationSummary]
readPrec :: ReadPrec ApplicationSummary
$creadPrec :: ReadPrec ApplicationSummary
readList :: ReadS [ApplicationSummary]
$creadList :: ReadS [ApplicationSummary]
readsPrec :: Int -> ReadS ApplicationSummary
$creadsPrec :: Int -> ReadS ApplicationSummary
Prelude.Read, Int -> ApplicationSummary -> ShowS
[ApplicationSummary] -> ShowS
ApplicationSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApplicationSummary] -> ShowS
$cshowList :: [ApplicationSummary] -> ShowS
show :: ApplicationSummary -> String
$cshow :: ApplicationSummary -> String
showsPrec :: Int -> ApplicationSummary -> ShowS
$cshowsPrec :: Int -> ApplicationSummary -> ShowS
Prelude.Show, forall x. Rep ApplicationSummary x -> ApplicationSummary
forall x. ApplicationSummary -> Rep ApplicationSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ApplicationSummary x -> ApplicationSummary
$cfrom :: forall x. ApplicationSummary -> Rep ApplicationSummary x
Prelude.Generic)

-- |
-- Create a value of 'ApplicationSummary' 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:
--
-- 'deploymentStatus', 'applicationSummary_deploymentStatus' - Indicates either an ongoing deployment or if the application has ever
-- deployed successfully.
--
-- 'description', 'applicationSummary_description' - The description of the application.
--
-- 'environmentId', 'applicationSummary_environmentId' - The unique identifier of the runtime environment that hosts this
-- application.
--
-- 'lastStartTime', 'applicationSummary_lastStartTime' - The timestamp when you last started the application. Null until the
-- application runs for the first time.
--
-- 'versionStatus', 'applicationSummary_versionStatus' - Indicates the status of the latest version of the application.
--
-- 'applicationArn', 'applicationSummary_applicationArn' - The Amazon Resource Name (ARN) of the application.
--
-- 'applicationId', 'applicationSummary_applicationId' - The unique identifier of the application.
--
-- 'applicationVersion', 'applicationSummary_applicationVersion' - The version of the application.
--
-- 'creationTime', 'applicationSummary_creationTime' - The timestamp when the application was created.
--
-- 'engineType', 'applicationSummary_engineType' - The type of the target platform for this application.
--
-- 'name', 'applicationSummary_name' - The name of the application.
--
-- 'status', 'applicationSummary_status' - The status of the application.
newApplicationSummary ::
  -- | 'applicationArn'
  Prelude.Text ->
  -- | 'applicationId'
  Prelude.Text ->
  -- | 'applicationVersion'
  Prelude.Natural ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'engineType'
  EngineType ->
  -- | 'name'
  Prelude.Text ->
  -- | 'status'
  ApplicationLifecycle ->
  ApplicationSummary
newApplicationSummary :: Text
-> Text
-> Natural
-> UTCTime
-> EngineType
-> Text
-> ApplicationLifecycle
-> ApplicationSummary
newApplicationSummary
  Text
pApplicationArn_
  Text
pApplicationId_
  Natural
pApplicationVersion_
  UTCTime
pCreationTime_
  EngineType
pEngineType_
  Text
pName_
  ApplicationLifecycle
pStatus_ =
    ApplicationSummary'
      { $sel:deploymentStatus:ApplicationSummary' :: Maybe ApplicationDeploymentLifecycle
deploymentStatus =
          forall a. Maybe a
Prelude.Nothing,
        $sel:description:ApplicationSummary' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
        $sel:environmentId:ApplicationSummary' :: Maybe Text
environmentId = forall a. Maybe a
Prelude.Nothing,
        $sel:lastStartTime:ApplicationSummary' :: Maybe POSIX
lastStartTime = forall a. Maybe a
Prelude.Nothing,
        $sel:versionStatus:ApplicationSummary' :: Maybe ApplicationVersionLifecycle
versionStatus = forall a. Maybe a
Prelude.Nothing,
        $sel:applicationArn:ApplicationSummary' :: Text
applicationArn = Text
pApplicationArn_,
        $sel:applicationId:ApplicationSummary' :: Text
applicationId = Text
pApplicationId_,
        $sel:applicationVersion:ApplicationSummary' :: Natural
applicationVersion = Natural
pApplicationVersion_,
        $sel:creationTime:ApplicationSummary' :: POSIX
creationTime = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:engineType:ApplicationSummary' :: EngineType
engineType = EngineType
pEngineType_,
        $sel:name:ApplicationSummary' :: Text
name = Text
pName_,
        $sel:status:ApplicationSummary' :: ApplicationLifecycle
status = ApplicationLifecycle
pStatus_
      }

-- | Indicates either an ongoing deployment or if the application has ever
-- deployed successfully.
applicationSummary_deploymentStatus :: Lens.Lens' ApplicationSummary (Prelude.Maybe ApplicationDeploymentLifecycle)
applicationSummary_deploymentStatus :: Lens' ApplicationSummary (Maybe ApplicationDeploymentLifecycle)
applicationSummary_deploymentStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {Maybe ApplicationDeploymentLifecycle
deploymentStatus :: Maybe ApplicationDeploymentLifecycle
$sel:deploymentStatus:ApplicationSummary' :: ApplicationSummary -> Maybe ApplicationDeploymentLifecycle
deploymentStatus} -> Maybe ApplicationDeploymentLifecycle
deploymentStatus) (\s :: ApplicationSummary
s@ApplicationSummary' {} Maybe ApplicationDeploymentLifecycle
a -> ApplicationSummary
s {$sel:deploymentStatus:ApplicationSummary' :: Maybe ApplicationDeploymentLifecycle
deploymentStatus = Maybe ApplicationDeploymentLifecycle
a} :: ApplicationSummary)

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

-- | The unique identifier of the runtime environment that hosts this
-- application.
applicationSummary_environmentId :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)
applicationSummary_environmentId :: Lens' ApplicationSummary (Maybe Text)
applicationSummary_environmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {Maybe Text
environmentId :: Maybe Text
$sel:environmentId:ApplicationSummary' :: ApplicationSummary -> Maybe Text
environmentId} -> Maybe Text
environmentId) (\s :: ApplicationSummary
s@ApplicationSummary' {} Maybe Text
a -> ApplicationSummary
s {$sel:environmentId:ApplicationSummary' :: Maybe Text
environmentId = Maybe Text
a} :: ApplicationSummary)

-- | The timestamp when you last started the application. Null until the
-- application runs for the first time.
applicationSummary_lastStartTime :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.UTCTime)
applicationSummary_lastStartTime :: Lens' ApplicationSummary (Maybe UTCTime)
applicationSummary_lastStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {Maybe POSIX
lastStartTime :: Maybe POSIX
$sel:lastStartTime:ApplicationSummary' :: ApplicationSummary -> Maybe POSIX
lastStartTime} -> Maybe POSIX
lastStartTime) (\s :: ApplicationSummary
s@ApplicationSummary' {} Maybe POSIX
a -> ApplicationSummary
s {$sel:lastStartTime:ApplicationSummary' :: Maybe POSIX
lastStartTime = Maybe POSIX
a} :: ApplicationSummary) 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

-- | Indicates the status of the latest version of the application.
applicationSummary_versionStatus :: Lens.Lens' ApplicationSummary (Prelude.Maybe ApplicationVersionLifecycle)
applicationSummary_versionStatus :: Lens' ApplicationSummary (Maybe ApplicationVersionLifecycle)
applicationSummary_versionStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {Maybe ApplicationVersionLifecycle
versionStatus :: Maybe ApplicationVersionLifecycle
$sel:versionStatus:ApplicationSummary' :: ApplicationSummary -> Maybe ApplicationVersionLifecycle
versionStatus} -> Maybe ApplicationVersionLifecycle
versionStatus) (\s :: ApplicationSummary
s@ApplicationSummary' {} Maybe ApplicationVersionLifecycle
a -> ApplicationSummary
s {$sel:versionStatus:ApplicationSummary' :: Maybe ApplicationVersionLifecycle
versionStatus = Maybe ApplicationVersionLifecycle
a} :: ApplicationSummary)

-- | The Amazon Resource Name (ARN) of the application.
applicationSummary_applicationArn :: Lens.Lens' ApplicationSummary Prelude.Text
applicationSummary_applicationArn :: Lens' ApplicationSummary Text
applicationSummary_applicationArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {Text
applicationArn :: Text
$sel:applicationArn:ApplicationSummary' :: ApplicationSummary -> Text
applicationArn} -> Text
applicationArn) (\s :: ApplicationSummary
s@ApplicationSummary' {} Text
a -> ApplicationSummary
s {$sel:applicationArn:ApplicationSummary' :: Text
applicationArn = Text
a} :: ApplicationSummary)

-- | The unique identifier of the application.
applicationSummary_applicationId :: Lens.Lens' ApplicationSummary Prelude.Text
applicationSummary_applicationId :: Lens' ApplicationSummary Text
applicationSummary_applicationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {Text
applicationId :: Text
$sel:applicationId:ApplicationSummary' :: ApplicationSummary -> Text
applicationId} -> Text
applicationId) (\s :: ApplicationSummary
s@ApplicationSummary' {} Text
a -> ApplicationSummary
s {$sel:applicationId:ApplicationSummary' :: Text
applicationId = Text
a} :: ApplicationSummary)

-- | The version of the application.
applicationSummary_applicationVersion :: Lens.Lens' ApplicationSummary Prelude.Natural
applicationSummary_applicationVersion :: Lens' ApplicationSummary Natural
applicationSummary_applicationVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {Natural
applicationVersion :: Natural
$sel:applicationVersion:ApplicationSummary' :: ApplicationSummary -> Natural
applicationVersion} -> Natural
applicationVersion) (\s :: ApplicationSummary
s@ApplicationSummary' {} Natural
a -> ApplicationSummary
s {$sel:applicationVersion:ApplicationSummary' :: Natural
applicationVersion = Natural
a} :: ApplicationSummary)

-- | The timestamp when the application was created.
applicationSummary_creationTime :: Lens.Lens' ApplicationSummary Prelude.UTCTime
applicationSummary_creationTime :: Lens' ApplicationSummary UTCTime
applicationSummary_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {POSIX
creationTime :: POSIX
$sel:creationTime:ApplicationSummary' :: ApplicationSummary -> POSIX
creationTime} -> POSIX
creationTime) (\s :: ApplicationSummary
s@ApplicationSummary' {} POSIX
a -> ApplicationSummary
s {$sel:creationTime:ApplicationSummary' :: POSIX
creationTime = POSIX
a} :: ApplicationSummary) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The type of the target platform for this application.
applicationSummary_engineType :: Lens.Lens' ApplicationSummary EngineType
applicationSummary_engineType :: Lens' ApplicationSummary EngineType
applicationSummary_engineType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {EngineType
engineType :: EngineType
$sel:engineType:ApplicationSummary' :: ApplicationSummary -> EngineType
engineType} -> EngineType
engineType) (\s :: ApplicationSummary
s@ApplicationSummary' {} EngineType
a -> ApplicationSummary
s {$sel:engineType:ApplicationSummary' :: EngineType
engineType = EngineType
a} :: ApplicationSummary)

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

-- | The status of the application.
applicationSummary_status :: Lens.Lens' ApplicationSummary ApplicationLifecycle
applicationSummary_status :: Lens' ApplicationSummary ApplicationLifecycle
applicationSummary_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ApplicationSummary' {ApplicationLifecycle
status :: ApplicationLifecycle
$sel:status:ApplicationSummary' :: ApplicationSummary -> ApplicationLifecycle
status} -> ApplicationLifecycle
status) (\s :: ApplicationSummary
s@ApplicationSummary' {} ApplicationLifecycle
a -> ApplicationSummary
s {$sel:status:ApplicationSummary' :: ApplicationLifecycle
status = ApplicationLifecycle
a} :: ApplicationSummary)

instance Data.FromJSON ApplicationSummary where
  parseJSON :: Value -> Parser ApplicationSummary
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ApplicationSummary"
      ( \Object
x ->
          Maybe ApplicationDeploymentLifecycle
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe ApplicationVersionLifecycle
-> Text
-> Text
-> Natural
-> POSIX
-> EngineType
-> Text
-> ApplicationLifecycle
-> ApplicationSummary
ApplicationSummary'
            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
"deploymentStatus")
            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
"environmentId")
            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
"lastStartTime")
            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
"versionStatus")
            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
"applicationArn")
            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
"applicationId")
            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
"applicationVersion")
            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
"creationTime")
            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
"engineType")
            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
"name")
            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
"status")
      )

instance Prelude.Hashable ApplicationSummary where
  hashWithSalt :: Int -> ApplicationSummary -> Int
hashWithSalt Int
_salt ApplicationSummary' {Natural
Maybe Text
Maybe POSIX
Maybe ApplicationDeploymentLifecycle
Maybe ApplicationVersionLifecycle
Text
POSIX
ApplicationLifecycle
EngineType
status :: ApplicationLifecycle
name :: Text
engineType :: EngineType
creationTime :: POSIX
applicationVersion :: Natural
applicationId :: Text
applicationArn :: Text
versionStatus :: Maybe ApplicationVersionLifecycle
lastStartTime :: Maybe POSIX
environmentId :: Maybe Text
description :: Maybe Text
deploymentStatus :: Maybe ApplicationDeploymentLifecycle
$sel:status:ApplicationSummary' :: ApplicationSummary -> ApplicationLifecycle
$sel:name:ApplicationSummary' :: ApplicationSummary -> Text
$sel:engineType:ApplicationSummary' :: ApplicationSummary -> EngineType
$sel:creationTime:ApplicationSummary' :: ApplicationSummary -> POSIX
$sel:applicationVersion:ApplicationSummary' :: ApplicationSummary -> Natural
$sel:applicationId:ApplicationSummary' :: ApplicationSummary -> Text
$sel:applicationArn:ApplicationSummary' :: ApplicationSummary -> Text
$sel:versionStatus:ApplicationSummary' :: ApplicationSummary -> Maybe ApplicationVersionLifecycle
$sel:lastStartTime:ApplicationSummary' :: ApplicationSummary -> Maybe POSIX
$sel:environmentId:ApplicationSummary' :: ApplicationSummary -> Maybe Text
$sel:description:ApplicationSummary' :: ApplicationSummary -> Maybe Text
$sel:deploymentStatus:ApplicationSummary' :: ApplicationSummary -> Maybe ApplicationDeploymentLifecycle
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ApplicationDeploymentLifecycle
deploymentStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
environmentId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastStartTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ApplicationVersionLifecycle
versionStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
applicationVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` POSIX
creationTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` EngineType
engineType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ApplicationLifecycle
status

instance Prelude.NFData ApplicationSummary where
  rnf :: ApplicationSummary -> ()
rnf ApplicationSummary' {Natural
Maybe Text
Maybe POSIX
Maybe ApplicationDeploymentLifecycle
Maybe ApplicationVersionLifecycle
Text
POSIX
ApplicationLifecycle
EngineType
status :: ApplicationLifecycle
name :: Text
engineType :: EngineType
creationTime :: POSIX
applicationVersion :: Natural
applicationId :: Text
applicationArn :: Text
versionStatus :: Maybe ApplicationVersionLifecycle
lastStartTime :: Maybe POSIX
environmentId :: Maybe Text
description :: Maybe Text
deploymentStatus :: Maybe ApplicationDeploymentLifecycle
$sel:status:ApplicationSummary' :: ApplicationSummary -> ApplicationLifecycle
$sel:name:ApplicationSummary' :: ApplicationSummary -> Text
$sel:engineType:ApplicationSummary' :: ApplicationSummary -> EngineType
$sel:creationTime:ApplicationSummary' :: ApplicationSummary -> POSIX
$sel:applicationVersion:ApplicationSummary' :: ApplicationSummary -> Natural
$sel:applicationId:ApplicationSummary' :: ApplicationSummary -> Text
$sel:applicationArn:ApplicationSummary' :: ApplicationSummary -> Text
$sel:versionStatus:ApplicationSummary' :: ApplicationSummary -> Maybe ApplicationVersionLifecycle
$sel:lastStartTime:ApplicationSummary' :: ApplicationSummary -> Maybe POSIX
$sel:environmentId:ApplicationSummary' :: ApplicationSummary -> Maybe Text
$sel:description:ApplicationSummary' :: ApplicationSummary -> Maybe Text
$sel:deploymentStatus:ApplicationSummary' :: ApplicationSummary -> Maybe ApplicationDeploymentLifecycle
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ApplicationDeploymentLifecycle
deploymentStatus
      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 Text
environmentId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastStartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ApplicationVersionLifecycle
versionStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
applicationArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
applicationId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
applicationVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf EngineType
engineType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ApplicationLifecycle
status