{-# 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.SageMaker.DescribeDeviceFleet
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- A description of the fleet the device belongs to.
module Amazonka.SageMaker.DescribeDeviceFleet
  ( -- * Creating a Request
    DescribeDeviceFleet (..),
    newDescribeDeviceFleet,

    -- * Request Lenses
    describeDeviceFleet_deviceFleetName,

    -- * Destructuring the Response
    DescribeDeviceFleetResponse (..),
    newDescribeDeviceFleetResponse,

    -- * Response Lenses
    describeDeviceFleetResponse_description,
    describeDeviceFleetResponse_iotRoleAlias,
    describeDeviceFleetResponse_roleArn,
    describeDeviceFleetResponse_httpStatus,
    describeDeviceFleetResponse_deviceFleetName,
    describeDeviceFleetResponse_deviceFleetArn,
    describeDeviceFleetResponse_outputConfig,
    describeDeviceFleetResponse_creationTime,
    describeDeviceFleetResponse_lastModifiedTime,
  )
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.SageMaker.Types

-- | /See:/ 'newDescribeDeviceFleet' smart constructor.
data DescribeDeviceFleet = DescribeDeviceFleet'
  { -- | The name of the fleet.
    DescribeDeviceFleet -> Text
deviceFleetName :: Prelude.Text
  }
  deriving (DescribeDeviceFleet -> DescribeDeviceFleet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDeviceFleet -> DescribeDeviceFleet -> Bool
$c/= :: DescribeDeviceFleet -> DescribeDeviceFleet -> Bool
== :: DescribeDeviceFleet -> DescribeDeviceFleet -> Bool
$c== :: DescribeDeviceFleet -> DescribeDeviceFleet -> Bool
Prelude.Eq, ReadPrec [DescribeDeviceFleet]
ReadPrec DescribeDeviceFleet
Int -> ReadS DescribeDeviceFleet
ReadS [DescribeDeviceFleet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDeviceFleet]
$creadListPrec :: ReadPrec [DescribeDeviceFleet]
readPrec :: ReadPrec DescribeDeviceFleet
$creadPrec :: ReadPrec DescribeDeviceFleet
readList :: ReadS [DescribeDeviceFleet]
$creadList :: ReadS [DescribeDeviceFleet]
readsPrec :: Int -> ReadS DescribeDeviceFleet
$creadsPrec :: Int -> ReadS DescribeDeviceFleet
Prelude.Read, Int -> DescribeDeviceFleet -> ShowS
[DescribeDeviceFleet] -> ShowS
DescribeDeviceFleet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDeviceFleet] -> ShowS
$cshowList :: [DescribeDeviceFleet] -> ShowS
show :: DescribeDeviceFleet -> String
$cshow :: DescribeDeviceFleet -> String
showsPrec :: Int -> DescribeDeviceFleet -> ShowS
$cshowsPrec :: Int -> DescribeDeviceFleet -> ShowS
Prelude.Show, forall x. Rep DescribeDeviceFleet x -> DescribeDeviceFleet
forall x. DescribeDeviceFleet -> Rep DescribeDeviceFleet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeDeviceFleet x -> DescribeDeviceFleet
$cfrom :: forall x. DescribeDeviceFleet -> Rep DescribeDeviceFleet x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDeviceFleet' 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:
--
-- 'deviceFleetName', 'describeDeviceFleet_deviceFleetName' - The name of the fleet.
newDescribeDeviceFleet ::
  -- | 'deviceFleetName'
  Prelude.Text ->
  DescribeDeviceFleet
newDescribeDeviceFleet :: Text -> DescribeDeviceFleet
newDescribeDeviceFleet Text
pDeviceFleetName_ =
  DescribeDeviceFleet'
    { $sel:deviceFleetName:DescribeDeviceFleet' :: Text
deviceFleetName =
        Text
pDeviceFleetName_
    }

-- | The name of the fleet.
describeDeviceFleet_deviceFleetName :: Lens.Lens' DescribeDeviceFleet Prelude.Text
describeDeviceFleet_deviceFleetName :: Lens' DescribeDeviceFleet Text
describeDeviceFleet_deviceFleetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeviceFleet' {Text
deviceFleetName :: Text
$sel:deviceFleetName:DescribeDeviceFleet' :: DescribeDeviceFleet -> Text
deviceFleetName} -> Text
deviceFleetName) (\s :: DescribeDeviceFleet
s@DescribeDeviceFleet' {} Text
a -> DescribeDeviceFleet
s {$sel:deviceFleetName:DescribeDeviceFleet' :: Text
deviceFleetName = Text
a} :: DescribeDeviceFleet)

instance Core.AWSRequest DescribeDeviceFleet where
  type
    AWSResponse DescribeDeviceFleet =
      DescribeDeviceFleetResponse
  request :: (Service -> Service)
-> DescribeDeviceFleet -> Request DescribeDeviceFleet
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 DescribeDeviceFleet
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeDeviceFleet)))
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
-> Text
-> Text
-> EdgeOutputConfig
-> POSIX
-> POSIX
-> DescribeDeviceFleetResponse
DescribeDeviceFleetResponse'
            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
"Description")
            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
"IotRoleAlias")
            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
"RoleArn")
            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))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"DeviceFleetName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"DeviceFleetArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"OutputConfig")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"CreationTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"LastModifiedTime")
      )

instance Prelude.Hashable DescribeDeviceFleet where
  hashWithSalt :: Int -> DescribeDeviceFleet -> Int
hashWithSalt Int
_salt DescribeDeviceFleet' {Text
deviceFleetName :: Text
$sel:deviceFleetName:DescribeDeviceFleet' :: DescribeDeviceFleet -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deviceFleetName

instance Prelude.NFData DescribeDeviceFleet where
  rnf :: DescribeDeviceFleet -> ()
rnf DescribeDeviceFleet' {Text
deviceFleetName :: Text
$sel:deviceFleetName:DescribeDeviceFleet' :: DescribeDeviceFleet -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
deviceFleetName

instance Data.ToHeaders DescribeDeviceFleet where
  toHeaders :: DescribeDeviceFleet -> 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
"SageMaker.DescribeDeviceFleet" ::
                          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 DescribeDeviceFleet where
  toJSON :: DescribeDeviceFleet -> Value
toJSON DescribeDeviceFleet' {Text
deviceFleetName :: Text
$sel:deviceFleetName:DescribeDeviceFleet' :: DescribeDeviceFleet -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just
              (Key
"DeviceFleetName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
deviceFleetName)
          ]
      )

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

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

-- | /See:/ 'newDescribeDeviceFleetResponse' smart constructor.
data DescribeDeviceFleetResponse = DescribeDeviceFleetResponse'
  { -- | A description of the fleet.
    DescribeDeviceFleetResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) alias created in Amazon Web Services
    -- Internet of Things (IoT).
    DescribeDeviceFleetResponse -> Maybe Text
iotRoleAlias :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) that has access to Amazon Web Services
    -- Internet of Things (IoT).
    DescribeDeviceFleetResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeDeviceFleetResponse -> Int
httpStatus :: Prelude.Int,
    -- | The name of the fleet.
    DescribeDeviceFleetResponse -> Text
deviceFleetName :: Prelude.Text,
    -- | The The Amazon Resource Name (ARN) of the fleet.
    DescribeDeviceFleetResponse -> Text
deviceFleetArn :: Prelude.Text,
    -- | The output configuration for storing sampled data.
    DescribeDeviceFleetResponse -> EdgeOutputConfig
outputConfig :: EdgeOutputConfig,
    -- | Timestamp of when the device fleet was created.
    DescribeDeviceFleetResponse -> POSIX
creationTime :: Data.POSIX,
    -- | Timestamp of when the device fleet was last updated.
    DescribeDeviceFleetResponse -> POSIX
lastModifiedTime :: Data.POSIX
  }
  deriving (DescribeDeviceFleetResponse -> DescribeDeviceFleetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDeviceFleetResponse -> DescribeDeviceFleetResponse -> Bool
$c/= :: DescribeDeviceFleetResponse -> DescribeDeviceFleetResponse -> Bool
== :: DescribeDeviceFleetResponse -> DescribeDeviceFleetResponse -> Bool
$c== :: DescribeDeviceFleetResponse -> DescribeDeviceFleetResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDeviceFleetResponse]
ReadPrec DescribeDeviceFleetResponse
Int -> ReadS DescribeDeviceFleetResponse
ReadS [DescribeDeviceFleetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDeviceFleetResponse]
$creadListPrec :: ReadPrec [DescribeDeviceFleetResponse]
readPrec :: ReadPrec DescribeDeviceFleetResponse
$creadPrec :: ReadPrec DescribeDeviceFleetResponse
readList :: ReadS [DescribeDeviceFleetResponse]
$creadList :: ReadS [DescribeDeviceFleetResponse]
readsPrec :: Int -> ReadS DescribeDeviceFleetResponse
$creadsPrec :: Int -> ReadS DescribeDeviceFleetResponse
Prelude.Read, Int -> DescribeDeviceFleetResponse -> ShowS
[DescribeDeviceFleetResponse] -> ShowS
DescribeDeviceFleetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDeviceFleetResponse] -> ShowS
$cshowList :: [DescribeDeviceFleetResponse] -> ShowS
show :: DescribeDeviceFleetResponse -> String
$cshow :: DescribeDeviceFleetResponse -> String
showsPrec :: Int -> DescribeDeviceFleetResponse -> ShowS
$cshowsPrec :: Int -> DescribeDeviceFleetResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeDeviceFleetResponse x -> DescribeDeviceFleetResponse
forall x.
DescribeDeviceFleetResponse -> Rep DescribeDeviceFleetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDeviceFleetResponse x -> DescribeDeviceFleetResponse
$cfrom :: forall x.
DescribeDeviceFleetResponse -> Rep DescribeDeviceFleetResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDeviceFleetResponse' 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:
--
-- 'description', 'describeDeviceFleetResponse_description' - A description of the fleet.
--
-- 'iotRoleAlias', 'describeDeviceFleetResponse_iotRoleAlias' - The Amazon Resource Name (ARN) alias created in Amazon Web Services
-- Internet of Things (IoT).
--
-- 'roleArn', 'describeDeviceFleetResponse_roleArn' - The Amazon Resource Name (ARN) that has access to Amazon Web Services
-- Internet of Things (IoT).
--
-- 'httpStatus', 'describeDeviceFleetResponse_httpStatus' - The response's http status code.
--
-- 'deviceFleetName', 'describeDeviceFleetResponse_deviceFleetName' - The name of the fleet.
--
-- 'deviceFleetArn', 'describeDeviceFleetResponse_deviceFleetArn' - The The Amazon Resource Name (ARN) of the fleet.
--
-- 'outputConfig', 'describeDeviceFleetResponse_outputConfig' - The output configuration for storing sampled data.
--
-- 'creationTime', 'describeDeviceFleetResponse_creationTime' - Timestamp of when the device fleet was created.
--
-- 'lastModifiedTime', 'describeDeviceFleetResponse_lastModifiedTime' - Timestamp of when the device fleet was last updated.
newDescribeDeviceFleetResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'deviceFleetName'
  Prelude.Text ->
  -- | 'deviceFleetArn'
  Prelude.Text ->
  -- | 'outputConfig'
  EdgeOutputConfig ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'lastModifiedTime'
  Prelude.UTCTime ->
  DescribeDeviceFleetResponse
newDescribeDeviceFleetResponse :: Int
-> Text
-> Text
-> EdgeOutputConfig
-> UTCTime
-> UTCTime
-> DescribeDeviceFleetResponse
newDescribeDeviceFleetResponse
  Int
pHttpStatus_
  Text
pDeviceFleetName_
  Text
pDeviceFleetArn_
  EdgeOutputConfig
pOutputConfig_
  UTCTime
pCreationTime_
  UTCTime
pLastModifiedTime_ =
    DescribeDeviceFleetResponse'
      { $sel:description:DescribeDeviceFleetResponse' :: Maybe Text
description =
          forall a. Maybe a
Prelude.Nothing,
        $sel:iotRoleAlias:DescribeDeviceFleetResponse' :: Maybe Text
iotRoleAlias = forall a. Maybe a
Prelude.Nothing,
        $sel:roleArn:DescribeDeviceFleetResponse' :: Maybe Text
roleArn = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeDeviceFleetResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:deviceFleetName:DescribeDeviceFleetResponse' :: Text
deviceFleetName = Text
pDeviceFleetName_,
        $sel:deviceFleetArn:DescribeDeviceFleetResponse' :: Text
deviceFleetArn = Text
pDeviceFleetArn_,
        $sel:outputConfig:DescribeDeviceFleetResponse' :: EdgeOutputConfig
outputConfig = EdgeOutputConfig
pOutputConfig_,
        $sel:creationTime:DescribeDeviceFleetResponse' :: POSIX
creationTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:lastModifiedTime:DescribeDeviceFleetResponse' :: POSIX
lastModifiedTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pLastModifiedTime_
      }

-- | A description of the fleet.
describeDeviceFleetResponse_description :: Lens.Lens' DescribeDeviceFleetResponse (Prelude.Maybe Prelude.Text)
describeDeviceFleetResponse_description :: Lens' DescribeDeviceFleetResponse (Maybe Text)
describeDeviceFleetResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeviceFleetResponse' {Maybe Text
description :: Maybe Text
$sel:description:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: DescribeDeviceFleetResponse
s@DescribeDeviceFleetResponse' {} Maybe Text
a -> DescribeDeviceFleetResponse
s {$sel:description:DescribeDeviceFleetResponse' :: Maybe Text
description = Maybe Text
a} :: DescribeDeviceFleetResponse)

-- | The Amazon Resource Name (ARN) alias created in Amazon Web Services
-- Internet of Things (IoT).
describeDeviceFleetResponse_iotRoleAlias :: Lens.Lens' DescribeDeviceFleetResponse (Prelude.Maybe Prelude.Text)
describeDeviceFleetResponse_iotRoleAlias :: Lens' DescribeDeviceFleetResponse (Maybe Text)
describeDeviceFleetResponse_iotRoleAlias = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeviceFleetResponse' {Maybe Text
iotRoleAlias :: Maybe Text
$sel:iotRoleAlias:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Maybe Text
iotRoleAlias} -> Maybe Text
iotRoleAlias) (\s :: DescribeDeviceFleetResponse
s@DescribeDeviceFleetResponse' {} Maybe Text
a -> DescribeDeviceFleetResponse
s {$sel:iotRoleAlias:DescribeDeviceFleetResponse' :: Maybe Text
iotRoleAlias = Maybe Text
a} :: DescribeDeviceFleetResponse)

-- | The Amazon Resource Name (ARN) that has access to Amazon Web Services
-- Internet of Things (IoT).
describeDeviceFleetResponse_roleArn :: Lens.Lens' DescribeDeviceFleetResponse (Prelude.Maybe Prelude.Text)
describeDeviceFleetResponse_roleArn :: Lens' DescribeDeviceFleetResponse (Maybe Text)
describeDeviceFleetResponse_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeviceFleetResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribeDeviceFleetResponse
s@DescribeDeviceFleetResponse' {} Maybe Text
a -> DescribeDeviceFleetResponse
s {$sel:roleArn:DescribeDeviceFleetResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribeDeviceFleetResponse)

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

-- | The name of the fleet.
describeDeviceFleetResponse_deviceFleetName :: Lens.Lens' DescribeDeviceFleetResponse Prelude.Text
describeDeviceFleetResponse_deviceFleetName :: Lens' DescribeDeviceFleetResponse Text
describeDeviceFleetResponse_deviceFleetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeviceFleetResponse' {Text
deviceFleetName :: Text
$sel:deviceFleetName:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Text
deviceFleetName} -> Text
deviceFleetName) (\s :: DescribeDeviceFleetResponse
s@DescribeDeviceFleetResponse' {} Text
a -> DescribeDeviceFleetResponse
s {$sel:deviceFleetName:DescribeDeviceFleetResponse' :: Text
deviceFleetName = Text
a} :: DescribeDeviceFleetResponse)

-- | The The Amazon Resource Name (ARN) of the fleet.
describeDeviceFleetResponse_deviceFleetArn :: Lens.Lens' DescribeDeviceFleetResponse Prelude.Text
describeDeviceFleetResponse_deviceFleetArn :: Lens' DescribeDeviceFleetResponse Text
describeDeviceFleetResponse_deviceFleetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeviceFleetResponse' {Text
deviceFleetArn :: Text
$sel:deviceFleetArn:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Text
deviceFleetArn} -> Text
deviceFleetArn) (\s :: DescribeDeviceFleetResponse
s@DescribeDeviceFleetResponse' {} Text
a -> DescribeDeviceFleetResponse
s {$sel:deviceFleetArn:DescribeDeviceFleetResponse' :: Text
deviceFleetArn = Text
a} :: DescribeDeviceFleetResponse)

-- | The output configuration for storing sampled data.
describeDeviceFleetResponse_outputConfig :: Lens.Lens' DescribeDeviceFleetResponse EdgeOutputConfig
describeDeviceFleetResponse_outputConfig :: Lens' DescribeDeviceFleetResponse EdgeOutputConfig
describeDeviceFleetResponse_outputConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeviceFleetResponse' {EdgeOutputConfig
outputConfig :: EdgeOutputConfig
$sel:outputConfig:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> EdgeOutputConfig
outputConfig} -> EdgeOutputConfig
outputConfig) (\s :: DescribeDeviceFleetResponse
s@DescribeDeviceFleetResponse' {} EdgeOutputConfig
a -> DescribeDeviceFleetResponse
s {$sel:outputConfig:DescribeDeviceFleetResponse' :: EdgeOutputConfig
outputConfig = EdgeOutputConfig
a} :: DescribeDeviceFleetResponse)

-- | Timestamp of when the device fleet was created.
describeDeviceFleetResponse_creationTime :: Lens.Lens' DescribeDeviceFleetResponse Prelude.UTCTime
describeDeviceFleetResponse_creationTime :: Lens' DescribeDeviceFleetResponse UTCTime
describeDeviceFleetResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeviceFleetResponse' {POSIX
creationTime :: POSIX
$sel:creationTime:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> POSIX
creationTime} -> POSIX
creationTime) (\s :: DescribeDeviceFleetResponse
s@DescribeDeviceFleetResponse' {} POSIX
a -> DescribeDeviceFleetResponse
s {$sel:creationTime:DescribeDeviceFleetResponse' :: POSIX
creationTime = POSIX
a} :: DescribeDeviceFleetResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Timestamp of when the device fleet was last updated.
describeDeviceFleetResponse_lastModifiedTime :: Lens.Lens' DescribeDeviceFleetResponse Prelude.UTCTime
describeDeviceFleetResponse_lastModifiedTime :: Lens' DescribeDeviceFleetResponse UTCTime
describeDeviceFleetResponse_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeviceFleetResponse' {POSIX
lastModifiedTime :: POSIX
$sel:lastModifiedTime:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> POSIX
lastModifiedTime} -> POSIX
lastModifiedTime) (\s :: DescribeDeviceFleetResponse
s@DescribeDeviceFleetResponse' {} POSIX
a -> DescribeDeviceFleetResponse
s {$sel:lastModifiedTime:DescribeDeviceFleetResponse' :: POSIX
lastModifiedTime = POSIX
a} :: DescribeDeviceFleetResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

instance Prelude.NFData DescribeDeviceFleetResponse where
  rnf :: DescribeDeviceFleetResponse -> ()
rnf DescribeDeviceFleetResponse' {Int
Maybe Text
Text
POSIX
EdgeOutputConfig
lastModifiedTime :: POSIX
creationTime :: POSIX
outputConfig :: EdgeOutputConfig
deviceFleetArn :: Text
deviceFleetName :: Text
httpStatus :: Int
roleArn :: Maybe Text
iotRoleAlias :: Maybe Text
description :: Maybe Text
$sel:lastModifiedTime:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> POSIX
$sel:creationTime:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> POSIX
$sel:outputConfig:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> EdgeOutputConfig
$sel:deviceFleetArn:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Text
$sel:deviceFleetName:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Text
$sel:httpStatus:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Int
$sel:roleArn:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Maybe Text
$sel:iotRoleAlias:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Maybe Text
$sel:description:DescribeDeviceFleetResponse' :: DescribeDeviceFleetResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
iotRoleAlias
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
roleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deviceFleetName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deviceFleetArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf EdgeOutputConfig
outputConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
lastModifiedTime