{-# 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.EC2.Types.DescribeFastLaunchImagesSuccessItem
-- 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.EC2.Types.DescribeFastLaunchImagesSuccessItem where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Internal
import Amazonka.EC2.Types.FastLaunchLaunchTemplateSpecificationResponse
import Amazonka.EC2.Types.FastLaunchResourceType
import Amazonka.EC2.Types.FastLaunchSnapshotConfigurationResponse
import Amazonka.EC2.Types.FastLaunchStateCode
import qualified Amazonka.Prelude as Prelude

-- | Describe details about a fast-launch enabled Windows image that meets
-- the requested criteria. Criteria are defined by the
-- @DescribeFastLaunchImages@ action filters.
--
-- /See:/ 'newDescribeFastLaunchImagesSuccessItem' smart constructor.
data DescribeFastLaunchImagesSuccessItem = DescribeFastLaunchImagesSuccessItem'
  { -- | The image ID that identifies the fast-launch enabled Windows image.
    DescribeFastLaunchImagesSuccessItem -> Maybe Text
imageId :: Prelude.Maybe Prelude.Text,
    -- | The launch template that the fast-launch enabled Windows AMI uses when
    -- it launches Windows instances from pre-provisioned snapshots.
    DescribeFastLaunchImagesSuccessItem
-> Maybe FastLaunchLaunchTemplateSpecificationResponse
launchTemplate :: Prelude.Maybe FastLaunchLaunchTemplateSpecificationResponse,
    -- | The maximum number of parallel instances that are launched for creating
    -- resources.
    DescribeFastLaunchImagesSuccessItem -> Maybe Int
maxParallelLaunches :: Prelude.Maybe Prelude.Int,
    -- | The owner ID for the fast-launch enabled Windows AMI.
    DescribeFastLaunchImagesSuccessItem -> Maybe Text
ownerId :: Prelude.Maybe Prelude.Text,
    -- | The resource type that is used for pre-provisioning the Windows AMI.
    -- Supported values include: @snapshot@.
    DescribeFastLaunchImagesSuccessItem -> Maybe FastLaunchResourceType
resourceType :: Prelude.Maybe FastLaunchResourceType,
    -- | A group of parameters that are used for pre-provisioning the associated
    -- Windows AMI using snapshots.
    DescribeFastLaunchImagesSuccessItem
-> Maybe FastLaunchSnapshotConfigurationResponse
snapshotConfiguration :: Prelude.Maybe FastLaunchSnapshotConfigurationResponse,
    -- | The current state of faster launching for the specified Windows AMI.
    DescribeFastLaunchImagesSuccessItem -> Maybe FastLaunchStateCode
state :: Prelude.Maybe FastLaunchStateCode,
    -- | The reason that faster launching for the Windows AMI changed to the
    -- current state.
    DescribeFastLaunchImagesSuccessItem -> Maybe Text
stateTransitionReason :: Prelude.Maybe Prelude.Text,
    -- | The time that faster launching for the Windows AMI changed to the
    -- current state.
    DescribeFastLaunchImagesSuccessItem -> Maybe ISO8601
stateTransitionTime :: Prelude.Maybe Data.ISO8601
  }
  deriving (DescribeFastLaunchImagesSuccessItem
-> DescribeFastLaunchImagesSuccessItem -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeFastLaunchImagesSuccessItem
-> DescribeFastLaunchImagesSuccessItem -> Bool
$c/= :: DescribeFastLaunchImagesSuccessItem
-> DescribeFastLaunchImagesSuccessItem -> Bool
== :: DescribeFastLaunchImagesSuccessItem
-> DescribeFastLaunchImagesSuccessItem -> Bool
$c== :: DescribeFastLaunchImagesSuccessItem
-> DescribeFastLaunchImagesSuccessItem -> Bool
Prelude.Eq, ReadPrec [DescribeFastLaunchImagesSuccessItem]
ReadPrec DescribeFastLaunchImagesSuccessItem
Int -> ReadS DescribeFastLaunchImagesSuccessItem
ReadS [DescribeFastLaunchImagesSuccessItem]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeFastLaunchImagesSuccessItem]
$creadListPrec :: ReadPrec [DescribeFastLaunchImagesSuccessItem]
readPrec :: ReadPrec DescribeFastLaunchImagesSuccessItem
$creadPrec :: ReadPrec DescribeFastLaunchImagesSuccessItem
readList :: ReadS [DescribeFastLaunchImagesSuccessItem]
$creadList :: ReadS [DescribeFastLaunchImagesSuccessItem]
readsPrec :: Int -> ReadS DescribeFastLaunchImagesSuccessItem
$creadsPrec :: Int -> ReadS DescribeFastLaunchImagesSuccessItem
Prelude.Read, Int -> DescribeFastLaunchImagesSuccessItem -> ShowS
[DescribeFastLaunchImagesSuccessItem] -> ShowS
DescribeFastLaunchImagesSuccessItem -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeFastLaunchImagesSuccessItem] -> ShowS
$cshowList :: [DescribeFastLaunchImagesSuccessItem] -> ShowS
show :: DescribeFastLaunchImagesSuccessItem -> String
$cshow :: DescribeFastLaunchImagesSuccessItem -> String
showsPrec :: Int -> DescribeFastLaunchImagesSuccessItem -> ShowS
$cshowsPrec :: Int -> DescribeFastLaunchImagesSuccessItem -> ShowS
Prelude.Show, forall x.
Rep DescribeFastLaunchImagesSuccessItem x
-> DescribeFastLaunchImagesSuccessItem
forall x.
DescribeFastLaunchImagesSuccessItem
-> Rep DescribeFastLaunchImagesSuccessItem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeFastLaunchImagesSuccessItem x
-> DescribeFastLaunchImagesSuccessItem
$cfrom :: forall x.
DescribeFastLaunchImagesSuccessItem
-> Rep DescribeFastLaunchImagesSuccessItem x
Prelude.Generic)

-- |
-- Create a value of 'DescribeFastLaunchImagesSuccessItem' 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:
--
-- 'imageId', 'describeFastLaunchImagesSuccessItem_imageId' - The image ID that identifies the fast-launch enabled Windows image.
--
-- 'launchTemplate', 'describeFastLaunchImagesSuccessItem_launchTemplate' - The launch template that the fast-launch enabled Windows AMI uses when
-- it launches Windows instances from pre-provisioned snapshots.
--
-- 'maxParallelLaunches', 'describeFastLaunchImagesSuccessItem_maxParallelLaunches' - The maximum number of parallel instances that are launched for creating
-- resources.
--
-- 'ownerId', 'describeFastLaunchImagesSuccessItem_ownerId' - The owner ID for the fast-launch enabled Windows AMI.
--
-- 'resourceType', 'describeFastLaunchImagesSuccessItem_resourceType' - The resource type that is used for pre-provisioning the Windows AMI.
-- Supported values include: @snapshot@.
--
-- 'snapshotConfiguration', 'describeFastLaunchImagesSuccessItem_snapshotConfiguration' - A group of parameters that are used for pre-provisioning the associated
-- Windows AMI using snapshots.
--
-- 'state', 'describeFastLaunchImagesSuccessItem_state' - The current state of faster launching for the specified Windows AMI.
--
-- 'stateTransitionReason', 'describeFastLaunchImagesSuccessItem_stateTransitionReason' - The reason that faster launching for the Windows AMI changed to the
-- current state.
--
-- 'stateTransitionTime', 'describeFastLaunchImagesSuccessItem_stateTransitionTime' - The time that faster launching for the Windows AMI changed to the
-- current state.
newDescribeFastLaunchImagesSuccessItem ::
  DescribeFastLaunchImagesSuccessItem
newDescribeFastLaunchImagesSuccessItem :: DescribeFastLaunchImagesSuccessItem
newDescribeFastLaunchImagesSuccessItem =
  DescribeFastLaunchImagesSuccessItem'
    { $sel:imageId:DescribeFastLaunchImagesSuccessItem' :: Maybe Text
imageId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:launchTemplate:DescribeFastLaunchImagesSuccessItem' :: Maybe FastLaunchLaunchTemplateSpecificationResponse
launchTemplate = forall a. Maybe a
Prelude.Nothing,
      $sel:maxParallelLaunches:DescribeFastLaunchImagesSuccessItem' :: Maybe Int
maxParallelLaunches = forall a. Maybe a
Prelude.Nothing,
      $sel:ownerId:DescribeFastLaunchImagesSuccessItem' :: Maybe Text
ownerId = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceType:DescribeFastLaunchImagesSuccessItem' :: Maybe FastLaunchResourceType
resourceType = forall a. Maybe a
Prelude.Nothing,
      $sel:snapshotConfiguration:DescribeFastLaunchImagesSuccessItem' :: Maybe FastLaunchSnapshotConfigurationResponse
snapshotConfiguration =
        forall a. Maybe a
Prelude.Nothing,
      $sel:state:DescribeFastLaunchImagesSuccessItem' :: Maybe FastLaunchStateCode
state = forall a. Maybe a
Prelude.Nothing,
      $sel:stateTransitionReason:DescribeFastLaunchImagesSuccessItem' :: Maybe Text
stateTransitionReason =
        forall a. Maybe a
Prelude.Nothing,
      $sel:stateTransitionTime:DescribeFastLaunchImagesSuccessItem' :: Maybe ISO8601
stateTransitionTime = forall a. Maybe a
Prelude.Nothing
    }

-- | The image ID that identifies the fast-launch enabled Windows image.
describeFastLaunchImagesSuccessItem_imageId :: Lens.Lens' DescribeFastLaunchImagesSuccessItem (Prelude.Maybe Prelude.Text)
describeFastLaunchImagesSuccessItem_imageId :: Lens' DescribeFastLaunchImagesSuccessItem (Maybe Text)
describeFastLaunchImagesSuccessItem_imageId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFastLaunchImagesSuccessItem' {Maybe Text
imageId :: Maybe Text
$sel:imageId:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Text
imageId} -> Maybe Text
imageId) (\s :: DescribeFastLaunchImagesSuccessItem
s@DescribeFastLaunchImagesSuccessItem' {} Maybe Text
a -> DescribeFastLaunchImagesSuccessItem
s {$sel:imageId:DescribeFastLaunchImagesSuccessItem' :: Maybe Text
imageId = Maybe Text
a} :: DescribeFastLaunchImagesSuccessItem)

-- | The launch template that the fast-launch enabled Windows AMI uses when
-- it launches Windows instances from pre-provisioned snapshots.
describeFastLaunchImagesSuccessItem_launchTemplate :: Lens.Lens' DescribeFastLaunchImagesSuccessItem (Prelude.Maybe FastLaunchLaunchTemplateSpecificationResponse)
describeFastLaunchImagesSuccessItem_launchTemplate :: Lens'
  DescribeFastLaunchImagesSuccessItem
  (Maybe FastLaunchLaunchTemplateSpecificationResponse)
describeFastLaunchImagesSuccessItem_launchTemplate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFastLaunchImagesSuccessItem' {Maybe FastLaunchLaunchTemplateSpecificationResponse
launchTemplate :: Maybe FastLaunchLaunchTemplateSpecificationResponse
$sel:launchTemplate:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem
-> Maybe FastLaunchLaunchTemplateSpecificationResponse
launchTemplate} -> Maybe FastLaunchLaunchTemplateSpecificationResponse
launchTemplate) (\s :: DescribeFastLaunchImagesSuccessItem
s@DescribeFastLaunchImagesSuccessItem' {} Maybe FastLaunchLaunchTemplateSpecificationResponse
a -> DescribeFastLaunchImagesSuccessItem
s {$sel:launchTemplate:DescribeFastLaunchImagesSuccessItem' :: Maybe FastLaunchLaunchTemplateSpecificationResponse
launchTemplate = Maybe FastLaunchLaunchTemplateSpecificationResponse
a} :: DescribeFastLaunchImagesSuccessItem)

-- | The maximum number of parallel instances that are launched for creating
-- resources.
describeFastLaunchImagesSuccessItem_maxParallelLaunches :: Lens.Lens' DescribeFastLaunchImagesSuccessItem (Prelude.Maybe Prelude.Int)
describeFastLaunchImagesSuccessItem_maxParallelLaunches :: Lens' DescribeFastLaunchImagesSuccessItem (Maybe Int)
describeFastLaunchImagesSuccessItem_maxParallelLaunches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFastLaunchImagesSuccessItem' {Maybe Int
maxParallelLaunches :: Maybe Int
$sel:maxParallelLaunches:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Int
maxParallelLaunches} -> Maybe Int
maxParallelLaunches) (\s :: DescribeFastLaunchImagesSuccessItem
s@DescribeFastLaunchImagesSuccessItem' {} Maybe Int
a -> DescribeFastLaunchImagesSuccessItem
s {$sel:maxParallelLaunches:DescribeFastLaunchImagesSuccessItem' :: Maybe Int
maxParallelLaunches = Maybe Int
a} :: DescribeFastLaunchImagesSuccessItem)

-- | The owner ID for the fast-launch enabled Windows AMI.
describeFastLaunchImagesSuccessItem_ownerId :: Lens.Lens' DescribeFastLaunchImagesSuccessItem (Prelude.Maybe Prelude.Text)
describeFastLaunchImagesSuccessItem_ownerId :: Lens' DescribeFastLaunchImagesSuccessItem (Maybe Text)
describeFastLaunchImagesSuccessItem_ownerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFastLaunchImagesSuccessItem' {Maybe Text
ownerId :: Maybe Text
$sel:ownerId:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Text
ownerId} -> Maybe Text
ownerId) (\s :: DescribeFastLaunchImagesSuccessItem
s@DescribeFastLaunchImagesSuccessItem' {} Maybe Text
a -> DescribeFastLaunchImagesSuccessItem
s {$sel:ownerId:DescribeFastLaunchImagesSuccessItem' :: Maybe Text
ownerId = Maybe Text
a} :: DescribeFastLaunchImagesSuccessItem)

-- | The resource type that is used for pre-provisioning the Windows AMI.
-- Supported values include: @snapshot@.
describeFastLaunchImagesSuccessItem_resourceType :: Lens.Lens' DescribeFastLaunchImagesSuccessItem (Prelude.Maybe FastLaunchResourceType)
describeFastLaunchImagesSuccessItem_resourceType :: Lens'
  DescribeFastLaunchImagesSuccessItem (Maybe FastLaunchResourceType)
describeFastLaunchImagesSuccessItem_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFastLaunchImagesSuccessItem' {Maybe FastLaunchResourceType
resourceType :: Maybe FastLaunchResourceType
$sel:resourceType:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe FastLaunchResourceType
resourceType} -> Maybe FastLaunchResourceType
resourceType) (\s :: DescribeFastLaunchImagesSuccessItem
s@DescribeFastLaunchImagesSuccessItem' {} Maybe FastLaunchResourceType
a -> DescribeFastLaunchImagesSuccessItem
s {$sel:resourceType:DescribeFastLaunchImagesSuccessItem' :: Maybe FastLaunchResourceType
resourceType = Maybe FastLaunchResourceType
a} :: DescribeFastLaunchImagesSuccessItem)

-- | A group of parameters that are used for pre-provisioning the associated
-- Windows AMI using snapshots.
describeFastLaunchImagesSuccessItem_snapshotConfiguration :: Lens.Lens' DescribeFastLaunchImagesSuccessItem (Prelude.Maybe FastLaunchSnapshotConfigurationResponse)
describeFastLaunchImagesSuccessItem_snapshotConfiguration :: Lens'
  DescribeFastLaunchImagesSuccessItem
  (Maybe FastLaunchSnapshotConfigurationResponse)
describeFastLaunchImagesSuccessItem_snapshotConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFastLaunchImagesSuccessItem' {Maybe FastLaunchSnapshotConfigurationResponse
snapshotConfiguration :: Maybe FastLaunchSnapshotConfigurationResponse
$sel:snapshotConfiguration:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem
-> Maybe FastLaunchSnapshotConfigurationResponse
snapshotConfiguration} -> Maybe FastLaunchSnapshotConfigurationResponse
snapshotConfiguration) (\s :: DescribeFastLaunchImagesSuccessItem
s@DescribeFastLaunchImagesSuccessItem' {} Maybe FastLaunchSnapshotConfigurationResponse
a -> DescribeFastLaunchImagesSuccessItem
s {$sel:snapshotConfiguration:DescribeFastLaunchImagesSuccessItem' :: Maybe FastLaunchSnapshotConfigurationResponse
snapshotConfiguration = Maybe FastLaunchSnapshotConfigurationResponse
a} :: DescribeFastLaunchImagesSuccessItem)

-- | The current state of faster launching for the specified Windows AMI.
describeFastLaunchImagesSuccessItem_state :: Lens.Lens' DescribeFastLaunchImagesSuccessItem (Prelude.Maybe FastLaunchStateCode)
describeFastLaunchImagesSuccessItem_state :: Lens'
  DescribeFastLaunchImagesSuccessItem (Maybe FastLaunchStateCode)
describeFastLaunchImagesSuccessItem_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFastLaunchImagesSuccessItem' {Maybe FastLaunchStateCode
state :: Maybe FastLaunchStateCode
$sel:state:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe FastLaunchStateCode
state} -> Maybe FastLaunchStateCode
state) (\s :: DescribeFastLaunchImagesSuccessItem
s@DescribeFastLaunchImagesSuccessItem' {} Maybe FastLaunchStateCode
a -> DescribeFastLaunchImagesSuccessItem
s {$sel:state:DescribeFastLaunchImagesSuccessItem' :: Maybe FastLaunchStateCode
state = Maybe FastLaunchStateCode
a} :: DescribeFastLaunchImagesSuccessItem)

-- | The reason that faster launching for the Windows AMI changed to the
-- current state.
describeFastLaunchImagesSuccessItem_stateTransitionReason :: Lens.Lens' DescribeFastLaunchImagesSuccessItem (Prelude.Maybe Prelude.Text)
describeFastLaunchImagesSuccessItem_stateTransitionReason :: Lens' DescribeFastLaunchImagesSuccessItem (Maybe Text)
describeFastLaunchImagesSuccessItem_stateTransitionReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFastLaunchImagesSuccessItem' {Maybe Text
stateTransitionReason :: Maybe Text
$sel:stateTransitionReason:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Text
stateTransitionReason} -> Maybe Text
stateTransitionReason) (\s :: DescribeFastLaunchImagesSuccessItem
s@DescribeFastLaunchImagesSuccessItem' {} Maybe Text
a -> DescribeFastLaunchImagesSuccessItem
s {$sel:stateTransitionReason:DescribeFastLaunchImagesSuccessItem' :: Maybe Text
stateTransitionReason = Maybe Text
a} :: DescribeFastLaunchImagesSuccessItem)

-- | The time that faster launching for the Windows AMI changed to the
-- current state.
describeFastLaunchImagesSuccessItem_stateTransitionTime :: Lens.Lens' DescribeFastLaunchImagesSuccessItem (Prelude.Maybe Prelude.UTCTime)
describeFastLaunchImagesSuccessItem_stateTransitionTime :: Lens' DescribeFastLaunchImagesSuccessItem (Maybe UTCTime)
describeFastLaunchImagesSuccessItem_stateTransitionTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFastLaunchImagesSuccessItem' {Maybe ISO8601
stateTransitionTime :: Maybe ISO8601
$sel:stateTransitionTime:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe ISO8601
stateTransitionTime} -> Maybe ISO8601
stateTransitionTime) (\s :: DescribeFastLaunchImagesSuccessItem
s@DescribeFastLaunchImagesSuccessItem' {} Maybe ISO8601
a -> DescribeFastLaunchImagesSuccessItem
s {$sel:stateTransitionTime:DescribeFastLaunchImagesSuccessItem' :: Maybe ISO8601
stateTransitionTime = Maybe ISO8601
a} :: DescribeFastLaunchImagesSuccessItem) 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

instance
  Data.FromXML
    DescribeFastLaunchImagesSuccessItem
  where
  parseXML :: [Node] -> Either String DescribeFastLaunchImagesSuccessItem
parseXML [Node]
x =
    Maybe Text
-> Maybe FastLaunchLaunchTemplateSpecificationResponse
-> Maybe Int
-> Maybe Text
-> Maybe FastLaunchResourceType
-> Maybe FastLaunchSnapshotConfigurationResponse
-> Maybe FastLaunchStateCode
-> Maybe Text
-> Maybe ISO8601
-> DescribeFastLaunchImagesSuccessItem
DescribeFastLaunchImagesSuccessItem'
      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
"imageId")
      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
"launchTemplate")
      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
"maxParallelLaunches")
      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
"ownerId")
      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
"resourceType")
      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
"snapshotConfiguration")
      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
"state")
      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
"stateTransitionReason")
      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
"stateTransitionTime")

instance
  Prelude.Hashable
    DescribeFastLaunchImagesSuccessItem
  where
  hashWithSalt :: Int -> DescribeFastLaunchImagesSuccessItem -> Int
hashWithSalt
    Int
_salt
    DescribeFastLaunchImagesSuccessItem' {Maybe Int
Maybe Text
Maybe ISO8601
Maybe FastLaunchLaunchTemplateSpecificationResponse
Maybe FastLaunchResourceType
Maybe FastLaunchSnapshotConfigurationResponse
Maybe FastLaunchStateCode
stateTransitionTime :: Maybe ISO8601
stateTransitionReason :: Maybe Text
state :: Maybe FastLaunchStateCode
snapshotConfiguration :: Maybe FastLaunchSnapshotConfigurationResponse
resourceType :: Maybe FastLaunchResourceType
ownerId :: Maybe Text
maxParallelLaunches :: Maybe Int
launchTemplate :: Maybe FastLaunchLaunchTemplateSpecificationResponse
imageId :: Maybe Text
$sel:stateTransitionTime:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe ISO8601
$sel:stateTransitionReason:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Text
$sel:state:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe FastLaunchStateCode
$sel:snapshotConfiguration:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem
-> Maybe FastLaunchSnapshotConfigurationResponse
$sel:resourceType:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe FastLaunchResourceType
$sel:ownerId:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Text
$sel:maxParallelLaunches:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Int
$sel:launchTemplate:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem
-> Maybe FastLaunchLaunchTemplateSpecificationResponse
$sel:imageId:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
imageId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FastLaunchLaunchTemplateSpecificationResponse
launchTemplate
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
maxParallelLaunches
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ownerId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FastLaunchResourceType
resourceType
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FastLaunchSnapshotConfigurationResponse
snapshotConfiguration
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FastLaunchStateCode
state
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
stateTransitionReason
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
stateTransitionTime

instance
  Prelude.NFData
    DescribeFastLaunchImagesSuccessItem
  where
  rnf :: DescribeFastLaunchImagesSuccessItem -> ()
rnf DescribeFastLaunchImagesSuccessItem' {Maybe Int
Maybe Text
Maybe ISO8601
Maybe FastLaunchLaunchTemplateSpecificationResponse
Maybe FastLaunchResourceType
Maybe FastLaunchSnapshotConfigurationResponse
Maybe FastLaunchStateCode
stateTransitionTime :: Maybe ISO8601
stateTransitionReason :: Maybe Text
state :: Maybe FastLaunchStateCode
snapshotConfiguration :: Maybe FastLaunchSnapshotConfigurationResponse
resourceType :: Maybe FastLaunchResourceType
ownerId :: Maybe Text
maxParallelLaunches :: Maybe Int
launchTemplate :: Maybe FastLaunchLaunchTemplateSpecificationResponse
imageId :: Maybe Text
$sel:stateTransitionTime:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe ISO8601
$sel:stateTransitionReason:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Text
$sel:state:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe FastLaunchStateCode
$sel:snapshotConfiguration:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem
-> Maybe FastLaunchSnapshotConfigurationResponse
$sel:resourceType:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe FastLaunchResourceType
$sel:ownerId:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Text
$sel:maxParallelLaunches:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Int
$sel:launchTemplate:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem
-> Maybe FastLaunchLaunchTemplateSpecificationResponse
$sel:imageId:DescribeFastLaunchImagesSuccessItem' :: DescribeFastLaunchImagesSuccessItem -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
imageId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FastLaunchLaunchTemplateSpecificationResponse
launchTemplate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
maxParallelLaunches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ownerId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FastLaunchResourceType
resourceType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FastLaunchSnapshotConfigurationResponse
snapshotConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FastLaunchStateCode
state
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
stateTransitionReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
stateTransitionTime