{-# 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.IoTRoboRunner.UpdateWorker
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Grants permission to update a worker
module Amazonka.IoTRoboRunner.UpdateWorker
  ( -- * Creating a Request
    UpdateWorker (..),
    newUpdateWorker,

    -- * Request Lenses
    updateWorker_additionalFixedProperties,
    updateWorker_additionalTransientProperties,
    updateWorker_name,
    updateWorker_orientation,
    updateWorker_position,
    updateWorker_vendorProperties,
    updateWorker_id,

    -- * Destructuring the Response
    UpdateWorkerResponse (..),
    newUpdateWorkerResponse,

    -- * Response Lenses
    updateWorkerResponse_additionalFixedProperties,
    updateWorkerResponse_additionalTransientProperties,
    updateWorkerResponse_orientation,
    updateWorkerResponse_position,
    updateWorkerResponse_vendorProperties,
    updateWorkerResponse_httpStatus,
    updateWorkerResponse_arn,
    updateWorkerResponse_id,
    updateWorkerResponse_fleet,
    updateWorkerResponse_updatedAt,
    updateWorkerResponse_name,
  )
where

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

-- | /See:/ 'newUpdateWorker' smart constructor.
data UpdateWorker = UpdateWorker'
  { UpdateWorker -> Maybe Text
additionalFixedProperties :: Prelude.Maybe Prelude.Text,
    UpdateWorker -> Maybe Text
additionalTransientProperties :: Prelude.Maybe Prelude.Text,
    UpdateWorker -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    UpdateWorker -> Maybe Orientation
orientation :: Prelude.Maybe Orientation,
    UpdateWorker -> Maybe PositionCoordinates
position :: Prelude.Maybe PositionCoordinates,
    UpdateWorker -> Maybe VendorProperties
vendorProperties :: Prelude.Maybe VendorProperties,
    UpdateWorker -> Text
id :: Prelude.Text
  }
  deriving (UpdateWorker -> UpdateWorker -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateWorker -> UpdateWorker -> Bool
$c/= :: UpdateWorker -> UpdateWorker -> Bool
== :: UpdateWorker -> UpdateWorker -> Bool
$c== :: UpdateWorker -> UpdateWorker -> Bool
Prelude.Eq, ReadPrec [UpdateWorker]
ReadPrec UpdateWorker
Int -> ReadS UpdateWorker
ReadS [UpdateWorker]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateWorker]
$creadListPrec :: ReadPrec [UpdateWorker]
readPrec :: ReadPrec UpdateWorker
$creadPrec :: ReadPrec UpdateWorker
readList :: ReadS [UpdateWorker]
$creadList :: ReadS [UpdateWorker]
readsPrec :: Int -> ReadS UpdateWorker
$creadsPrec :: Int -> ReadS UpdateWorker
Prelude.Read, Int -> UpdateWorker -> ShowS
[UpdateWorker] -> ShowS
UpdateWorker -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateWorker] -> ShowS
$cshowList :: [UpdateWorker] -> ShowS
show :: UpdateWorker -> String
$cshow :: UpdateWorker -> String
showsPrec :: Int -> UpdateWorker -> ShowS
$cshowsPrec :: Int -> UpdateWorker -> ShowS
Prelude.Show, forall x. Rep UpdateWorker x -> UpdateWorker
forall x. UpdateWorker -> Rep UpdateWorker x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateWorker x -> UpdateWorker
$cfrom :: forall x. UpdateWorker -> Rep UpdateWorker x
Prelude.Generic)

-- |
-- Create a value of 'UpdateWorker' 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:
--
-- 'additionalFixedProperties', 'updateWorker_additionalFixedProperties' - Undocumented member.
--
-- 'additionalTransientProperties', 'updateWorker_additionalTransientProperties' - Undocumented member.
--
-- 'name', 'updateWorker_name' - Undocumented member.
--
-- 'orientation', 'updateWorker_orientation' - Undocumented member.
--
-- 'position', 'updateWorker_position' - Undocumented member.
--
-- 'vendorProperties', 'updateWorker_vendorProperties' - Undocumented member.
--
-- 'id', 'updateWorker_id' - Undocumented member.
newUpdateWorker ::
  -- | 'id'
  Prelude.Text ->
  UpdateWorker
newUpdateWorker :: Text -> UpdateWorker
newUpdateWorker Text
pId_ =
  UpdateWorker'
    { $sel:additionalFixedProperties:UpdateWorker' :: Maybe Text
additionalFixedProperties =
        forall a. Maybe a
Prelude.Nothing,
      $sel:additionalTransientProperties:UpdateWorker' :: Maybe Text
additionalTransientProperties = forall a. Maybe a
Prelude.Nothing,
      $sel:name:UpdateWorker' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:orientation:UpdateWorker' :: Maybe Orientation
orientation = forall a. Maybe a
Prelude.Nothing,
      $sel:position:UpdateWorker' :: Maybe PositionCoordinates
position = forall a. Maybe a
Prelude.Nothing,
      $sel:vendorProperties:UpdateWorker' :: Maybe VendorProperties
vendorProperties = forall a. Maybe a
Prelude.Nothing,
      $sel:id:UpdateWorker' :: Text
id = Text
pId_
    }

-- | Undocumented member.
updateWorker_additionalFixedProperties :: Lens.Lens' UpdateWorker (Prelude.Maybe Prelude.Text)
updateWorker_additionalFixedProperties :: Lens' UpdateWorker (Maybe Text)
updateWorker_additionalFixedProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorker' {Maybe Text
additionalFixedProperties :: Maybe Text
$sel:additionalFixedProperties:UpdateWorker' :: UpdateWorker -> Maybe Text
additionalFixedProperties} -> Maybe Text
additionalFixedProperties) (\s :: UpdateWorker
s@UpdateWorker' {} Maybe Text
a -> UpdateWorker
s {$sel:additionalFixedProperties:UpdateWorker' :: Maybe Text
additionalFixedProperties = Maybe Text
a} :: UpdateWorker)

-- | Undocumented member.
updateWorker_additionalTransientProperties :: Lens.Lens' UpdateWorker (Prelude.Maybe Prelude.Text)
updateWorker_additionalTransientProperties :: Lens' UpdateWorker (Maybe Text)
updateWorker_additionalTransientProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorker' {Maybe Text
additionalTransientProperties :: Maybe Text
$sel:additionalTransientProperties:UpdateWorker' :: UpdateWorker -> Maybe Text
additionalTransientProperties} -> Maybe Text
additionalTransientProperties) (\s :: UpdateWorker
s@UpdateWorker' {} Maybe Text
a -> UpdateWorker
s {$sel:additionalTransientProperties:UpdateWorker' :: Maybe Text
additionalTransientProperties = Maybe Text
a} :: UpdateWorker)

-- | Undocumented member.
updateWorker_name :: Lens.Lens' UpdateWorker (Prelude.Maybe Prelude.Text)
updateWorker_name :: Lens' UpdateWorker (Maybe Text)
updateWorker_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorker' {Maybe Text
name :: Maybe Text
$sel:name:UpdateWorker' :: UpdateWorker -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateWorker
s@UpdateWorker' {} Maybe Text
a -> UpdateWorker
s {$sel:name:UpdateWorker' :: Maybe Text
name = Maybe Text
a} :: UpdateWorker)

-- | Undocumented member.
updateWorker_orientation :: Lens.Lens' UpdateWorker (Prelude.Maybe Orientation)
updateWorker_orientation :: Lens' UpdateWorker (Maybe Orientation)
updateWorker_orientation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorker' {Maybe Orientation
orientation :: Maybe Orientation
$sel:orientation:UpdateWorker' :: UpdateWorker -> Maybe Orientation
orientation} -> Maybe Orientation
orientation) (\s :: UpdateWorker
s@UpdateWorker' {} Maybe Orientation
a -> UpdateWorker
s {$sel:orientation:UpdateWorker' :: Maybe Orientation
orientation = Maybe Orientation
a} :: UpdateWorker)

-- | Undocumented member.
updateWorker_position :: Lens.Lens' UpdateWorker (Prelude.Maybe PositionCoordinates)
updateWorker_position :: Lens' UpdateWorker (Maybe PositionCoordinates)
updateWorker_position = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorker' {Maybe PositionCoordinates
position :: Maybe PositionCoordinates
$sel:position:UpdateWorker' :: UpdateWorker -> Maybe PositionCoordinates
position} -> Maybe PositionCoordinates
position) (\s :: UpdateWorker
s@UpdateWorker' {} Maybe PositionCoordinates
a -> UpdateWorker
s {$sel:position:UpdateWorker' :: Maybe PositionCoordinates
position = Maybe PositionCoordinates
a} :: UpdateWorker)

-- | Undocumented member.
updateWorker_vendorProperties :: Lens.Lens' UpdateWorker (Prelude.Maybe VendorProperties)
updateWorker_vendorProperties :: Lens' UpdateWorker (Maybe VendorProperties)
updateWorker_vendorProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorker' {Maybe VendorProperties
vendorProperties :: Maybe VendorProperties
$sel:vendorProperties:UpdateWorker' :: UpdateWorker -> Maybe VendorProperties
vendorProperties} -> Maybe VendorProperties
vendorProperties) (\s :: UpdateWorker
s@UpdateWorker' {} Maybe VendorProperties
a -> UpdateWorker
s {$sel:vendorProperties:UpdateWorker' :: Maybe VendorProperties
vendorProperties = Maybe VendorProperties
a} :: UpdateWorker)

-- | Undocumented member.
updateWorker_id :: Lens.Lens' UpdateWorker Prelude.Text
updateWorker_id :: Lens' UpdateWorker Text
updateWorker_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorker' {Text
id :: Text
$sel:id:UpdateWorker' :: UpdateWorker -> Text
id} -> Text
id) (\s :: UpdateWorker
s@UpdateWorker' {} Text
a -> UpdateWorker
s {$sel:id:UpdateWorker' :: Text
id = Text
a} :: UpdateWorker)

instance Core.AWSRequest UpdateWorker where
  type AWSResponse UpdateWorker = UpdateWorkerResponse
  request :: (Service -> Service) -> UpdateWorker -> Request UpdateWorker
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 UpdateWorker
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateWorker)))
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 Orientation
-> Maybe PositionCoordinates
-> Maybe VendorProperties
-> Int
-> Text
-> Text
-> Text
-> POSIX
-> Text
-> UpdateWorkerResponse
UpdateWorkerResponse'
            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
"additionalFixedProperties")
            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
"additionalTransientProperties")
            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
"orientation")
            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
"position")
            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
"vendorProperties")
            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
"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
"id")
            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
"fleet")
            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
"updatedAt")
            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
"name")
      )

instance Prelude.Hashable UpdateWorker where
  hashWithSalt :: Int -> UpdateWorker -> Int
hashWithSalt Int
_salt UpdateWorker' {Maybe Text
Maybe Orientation
Maybe PositionCoordinates
Maybe VendorProperties
Text
id :: Text
vendorProperties :: Maybe VendorProperties
position :: Maybe PositionCoordinates
orientation :: Maybe Orientation
name :: Maybe Text
additionalTransientProperties :: Maybe Text
additionalFixedProperties :: Maybe Text
$sel:id:UpdateWorker' :: UpdateWorker -> Text
$sel:vendorProperties:UpdateWorker' :: UpdateWorker -> Maybe VendorProperties
$sel:position:UpdateWorker' :: UpdateWorker -> Maybe PositionCoordinates
$sel:orientation:UpdateWorker' :: UpdateWorker -> Maybe Orientation
$sel:name:UpdateWorker' :: UpdateWorker -> Maybe Text
$sel:additionalTransientProperties:UpdateWorker' :: UpdateWorker -> Maybe Text
$sel:additionalFixedProperties:UpdateWorker' :: UpdateWorker -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
additionalFixedProperties
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
additionalTransientProperties
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Orientation
orientation
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PositionCoordinates
position
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VendorProperties
vendorProperties
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id

instance Prelude.NFData UpdateWorker where
  rnf :: UpdateWorker -> ()
rnf UpdateWorker' {Maybe Text
Maybe Orientation
Maybe PositionCoordinates
Maybe VendorProperties
Text
id :: Text
vendorProperties :: Maybe VendorProperties
position :: Maybe PositionCoordinates
orientation :: Maybe Orientation
name :: Maybe Text
additionalTransientProperties :: Maybe Text
additionalFixedProperties :: Maybe Text
$sel:id:UpdateWorker' :: UpdateWorker -> Text
$sel:vendorProperties:UpdateWorker' :: UpdateWorker -> Maybe VendorProperties
$sel:position:UpdateWorker' :: UpdateWorker -> Maybe PositionCoordinates
$sel:orientation:UpdateWorker' :: UpdateWorker -> Maybe Orientation
$sel:name:UpdateWorker' :: UpdateWorker -> Maybe Text
$sel:additionalTransientProperties:UpdateWorker' :: UpdateWorker -> Maybe Text
$sel:additionalFixedProperties:UpdateWorker' :: UpdateWorker -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
additionalFixedProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
additionalTransientProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Orientation
orientation
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PositionCoordinates
position
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VendorProperties
vendorProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id

instance Data.ToHeaders UpdateWorker where
  toHeaders :: UpdateWorker -> 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.ToJSON UpdateWorker where
  toJSON :: UpdateWorker -> Value
toJSON UpdateWorker' {Maybe Text
Maybe Orientation
Maybe PositionCoordinates
Maybe VendorProperties
Text
id :: Text
vendorProperties :: Maybe VendorProperties
position :: Maybe PositionCoordinates
orientation :: Maybe Orientation
name :: Maybe Text
additionalTransientProperties :: Maybe Text
additionalFixedProperties :: Maybe Text
$sel:id:UpdateWorker' :: UpdateWorker -> Text
$sel:vendorProperties:UpdateWorker' :: UpdateWorker -> Maybe VendorProperties
$sel:position:UpdateWorker' :: UpdateWorker -> Maybe PositionCoordinates
$sel:orientation:UpdateWorker' :: UpdateWorker -> Maybe Orientation
$sel:name:UpdateWorker' :: UpdateWorker -> Maybe Text
$sel:additionalTransientProperties:UpdateWorker' :: UpdateWorker -> Maybe Text
$sel:additionalFixedProperties:UpdateWorker' :: UpdateWorker -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"additionalFixedProperties" 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
additionalFixedProperties,
            (Key
"additionalTransientProperties" 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
additionalTransientProperties,
            (Key
"name" 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
name,
            (Key
"orientation" 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 Orientation
orientation,
            (Key
"position" 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 PositionCoordinates
position,
            (Key
"vendorProperties" 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 VendorProperties
vendorProperties,
            forall a. a -> Maybe a
Prelude.Just (Key
"id" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
id)
          ]
      )

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

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

-- | /See:/ 'newUpdateWorkerResponse' smart constructor.
data UpdateWorkerResponse = UpdateWorkerResponse'
  { UpdateWorkerResponse -> Maybe Text
additionalFixedProperties :: Prelude.Maybe Prelude.Text,
    UpdateWorkerResponse -> Maybe Text
additionalTransientProperties :: Prelude.Maybe Prelude.Text,
    UpdateWorkerResponse -> Maybe Orientation
orientation :: Prelude.Maybe Orientation,
    UpdateWorkerResponse -> Maybe PositionCoordinates
position :: Prelude.Maybe PositionCoordinates,
    UpdateWorkerResponse -> Maybe VendorProperties
vendorProperties :: Prelude.Maybe VendorProperties,
    -- | The response's http status code.
    UpdateWorkerResponse -> Int
httpStatus :: Prelude.Int,
    UpdateWorkerResponse -> Text
arn :: Prelude.Text,
    UpdateWorkerResponse -> Text
id :: Prelude.Text,
    UpdateWorkerResponse -> Text
fleet :: Prelude.Text,
    UpdateWorkerResponse -> POSIX
updatedAt :: Data.POSIX,
    UpdateWorkerResponse -> Text
name :: Prelude.Text
  }
  deriving (UpdateWorkerResponse -> UpdateWorkerResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateWorkerResponse -> UpdateWorkerResponse -> Bool
$c/= :: UpdateWorkerResponse -> UpdateWorkerResponse -> Bool
== :: UpdateWorkerResponse -> UpdateWorkerResponse -> Bool
$c== :: UpdateWorkerResponse -> UpdateWorkerResponse -> Bool
Prelude.Eq, ReadPrec [UpdateWorkerResponse]
ReadPrec UpdateWorkerResponse
Int -> ReadS UpdateWorkerResponse
ReadS [UpdateWorkerResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateWorkerResponse]
$creadListPrec :: ReadPrec [UpdateWorkerResponse]
readPrec :: ReadPrec UpdateWorkerResponse
$creadPrec :: ReadPrec UpdateWorkerResponse
readList :: ReadS [UpdateWorkerResponse]
$creadList :: ReadS [UpdateWorkerResponse]
readsPrec :: Int -> ReadS UpdateWorkerResponse
$creadsPrec :: Int -> ReadS UpdateWorkerResponse
Prelude.Read, Int -> UpdateWorkerResponse -> ShowS
[UpdateWorkerResponse] -> ShowS
UpdateWorkerResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateWorkerResponse] -> ShowS
$cshowList :: [UpdateWorkerResponse] -> ShowS
show :: UpdateWorkerResponse -> String
$cshow :: UpdateWorkerResponse -> String
showsPrec :: Int -> UpdateWorkerResponse -> ShowS
$cshowsPrec :: Int -> UpdateWorkerResponse -> ShowS
Prelude.Show, forall x. Rep UpdateWorkerResponse x -> UpdateWorkerResponse
forall x. UpdateWorkerResponse -> Rep UpdateWorkerResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateWorkerResponse x -> UpdateWorkerResponse
$cfrom :: forall x. UpdateWorkerResponse -> Rep UpdateWorkerResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateWorkerResponse' 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:
--
-- 'additionalFixedProperties', 'updateWorkerResponse_additionalFixedProperties' - Undocumented member.
--
-- 'additionalTransientProperties', 'updateWorkerResponse_additionalTransientProperties' - Undocumented member.
--
-- 'orientation', 'updateWorkerResponse_orientation' - Undocumented member.
--
-- 'position', 'updateWorkerResponse_position' - Undocumented member.
--
-- 'vendorProperties', 'updateWorkerResponse_vendorProperties' - Undocumented member.
--
-- 'httpStatus', 'updateWorkerResponse_httpStatus' - The response's http status code.
--
-- 'arn', 'updateWorkerResponse_arn' - Undocumented member.
--
-- 'id', 'updateWorkerResponse_id' - Undocumented member.
--
-- 'fleet', 'updateWorkerResponse_fleet' - Undocumented member.
--
-- 'updatedAt', 'updateWorkerResponse_updatedAt' - Undocumented member.
--
-- 'name', 'updateWorkerResponse_name' - Undocumented member.
newUpdateWorkerResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'arn'
  Prelude.Text ->
  -- | 'id'
  Prelude.Text ->
  -- | 'fleet'
  Prelude.Text ->
  -- | 'updatedAt'
  Prelude.UTCTime ->
  -- | 'name'
  Prelude.Text ->
  UpdateWorkerResponse
newUpdateWorkerResponse :: Int
-> Text -> Text -> Text -> UTCTime -> Text -> UpdateWorkerResponse
newUpdateWorkerResponse
  Int
pHttpStatus_
  Text
pArn_
  Text
pId_
  Text
pFleet_
  UTCTime
pUpdatedAt_
  Text
pName_ =
    UpdateWorkerResponse'
      { $sel:additionalFixedProperties:UpdateWorkerResponse' :: Maybe Text
additionalFixedProperties =
          forall a. Maybe a
Prelude.Nothing,
        $sel:additionalTransientProperties:UpdateWorkerResponse' :: Maybe Text
additionalTransientProperties = forall a. Maybe a
Prelude.Nothing,
        $sel:orientation:UpdateWorkerResponse' :: Maybe Orientation
orientation = forall a. Maybe a
Prelude.Nothing,
        $sel:position:UpdateWorkerResponse' :: Maybe PositionCoordinates
position = forall a. Maybe a
Prelude.Nothing,
        $sel:vendorProperties:UpdateWorkerResponse' :: Maybe VendorProperties
vendorProperties = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:UpdateWorkerResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:arn:UpdateWorkerResponse' :: Text
arn = Text
pArn_,
        $sel:id:UpdateWorkerResponse' :: Text
id = Text
pId_,
        $sel:fleet:UpdateWorkerResponse' :: Text
fleet = Text
pFleet_,
        $sel:updatedAt:UpdateWorkerResponse' :: POSIX
updatedAt = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pUpdatedAt_,
        $sel:name:UpdateWorkerResponse' :: Text
name = Text
pName_
      }

-- | Undocumented member.
updateWorkerResponse_additionalFixedProperties :: Lens.Lens' UpdateWorkerResponse (Prelude.Maybe Prelude.Text)
updateWorkerResponse_additionalFixedProperties :: Lens' UpdateWorkerResponse (Maybe Text)
updateWorkerResponse_additionalFixedProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {Maybe Text
additionalFixedProperties :: Maybe Text
$sel:additionalFixedProperties:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe Text
additionalFixedProperties} -> Maybe Text
additionalFixedProperties) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} Maybe Text
a -> UpdateWorkerResponse
s {$sel:additionalFixedProperties:UpdateWorkerResponse' :: Maybe Text
additionalFixedProperties = Maybe Text
a} :: UpdateWorkerResponse)

-- | Undocumented member.
updateWorkerResponse_additionalTransientProperties :: Lens.Lens' UpdateWorkerResponse (Prelude.Maybe Prelude.Text)
updateWorkerResponse_additionalTransientProperties :: Lens' UpdateWorkerResponse (Maybe Text)
updateWorkerResponse_additionalTransientProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {Maybe Text
additionalTransientProperties :: Maybe Text
$sel:additionalTransientProperties:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe Text
additionalTransientProperties} -> Maybe Text
additionalTransientProperties) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} Maybe Text
a -> UpdateWorkerResponse
s {$sel:additionalTransientProperties:UpdateWorkerResponse' :: Maybe Text
additionalTransientProperties = Maybe Text
a} :: UpdateWorkerResponse)

-- | Undocumented member.
updateWorkerResponse_orientation :: Lens.Lens' UpdateWorkerResponse (Prelude.Maybe Orientation)
updateWorkerResponse_orientation :: Lens' UpdateWorkerResponse (Maybe Orientation)
updateWorkerResponse_orientation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {Maybe Orientation
orientation :: Maybe Orientation
$sel:orientation:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe Orientation
orientation} -> Maybe Orientation
orientation) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} Maybe Orientation
a -> UpdateWorkerResponse
s {$sel:orientation:UpdateWorkerResponse' :: Maybe Orientation
orientation = Maybe Orientation
a} :: UpdateWorkerResponse)

-- | Undocumented member.
updateWorkerResponse_position :: Lens.Lens' UpdateWorkerResponse (Prelude.Maybe PositionCoordinates)
updateWorkerResponse_position :: Lens' UpdateWorkerResponse (Maybe PositionCoordinates)
updateWorkerResponse_position = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {Maybe PositionCoordinates
position :: Maybe PositionCoordinates
$sel:position:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe PositionCoordinates
position} -> Maybe PositionCoordinates
position) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} Maybe PositionCoordinates
a -> UpdateWorkerResponse
s {$sel:position:UpdateWorkerResponse' :: Maybe PositionCoordinates
position = Maybe PositionCoordinates
a} :: UpdateWorkerResponse)

-- | Undocumented member.
updateWorkerResponse_vendorProperties :: Lens.Lens' UpdateWorkerResponse (Prelude.Maybe VendorProperties)
updateWorkerResponse_vendorProperties :: Lens' UpdateWorkerResponse (Maybe VendorProperties)
updateWorkerResponse_vendorProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {Maybe VendorProperties
vendorProperties :: Maybe VendorProperties
$sel:vendorProperties:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe VendorProperties
vendorProperties} -> Maybe VendorProperties
vendorProperties) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} Maybe VendorProperties
a -> UpdateWorkerResponse
s {$sel:vendorProperties:UpdateWorkerResponse' :: Maybe VendorProperties
vendorProperties = Maybe VendorProperties
a} :: UpdateWorkerResponse)

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

-- | Undocumented member.
updateWorkerResponse_arn :: Lens.Lens' UpdateWorkerResponse Prelude.Text
updateWorkerResponse_arn :: Lens' UpdateWorkerResponse Text
updateWorkerResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {Text
arn :: Text
$sel:arn:UpdateWorkerResponse' :: UpdateWorkerResponse -> Text
arn} -> Text
arn) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} Text
a -> UpdateWorkerResponse
s {$sel:arn:UpdateWorkerResponse' :: Text
arn = Text
a} :: UpdateWorkerResponse)

-- | Undocumented member.
updateWorkerResponse_id :: Lens.Lens' UpdateWorkerResponse Prelude.Text
updateWorkerResponse_id :: Lens' UpdateWorkerResponse Text
updateWorkerResponse_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {Text
id :: Text
$sel:id:UpdateWorkerResponse' :: UpdateWorkerResponse -> Text
id} -> Text
id) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} Text
a -> UpdateWorkerResponse
s {$sel:id:UpdateWorkerResponse' :: Text
id = Text
a} :: UpdateWorkerResponse)

-- | Undocumented member.
updateWorkerResponse_fleet :: Lens.Lens' UpdateWorkerResponse Prelude.Text
updateWorkerResponse_fleet :: Lens' UpdateWorkerResponse Text
updateWorkerResponse_fleet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {Text
fleet :: Text
$sel:fleet:UpdateWorkerResponse' :: UpdateWorkerResponse -> Text
fleet} -> Text
fleet) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} Text
a -> UpdateWorkerResponse
s {$sel:fleet:UpdateWorkerResponse' :: Text
fleet = Text
a} :: UpdateWorkerResponse)

-- | Undocumented member.
updateWorkerResponse_updatedAt :: Lens.Lens' UpdateWorkerResponse Prelude.UTCTime
updateWorkerResponse_updatedAt :: Lens' UpdateWorkerResponse UTCTime
updateWorkerResponse_updatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {POSIX
updatedAt :: POSIX
$sel:updatedAt:UpdateWorkerResponse' :: UpdateWorkerResponse -> POSIX
updatedAt} -> POSIX
updatedAt) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} POSIX
a -> UpdateWorkerResponse
s {$sel:updatedAt:UpdateWorkerResponse' :: POSIX
updatedAt = POSIX
a} :: UpdateWorkerResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Undocumented member.
updateWorkerResponse_name :: Lens.Lens' UpdateWorkerResponse Prelude.Text
updateWorkerResponse_name :: Lens' UpdateWorkerResponse Text
updateWorkerResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkerResponse' {Text
name :: Text
$sel:name:UpdateWorkerResponse' :: UpdateWorkerResponse -> Text
name} -> Text
name) (\s :: UpdateWorkerResponse
s@UpdateWorkerResponse' {} Text
a -> UpdateWorkerResponse
s {$sel:name:UpdateWorkerResponse' :: Text
name = Text
a} :: UpdateWorkerResponse)

instance Prelude.NFData UpdateWorkerResponse where
  rnf :: UpdateWorkerResponse -> ()
rnf UpdateWorkerResponse' {Int
Maybe Text
Maybe Orientation
Maybe PositionCoordinates
Maybe VendorProperties
Text
POSIX
name :: Text
updatedAt :: POSIX
fleet :: Text
id :: Text
arn :: Text
httpStatus :: Int
vendorProperties :: Maybe VendorProperties
position :: Maybe PositionCoordinates
orientation :: Maybe Orientation
additionalTransientProperties :: Maybe Text
additionalFixedProperties :: Maybe Text
$sel:name:UpdateWorkerResponse' :: UpdateWorkerResponse -> Text
$sel:updatedAt:UpdateWorkerResponse' :: UpdateWorkerResponse -> POSIX
$sel:fleet:UpdateWorkerResponse' :: UpdateWorkerResponse -> Text
$sel:id:UpdateWorkerResponse' :: UpdateWorkerResponse -> Text
$sel:arn:UpdateWorkerResponse' :: UpdateWorkerResponse -> Text
$sel:httpStatus:UpdateWorkerResponse' :: UpdateWorkerResponse -> Int
$sel:vendorProperties:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe VendorProperties
$sel:position:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe PositionCoordinates
$sel:orientation:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe Orientation
$sel:additionalTransientProperties:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe Text
$sel:additionalFixedProperties:UpdateWorkerResponse' :: UpdateWorkerResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
additionalFixedProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
additionalTransientProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Orientation
orientation
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PositionCoordinates
position
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VendorProperties
vendorProperties
      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
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
fleet
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
updatedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name