{-# 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.FleetData
-- 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.FleetData 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.DescribeFleetError
import Amazonka.EC2.Types.DescribeFleetsInstances
import Amazonka.EC2.Types.FleetActivityStatus
import Amazonka.EC2.Types.FleetExcessCapacityTerminationPolicy
import Amazonka.EC2.Types.FleetLaunchTemplateConfig
import Amazonka.EC2.Types.FleetStateCode
import Amazonka.EC2.Types.FleetType
import Amazonka.EC2.Types.OnDemandOptions
import Amazonka.EC2.Types.SpotOptions
import Amazonka.EC2.Types.Tag
import Amazonka.EC2.Types.TargetCapacitySpecification
import qualified Amazonka.Prelude as Prelude

-- | Describes an EC2 Fleet.
--
-- /See:/ 'newFleetData' smart constructor.
data FleetData = FleetData'
  { -- | The progress of the EC2 Fleet. If there is an error, the status is
    -- @error@. After all requests are placed, the status is
    -- @pending_fulfillment@. If the size of the EC2 Fleet is equal to or
    -- greater than its target capacity, the status is @fulfilled@. If the size
    -- of the EC2 Fleet is decreased, the status is @pending_termination@ while
    -- instances are terminating.
    FleetData -> Maybe FleetActivityStatus
activityStatus :: Prelude.Maybe FleetActivityStatus,
    -- | Unique, case-sensitive identifier that you provide to ensure the
    -- idempotency of the request. For more information, see
    -- <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring idempotency>.
    --
    -- Constraints: Maximum 64 ASCII characters
    FleetData -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
    -- | Reserved.
    FleetData -> Maybe Text
context :: Prelude.Maybe Prelude.Text,
    -- | The creation date and time of the EC2 Fleet.
    FleetData -> Maybe ISO8601
createTime :: Prelude.Maybe Data.ISO8601,
    -- | Information about the instances that could not be launched by the fleet.
    -- Valid only when __Type__ is set to @instant@.
    FleetData -> Maybe [DescribeFleetError]
errors :: Prelude.Maybe [DescribeFleetError],
    -- | Indicates whether running instances should be terminated if the target
    -- capacity of the EC2 Fleet is decreased below the current size of the EC2
    -- Fleet.
    FleetData -> Maybe FleetExcessCapacityTerminationPolicy
excessCapacityTerminationPolicy :: Prelude.Maybe FleetExcessCapacityTerminationPolicy,
    -- | The ID of the EC2 Fleet.
    FleetData -> Maybe Text
fleetId :: Prelude.Maybe Prelude.Text,
    -- | The state of the EC2 Fleet.
    FleetData -> Maybe FleetStateCode
fleetState :: Prelude.Maybe FleetStateCode,
    -- | The number of units fulfilled by this request compared to the set target
    -- capacity.
    FleetData -> Maybe Double
fulfilledCapacity :: Prelude.Maybe Prelude.Double,
    -- | The number of units fulfilled by this request compared to the set target
    -- On-Demand capacity.
    FleetData -> Maybe Double
fulfilledOnDemandCapacity :: Prelude.Maybe Prelude.Double,
    -- | Information about the instances that were launched by the fleet. Valid
    -- only when __Type__ is set to @instant@.
    FleetData -> Maybe [DescribeFleetsInstances]
instances :: Prelude.Maybe [DescribeFleetsInstances],
    -- | The launch template and overrides.
    FleetData -> Maybe [FleetLaunchTemplateConfig]
launchTemplateConfigs :: Prelude.Maybe [FleetLaunchTemplateConfig],
    -- | The allocation strategy of On-Demand Instances in an EC2 Fleet.
    FleetData -> Maybe OnDemandOptions
onDemandOptions :: Prelude.Maybe OnDemandOptions,
    -- | Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
    -- Supported only for fleets of type @maintain@. For more information, see
    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks EC2 Fleet health checks>
    -- in the /Amazon EC2 User Guide/.
    FleetData -> Maybe Bool
replaceUnhealthyInstances :: Prelude.Maybe Prelude.Bool,
    -- | The configuration of Spot Instances in an EC2 Fleet.
    FleetData -> Maybe SpotOptions
spotOptions :: Prelude.Maybe SpotOptions,
    -- | The tags for an EC2 Fleet resource.
    FleetData -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
    -- | The number of units to request. You can choose to set the target
    -- capacity in terms of instances or a performance characteristic that is
    -- important to your application workload, such as vCPUs, memory, or I\/O.
    -- If the request type is @maintain@, you can specify a target capacity of
    -- 0 and add capacity later.
    FleetData -> Maybe TargetCapacitySpecification
targetCapacitySpecification :: Prelude.Maybe TargetCapacitySpecification,
    -- | Indicates whether running instances should be terminated when the EC2
    -- Fleet expires.
    FleetData -> Maybe Bool
terminateInstancesWithExpiration :: Prelude.Maybe Prelude.Bool,
    -- | The type of request. Indicates whether the EC2 Fleet only @requests@ the
    -- target capacity, or also attempts to @maintain@ it. If you request a
    -- certain target capacity, EC2 Fleet only places the required requests; it
    -- does not attempt to replenish instances if capacity is diminished, and
    -- it does not submit requests in alternative capacity pools if capacity is
    -- unavailable. To maintain a certain target capacity, EC2 Fleet places the
    -- required requests to meet this target capacity. It also automatically
    -- replenishes any interrupted Spot Instances. Default: @maintain@.
    FleetData -> Maybe FleetType
type' :: Prelude.Maybe FleetType,
    -- | The start date and time of the request, in UTC format (for example,
    -- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). The default is to start fulfilling
    -- the request immediately.
    FleetData -> Maybe ISO8601
validFrom :: Prelude.Maybe Data.ISO8601,
    -- | The end date and time of the request, in UTC format (for example,
    -- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). At this point, no new instance
    -- requests are placed or able to fulfill the request. The default end date
    -- is 7 days from the current date.
    FleetData -> Maybe ISO8601
validUntil :: Prelude.Maybe Data.ISO8601
  }
  deriving (FleetData -> FleetData -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FleetData -> FleetData -> Bool
$c/= :: FleetData -> FleetData -> Bool
== :: FleetData -> FleetData -> Bool
$c== :: FleetData -> FleetData -> Bool
Prelude.Eq, ReadPrec [FleetData]
ReadPrec FleetData
Int -> ReadS FleetData
ReadS [FleetData]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [FleetData]
$creadListPrec :: ReadPrec [FleetData]
readPrec :: ReadPrec FleetData
$creadPrec :: ReadPrec FleetData
readList :: ReadS [FleetData]
$creadList :: ReadS [FleetData]
readsPrec :: Int -> ReadS FleetData
$creadsPrec :: Int -> ReadS FleetData
Prelude.Read, Int -> FleetData -> ShowS
[FleetData] -> ShowS
FleetData -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FleetData] -> ShowS
$cshowList :: [FleetData] -> ShowS
show :: FleetData -> String
$cshow :: FleetData -> String
showsPrec :: Int -> FleetData -> ShowS
$cshowsPrec :: Int -> FleetData -> ShowS
Prelude.Show, forall x. Rep FleetData x -> FleetData
forall x. FleetData -> Rep FleetData x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep FleetData x -> FleetData
$cfrom :: forall x. FleetData -> Rep FleetData x
Prelude.Generic)

-- |
-- Create a value of 'FleetData' 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:
--
-- 'activityStatus', 'fleetData_activityStatus' - The progress of the EC2 Fleet. If there is an error, the status is
-- @error@. After all requests are placed, the status is
-- @pending_fulfillment@. If the size of the EC2 Fleet is equal to or
-- greater than its target capacity, the status is @fulfilled@. If the size
-- of the EC2 Fleet is decreased, the status is @pending_termination@ while
-- instances are terminating.
--
-- 'clientToken', 'fleetData_clientToken' - Unique, case-sensitive identifier that you provide to ensure the
-- idempotency of the request. For more information, see
-- <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring idempotency>.
--
-- Constraints: Maximum 64 ASCII characters
--
-- 'context', 'fleetData_context' - Reserved.
--
-- 'createTime', 'fleetData_createTime' - The creation date and time of the EC2 Fleet.
--
-- 'errors', 'fleetData_errors' - Information about the instances that could not be launched by the fleet.
-- Valid only when __Type__ is set to @instant@.
--
-- 'excessCapacityTerminationPolicy', 'fleetData_excessCapacityTerminationPolicy' - Indicates whether running instances should be terminated if the target
-- capacity of the EC2 Fleet is decreased below the current size of the EC2
-- Fleet.
--
-- 'fleetId', 'fleetData_fleetId' - The ID of the EC2 Fleet.
--
-- 'fleetState', 'fleetData_fleetState' - The state of the EC2 Fleet.
--
-- 'fulfilledCapacity', 'fleetData_fulfilledCapacity' - The number of units fulfilled by this request compared to the set target
-- capacity.
--
-- 'fulfilledOnDemandCapacity', 'fleetData_fulfilledOnDemandCapacity' - The number of units fulfilled by this request compared to the set target
-- On-Demand capacity.
--
-- 'instances', 'fleetData_instances' - Information about the instances that were launched by the fleet. Valid
-- only when __Type__ is set to @instant@.
--
-- 'launchTemplateConfigs', 'fleetData_launchTemplateConfigs' - The launch template and overrides.
--
-- 'onDemandOptions', 'fleetData_onDemandOptions' - The allocation strategy of On-Demand Instances in an EC2 Fleet.
--
-- 'replaceUnhealthyInstances', 'fleetData_replaceUnhealthyInstances' - Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
-- Supported only for fleets of type @maintain@. For more information, see
-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks EC2 Fleet health checks>
-- in the /Amazon EC2 User Guide/.
--
-- 'spotOptions', 'fleetData_spotOptions' - The configuration of Spot Instances in an EC2 Fleet.
--
-- 'tags', 'fleetData_tags' - The tags for an EC2 Fleet resource.
--
-- 'targetCapacitySpecification', 'fleetData_targetCapacitySpecification' - The number of units to request. You can choose to set the target
-- capacity in terms of instances or a performance characteristic that is
-- important to your application workload, such as vCPUs, memory, or I\/O.
-- If the request type is @maintain@, you can specify a target capacity of
-- 0 and add capacity later.
--
-- 'terminateInstancesWithExpiration', 'fleetData_terminateInstancesWithExpiration' - Indicates whether running instances should be terminated when the EC2
-- Fleet expires.
--
-- 'type'', 'fleetData_type' - The type of request. Indicates whether the EC2 Fleet only @requests@ the
-- target capacity, or also attempts to @maintain@ it. If you request a
-- certain target capacity, EC2 Fleet only places the required requests; it
-- does not attempt to replenish instances if capacity is diminished, and
-- it does not submit requests in alternative capacity pools if capacity is
-- unavailable. To maintain a certain target capacity, EC2 Fleet places the
-- required requests to meet this target capacity. It also automatically
-- replenishes any interrupted Spot Instances. Default: @maintain@.
--
-- 'validFrom', 'fleetData_validFrom' - The start date and time of the request, in UTC format (for example,
-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). The default is to start fulfilling
-- the request immediately.
--
-- 'validUntil', 'fleetData_validUntil' - The end date and time of the request, in UTC format (for example,
-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). At this point, no new instance
-- requests are placed or able to fulfill the request. The default end date
-- is 7 days from the current date.
newFleetData ::
  FleetData
newFleetData :: FleetData
newFleetData =
  FleetData'
    { $sel:activityStatus:FleetData' :: Maybe FleetActivityStatus
activityStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:clientToken:FleetData' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
      $sel:context:FleetData' :: Maybe Text
context = forall a. Maybe a
Prelude.Nothing,
      $sel:createTime:FleetData' :: Maybe ISO8601
createTime = forall a. Maybe a
Prelude.Nothing,
      $sel:errors:FleetData' :: Maybe [DescribeFleetError]
errors = forall a. Maybe a
Prelude.Nothing,
      $sel:excessCapacityTerminationPolicy:FleetData' :: Maybe FleetExcessCapacityTerminationPolicy
excessCapacityTerminationPolicy = forall a. Maybe a
Prelude.Nothing,
      $sel:fleetId:FleetData' :: Maybe Text
fleetId = forall a. Maybe a
Prelude.Nothing,
      $sel:fleetState:FleetData' :: Maybe FleetStateCode
fleetState = forall a. Maybe a
Prelude.Nothing,
      $sel:fulfilledCapacity:FleetData' :: Maybe Double
fulfilledCapacity = forall a. Maybe a
Prelude.Nothing,
      $sel:fulfilledOnDemandCapacity:FleetData' :: Maybe Double
fulfilledOnDemandCapacity = forall a. Maybe a
Prelude.Nothing,
      $sel:instances:FleetData' :: Maybe [DescribeFleetsInstances]
instances = forall a. Maybe a
Prelude.Nothing,
      $sel:launchTemplateConfigs:FleetData' :: Maybe [FleetLaunchTemplateConfig]
launchTemplateConfigs = forall a. Maybe a
Prelude.Nothing,
      $sel:onDemandOptions:FleetData' :: Maybe OnDemandOptions
onDemandOptions = forall a. Maybe a
Prelude.Nothing,
      $sel:replaceUnhealthyInstances:FleetData' :: Maybe Bool
replaceUnhealthyInstances = forall a. Maybe a
Prelude.Nothing,
      $sel:spotOptions:FleetData' :: Maybe SpotOptions
spotOptions = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:FleetData' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:targetCapacitySpecification:FleetData' :: Maybe TargetCapacitySpecification
targetCapacitySpecification = forall a. Maybe a
Prelude.Nothing,
      $sel:terminateInstancesWithExpiration:FleetData' :: Maybe Bool
terminateInstancesWithExpiration = forall a. Maybe a
Prelude.Nothing,
      $sel:type':FleetData' :: Maybe FleetType
type' = forall a. Maybe a
Prelude.Nothing,
      $sel:validFrom:FleetData' :: Maybe ISO8601
validFrom = forall a. Maybe a
Prelude.Nothing,
      $sel:validUntil:FleetData' :: Maybe ISO8601
validUntil = forall a. Maybe a
Prelude.Nothing
    }

-- | The progress of the EC2 Fleet. If there is an error, the status is
-- @error@. After all requests are placed, the status is
-- @pending_fulfillment@. If the size of the EC2 Fleet is equal to or
-- greater than its target capacity, the status is @fulfilled@. If the size
-- of the EC2 Fleet is decreased, the status is @pending_termination@ while
-- instances are terminating.
fleetData_activityStatus :: Lens.Lens' FleetData (Prelude.Maybe FleetActivityStatus)
fleetData_activityStatus :: Lens' FleetData (Maybe FleetActivityStatus)
fleetData_activityStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe FleetActivityStatus
activityStatus :: Maybe FleetActivityStatus
$sel:activityStatus:FleetData' :: FleetData -> Maybe FleetActivityStatus
activityStatus} -> Maybe FleetActivityStatus
activityStatus) (\s :: FleetData
s@FleetData' {} Maybe FleetActivityStatus
a -> FleetData
s {$sel:activityStatus:FleetData' :: Maybe FleetActivityStatus
activityStatus = Maybe FleetActivityStatus
a} :: FleetData)

-- | Unique, case-sensitive identifier that you provide to ensure the
-- idempotency of the request. For more information, see
-- <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html Ensuring idempotency>.
--
-- Constraints: Maximum 64 ASCII characters
fleetData_clientToken :: Lens.Lens' FleetData (Prelude.Maybe Prelude.Text)
fleetData_clientToken :: Lens' FleetData (Maybe Text)
fleetData_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:FleetData' :: FleetData -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: FleetData
s@FleetData' {} Maybe Text
a -> FleetData
s {$sel:clientToken:FleetData' :: Maybe Text
clientToken = Maybe Text
a} :: FleetData)

-- | Reserved.
fleetData_context :: Lens.Lens' FleetData (Prelude.Maybe Prelude.Text)
fleetData_context :: Lens' FleetData (Maybe Text)
fleetData_context = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe Text
context :: Maybe Text
$sel:context:FleetData' :: FleetData -> Maybe Text
context} -> Maybe Text
context) (\s :: FleetData
s@FleetData' {} Maybe Text
a -> FleetData
s {$sel:context:FleetData' :: Maybe Text
context = Maybe Text
a} :: FleetData)

-- | The creation date and time of the EC2 Fleet.
fleetData_createTime :: Lens.Lens' FleetData (Prelude.Maybe Prelude.UTCTime)
fleetData_createTime :: Lens' FleetData (Maybe UTCTime)
fleetData_createTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe ISO8601
createTime :: Maybe ISO8601
$sel:createTime:FleetData' :: FleetData -> Maybe ISO8601
createTime} -> Maybe ISO8601
createTime) (\s :: FleetData
s@FleetData' {} Maybe ISO8601
a -> FleetData
s {$sel:createTime:FleetData' :: Maybe ISO8601
createTime = Maybe ISO8601
a} :: FleetData) 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

-- | Information about the instances that could not be launched by the fleet.
-- Valid only when __Type__ is set to @instant@.
fleetData_errors :: Lens.Lens' FleetData (Prelude.Maybe [DescribeFleetError])
fleetData_errors :: Lens' FleetData (Maybe [DescribeFleetError])
fleetData_errors = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe [DescribeFleetError]
errors :: Maybe [DescribeFleetError]
$sel:errors:FleetData' :: FleetData -> Maybe [DescribeFleetError]
errors} -> Maybe [DescribeFleetError]
errors) (\s :: FleetData
s@FleetData' {} Maybe [DescribeFleetError]
a -> FleetData
s {$sel:errors:FleetData' :: Maybe [DescribeFleetError]
errors = Maybe [DescribeFleetError]
a} :: FleetData) 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

-- | Indicates whether running instances should be terminated if the target
-- capacity of the EC2 Fleet is decreased below the current size of the EC2
-- Fleet.
fleetData_excessCapacityTerminationPolicy :: Lens.Lens' FleetData (Prelude.Maybe FleetExcessCapacityTerminationPolicy)
fleetData_excessCapacityTerminationPolicy :: Lens' FleetData (Maybe FleetExcessCapacityTerminationPolicy)
fleetData_excessCapacityTerminationPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe FleetExcessCapacityTerminationPolicy
excessCapacityTerminationPolicy :: Maybe FleetExcessCapacityTerminationPolicy
$sel:excessCapacityTerminationPolicy:FleetData' :: FleetData -> Maybe FleetExcessCapacityTerminationPolicy
excessCapacityTerminationPolicy} -> Maybe FleetExcessCapacityTerminationPolicy
excessCapacityTerminationPolicy) (\s :: FleetData
s@FleetData' {} Maybe FleetExcessCapacityTerminationPolicy
a -> FleetData
s {$sel:excessCapacityTerminationPolicy:FleetData' :: Maybe FleetExcessCapacityTerminationPolicy
excessCapacityTerminationPolicy = Maybe FleetExcessCapacityTerminationPolicy
a} :: FleetData)

-- | The ID of the EC2 Fleet.
fleetData_fleetId :: Lens.Lens' FleetData (Prelude.Maybe Prelude.Text)
fleetData_fleetId :: Lens' FleetData (Maybe Text)
fleetData_fleetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe Text
fleetId :: Maybe Text
$sel:fleetId:FleetData' :: FleetData -> Maybe Text
fleetId} -> Maybe Text
fleetId) (\s :: FleetData
s@FleetData' {} Maybe Text
a -> FleetData
s {$sel:fleetId:FleetData' :: Maybe Text
fleetId = Maybe Text
a} :: FleetData)

-- | The state of the EC2 Fleet.
fleetData_fleetState :: Lens.Lens' FleetData (Prelude.Maybe FleetStateCode)
fleetData_fleetState :: Lens' FleetData (Maybe FleetStateCode)
fleetData_fleetState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe FleetStateCode
fleetState :: Maybe FleetStateCode
$sel:fleetState:FleetData' :: FleetData -> Maybe FleetStateCode
fleetState} -> Maybe FleetStateCode
fleetState) (\s :: FleetData
s@FleetData' {} Maybe FleetStateCode
a -> FleetData
s {$sel:fleetState:FleetData' :: Maybe FleetStateCode
fleetState = Maybe FleetStateCode
a} :: FleetData)

-- | The number of units fulfilled by this request compared to the set target
-- capacity.
fleetData_fulfilledCapacity :: Lens.Lens' FleetData (Prelude.Maybe Prelude.Double)
fleetData_fulfilledCapacity :: Lens' FleetData (Maybe Double)
fleetData_fulfilledCapacity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe Double
fulfilledCapacity :: Maybe Double
$sel:fulfilledCapacity:FleetData' :: FleetData -> Maybe Double
fulfilledCapacity} -> Maybe Double
fulfilledCapacity) (\s :: FleetData
s@FleetData' {} Maybe Double
a -> FleetData
s {$sel:fulfilledCapacity:FleetData' :: Maybe Double
fulfilledCapacity = Maybe Double
a} :: FleetData)

-- | The number of units fulfilled by this request compared to the set target
-- On-Demand capacity.
fleetData_fulfilledOnDemandCapacity :: Lens.Lens' FleetData (Prelude.Maybe Prelude.Double)
fleetData_fulfilledOnDemandCapacity :: Lens' FleetData (Maybe Double)
fleetData_fulfilledOnDemandCapacity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe Double
fulfilledOnDemandCapacity :: Maybe Double
$sel:fulfilledOnDemandCapacity:FleetData' :: FleetData -> Maybe Double
fulfilledOnDemandCapacity} -> Maybe Double
fulfilledOnDemandCapacity) (\s :: FleetData
s@FleetData' {} Maybe Double
a -> FleetData
s {$sel:fulfilledOnDemandCapacity:FleetData' :: Maybe Double
fulfilledOnDemandCapacity = Maybe Double
a} :: FleetData)

-- | Information about the instances that were launched by the fleet. Valid
-- only when __Type__ is set to @instant@.
fleetData_instances :: Lens.Lens' FleetData (Prelude.Maybe [DescribeFleetsInstances])
fleetData_instances :: Lens' FleetData (Maybe [DescribeFleetsInstances])
fleetData_instances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe [DescribeFleetsInstances]
instances :: Maybe [DescribeFleetsInstances]
$sel:instances:FleetData' :: FleetData -> Maybe [DescribeFleetsInstances]
instances} -> Maybe [DescribeFleetsInstances]
instances) (\s :: FleetData
s@FleetData' {} Maybe [DescribeFleetsInstances]
a -> FleetData
s {$sel:instances:FleetData' :: Maybe [DescribeFleetsInstances]
instances = Maybe [DescribeFleetsInstances]
a} :: FleetData) 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 launch template and overrides.
fleetData_launchTemplateConfigs :: Lens.Lens' FleetData (Prelude.Maybe [FleetLaunchTemplateConfig])
fleetData_launchTemplateConfigs :: Lens' FleetData (Maybe [FleetLaunchTemplateConfig])
fleetData_launchTemplateConfigs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe [FleetLaunchTemplateConfig]
launchTemplateConfigs :: Maybe [FleetLaunchTemplateConfig]
$sel:launchTemplateConfigs:FleetData' :: FleetData -> Maybe [FleetLaunchTemplateConfig]
launchTemplateConfigs} -> Maybe [FleetLaunchTemplateConfig]
launchTemplateConfigs) (\s :: FleetData
s@FleetData' {} Maybe [FleetLaunchTemplateConfig]
a -> FleetData
s {$sel:launchTemplateConfigs:FleetData' :: Maybe [FleetLaunchTemplateConfig]
launchTemplateConfigs = Maybe [FleetLaunchTemplateConfig]
a} :: FleetData) 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 allocation strategy of On-Demand Instances in an EC2 Fleet.
fleetData_onDemandOptions :: Lens.Lens' FleetData (Prelude.Maybe OnDemandOptions)
fleetData_onDemandOptions :: Lens' FleetData (Maybe OnDemandOptions)
fleetData_onDemandOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe OnDemandOptions
onDemandOptions :: Maybe OnDemandOptions
$sel:onDemandOptions:FleetData' :: FleetData -> Maybe OnDemandOptions
onDemandOptions} -> Maybe OnDemandOptions
onDemandOptions) (\s :: FleetData
s@FleetData' {} Maybe OnDemandOptions
a -> FleetData
s {$sel:onDemandOptions:FleetData' :: Maybe OnDemandOptions
onDemandOptions = Maybe OnDemandOptions
a} :: FleetData)

-- | Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
-- Supported only for fleets of type @maintain@. For more information, see
-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks EC2 Fleet health checks>
-- in the /Amazon EC2 User Guide/.
fleetData_replaceUnhealthyInstances :: Lens.Lens' FleetData (Prelude.Maybe Prelude.Bool)
fleetData_replaceUnhealthyInstances :: Lens' FleetData (Maybe Bool)
fleetData_replaceUnhealthyInstances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe Bool
replaceUnhealthyInstances :: Maybe Bool
$sel:replaceUnhealthyInstances:FleetData' :: FleetData -> Maybe Bool
replaceUnhealthyInstances} -> Maybe Bool
replaceUnhealthyInstances) (\s :: FleetData
s@FleetData' {} Maybe Bool
a -> FleetData
s {$sel:replaceUnhealthyInstances:FleetData' :: Maybe Bool
replaceUnhealthyInstances = Maybe Bool
a} :: FleetData)

-- | The configuration of Spot Instances in an EC2 Fleet.
fleetData_spotOptions :: Lens.Lens' FleetData (Prelude.Maybe SpotOptions)
fleetData_spotOptions :: Lens' FleetData (Maybe SpotOptions)
fleetData_spotOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe SpotOptions
spotOptions :: Maybe SpotOptions
$sel:spotOptions:FleetData' :: FleetData -> Maybe SpotOptions
spotOptions} -> Maybe SpotOptions
spotOptions) (\s :: FleetData
s@FleetData' {} Maybe SpotOptions
a -> FleetData
s {$sel:spotOptions:FleetData' :: Maybe SpotOptions
spotOptions = Maybe SpotOptions
a} :: FleetData)

-- | The tags for an EC2 Fleet resource.
fleetData_tags :: Lens.Lens' FleetData (Prelude.Maybe [Tag])
fleetData_tags :: Lens' FleetData (Maybe [Tag])
fleetData_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:FleetData' :: FleetData -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: FleetData
s@FleetData' {} Maybe [Tag]
a -> FleetData
s {$sel:tags:FleetData' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: FleetData) 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 number of units to request. You can choose to set the target
-- capacity in terms of instances or a performance characteristic that is
-- important to your application workload, such as vCPUs, memory, or I\/O.
-- If the request type is @maintain@, you can specify a target capacity of
-- 0 and add capacity later.
fleetData_targetCapacitySpecification :: Lens.Lens' FleetData (Prelude.Maybe TargetCapacitySpecification)
fleetData_targetCapacitySpecification :: Lens' FleetData (Maybe TargetCapacitySpecification)
fleetData_targetCapacitySpecification = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe TargetCapacitySpecification
targetCapacitySpecification :: Maybe TargetCapacitySpecification
$sel:targetCapacitySpecification:FleetData' :: FleetData -> Maybe TargetCapacitySpecification
targetCapacitySpecification} -> Maybe TargetCapacitySpecification
targetCapacitySpecification) (\s :: FleetData
s@FleetData' {} Maybe TargetCapacitySpecification
a -> FleetData
s {$sel:targetCapacitySpecification:FleetData' :: Maybe TargetCapacitySpecification
targetCapacitySpecification = Maybe TargetCapacitySpecification
a} :: FleetData)

-- | Indicates whether running instances should be terminated when the EC2
-- Fleet expires.
fleetData_terminateInstancesWithExpiration :: Lens.Lens' FleetData (Prelude.Maybe Prelude.Bool)
fleetData_terminateInstancesWithExpiration :: Lens' FleetData (Maybe Bool)
fleetData_terminateInstancesWithExpiration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe Bool
terminateInstancesWithExpiration :: Maybe Bool
$sel:terminateInstancesWithExpiration:FleetData' :: FleetData -> Maybe Bool
terminateInstancesWithExpiration} -> Maybe Bool
terminateInstancesWithExpiration) (\s :: FleetData
s@FleetData' {} Maybe Bool
a -> FleetData
s {$sel:terminateInstancesWithExpiration:FleetData' :: Maybe Bool
terminateInstancesWithExpiration = Maybe Bool
a} :: FleetData)

-- | The type of request. Indicates whether the EC2 Fleet only @requests@ the
-- target capacity, or also attempts to @maintain@ it. If you request a
-- certain target capacity, EC2 Fleet only places the required requests; it
-- does not attempt to replenish instances if capacity is diminished, and
-- it does not submit requests in alternative capacity pools if capacity is
-- unavailable. To maintain a certain target capacity, EC2 Fleet places the
-- required requests to meet this target capacity. It also automatically
-- replenishes any interrupted Spot Instances. Default: @maintain@.
fleetData_type :: Lens.Lens' FleetData (Prelude.Maybe FleetType)
fleetData_type :: Lens' FleetData (Maybe FleetType)
fleetData_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe FleetType
type' :: Maybe FleetType
$sel:type':FleetData' :: FleetData -> Maybe FleetType
type'} -> Maybe FleetType
type') (\s :: FleetData
s@FleetData' {} Maybe FleetType
a -> FleetData
s {$sel:type':FleetData' :: Maybe FleetType
type' = Maybe FleetType
a} :: FleetData)

-- | The start date and time of the request, in UTC format (for example,
-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). The default is to start fulfilling
-- the request immediately.
fleetData_validFrom :: Lens.Lens' FleetData (Prelude.Maybe Prelude.UTCTime)
fleetData_validFrom :: Lens' FleetData (Maybe UTCTime)
fleetData_validFrom = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe ISO8601
validFrom :: Maybe ISO8601
$sel:validFrom:FleetData' :: FleetData -> Maybe ISO8601
validFrom} -> Maybe ISO8601
validFrom) (\s :: FleetData
s@FleetData' {} Maybe ISO8601
a -> FleetData
s {$sel:validFrom:FleetData' :: Maybe ISO8601
validFrom = Maybe ISO8601
a} :: FleetData) 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 end date and time of the request, in UTC format (for example,
-- /YYYY/-/MM/-/DD/T/HH/:/MM/:/SS/Z). At this point, no new instance
-- requests are placed or able to fulfill the request. The default end date
-- is 7 days from the current date.
fleetData_validUntil :: Lens.Lens' FleetData (Prelude.Maybe Prelude.UTCTime)
fleetData_validUntil :: Lens' FleetData (Maybe UTCTime)
fleetData_validUntil = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FleetData' {Maybe ISO8601
validUntil :: Maybe ISO8601
$sel:validUntil:FleetData' :: FleetData -> Maybe ISO8601
validUntil} -> Maybe ISO8601
validUntil) (\s :: FleetData
s@FleetData' {} Maybe ISO8601
a -> FleetData
s {$sel:validUntil:FleetData' :: Maybe ISO8601
validUntil = Maybe ISO8601
a} :: FleetData) 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 FleetData where
  parseXML :: [Node] -> Either String FleetData
parseXML [Node]
x =
    Maybe FleetActivityStatus
-> Maybe Text
-> Maybe Text
-> Maybe ISO8601
-> Maybe [DescribeFleetError]
-> Maybe FleetExcessCapacityTerminationPolicy
-> Maybe Text
-> Maybe FleetStateCode
-> Maybe Double
-> Maybe Double
-> Maybe [DescribeFleetsInstances]
-> Maybe [FleetLaunchTemplateConfig]
-> Maybe OnDemandOptions
-> Maybe Bool
-> Maybe SpotOptions
-> Maybe [Tag]
-> Maybe TargetCapacitySpecification
-> Maybe Bool
-> Maybe FleetType
-> Maybe ISO8601
-> Maybe ISO8601
-> FleetData
FleetData'
      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
"activityStatus")
      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
"clientToken")
      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
"context")
      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
"createTime")
      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
"errorSet"
                      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
"item")
                  )
      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
"excessCapacityTerminationPolicy")
      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
"fleetId")
      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
"fleetState")
      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
"fulfilledCapacity")
      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
"fulfilledOnDemandCapacity")
      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
"fleetInstanceSet"
                      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
"item")
                  )
      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
"launchTemplateConfigs"
                      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
"item")
                  )
      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
"onDemandOptions")
      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
"replaceUnhealthyInstances")
      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
"spotOptions")
      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
"tagSet"
                      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
"item")
                  )
      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
"targetCapacitySpecification")
      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
"terminateInstancesWithExpiration")
      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
"type")
      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
"validFrom")
      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
"validUntil")

instance Prelude.Hashable FleetData where
  hashWithSalt :: Int -> FleetData -> Int
hashWithSalt Int
_salt FleetData' {Maybe Bool
Maybe Double
Maybe [Tag]
Maybe [DescribeFleetsInstances]
Maybe [DescribeFleetError]
Maybe [FleetLaunchTemplateConfig]
Maybe Text
Maybe ISO8601
Maybe FleetActivityStatus
Maybe FleetExcessCapacityTerminationPolicy
Maybe FleetStateCode
Maybe FleetType
Maybe OnDemandOptions
Maybe SpotOptions
Maybe TargetCapacitySpecification
validUntil :: Maybe ISO8601
validFrom :: Maybe ISO8601
type' :: Maybe FleetType
terminateInstancesWithExpiration :: Maybe Bool
targetCapacitySpecification :: Maybe TargetCapacitySpecification
tags :: Maybe [Tag]
spotOptions :: Maybe SpotOptions
replaceUnhealthyInstances :: Maybe Bool
onDemandOptions :: Maybe OnDemandOptions
launchTemplateConfigs :: Maybe [FleetLaunchTemplateConfig]
instances :: Maybe [DescribeFleetsInstances]
fulfilledOnDemandCapacity :: Maybe Double
fulfilledCapacity :: Maybe Double
fleetState :: Maybe FleetStateCode
fleetId :: Maybe Text
excessCapacityTerminationPolicy :: Maybe FleetExcessCapacityTerminationPolicy
errors :: Maybe [DescribeFleetError]
createTime :: Maybe ISO8601
context :: Maybe Text
clientToken :: Maybe Text
activityStatus :: Maybe FleetActivityStatus
$sel:validUntil:FleetData' :: FleetData -> Maybe ISO8601
$sel:validFrom:FleetData' :: FleetData -> Maybe ISO8601
$sel:type':FleetData' :: FleetData -> Maybe FleetType
$sel:terminateInstancesWithExpiration:FleetData' :: FleetData -> Maybe Bool
$sel:targetCapacitySpecification:FleetData' :: FleetData -> Maybe TargetCapacitySpecification
$sel:tags:FleetData' :: FleetData -> Maybe [Tag]
$sel:spotOptions:FleetData' :: FleetData -> Maybe SpotOptions
$sel:replaceUnhealthyInstances:FleetData' :: FleetData -> Maybe Bool
$sel:onDemandOptions:FleetData' :: FleetData -> Maybe OnDemandOptions
$sel:launchTemplateConfigs:FleetData' :: FleetData -> Maybe [FleetLaunchTemplateConfig]
$sel:instances:FleetData' :: FleetData -> Maybe [DescribeFleetsInstances]
$sel:fulfilledOnDemandCapacity:FleetData' :: FleetData -> Maybe Double
$sel:fulfilledCapacity:FleetData' :: FleetData -> Maybe Double
$sel:fleetState:FleetData' :: FleetData -> Maybe FleetStateCode
$sel:fleetId:FleetData' :: FleetData -> Maybe Text
$sel:excessCapacityTerminationPolicy:FleetData' :: FleetData -> Maybe FleetExcessCapacityTerminationPolicy
$sel:errors:FleetData' :: FleetData -> Maybe [DescribeFleetError]
$sel:createTime:FleetData' :: FleetData -> Maybe ISO8601
$sel:context:FleetData' :: FleetData -> Maybe Text
$sel:clientToken:FleetData' :: FleetData -> Maybe Text
$sel:activityStatus:FleetData' :: FleetData -> Maybe FleetActivityStatus
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FleetActivityStatus
activityStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
context
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
createTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [DescribeFleetError]
errors
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FleetExcessCapacityTerminationPolicy
excessCapacityTerminationPolicy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
fleetId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FleetStateCode
fleetState
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Double
fulfilledCapacity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Double
fulfilledOnDemandCapacity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [DescribeFleetsInstances]
instances
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [FleetLaunchTemplateConfig]
launchTemplateConfigs
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OnDemandOptions
onDemandOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
replaceUnhealthyInstances
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SpotOptions
spotOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TargetCapacitySpecification
targetCapacitySpecification
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
terminateInstancesWithExpiration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FleetType
type'
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
validFrom
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
validUntil

instance Prelude.NFData FleetData where
  rnf :: FleetData -> ()
rnf FleetData' {Maybe Bool
Maybe Double
Maybe [Tag]
Maybe [DescribeFleetsInstances]
Maybe [DescribeFleetError]
Maybe [FleetLaunchTemplateConfig]
Maybe Text
Maybe ISO8601
Maybe FleetActivityStatus
Maybe FleetExcessCapacityTerminationPolicy
Maybe FleetStateCode
Maybe FleetType
Maybe OnDemandOptions
Maybe SpotOptions
Maybe TargetCapacitySpecification
validUntil :: Maybe ISO8601
validFrom :: Maybe ISO8601
type' :: Maybe FleetType
terminateInstancesWithExpiration :: Maybe Bool
targetCapacitySpecification :: Maybe TargetCapacitySpecification
tags :: Maybe [Tag]
spotOptions :: Maybe SpotOptions
replaceUnhealthyInstances :: Maybe Bool
onDemandOptions :: Maybe OnDemandOptions
launchTemplateConfigs :: Maybe [FleetLaunchTemplateConfig]
instances :: Maybe [DescribeFleetsInstances]
fulfilledOnDemandCapacity :: Maybe Double
fulfilledCapacity :: Maybe Double
fleetState :: Maybe FleetStateCode
fleetId :: Maybe Text
excessCapacityTerminationPolicy :: Maybe FleetExcessCapacityTerminationPolicy
errors :: Maybe [DescribeFleetError]
createTime :: Maybe ISO8601
context :: Maybe Text
clientToken :: Maybe Text
activityStatus :: Maybe FleetActivityStatus
$sel:validUntil:FleetData' :: FleetData -> Maybe ISO8601
$sel:validFrom:FleetData' :: FleetData -> Maybe ISO8601
$sel:type':FleetData' :: FleetData -> Maybe FleetType
$sel:terminateInstancesWithExpiration:FleetData' :: FleetData -> Maybe Bool
$sel:targetCapacitySpecification:FleetData' :: FleetData -> Maybe TargetCapacitySpecification
$sel:tags:FleetData' :: FleetData -> Maybe [Tag]
$sel:spotOptions:FleetData' :: FleetData -> Maybe SpotOptions
$sel:replaceUnhealthyInstances:FleetData' :: FleetData -> Maybe Bool
$sel:onDemandOptions:FleetData' :: FleetData -> Maybe OnDemandOptions
$sel:launchTemplateConfigs:FleetData' :: FleetData -> Maybe [FleetLaunchTemplateConfig]
$sel:instances:FleetData' :: FleetData -> Maybe [DescribeFleetsInstances]
$sel:fulfilledOnDemandCapacity:FleetData' :: FleetData -> Maybe Double
$sel:fulfilledCapacity:FleetData' :: FleetData -> Maybe Double
$sel:fleetState:FleetData' :: FleetData -> Maybe FleetStateCode
$sel:fleetId:FleetData' :: FleetData -> Maybe Text
$sel:excessCapacityTerminationPolicy:FleetData' :: FleetData -> Maybe FleetExcessCapacityTerminationPolicy
$sel:errors:FleetData' :: FleetData -> Maybe [DescribeFleetError]
$sel:createTime:FleetData' :: FleetData -> Maybe ISO8601
$sel:context:FleetData' :: FleetData -> Maybe Text
$sel:clientToken:FleetData' :: FleetData -> Maybe Text
$sel:activityStatus:FleetData' :: FleetData -> Maybe FleetActivityStatus
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe FleetActivityStatus
activityStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
context
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
createTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [DescribeFleetError]
errors
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FleetExcessCapacityTerminationPolicy
excessCapacityTerminationPolicy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
fleetId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FleetStateCode
fleetState
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
fulfilledCapacity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
fulfilledOnDemandCapacity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [DescribeFleetsInstances]
instances
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [FleetLaunchTemplateConfig]
launchTemplateConfigs
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OnDemandOptions
onDemandOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
replaceUnhealthyInstances
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SpotOptions
spotOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe TargetCapacitySpecification
targetCapacitySpecification
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
terminateInstancesWithExpiration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FleetType
type'
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
validFrom
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
validUntil