{-# 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.ECS.DiscoverPollEndpoint
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- This action is only used by the Amazon ECS agent, and it is not intended
-- for use outside of the agent.
--
-- Returns an endpoint for the Amazon ECS agent to poll for updates.
module Amazonka.ECS.DiscoverPollEndpoint
  ( -- * Creating a Request
    DiscoverPollEndpoint (..),
    newDiscoverPollEndpoint,

    -- * Request Lenses
    discoverPollEndpoint_cluster,
    discoverPollEndpoint_containerInstance,

    -- * Destructuring the Response
    DiscoverPollEndpointResponse (..),
    newDiscoverPollEndpointResponse,

    -- * Response Lenses
    discoverPollEndpointResponse_endpoint,
    discoverPollEndpointResponse_serviceConnectEndpoint,
    discoverPollEndpointResponse_telemetryEndpoint,
    discoverPollEndpointResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ECS.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDiscoverPollEndpoint' smart constructor.
data DiscoverPollEndpoint = DiscoverPollEndpoint'
  { -- | The short name or full Amazon Resource Name (ARN) of the cluster that
    -- the container instance belongs to.
    DiscoverPollEndpoint -> Maybe Text
cluster :: Prelude.Maybe Prelude.Text,
    -- | The container instance ID or full ARN of the container instance. For
    -- more information about the ARN format, see
    -- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids Amazon Resource Name (ARN)>
    -- in the /Amazon ECS Developer Guide/.
    DiscoverPollEndpoint -> Maybe Text
containerInstance :: Prelude.Maybe Prelude.Text
  }
  deriving (DiscoverPollEndpoint -> DiscoverPollEndpoint -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DiscoverPollEndpoint -> DiscoverPollEndpoint -> Bool
$c/= :: DiscoverPollEndpoint -> DiscoverPollEndpoint -> Bool
== :: DiscoverPollEndpoint -> DiscoverPollEndpoint -> Bool
$c== :: DiscoverPollEndpoint -> DiscoverPollEndpoint -> Bool
Prelude.Eq, ReadPrec [DiscoverPollEndpoint]
ReadPrec DiscoverPollEndpoint
Int -> ReadS DiscoverPollEndpoint
ReadS [DiscoverPollEndpoint]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DiscoverPollEndpoint]
$creadListPrec :: ReadPrec [DiscoverPollEndpoint]
readPrec :: ReadPrec DiscoverPollEndpoint
$creadPrec :: ReadPrec DiscoverPollEndpoint
readList :: ReadS [DiscoverPollEndpoint]
$creadList :: ReadS [DiscoverPollEndpoint]
readsPrec :: Int -> ReadS DiscoverPollEndpoint
$creadsPrec :: Int -> ReadS DiscoverPollEndpoint
Prelude.Read, Int -> DiscoverPollEndpoint -> ShowS
[DiscoverPollEndpoint] -> ShowS
DiscoverPollEndpoint -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DiscoverPollEndpoint] -> ShowS
$cshowList :: [DiscoverPollEndpoint] -> ShowS
show :: DiscoverPollEndpoint -> String
$cshow :: DiscoverPollEndpoint -> String
showsPrec :: Int -> DiscoverPollEndpoint -> ShowS
$cshowsPrec :: Int -> DiscoverPollEndpoint -> ShowS
Prelude.Show, forall x. Rep DiscoverPollEndpoint x -> DiscoverPollEndpoint
forall x. DiscoverPollEndpoint -> Rep DiscoverPollEndpoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DiscoverPollEndpoint x -> DiscoverPollEndpoint
$cfrom :: forall x. DiscoverPollEndpoint -> Rep DiscoverPollEndpoint x
Prelude.Generic)

-- |
-- Create a value of 'DiscoverPollEndpoint' 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:
--
-- 'cluster', 'discoverPollEndpoint_cluster' - The short name or full Amazon Resource Name (ARN) of the cluster that
-- the container instance belongs to.
--
-- 'containerInstance', 'discoverPollEndpoint_containerInstance' - The container instance ID or full ARN of the container instance. For
-- more information about the ARN format, see
-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids Amazon Resource Name (ARN)>
-- in the /Amazon ECS Developer Guide/.
newDiscoverPollEndpoint ::
  DiscoverPollEndpoint
newDiscoverPollEndpoint :: DiscoverPollEndpoint
newDiscoverPollEndpoint =
  DiscoverPollEndpoint'
    { $sel:cluster:DiscoverPollEndpoint' :: Maybe Text
cluster = forall a. Maybe a
Prelude.Nothing,
      $sel:containerInstance:DiscoverPollEndpoint' :: Maybe Text
containerInstance = forall a. Maybe a
Prelude.Nothing
    }

-- | The short name or full Amazon Resource Name (ARN) of the cluster that
-- the container instance belongs to.
discoverPollEndpoint_cluster :: Lens.Lens' DiscoverPollEndpoint (Prelude.Maybe Prelude.Text)
discoverPollEndpoint_cluster :: Lens' DiscoverPollEndpoint (Maybe Text)
discoverPollEndpoint_cluster = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DiscoverPollEndpoint' {Maybe Text
cluster :: Maybe Text
$sel:cluster:DiscoverPollEndpoint' :: DiscoverPollEndpoint -> Maybe Text
cluster} -> Maybe Text
cluster) (\s :: DiscoverPollEndpoint
s@DiscoverPollEndpoint' {} Maybe Text
a -> DiscoverPollEndpoint
s {$sel:cluster:DiscoverPollEndpoint' :: Maybe Text
cluster = Maybe Text
a} :: DiscoverPollEndpoint)

-- | The container instance ID or full ARN of the container instance. For
-- more information about the ARN format, see
-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids Amazon Resource Name (ARN)>
-- in the /Amazon ECS Developer Guide/.
discoverPollEndpoint_containerInstance :: Lens.Lens' DiscoverPollEndpoint (Prelude.Maybe Prelude.Text)
discoverPollEndpoint_containerInstance :: Lens' DiscoverPollEndpoint (Maybe Text)
discoverPollEndpoint_containerInstance = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DiscoverPollEndpoint' {Maybe Text
containerInstance :: Maybe Text
$sel:containerInstance:DiscoverPollEndpoint' :: DiscoverPollEndpoint -> Maybe Text
containerInstance} -> Maybe Text
containerInstance) (\s :: DiscoverPollEndpoint
s@DiscoverPollEndpoint' {} Maybe Text
a -> DiscoverPollEndpoint
s {$sel:containerInstance:DiscoverPollEndpoint' :: Maybe Text
containerInstance = Maybe Text
a} :: DiscoverPollEndpoint)

instance Core.AWSRequest DiscoverPollEndpoint where
  type
    AWSResponse DiscoverPollEndpoint =
      DiscoverPollEndpointResponse
  request :: (Service -> Service)
-> DiscoverPollEndpoint -> Request DiscoverPollEndpoint
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DiscoverPollEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DiscoverPollEndpoint)))
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 -> DiscoverPollEndpointResponse
DiscoverPollEndpointResponse'
            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
"endpoint")
            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
"serviceConnectEndpoint")
            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
"telemetryEndpoint")
            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 DiscoverPollEndpoint where
  hashWithSalt :: Int -> DiscoverPollEndpoint -> Int
hashWithSalt Int
_salt DiscoverPollEndpoint' {Maybe Text
containerInstance :: Maybe Text
cluster :: Maybe Text
$sel:containerInstance:DiscoverPollEndpoint' :: DiscoverPollEndpoint -> Maybe Text
$sel:cluster:DiscoverPollEndpoint' :: DiscoverPollEndpoint -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
cluster
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
containerInstance

instance Prelude.NFData DiscoverPollEndpoint where
  rnf :: DiscoverPollEndpoint -> ()
rnf DiscoverPollEndpoint' {Maybe Text
containerInstance :: Maybe Text
cluster :: Maybe Text
$sel:containerInstance:DiscoverPollEndpoint' :: DiscoverPollEndpoint -> Maybe Text
$sel:cluster:DiscoverPollEndpoint' :: DiscoverPollEndpoint -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
cluster
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
containerInstance

instance Data.ToHeaders DiscoverPollEndpoint where
  toHeaders :: DiscoverPollEndpoint -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonEC2ContainerServiceV20141113.DiscoverPollEndpoint" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DiscoverPollEndpoint where
  toJSON :: DiscoverPollEndpoint -> Value
toJSON DiscoverPollEndpoint' {Maybe Text
containerInstance :: Maybe Text
cluster :: Maybe Text
$sel:containerInstance:DiscoverPollEndpoint' :: DiscoverPollEndpoint -> Maybe Text
$sel:cluster:DiscoverPollEndpoint' :: DiscoverPollEndpoint -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"cluster" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
cluster,
            (Key
"containerInstance" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
containerInstance
          ]
      )

instance Data.ToPath DiscoverPollEndpoint where
  toPath :: DiscoverPollEndpoint -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DiscoverPollEndpoint where
  toQuery :: DiscoverPollEndpoint -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDiscoverPollEndpointResponse' smart constructor.
data DiscoverPollEndpointResponse = DiscoverPollEndpointResponse'
  { -- | The endpoint for the Amazon ECS agent to poll.
    DiscoverPollEndpointResponse -> Maybe Text
endpoint :: Prelude.Maybe Prelude.Text,
    -- | The endpoint for the Amazon ECS agent to poll for Service Connect
    -- configuration. For more information, see
    -- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html Service Connect>
    -- in the /Amazon Elastic Container Service Developer Guide/.
    DiscoverPollEndpointResponse -> Maybe Text
serviceConnectEndpoint :: Prelude.Maybe Prelude.Text,
    -- | The telemetry endpoint for the Amazon ECS agent.
    DiscoverPollEndpointResponse -> Maybe Text
telemetryEndpoint :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DiscoverPollEndpointResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DiscoverPollEndpointResponse
-> DiscoverPollEndpointResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DiscoverPollEndpointResponse
-> DiscoverPollEndpointResponse -> Bool
$c/= :: DiscoverPollEndpointResponse
-> DiscoverPollEndpointResponse -> Bool
== :: DiscoverPollEndpointResponse
-> DiscoverPollEndpointResponse -> Bool
$c== :: DiscoverPollEndpointResponse
-> DiscoverPollEndpointResponse -> Bool
Prelude.Eq, ReadPrec [DiscoverPollEndpointResponse]
ReadPrec DiscoverPollEndpointResponse
Int -> ReadS DiscoverPollEndpointResponse
ReadS [DiscoverPollEndpointResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DiscoverPollEndpointResponse]
$creadListPrec :: ReadPrec [DiscoverPollEndpointResponse]
readPrec :: ReadPrec DiscoverPollEndpointResponse
$creadPrec :: ReadPrec DiscoverPollEndpointResponse
readList :: ReadS [DiscoverPollEndpointResponse]
$creadList :: ReadS [DiscoverPollEndpointResponse]
readsPrec :: Int -> ReadS DiscoverPollEndpointResponse
$creadsPrec :: Int -> ReadS DiscoverPollEndpointResponse
Prelude.Read, Int -> DiscoverPollEndpointResponse -> ShowS
[DiscoverPollEndpointResponse] -> ShowS
DiscoverPollEndpointResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DiscoverPollEndpointResponse] -> ShowS
$cshowList :: [DiscoverPollEndpointResponse] -> ShowS
show :: DiscoverPollEndpointResponse -> String
$cshow :: DiscoverPollEndpointResponse -> String
showsPrec :: Int -> DiscoverPollEndpointResponse -> ShowS
$cshowsPrec :: Int -> DiscoverPollEndpointResponse -> ShowS
Prelude.Show, forall x.
Rep DiscoverPollEndpointResponse x -> DiscoverPollEndpointResponse
forall x.
DiscoverPollEndpointResponse -> Rep DiscoverPollEndpointResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DiscoverPollEndpointResponse x -> DiscoverPollEndpointResponse
$cfrom :: forall x.
DiscoverPollEndpointResponse -> Rep DiscoverPollEndpointResponse x
Prelude.Generic)

-- |
-- Create a value of 'DiscoverPollEndpointResponse' 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', 'discoverPollEndpointResponse_endpoint' - The endpoint for the Amazon ECS agent to poll.
--
-- 'serviceConnectEndpoint', 'discoverPollEndpointResponse_serviceConnectEndpoint' - The endpoint for the Amazon ECS agent to poll for Service Connect
-- configuration. For more information, see
-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html Service Connect>
-- in the /Amazon Elastic Container Service Developer Guide/.
--
-- 'telemetryEndpoint', 'discoverPollEndpointResponse_telemetryEndpoint' - The telemetry endpoint for the Amazon ECS agent.
--
-- 'httpStatus', 'discoverPollEndpointResponse_httpStatus' - The response's http status code.
newDiscoverPollEndpointResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DiscoverPollEndpointResponse
newDiscoverPollEndpointResponse :: Int -> DiscoverPollEndpointResponse
newDiscoverPollEndpointResponse Int
pHttpStatus_ =
  DiscoverPollEndpointResponse'
    { $sel:endpoint:DiscoverPollEndpointResponse' :: Maybe Text
endpoint =
        forall a. Maybe a
Prelude.Nothing,
      $sel:serviceConnectEndpoint:DiscoverPollEndpointResponse' :: Maybe Text
serviceConnectEndpoint = forall a. Maybe a
Prelude.Nothing,
      $sel:telemetryEndpoint:DiscoverPollEndpointResponse' :: Maybe Text
telemetryEndpoint = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DiscoverPollEndpointResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The endpoint for the Amazon ECS agent to poll.
discoverPollEndpointResponse_endpoint :: Lens.Lens' DiscoverPollEndpointResponse (Prelude.Maybe Prelude.Text)
discoverPollEndpointResponse_endpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)
discoverPollEndpointResponse_endpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DiscoverPollEndpointResponse' {Maybe Text
endpoint :: Maybe Text
$sel:endpoint:DiscoverPollEndpointResponse' :: DiscoverPollEndpointResponse -> Maybe Text
endpoint} -> Maybe Text
endpoint) (\s :: DiscoverPollEndpointResponse
s@DiscoverPollEndpointResponse' {} Maybe Text
a -> DiscoverPollEndpointResponse
s {$sel:endpoint:DiscoverPollEndpointResponse' :: Maybe Text
endpoint = Maybe Text
a} :: DiscoverPollEndpointResponse)

-- | The endpoint for the Amazon ECS agent to poll for Service Connect
-- configuration. For more information, see
-- <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html Service Connect>
-- in the /Amazon Elastic Container Service Developer Guide/.
discoverPollEndpointResponse_serviceConnectEndpoint :: Lens.Lens' DiscoverPollEndpointResponse (Prelude.Maybe Prelude.Text)
discoverPollEndpointResponse_serviceConnectEndpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)
discoverPollEndpointResponse_serviceConnectEndpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DiscoverPollEndpointResponse' {Maybe Text
serviceConnectEndpoint :: Maybe Text
$sel:serviceConnectEndpoint:DiscoverPollEndpointResponse' :: DiscoverPollEndpointResponse -> Maybe Text
serviceConnectEndpoint} -> Maybe Text
serviceConnectEndpoint) (\s :: DiscoverPollEndpointResponse
s@DiscoverPollEndpointResponse' {} Maybe Text
a -> DiscoverPollEndpointResponse
s {$sel:serviceConnectEndpoint:DiscoverPollEndpointResponse' :: Maybe Text
serviceConnectEndpoint = Maybe Text
a} :: DiscoverPollEndpointResponse)

-- | The telemetry endpoint for the Amazon ECS agent.
discoverPollEndpointResponse_telemetryEndpoint :: Lens.Lens' DiscoverPollEndpointResponse (Prelude.Maybe Prelude.Text)
discoverPollEndpointResponse_telemetryEndpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)
discoverPollEndpointResponse_telemetryEndpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DiscoverPollEndpointResponse' {Maybe Text
telemetryEndpoint :: Maybe Text
$sel:telemetryEndpoint:DiscoverPollEndpointResponse' :: DiscoverPollEndpointResponse -> Maybe Text
telemetryEndpoint} -> Maybe Text
telemetryEndpoint) (\s :: DiscoverPollEndpointResponse
s@DiscoverPollEndpointResponse' {} Maybe Text
a -> DiscoverPollEndpointResponse
s {$sel:telemetryEndpoint:DiscoverPollEndpointResponse' :: Maybe Text
telemetryEndpoint = Maybe Text
a} :: DiscoverPollEndpointResponse)

-- | The response's http status code.
discoverPollEndpointResponse_httpStatus :: Lens.Lens' DiscoverPollEndpointResponse Prelude.Int
discoverPollEndpointResponse_httpStatus :: Lens' DiscoverPollEndpointResponse Int
discoverPollEndpointResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DiscoverPollEndpointResponse' {Int
httpStatus :: Int
$sel:httpStatus:DiscoverPollEndpointResponse' :: DiscoverPollEndpointResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DiscoverPollEndpointResponse
s@DiscoverPollEndpointResponse' {} Int
a -> DiscoverPollEndpointResponse
s {$sel:httpStatus:DiscoverPollEndpointResponse' :: Int
httpStatus = Int
a} :: DiscoverPollEndpointResponse)

instance Prelude.NFData DiscoverPollEndpointResponse where
  rnf :: DiscoverPollEndpointResponse -> ()
rnf DiscoverPollEndpointResponse' {Int
Maybe Text
httpStatus :: Int
telemetryEndpoint :: Maybe Text
serviceConnectEndpoint :: Maybe Text
endpoint :: Maybe Text
$sel:httpStatus:DiscoverPollEndpointResponse' :: DiscoverPollEndpointResponse -> Int
$sel:telemetryEndpoint:DiscoverPollEndpointResponse' :: DiscoverPollEndpointResponse -> Maybe Text
$sel:serviceConnectEndpoint:DiscoverPollEndpointResponse' :: DiscoverPollEndpointResponse -> Maybe Text
$sel:endpoint:DiscoverPollEndpointResponse' :: DiscoverPollEndpointResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
endpoint
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
serviceConnectEndpoint
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
telemetryEndpoint
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus