{-# 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.ElasticBeanstalk.Types.EnvironmentDescription
-- 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.ElasticBeanstalk.Types.EnvironmentDescription where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ElasticBeanstalk.Types.EnvironmentHealth
import Amazonka.ElasticBeanstalk.Types.EnvironmentHealthStatus
import Amazonka.ElasticBeanstalk.Types.EnvironmentLink
import Amazonka.ElasticBeanstalk.Types.EnvironmentResourcesDescription
import Amazonka.ElasticBeanstalk.Types.EnvironmentStatus
import Amazonka.ElasticBeanstalk.Types.EnvironmentTier
import qualified Amazonka.Prelude as Prelude

-- | Describes the properties of an environment.
--
-- /See:/ 'newEnvironmentDescription' smart constructor.
data EnvironmentDescription = EnvironmentDescription'
  { -- | Indicates if there is an in-progress environment configuration update or
    -- application version deployment that you can cancel.
    --
    -- @true:@ There is an update in progress.
    --
    -- @false:@ There are no updates currently in progress.
    EnvironmentDescription -> Maybe Bool
abortableOperationInProgress :: Prelude.Maybe Prelude.Bool,
    -- | The name of the application associated with this environment.
    EnvironmentDescription -> Maybe Text
applicationName :: Prelude.Maybe Prelude.Text,
    -- | The URL to the CNAME for this environment.
    EnvironmentDescription -> Maybe Text
cname :: Prelude.Maybe Prelude.Text,
    -- | The creation date for this environment.
    EnvironmentDescription -> Maybe ISO8601
dateCreated :: Prelude.Maybe Data.ISO8601,
    -- | The last modified date for this environment.
    EnvironmentDescription -> Maybe ISO8601
dateUpdated :: Prelude.Maybe Data.ISO8601,
    -- | Describes this environment.
    EnvironmentDescription -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | For load-balanced, autoscaling environments, the URL to the
    -- LoadBalancer. For single-instance environments, the IP address of the
    -- instance.
    EnvironmentDescription -> Maybe Text
endpointURL :: Prelude.Maybe Prelude.Text,
    -- | The environment\'s Amazon Resource Name (ARN), which can be used in
    -- other API requests that require an ARN.
    EnvironmentDescription -> Maybe Text
environmentArn :: Prelude.Maybe Prelude.Text,
    -- | The ID of this environment.
    EnvironmentDescription -> Maybe Text
environmentId :: Prelude.Maybe Prelude.Text,
    -- | A list of links to other environments in the same group.
    EnvironmentDescription -> Maybe [EnvironmentLink]
environmentLinks :: Prelude.Maybe [EnvironmentLink],
    -- | The name of this environment.
    EnvironmentDescription -> Maybe Text
environmentName :: Prelude.Maybe Prelude.Text,
    -- | Describes the health status of the environment. AWS Elastic Beanstalk
    -- indicates the failure levels for a running environment:
    --
    -- -   @Red@: Indicates the environment is not responsive. Occurs when
    --     three or more consecutive failures occur for an environment.
    --
    -- -   @Yellow@: Indicates that something is wrong. Occurs when two
    --     consecutive failures occur for an environment.
    --
    -- -   @Green@: Indicates the environment is healthy and fully functional.
    --
    -- -   @Grey@: Default health for a new environment. The environment is not
    --     fully launched and health checks have not started or health checks
    --     are suspended during an @UpdateEnvironment@ or @RestartEnvironment@
    --     request.
    --
    -- Default: @Grey@
    EnvironmentDescription -> Maybe EnvironmentHealth
health :: Prelude.Maybe EnvironmentHealth,
    -- | Returns the health status of the application running in your
    -- environment. For more information, see
    -- <https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html Health Colors and Statuses>.
    EnvironmentDescription -> Maybe EnvironmentHealthStatus
healthStatus :: Prelude.Maybe EnvironmentHealthStatus,
    -- | The Amazon Resource Name (ARN) of the environment\'s operations role.
    -- For more information, see
    -- <https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html Operations roles>
    -- in the /AWS Elastic Beanstalk Developer Guide/.
    EnvironmentDescription -> Maybe Text
operationsRole :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the platform version.
    EnvironmentDescription -> Maybe Text
platformArn :: Prelude.Maybe Prelude.Text,
    -- | The description of the AWS resources used by this environment.
    EnvironmentDescription -> Maybe EnvironmentResourcesDescription
resources :: Prelude.Maybe EnvironmentResourcesDescription,
    -- | The name of the @SolutionStack@ deployed with this environment.
    EnvironmentDescription -> Maybe Text
solutionStackName :: Prelude.Maybe Prelude.Text,
    -- | The current operational status of the environment:
    --
    -- -   @Launching@: Environment is in the process of initial deployment.
    --
    -- -   @Updating@: Environment is in the process of updating its
    --     configuration settings or application version.
    --
    -- -   @Ready@: Environment is available to have an action performed on it,
    --     such as update or terminate.
    --
    -- -   @Terminating@: Environment is in the shut-down process.
    --
    -- -   @Terminated@: Environment is not running.
    EnvironmentDescription -> Maybe EnvironmentStatus
status :: Prelude.Maybe EnvironmentStatus,
    -- | The name of the configuration template used to originally launch this
    -- environment.
    EnvironmentDescription -> Maybe Text
templateName :: Prelude.Maybe Prelude.Text,
    -- | Describes the current tier of this environment.
    EnvironmentDescription -> Maybe EnvironmentTier
tier :: Prelude.Maybe EnvironmentTier,
    -- | The application version deployed in this environment.
    EnvironmentDescription -> Maybe Text
versionLabel :: Prelude.Maybe Prelude.Text
  }
  deriving (EnvironmentDescription -> EnvironmentDescription -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EnvironmentDescription -> EnvironmentDescription -> Bool
$c/= :: EnvironmentDescription -> EnvironmentDescription -> Bool
== :: EnvironmentDescription -> EnvironmentDescription -> Bool
$c== :: EnvironmentDescription -> EnvironmentDescription -> Bool
Prelude.Eq, ReadPrec [EnvironmentDescription]
ReadPrec EnvironmentDescription
Int -> ReadS EnvironmentDescription
ReadS [EnvironmentDescription]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EnvironmentDescription]
$creadListPrec :: ReadPrec [EnvironmentDescription]
readPrec :: ReadPrec EnvironmentDescription
$creadPrec :: ReadPrec EnvironmentDescription
readList :: ReadS [EnvironmentDescription]
$creadList :: ReadS [EnvironmentDescription]
readsPrec :: Int -> ReadS EnvironmentDescription
$creadsPrec :: Int -> ReadS EnvironmentDescription
Prelude.Read, Int -> EnvironmentDescription -> ShowS
[EnvironmentDescription] -> ShowS
EnvironmentDescription -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EnvironmentDescription] -> ShowS
$cshowList :: [EnvironmentDescription] -> ShowS
show :: EnvironmentDescription -> String
$cshow :: EnvironmentDescription -> String
showsPrec :: Int -> EnvironmentDescription -> ShowS
$cshowsPrec :: Int -> EnvironmentDescription -> ShowS
Prelude.Show, forall x. Rep EnvironmentDescription x -> EnvironmentDescription
forall x. EnvironmentDescription -> Rep EnvironmentDescription x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep EnvironmentDescription x -> EnvironmentDescription
$cfrom :: forall x. EnvironmentDescription -> Rep EnvironmentDescription x
Prelude.Generic)

-- |
-- Create a value of 'EnvironmentDescription' 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:
--
-- 'abortableOperationInProgress', 'environmentDescription_abortableOperationInProgress' - Indicates if there is an in-progress environment configuration update or
-- application version deployment that you can cancel.
--
-- @true:@ There is an update in progress.
--
-- @false:@ There are no updates currently in progress.
--
-- 'applicationName', 'environmentDescription_applicationName' - The name of the application associated with this environment.
--
-- 'cname', 'environmentDescription_cname' - The URL to the CNAME for this environment.
--
-- 'dateCreated', 'environmentDescription_dateCreated' - The creation date for this environment.
--
-- 'dateUpdated', 'environmentDescription_dateUpdated' - The last modified date for this environment.
--
-- 'description', 'environmentDescription_description' - Describes this environment.
--
-- 'endpointURL', 'environmentDescription_endpointURL' - For load-balanced, autoscaling environments, the URL to the
-- LoadBalancer. For single-instance environments, the IP address of the
-- instance.
--
-- 'environmentArn', 'environmentDescription_environmentArn' - The environment\'s Amazon Resource Name (ARN), which can be used in
-- other API requests that require an ARN.
--
-- 'environmentId', 'environmentDescription_environmentId' - The ID of this environment.
--
-- 'environmentLinks', 'environmentDescription_environmentLinks' - A list of links to other environments in the same group.
--
-- 'environmentName', 'environmentDescription_environmentName' - The name of this environment.
--
-- 'health', 'environmentDescription_health' - Describes the health status of the environment. AWS Elastic Beanstalk
-- indicates the failure levels for a running environment:
--
-- -   @Red@: Indicates the environment is not responsive. Occurs when
--     three or more consecutive failures occur for an environment.
--
-- -   @Yellow@: Indicates that something is wrong. Occurs when two
--     consecutive failures occur for an environment.
--
-- -   @Green@: Indicates the environment is healthy and fully functional.
--
-- -   @Grey@: Default health for a new environment. The environment is not
--     fully launched and health checks have not started or health checks
--     are suspended during an @UpdateEnvironment@ or @RestartEnvironment@
--     request.
--
-- Default: @Grey@
--
-- 'healthStatus', 'environmentDescription_healthStatus' - Returns the health status of the application running in your
-- environment. For more information, see
-- <https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html Health Colors and Statuses>.
--
-- 'operationsRole', 'environmentDescription_operationsRole' - The Amazon Resource Name (ARN) of the environment\'s operations role.
-- For more information, see
-- <https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html Operations roles>
-- in the /AWS Elastic Beanstalk Developer Guide/.
--
-- 'platformArn', 'environmentDescription_platformArn' - The ARN of the platform version.
--
-- 'resources', 'environmentDescription_resources' - The description of the AWS resources used by this environment.
--
-- 'solutionStackName', 'environmentDescription_solutionStackName' - The name of the @SolutionStack@ deployed with this environment.
--
-- 'status', 'environmentDescription_status' - The current operational status of the environment:
--
-- -   @Launching@: Environment is in the process of initial deployment.
--
-- -   @Updating@: Environment is in the process of updating its
--     configuration settings or application version.
--
-- -   @Ready@: Environment is available to have an action performed on it,
--     such as update or terminate.
--
-- -   @Terminating@: Environment is in the shut-down process.
--
-- -   @Terminated@: Environment is not running.
--
-- 'templateName', 'environmentDescription_templateName' - The name of the configuration template used to originally launch this
-- environment.
--
-- 'tier', 'environmentDescription_tier' - Describes the current tier of this environment.
--
-- 'versionLabel', 'environmentDescription_versionLabel' - The application version deployed in this environment.
newEnvironmentDescription ::
  EnvironmentDescription
newEnvironmentDescription :: EnvironmentDescription
newEnvironmentDescription =
  EnvironmentDescription'
    { $sel:abortableOperationInProgress:EnvironmentDescription' :: Maybe Bool
abortableOperationInProgress =
        forall a. Maybe a
Prelude.Nothing,
      $sel:applicationName:EnvironmentDescription' :: Maybe Text
applicationName = forall a. Maybe a
Prelude.Nothing,
      $sel:cname:EnvironmentDescription' :: Maybe Text
cname = forall a. Maybe a
Prelude.Nothing,
      $sel:dateCreated:EnvironmentDescription' :: Maybe ISO8601
dateCreated = forall a. Maybe a
Prelude.Nothing,
      $sel:dateUpdated:EnvironmentDescription' :: Maybe ISO8601
dateUpdated = forall a. Maybe a
Prelude.Nothing,
      $sel:description:EnvironmentDescription' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:endpointURL:EnvironmentDescription' :: Maybe Text
endpointURL = forall a. Maybe a
Prelude.Nothing,
      $sel:environmentArn:EnvironmentDescription' :: Maybe Text
environmentArn = forall a. Maybe a
Prelude.Nothing,
      $sel:environmentId:EnvironmentDescription' :: Maybe Text
environmentId = forall a. Maybe a
Prelude.Nothing,
      $sel:environmentLinks:EnvironmentDescription' :: Maybe [EnvironmentLink]
environmentLinks = forall a. Maybe a
Prelude.Nothing,
      $sel:environmentName:EnvironmentDescription' :: Maybe Text
environmentName = forall a. Maybe a
Prelude.Nothing,
      $sel:health:EnvironmentDescription' :: Maybe EnvironmentHealth
health = forall a. Maybe a
Prelude.Nothing,
      $sel:healthStatus:EnvironmentDescription' :: Maybe EnvironmentHealthStatus
healthStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:operationsRole:EnvironmentDescription' :: Maybe Text
operationsRole = forall a. Maybe a
Prelude.Nothing,
      $sel:platformArn:EnvironmentDescription' :: Maybe Text
platformArn = forall a. Maybe a
Prelude.Nothing,
      $sel:resources:EnvironmentDescription' :: Maybe EnvironmentResourcesDescription
resources = forall a. Maybe a
Prelude.Nothing,
      $sel:solutionStackName:EnvironmentDescription' :: Maybe Text
solutionStackName = forall a. Maybe a
Prelude.Nothing,
      $sel:status:EnvironmentDescription' :: Maybe EnvironmentStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:templateName:EnvironmentDescription' :: Maybe Text
templateName = forall a. Maybe a
Prelude.Nothing,
      $sel:tier:EnvironmentDescription' :: Maybe EnvironmentTier
tier = forall a. Maybe a
Prelude.Nothing,
      $sel:versionLabel:EnvironmentDescription' :: Maybe Text
versionLabel = forall a. Maybe a
Prelude.Nothing
    }

-- | Indicates if there is an in-progress environment configuration update or
-- application version deployment that you can cancel.
--
-- @true:@ There is an update in progress.
--
-- @false:@ There are no updates currently in progress.
environmentDescription_abortableOperationInProgress :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Bool)
environmentDescription_abortableOperationInProgress :: Lens' EnvironmentDescription (Maybe Bool)
environmentDescription_abortableOperationInProgress = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Bool
abortableOperationInProgress :: Maybe Bool
$sel:abortableOperationInProgress:EnvironmentDescription' :: EnvironmentDescription -> Maybe Bool
abortableOperationInProgress} -> Maybe Bool
abortableOperationInProgress) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Bool
a -> EnvironmentDescription
s {$sel:abortableOperationInProgress:EnvironmentDescription' :: Maybe Bool
abortableOperationInProgress = Maybe Bool
a} :: EnvironmentDescription)

-- | The name of the application associated with this environment.
environmentDescription_applicationName :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_applicationName :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_applicationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
applicationName :: Maybe Text
$sel:applicationName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
applicationName} -> Maybe Text
applicationName) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:applicationName:EnvironmentDescription' :: Maybe Text
applicationName = Maybe Text
a} :: EnvironmentDescription)

-- | The URL to the CNAME for this environment.
environmentDescription_cname :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_cname :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_cname = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
cname :: Maybe Text
$sel:cname:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
cname} -> Maybe Text
cname) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:cname:EnvironmentDescription' :: Maybe Text
cname = Maybe Text
a} :: EnvironmentDescription)

-- | The creation date for this environment.
environmentDescription_dateCreated :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.UTCTime)
environmentDescription_dateCreated :: Lens' EnvironmentDescription (Maybe UTCTime)
environmentDescription_dateCreated = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe ISO8601
dateCreated :: Maybe ISO8601
$sel:dateCreated:EnvironmentDescription' :: EnvironmentDescription -> Maybe ISO8601
dateCreated} -> Maybe ISO8601
dateCreated) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe ISO8601
a -> EnvironmentDescription
s {$sel:dateCreated:EnvironmentDescription' :: Maybe ISO8601
dateCreated = Maybe ISO8601
a} :: EnvironmentDescription) 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 last modified date for this environment.
environmentDescription_dateUpdated :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.UTCTime)
environmentDescription_dateUpdated :: Lens' EnvironmentDescription (Maybe UTCTime)
environmentDescription_dateUpdated = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe ISO8601
dateUpdated :: Maybe ISO8601
$sel:dateUpdated:EnvironmentDescription' :: EnvironmentDescription -> Maybe ISO8601
dateUpdated} -> Maybe ISO8601
dateUpdated) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe ISO8601
a -> EnvironmentDescription
s {$sel:dateUpdated:EnvironmentDescription' :: Maybe ISO8601
dateUpdated = Maybe ISO8601
a} :: EnvironmentDescription) 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

-- | Describes this environment.
environmentDescription_description :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_description :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
description :: Maybe Text
$sel:description:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
description} -> Maybe Text
description) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:description:EnvironmentDescription' :: Maybe Text
description = Maybe Text
a} :: EnvironmentDescription)

-- | For load-balanced, autoscaling environments, the URL to the
-- LoadBalancer. For single-instance environments, the IP address of the
-- instance.
environmentDescription_endpointURL :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_endpointURL :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_endpointURL = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
endpointURL :: Maybe Text
$sel:endpointURL:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
endpointURL} -> Maybe Text
endpointURL) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:endpointURL:EnvironmentDescription' :: Maybe Text
endpointURL = Maybe Text
a} :: EnvironmentDescription)

-- | The environment\'s Amazon Resource Name (ARN), which can be used in
-- other API requests that require an ARN.
environmentDescription_environmentArn :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_environmentArn :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_environmentArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
environmentArn :: Maybe Text
$sel:environmentArn:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
environmentArn} -> Maybe Text
environmentArn) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:environmentArn:EnvironmentDescription' :: Maybe Text
environmentArn = Maybe Text
a} :: EnvironmentDescription)

-- | The ID of this environment.
environmentDescription_environmentId :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_environmentId :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_environmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
environmentId :: Maybe Text
$sel:environmentId:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
environmentId} -> Maybe Text
environmentId) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:environmentId:EnvironmentDescription' :: Maybe Text
environmentId = Maybe Text
a} :: EnvironmentDescription)

-- | A list of links to other environments in the same group.
environmentDescription_environmentLinks :: Lens.Lens' EnvironmentDescription (Prelude.Maybe [EnvironmentLink])
environmentDescription_environmentLinks :: Lens' EnvironmentDescription (Maybe [EnvironmentLink])
environmentDescription_environmentLinks = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe [EnvironmentLink]
environmentLinks :: Maybe [EnvironmentLink]
$sel:environmentLinks:EnvironmentDescription' :: EnvironmentDescription -> Maybe [EnvironmentLink]
environmentLinks} -> Maybe [EnvironmentLink]
environmentLinks) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe [EnvironmentLink]
a -> EnvironmentDescription
s {$sel:environmentLinks:EnvironmentDescription' :: Maybe [EnvironmentLink]
environmentLinks = Maybe [EnvironmentLink]
a} :: EnvironmentDescription) 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 name of this environment.
environmentDescription_environmentName :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_environmentName :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_environmentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
environmentName :: Maybe Text
$sel:environmentName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
environmentName} -> Maybe Text
environmentName) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:environmentName:EnvironmentDescription' :: Maybe Text
environmentName = Maybe Text
a} :: EnvironmentDescription)

-- | Describes the health status of the environment. AWS Elastic Beanstalk
-- indicates the failure levels for a running environment:
--
-- -   @Red@: Indicates the environment is not responsive. Occurs when
--     three or more consecutive failures occur for an environment.
--
-- -   @Yellow@: Indicates that something is wrong. Occurs when two
--     consecutive failures occur for an environment.
--
-- -   @Green@: Indicates the environment is healthy and fully functional.
--
-- -   @Grey@: Default health for a new environment. The environment is not
--     fully launched and health checks have not started or health checks
--     are suspended during an @UpdateEnvironment@ or @RestartEnvironment@
--     request.
--
-- Default: @Grey@
environmentDescription_health :: Lens.Lens' EnvironmentDescription (Prelude.Maybe EnvironmentHealth)
environmentDescription_health :: Lens' EnvironmentDescription (Maybe EnvironmentHealth)
environmentDescription_health = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe EnvironmentHealth
health :: Maybe EnvironmentHealth
$sel:health:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentHealth
health} -> Maybe EnvironmentHealth
health) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe EnvironmentHealth
a -> EnvironmentDescription
s {$sel:health:EnvironmentDescription' :: Maybe EnvironmentHealth
health = Maybe EnvironmentHealth
a} :: EnvironmentDescription)

-- | Returns the health status of the application running in your
-- environment. For more information, see
-- <https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html Health Colors and Statuses>.
environmentDescription_healthStatus :: Lens.Lens' EnvironmentDescription (Prelude.Maybe EnvironmentHealthStatus)
environmentDescription_healthStatus :: Lens' EnvironmentDescription (Maybe EnvironmentHealthStatus)
environmentDescription_healthStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe EnvironmentHealthStatus
healthStatus :: Maybe EnvironmentHealthStatus
$sel:healthStatus:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentHealthStatus
healthStatus} -> Maybe EnvironmentHealthStatus
healthStatus) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe EnvironmentHealthStatus
a -> EnvironmentDescription
s {$sel:healthStatus:EnvironmentDescription' :: Maybe EnvironmentHealthStatus
healthStatus = Maybe EnvironmentHealthStatus
a} :: EnvironmentDescription)

-- | The Amazon Resource Name (ARN) of the environment\'s operations role.
-- For more information, see
-- <https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html Operations roles>
-- in the /AWS Elastic Beanstalk Developer Guide/.
environmentDescription_operationsRole :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_operationsRole :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_operationsRole = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
operationsRole :: Maybe Text
$sel:operationsRole:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
operationsRole} -> Maybe Text
operationsRole) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:operationsRole:EnvironmentDescription' :: Maybe Text
operationsRole = Maybe Text
a} :: EnvironmentDescription)

-- | The ARN of the platform version.
environmentDescription_platformArn :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_platformArn :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_platformArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
platformArn :: Maybe Text
$sel:platformArn:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
platformArn} -> Maybe Text
platformArn) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:platformArn:EnvironmentDescription' :: Maybe Text
platformArn = Maybe Text
a} :: EnvironmentDescription)

-- | The description of the AWS resources used by this environment.
environmentDescription_resources :: Lens.Lens' EnvironmentDescription (Prelude.Maybe EnvironmentResourcesDescription)
environmentDescription_resources :: Lens'
  EnvironmentDescription (Maybe EnvironmentResourcesDescription)
environmentDescription_resources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe EnvironmentResourcesDescription
resources :: Maybe EnvironmentResourcesDescription
$sel:resources:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentResourcesDescription
resources} -> Maybe EnvironmentResourcesDescription
resources) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe EnvironmentResourcesDescription
a -> EnvironmentDescription
s {$sel:resources:EnvironmentDescription' :: Maybe EnvironmentResourcesDescription
resources = Maybe EnvironmentResourcesDescription
a} :: EnvironmentDescription)

-- | The name of the @SolutionStack@ deployed with this environment.
environmentDescription_solutionStackName :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_solutionStackName :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_solutionStackName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
solutionStackName :: Maybe Text
$sel:solutionStackName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
solutionStackName} -> Maybe Text
solutionStackName) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:solutionStackName:EnvironmentDescription' :: Maybe Text
solutionStackName = Maybe Text
a} :: EnvironmentDescription)

-- | The current operational status of the environment:
--
-- -   @Launching@: Environment is in the process of initial deployment.
--
-- -   @Updating@: Environment is in the process of updating its
--     configuration settings or application version.
--
-- -   @Ready@: Environment is available to have an action performed on it,
--     such as update or terminate.
--
-- -   @Terminating@: Environment is in the shut-down process.
--
-- -   @Terminated@: Environment is not running.
environmentDescription_status :: Lens.Lens' EnvironmentDescription (Prelude.Maybe EnvironmentStatus)
environmentDescription_status :: Lens' EnvironmentDescription (Maybe EnvironmentStatus)
environmentDescription_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe EnvironmentStatus
status :: Maybe EnvironmentStatus
$sel:status:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentStatus
status} -> Maybe EnvironmentStatus
status) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe EnvironmentStatus
a -> EnvironmentDescription
s {$sel:status:EnvironmentDescription' :: Maybe EnvironmentStatus
status = Maybe EnvironmentStatus
a} :: EnvironmentDescription)

-- | The name of the configuration template used to originally launch this
-- environment.
environmentDescription_templateName :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_templateName :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_templateName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
templateName :: Maybe Text
$sel:templateName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
templateName} -> Maybe Text
templateName) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:templateName:EnvironmentDescription' :: Maybe Text
templateName = Maybe Text
a} :: EnvironmentDescription)

-- | Describes the current tier of this environment.
environmentDescription_tier :: Lens.Lens' EnvironmentDescription (Prelude.Maybe EnvironmentTier)
environmentDescription_tier :: Lens' EnvironmentDescription (Maybe EnvironmentTier)
environmentDescription_tier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe EnvironmentTier
tier :: Maybe EnvironmentTier
$sel:tier:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentTier
tier} -> Maybe EnvironmentTier
tier) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe EnvironmentTier
a -> EnvironmentDescription
s {$sel:tier:EnvironmentDescription' :: Maybe EnvironmentTier
tier = Maybe EnvironmentTier
a} :: EnvironmentDescription)

-- | The application version deployed in this environment.
environmentDescription_versionLabel :: Lens.Lens' EnvironmentDescription (Prelude.Maybe Prelude.Text)
environmentDescription_versionLabel :: Lens' EnvironmentDescription (Maybe Text)
environmentDescription_versionLabel = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnvironmentDescription' {Maybe Text
versionLabel :: Maybe Text
$sel:versionLabel:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
versionLabel} -> Maybe Text
versionLabel) (\s :: EnvironmentDescription
s@EnvironmentDescription' {} Maybe Text
a -> EnvironmentDescription
s {$sel:versionLabel:EnvironmentDescription' :: Maybe Text
versionLabel = Maybe Text
a} :: EnvironmentDescription)

instance Data.FromXML EnvironmentDescription where
  parseXML :: [Node] -> Either String EnvironmentDescription
parseXML [Node]
x =
    Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe ISO8601
-> Maybe ISO8601
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [EnvironmentLink]
-> Maybe Text
-> Maybe EnvironmentHealth
-> Maybe EnvironmentHealthStatus
-> Maybe Text
-> Maybe Text
-> Maybe EnvironmentResourcesDescription
-> Maybe Text
-> Maybe EnvironmentStatus
-> Maybe Text
-> Maybe EnvironmentTier
-> Maybe Text
-> EnvironmentDescription
EnvironmentDescription'
      forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AbortableOperationInProgress")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ApplicationName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"CNAME")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DateCreated")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DateUpdated")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Description")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EndpointURL")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EnvironmentArn")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EnvironmentId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EnvironmentLinks"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EnvironmentName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Health")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"HealthStatus")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"OperationsRole")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PlatformArn")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Resources")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"SolutionStackName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Status")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"TemplateName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Tier")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"VersionLabel")

instance Prelude.Hashable EnvironmentDescription where
  hashWithSalt :: Int -> EnvironmentDescription -> Int
hashWithSalt Int
_salt EnvironmentDescription' {Maybe Bool
Maybe [EnvironmentLink]
Maybe Text
Maybe ISO8601
Maybe EnvironmentHealth
Maybe EnvironmentHealthStatus
Maybe EnvironmentStatus
Maybe EnvironmentTier
Maybe EnvironmentResourcesDescription
versionLabel :: Maybe Text
tier :: Maybe EnvironmentTier
templateName :: Maybe Text
status :: Maybe EnvironmentStatus
solutionStackName :: Maybe Text
resources :: Maybe EnvironmentResourcesDescription
platformArn :: Maybe Text
operationsRole :: Maybe Text
healthStatus :: Maybe EnvironmentHealthStatus
health :: Maybe EnvironmentHealth
environmentName :: Maybe Text
environmentLinks :: Maybe [EnvironmentLink]
environmentId :: Maybe Text
environmentArn :: Maybe Text
endpointURL :: Maybe Text
description :: Maybe Text
dateUpdated :: Maybe ISO8601
dateCreated :: Maybe ISO8601
cname :: Maybe Text
applicationName :: Maybe Text
abortableOperationInProgress :: Maybe Bool
$sel:versionLabel:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:tier:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentTier
$sel:templateName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:status:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentStatus
$sel:solutionStackName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:resources:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentResourcesDescription
$sel:platformArn:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:operationsRole:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:healthStatus:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentHealthStatus
$sel:health:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentHealth
$sel:environmentName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:environmentLinks:EnvironmentDescription' :: EnvironmentDescription -> Maybe [EnvironmentLink]
$sel:environmentId:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:environmentArn:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:endpointURL:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:description:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:dateUpdated:EnvironmentDescription' :: EnvironmentDescription -> Maybe ISO8601
$sel:dateCreated:EnvironmentDescription' :: EnvironmentDescription -> Maybe ISO8601
$sel:cname:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:applicationName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:abortableOperationInProgress:EnvironmentDescription' :: EnvironmentDescription -> Maybe Bool
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
abortableOperationInProgress
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
applicationName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
cname
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
dateCreated
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
dateUpdated
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
endpointURL
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
environmentArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
environmentId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [EnvironmentLink]
environmentLinks
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
environmentName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EnvironmentHealth
health
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EnvironmentHealthStatus
healthStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
operationsRole
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
platformArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EnvironmentResourcesDescription
resources
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
solutionStackName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EnvironmentStatus
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
templateName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EnvironmentTier
tier
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
versionLabel

instance Prelude.NFData EnvironmentDescription where
  rnf :: EnvironmentDescription -> ()
rnf EnvironmentDescription' {Maybe Bool
Maybe [EnvironmentLink]
Maybe Text
Maybe ISO8601
Maybe EnvironmentHealth
Maybe EnvironmentHealthStatus
Maybe EnvironmentStatus
Maybe EnvironmentTier
Maybe EnvironmentResourcesDescription
versionLabel :: Maybe Text
tier :: Maybe EnvironmentTier
templateName :: Maybe Text
status :: Maybe EnvironmentStatus
solutionStackName :: Maybe Text
resources :: Maybe EnvironmentResourcesDescription
platformArn :: Maybe Text
operationsRole :: Maybe Text
healthStatus :: Maybe EnvironmentHealthStatus
health :: Maybe EnvironmentHealth
environmentName :: Maybe Text
environmentLinks :: Maybe [EnvironmentLink]
environmentId :: Maybe Text
environmentArn :: Maybe Text
endpointURL :: Maybe Text
description :: Maybe Text
dateUpdated :: Maybe ISO8601
dateCreated :: Maybe ISO8601
cname :: Maybe Text
applicationName :: Maybe Text
abortableOperationInProgress :: Maybe Bool
$sel:versionLabel:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:tier:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentTier
$sel:templateName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:status:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentStatus
$sel:solutionStackName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:resources:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentResourcesDescription
$sel:platformArn:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:operationsRole:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:healthStatus:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentHealthStatus
$sel:health:EnvironmentDescription' :: EnvironmentDescription -> Maybe EnvironmentHealth
$sel:environmentName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:environmentLinks:EnvironmentDescription' :: EnvironmentDescription -> Maybe [EnvironmentLink]
$sel:environmentId:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:environmentArn:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:endpointURL:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:description:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:dateUpdated:EnvironmentDescription' :: EnvironmentDescription -> Maybe ISO8601
$sel:dateCreated:EnvironmentDescription' :: EnvironmentDescription -> Maybe ISO8601
$sel:cname:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:applicationName:EnvironmentDescription' :: EnvironmentDescription -> Maybe Text
$sel:abortableOperationInProgress:EnvironmentDescription' :: EnvironmentDescription -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
abortableOperationInProgress
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
applicationName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
cname
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
dateCreated
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
dateUpdated
      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
endpointURL
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
environmentArn
      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 [EnvironmentLink]
environmentLinks
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
environmentName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EnvironmentHealth
health
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EnvironmentHealthStatus
healthStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
operationsRole
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
platformArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EnvironmentResourcesDescription
resources
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
solutionStackName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EnvironmentStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
templateName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EnvironmentTier
tier
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
versionLabel