{-# 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.SESV2.DeleteEmailIdentity -- 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 an email identity. An identity can be either an email address or -- a domain name. module Amazonka.SESV2.DeleteEmailIdentity ( -- * Creating a Request DeleteEmailIdentity (..), newDeleteEmailIdentity, -- * Request Lenses deleteEmailIdentity_emailIdentity, -- * Destructuring the Response DeleteEmailIdentityResponse (..), newDeleteEmailIdentityResponse, -- * Response Lenses deleteEmailIdentityResponse_httpStatus, ) 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 qualified Amazonka.Request as Request import qualified Amazonka.Response as Response import Amazonka.SESV2.Types -- | A request to delete an existing email identity. When you delete an -- identity, you lose the ability to send email from that identity. You can -- restore your ability to send email by completing the verification -- process for the identity again. -- -- /See:/ 'newDeleteEmailIdentity' smart constructor. data DeleteEmailIdentity = DeleteEmailIdentity' { -- | The identity (that is, the email address or domain) to delete. emailIdentity :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DeleteEmailIdentity' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'emailIdentity', 'deleteEmailIdentity_emailIdentity' - The identity (that is, the email address or domain) to delete. newDeleteEmailIdentity :: -- | 'emailIdentity' Prelude.Text -> DeleteEmailIdentity newDeleteEmailIdentity pEmailIdentity_ = DeleteEmailIdentity' { emailIdentity = pEmailIdentity_ } -- | The identity (that is, the email address or domain) to delete. deleteEmailIdentity_emailIdentity :: Lens.Lens' DeleteEmailIdentity Prelude.Text deleteEmailIdentity_emailIdentity = Lens.lens (\DeleteEmailIdentity' {emailIdentity} -> emailIdentity) (\s@DeleteEmailIdentity' {} a -> s {emailIdentity = a} :: DeleteEmailIdentity) instance Core.AWSRequest DeleteEmailIdentity where type AWSResponse DeleteEmailIdentity = DeleteEmailIdentityResponse request overrides = Request.delete (overrides defaultService) response = Response.receiveEmpty ( \s h x -> DeleteEmailIdentityResponse' Prelude.<$> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable DeleteEmailIdentity where hashWithSalt _salt DeleteEmailIdentity' {..} = _salt `Prelude.hashWithSalt` emailIdentity instance Prelude.NFData DeleteEmailIdentity where rnf DeleteEmailIdentity' {..} = Prelude.rnf emailIdentity instance Data.ToHeaders DeleteEmailIdentity where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToPath DeleteEmailIdentity where toPath DeleteEmailIdentity' {..} = Prelude.mconcat ["/v2/email/identities/", Data.toBS emailIdentity] instance Data.ToQuery DeleteEmailIdentity where toQuery = Prelude.const Prelude.mempty -- | An HTTP 200 response if the request succeeds, or an error message if the -- request fails. -- -- /See:/ 'newDeleteEmailIdentityResponse' smart constructor. data DeleteEmailIdentityResponse = DeleteEmailIdentityResponse' { -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DeleteEmailIdentityResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'httpStatus', 'deleteEmailIdentityResponse_httpStatus' - The response's http status code. newDeleteEmailIdentityResponse :: -- | 'httpStatus' Prelude.Int -> DeleteEmailIdentityResponse newDeleteEmailIdentityResponse pHttpStatus_ = DeleteEmailIdentityResponse' { httpStatus = pHttpStatus_ } -- | The response's http status code. deleteEmailIdentityResponse_httpStatus :: Lens.Lens' DeleteEmailIdentityResponse Prelude.Int deleteEmailIdentityResponse_httpStatus = Lens.lens (\DeleteEmailIdentityResponse' {httpStatus} -> httpStatus) (\s@DeleteEmailIdentityResponse' {} a -> s {httpStatus = a} :: DeleteEmailIdentityResponse) instance Prelude.NFData DeleteEmailIdentityResponse where rnf DeleteEmailIdentityResponse' {..} = Prelude.rnf httpStatus