{-# 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 #-}
module Amazonka.SageMaker.UpdateDeviceFleet
  ( 
    UpdateDeviceFleet (..),
    newUpdateDeviceFleet,
    
    updateDeviceFleet_description,
    updateDeviceFleet_enableIotRoleAlias,
    updateDeviceFleet_roleArn,
    updateDeviceFleet_deviceFleetName,
    updateDeviceFleet_outputConfig,
    
    UpdateDeviceFleetResponse (..),
    newUpdateDeviceFleetResponse,
  )
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
data UpdateDeviceFleet = UpdateDeviceFleet'
  { 
    UpdateDeviceFleet -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    
    
    
    
    
    
    UpdateDeviceFleet -> Maybe Bool
enableIotRoleAlias :: Prelude.Maybe Prelude.Bool,
    
    UpdateDeviceFleet -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    
    UpdateDeviceFleet -> Text
deviceFleetName :: Prelude.Text,
    
    UpdateDeviceFleet -> EdgeOutputConfig
outputConfig :: EdgeOutputConfig
  }
  deriving (UpdateDeviceFleet -> UpdateDeviceFleet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDeviceFleet -> UpdateDeviceFleet -> Bool
$c/= :: UpdateDeviceFleet -> UpdateDeviceFleet -> Bool
== :: UpdateDeviceFleet -> UpdateDeviceFleet -> Bool
$c== :: UpdateDeviceFleet -> UpdateDeviceFleet -> Bool
Prelude.Eq, ReadPrec [UpdateDeviceFleet]
ReadPrec UpdateDeviceFleet
Int -> ReadS UpdateDeviceFleet
ReadS [UpdateDeviceFleet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDeviceFleet]
$creadListPrec :: ReadPrec [UpdateDeviceFleet]
readPrec :: ReadPrec UpdateDeviceFleet
$creadPrec :: ReadPrec UpdateDeviceFleet
readList :: ReadS [UpdateDeviceFleet]
$creadList :: ReadS [UpdateDeviceFleet]
readsPrec :: Int -> ReadS UpdateDeviceFleet
$creadsPrec :: Int -> ReadS UpdateDeviceFleet
Prelude.Read, Int -> UpdateDeviceFleet -> ShowS
[UpdateDeviceFleet] -> ShowS
UpdateDeviceFleet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDeviceFleet] -> ShowS
$cshowList :: [UpdateDeviceFleet] -> ShowS
show :: UpdateDeviceFleet -> String
$cshow :: UpdateDeviceFleet -> String
showsPrec :: Int -> UpdateDeviceFleet -> ShowS
$cshowsPrec :: Int -> UpdateDeviceFleet -> ShowS
Prelude.Show, forall x. Rep UpdateDeviceFleet x -> UpdateDeviceFleet
forall x. UpdateDeviceFleet -> Rep UpdateDeviceFleet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateDeviceFleet x -> UpdateDeviceFleet
$cfrom :: forall x. UpdateDeviceFleet -> Rep UpdateDeviceFleet x
Prelude.Generic)
newUpdateDeviceFleet ::
  
  Prelude.Text ->
  
  EdgeOutputConfig ->
  UpdateDeviceFleet
newUpdateDeviceFleet :: Text -> EdgeOutputConfig -> UpdateDeviceFleet
newUpdateDeviceFleet Text
pDeviceFleetName_ EdgeOutputConfig
pOutputConfig_ =
  UpdateDeviceFleet'
    { $sel:description:UpdateDeviceFleet' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:enableIotRoleAlias:UpdateDeviceFleet' :: Maybe Bool
enableIotRoleAlias = forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:UpdateDeviceFleet' :: Maybe Text
roleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:deviceFleetName:UpdateDeviceFleet' :: Text
deviceFleetName = Text
pDeviceFleetName_,
      $sel:outputConfig:UpdateDeviceFleet' :: EdgeOutputConfig
outputConfig = EdgeOutputConfig
pOutputConfig_
    }
updateDeviceFleet_description :: Lens.Lens' UpdateDeviceFleet (Prelude.Maybe Prelude.Text)
updateDeviceFleet_description :: Lens' UpdateDeviceFleet (Maybe Text)
updateDeviceFleet_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDeviceFleet' {Maybe Text
description :: Maybe Text
$sel:description:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateDeviceFleet
s@UpdateDeviceFleet' {} Maybe Text
a -> UpdateDeviceFleet
s {$sel:description:UpdateDeviceFleet' :: Maybe Text
description = Maybe Text
a} :: UpdateDeviceFleet)
updateDeviceFleet_enableIotRoleAlias :: Lens.Lens' UpdateDeviceFleet (Prelude.Maybe Prelude.Bool)
updateDeviceFleet_enableIotRoleAlias :: Lens' UpdateDeviceFleet (Maybe Bool)
updateDeviceFleet_enableIotRoleAlias = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDeviceFleet' {Maybe Bool
enableIotRoleAlias :: Maybe Bool
$sel:enableIotRoleAlias:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Bool
enableIotRoleAlias} -> Maybe Bool
enableIotRoleAlias) (\s :: UpdateDeviceFleet
s@UpdateDeviceFleet' {} Maybe Bool
a -> UpdateDeviceFleet
s {$sel:enableIotRoleAlias:UpdateDeviceFleet' :: Maybe Bool
enableIotRoleAlias = Maybe Bool
a} :: UpdateDeviceFleet)
updateDeviceFleet_roleArn :: Lens.Lens' UpdateDeviceFleet (Prelude.Maybe Prelude.Text)
updateDeviceFleet_roleArn :: Lens' UpdateDeviceFleet (Maybe Text)
updateDeviceFleet_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDeviceFleet' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: UpdateDeviceFleet
s@UpdateDeviceFleet' {} Maybe Text
a -> UpdateDeviceFleet
s {$sel:roleArn:UpdateDeviceFleet' :: Maybe Text
roleArn = Maybe Text
a} :: UpdateDeviceFleet)
updateDeviceFleet_deviceFleetName :: Lens.Lens' UpdateDeviceFleet Prelude.Text
updateDeviceFleet_deviceFleetName :: Lens' UpdateDeviceFleet Text
updateDeviceFleet_deviceFleetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDeviceFleet' {Text
deviceFleetName :: Text
$sel:deviceFleetName:UpdateDeviceFleet' :: UpdateDeviceFleet -> Text
deviceFleetName} -> Text
deviceFleetName) (\s :: UpdateDeviceFleet
s@UpdateDeviceFleet' {} Text
a -> UpdateDeviceFleet
s {$sel:deviceFleetName:UpdateDeviceFleet' :: Text
deviceFleetName = Text
a} :: UpdateDeviceFleet)
updateDeviceFleet_outputConfig :: Lens.Lens' UpdateDeviceFleet EdgeOutputConfig
updateDeviceFleet_outputConfig :: Lens' UpdateDeviceFleet EdgeOutputConfig
updateDeviceFleet_outputConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDeviceFleet' {EdgeOutputConfig
outputConfig :: EdgeOutputConfig
$sel:outputConfig:UpdateDeviceFleet' :: UpdateDeviceFleet -> EdgeOutputConfig
outputConfig} -> EdgeOutputConfig
outputConfig) (\s :: UpdateDeviceFleet
s@UpdateDeviceFleet' {} EdgeOutputConfig
a -> UpdateDeviceFleet
s {$sel:outputConfig:UpdateDeviceFleet' :: EdgeOutputConfig
outputConfig = EdgeOutputConfig
a} :: UpdateDeviceFleet)
instance Core.AWSRequest UpdateDeviceFleet where
  type
    AWSResponse UpdateDeviceFleet =
      UpdateDeviceFleetResponse
  request :: (Service -> Service)
-> UpdateDeviceFleet -> Request UpdateDeviceFleet
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 UpdateDeviceFleet
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateDeviceFleet)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull UpdateDeviceFleetResponse
UpdateDeviceFleetResponse'
instance Prelude.Hashable UpdateDeviceFleet where
  hashWithSalt :: Int -> UpdateDeviceFleet -> Int
hashWithSalt Int
_salt UpdateDeviceFleet' {Maybe Bool
Maybe Text
Text
EdgeOutputConfig
outputConfig :: EdgeOutputConfig
deviceFleetName :: Text
roleArn :: Maybe Text
enableIotRoleAlias :: Maybe Bool
description :: Maybe Text
$sel:outputConfig:UpdateDeviceFleet' :: UpdateDeviceFleet -> EdgeOutputConfig
$sel:deviceFleetName:UpdateDeviceFleet' :: UpdateDeviceFleet -> Text
$sel:roleArn:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Text
$sel:enableIotRoleAlias:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Bool
$sel:description:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
enableIotRoleAlias
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
roleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deviceFleetName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` EdgeOutputConfig
outputConfig
instance Prelude.NFData UpdateDeviceFleet where
  rnf :: UpdateDeviceFleet -> ()
rnf UpdateDeviceFleet' {Maybe Bool
Maybe Text
Text
EdgeOutputConfig
outputConfig :: EdgeOutputConfig
deviceFleetName :: Text
roleArn :: Maybe Text
enableIotRoleAlias :: Maybe Bool
description :: Maybe Text
$sel:outputConfig:UpdateDeviceFleet' :: UpdateDeviceFleet -> EdgeOutputConfig
$sel:deviceFleetName:UpdateDeviceFleet' :: UpdateDeviceFleet -> Text
$sel:roleArn:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Text
$sel:enableIotRoleAlias:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Bool
$sel:description:UpdateDeviceFleet' :: UpdateDeviceFleet -> 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 Bool
enableIotRoleAlias
      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 Text
deviceFleetName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf EdgeOutputConfig
outputConfig
instance Data.ToHeaders UpdateDeviceFleet where
  toHeaders :: UpdateDeviceFleet -> [Header]
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 -> [Header]
Data.=# ( ByteString
"SageMaker.UpdateDeviceFleet" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )
instance Data.ToJSON UpdateDeviceFleet where
  toJSON :: UpdateDeviceFleet -> Value
toJSON UpdateDeviceFleet' {Maybe Bool
Maybe Text
Text
EdgeOutputConfig
outputConfig :: EdgeOutputConfig
deviceFleetName :: Text
roleArn :: Maybe Text
enableIotRoleAlias :: Maybe Bool
description :: Maybe Text
$sel:outputConfig:UpdateDeviceFleet' :: UpdateDeviceFleet -> EdgeOutputConfig
$sel:deviceFleetName:UpdateDeviceFleet' :: UpdateDeviceFleet -> Text
$sel:roleArn:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Text
$sel:enableIotRoleAlias:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Bool
$sel:description:UpdateDeviceFleet' :: UpdateDeviceFleet -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Description" 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
description,
            (Key
"EnableIotRoleAlias" 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 Bool
enableIotRoleAlias,
            (Key
"RoleArn" 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
roleArn,
            forall a. a -> Maybe a
Prelude.Just
              (Key
"DeviceFleetName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
deviceFleetName),
            forall a. a -> Maybe a
Prelude.Just (Key
"OutputConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= EdgeOutputConfig
outputConfig)
          ]
      )
instance Data.ToPath UpdateDeviceFleet where
  toPath :: UpdateDeviceFleet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateDeviceFleet where
  toQuery :: UpdateDeviceFleet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateDeviceFleetResponse = UpdateDeviceFleetResponse'
  {
  }
  deriving (UpdateDeviceFleetResponse -> UpdateDeviceFleetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDeviceFleetResponse -> UpdateDeviceFleetResponse -> Bool
$c/= :: UpdateDeviceFleetResponse -> UpdateDeviceFleetResponse -> Bool
== :: UpdateDeviceFleetResponse -> UpdateDeviceFleetResponse -> Bool
$c== :: UpdateDeviceFleetResponse -> UpdateDeviceFleetResponse -> Bool
Prelude.Eq, ReadPrec [UpdateDeviceFleetResponse]
ReadPrec UpdateDeviceFleetResponse
Int -> ReadS UpdateDeviceFleetResponse
ReadS [UpdateDeviceFleetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDeviceFleetResponse]
$creadListPrec :: ReadPrec [UpdateDeviceFleetResponse]
readPrec :: ReadPrec UpdateDeviceFleetResponse
$creadPrec :: ReadPrec UpdateDeviceFleetResponse
readList :: ReadS [UpdateDeviceFleetResponse]
$creadList :: ReadS [UpdateDeviceFleetResponse]
readsPrec :: Int -> ReadS UpdateDeviceFleetResponse
$creadsPrec :: Int -> ReadS UpdateDeviceFleetResponse
Prelude.Read, Int -> UpdateDeviceFleetResponse -> ShowS
[UpdateDeviceFleetResponse] -> ShowS
UpdateDeviceFleetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDeviceFleetResponse] -> ShowS
$cshowList :: [UpdateDeviceFleetResponse] -> ShowS
show :: UpdateDeviceFleetResponse -> String
$cshow :: UpdateDeviceFleetResponse -> String
showsPrec :: Int -> UpdateDeviceFleetResponse -> ShowS
$cshowsPrec :: Int -> UpdateDeviceFleetResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateDeviceFleetResponse x -> UpdateDeviceFleetResponse
forall x.
UpdateDeviceFleetResponse -> Rep UpdateDeviceFleetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateDeviceFleetResponse x -> UpdateDeviceFleetResponse
$cfrom :: forall x.
UpdateDeviceFleetResponse -> Rep UpdateDeviceFleetResponse x
Prelude.Generic)
newUpdateDeviceFleetResponse ::
  UpdateDeviceFleetResponse
newUpdateDeviceFleetResponse :: UpdateDeviceFleetResponse
newUpdateDeviceFleetResponse =
  UpdateDeviceFleetResponse
UpdateDeviceFleetResponse'
instance Prelude.NFData UpdateDeviceFleetResponse where
  rnf :: UpdateDeviceFleetResponse -> ()
rnf UpdateDeviceFleetResponse
_ = ()