{-# 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 #-}
module Amazonka.ComputeOptimizer.DeleteRecommendationPreferences
(
DeleteRecommendationPreferences (..),
newDeleteRecommendationPreferences,
deleteRecommendationPreferences_scope,
deleteRecommendationPreferences_resourceType,
deleteRecommendationPreferences_recommendationPreferenceNames,
DeleteRecommendationPreferencesResponse (..),
newDeleteRecommendationPreferencesResponse,
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
data DeleteRecommendationPreferences = DeleteRecommendationPreferences'
{
DeleteRecommendationPreferences -> Maybe Scope
scope :: Prelude.Maybe Scope,
DeleteRecommendationPreferences -> ResourceType
resourceType :: ResourceType,
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)
newDeleteRecommendationPreferences ::
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
}
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)
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)
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
data DeleteRecommendationPreferencesResponse = DeleteRecommendationPreferencesResponse'
{
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)
newDeleteRecommendationPreferencesResponse ::
Prelude.Int ->
DeleteRecommendationPreferencesResponse
newDeleteRecommendationPreferencesResponse :: Int -> DeleteRecommendationPreferencesResponse
newDeleteRecommendationPreferencesResponse
Int
pHttpStatus_ =
DeleteRecommendationPreferencesResponse'
{ $sel:httpStatus:DeleteRecommendationPreferencesResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
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