{-# 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.FraudDetector.GetEvent -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Retrieves details of events stored with Amazon Fraud Detector. This -- action does not retrieve prediction results. module Amazonka.FraudDetector.GetEvent ( -- * Creating a Request GetEvent (..), newGetEvent, -- * Request Lenses getEvent_eventId, getEvent_eventTypeName, -- * Destructuring the Response GetEventResponse (..), newGetEventResponse, -- * Response Lenses getEventResponse_event, getEventResponse_httpStatus, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.FraudDetector.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newGetEvent' smart constructor. data GetEvent = GetEvent' { -- | The ID of the event to retrieve. eventId :: Prelude.Text, -- | The event type of the event to retrieve. eventTypeName :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetEvent' 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: -- -- 'eventId', 'getEvent_eventId' - The ID of the event to retrieve. -- -- 'eventTypeName', 'getEvent_eventTypeName' - The event type of the event to retrieve. newGetEvent :: -- | 'eventId' Prelude.Text -> -- | 'eventTypeName' Prelude.Text -> GetEvent newGetEvent pEventId_ pEventTypeName_ = GetEvent' { eventId = pEventId_, eventTypeName = pEventTypeName_ } -- | The ID of the event to retrieve. getEvent_eventId :: Lens.Lens' GetEvent Prelude.Text getEvent_eventId = Lens.lens (\GetEvent' {eventId} -> eventId) (\s@GetEvent' {} a -> s {eventId = a} :: GetEvent) -- | The event type of the event to retrieve. getEvent_eventTypeName :: Lens.Lens' GetEvent Prelude.Text getEvent_eventTypeName = Lens.lens (\GetEvent' {eventTypeName} -> eventTypeName) (\s@GetEvent' {} a -> s {eventTypeName = a} :: GetEvent) instance Core.AWSRequest GetEvent where type AWSResponse GetEvent = GetEventResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> GetEventResponse' Prelude.<$> (x Data..?> "event") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable GetEvent where hashWithSalt _salt GetEvent' {..} = _salt `Prelude.hashWithSalt` eventId `Prelude.hashWithSalt` eventTypeName instance Prelude.NFData GetEvent where rnf GetEvent' {..} = Prelude.rnf eventId `Prelude.seq` Prelude.rnf eventTypeName instance Data.ToHeaders GetEvent where toHeaders = Prelude.const ( Prelude.mconcat [ "X-Amz-Target" Data.=# ( "AWSHawksNestServiceFacade.GetEvent" :: Prelude.ByteString ), "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON GetEvent where toJSON GetEvent' {..} = Data.object ( Prelude.catMaybes [ Prelude.Just ("eventId" Data..= eventId), Prelude.Just ("eventTypeName" Data..= eventTypeName) ] ) instance Data.ToPath GetEvent where toPath = Prelude.const "/" instance Data.ToQuery GetEvent where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newGetEventResponse' smart constructor. data GetEventResponse = GetEventResponse' { -- | The details of the event. event :: Prelude.Maybe Event, -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetEventResponse' 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: -- -- 'event', 'getEventResponse_event' - The details of the event. -- -- 'httpStatus', 'getEventResponse_httpStatus' - The response's http status code. newGetEventResponse :: -- | 'httpStatus' Prelude.Int -> GetEventResponse newGetEventResponse pHttpStatus_ = GetEventResponse' { event = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | The details of the event. getEventResponse_event :: Lens.Lens' GetEventResponse (Prelude.Maybe Event) getEventResponse_event = Lens.lens (\GetEventResponse' {event} -> event) (\s@GetEventResponse' {} a -> s {event = a} :: GetEventResponse) -- | The response's http status code. getEventResponse_httpStatus :: Lens.Lens' GetEventResponse Prelude.Int getEventResponse_httpStatus = Lens.lens (\GetEventResponse' {httpStatus} -> httpStatus) (\s@GetEventResponse' {} a -> s {httpStatus = a} :: GetEventResponse) instance Prelude.NFData GetEventResponse where rnf GetEventResponse' {..} = Prelude.rnf event `Prelude.seq` Prelude.rnf httpStatus