{-# 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.QuickSight.DeleteTheme
(
DeleteTheme (..),
newDeleteTheme,
deleteTheme_versionNumber,
deleteTheme_awsAccountId,
deleteTheme_themeId,
DeleteThemeResponse (..),
newDeleteThemeResponse,
deleteThemeResponse_arn,
deleteThemeResponse_requestId,
deleteThemeResponse_themeId,
deleteThemeResponse_status,
)
where
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 Amazonka.QuickSight.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteTheme = DeleteTheme'
{
DeleteTheme -> Maybe Natural
versionNumber :: Prelude.Maybe Prelude.Natural,
DeleteTheme -> Text
awsAccountId :: Prelude.Text,
DeleteTheme -> Text
themeId :: Prelude.Text
}
deriving (DeleteTheme -> DeleteTheme -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteTheme -> DeleteTheme -> Bool
$c/= :: DeleteTheme -> DeleteTheme -> Bool
== :: DeleteTheme -> DeleteTheme -> Bool
$c== :: DeleteTheme -> DeleteTheme -> Bool
Prelude.Eq, ReadPrec [DeleteTheme]
ReadPrec DeleteTheme
Int -> ReadS DeleteTheme
ReadS [DeleteTheme]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteTheme]
$creadListPrec :: ReadPrec [DeleteTheme]
readPrec :: ReadPrec DeleteTheme
$creadPrec :: ReadPrec DeleteTheme
readList :: ReadS [DeleteTheme]
$creadList :: ReadS [DeleteTheme]
readsPrec :: Int -> ReadS DeleteTheme
$creadsPrec :: Int -> ReadS DeleteTheme
Prelude.Read, Int -> DeleteTheme -> ShowS
[DeleteTheme] -> ShowS
DeleteTheme -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteTheme] -> ShowS
$cshowList :: [DeleteTheme] -> ShowS
show :: DeleteTheme -> String
$cshow :: DeleteTheme -> String
showsPrec :: Int -> DeleteTheme -> ShowS
$cshowsPrec :: Int -> DeleteTheme -> ShowS
Prelude.Show, forall x. Rep DeleteTheme x -> DeleteTheme
forall x. DeleteTheme -> Rep DeleteTheme x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteTheme x -> DeleteTheme
$cfrom :: forall x. DeleteTheme -> Rep DeleteTheme x
Prelude.Generic)
newDeleteTheme ::
Prelude.Text ->
Prelude.Text ->
DeleteTheme
newDeleteTheme :: Text -> Text -> DeleteTheme
newDeleteTheme Text
pAwsAccountId_ Text
pThemeId_ =
DeleteTheme'
{ $sel:versionNumber:DeleteTheme' :: Maybe Natural
versionNumber = forall a. Maybe a
Prelude.Nothing,
$sel:awsAccountId:DeleteTheme' :: Text
awsAccountId = Text
pAwsAccountId_,
$sel:themeId:DeleteTheme' :: Text
themeId = Text
pThemeId_
}
deleteTheme_versionNumber :: Lens.Lens' DeleteTheme (Prelude.Maybe Prelude.Natural)
deleteTheme_versionNumber :: Lens' DeleteTheme (Maybe Natural)
deleteTheme_versionNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTheme' {Maybe Natural
versionNumber :: Maybe Natural
$sel:versionNumber:DeleteTheme' :: DeleteTheme -> Maybe Natural
versionNumber} -> Maybe Natural
versionNumber) (\s :: DeleteTheme
s@DeleteTheme' {} Maybe Natural
a -> DeleteTheme
s {$sel:versionNumber:DeleteTheme' :: Maybe Natural
versionNumber = Maybe Natural
a} :: DeleteTheme)
deleteTheme_awsAccountId :: Lens.Lens' DeleteTheme Prelude.Text
deleteTheme_awsAccountId :: Lens' DeleteTheme Text
deleteTheme_awsAccountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTheme' {Text
awsAccountId :: Text
$sel:awsAccountId:DeleteTheme' :: DeleteTheme -> Text
awsAccountId} -> Text
awsAccountId) (\s :: DeleteTheme
s@DeleteTheme' {} Text
a -> DeleteTheme
s {$sel:awsAccountId:DeleteTheme' :: Text
awsAccountId = Text
a} :: DeleteTheme)
deleteTheme_themeId :: Lens.Lens' DeleteTheme Prelude.Text
deleteTheme_themeId :: Lens' DeleteTheme Text
deleteTheme_themeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTheme' {Text
themeId :: Text
$sel:themeId:DeleteTheme' :: DeleteTheme -> Text
themeId} -> Text
themeId) (\s :: DeleteTheme
s@DeleteTheme' {} Text
a -> DeleteTheme
s {$sel:themeId:DeleteTheme' :: Text
themeId = Text
a} :: DeleteTheme)
instance Core.AWSRequest DeleteTheme where
type AWSResponse DeleteTheme = DeleteThemeResponse
request :: (Service -> Service) -> DeleteTheme -> Request DeleteTheme
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteTheme
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteTheme)))
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 Text
-> Maybe Text -> Maybe Text -> Int -> DeleteThemeResponse
DeleteThemeResponse'
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
"Arn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"RequestId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ThemeId")
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 DeleteTheme where
hashWithSalt :: Int -> DeleteTheme -> Int
hashWithSalt Int
_salt DeleteTheme' {Maybe Natural
Text
themeId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
$sel:themeId:DeleteTheme' :: DeleteTheme -> Text
$sel:awsAccountId:DeleteTheme' :: DeleteTheme -> Text
$sel:versionNumber:DeleteTheme' :: DeleteTheme -> Maybe Natural
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
versionNumber
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
awsAccountId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
themeId
instance Prelude.NFData DeleteTheme where
rnf :: DeleteTheme -> ()
rnf DeleteTheme' {Maybe Natural
Text
themeId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
$sel:themeId:DeleteTheme' :: DeleteTheme -> Text
$sel:awsAccountId:DeleteTheme' :: DeleteTheme -> Text
$sel:versionNumber:DeleteTheme' :: DeleteTheme -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
versionNumber
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
awsAccountId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
themeId
instance Data.ToHeaders DeleteTheme where
toHeaders :: DeleteTheme -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DeleteTheme where
toPath :: DeleteTheme -> ByteString
toPath DeleteTheme' {Maybe Natural
Text
themeId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
$sel:themeId:DeleteTheme' :: DeleteTheme -> Text
$sel:awsAccountId:DeleteTheme' :: DeleteTheme -> Text
$sel:versionNumber:DeleteTheme' :: DeleteTheme -> Maybe Natural
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/accounts/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
awsAccountId,
ByteString
"/themes/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
themeId
]
instance Data.ToQuery DeleteTheme where
toQuery :: DeleteTheme -> QueryString
toQuery DeleteTheme' {Maybe Natural
Text
themeId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
$sel:themeId:DeleteTheme' :: DeleteTheme -> Text
$sel:awsAccountId:DeleteTheme' :: DeleteTheme -> Text
$sel:versionNumber:DeleteTheme' :: DeleteTheme -> Maybe Natural
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"version-number" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
versionNumber]
data DeleteThemeResponse = DeleteThemeResponse'
{
DeleteThemeResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
DeleteThemeResponse -> Maybe Text
requestId :: Prelude.Maybe Prelude.Text,
DeleteThemeResponse -> Maybe Text
themeId :: Prelude.Maybe Prelude.Text,
DeleteThemeResponse -> Int
status :: Prelude.Int
}
deriving (DeleteThemeResponse -> DeleteThemeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteThemeResponse -> DeleteThemeResponse -> Bool
$c/= :: DeleteThemeResponse -> DeleteThemeResponse -> Bool
== :: DeleteThemeResponse -> DeleteThemeResponse -> Bool
$c== :: DeleteThemeResponse -> DeleteThemeResponse -> Bool
Prelude.Eq, ReadPrec [DeleteThemeResponse]
ReadPrec DeleteThemeResponse
Int -> ReadS DeleteThemeResponse
ReadS [DeleteThemeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteThemeResponse]
$creadListPrec :: ReadPrec [DeleteThemeResponse]
readPrec :: ReadPrec DeleteThemeResponse
$creadPrec :: ReadPrec DeleteThemeResponse
readList :: ReadS [DeleteThemeResponse]
$creadList :: ReadS [DeleteThemeResponse]
readsPrec :: Int -> ReadS DeleteThemeResponse
$creadsPrec :: Int -> ReadS DeleteThemeResponse
Prelude.Read, Int -> DeleteThemeResponse -> ShowS
[DeleteThemeResponse] -> ShowS
DeleteThemeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteThemeResponse] -> ShowS
$cshowList :: [DeleteThemeResponse] -> ShowS
show :: DeleteThemeResponse -> String
$cshow :: DeleteThemeResponse -> String
showsPrec :: Int -> DeleteThemeResponse -> ShowS
$cshowsPrec :: Int -> DeleteThemeResponse -> ShowS
Prelude.Show, forall x. Rep DeleteThemeResponse x -> DeleteThemeResponse
forall x. DeleteThemeResponse -> Rep DeleteThemeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteThemeResponse x -> DeleteThemeResponse
$cfrom :: forall x. DeleteThemeResponse -> Rep DeleteThemeResponse x
Prelude.Generic)
newDeleteThemeResponse ::
Prelude.Int ->
DeleteThemeResponse
newDeleteThemeResponse :: Int -> DeleteThemeResponse
newDeleteThemeResponse Int
pStatus_ =
DeleteThemeResponse'
{ $sel:arn:DeleteThemeResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:requestId:DeleteThemeResponse' :: Maybe Text
requestId = forall a. Maybe a
Prelude.Nothing,
$sel:themeId:DeleteThemeResponse' :: Maybe Text
themeId = forall a. Maybe a
Prelude.Nothing,
$sel:status:DeleteThemeResponse' :: Int
status = Int
pStatus_
}
deleteThemeResponse_arn :: Lens.Lens' DeleteThemeResponse (Prelude.Maybe Prelude.Text)
deleteThemeResponse_arn :: Lens' DeleteThemeResponse (Maybe Text)
deleteThemeResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteThemeResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:DeleteThemeResponse' :: DeleteThemeResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: DeleteThemeResponse
s@DeleteThemeResponse' {} Maybe Text
a -> DeleteThemeResponse
s {$sel:arn:DeleteThemeResponse' :: Maybe Text
arn = Maybe Text
a} :: DeleteThemeResponse)
deleteThemeResponse_requestId :: Lens.Lens' DeleteThemeResponse (Prelude.Maybe Prelude.Text)
deleteThemeResponse_requestId :: Lens' DeleteThemeResponse (Maybe Text)
deleteThemeResponse_requestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteThemeResponse' {Maybe Text
requestId :: Maybe Text
$sel:requestId:DeleteThemeResponse' :: DeleteThemeResponse -> Maybe Text
requestId} -> Maybe Text
requestId) (\s :: DeleteThemeResponse
s@DeleteThemeResponse' {} Maybe Text
a -> DeleteThemeResponse
s {$sel:requestId:DeleteThemeResponse' :: Maybe Text
requestId = Maybe Text
a} :: DeleteThemeResponse)
deleteThemeResponse_themeId :: Lens.Lens' DeleteThemeResponse (Prelude.Maybe Prelude.Text)
deleteThemeResponse_themeId :: Lens' DeleteThemeResponse (Maybe Text)
deleteThemeResponse_themeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteThemeResponse' {Maybe Text
themeId :: Maybe Text
$sel:themeId:DeleteThemeResponse' :: DeleteThemeResponse -> Maybe Text
themeId} -> Maybe Text
themeId) (\s :: DeleteThemeResponse
s@DeleteThemeResponse' {} Maybe Text
a -> DeleteThemeResponse
s {$sel:themeId:DeleteThemeResponse' :: Maybe Text
themeId = Maybe Text
a} :: DeleteThemeResponse)
deleteThemeResponse_status :: Lens.Lens' DeleteThemeResponse Prelude.Int
deleteThemeResponse_status :: Lens' DeleteThemeResponse Int
deleteThemeResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteThemeResponse' {Int
status :: Int
$sel:status:DeleteThemeResponse' :: DeleteThemeResponse -> Int
status} -> Int
status) (\s :: DeleteThemeResponse
s@DeleteThemeResponse' {} Int
a -> DeleteThemeResponse
s {$sel:status:DeleteThemeResponse' :: Int
status = Int
a} :: DeleteThemeResponse)
instance Prelude.NFData DeleteThemeResponse where
rnf :: DeleteThemeResponse -> ()
rnf DeleteThemeResponse' {Int
Maybe Text
status :: Int
themeId :: Maybe Text
requestId :: Maybe Text
arn :: Maybe Text
$sel:status:DeleteThemeResponse' :: DeleteThemeResponse -> Int
$sel:themeId:DeleteThemeResponse' :: DeleteThemeResponse -> Maybe Text
$sel:requestId:DeleteThemeResponse' :: DeleteThemeResponse -> Maybe Text
$sel:arn:DeleteThemeResponse' :: DeleteThemeResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
requestId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
themeId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
status