amazonka-emr-containers-2.0: gen/Amazonka/EMRContainers/DescribeManagedEndpoint.hs
{-# 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.EMRContainers.DescribeManagedEndpoint
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Displays detailed information about a managed endpoint. A managed
-- endpoint is a gateway that connects EMR Studio to Amazon EMR on EKS so
-- that EMR Studio can communicate with your virtual cluster.
module Amazonka.EMRContainers.DescribeManagedEndpoint
( -- * Creating a Request
DescribeManagedEndpoint (..),
newDescribeManagedEndpoint,
-- * Request Lenses
describeManagedEndpoint_id,
describeManagedEndpoint_virtualClusterId,
-- * Destructuring the Response
DescribeManagedEndpointResponse (..),
newDescribeManagedEndpointResponse,
-- * Response Lenses
describeManagedEndpointResponse_endpoint,
describeManagedEndpointResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EMRContainers.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
-- | /See:/ 'newDescribeManagedEndpoint' smart constructor.
data DescribeManagedEndpoint = DescribeManagedEndpoint'
{ -- | This output displays ID of the managed endpoint.
id :: Prelude.Text,
-- | The ID of the endpoint\'s virtual cluster.
virtualClusterId :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'DescribeManagedEndpoint' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'id', 'describeManagedEndpoint_id' - This output displays ID of the managed endpoint.
--
-- 'virtualClusterId', 'describeManagedEndpoint_virtualClusterId' - The ID of the endpoint\'s virtual cluster.
newDescribeManagedEndpoint ::
-- | 'id'
Prelude.Text ->
-- | 'virtualClusterId'
Prelude.Text ->
DescribeManagedEndpoint
newDescribeManagedEndpoint pId_ pVirtualClusterId_ =
DescribeManagedEndpoint'
{ id = pId_,
virtualClusterId = pVirtualClusterId_
}
-- | This output displays ID of the managed endpoint.
describeManagedEndpoint_id :: Lens.Lens' DescribeManagedEndpoint Prelude.Text
describeManagedEndpoint_id = Lens.lens (\DescribeManagedEndpoint' {id} -> id) (\s@DescribeManagedEndpoint' {} a -> s {id = a} :: DescribeManagedEndpoint)
-- | The ID of the endpoint\'s virtual cluster.
describeManagedEndpoint_virtualClusterId :: Lens.Lens' DescribeManagedEndpoint Prelude.Text
describeManagedEndpoint_virtualClusterId = Lens.lens (\DescribeManagedEndpoint' {virtualClusterId} -> virtualClusterId) (\s@DescribeManagedEndpoint' {} a -> s {virtualClusterId = a} :: DescribeManagedEndpoint)
instance Core.AWSRequest DescribeManagedEndpoint where
type
AWSResponse DescribeManagedEndpoint =
DescribeManagedEndpointResponse
request overrides =
Request.get (overrides defaultService)
response =
Response.receiveJSON
( \s h x ->
DescribeManagedEndpointResponse'
Prelude.<$> (x Data..?> "endpoint")
Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
)
instance Prelude.Hashable DescribeManagedEndpoint where
hashWithSalt _salt DescribeManagedEndpoint' {..} =
_salt
`Prelude.hashWithSalt` id
`Prelude.hashWithSalt` virtualClusterId
instance Prelude.NFData DescribeManagedEndpoint where
rnf DescribeManagedEndpoint' {..} =
Prelude.rnf id
`Prelude.seq` Prelude.rnf virtualClusterId
instance Data.ToHeaders DescribeManagedEndpoint where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DescribeManagedEndpoint where
toPath DescribeManagedEndpoint' {..} =
Prelude.mconcat
[ "/virtualclusters/",
Data.toBS virtualClusterId,
"/endpoints/",
Data.toBS id
]
instance Data.ToQuery DescribeManagedEndpoint where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newDescribeManagedEndpointResponse' smart constructor.
data DescribeManagedEndpointResponse = DescribeManagedEndpointResponse'
{ -- | This output displays information about a managed endpoint.
endpoint :: Prelude.Maybe Endpoint,
-- | The response's http status code.
httpStatus :: Prelude.Int
}
deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'DescribeManagedEndpointResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'endpoint', 'describeManagedEndpointResponse_endpoint' - This output displays information about a managed endpoint.
--
-- 'httpStatus', 'describeManagedEndpointResponse_httpStatus' - The response's http status code.
newDescribeManagedEndpointResponse ::
-- | 'httpStatus'
Prelude.Int ->
DescribeManagedEndpointResponse
newDescribeManagedEndpointResponse pHttpStatus_ =
DescribeManagedEndpointResponse'
{ endpoint =
Prelude.Nothing,
httpStatus = pHttpStatus_
}
-- | This output displays information about a managed endpoint.
describeManagedEndpointResponse_endpoint :: Lens.Lens' DescribeManagedEndpointResponse (Prelude.Maybe Endpoint)
describeManagedEndpointResponse_endpoint = Lens.lens (\DescribeManagedEndpointResponse' {endpoint} -> endpoint) (\s@DescribeManagedEndpointResponse' {} a -> s {endpoint = a} :: DescribeManagedEndpointResponse)
-- | The response's http status code.
describeManagedEndpointResponse_httpStatus :: Lens.Lens' DescribeManagedEndpointResponse Prelude.Int
describeManagedEndpointResponse_httpStatus = Lens.lens (\DescribeManagedEndpointResponse' {httpStatus} -> httpStatus) (\s@DescribeManagedEndpointResponse' {} a -> s {httpStatus = a} :: DescribeManagedEndpointResponse)
instance
Prelude.NFData
DescribeManagedEndpointResponse
where
rnf DescribeManagedEndpointResponse' {..} =
Prelude.rnf endpoint
`Prelude.seq` Prelude.rnf httpStatus