{-# 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.ManagedBlockChain.GetAccessor -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- The token based access feature is in preview release for Ethereum on -- Amazon Managed Blockchain and is subject to change. We recommend that -- you use this feature only with test scenarios, and not in production -- environments. -- -- Returns detailed information about an accessor. An accessor object is a -- container that has the information required for token based access to -- your Ethereum nodes. module Amazonka.ManagedBlockChain.GetAccessor ( -- * Creating a Request GetAccessor (..), newGetAccessor, -- * Request Lenses getAccessor_accessorId, -- * Destructuring the Response GetAccessorResponse (..), newGetAccessorResponse, -- * Response Lenses getAccessorResponse_accessor, getAccessorResponse_httpStatus, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.ManagedBlockChain.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newGetAccessor' smart constructor. data GetAccessor = GetAccessor' { -- | The unique identifier of the accessor. accessorId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetAccessor' 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: -- -- 'accessorId', 'getAccessor_accessorId' - The unique identifier of the accessor. newGetAccessor :: -- | 'accessorId' Prelude.Text -> GetAccessor newGetAccessor pAccessorId_ = GetAccessor' {accessorId = pAccessorId_} -- | The unique identifier of the accessor. getAccessor_accessorId :: Lens.Lens' GetAccessor Prelude.Text getAccessor_accessorId = Lens.lens (\GetAccessor' {accessorId} -> accessorId) (\s@GetAccessor' {} a -> s {accessorId = a} :: GetAccessor) instance Core.AWSRequest GetAccessor where type AWSResponse GetAccessor = GetAccessorResponse request overrides = Request.get (overrides defaultService) response = Response.receiveJSON ( \s h x -> GetAccessorResponse' Prelude.<$> (x Data..?> "Accessor") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable GetAccessor where hashWithSalt _salt GetAccessor' {..} = _salt `Prelude.hashWithSalt` accessorId instance Prelude.NFData GetAccessor where rnf GetAccessor' {..} = Prelude.rnf accessorId instance Data.ToHeaders GetAccessor where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToPath GetAccessor where toPath GetAccessor' {..} = Prelude.mconcat ["/accessors/", Data.toBS accessorId] instance Data.ToQuery GetAccessor where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newGetAccessorResponse' smart constructor. data GetAccessorResponse = GetAccessorResponse' { -- | The properties of the accessor. accessor :: Prelude.Maybe Accessor, -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetAccessorResponse' 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: -- -- 'accessor', 'getAccessorResponse_accessor' - The properties of the accessor. -- -- 'httpStatus', 'getAccessorResponse_httpStatus' - The response's http status code. newGetAccessorResponse :: -- | 'httpStatus' Prelude.Int -> GetAccessorResponse newGetAccessorResponse pHttpStatus_ = GetAccessorResponse' { accessor = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | The properties of the accessor. getAccessorResponse_accessor :: Lens.Lens' GetAccessorResponse (Prelude.Maybe Accessor) getAccessorResponse_accessor = Lens.lens (\GetAccessorResponse' {accessor} -> accessor) (\s@GetAccessorResponse' {} a -> s {accessor = a} :: GetAccessorResponse) -- | The response's http status code. getAccessorResponse_httpStatus :: Lens.Lens' GetAccessorResponse Prelude.Int getAccessorResponse_httpStatus = Lens.lens (\GetAccessorResponse' {httpStatus} -> httpStatus) (\s@GetAccessorResponse' {} a -> s {httpStatus = a} :: GetAccessorResponse) instance Prelude.NFData GetAccessorResponse where rnf GetAccessorResponse' {..} = Prelude.rnf accessor `Prelude.seq` Prelude.rnf httpStatus