{-# 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.IotTwinMaker.GetSyncJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets the SyncJob.
module Amazonka.IotTwinMaker.GetSyncJob
  ( -- * Creating a Request
    GetSyncJob (..),
    newGetSyncJob,

    -- * Request Lenses
    getSyncJob_workspaceId,
    getSyncJob_syncSource,

    -- * Destructuring the Response
    GetSyncJobResponse (..),
    newGetSyncJobResponse,

    -- * Response Lenses
    getSyncJobResponse_httpStatus,
    getSyncJobResponse_arn,
    getSyncJobResponse_workspaceId,
    getSyncJobResponse_syncSource,
    getSyncJobResponse_syncRole,
    getSyncJobResponse_status,
    getSyncJobResponse_creationDateTime,
    getSyncJobResponse_updateDateTime,
  )
where

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

-- | /See:/ 'newGetSyncJob' smart constructor.
data GetSyncJob = GetSyncJob'
  { -- | The workspace Id.
    GetSyncJob -> Maybe Text
workspaceId :: Prelude.Maybe Prelude.Text,
    -- | The sync soucre.
    --
    -- Currently the only supported syncSoucre is @SITEWISE @.
    GetSyncJob -> Text
syncSource :: Prelude.Text
  }
  deriving (GetSyncJob -> GetSyncJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSyncJob -> GetSyncJob -> Bool
$c/= :: GetSyncJob -> GetSyncJob -> Bool
== :: GetSyncJob -> GetSyncJob -> Bool
$c== :: GetSyncJob -> GetSyncJob -> Bool
Prelude.Eq, ReadPrec [GetSyncJob]
ReadPrec GetSyncJob
Int -> ReadS GetSyncJob
ReadS [GetSyncJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSyncJob]
$creadListPrec :: ReadPrec [GetSyncJob]
readPrec :: ReadPrec GetSyncJob
$creadPrec :: ReadPrec GetSyncJob
readList :: ReadS [GetSyncJob]
$creadList :: ReadS [GetSyncJob]
readsPrec :: Int -> ReadS GetSyncJob
$creadsPrec :: Int -> ReadS GetSyncJob
Prelude.Read, Int -> GetSyncJob -> ShowS
[GetSyncJob] -> ShowS
GetSyncJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSyncJob] -> ShowS
$cshowList :: [GetSyncJob] -> ShowS
show :: GetSyncJob -> String
$cshow :: GetSyncJob -> String
showsPrec :: Int -> GetSyncJob -> ShowS
$cshowsPrec :: Int -> GetSyncJob -> ShowS
Prelude.Show, forall x. Rep GetSyncJob x -> GetSyncJob
forall x. GetSyncJob -> Rep GetSyncJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSyncJob x -> GetSyncJob
$cfrom :: forall x. GetSyncJob -> Rep GetSyncJob x
Prelude.Generic)

-- |
-- Create a value of 'GetSyncJob' 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:
--
-- 'workspaceId', 'getSyncJob_workspaceId' - The workspace Id.
--
-- 'syncSource', 'getSyncJob_syncSource' - The sync soucre.
--
-- Currently the only supported syncSoucre is @SITEWISE @.
newGetSyncJob ::
  -- | 'syncSource'
  Prelude.Text ->
  GetSyncJob
newGetSyncJob :: Text -> GetSyncJob
newGetSyncJob Text
pSyncSource_ =
  GetSyncJob'
    { $sel:workspaceId:GetSyncJob' :: Maybe Text
workspaceId = forall a. Maybe a
Prelude.Nothing,
      $sel:syncSource:GetSyncJob' :: Text
syncSource = Text
pSyncSource_
    }

-- | The workspace Id.
getSyncJob_workspaceId :: Lens.Lens' GetSyncJob (Prelude.Maybe Prelude.Text)
getSyncJob_workspaceId :: Lens' GetSyncJob (Maybe Text)
getSyncJob_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSyncJob' {Maybe Text
workspaceId :: Maybe Text
$sel:workspaceId:GetSyncJob' :: GetSyncJob -> Maybe Text
workspaceId} -> Maybe Text
workspaceId) (\s :: GetSyncJob
s@GetSyncJob' {} Maybe Text
a -> GetSyncJob
s {$sel:workspaceId:GetSyncJob' :: Maybe Text
workspaceId = Maybe Text
a} :: GetSyncJob)

-- | The sync soucre.
--
-- Currently the only supported syncSoucre is @SITEWISE @.
getSyncJob_syncSource :: Lens.Lens' GetSyncJob Prelude.Text
getSyncJob_syncSource :: Lens' GetSyncJob Text
getSyncJob_syncSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSyncJob' {Text
syncSource :: Text
$sel:syncSource:GetSyncJob' :: GetSyncJob -> Text
syncSource} -> Text
syncSource) (\s :: GetSyncJob
s@GetSyncJob' {} Text
a -> GetSyncJob
s {$sel:syncSource:GetSyncJob' :: Text
syncSource = Text
a} :: GetSyncJob)

instance Core.AWSRequest GetSyncJob where
  type AWSResponse GetSyncJob = GetSyncJobResponse
  request :: (Service -> Service) -> GetSyncJob -> Request GetSyncJob
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetSyncJob
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetSyncJob)))
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 ->
          Int
-> Text
-> Text
-> Text
-> Text
-> SyncJobStatus
-> POSIX
-> POSIX
-> GetSyncJobResponse
GetSyncJobResponse'
            forall (f :: * -> *) a b. Functor 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
"arn")
            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
"workspaceId")
            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
"syncSource")
            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
"syncRole")
            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
"status")
            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
"creationDateTime")
            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
"updateDateTime")
      )

instance Prelude.Hashable GetSyncJob where
  hashWithSalt :: Int -> GetSyncJob -> Int
hashWithSalt Int
_salt GetSyncJob' {Maybe Text
Text
syncSource :: Text
workspaceId :: Maybe Text
$sel:syncSource:GetSyncJob' :: GetSyncJob -> Text
$sel:workspaceId:GetSyncJob' :: GetSyncJob -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
workspaceId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
syncSource

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

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

instance Data.ToPath GetSyncJob where
  toPath :: GetSyncJob -> ByteString
toPath GetSyncJob' {Maybe Text
Text
syncSource :: Text
workspaceId :: Maybe Text
$sel:syncSource:GetSyncJob' :: GetSyncJob -> Text
$sel:workspaceId:GetSyncJob' :: GetSyncJob -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/sync-jobs/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
syncSource]

instance Data.ToQuery GetSyncJob where
  toQuery :: GetSyncJob -> QueryString
toQuery GetSyncJob' {Maybe Text
Text
syncSource :: Text
workspaceId :: Maybe Text
$sel:syncSource:GetSyncJob' :: GetSyncJob -> Text
$sel:workspaceId:GetSyncJob' :: GetSyncJob -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"workspace" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
workspaceId]

-- | /See:/ 'newGetSyncJobResponse' smart constructor.
data GetSyncJobResponse = GetSyncJobResponse'
  { -- | The response's http status code.
    GetSyncJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | The sync job ARN.
    GetSyncJobResponse -> Text
arn :: Prelude.Text,
    -- | The ID of the workspace that contains the sync job.
    GetSyncJobResponse -> Text
workspaceId :: Prelude.Text,
    -- | The sync soucre.
    --
    -- Currently the only supported syncSoucre is @SITEWISE @.
    GetSyncJobResponse -> Text
syncSource :: Prelude.Text,
    -- | The sync IAM role.
    GetSyncJobResponse -> Text
syncRole :: Prelude.Text,
    -- | The SyncJob response status.
    GetSyncJobResponse -> SyncJobStatus
status :: SyncJobStatus,
    -- | The creation date and time.
    GetSyncJobResponse -> POSIX
creationDateTime :: Data.POSIX,
    -- | The update date and time.
    GetSyncJobResponse -> POSIX
updateDateTime :: Data.POSIX
  }
  deriving (GetSyncJobResponse -> GetSyncJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSyncJobResponse -> GetSyncJobResponse -> Bool
$c/= :: GetSyncJobResponse -> GetSyncJobResponse -> Bool
== :: GetSyncJobResponse -> GetSyncJobResponse -> Bool
$c== :: GetSyncJobResponse -> GetSyncJobResponse -> Bool
Prelude.Eq, ReadPrec [GetSyncJobResponse]
ReadPrec GetSyncJobResponse
Int -> ReadS GetSyncJobResponse
ReadS [GetSyncJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSyncJobResponse]
$creadListPrec :: ReadPrec [GetSyncJobResponse]
readPrec :: ReadPrec GetSyncJobResponse
$creadPrec :: ReadPrec GetSyncJobResponse
readList :: ReadS [GetSyncJobResponse]
$creadList :: ReadS [GetSyncJobResponse]
readsPrec :: Int -> ReadS GetSyncJobResponse
$creadsPrec :: Int -> ReadS GetSyncJobResponse
Prelude.Read, Int -> GetSyncJobResponse -> ShowS
[GetSyncJobResponse] -> ShowS
GetSyncJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSyncJobResponse] -> ShowS
$cshowList :: [GetSyncJobResponse] -> ShowS
show :: GetSyncJobResponse -> String
$cshow :: GetSyncJobResponse -> String
showsPrec :: Int -> GetSyncJobResponse -> ShowS
$cshowsPrec :: Int -> GetSyncJobResponse -> ShowS
Prelude.Show, forall x. Rep GetSyncJobResponse x -> GetSyncJobResponse
forall x. GetSyncJobResponse -> Rep GetSyncJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSyncJobResponse x -> GetSyncJobResponse
$cfrom :: forall x. GetSyncJobResponse -> Rep GetSyncJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetSyncJobResponse' 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:
--
-- 'httpStatus', 'getSyncJobResponse_httpStatus' - The response's http status code.
--
-- 'arn', 'getSyncJobResponse_arn' - The sync job ARN.
--
-- 'workspaceId', 'getSyncJobResponse_workspaceId' - The ID of the workspace that contains the sync job.
--
-- 'syncSource', 'getSyncJobResponse_syncSource' - The sync soucre.
--
-- Currently the only supported syncSoucre is @SITEWISE @.
--
-- 'syncRole', 'getSyncJobResponse_syncRole' - The sync IAM role.
--
-- 'status', 'getSyncJobResponse_status' - The SyncJob response status.
--
-- 'creationDateTime', 'getSyncJobResponse_creationDateTime' - The creation date and time.
--
-- 'updateDateTime', 'getSyncJobResponse_updateDateTime' - The update date and time.
newGetSyncJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'arn'
  Prelude.Text ->
  -- | 'workspaceId'
  Prelude.Text ->
  -- | 'syncSource'
  Prelude.Text ->
  -- | 'syncRole'
  Prelude.Text ->
  -- | 'status'
  SyncJobStatus ->
  -- | 'creationDateTime'
  Prelude.UTCTime ->
  -- | 'updateDateTime'
  Prelude.UTCTime ->
  GetSyncJobResponse
newGetSyncJobResponse :: Int
-> Text
-> Text
-> Text
-> Text
-> SyncJobStatus
-> UTCTime
-> UTCTime
-> GetSyncJobResponse
newGetSyncJobResponse
  Int
pHttpStatus_
  Text
pArn_
  Text
pWorkspaceId_
  Text
pSyncSource_
  Text
pSyncRole_
  SyncJobStatus
pStatus_
  UTCTime
pCreationDateTime_
  UTCTime
pUpdateDateTime_ =
    GetSyncJobResponse'
      { $sel:httpStatus:GetSyncJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:arn:GetSyncJobResponse' :: Text
arn = Text
pArn_,
        $sel:workspaceId:GetSyncJobResponse' :: Text
workspaceId = Text
pWorkspaceId_,
        $sel:syncSource:GetSyncJobResponse' :: Text
syncSource = Text
pSyncSource_,
        $sel:syncRole:GetSyncJobResponse' :: Text
syncRole = Text
pSyncRole_,
        $sel:status:GetSyncJobResponse' :: SyncJobStatus
status = SyncJobStatus
pStatus_,
        $sel:creationDateTime:GetSyncJobResponse' :: POSIX
creationDateTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationDateTime_,
        $sel:updateDateTime:GetSyncJobResponse' :: POSIX
updateDateTime = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pUpdateDateTime_
      }

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

-- | The sync job ARN.
getSyncJobResponse_arn :: Lens.Lens' GetSyncJobResponse Prelude.Text
getSyncJobResponse_arn :: Lens' GetSyncJobResponse Text
getSyncJobResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSyncJobResponse' {Text
arn :: Text
$sel:arn:GetSyncJobResponse' :: GetSyncJobResponse -> Text
arn} -> Text
arn) (\s :: GetSyncJobResponse
s@GetSyncJobResponse' {} Text
a -> GetSyncJobResponse
s {$sel:arn:GetSyncJobResponse' :: Text
arn = Text
a} :: GetSyncJobResponse)

-- | The ID of the workspace that contains the sync job.
getSyncJobResponse_workspaceId :: Lens.Lens' GetSyncJobResponse Prelude.Text
getSyncJobResponse_workspaceId :: Lens' GetSyncJobResponse Text
getSyncJobResponse_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSyncJobResponse' {Text
workspaceId :: Text
$sel:workspaceId:GetSyncJobResponse' :: GetSyncJobResponse -> Text
workspaceId} -> Text
workspaceId) (\s :: GetSyncJobResponse
s@GetSyncJobResponse' {} Text
a -> GetSyncJobResponse
s {$sel:workspaceId:GetSyncJobResponse' :: Text
workspaceId = Text
a} :: GetSyncJobResponse)

-- | The sync soucre.
--
-- Currently the only supported syncSoucre is @SITEWISE @.
getSyncJobResponse_syncSource :: Lens.Lens' GetSyncJobResponse Prelude.Text
getSyncJobResponse_syncSource :: Lens' GetSyncJobResponse Text
getSyncJobResponse_syncSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSyncJobResponse' {Text
syncSource :: Text
$sel:syncSource:GetSyncJobResponse' :: GetSyncJobResponse -> Text
syncSource} -> Text
syncSource) (\s :: GetSyncJobResponse
s@GetSyncJobResponse' {} Text
a -> GetSyncJobResponse
s {$sel:syncSource:GetSyncJobResponse' :: Text
syncSource = Text
a} :: GetSyncJobResponse)

-- | The sync IAM role.
getSyncJobResponse_syncRole :: Lens.Lens' GetSyncJobResponse Prelude.Text
getSyncJobResponse_syncRole :: Lens' GetSyncJobResponse Text
getSyncJobResponse_syncRole = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSyncJobResponse' {Text
syncRole :: Text
$sel:syncRole:GetSyncJobResponse' :: GetSyncJobResponse -> Text
syncRole} -> Text
syncRole) (\s :: GetSyncJobResponse
s@GetSyncJobResponse' {} Text
a -> GetSyncJobResponse
s {$sel:syncRole:GetSyncJobResponse' :: Text
syncRole = Text
a} :: GetSyncJobResponse)

-- | The SyncJob response status.
getSyncJobResponse_status :: Lens.Lens' GetSyncJobResponse SyncJobStatus
getSyncJobResponse_status :: Lens' GetSyncJobResponse SyncJobStatus
getSyncJobResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSyncJobResponse' {SyncJobStatus
status :: SyncJobStatus
$sel:status:GetSyncJobResponse' :: GetSyncJobResponse -> SyncJobStatus
status} -> SyncJobStatus
status) (\s :: GetSyncJobResponse
s@GetSyncJobResponse' {} SyncJobStatus
a -> GetSyncJobResponse
s {$sel:status:GetSyncJobResponse' :: SyncJobStatus
status = SyncJobStatus
a} :: GetSyncJobResponse)

-- | The creation date and time.
getSyncJobResponse_creationDateTime :: Lens.Lens' GetSyncJobResponse Prelude.UTCTime
getSyncJobResponse_creationDateTime :: Lens' GetSyncJobResponse UTCTime
getSyncJobResponse_creationDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSyncJobResponse' {POSIX
creationDateTime :: POSIX
$sel:creationDateTime:GetSyncJobResponse' :: GetSyncJobResponse -> POSIX
creationDateTime} -> POSIX
creationDateTime) (\s :: GetSyncJobResponse
s@GetSyncJobResponse' {} POSIX
a -> GetSyncJobResponse
s {$sel:creationDateTime:GetSyncJobResponse' :: POSIX
creationDateTime = POSIX
a} :: GetSyncJobResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The update date and time.
getSyncJobResponse_updateDateTime :: Lens.Lens' GetSyncJobResponse Prelude.UTCTime
getSyncJobResponse_updateDateTime :: Lens' GetSyncJobResponse UTCTime
getSyncJobResponse_updateDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSyncJobResponse' {POSIX
updateDateTime :: POSIX
$sel:updateDateTime:GetSyncJobResponse' :: GetSyncJobResponse -> POSIX
updateDateTime} -> POSIX
updateDateTime) (\s :: GetSyncJobResponse
s@GetSyncJobResponse' {} POSIX
a -> GetSyncJobResponse
s {$sel:updateDateTime:GetSyncJobResponse' :: POSIX
updateDateTime = POSIX
a} :: GetSyncJobResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

instance Prelude.NFData GetSyncJobResponse where
  rnf :: GetSyncJobResponse -> ()
rnf GetSyncJobResponse' {Int
Text
POSIX
SyncJobStatus
updateDateTime :: POSIX
creationDateTime :: POSIX
status :: SyncJobStatus
syncRole :: Text
syncSource :: Text
workspaceId :: Text
arn :: Text
httpStatus :: Int
$sel:updateDateTime:GetSyncJobResponse' :: GetSyncJobResponse -> POSIX
$sel:creationDateTime:GetSyncJobResponse' :: GetSyncJobResponse -> POSIX
$sel:status:GetSyncJobResponse' :: GetSyncJobResponse -> SyncJobStatus
$sel:syncRole:GetSyncJobResponse' :: GetSyncJobResponse -> Text
$sel:syncSource:GetSyncJobResponse' :: GetSyncJobResponse -> Text
$sel:workspaceId:GetSyncJobResponse' :: GetSyncJobResponse -> Text
$sel:arn:GetSyncJobResponse' :: GetSyncJobResponse -> Text
$sel:httpStatus:GetSyncJobResponse' :: GetSyncJobResponse -> Int
..} =
    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
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
workspaceId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
syncSource
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
syncRole
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf SyncJobStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
creationDateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
updateDateTime