{-# 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.GlobalAccelerator.UpdateAccelerator
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Update an accelerator.
--
-- Global Accelerator is a global service that supports endpoints in
-- multiple Amazon Web Services Regions but you must specify the US West
-- (Oregon) Region to create, update, or otherwise work with accelerators.
-- That is, for example, specify @--region us-west-2@ on AWS CLI commands.
module Amazonka.GlobalAccelerator.UpdateAccelerator
  ( -- * Creating a Request
    UpdateAccelerator (..),
    newUpdateAccelerator,

    -- * Request Lenses
    updateAccelerator_enabled,
    updateAccelerator_ipAddressType,
    updateAccelerator_name,
    updateAccelerator_acceleratorArn,

    -- * Destructuring the Response
    UpdateAcceleratorResponse (..),
    newUpdateAcceleratorResponse,

    -- * Response Lenses
    updateAcceleratorResponse_accelerator,
    updateAcceleratorResponse_httpStatus,
  )
where

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

-- | /See:/ 'newUpdateAccelerator' smart constructor.
data UpdateAccelerator = UpdateAccelerator'
  { -- | Indicates whether an accelerator is enabled. The value is true or false.
    -- The default value is true.
    --
    -- If the value is set to true, the accelerator cannot be deleted. If set
    -- to false, the accelerator can be deleted.
    UpdateAccelerator -> Maybe Bool
enabled :: Prelude.Maybe Prelude.Bool,
    -- | The IP address type that an accelerator supports. For a standard
    -- accelerator, the value can be IPV4 or DUAL_STACK.
    UpdateAccelerator -> Maybe IpAddressType
ipAddressType :: Prelude.Maybe IpAddressType,
    -- | The name of the accelerator. The name can have a maximum of 64
    -- characters, must contain only alphanumeric characters, periods (.), or
    -- hyphens (-), and must not begin or end with a hyphen or period.
    UpdateAccelerator -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the accelerator to update.
    UpdateAccelerator -> Text
acceleratorArn :: Prelude.Text
  }
  deriving (UpdateAccelerator -> UpdateAccelerator -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAccelerator -> UpdateAccelerator -> Bool
$c/= :: UpdateAccelerator -> UpdateAccelerator -> Bool
== :: UpdateAccelerator -> UpdateAccelerator -> Bool
$c== :: UpdateAccelerator -> UpdateAccelerator -> Bool
Prelude.Eq, ReadPrec [UpdateAccelerator]
ReadPrec UpdateAccelerator
Int -> ReadS UpdateAccelerator
ReadS [UpdateAccelerator]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAccelerator]
$creadListPrec :: ReadPrec [UpdateAccelerator]
readPrec :: ReadPrec UpdateAccelerator
$creadPrec :: ReadPrec UpdateAccelerator
readList :: ReadS [UpdateAccelerator]
$creadList :: ReadS [UpdateAccelerator]
readsPrec :: Int -> ReadS UpdateAccelerator
$creadsPrec :: Int -> ReadS UpdateAccelerator
Prelude.Read, Int -> UpdateAccelerator -> ShowS
[UpdateAccelerator] -> ShowS
UpdateAccelerator -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAccelerator] -> ShowS
$cshowList :: [UpdateAccelerator] -> ShowS
show :: UpdateAccelerator -> String
$cshow :: UpdateAccelerator -> String
showsPrec :: Int -> UpdateAccelerator -> ShowS
$cshowsPrec :: Int -> UpdateAccelerator -> ShowS
Prelude.Show, forall x. Rep UpdateAccelerator x -> UpdateAccelerator
forall x. UpdateAccelerator -> Rep UpdateAccelerator x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateAccelerator x -> UpdateAccelerator
$cfrom :: forall x. UpdateAccelerator -> Rep UpdateAccelerator x
Prelude.Generic)

-- |
-- Create a value of 'UpdateAccelerator' 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:
--
-- 'enabled', 'updateAccelerator_enabled' - Indicates whether an accelerator is enabled. The value is true or false.
-- The default value is true.
--
-- If the value is set to true, the accelerator cannot be deleted. If set
-- to false, the accelerator can be deleted.
--
-- 'ipAddressType', 'updateAccelerator_ipAddressType' - The IP address type that an accelerator supports. For a standard
-- accelerator, the value can be IPV4 or DUAL_STACK.
--
-- 'name', 'updateAccelerator_name' - The name of the accelerator. The name can have a maximum of 64
-- characters, must contain only alphanumeric characters, periods (.), or
-- hyphens (-), and must not begin or end with a hyphen or period.
--
-- 'acceleratorArn', 'updateAccelerator_acceleratorArn' - The Amazon Resource Name (ARN) of the accelerator to update.
newUpdateAccelerator ::
  -- | 'acceleratorArn'
  Prelude.Text ->
  UpdateAccelerator
newUpdateAccelerator :: Text -> UpdateAccelerator
newUpdateAccelerator Text
pAcceleratorArn_ =
  UpdateAccelerator'
    { $sel:enabled:UpdateAccelerator' :: Maybe Bool
enabled = forall a. Maybe a
Prelude.Nothing,
      $sel:ipAddressType:UpdateAccelerator' :: Maybe IpAddressType
ipAddressType = forall a. Maybe a
Prelude.Nothing,
      $sel:name:UpdateAccelerator' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:acceleratorArn:UpdateAccelerator' :: Text
acceleratorArn = Text
pAcceleratorArn_
    }

-- | Indicates whether an accelerator is enabled. The value is true or false.
-- The default value is true.
--
-- If the value is set to true, the accelerator cannot be deleted. If set
-- to false, the accelerator can be deleted.
updateAccelerator_enabled :: Lens.Lens' UpdateAccelerator (Prelude.Maybe Prelude.Bool)
updateAccelerator_enabled :: Lens' UpdateAccelerator (Maybe Bool)
updateAccelerator_enabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAccelerator' {Maybe Bool
enabled :: Maybe Bool
$sel:enabled:UpdateAccelerator' :: UpdateAccelerator -> Maybe Bool
enabled} -> Maybe Bool
enabled) (\s :: UpdateAccelerator
s@UpdateAccelerator' {} Maybe Bool
a -> UpdateAccelerator
s {$sel:enabled:UpdateAccelerator' :: Maybe Bool
enabled = Maybe Bool
a} :: UpdateAccelerator)

-- | The IP address type that an accelerator supports. For a standard
-- accelerator, the value can be IPV4 or DUAL_STACK.
updateAccelerator_ipAddressType :: Lens.Lens' UpdateAccelerator (Prelude.Maybe IpAddressType)
updateAccelerator_ipAddressType :: Lens' UpdateAccelerator (Maybe IpAddressType)
updateAccelerator_ipAddressType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAccelerator' {Maybe IpAddressType
ipAddressType :: Maybe IpAddressType
$sel:ipAddressType:UpdateAccelerator' :: UpdateAccelerator -> Maybe IpAddressType
ipAddressType} -> Maybe IpAddressType
ipAddressType) (\s :: UpdateAccelerator
s@UpdateAccelerator' {} Maybe IpAddressType
a -> UpdateAccelerator
s {$sel:ipAddressType:UpdateAccelerator' :: Maybe IpAddressType
ipAddressType = Maybe IpAddressType
a} :: UpdateAccelerator)

-- | The name of the accelerator. The name can have a maximum of 64
-- characters, must contain only alphanumeric characters, periods (.), or
-- hyphens (-), and must not begin or end with a hyphen or period.
updateAccelerator_name :: Lens.Lens' UpdateAccelerator (Prelude.Maybe Prelude.Text)
updateAccelerator_name :: Lens' UpdateAccelerator (Maybe Text)
updateAccelerator_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAccelerator' {Maybe Text
name :: Maybe Text
$sel:name:UpdateAccelerator' :: UpdateAccelerator -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateAccelerator
s@UpdateAccelerator' {} Maybe Text
a -> UpdateAccelerator
s {$sel:name:UpdateAccelerator' :: Maybe Text
name = Maybe Text
a} :: UpdateAccelerator)

-- | The Amazon Resource Name (ARN) of the accelerator to update.
updateAccelerator_acceleratorArn :: Lens.Lens' UpdateAccelerator Prelude.Text
updateAccelerator_acceleratorArn :: Lens' UpdateAccelerator Text
updateAccelerator_acceleratorArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAccelerator' {Text
acceleratorArn :: Text
$sel:acceleratorArn:UpdateAccelerator' :: UpdateAccelerator -> Text
acceleratorArn} -> Text
acceleratorArn) (\s :: UpdateAccelerator
s@UpdateAccelerator' {} Text
a -> UpdateAccelerator
s {$sel:acceleratorArn:UpdateAccelerator' :: Text
acceleratorArn = Text
a} :: UpdateAccelerator)

instance Core.AWSRequest UpdateAccelerator where
  type
    AWSResponse UpdateAccelerator =
      UpdateAcceleratorResponse
  request :: (Service -> Service)
-> UpdateAccelerator -> Request UpdateAccelerator
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateAccelerator
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateAccelerator)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Accelerator -> Int -> UpdateAcceleratorResponse
UpdateAcceleratorResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Accelerator")
            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 UpdateAccelerator where
  hashWithSalt :: Int -> UpdateAccelerator -> Int
hashWithSalt Int
_salt UpdateAccelerator' {Maybe Bool
Maybe Text
Maybe IpAddressType
Text
acceleratorArn :: Text
name :: Maybe Text
ipAddressType :: Maybe IpAddressType
enabled :: Maybe Bool
$sel:acceleratorArn:UpdateAccelerator' :: UpdateAccelerator -> Text
$sel:name:UpdateAccelerator' :: UpdateAccelerator -> Maybe Text
$sel:ipAddressType:UpdateAccelerator' :: UpdateAccelerator -> Maybe IpAddressType
$sel:enabled:UpdateAccelerator' :: UpdateAccelerator -> Maybe Bool
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
enabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IpAddressType
ipAddressType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
acceleratorArn

instance Prelude.NFData UpdateAccelerator where
  rnf :: UpdateAccelerator -> ()
rnf UpdateAccelerator' {Maybe Bool
Maybe Text
Maybe IpAddressType
Text
acceleratorArn :: Text
name :: Maybe Text
ipAddressType :: Maybe IpAddressType
enabled :: Maybe Bool
$sel:acceleratorArn:UpdateAccelerator' :: UpdateAccelerator -> Text
$sel:name:UpdateAccelerator' :: UpdateAccelerator -> Maybe Text
$sel:ipAddressType:UpdateAccelerator' :: UpdateAccelerator -> Maybe IpAddressType
$sel:enabled:UpdateAccelerator' :: UpdateAccelerator -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
enabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IpAddressType
ipAddressType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
acceleratorArn

instance Data.ToHeaders UpdateAccelerator where
  toHeaders :: UpdateAccelerator -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"GlobalAccelerator_V20180706.UpdateAccelerator" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON UpdateAccelerator where
  toJSON :: UpdateAccelerator -> Value
toJSON UpdateAccelerator' {Maybe Bool
Maybe Text
Maybe IpAddressType
Text
acceleratorArn :: Text
name :: Maybe Text
ipAddressType :: Maybe IpAddressType
enabled :: Maybe Bool
$sel:acceleratorArn:UpdateAccelerator' :: UpdateAccelerator -> Text
$sel:name:UpdateAccelerator' :: UpdateAccelerator -> Maybe Text
$sel:ipAddressType:UpdateAccelerator' :: UpdateAccelerator -> Maybe IpAddressType
$sel:enabled:UpdateAccelerator' :: UpdateAccelerator -> Maybe Bool
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Enabled" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
enabled,
            (Key
"IpAddressType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe IpAddressType
ipAddressType,
            (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
name,
            forall a. a -> Maybe a
Prelude.Just
              (Key
"AcceleratorArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
acceleratorArn)
          ]
      )

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

instance Data.ToQuery UpdateAccelerator where
  toQuery :: UpdateAccelerator -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newUpdateAcceleratorResponse' smart constructor.
data UpdateAcceleratorResponse = UpdateAcceleratorResponse'
  { -- | Information about the updated accelerator.
    UpdateAcceleratorResponse -> Maybe Accelerator
accelerator :: Prelude.Maybe Accelerator,
    -- | The response's http status code.
    UpdateAcceleratorResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateAcceleratorResponse -> UpdateAcceleratorResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAcceleratorResponse -> UpdateAcceleratorResponse -> Bool
$c/= :: UpdateAcceleratorResponse -> UpdateAcceleratorResponse -> Bool
== :: UpdateAcceleratorResponse -> UpdateAcceleratorResponse -> Bool
$c== :: UpdateAcceleratorResponse -> UpdateAcceleratorResponse -> Bool
Prelude.Eq, ReadPrec [UpdateAcceleratorResponse]
ReadPrec UpdateAcceleratorResponse
Int -> ReadS UpdateAcceleratorResponse
ReadS [UpdateAcceleratorResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAcceleratorResponse]
$creadListPrec :: ReadPrec [UpdateAcceleratorResponse]
readPrec :: ReadPrec UpdateAcceleratorResponse
$creadPrec :: ReadPrec UpdateAcceleratorResponse
readList :: ReadS [UpdateAcceleratorResponse]
$creadList :: ReadS [UpdateAcceleratorResponse]
readsPrec :: Int -> ReadS UpdateAcceleratorResponse
$creadsPrec :: Int -> ReadS UpdateAcceleratorResponse
Prelude.Read, Int -> UpdateAcceleratorResponse -> ShowS
[UpdateAcceleratorResponse] -> ShowS
UpdateAcceleratorResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAcceleratorResponse] -> ShowS
$cshowList :: [UpdateAcceleratorResponse] -> ShowS
show :: UpdateAcceleratorResponse -> String
$cshow :: UpdateAcceleratorResponse -> String
showsPrec :: Int -> UpdateAcceleratorResponse -> ShowS
$cshowsPrec :: Int -> UpdateAcceleratorResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateAcceleratorResponse x -> UpdateAcceleratorResponse
forall x.
UpdateAcceleratorResponse -> Rep UpdateAcceleratorResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateAcceleratorResponse x -> UpdateAcceleratorResponse
$cfrom :: forall x.
UpdateAcceleratorResponse -> Rep UpdateAcceleratorResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateAcceleratorResponse' 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:
--
-- 'accelerator', 'updateAcceleratorResponse_accelerator' - Information about the updated accelerator.
--
-- 'httpStatus', 'updateAcceleratorResponse_httpStatus' - The response's http status code.
newUpdateAcceleratorResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateAcceleratorResponse
newUpdateAcceleratorResponse :: Int -> UpdateAcceleratorResponse
newUpdateAcceleratorResponse Int
pHttpStatus_ =
  UpdateAcceleratorResponse'
    { $sel:accelerator:UpdateAcceleratorResponse' :: Maybe Accelerator
accelerator =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateAcceleratorResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Information about the updated accelerator.
updateAcceleratorResponse_accelerator :: Lens.Lens' UpdateAcceleratorResponse (Prelude.Maybe Accelerator)
updateAcceleratorResponse_accelerator :: Lens' UpdateAcceleratorResponse (Maybe Accelerator)
updateAcceleratorResponse_accelerator = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAcceleratorResponse' {Maybe Accelerator
accelerator :: Maybe Accelerator
$sel:accelerator:UpdateAcceleratorResponse' :: UpdateAcceleratorResponse -> Maybe Accelerator
accelerator} -> Maybe Accelerator
accelerator) (\s :: UpdateAcceleratorResponse
s@UpdateAcceleratorResponse' {} Maybe Accelerator
a -> UpdateAcceleratorResponse
s {$sel:accelerator:UpdateAcceleratorResponse' :: Maybe Accelerator
accelerator = Maybe Accelerator
a} :: UpdateAcceleratorResponse)

-- | The response's http status code.
updateAcceleratorResponse_httpStatus :: Lens.Lens' UpdateAcceleratorResponse Prelude.Int
updateAcceleratorResponse_httpStatus :: Lens' UpdateAcceleratorResponse Int
updateAcceleratorResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAcceleratorResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateAcceleratorResponse' :: UpdateAcceleratorResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateAcceleratorResponse
s@UpdateAcceleratorResponse' {} Int
a -> UpdateAcceleratorResponse
s {$sel:httpStatus:UpdateAcceleratorResponse' :: Int
httpStatus = Int
a} :: UpdateAcceleratorResponse)

instance Prelude.NFData UpdateAcceleratorResponse where
  rnf :: UpdateAcceleratorResponse -> ()
rnf UpdateAcceleratorResponse' {Int
Maybe Accelerator
httpStatus :: Int
accelerator :: Maybe Accelerator
$sel:httpStatus:UpdateAcceleratorResponse' :: UpdateAcceleratorResponse -> Int
$sel:accelerator:UpdateAcceleratorResponse' :: UpdateAcceleratorResponse -> Maybe Accelerator
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Accelerator
accelerator
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus