{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# 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.CancelSpotFleetRequests
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Cancels the specified Spot Fleet requests.
--
-- After you cancel a Spot Fleet request, the Spot Fleet launches no new
-- Spot Instances. You must specify whether the Spot Fleet should also
-- terminate its Spot Instances. If you terminate the instances, the Spot
-- Fleet request enters the @cancelled_terminating@ state. Otherwise, the
-- Spot Fleet request enters the @cancelled_running@ state and the
-- instances continue to run until they are interrupted or you terminate
-- them manually.
module Amazonka.EC2.CancelSpotFleetRequests
  ( -- * Creating a Request
    CancelSpotFleetRequests (..),
    newCancelSpotFleetRequests,

    -- * Request Lenses
    cancelSpotFleetRequests_dryRun,
    cancelSpotFleetRequests_spotFleetRequestIds,
    cancelSpotFleetRequests_terminateInstances,

    -- * Destructuring the Response
    CancelSpotFleetRequestsResponse (..),
    newCancelSpotFleetRequestsResponse,

    -- * Response Lenses
    cancelSpotFleetRequestsResponse_successfulFleetRequests,
    cancelSpotFleetRequestsResponse_unsuccessfulFleetRequests,
    cancelSpotFleetRequestsResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | Contains the parameters for CancelSpotFleetRequests.
--
-- /See:/ 'newCancelSpotFleetRequests' smart constructor.
data CancelSpotFleetRequests = CancelSpotFleetRequests'
  { -- | Checks whether you have the required permissions for the action, without
    -- actually making the request, and provides an error response. If you have
    -- the required permissions, the error response is @DryRunOperation@.
    -- Otherwise, it is @UnauthorizedOperation@.
    CancelSpotFleetRequests -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The IDs of the Spot Fleet requests.
    CancelSpotFleetRequests -> [Text]
spotFleetRequestIds :: [Prelude.Text],
    -- | Indicates whether to terminate instances for a Spot Fleet request if it
    -- is canceled successfully.
    CancelSpotFleetRequests -> Bool
terminateInstances :: Prelude.Bool
  }
  deriving (CancelSpotFleetRequests -> CancelSpotFleetRequests -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CancelSpotFleetRequests -> CancelSpotFleetRequests -> Bool
$c/= :: CancelSpotFleetRequests -> CancelSpotFleetRequests -> Bool
== :: CancelSpotFleetRequests -> CancelSpotFleetRequests -> Bool
$c== :: CancelSpotFleetRequests -> CancelSpotFleetRequests -> Bool
Prelude.Eq, ReadPrec [CancelSpotFleetRequests]
ReadPrec CancelSpotFleetRequests
Int -> ReadS CancelSpotFleetRequests
ReadS [CancelSpotFleetRequests]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CancelSpotFleetRequests]
$creadListPrec :: ReadPrec [CancelSpotFleetRequests]
readPrec :: ReadPrec CancelSpotFleetRequests
$creadPrec :: ReadPrec CancelSpotFleetRequests
readList :: ReadS [CancelSpotFleetRequests]
$creadList :: ReadS [CancelSpotFleetRequests]
readsPrec :: Int -> ReadS CancelSpotFleetRequests
$creadsPrec :: Int -> ReadS CancelSpotFleetRequests
Prelude.Read, Int -> CancelSpotFleetRequests -> ShowS
[CancelSpotFleetRequests] -> ShowS
CancelSpotFleetRequests -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CancelSpotFleetRequests] -> ShowS
$cshowList :: [CancelSpotFleetRequests] -> ShowS
show :: CancelSpotFleetRequests -> String
$cshow :: CancelSpotFleetRequests -> String
showsPrec :: Int -> CancelSpotFleetRequests -> ShowS
$cshowsPrec :: Int -> CancelSpotFleetRequests -> ShowS
Prelude.Show, forall x. Rep CancelSpotFleetRequests x -> CancelSpotFleetRequests
forall x. CancelSpotFleetRequests -> Rep CancelSpotFleetRequests x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CancelSpotFleetRequests x -> CancelSpotFleetRequests
$cfrom :: forall x. CancelSpotFleetRequests -> Rep CancelSpotFleetRequests x
Prelude.Generic)

-- |
-- Create a value of 'CancelSpotFleetRequests' 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:
--
-- 'dryRun', 'cancelSpotFleetRequests_dryRun' - Checks whether you have the required permissions for the action, without
-- actually making the request, and provides an error response. If you have
-- the required permissions, the error response is @DryRunOperation@.
-- Otherwise, it is @UnauthorizedOperation@.
--
-- 'spotFleetRequestIds', 'cancelSpotFleetRequests_spotFleetRequestIds' - The IDs of the Spot Fleet requests.
--
-- 'terminateInstances', 'cancelSpotFleetRequests_terminateInstances' - Indicates whether to terminate instances for a Spot Fleet request if it
-- is canceled successfully.
newCancelSpotFleetRequests ::
  -- | 'terminateInstances'
  Prelude.Bool ->
  CancelSpotFleetRequests
newCancelSpotFleetRequests :: Bool -> CancelSpotFleetRequests
newCancelSpotFleetRequests Bool
pTerminateInstances_ =
  CancelSpotFleetRequests'
    { $sel:dryRun:CancelSpotFleetRequests' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
      $sel:spotFleetRequestIds:CancelSpotFleetRequests' :: [Text]
spotFleetRequestIds = forall a. Monoid a => a
Prelude.mempty,
      $sel:terminateInstances:CancelSpotFleetRequests' :: Bool
terminateInstances = Bool
pTerminateInstances_
    }

-- | Checks whether you have the required permissions for the action, without
-- actually making the request, and provides an error response. If you have
-- the required permissions, the error response is @DryRunOperation@.
-- Otherwise, it is @UnauthorizedOperation@.
cancelSpotFleetRequests_dryRun :: Lens.Lens' CancelSpotFleetRequests (Prelude.Maybe Prelude.Bool)
cancelSpotFleetRequests_dryRun :: Lens' CancelSpotFleetRequests (Maybe Bool)
cancelSpotFleetRequests_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CancelSpotFleetRequests' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: CancelSpotFleetRequests
s@CancelSpotFleetRequests' {} Maybe Bool
a -> CancelSpotFleetRequests
s {$sel:dryRun:CancelSpotFleetRequests' :: Maybe Bool
dryRun = Maybe Bool
a} :: CancelSpotFleetRequests)

-- | The IDs of the Spot Fleet requests.
cancelSpotFleetRequests_spotFleetRequestIds :: Lens.Lens' CancelSpotFleetRequests [Prelude.Text]
cancelSpotFleetRequests_spotFleetRequestIds :: Lens' CancelSpotFleetRequests [Text]
cancelSpotFleetRequests_spotFleetRequestIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CancelSpotFleetRequests' {[Text]
spotFleetRequestIds :: [Text]
$sel:spotFleetRequestIds:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> [Text]
spotFleetRequestIds} -> [Text]
spotFleetRequestIds) (\s :: CancelSpotFleetRequests
s@CancelSpotFleetRequests' {} [Text]
a -> CancelSpotFleetRequests
s {$sel:spotFleetRequestIds:CancelSpotFleetRequests' :: [Text]
spotFleetRequestIds = [Text]
a} :: CancelSpotFleetRequests) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Indicates whether to terminate instances for a Spot Fleet request if it
-- is canceled successfully.
cancelSpotFleetRequests_terminateInstances :: Lens.Lens' CancelSpotFleetRequests Prelude.Bool
cancelSpotFleetRequests_terminateInstances :: Lens' CancelSpotFleetRequests Bool
cancelSpotFleetRequests_terminateInstances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CancelSpotFleetRequests' {Bool
terminateInstances :: Bool
$sel:terminateInstances:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> Bool
terminateInstances} -> Bool
terminateInstances) (\s :: CancelSpotFleetRequests
s@CancelSpotFleetRequests' {} Bool
a -> CancelSpotFleetRequests
s {$sel:terminateInstances:CancelSpotFleetRequests' :: Bool
terminateInstances = Bool
a} :: CancelSpotFleetRequests)

instance Core.AWSRequest CancelSpotFleetRequests where
  type
    AWSResponse CancelSpotFleetRequests =
      CancelSpotFleetRequestsResponse
  request :: (Service -> Service)
-> CancelSpotFleetRequests -> Request CancelSpotFleetRequests
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CancelSpotFleetRequests
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse CancelSpotFleetRequests)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe [CancelSpotFleetRequestsSuccessItem]
-> Maybe [CancelSpotFleetRequestsErrorItem]
-> Int
-> CancelSpotFleetRequestsResponse
CancelSpotFleetRequestsResponse'
            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
"successfulFleetRequestSet"
                            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
"unsuccessfulFleetRequestSet"
                            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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable CancelSpotFleetRequests where
  hashWithSalt :: Int -> CancelSpotFleetRequests -> Int
hashWithSalt Int
_salt CancelSpotFleetRequests' {Bool
[Text]
Maybe Bool
terminateInstances :: Bool
spotFleetRequestIds :: [Text]
dryRun :: Maybe Bool
$sel:terminateInstances:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> Bool
$sel:spotFleetRequestIds:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> [Text]
$sel:dryRun:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> Maybe Bool
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
spotFleetRequestIds
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Bool
terminateInstances

instance Prelude.NFData CancelSpotFleetRequests where
  rnf :: CancelSpotFleetRequests -> ()
rnf CancelSpotFleetRequests' {Bool
[Text]
Maybe Bool
terminateInstances :: Bool
spotFleetRequestIds :: [Text]
dryRun :: Maybe Bool
$sel:terminateInstances:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> Bool
$sel:spotFleetRequestIds:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> [Text]
$sel:dryRun:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Text]
spotFleetRequestIds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Bool
terminateInstances

instance Data.ToHeaders CancelSpotFleetRequests where
  toHeaders :: CancelSpotFleetRequests -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToPath CancelSpotFleetRequests where
  toPath :: CancelSpotFleetRequests -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery CancelSpotFleetRequests where
  toQuery :: CancelSpotFleetRequests -> QueryString
toQuery CancelSpotFleetRequests' {Bool
[Text]
Maybe Bool
terminateInstances :: Bool
spotFleetRequestIds :: [Text]
dryRun :: Maybe Bool
$sel:terminateInstances:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> Bool
$sel:spotFleetRequestIds:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> [Text]
$sel:dryRun:CancelSpotFleetRequests' :: CancelSpotFleetRequests -> Maybe Bool
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"CancelSpotFleetRequests" :: Prelude.ByteString),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
        ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
        forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList
          ByteString
"SpotFleetRequestId"
          [Text]
spotFleetRequestIds,
        ByteString
"TerminateInstances" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Bool
terminateInstances
      ]

-- | Contains the output of CancelSpotFleetRequests.
--
-- /See:/ 'newCancelSpotFleetRequestsResponse' smart constructor.
data CancelSpotFleetRequestsResponse = CancelSpotFleetRequestsResponse'
  { -- | Information about the Spot Fleet requests that are successfully
    -- canceled.
    CancelSpotFleetRequestsResponse
-> Maybe [CancelSpotFleetRequestsSuccessItem]
successfulFleetRequests :: Prelude.Maybe [CancelSpotFleetRequestsSuccessItem],
    -- | Information about the Spot Fleet requests that are not successfully
    -- canceled.
    CancelSpotFleetRequestsResponse
-> Maybe [CancelSpotFleetRequestsErrorItem]
unsuccessfulFleetRequests :: Prelude.Maybe [CancelSpotFleetRequestsErrorItem],
    -- | The response's http status code.
    CancelSpotFleetRequestsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (CancelSpotFleetRequestsResponse
-> CancelSpotFleetRequestsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CancelSpotFleetRequestsResponse
-> CancelSpotFleetRequestsResponse -> Bool
$c/= :: CancelSpotFleetRequestsResponse
-> CancelSpotFleetRequestsResponse -> Bool
== :: CancelSpotFleetRequestsResponse
-> CancelSpotFleetRequestsResponse -> Bool
$c== :: CancelSpotFleetRequestsResponse
-> CancelSpotFleetRequestsResponse -> Bool
Prelude.Eq, ReadPrec [CancelSpotFleetRequestsResponse]
ReadPrec CancelSpotFleetRequestsResponse
Int -> ReadS CancelSpotFleetRequestsResponse
ReadS [CancelSpotFleetRequestsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CancelSpotFleetRequestsResponse]
$creadListPrec :: ReadPrec [CancelSpotFleetRequestsResponse]
readPrec :: ReadPrec CancelSpotFleetRequestsResponse
$creadPrec :: ReadPrec CancelSpotFleetRequestsResponse
readList :: ReadS [CancelSpotFleetRequestsResponse]
$creadList :: ReadS [CancelSpotFleetRequestsResponse]
readsPrec :: Int -> ReadS CancelSpotFleetRequestsResponse
$creadsPrec :: Int -> ReadS CancelSpotFleetRequestsResponse
Prelude.Read, Int -> CancelSpotFleetRequestsResponse -> ShowS
[CancelSpotFleetRequestsResponse] -> ShowS
CancelSpotFleetRequestsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CancelSpotFleetRequestsResponse] -> ShowS
$cshowList :: [CancelSpotFleetRequestsResponse] -> ShowS
show :: CancelSpotFleetRequestsResponse -> String
$cshow :: CancelSpotFleetRequestsResponse -> String
showsPrec :: Int -> CancelSpotFleetRequestsResponse -> ShowS
$cshowsPrec :: Int -> CancelSpotFleetRequestsResponse -> ShowS
Prelude.Show, forall x.
Rep CancelSpotFleetRequestsResponse x
-> CancelSpotFleetRequestsResponse
forall x.
CancelSpotFleetRequestsResponse
-> Rep CancelSpotFleetRequestsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CancelSpotFleetRequestsResponse x
-> CancelSpotFleetRequestsResponse
$cfrom :: forall x.
CancelSpotFleetRequestsResponse
-> Rep CancelSpotFleetRequestsResponse x
Prelude.Generic)

-- |
-- Create a value of 'CancelSpotFleetRequestsResponse' 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:
--
-- 'successfulFleetRequests', 'cancelSpotFleetRequestsResponse_successfulFleetRequests' - Information about the Spot Fleet requests that are successfully
-- canceled.
--
-- 'unsuccessfulFleetRequests', 'cancelSpotFleetRequestsResponse_unsuccessfulFleetRequests' - Information about the Spot Fleet requests that are not successfully
-- canceled.
--
-- 'httpStatus', 'cancelSpotFleetRequestsResponse_httpStatus' - The response's http status code.
newCancelSpotFleetRequestsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  CancelSpotFleetRequestsResponse
newCancelSpotFleetRequestsResponse :: Int -> CancelSpotFleetRequestsResponse
newCancelSpotFleetRequestsResponse Int
pHttpStatus_ =
  CancelSpotFleetRequestsResponse'
    { $sel:successfulFleetRequests:CancelSpotFleetRequestsResponse' :: Maybe [CancelSpotFleetRequestsSuccessItem]
successfulFleetRequests =
        forall a. Maybe a
Prelude.Nothing,
      $sel:unsuccessfulFleetRequests:CancelSpotFleetRequestsResponse' :: Maybe [CancelSpotFleetRequestsErrorItem]
unsuccessfulFleetRequests =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:CancelSpotFleetRequestsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Information about the Spot Fleet requests that are successfully
-- canceled.
cancelSpotFleetRequestsResponse_successfulFleetRequests :: Lens.Lens' CancelSpotFleetRequestsResponse (Prelude.Maybe [CancelSpotFleetRequestsSuccessItem])
cancelSpotFleetRequestsResponse_successfulFleetRequests :: Lens'
  CancelSpotFleetRequestsResponse
  (Maybe [CancelSpotFleetRequestsSuccessItem])
cancelSpotFleetRequestsResponse_successfulFleetRequests = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CancelSpotFleetRequestsResponse' {Maybe [CancelSpotFleetRequestsSuccessItem]
successfulFleetRequests :: Maybe [CancelSpotFleetRequestsSuccessItem]
$sel:successfulFleetRequests:CancelSpotFleetRequestsResponse' :: CancelSpotFleetRequestsResponse
-> Maybe [CancelSpotFleetRequestsSuccessItem]
successfulFleetRequests} -> Maybe [CancelSpotFleetRequestsSuccessItem]
successfulFleetRequests) (\s :: CancelSpotFleetRequestsResponse
s@CancelSpotFleetRequestsResponse' {} Maybe [CancelSpotFleetRequestsSuccessItem]
a -> CancelSpotFleetRequestsResponse
s {$sel:successfulFleetRequests:CancelSpotFleetRequestsResponse' :: Maybe [CancelSpotFleetRequestsSuccessItem]
successfulFleetRequests = Maybe [CancelSpotFleetRequestsSuccessItem]
a} :: CancelSpotFleetRequestsResponse) 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

-- | Information about the Spot Fleet requests that are not successfully
-- canceled.
cancelSpotFleetRequestsResponse_unsuccessfulFleetRequests :: Lens.Lens' CancelSpotFleetRequestsResponse (Prelude.Maybe [CancelSpotFleetRequestsErrorItem])
cancelSpotFleetRequestsResponse_unsuccessfulFleetRequests :: Lens'
  CancelSpotFleetRequestsResponse
  (Maybe [CancelSpotFleetRequestsErrorItem])
cancelSpotFleetRequestsResponse_unsuccessfulFleetRequests = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CancelSpotFleetRequestsResponse' {Maybe [CancelSpotFleetRequestsErrorItem]
unsuccessfulFleetRequests :: Maybe [CancelSpotFleetRequestsErrorItem]
$sel:unsuccessfulFleetRequests:CancelSpotFleetRequestsResponse' :: CancelSpotFleetRequestsResponse
-> Maybe [CancelSpotFleetRequestsErrorItem]
unsuccessfulFleetRequests} -> Maybe [CancelSpotFleetRequestsErrorItem]
unsuccessfulFleetRequests) (\s :: CancelSpotFleetRequestsResponse
s@CancelSpotFleetRequestsResponse' {} Maybe [CancelSpotFleetRequestsErrorItem]
a -> CancelSpotFleetRequestsResponse
s {$sel:unsuccessfulFleetRequests:CancelSpotFleetRequestsResponse' :: Maybe [CancelSpotFleetRequestsErrorItem]
unsuccessfulFleetRequests = Maybe [CancelSpotFleetRequestsErrorItem]
a} :: CancelSpotFleetRequestsResponse) 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 response's http status code.
cancelSpotFleetRequestsResponse_httpStatus :: Lens.Lens' CancelSpotFleetRequestsResponse Prelude.Int
cancelSpotFleetRequestsResponse_httpStatus :: Lens' CancelSpotFleetRequestsResponse Int
cancelSpotFleetRequestsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CancelSpotFleetRequestsResponse' {Int
httpStatus :: Int
$sel:httpStatus:CancelSpotFleetRequestsResponse' :: CancelSpotFleetRequestsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CancelSpotFleetRequestsResponse
s@CancelSpotFleetRequestsResponse' {} Int
a -> CancelSpotFleetRequestsResponse
s {$sel:httpStatus:CancelSpotFleetRequestsResponse' :: Int
httpStatus = Int
a} :: CancelSpotFleetRequestsResponse)

instance
  Prelude.NFData
    CancelSpotFleetRequestsResponse
  where
  rnf :: CancelSpotFleetRequestsResponse -> ()
rnf CancelSpotFleetRequestsResponse' {Int
Maybe [CancelSpotFleetRequestsErrorItem]
Maybe [CancelSpotFleetRequestsSuccessItem]
httpStatus :: Int
unsuccessfulFleetRequests :: Maybe [CancelSpotFleetRequestsErrorItem]
successfulFleetRequests :: Maybe [CancelSpotFleetRequestsSuccessItem]
$sel:httpStatus:CancelSpotFleetRequestsResponse' :: CancelSpotFleetRequestsResponse -> Int
$sel:unsuccessfulFleetRequests:CancelSpotFleetRequestsResponse' :: CancelSpotFleetRequestsResponse
-> Maybe [CancelSpotFleetRequestsErrorItem]
$sel:successfulFleetRequests:CancelSpotFleetRequestsResponse' :: CancelSpotFleetRequestsResponse
-> Maybe [CancelSpotFleetRequestsSuccessItem]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [CancelSpotFleetRequestsSuccessItem]
successfulFleetRequests
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [CancelSpotFleetRequestsErrorItem]
unsuccessfulFleetRequests
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus