amazonka-securityhub-2.0: gen/Amazonka/SecurityHub/Types/AwsElasticBeanstalkEnvironmentDetails.hs
{-# 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.SecurityHub.Types.AwsElasticBeanstalkEnvironmentDetails
-- 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.SecurityHub.Types.AwsElasticBeanstalkEnvironmentDetails 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.SecurityHub.Types.AwsElasticBeanstalkEnvironmentEnvironmentLink
import Amazonka.SecurityHub.Types.AwsElasticBeanstalkEnvironmentOptionSetting
import Amazonka.SecurityHub.Types.AwsElasticBeanstalkEnvironmentTier
-- | Contains details about an Elastic Beanstalk environment.
--
-- /See:/ 'newAwsElasticBeanstalkEnvironmentDetails' smart constructor.
data AwsElasticBeanstalkEnvironmentDetails = AwsElasticBeanstalkEnvironmentDetails'
{ -- | The name of the application that is associated with the environment.
applicationName :: Prelude.Maybe Prelude.Text,
-- | The URL to the CNAME for this environment.
cname :: Prelude.Maybe Prelude.Text,
-- | The creation date for this environment.
dateCreated :: Prelude.Maybe Prelude.Text,
-- | The date when this environment was last modified.
dateUpdated :: Prelude.Maybe Prelude.Text,
-- | A description of the environment.
description :: Prelude.Maybe Prelude.Text,
-- | For load-balanced, autoscaling environments, the URL to the load
-- balancer. For single-instance environments, the IP address of the
-- instance.
endpointUrl :: Prelude.Maybe Prelude.Text,
-- | The ARN of the environment.
environmentArn :: Prelude.Maybe Prelude.Text,
-- | The identifier of the environment.
environmentId :: Prelude.Maybe Prelude.Text,
-- | Links to other environments in the same group.
environmentLinks :: Prelude.Maybe [AwsElasticBeanstalkEnvironmentEnvironmentLink],
-- | The name of the environment.
environmentName :: Prelude.Maybe Prelude.Text,
-- | The configuration setting for the environment.
optionSettings :: Prelude.Maybe [AwsElasticBeanstalkEnvironmentOptionSetting],
-- | The ARN of the platform version for the environment.
platformArn :: Prelude.Maybe Prelude.Text,
-- | The name of the solution stack that is deployed with the environment.
solutionStackName :: Prelude.Maybe Prelude.Text,
-- | The current operational status of the environment. Valid values are as
-- follows:
--
-- - @Aborting@
--
-- - @Launching@
--
-- - @LinkingFrom@
--
-- - @LinkingTo@
--
-- - @Ready@
--
-- - @Terminated@
--
-- - @Terminating@
--
-- - @Updating@
status :: Prelude.Maybe Prelude.Text,
-- | The tier of the environment.
tier :: Prelude.Maybe AwsElasticBeanstalkEnvironmentTier,
-- | The application version of the environment.
versionLabel :: Prelude.Maybe Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'AwsElasticBeanstalkEnvironmentDetails' 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:
--
-- 'applicationName', 'awsElasticBeanstalkEnvironmentDetails_applicationName' - The name of the application that is associated with the environment.
--
-- 'cname', 'awsElasticBeanstalkEnvironmentDetails_cname' - The URL to the CNAME for this environment.
--
-- 'dateCreated', 'awsElasticBeanstalkEnvironmentDetails_dateCreated' - The creation date for this environment.
--
-- 'dateUpdated', 'awsElasticBeanstalkEnvironmentDetails_dateUpdated' - The date when this environment was last modified.
--
-- 'description', 'awsElasticBeanstalkEnvironmentDetails_description' - A description of the environment.
--
-- 'endpointUrl', 'awsElasticBeanstalkEnvironmentDetails_endpointUrl' - For load-balanced, autoscaling environments, the URL to the load
-- balancer. For single-instance environments, the IP address of the
-- instance.
--
-- 'environmentArn', 'awsElasticBeanstalkEnvironmentDetails_environmentArn' - The ARN of the environment.
--
-- 'environmentId', 'awsElasticBeanstalkEnvironmentDetails_environmentId' - The identifier of the environment.
--
-- 'environmentLinks', 'awsElasticBeanstalkEnvironmentDetails_environmentLinks' - Links to other environments in the same group.
--
-- 'environmentName', 'awsElasticBeanstalkEnvironmentDetails_environmentName' - The name of the environment.
--
-- 'optionSettings', 'awsElasticBeanstalkEnvironmentDetails_optionSettings' - The configuration setting for the environment.
--
-- 'platformArn', 'awsElasticBeanstalkEnvironmentDetails_platformArn' - The ARN of the platform version for the environment.
--
-- 'solutionStackName', 'awsElasticBeanstalkEnvironmentDetails_solutionStackName' - The name of the solution stack that is deployed with the environment.
--
-- 'status', 'awsElasticBeanstalkEnvironmentDetails_status' - The current operational status of the environment. Valid values are as
-- follows:
--
-- - @Aborting@
--
-- - @Launching@
--
-- - @LinkingFrom@
--
-- - @LinkingTo@
--
-- - @Ready@
--
-- - @Terminated@
--
-- - @Terminating@
--
-- - @Updating@
--
-- 'tier', 'awsElasticBeanstalkEnvironmentDetails_tier' - The tier of the environment.
--
-- 'versionLabel', 'awsElasticBeanstalkEnvironmentDetails_versionLabel' - The application version of the environment.
newAwsElasticBeanstalkEnvironmentDetails ::
AwsElasticBeanstalkEnvironmentDetails
newAwsElasticBeanstalkEnvironmentDetails =
AwsElasticBeanstalkEnvironmentDetails'
{ applicationName =
Prelude.Nothing,
cname = Prelude.Nothing,
dateCreated = Prelude.Nothing,
dateUpdated = Prelude.Nothing,
description = Prelude.Nothing,
endpointUrl = Prelude.Nothing,
environmentArn = Prelude.Nothing,
environmentId = Prelude.Nothing,
environmentLinks = Prelude.Nothing,
environmentName = Prelude.Nothing,
optionSettings = Prelude.Nothing,
platformArn = Prelude.Nothing,
solutionStackName = Prelude.Nothing,
status = Prelude.Nothing,
tier = Prelude.Nothing,
versionLabel = Prelude.Nothing
}
-- | The name of the application that is associated with the environment.
awsElasticBeanstalkEnvironmentDetails_applicationName :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_applicationName = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {applicationName} -> applicationName) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {applicationName = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The URL to the CNAME for this environment.
awsElasticBeanstalkEnvironmentDetails_cname :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_cname = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {cname} -> cname) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {cname = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The creation date for this environment.
awsElasticBeanstalkEnvironmentDetails_dateCreated :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_dateCreated = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {dateCreated} -> dateCreated) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {dateCreated = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The date when this environment was last modified.
awsElasticBeanstalkEnvironmentDetails_dateUpdated :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_dateUpdated = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {dateUpdated} -> dateUpdated) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {dateUpdated = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | A description of the environment.
awsElasticBeanstalkEnvironmentDetails_description :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_description = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {description} -> description) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {description = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | For load-balanced, autoscaling environments, the URL to the load
-- balancer. For single-instance environments, the IP address of the
-- instance.
awsElasticBeanstalkEnvironmentDetails_endpointUrl :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_endpointUrl = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {endpointUrl} -> endpointUrl) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {endpointUrl = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The ARN of the environment.
awsElasticBeanstalkEnvironmentDetails_environmentArn :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_environmentArn = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {environmentArn} -> environmentArn) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {environmentArn = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The identifier of the environment.
awsElasticBeanstalkEnvironmentDetails_environmentId :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_environmentId = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {environmentId} -> environmentId) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {environmentId = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | Links to other environments in the same group.
awsElasticBeanstalkEnvironmentDetails_environmentLinks :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe [AwsElasticBeanstalkEnvironmentEnvironmentLink])
awsElasticBeanstalkEnvironmentDetails_environmentLinks = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {environmentLinks} -> environmentLinks) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {environmentLinks = a} :: AwsElasticBeanstalkEnvironmentDetails) Prelude.. Lens.mapping Lens.coerced
-- | The name of the environment.
awsElasticBeanstalkEnvironmentDetails_environmentName :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_environmentName = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {environmentName} -> environmentName) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {environmentName = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The configuration setting for the environment.
awsElasticBeanstalkEnvironmentDetails_optionSettings :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe [AwsElasticBeanstalkEnvironmentOptionSetting])
awsElasticBeanstalkEnvironmentDetails_optionSettings = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {optionSettings} -> optionSettings) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {optionSettings = a} :: AwsElasticBeanstalkEnvironmentDetails) Prelude.. Lens.mapping Lens.coerced
-- | The ARN of the platform version for the environment.
awsElasticBeanstalkEnvironmentDetails_platformArn :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_platformArn = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {platformArn} -> platformArn) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {platformArn = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The name of the solution stack that is deployed with the environment.
awsElasticBeanstalkEnvironmentDetails_solutionStackName :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_solutionStackName = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {solutionStackName} -> solutionStackName) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {solutionStackName = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The current operational status of the environment. Valid values are as
-- follows:
--
-- - @Aborting@
--
-- - @Launching@
--
-- - @LinkingFrom@
--
-- - @LinkingTo@
--
-- - @Ready@
--
-- - @Terminated@
--
-- - @Terminating@
--
-- - @Updating@
awsElasticBeanstalkEnvironmentDetails_status :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_status = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {status} -> status) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {status = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The tier of the environment.
awsElasticBeanstalkEnvironmentDetails_tier :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe AwsElasticBeanstalkEnvironmentTier)
awsElasticBeanstalkEnvironmentDetails_tier = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {tier} -> tier) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {tier = a} :: AwsElasticBeanstalkEnvironmentDetails)
-- | The application version of the environment.
awsElasticBeanstalkEnvironmentDetails_versionLabel :: Lens.Lens' AwsElasticBeanstalkEnvironmentDetails (Prelude.Maybe Prelude.Text)
awsElasticBeanstalkEnvironmentDetails_versionLabel = Lens.lens (\AwsElasticBeanstalkEnvironmentDetails' {versionLabel} -> versionLabel) (\s@AwsElasticBeanstalkEnvironmentDetails' {} a -> s {versionLabel = a} :: AwsElasticBeanstalkEnvironmentDetails)
instance
Data.FromJSON
AwsElasticBeanstalkEnvironmentDetails
where
parseJSON =
Data.withObject
"AwsElasticBeanstalkEnvironmentDetails"
( \x ->
AwsElasticBeanstalkEnvironmentDetails'
Prelude.<$> (x Data..:? "ApplicationName")
Prelude.<*> (x Data..:? "Cname")
Prelude.<*> (x Data..:? "DateCreated")
Prelude.<*> (x Data..:? "DateUpdated")
Prelude.<*> (x Data..:? "Description")
Prelude.<*> (x Data..:? "EndpointUrl")
Prelude.<*> (x Data..:? "EnvironmentArn")
Prelude.<*> (x Data..:? "EnvironmentId")
Prelude.<*> ( x
Data..:? "EnvironmentLinks"
Data..!= Prelude.mempty
)
Prelude.<*> (x Data..:? "EnvironmentName")
Prelude.<*> (x Data..:? "OptionSettings" Data..!= Prelude.mempty)
Prelude.<*> (x Data..:? "PlatformArn")
Prelude.<*> (x Data..:? "SolutionStackName")
Prelude.<*> (x Data..:? "Status")
Prelude.<*> (x Data..:? "Tier")
Prelude.<*> (x Data..:? "VersionLabel")
)
instance
Prelude.Hashable
AwsElasticBeanstalkEnvironmentDetails
where
hashWithSalt
_salt
AwsElasticBeanstalkEnvironmentDetails' {..} =
_salt
`Prelude.hashWithSalt` applicationName
`Prelude.hashWithSalt` cname
`Prelude.hashWithSalt` dateCreated
`Prelude.hashWithSalt` dateUpdated
`Prelude.hashWithSalt` description
`Prelude.hashWithSalt` endpointUrl
`Prelude.hashWithSalt` environmentArn
`Prelude.hashWithSalt` environmentId
`Prelude.hashWithSalt` environmentLinks
`Prelude.hashWithSalt` environmentName
`Prelude.hashWithSalt` optionSettings
`Prelude.hashWithSalt` platformArn
`Prelude.hashWithSalt` solutionStackName
`Prelude.hashWithSalt` status
`Prelude.hashWithSalt` tier
`Prelude.hashWithSalt` versionLabel
instance
Prelude.NFData
AwsElasticBeanstalkEnvironmentDetails
where
rnf AwsElasticBeanstalkEnvironmentDetails' {..} =
Prelude.rnf applicationName
`Prelude.seq` Prelude.rnf cname
`Prelude.seq` Prelude.rnf dateCreated
`Prelude.seq` Prelude.rnf dateUpdated
`Prelude.seq` Prelude.rnf description
`Prelude.seq` Prelude.rnf endpointUrl
`Prelude.seq` Prelude.rnf environmentArn
`Prelude.seq` Prelude.rnf environmentId
`Prelude.seq` Prelude.rnf environmentLinks
`Prelude.seq` Prelude.rnf environmentName
`Prelude.seq` Prelude.rnf optionSettings
`Prelude.seq` Prelude.rnf platformArn
`Prelude.seq` Prelude.rnf solutionStackName
`Prelude.seq` Prelude.rnf status
`Prelude.seq` Prelude.rnf tier
`Prelude.seq` Prelude.rnf versionLabel
instance
Data.ToJSON
AwsElasticBeanstalkEnvironmentDetails
where
toJSON AwsElasticBeanstalkEnvironmentDetails' {..} =
Data.object
( Prelude.catMaybes
[ ("ApplicationName" Data..=)
Prelude.<$> applicationName,
("Cname" Data..=) Prelude.<$> cname,
("DateCreated" Data..=) Prelude.<$> dateCreated,
("DateUpdated" Data..=) Prelude.<$> dateUpdated,
("Description" Data..=) Prelude.<$> description,
("EndpointUrl" Data..=) Prelude.<$> endpointUrl,
("EnvironmentArn" Data..=)
Prelude.<$> environmentArn,
("EnvironmentId" Data..=) Prelude.<$> environmentId,
("EnvironmentLinks" Data..=)
Prelude.<$> environmentLinks,
("EnvironmentName" Data..=)
Prelude.<$> environmentName,
("OptionSettings" Data..=)
Prelude.<$> optionSettings,
("PlatformArn" Data..=) Prelude.<$> platformArn,
("SolutionStackName" Data..=)
Prelude.<$> solutionStackName,
("Status" Data..=) Prelude.<$> status,
("Tier" Data..=) Prelude.<$> tier,
("VersionLabel" Data..=) Prelude.<$> versionLabel
]
)