{-# 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.ComputeOptimizer.DeleteRecommendationPreferences
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Deletes a recommendation preference, such as enhanced infrastructure
-- metrics.
--
-- For more information, see
-- <https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html Activating enhanced infrastructure metrics>
-- in the /Compute Optimizer User Guide/.
module Amazonka.ComputeOptimizer.DeleteRecommendationPreferences
  ( -- * Creating a Request
    DeleteRecommendationPreferences (..),
    newDeleteRecommendationPreferences,

    -- * Request Lenses
    deleteRecommendationPreferences_scope,
    deleteRecommendationPreferences_resourceType,
    deleteRecommendationPreferences_recommendationPreferenceNames,

    -- * Destructuring the Response
    DeleteRecommendationPreferencesResponse (..),
    newDeleteRecommendationPreferencesResponse,

    -- * Response Lenses
    deleteRecommendationPreferencesResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDeleteRecommendationPreferences' smart constructor.
data DeleteRecommendationPreferences = DeleteRecommendationPreferences'
  { -- | An object that describes the scope of the recommendation preference to
    -- delete.
    --
    -- You can delete recommendation preferences that are created at the
    -- organization level (for management accounts of an organization only),
    -- account level, and resource level. For more information, see
    -- <https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html Activating enhanced infrastructure metrics>
    -- in the /Compute Optimizer User Guide/.
    DeleteRecommendationPreferences -> Maybe Scope
scope :: Prelude.Maybe Scope,
    -- | The target resource type of the recommendation preference to delete.
    --
    -- The @Ec2Instance@ option encompasses standalone instances and instances
    -- that are part of Auto Scaling groups. The @AutoScalingGroup@ option
    -- encompasses only instances that are part of an Auto Scaling group.
    --
    -- The valid values for this parameter are @Ec2Instance@ and
    -- @AutoScalingGroup@.
    DeleteRecommendationPreferences -> ResourceType
resourceType :: ResourceType,
    -- | The name of the recommendation preference to delete.
    DeleteRecommendationPreferences -> [RecommendationPreferenceName]
recommendationPreferenceNames :: [RecommendationPreferenceName]
  }
  deriving (DeleteRecommendationPreferences
-> DeleteRecommendationPreferences -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteRecommendationPreferences
-> DeleteRecommendationPreferences -> Bool
$c/= :: DeleteRecommendationPreferences
-> DeleteRecommendationPreferences -> Bool
== :: DeleteRecommendationPreferences
-> DeleteRecommendationPreferences -> Bool
$c== :: DeleteRecommendationPreferences
-> DeleteRecommendationPreferences -> Bool
Prelude.Eq, ReadPrec [DeleteRecommendationPreferences]
ReadPrec DeleteRecommendationPreferences
Int -> ReadS DeleteRecommendationPreferences
ReadS [DeleteRecommendationPreferences]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteRecommendationPreferences]
$creadListPrec :: ReadPrec [DeleteRecommendationPreferences]
readPrec :: ReadPrec DeleteRecommendationPreferences
$creadPrec :: ReadPrec DeleteRecommendationPreferences
readList :: ReadS [DeleteRecommendationPreferences]
$creadList :: ReadS [DeleteRecommendationPreferences]
readsPrec :: Int -> ReadS DeleteRecommendationPreferences
$creadsPrec :: Int -> ReadS DeleteRecommendationPreferences
Prelude.Read, Int -> DeleteRecommendationPreferences -> ShowS
[DeleteRecommendationPreferences] -> ShowS
DeleteRecommendationPreferences -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteRecommendationPreferences] -> ShowS
$cshowList :: [DeleteRecommendationPreferences] -> ShowS
show :: DeleteRecommendationPreferences -> String
$cshow :: DeleteRecommendationPreferences -> String
showsPrec :: Int -> DeleteRecommendationPreferences -> ShowS
$cshowsPrec :: Int -> DeleteRecommendationPreferences -> ShowS
Prelude.Show, forall x.
Rep DeleteRecommendationPreferences x
-> DeleteRecommendationPreferences
forall x.
DeleteRecommendationPreferences
-> Rep DeleteRecommendationPreferences x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteRecommendationPreferences x
-> DeleteRecommendationPreferences
$cfrom :: forall x.
DeleteRecommendationPreferences
-> Rep DeleteRecommendationPreferences x
Prelude.Generic)

-- |
-- Create a value of 'DeleteRecommendationPreferences' 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:
--
-- 'scope', 'deleteRecommendationPreferences_scope' - An object that describes the scope of the recommendation preference to
-- delete.
--
-- You can delete recommendation preferences that are created at the
-- organization level (for management accounts of an organization only),
-- account level, and resource level. For more information, see
-- <https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html Activating enhanced infrastructure metrics>
-- in the /Compute Optimizer User Guide/.
--
-- 'resourceType', 'deleteRecommendationPreferences_resourceType' - The target resource type of the recommendation preference to delete.
--
-- The @Ec2Instance@ option encompasses standalone instances and instances
-- that are part of Auto Scaling groups. The @AutoScalingGroup@ option
-- encompasses only instances that are part of an Auto Scaling group.
--
-- The valid values for this parameter are @Ec2Instance@ and
-- @AutoScalingGroup@.
--
-- 'recommendationPreferenceNames', 'deleteRecommendationPreferences_recommendationPreferenceNames' - The name of the recommendation preference to delete.
newDeleteRecommendationPreferences ::
  -- | 'resourceType'
  ResourceType ->
  DeleteRecommendationPreferences
newDeleteRecommendationPreferences :: ResourceType -> DeleteRecommendationPreferences
newDeleteRecommendationPreferences ResourceType
pResourceType_ =
  DeleteRecommendationPreferences'
    { $sel:scope:DeleteRecommendationPreferences' :: Maybe Scope
scope =
        forall a. Maybe a
Prelude.Nothing,
      $sel:resourceType:DeleteRecommendationPreferences' :: ResourceType
resourceType = ResourceType
pResourceType_,
      $sel:recommendationPreferenceNames:DeleteRecommendationPreferences' :: [RecommendationPreferenceName]
recommendationPreferenceNames =
        forall a. Monoid a => a
Prelude.mempty
    }

-- | An object that describes the scope of the recommendation preference to
-- delete.
--
-- You can delete recommendation preferences that are created at the
-- organization level (for management accounts of an organization only),
-- account level, and resource level. For more information, see
-- <https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html Activating enhanced infrastructure metrics>
-- in the /Compute Optimizer User Guide/.
deleteRecommendationPreferences_scope :: Lens.Lens' DeleteRecommendationPreferences (Prelude.Maybe Scope)
deleteRecommendationPreferences_scope :: Lens' DeleteRecommendationPreferences (Maybe Scope)
deleteRecommendationPreferences_scope = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteRecommendationPreferences' {Maybe Scope
scope :: Maybe Scope
$sel:scope:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> Maybe Scope
scope} -> Maybe Scope
scope) (\s :: DeleteRecommendationPreferences
s@DeleteRecommendationPreferences' {} Maybe Scope
a -> DeleteRecommendationPreferences
s {$sel:scope:DeleteRecommendationPreferences' :: Maybe Scope
scope = Maybe Scope
a} :: DeleteRecommendationPreferences)

-- | The target resource type of the recommendation preference to delete.
--
-- The @Ec2Instance@ option encompasses standalone instances and instances
-- that are part of Auto Scaling groups. The @AutoScalingGroup@ option
-- encompasses only instances that are part of an Auto Scaling group.
--
-- The valid values for this parameter are @Ec2Instance@ and
-- @AutoScalingGroup@.
deleteRecommendationPreferences_resourceType :: Lens.Lens' DeleteRecommendationPreferences ResourceType
deleteRecommendationPreferences_resourceType :: Lens' DeleteRecommendationPreferences ResourceType
deleteRecommendationPreferences_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteRecommendationPreferences' {ResourceType
resourceType :: ResourceType
$sel:resourceType:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> ResourceType
resourceType} -> ResourceType
resourceType) (\s :: DeleteRecommendationPreferences
s@DeleteRecommendationPreferences' {} ResourceType
a -> DeleteRecommendationPreferences
s {$sel:resourceType:DeleteRecommendationPreferences' :: ResourceType
resourceType = ResourceType
a} :: DeleteRecommendationPreferences)

-- | The name of the recommendation preference to delete.
deleteRecommendationPreferences_recommendationPreferenceNames :: Lens.Lens' DeleteRecommendationPreferences [RecommendationPreferenceName]
deleteRecommendationPreferences_recommendationPreferenceNames :: Lens'
  DeleteRecommendationPreferences [RecommendationPreferenceName]
deleteRecommendationPreferences_recommendationPreferenceNames = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteRecommendationPreferences' {[RecommendationPreferenceName]
recommendationPreferenceNames :: [RecommendationPreferenceName]
$sel:recommendationPreferenceNames:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> [RecommendationPreferenceName]
recommendationPreferenceNames} -> [RecommendationPreferenceName]
recommendationPreferenceNames) (\s :: DeleteRecommendationPreferences
s@DeleteRecommendationPreferences' {} [RecommendationPreferenceName]
a -> DeleteRecommendationPreferences
s {$sel:recommendationPreferenceNames:DeleteRecommendationPreferences' :: [RecommendationPreferenceName]
recommendationPreferenceNames = [RecommendationPreferenceName]
a} :: DeleteRecommendationPreferences) 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

instance
  Core.AWSRequest
    DeleteRecommendationPreferences
  where
  type
    AWSResponse DeleteRecommendationPreferences =
      DeleteRecommendationPreferencesResponse
  request :: (Service -> Service)
-> DeleteRecommendationPreferences
-> Request DeleteRecommendationPreferences
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 DeleteRecommendationPreferences
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DeleteRecommendationPreferences)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
      ( \Int
s ResponseHeaders
h ()
x ->
          Int -> DeleteRecommendationPreferencesResponse
DeleteRecommendationPreferencesResponse'
            forall (f :: * -> *) a b. Functor 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
    DeleteRecommendationPreferences
  where
  hashWithSalt :: Int -> DeleteRecommendationPreferences -> Int
hashWithSalt
    Int
_salt
    DeleteRecommendationPreferences' {[RecommendationPreferenceName]
Maybe Scope
ResourceType
recommendationPreferenceNames :: [RecommendationPreferenceName]
resourceType :: ResourceType
scope :: Maybe Scope
$sel:recommendationPreferenceNames:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> [RecommendationPreferenceName]
$sel:resourceType:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> ResourceType
$sel:scope:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> Maybe Scope
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Scope
scope
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ResourceType
resourceType
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [RecommendationPreferenceName]
recommendationPreferenceNames

instance
  Prelude.NFData
    DeleteRecommendationPreferences
  where
  rnf :: DeleteRecommendationPreferences -> ()
rnf DeleteRecommendationPreferences' {[RecommendationPreferenceName]
Maybe Scope
ResourceType
recommendationPreferenceNames :: [RecommendationPreferenceName]
resourceType :: ResourceType
scope :: Maybe Scope
$sel:recommendationPreferenceNames:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> [RecommendationPreferenceName]
$sel:resourceType:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> ResourceType
$sel:scope:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> Maybe Scope
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Scope
scope
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ResourceType
resourceType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [RecommendationPreferenceName]
recommendationPreferenceNames

instance
  Data.ToHeaders
    DeleteRecommendationPreferences
  where
  toHeaders :: DeleteRecommendationPreferences -> 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
"ComputeOptimizerService.DeleteRecommendationPreferences" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DeleteRecommendationPreferences where
  toJSON :: DeleteRecommendationPreferences -> Value
toJSON DeleteRecommendationPreferences' {[RecommendationPreferenceName]
Maybe Scope
ResourceType
recommendationPreferenceNames :: [RecommendationPreferenceName]
resourceType :: ResourceType
scope :: Maybe Scope
$sel:recommendationPreferenceNames:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> [RecommendationPreferenceName]
$sel:resourceType:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> ResourceType
$sel:scope:DeleteRecommendationPreferences' :: DeleteRecommendationPreferences -> Maybe Scope
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"scope" 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 Scope
scope,
            forall a. a -> Maybe a
Prelude.Just (Key
"resourceType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ResourceType
resourceType),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"recommendationPreferenceNames"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [RecommendationPreferenceName]
recommendationPreferenceNames
              )
          ]
      )

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

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

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

-- |
-- Create a value of 'DeleteRecommendationPreferencesResponse' 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:
--
-- 'httpStatus', 'deleteRecommendationPreferencesResponse_httpStatus' - The response's http status code.
newDeleteRecommendationPreferencesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DeleteRecommendationPreferencesResponse
newDeleteRecommendationPreferencesResponse :: Int -> DeleteRecommendationPreferencesResponse
newDeleteRecommendationPreferencesResponse
  Int
pHttpStatus_ =
    DeleteRecommendationPreferencesResponse'
      { $sel:httpStatus:DeleteRecommendationPreferencesResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

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

instance
  Prelude.NFData
    DeleteRecommendationPreferencesResponse
  where
  rnf :: DeleteRecommendationPreferencesResponse -> ()
rnf DeleteRecommendationPreferencesResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteRecommendationPreferencesResponse' :: DeleteRecommendationPreferencesResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus