{-# 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.PlatformSummary
-- 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.PlatformSummary 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.PlatformStatus
import qualified Amazonka.Prelude as Prelude

-- | Summary information about a platform version.
--
-- /See:/ 'newPlatformSummary' smart constructor.
data PlatformSummary = PlatformSummary'
  { -- | The operating system used by the platform version.
    PlatformSummary -> Maybe Text
operatingSystemName :: Prelude.Maybe Prelude.Text,
    -- | The version of the operating system used by the platform version.
    PlatformSummary -> Maybe Text
operatingSystemVersion :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the platform version.
    PlatformSummary -> Maybe Text
platformArn :: Prelude.Maybe Prelude.Text,
    -- | The state of the platform version\'s branch in its lifecycle.
    --
    -- Possible values: @beta@ | @supported@ | @deprecated@ | @retired@
    PlatformSummary -> Maybe Text
platformBranchLifecycleState :: Prelude.Maybe Prelude.Text,
    -- | The platform branch to which the platform version belongs.
    PlatformSummary -> Maybe Text
platformBranchName :: Prelude.Maybe Prelude.Text,
    -- | The category of platform version.
    PlatformSummary -> Maybe Text
platformCategory :: Prelude.Maybe Prelude.Text,
    -- | The state of the platform version in its lifecycle.
    --
    -- Possible values: @recommended@ | empty
    --
    -- If an empty value is returned, the platform version is supported but
    -- isn\'t the recommended one for its branch.
    PlatformSummary -> Maybe Text
platformLifecycleState :: Prelude.Maybe Prelude.Text,
    -- | The AWS account ID of the person who created the platform version.
    PlatformSummary -> Maybe Text
platformOwner :: Prelude.Maybe Prelude.Text,
    -- | The status of the platform version. You can create an environment from
    -- the platform version once it is ready.
    PlatformSummary -> Maybe PlatformStatus
platformStatus :: Prelude.Maybe PlatformStatus,
    -- | The version string of the platform version.
    PlatformSummary -> Maybe Text
platformVersion :: Prelude.Maybe Prelude.Text,
    -- | The additions associated with the platform version.
    PlatformSummary -> Maybe [Text]
supportedAddonList :: Prelude.Maybe [Prelude.Text],
    -- | The tiers in which the platform version runs.
    PlatformSummary -> Maybe [Text]
supportedTierList :: Prelude.Maybe [Prelude.Text]
  }
  deriving (PlatformSummary -> PlatformSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PlatformSummary -> PlatformSummary -> Bool
$c/= :: PlatformSummary -> PlatformSummary -> Bool
== :: PlatformSummary -> PlatformSummary -> Bool
$c== :: PlatformSummary -> PlatformSummary -> Bool
Prelude.Eq, ReadPrec [PlatformSummary]
ReadPrec PlatformSummary
Int -> ReadS PlatformSummary
ReadS [PlatformSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PlatformSummary]
$creadListPrec :: ReadPrec [PlatformSummary]
readPrec :: ReadPrec PlatformSummary
$creadPrec :: ReadPrec PlatformSummary
readList :: ReadS [PlatformSummary]
$creadList :: ReadS [PlatformSummary]
readsPrec :: Int -> ReadS PlatformSummary
$creadsPrec :: Int -> ReadS PlatformSummary
Prelude.Read, Int -> PlatformSummary -> ShowS
[PlatformSummary] -> ShowS
PlatformSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PlatformSummary] -> ShowS
$cshowList :: [PlatformSummary] -> ShowS
show :: PlatformSummary -> String
$cshow :: PlatformSummary -> String
showsPrec :: Int -> PlatformSummary -> ShowS
$cshowsPrec :: Int -> PlatformSummary -> ShowS
Prelude.Show, forall x. Rep PlatformSummary x -> PlatformSummary
forall x. PlatformSummary -> Rep PlatformSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PlatformSummary x -> PlatformSummary
$cfrom :: forall x. PlatformSummary -> Rep PlatformSummary x
Prelude.Generic)

-- |
-- Create a value of 'PlatformSummary' 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:
--
-- 'operatingSystemName', 'platformSummary_operatingSystemName' - The operating system used by the platform version.
--
-- 'operatingSystemVersion', 'platformSummary_operatingSystemVersion' - The version of the operating system used by the platform version.
--
-- 'platformArn', 'platformSummary_platformArn' - The ARN of the platform version.
--
-- 'platformBranchLifecycleState', 'platformSummary_platformBranchLifecycleState' - The state of the platform version\'s branch in its lifecycle.
--
-- Possible values: @beta@ | @supported@ | @deprecated@ | @retired@
--
-- 'platformBranchName', 'platformSummary_platformBranchName' - The platform branch to which the platform version belongs.
--
-- 'platformCategory', 'platformSummary_platformCategory' - The category of platform version.
--
-- 'platformLifecycleState', 'platformSummary_platformLifecycleState' - The state of the platform version in its lifecycle.
--
-- Possible values: @recommended@ | empty
--
-- If an empty value is returned, the platform version is supported but
-- isn\'t the recommended one for its branch.
--
-- 'platformOwner', 'platformSummary_platformOwner' - The AWS account ID of the person who created the platform version.
--
-- 'platformStatus', 'platformSummary_platformStatus' - The status of the platform version. You can create an environment from
-- the platform version once it is ready.
--
-- 'platformVersion', 'platformSummary_platformVersion' - The version string of the platform version.
--
-- 'supportedAddonList', 'platformSummary_supportedAddonList' - The additions associated with the platform version.
--
-- 'supportedTierList', 'platformSummary_supportedTierList' - The tiers in which the platform version runs.
newPlatformSummary ::
  PlatformSummary
newPlatformSummary :: PlatformSummary
newPlatformSummary =
  PlatformSummary'
    { $sel:operatingSystemName:PlatformSummary' :: Maybe Text
operatingSystemName =
        forall a. Maybe a
Prelude.Nothing,
      $sel:operatingSystemVersion:PlatformSummary' :: Maybe Text
operatingSystemVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:platformArn:PlatformSummary' :: Maybe Text
platformArn = forall a. Maybe a
Prelude.Nothing,
      $sel:platformBranchLifecycleState:PlatformSummary' :: Maybe Text
platformBranchLifecycleState = forall a. Maybe a
Prelude.Nothing,
      $sel:platformBranchName:PlatformSummary' :: Maybe Text
platformBranchName = forall a. Maybe a
Prelude.Nothing,
      $sel:platformCategory:PlatformSummary' :: Maybe Text
platformCategory = forall a. Maybe a
Prelude.Nothing,
      $sel:platformLifecycleState:PlatformSummary' :: Maybe Text
platformLifecycleState = forall a. Maybe a
Prelude.Nothing,
      $sel:platformOwner:PlatformSummary' :: Maybe Text
platformOwner = forall a. Maybe a
Prelude.Nothing,
      $sel:platformStatus:PlatformSummary' :: Maybe PlatformStatus
platformStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:platformVersion:PlatformSummary' :: Maybe Text
platformVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:supportedAddonList:PlatformSummary' :: Maybe [Text]
supportedAddonList = forall a. Maybe a
Prelude.Nothing,
      $sel:supportedTierList:PlatformSummary' :: Maybe [Text]
supportedTierList = forall a. Maybe a
Prelude.Nothing
    }

-- | The operating system used by the platform version.
platformSummary_operatingSystemName :: Lens.Lens' PlatformSummary (Prelude.Maybe Prelude.Text)
platformSummary_operatingSystemName :: Lens' PlatformSummary (Maybe Text)
platformSummary_operatingSystemName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe Text
operatingSystemName :: Maybe Text
$sel:operatingSystemName:PlatformSummary' :: PlatformSummary -> Maybe Text
operatingSystemName} -> Maybe Text
operatingSystemName) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe Text
a -> PlatformSummary
s {$sel:operatingSystemName:PlatformSummary' :: Maybe Text
operatingSystemName = Maybe Text
a} :: PlatformSummary)

-- | The version of the operating system used by the platform version.
platformSummary_operatingSystemVersion :: Lens.Lens' PlatformSummary (Prelude.Maybe Prelude.Text)
platformSummary_operatingSystemVersion :: Lens' PlatformSummary (Maybe Text)
platformSummary_operatingSystemVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe Text
operatingSystemVersion :: Maybe Text
$sel:operatingSystemVersion:PlatformSummary' :: PlatformSummary -> Maybe Text
operatingSystemVersion} -> Maybe Text
operatingSystemVersion) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe Text
a -> PlatformSummary
s {$sel:operatingSystemVersion:PlatformSummary' :: Maybe Text
operatingSystemVersion = Maybe Text
a} :: PlatformSummary)

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

-- | The state of the platform version\'s branch in its lifecycle.
--
-- Possible values: @beta@ | @supported@ | @deprecated@ | @retired@
platformSummary_platformBranchLifecycleState :: Lens.Lens' PlatformSummary (Prelude.Maybe Prelude.Text)
platformSummary_platformBranchLifecycleState :: Lens' PlatformSummary (Maybe Text)
platformSummary_platformBranchLifecycleState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe Text
platformBranchLifecycleState :: Maybe Text
$sel:platformBranchLifecycleState:PlatformSummary' :: PlatformSummary -> Maybe Text
platformBranchLifecycleState} -> Maybe Text
platformBranchLifecycleState) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe Text
a -> PlatformSummary
s {$sel:platformBranchLifecycleState:PlatformSummary' :: Maybe Text
platformBranchLifecycleState = Maybe Text
a} :: PlatformSummary)

-- | The platform branch to which the platform version belongs.
platformSummary_platformBranchName :: Lens.Lens' PlatformSummary (Prelude.Maybe Prelude.Text)
platformSummary_platformBranchName :: Lens' PlatformSummary (Maybe Text)
platformSummary_platformBranchName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe Text
platformBranchName :: Maybe Text
$sel:platformBranchName:PlatformSummary' :: PlatformSummary -> Maybe Text
platformBranchName} -> Maybe Text
platformBranchName) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe Text
a -> PlatformSummary
s {$sel:platformBranchName:PlatformSummary' :: Maybe Text
platformBranchName = Maybe Text
a} :: PlatformSummary)

-- | The category of platform version.
platformSummary_platformCategory :: Lens.Lens' PlatformSummary (Prelude.Maybe Prelude.Text)
platformSummary_platformCategory :: Lens' PlatformSummary (Maybe Text)
platformSummary_platformCategory = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe Text
platformCategory :: Maybe Text
$sel:platformCategory:PlatformSummary' :: PlatformSummary -> Maybe Text
platformCategory} -> Maybe Text
platformCategory) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe Text
a -> PlatformSummary
s {$sel:platformCategory:PlatformSummary' :: Maybe Text
platformCategory = Maybe Text
a} :: PlatformSummary)

-- | The state of the platform version in its lifecycle.
--
-- Possible values: @recommended@ | empty
--
-- If an empty value is returned, the platform version is supported but
-- isn\'t the recommended one for its branch.
platformSummary_platformLifecycleState :: Lens.Lens' PlatformSummary (Prelude.Maybe Prelude.Text)
platformSummary_platformLifecycleState :: Lens' PlatformSummary (Maybe Text)
platformSummary_platformLifecycleState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe Text
platformLifecycleState :: Maybe Text
$sel:platformLifecycleState:PlatformSummary' :: PlatformSummary -> Maybe Text
platformLifecycleState} -> Maybe Text
platformLifecycleState) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe Text
a -> PlatformSummary
s {$sel:platformLifecycleState:PlatformSummary' :: Maybe Text
platformLifecycleState = Maybe Text
a} :: PlatformSummary)

-- | The AWS account ID of the person who created the platform version.
platformSummary_platformOwner :: Lens.Lens' PlatformSummary (Prelude.Maybe Prelude.Text)
platformSummary_platformOwner :: Lens' PlatformSummary (Maybe Text)
platformSummary_platformOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe Text
platformOwner :: Maybe Text
$sel:platformOwner:PlatformSummary' :: PlatformSummary -> Maybe Text
platformOwner} -> Maybe Text
platformOwner) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe Text
a -> PlatformSummary
s {$sel:platformOwner:PlatformSummary' :: Maybe Text
platformOwner = Maybe Text
a} :: PlatformSummary)

-- | The status of the platform version. You can create an environment from
-- the platform version once it is ready.
platformSummary_platformStatus :: Lens.Lens' PlatformSummary (Prelude.Maybe PlatformStatus)
platformSummary_platformStatus :: Lens' PlatformSummary (Maybe PlatformStatus)
platformSummary_platformStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe PlatformStatus
platformStatus :: Maybe PlatformStatus
$sel:platformStatus:PlatformSummary' :: PlatformSummary -> Maybe PlatformStatus
platformStatus} -> Maybe PlatformStatus
platformStatus) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe PlatformStatus
a -> PlatformSummary
s {$sel:platformStatus:PlatformSummary' :: Maybe PlatformStatus
platformStatus = Maybe PlatformStatus
a} :: PlatformSummary)

-- | The version string of the platform version.
platformSummary_platformVersion :: Lens.Lens' PlatformSummary (Prelude.Maybe Prelude.Text)
platformSummary_platformVersion :: Lens' PlatformSummary (Maybe Text)
platformSummary_platformVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe Text
platformVersion :: Maybe Text
$sel:platformVersion:PlatformSummary' :: PlatformSummary -> Maybe Text
platformVersion} -> Maybe Text
platformVersion) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe Text
a -> PlatformSummary
s {$sel:platformVersion:PlatformSummary' :: Maybe Text
platformVersion = Maybe Text
a} :: PlatformSummary)

-- | The additions associated with the platform version.
platformSummary_supportedAddonList :: Lens.Lens' PlatformSummary (Prelude.Maybe [Prelude.Text])
platformSummary_supportedAddonList :: Lens' PlatformSummary (Maybe [Text])
platformSummary_supportedAddonList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe [Text]
supportedAddonList :: Maybe [Text]
$sel:supportedAddonList:PlatformSummary' :: PlatformSummary -> Maybe [Text]
supportedAddonList} -> Maybe [Text]
supportedAddonList) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe [Text]
a -> PlatformSummary
s {$sel:supportedAddonList:PlatformSummary' :: Maybe [Text]
supportedAddonList = Maybe [Text]
a} :: PlatformSummary) 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 tiers in which the platform version runs.
platformSummary_supportedTierList :: Lens.Lens' PlatformSummary (Prelude.Maybe [Prelude.Text])
platformSummary_supportedTierList :: Lens' PlatformSummary (Maybe [Text])
platformSummary_supportedTierList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PlatformSummary' {Maybe [Text]
supportedTierList :: Maybe [Text]
$sel:supportedTierList:PlatformSummary' :: PlatformSummary -> Maybe [Text]
supportedTierList} -> Maybe [Text]
supportedTierList) (\s :: PlatformSummary
s@PlatformSummary' {} Maybe [Text]
a -> PlatformSummary
s {$sel:supportedTierList:PlatformSummary' :: Maybe [Text]
supportedTierList = Maybe [Text]
a} :: PlatformSummary) 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

instance Data.FromXML PlatformSummary where
  parseXML :: [Node] -> Either String PlatformSummary
parseXML [Node]
x =
    Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlatformStatus
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> PlatformSummary
PlatformSummary'
      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
"OperatingSystemName")
      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
"OperatingSystemVersion")
      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
"PlatformBranchLifecycleState")
      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
"PlatformBranchName")
      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
"PlatformCategory")
      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
"PlatformLifecycleState")
      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
"PlatformOwner")
      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
"PlatformStatus")
      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
"PlatformVersion")
      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
"SupportedAddonList"
                      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
"SupportedTierList"
                      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")
                  )

instance Prelude.Hashable PlatformSummary where
  hashWithSalt :: Int -> PlatformSummary -> Int
hashWithSalt Int
_salt PlatformSummary' {Maybe [Text]
Maybe Text
Maybe PlatformStatus
supportedTierList :: Maybe [Text]
supportedAddonList :: Maybe [Text]
platformVersion :: Maybe Text
platformStatus :: Maybe PlatformStatus
platformOwner :: Maybe Text
platformLifecycleState :: Maybe Text
platformCategory :: Maybe Text
platformBranchName :: Maybe Text
platformBranchLifecycleState :: Maybe Text
platformArn :: Maybe Text
operatingSystemVersion :: Maybe Text
operatingSystemName :: Maybe Text
$sel:supportedTierList:PlatformSummary' :: PlatformSummary -> Maybe [Text]
$sel:supportedAddonList:PlatformSummary' :: PlatformSummary -> Maybe [Text]
$sel:platformVersion:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformStatus:PlatformSummary' :: PlatformSummary -> Maybe PlatformStatus
$sel:platformOwner:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformLifecycleState:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformCategory:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformBranchName:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformBranchLifecycleState:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformArn:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:operatingSystemVersion:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:operatingSystemName:PlatformSummary' :: PlatformSummary -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
operatingSystemName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
operatingSystemVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
platformArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
platformBranchLifecycleState
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
platformBranchName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
platformCategory
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
platformLifecycleState
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
platformOwner
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PlatformStatus
platformStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
platformVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
supportedAddonList
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
supportedTierList

instance Prelude.NFData PlatformSummary where
  rnf :: PlatformSummary -> ()
rnf PlatformSummary' {Maybe [Text]
Maybe Text
Maybe PlatformStatus
supportedTierList :: Maybe [Text]
supportedAddonList :: Maybe [Text]
platformVersion :: Maybe Text
platformStatus :: Maybe PlatformStatus
platformOwner :: Maybe Text
platformLifecycleState :: Maybe Text
platformCategory :: Maybe Text
platformBranchName :: Maybe Text
platformBranchLifecycleState :: Maybe Text
platformArn :: Maybe Text
operatingSystemVersion :: Maybe Text
operatingSystemName :: Maybe Text
$sel:supportedTierList:PlatformSummary' :: PlatformSummary -> Maybe [Text]
$sel:supportedAddonList:PlatformSummary' :: PlatformSummary -> Maybe [Text]
$sel:platformVersion:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformStatus:PlatformSummary' :: PlatformSummary -> Maybe PlatformStatus
$sel:platformOwner:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformLifecycleState:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformCategory:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformBranchName:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformBranchLifecycleState:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:platformArn:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:operatingSystemVersion:PlatformSummary' :: PlatformSummary -> Maybe Text
$sel:operatingSystemName:PlatformSummary' :: PlatformSummary -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
operatingSystemName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
operatingSystemVersion
      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 Text
platformBranchLifecycleState
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
platformBranchName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
platformCategory
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
platformLifecycleState
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
platformOwner
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PlatformStatus
platformStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
platformVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
supportedAddonList
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
supportedTierList