{-# 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.DataSync.UpdateLocationHdfs
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates some parameters of a previously created location for a Hadoop
-- Distributed File System cluster.
module Amazonka.DataSync.UpdateLocationHdfs
  ( -- * Creating a Request
    UpdateLocationHdfs (..),
    newUpdateLocationHdfs,

    -- * Request Lenses
    updateLocationHdfs_agentArns,
    updateLocationHdfs_authenticationType,
    updateLocationHdfs_blockSize,
    updateLocationHdfs_kerberosKeytab,
    updateLocationHdfs_kerberosKrb5Conf,
    updateLocationHdfs_kerberosPrincipal,
    updateLocationHdfs_kmsKeyProviderUri,
    updateLocationHdfs_nameNodes,
    updateLocationHdfs_qopConfiguration,
    updateLocationHdfs_replicationFactor,
    updateLocationHdfs_simpleUser,
    updateLocationHdfs_subdirectory,
    updateLocationHdfs_locationArn,

    -- * Destructuring the Response
    UpdateLocationHdfsResponse (..),
    newUpdateLocationHdfsResponse,

    -- * Response Lenses
    updateLocationHdfsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newUpdateLocationHdfs' smart constructor.
data UpdateLocationHdfs = UpdateLocationHdfs'
  { -- | The ARNs of the agents that are used to connect to the HDFS cluster.
    UpdateLocationHdfs -> Maybe (NonEmpty Text)
agentArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),
    -- | The type of authentication used to determine the identity of the user.
    UpdateLocationHdfs -> Maybe HdfsAuthenticationType
authenticationType :: Prelude.Maybe HdfsAuthenticationType,
    -- | The size of the data blocks to write into the HDFS cluster.
    UpdateLocationHdfs -> Maybe Natural
blockSize :: Prelude.Maybe Prelude.Natural,
    -- | The Kerberos key table (keytab) that contains mappings between the
    -- defined Kerberos principal and the encrypted keys. You can load the
    -- keytab from a file by providing the file\'s address. If you use the CLI,
    -- it performs base64 encoding for you. Otherwise, provide the
    -- base64-encoded text.
    UpdateLocationHdfs -> Maybe Base64
kerberosKeytab :: Prelude.Maybe Data.Base64,
    -- | The @krb5.conf@ file that contains the Kerberos configuration
    -- information. You can load the @krb5.conf@ file by providing the file\'s
    -- address. If you\'re using the CLI, it performs the base64 encoding for
    -- you. Otherwise, provide the base64-encoded text.
    UpdateLocationHdfs -> Maybe Base64
kerberosKrb5Conf :: Prelude.Maybe Data.Base64,
    -- | The Kerberos principal with access to the files and folders on the HDFS
    -- cluster.
    UpdateLocationHdfs -> Maybe Text
kerberosPrincipal :: Prelude.Maybe Prelude.Text,
    -- | The URI of the HDFS cluster\'s Key Management Server (KMS).
    UpdateLocationHdfs -> Maybe Text
kmsKeyProviderUri :: Prelude.Maybe Prelude.Text,
    -- | The NameNode that manages the HDFS namespace. The NameNode performs
    -- operations such as opening, closing, and renaming files and directories.
    -- The NameNode contains the information to map blocks of data to the
    -- DataNodes. You can use only one NameNode.
    UpdateLocationHdfs -> Maybe (NonEmpty HdfsNameNode)
nameNodes :: Prelude.Maybe (Prelude.NonEmpty HdfsNameNode),
    -- | The Quality of Protection (QOP) configuration specifies the Remote
    -- Procedure Call (RPC) and data transfer privacy settings configured on
    -- the Hadoop Distributed File System (HDFS) cluster.
    UpdateLocationHdfs -> Maybe QopConfiguration
qopConfiguration :: Prelude.Maybe QopConfiguration,
    -- | The number of DataNodes to replicate the data to when writing to the
    -- HDFS cluster.
    UpdateLocationHdfs -> Maybe Natural
replicationFactor :: Prelude.Maybe Prelude.Natural,
    -- | The user name used to identify the client on the host operating system.
    UpdateLocationHdfs -> Maybe Text
simpleUser :: Prelude.Maybe Prelude.Text,
    -- | A subdirectory in the HDFS cluster. This subdirectory is used to read
    -- data from or write data to the HDFS cluster.
    UpdateLocationHdfs -> Maybe Text
subdirectory :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the source HDFS cluster location.
    UpdateLocationHdfs -> Text
locationArn :: Prelude.Text
  }
  deriving (UpdateLocationHdfs -> UpdateLocationHdfs -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateLocationHdfs -> UpdateLocationHdfs -> Bool
$c/= :: UpdateLocationHdfs -> UpdateLocationHdfs -> Bool
== :: UpdateLocationHdfs -> UpdateLocationHdfs -> Bool
$c== :: UpdateLocationHdfs -> UpdateLocationHdfs -> Bool
Prelude.Eq, ReadPrec [UpdateLocationHdfs]
ReadPrec UpdateLocationHdfs
Int -> ReadS UpdateLocationHdfs
ReadS [UpdateLocationHdfs]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateLocationHdfs]
$creadListPrec :: ReadPrec [UpdateLocationHdfs]
readPrec :: ReadPrec UpdateLocationHdfs
$creadPrec :: ReadPrec UpdateLocationHdfs
readList :: ReadS [UpdateLocationHdfs]
$creadList :: ReadS [UpdateLocationHdfs]
readsPrec :: Int -> ReadS UpdateLocationHdfs
$creadsPrec :: Int -> ReadS UpdateLocationHdfs
Prelude.Read, Int -> UpdateLocationHdfs -> ShowS
[UpdateLocationHdfs] -> ShowS
UpdateLocationHdfs -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateLocationHdfs] -> ShowS
$cshowList :: [UpdateLocationHdfs] -> ShowS
show :: UpdateLocationHdfs -> String
$cshow :: UpdateLocationHdfs -> String
showsPrec :: Int -> UpdateLocationHdfs -> ShowS
$cshowsPrec :: Int -> UpdateLocationHdfs -> ShowS
Prelude.Show, forall x. Rep UpdateLocationHdfs x -> UpdateLocationHdfs
forall x. UpdateLocationHdfs -> Rep UpdateLocationHdfs x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateLocationHdfs x -> UpdateLocationHdfs
$cfrom :: forall x. UpdateLocationHdfs -> Rep UpdateLocationHdfs x
Prelude.Generic)

-- |
-- Create a value of 'UpdateLocationHdfs' 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:
--
-- 'agentArns', 'updateLocationHdfs_agentArns' - The ARNs of the agents that are used to connect to the HDFS cluster.
--
-- 'authenticationType', 'updateLocationHdfs_authenticationType' - The type of authentication used to determine the identity of the user.
--
-- 'blockSize', 'updateLocationHdfs_blockSize' - The size of the data blocks to write into the HDFS cluster.
--
-- 'kerberosKeytab', 'updateLocationHdfs_kerberosKeytab' - The Kerberos key table (keytab) that contains mappings between the
-- defined Kerberos principal and the encrypted keys. You can load the
-- keytab from a file by providing the file\'s address. If you use the CLI,
-- it performs base64 encoding for you. Otherwise, provide the
-- base64-encoded text.--
-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.
-- -- The underlying isomorphism will encode to Base64 representation during
-- -- serialisation, and decode from Base64 representation during deserialisation.
-- -- This 'Lens' accepts and returns only raw unencoded data.
--
-- 'kerberosKrb5Conf', 'updateLocationHdfs_kerberosKrb5Conf' - The @krb5.conf@ file that contains the Kerberos configuration
-- information. You can load the @krb5.conf@ file by providing the file\'s
-- address. If you\'re using the CLI, it performs the base64 encoding for
-- you. Otherwise, provide the base64-encoded text.--
-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.
-- -- The underlying isomorphism will encode to Base64 representation during
-- -- serialisation, and decode from Base64 representation during deserialisation.
-- -- This 'Lens' accepts and returns only raw unencoded data.
--
-- 'kerberosPrincipal', 'updateLocationHdfs_kerberosPrincipal' - The Kerberos principal with access to the files and folders on the HDFS
-- cluster.
--
-- 'kmsKeyProviderUri', 'updateLocationHdfs_kmsKeyProviderUri' - The URI of the HDFS cluster\'s Key Management Server (KMS).
--
-- 'nameNodes', 'updateLocationHdfs_nameNodes' - The NameNode that manages the HDFS namespace. The NameNode performs
-- operations such as opening, closing, and renaming files and directories.
-- The NameNode contains the information to map blocks of data to the
-- DataNodes. You can use only one NameNode.
--
-- 'qopConfiguration', 'updateLocationHdfs_qopConfiguration' - The Quality of Protection (QOP) configuration specifies the Remote
-- Procedure Call (RPC) and data transfer privacy settings configured on
-- the Hadoop Distributed File System (HDFS) cluster.
--
-- 'replicationFactor', 'updateLocationHdfs_replicationFactor' - The number of DataNodes to replicate the data to when writing to the
-- HDFS cluster.
--
-- 'simpleUser', 'updateLocationHdfs_simpleUser' - The user name used to identify the client on the host operating system.
--
-- 'subdirectory', 'updateLocationHdfs_subdirectory' - A subdirectory in the HDFS cluster. This subdirectory is used to read
-- data from or write data to the HDFS cluster.
--
-- 'locationArn', 'updateLocationHdfs_locationArn' - The Amazon Resource Name (ARN) of the source HDFS cluster location.
newUpdateLocationHdfs ::
  -- | 'locationArn'
  Prelude.Text ->
  UpdateLocationHdfs
newUpdateLocationHdfs :: Text -> UpdateLocationHdfs
newUpdateLocationHdfs Text
pLocationArn_ =
  UpdateLocationHdfs'
    { $sel:agentArns:UpdateLocationHdfs' :: Maybe (NonEmpty Text)
agentArns = forall a. Maybe a
Prelude.Nothing,
      $sel:authenticationType:UpdateLocationHdfs' :: Maybe HdfsAuthenticationType
authenticationType = forall a. Maybe a
Prelude.Nothing,
      $sel:blockSize:UpdateLocationHdfs' :: Maybe Natural
blockSize = forall a. Maybe a
Prelude.Nothing,
      $sel:kerberosKeytab:UpdateLocationHdfs' :: Maybe Base64
kerberosKeytab = forall a. Maybe a
Prelude.Nothing,
      $sel:kerberosKrb5Conf:UpdateLocationHdfs' :: Maybe Base64
kerberosKrb5Conf = forall a. Maybe a
Prelude.Nothing,
      $sel:kerberosPrincipal:UpdateLocationHdfs' :: Maybe Text
kerberosPrincipal = forall a. Maybe a
Prelude.Nothing,
      $sel:kmsKeyProviderUri:UpdateLocationHdfs' :: Maybe Text
kmsKeyProviderUri = forall a. Maybe a
Prelude.Nothing,
      $sel:nameNodes:UpdateLocationHdfs' :: Maybe (NonEmpty HdfsNameNode)
nameNodes = forall a. Maybe a
Prelude.Nothing,
      $sel:qopConfiguration:UpdateLocationHdfs' :: Maybe QopConfiguration
qopConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:replicationFactor:UpdateLocationHdfs' :: Maybe Natural
replicationFactor = forall a. Maybe a
Prelude.Nothing,
      $sel:simpleUser:UpdateLocationHdfs' :: Maybe Text
simpleUser = forall a. Maybe a
Prelude.Nothing,
      $sel:subdirectory:UpdateLocationHdfs' :: Maybe Text
subdirectory = forall a. Maybe a
Prelude.Nothing,
      $sel:locationArn:UpdateLocationHdfs' :: Text
locationArn = Text
pLocationArn_
    }

-- | The ARNs of the agents that are used to connect to the HDFS cluster.
updateLocationHdfs_agentArns :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))
updateLocationHdfs_agentArns :: Lens' UpdateLocationHdfs (Maybe (NonEmpty Text))
updateLocationHdfs_agentArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe (NonEmpty Text)
agentArns :: Maybe (NonEmpty Text)
$sel:agentArns:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe (NonEmpty Text)
agentArns} -> Maybe (NonEmpty Text)
agentArns) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe (NonEmpty Text)
a -> UpdateLocationHdfs
s {$sel:agentArns:UpdateLocationHdfs' :: Maybe (NonEmpty Text)
agentArns = Maybe (NonEmpty Text)
a} :: UpdateLocationHdfs) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The type of authentication used to determine the identity of the user.
updateLocationHdfs_authenticationType :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe HdfsAuthenticationType)
updateLocationHdfs_authenticationType :: Lens' UpdateLocationHdfs (Maybe HdfsAuthenticationType)
updateLocationHdfs_authenticationType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe HdfsAuthenticationType
authenticationType :: Maybe HdfsAuthenticationType
$sel:authenticationType:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe HdfsAuthenticationType
authenticationType} -> Maybe HdfsAuthenticationType
authenticationType) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe HdfsAuthenticationType
a -> UpdateLocationHdfs
s {$sel:authenticationType:UpdateLocationHdfs' :: Maybe HdfsAuthenticationType
authenticationType = Maybe HdfsAuthenticationType
a} :: UpdateLocationHdfs)

-- | The size of the data blocks to write into the HDFS cluster.
updateLocationHdfs_blockSize :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Natural)
updateLocationHdfs_blockSize :: Lens' UpdateLocationHdfs (Maybe Natural)
updateLocationHdfs_blockSize = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe Natural
blockSize :: Maybe Natural
$sel:blockSize:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Natural
blockSize} -> Maybe Natural
blockSize) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe Natural
a -> UpdateLocationHdfs
s {$sel:blockSize:UpdateLocationHdfs' :: Maybe Natural
blockSize = Maybe Natural
a} :: UpdateLocationHdfs)

-- | The Kerberos key table (keytab) that contains mappings between the
-- defined Kerberos principal and the encrypted keys. You can load the
-- keytab from a file by providing the file\'s address. If you use the CLI,
-- it performs base64 encoding for you. Otherwise, provide the
-- base64-encoded text.--
-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.
-- -- The underlying isomorphism will encode to Base64 representation during
-- -- serialisation, and decode from Base64 representation during deserialisation.
-- -- This 'Lens' accepts and returns only raw unencoded data.
updateLocationHdfs_kerberosKeytab :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.ByteString)
updateLocationHdfs_kerberosKeytab :: Lens' UpdateLocationHdfs (Maybe ByteString)
updateLocationHdfs_kerberosKeytab = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe Base64
kerberosKeytab :: Maybe Base64
$sel:kerberosKeytab:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Base64
kerberosKeytab} -> Maybe Base64
kerberosKeytab) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe Base64
a -> UpdateLocationHdfs
s {$sel:kerberosKeytab:UpdateLocationHdfs' :: Maybe Base64
kerberosKeytab = Maybe Base64
a} :: UpdateLocationHdfs) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping Iso' Base64 ByteString
Data._Base64

-- | The @krb5.conf@ file that contains the Kerberos configuration
-- information. You can load the @krb5.conf@ file by providing the file\'s
-- address. If you\'re using the CLI, it performs the base64 encoding for
-- you. Otherwise, provide the base64-encoded text.--
-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.
-- -- The underlying isomorphism will encode to Base64 representation during
-- -- serialisation, and decode from Base64 representation during deserialisation.
-- -- This 'Lens' accepts and returns only raw unencoded data.
updateLocationHdfs_kerberosKrb5Conf :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.ByteString)
updateLocationHdfs_kerberosKrb5Conf :: Lens' UpdateLocationHdfs (Maybe ByteString)
updateLocationHdfs_kerberosKrb5Conf = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe Base64
kerberosKrb5Conf :: Maybe Base64
$sel:kerberosKrb5Conf:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Base64
kerberosKrb5Conf} -> Maybe Base64
kerberosKrb5Conf) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe Base64
a -> UpdateLocationHdfs
s {$sel:kerberosKrb5Conf:UpdateLocationHdfs' :: Maybe Base64
kerberosKrb5Conf = Maybe Base64
a} :: UpdateLocationHdfs) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping Iso' Base64 ByteString
Data._Base64

-- | The Kerberos principal with access to the files and folders on the HDFS
-- cluster.
updateLocationHdfs_kerberosPrincipal :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Text)
updateLocationHdfs_kerberosPrincipal :: Lens' UpdateLocationHdfs (Maybe Text)
updateLocationHdfs_kerberosPrincipal = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe Text
kerberosPrincipal :: Maybe Text
$sel:kerberosPrincipal:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
kerberosPrincipal} -> Maybe Text
kerberosPrincipal) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe Text
a -> UpdateLocationHdfs
s {$sel:kerberosPrincipal:UpdateLocationHdfs' :: Maybe Text
kerberosPrincipal = Maybe Text
a} :: UpdateLocationHdfs)

-- | The URI of the HDFS cluster\'s Key Management Server (KMS).
updateLocationHdfs_kmsKeyProviderUri :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Text)
updateLocationHdfs_kmsKeyProviderUri :: Lens' UpdateLocationHdfs (Maybe Text)
updateLocationHdfs_kmsKeyProviderUri = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe Text
kmsKeyProviderUri :: Maybe Text
$sel:kmsKeyProviderUri:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
kmsKeyProviderUri} -> Maybe Text
kmsKeyProviderUri) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe Text
a -> UpdateLocationHdfs
s {$sel:kmsKeyProviderUri:UpdateLocationHdfs' :: Maybe Text
kmsKeyProviderUri = Maybe Text
a} :: UpdateLocationHdfs)

-- | The NameNode that manages the HDFS namespace. The NameNode performs
-- operations such as opening, closing, and renaming files and directories.
-- The NameNode contains the information to map blocks of data to the
-- DataNodes. You can use only one NameNode.
updateLocationHdfs_nameNodes :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe (Prelude.NonEmpty HdfsNameNode))
updateLocationHdfs_nameNodes :: Lens' UpdateLocationHdfs (Maybe (NonEmpty HdfsNameNode))
updateLocationHdfs_nameNodes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe (NonEmpty HdfsNameNode)
nameNodes :: Maybe (NonEmpty HdfsNameNode)
$sel:nameNodes:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe (NonEmpty HdfsNameNode)
nameNodes} -> Maybe (NonEmpty HdfsNameNode)
nameNodes) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe (NonEmpty HdfsNameNode)
a -> UpdateLocationHdfs
s {$sel:nameNodes:UpdateLocationHdfs' :: Maybe (NonEmpty HdfsNameNode)
nameNodes = Maybe (NonEmpty HdfsNameNode)
a} :: UpdateLocationHdfs) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The Quality of Protection (QOP) configuration specifies the Remote
-- Procedure Call (RPC) and data transfer privacy settings configured on
-- the Hadoop Distributed File System (HDFS) cluster.
updateLocationHdfs_qopConfiguration :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe QopConfiguration)
updateLocationHdfs_qopConfiguration :: Lens' UpdateLocationHdfs (Maybe QopConfiguration)
updateLocationHdfs_qopConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe QopConfiguration
qopConfiguration :: Maybe QopConfiguration
$sel:qopConfiguration:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe QopConfiguration
qopConfiguration} -> Maybe QopConfiguration
qopConfiguration) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe QopConfiguration
a -> UpdateLocationHdfs
s {$sel:qopConfiguration:UpdateLocationHdfs' :: Maybe QopConfiguration
qopConfiguration = Maybe QopConfiguration
a} :: UpdateLocationHdfs)

-- | The number of DataNodes to replicate the data to when writing to the
-- HDFS cluster.
updateLocationHdfs_replicationFactor :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Natural)
updateLocationHdfs_replicationFactor :: Lens' UpdateLocationHdfs (Maybe Natural)
updateLocationHdfs_replicationFactor = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe Natural
replicationFactor :: Maybe Natural
$sel:replicationFactor:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Natural
replicationFactor} -> Maybe Natural
replicationFactor) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe Natural
a -> UpdateLocationHdfs
s {$sel:replicationFactor:UpdateLocationHdfs' :: Maybe Natural
replicationFactor = Maybe Natural
a} :: UpdateLocationHdfs)

-- | The user name used to identify the client on the host operating system.
updateLocationHdfs_simpleUser :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Text)
updateLocationHdfs_simpleUser :: Lens' UpdateLocationHdfs (Maybe Text)
updateLocationHdfs_simpleUser = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe Text
simpleUser :: Maybe Text
$sel:simpleUser:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
simpleUser} -> Maybe Text
simpleUser) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe Text
a -> UpdateLocationHdfs
s {$sel:simpleUser:UpdateLocationHdfs' :: Maybe Text
simpleUser = Maybe Text
a} :: UpdateLocationHdfs)

-- | A subdirectory in the HDFS cluster. This subdirectory is used to read
-- data from or write data to the HDFS cluster.
updateLocationHdfs_subdirectory :: Lens.Lens' UpdateLocationHdfs (Prelude.Maybe Prelude.Text)
updateLocationHdfs_subdirectory :: Lens' UpdateLocationHdfs (Maybe Text)
updateLocationHdfs_subdirectory = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Maybe Text
subdirectory :: Maybe Text
$sel:subdirectory:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
subdirectory} -> Maybe Text
subdirectory) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Maybe Text
a -> UpdateLocationHdfs
s {$sel:subdirectory:UpdateLocationHdfs' :: Maybe Text
subdirectory = Maybe Text
a} :: UpdateLocationHdfs)

-- | The Amazon Resource Name (ARN) of the source HDFS cluster location.
updateLocationHdfs_locationArn :: Lens.Lens' UpdateLocationHdfs Prelude.Text
updateLocationHdfs_locationArn :: Lens' UpdateLocationHdfs Text
updateLocationHdfs_locationArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateLocationHdfs' {Text
locationArn :: Text
$sel:locationArn:UpdateLocationHdfs' :: UpdateLocationHdfs -> Text
locationArn} -> Text
locationArn) (\s :: UpdateLocationHdfs
s@UpdateLocationHdfs' {} Text
a -> UpdateLocationHdfs
s {$sel:locationArn:UpdateLocationHdfs' :: Text
locationArn = Text
a} :: UpdateLocationHdfs)

instance Core.AWSRequest UpdateLocationHdfs where
  type
    AWSResponse UpdateLocationHdfs =
      UpdateLocationHdfsResponse
  request :: (Service -> Service)
-> UpdateLocationHdfs -> Request UpdateLocationHdfs
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 UpdateLocationHdfs
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateLocationHdfs)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
      ( \Int
s ResponseHeaders
h ()
x ->
          Int -> UpdateLocationHdfsResponse
UpdateLocationHdfsResponse'
            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))
      )

instance Prelude.Hashable UpdateLocationHdfs where
  hashWithSalt :: Int -> UpdateLocationHdfs -> Int
hashWithSalt Int
_salt UpdateLocationHdfs' {Maybe Natural
Maybe (NonEmpty Text)
Maybe (NonEmpty HdfsNameNode)
Maybe Text
Maybe Base64
Maybe HdfsAuthenticationType
Maybe QopConfiguration
Text
locationArn :: Text
subdirectory :: Maybe Text
simpleUser :: Maybe Text
replicationFactor :: Maybe Natural
qopConfiguration :: Maybe QopConfiguration
nameNodes :: Maybe (NonEmpty HdfsNameNode)
kmsKeyProviderUri :: Maybe Text
kerberosPrincipal :: Maybe Text
kerberosKrb5Conf :: Maybe Base64
kerberosKeytab :: Maybe Base64
blockSize :: Maybe Natural
authenticationType :: Maybe HdfsAuthenticationType
agentArns :: Maybe (NonEmpty Text)
$sel:locationArn:UpdateLocationHdfs' :: UpdateLocationHdfs -> Text
$sel:subdirectory:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:simpleUser:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:replicationFactor:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Natural
$sel:qopConfiguration:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe QopConfiguration
$sel:nameNodes:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe (NonEmpty HdfsNameNode)
$sel:kmsKeyProviderUri:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:kerberosPrincipal:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:kerberosKrb5Conf:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Base64
$sel:kerberosKeytab:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Base64
$sel:blockSize:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Natural
$sel:authenticationType:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe HdfsAuthenticationType
$sel:agentArns:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe (NonEmpty Text)
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty Text)
agentArns
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe HdfsAuthenticationType
authenticationType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
blockSize
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Base64
kerberosKeytab
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Base64
kerberosKrb5Conf
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kerberosPrincipal
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kmsKeyProviderUri
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty HdfsNameNode)
nameNodes
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe QopConfiguration
qopConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
replicationFactor
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
simpleUser
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
subdirectory
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
locationArn

instance Prelude.NFData UpdateLocationHdfs where
  rnf :: UpdateLocationHdfs -> ()
rnf UpdateLocationHdfs' {Maybe Natural
Maybe (NonEmpty Text)
Maybe (NonEmpty HdfsNameNode)
Maybe Text
Maybe Base64
Maybe HdfsAuthenticationType
Maybe QopConfiguration
Text
locationArn :: Text
subdirectory :: Maybe Text
simpleUser :: Maybe Text
replicationFactor :: Maybe Natural
qopConfiguration :: Maybe QopConfiguration
nameNodes :: Maybe (NonEmpty HdfsNameNode)
kmsKeyProviderUri :: Maybe Text
kerberosPrincipal :: Maybe Text
kerberosKrb5Conf :: Maybe Base64
kerberosKeytab :: Maybe Base64
blockSize :: Maybe Natural
authenticationType :: Maybe HdfsAuthenticationType
agentArns :: Maybe (NonEmpty Text)
$sel:locationArn:UpdateLocationHdfs' :: UpdateLocationHdfs -> Text
$sel:subdirectory:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:simpleUser:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:replicationFactor:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Natural
$sel:qopConfiguration:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe QopConfiguration
$sel:nameNodes:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe (NonEmpty HdfsNameNode)
$sel:kmsKeyProviderUri:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:kerberosPrincipal:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:kerberosKrb5Conf:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Base64
$sel:kerberosKeytab:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Base64
$sel:blockSize:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Natural
$sel:authenticationType:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe HdfsAuthenticationType
$sel:agentArns:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe (NonEmpty Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Text)
agentArns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe HdfsAuthenticationType
authenticationType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
blockSize
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Base64
kerberosKeytab
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Base64
kerberosKrb5Conf
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kerberosPrincipal
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kmsKeyProviderUri
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty HdfsNameNode)
nameNodes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe QopConfiguration
qopConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
replicationFactor
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
simpleUser
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
subdirectory
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
locationArn

instance Data.ToHeaders UpdateLocationHdfs where
  toHeaders :: UpdateLocationHdfs -> 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
"FmrsService.UpdateLocationHdfs" ::
                          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 UpdateLocationHdfs where
  toJSON :: UpdateLocationHdfs -> Value
toJSON UpdateLocationHdfs' {Maybe Natural
Maybe (NonEmpty Text)
Maybe (NonEmpty HdfsNameNode)
Maybe Text
Maybe Base64
Maybe HdfsAuthenticationType
Maybe QopConfiguration
Text
locationArn :: Text
subdirectory :: Maybe Text
simpleUser :: Maybe Text
replicationFactor :: Maybe Natural
qopConfiguration :: Maybe QopConfiguration
nameNodes :: Maybe (NonEmpty HdfsNameNode)
kmsKeyProviderUri :: Maybe Text
kerberosPrincipal :: Maybe Text
kerberosKrb5Conf :: Maybe Base64
kerberosKeytab :: Maybe Base64
blockSize :: Maybe Natural
authenticationType :: Maybe HdfsAuthenticationType
agentArns :: Maybe (NonEmpty Text)
$sel:locationArn:UpdateLocationHdfs' :: UpdateLocationHdfs -> Text
$sel:subdirectory:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:simpleUser:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:replicationFactor:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Natural
$sel:qopConfiguration:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe QopConfiguration
$sel:nameNodes:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe (NonEmpty HdfsNameNode)
$sel:kmsKeyProviderUri:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:kerberosPrincipal:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Text
$sel:kerberosKrb5Conf:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Base64
$sel:kerberosKeytab:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Base64
$sel:blockSize:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe Natural
$sel:authenticationType:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe HdfsAuthenticationType
$sel:agentArns:UpdateLocationHdfs' :: UpdateLocationHdfs -> Maybe (NonEmpty Text)
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"AgentArns" 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 (NonEmpty Text)
agentArns,
            (Key
"AuthenticationType" 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 HdfsAuthenticationType
authenticationType,
            (Key
"BlockSize" 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 Natural
blockSize,
            (Key
"KerberosKeytab" 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 Base64
kerberosKeytab,
            (Key
"KerberosKrb5Conf" 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 Base64
kerberosKrb5Conf,
            (Key
"KerberosPrincipal" 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
kerberosPrincipal,
            (Key
"KmsKeyProviderUri" 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
kmsKeyProviderUri,
            (Key
"NameNodes" 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 (NonEmpty HdfsNameNode)
nameNodes,
            (Key
"QopConfiguration" 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 QopConfiguration
qopConfiguration,
            (Key
"ReplicationFactor" 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 Natural
replicationFactor,
            (Key
"SimpleUser" 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
simpleUser,
            (Key
"Subdirectory" 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
subdirectory,
            forall a. a -> Maybe a
Prelude.Just (Key
"LocationArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
locationArn)
          ]
      )

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

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

-- | /See:/ 'newUpdateLocationHdfsResponse' smart constructor.
data UpdateLocationHdfsResponse = UpdateLocationHdfsResponse'
  { -- | The response's http status code.
    UpdateLocationHdfsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateLocationHdfsResponse -> UpdateLocationHdfsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateLocationHdfsResponse -> UpdateLocationHdfsResponse -> Bool
$c/= :: UpdateLocationHdfsResponse -> UpdateLocationHdfsResponse -> Bool
== :: UpdateLocationHdfsResponse -> UpdateLocationHdfsResponse -> Bool
$c== :: UpdateLocationHdfsResponse -> UpdateLocationHdfsResponse -> Bool
Prelude.Eq, ReadPrec [UpdateLocationHdfsResponse]
ReadPrec UpdateLocationHdfsResponse
Int -> ReadS UpdateLocationHdfsResponse
ReadS [UpdateLocationHdfsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateLocationHdfsResponse]
$creadListPrec :: ReadPrec [UpdateLocationHdfsResponse]
readPrec :: ReadPrec UpdateLocationHdfsResponse
$creadPrec :: ReadPrec UpdateLocationHdfsResponse
readList :: ReadS [UpdateLocationHdfsResponse]
$creadList :: ReadS [UpdateLocationHdfsResponse]
readsPrec :: Int -> ReadS UpdateLocationHdfsResponse
$creadsPrec :: Int -> ReadS UpdateLocationHdfsResponse
Prelude.Read, Int -> UpdateLocationHdfsResponse -> ShowS
[UpdateLocationHdfsResponse] -> ShowS
UpdateLocationHdfsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateLocationHdfsResponse] -> ShowS
$cshowList :: [UpdateLocationHdfsResponse] -> ShowS
show :: UpdateLocationHdfsResponse -> String
$cshow :: UpdateLocationHdfsResponse -> String
showsPrec :: Int -> UpdateLocationHdfsResponse -> ShowS
$cshowsPrec :: Int -> UpdateLocationHdfsResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateLocationHdfsResponse x -> UpdateLocationHdfsResponse
forall x.
UpdateLocationHdfsResponse -> Rep UpdateLocationHdfsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateLocationHdfsResponse x -> UpdateLocationHdfsResponse
$cfrom :: forall x.
UpdateLocationHdfsResponse -> Rep UpdateLocationHdfsResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateLocationHdfsResponse' 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', 'updateLocationHdfsResponse_httpStatus' - The response's http status code.
newUpdateLocationHdfsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateLocationHdfsResponse
newUpdateLocationHdfsResponse :: Int -> UpdateLocationHdfsResponse
newUpdateLocationHdfsResponse Int
pHttpStatus_ =
  UpdateLocationHdfsResponse'
    { $sel:httpStatus:UpdateLocationHdfsResponse' :: Int
httpStatus =
        Int
pHttpStatus_
    }

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

instance Prelude.NFData UpdateLocationHdfsResponse where
  rnf :: UpdateLocationHdfsResponse -> ()
rnf UpdateLocationHdfsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateLocationHdfsResponse' :: UpdateLocationHdfsResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus