{-# 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.NetworkManager.UpdateNetworkResourceMetadata
-- 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 the resource metadata for the specified global network.
module Amazonka.NetworkManager.UpdateNetworkResourceMetadata
  ( -- * Creating a Request
    UpdateNetworkResourceMetadata (..),
    newUpdateNetworkResourceMetadata,

    -- * Request Lenses
    updateNetworkResourceMetadata_globalNetworkId,
    updateNetworkResourceMetadata_resourceArn,
    updateNetworkResourceMetadata_metadata,

    -- * Destructuring the Response
    UpdateNetworkResourceMetadataResponse (..),
    newUpdateNetworkResourceMetadataResponse,

    -- * Response Lenses
    updateNetworkResourceMetadataResponse_metadata,
    updateNetworkResourceMetadataResponse_resourceArn,
    updateNetworkResourceMetadataResponse_httpStatus,
  )
where

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

-- | /See:/ 'newUpdateNetworkResourceMetadata' smart constructor.
data UpdateNetworkResourceMetadata = UpdateNetworkResourceMetadata'
  { -- | The ID of the global network.
    UpdateNetworkResourceMetadata -> Text
globalNetworkId :: Prelude.Text,
    -- | The ARN of the resource.
    UpdateNetworkResourceMetadata -> Text
resourceArn :: Prelude.Text,
    -- | The resource metadata.
    UpdateNetworkResourceMetadata -> HashMap Text Text
metadata :: Prelude.HashMap Prelude.Text Prelude.Text
  }
  deriving (UpdateNetworkResourceMetadata
-> UpdateNetworkResourceMetadata -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateNetworkResourceMetadata
-> UpdateNetworkResourceMetadata -> Bool
$c/= :: UpdateNetworkResourceMetadata
-> UpdateNetworkResourceMetadata -> Bool
== :: UpdateNetworkResourceMetadata
-> UpdateNetworkResourceMetadata -> Bool
$c== :: UpdateNetworkResourceMetadata
-> UpdateNetworkResourceMetadata -> Bool
Prelude.Eq, ReadPrec [UpdateNetworkResourceMetadata]
ReadPrec UpdateNetworkResourceMetadata
Int -> ReadS UpdateNetworkResourceMetadata
ReadS [UpdateNetworkResourceMetadata]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateNetworkResourceMetadata]
$creadListPrec :: ReadPrec [UpdateNetworkResourceMetadata]
readPrec :: ReadPrec UpdateNetworkResourceMetadata
$creadPrec :: ReadPrec UpdateNetworkResourceMetadata
readList :: ReadS [UpdateNetworkResourceMetadata]
$creadList :: ReadS [UpdateNetworkResourceMetadata]
readsPrec :: Int -> ReadS UpdateNetworkResourceMetadata
$creadsPrec :: Int -> ReadS UpdateNetworkResourceMetadata
Prelude.Read, Int -> UpdateNetworkResourceMetadata -> ShowS
[UpdateNetworkResourceMetadata] -> ShowS
UpdateNetworkResourceMetadata -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateNetworkResourceMetadata] -> ShowS
$cshowList :: [UpdateNetworkResourceMetadata] -> ShowS
show :: UpdateNetworkResourceMetadata -> String
$cshow :: UpdateNetworkResourceMetadata -> String
showsPrec :: Int -> UpdateNetworkResourceMetadata -> ShowS
$cshowsPrec :: Int -> UpdateNetworkResourceMetadata -> ShowS
Prelude.Show, forall x.
Rep UpdateNetworkResourceMetadata x
-> UpdateNetworkResourceMetadata
forall x.
UpdateNetworkResourceMetadata
-> Rep UpdateNetworkResourceMetadata x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateNetworkResourceMetadata x
-> UpdateNetworkResourceMetadata
$cfrom :: forall x.
UpdateNetworkResourceMetadata
-> Rep UpdateNetworkResourceMetadata x
Prelude.Generic)

-- |
-- Create a value of 'UpdateNetworkResourceMetadata' 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:
--
-- 'globalNetworkId', 'updateNetworkResourceMetadata_globalNetworkId' - The ID of the global network.
--
-- 'resourceArn', 'updateNetworkResourceMetadata_resourceArn' - The ARN of the resource.
--
-- 'metadata', 'updateNetworkResourceMetadata_metadata' - The resource metadata.
newUpdateNetworkResourceMetadata ::
  -- | 'globalNetworkId'
  Prelude.Text ->
  -- | 'resourceArn'
  Prelude.Text ->
  UpdateNetworkResourceMetadata
newUpdateNetworkResourceMetadata :: Text -> Text -> UpdateNetworkResourceMetadata
newUpdateNetworkResourceMetadata
  Text
pGlobalNetworkId_
  Text
pResourceArn_ =
    UpdateNetworkResourceMetadata'
      { $sel:globalNetworkId:UpdateNetworkResourceMetadata' :: Text
globalNetworkId =
          Text
pGlobalNetworkId_,
        $sel:resourceArn:UpdateNetworkResourceMetadata' :: Text
resourceArn = Text
pResourceArn_,
        $sel:metadata:UpdateNetworkResourceMetadata' :: HashMap Text Text
metadata = forall a. Monoid a => a
Prelude.mempty
      }

-- | The ID of the global network.
updateNetworkResourceMetadata_globalNetworkId :: Lens.Lens' UpdateNetworkResourceMetadata Prelude.Text
updateNetworkResourceMetadata_globalNetworkId :: Lens' UpdateNetworkResourceMetadata Text
updateNetworkResourceMetadata_globalNetworkId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkResourceMetadata' {Text
globalNetworkId :: Text
$sel:globalNetworkId:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> Text
globalNetworkId} -> Text
globalNetworkId) (\s :: UpdateNetworkResourceMetadata
s@UpdateNetworkResourceMetadata' {} Text
a -> UpdateNetworkResourceMetadata
s {$sel:globalNetworkId:UpdateNetworkResourceMetadata' :: Text
globalNetworkId = Text
a} :: UpdateNetworkResourceMetadata)

-- | The ARN of the resource.
updateNetworkResourceMetadata_resourceArn :: Lens.Lens' UpdateNetworkResourceMetadata Prelude.Text
updateNetworkResourceMetadata_resourceArn :: Lens' UpdateNetworkResourceMetadata Text
updateNetworkResourceMetadata_resourceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkResourceMetadata' {Text
resourceArn :: Text
$sel:resourceArn:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> Text
resourceArn} -> Text
resourceArn) (\s :: UpdateNetworkResourceMetadata
s@UpdateNetworkResourceMetadata' {} Text
a -> UpdateNetworkResourceMetadata
s {$sel:resourceArn:UpdateNetworkResourceMetadata' :: Text
resourceArn = Text
a} :: UpdateNetworkResourceMetadata)

-- | The resource metadata.
updateNetworkResourceMetadata_metadata :: Lens.Lens' UpdateNetworkResourceMetadata (Prelude.HashMap Prelude.Text Prelude.Text)
updateNetworkResourceMetadata_metadata :: Lens' UpdateNetworkResourceMetadata (HashMap Text Text)
updateNetworkResourceMetadata_metadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkResourceMetadata' {HashMap Text Text
metadata :: HashMap Text Text
$sel:metadata:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> HashMap Text Text
metadata} -> HashMap Text Text
metadata) (\s :: UpdateNetworkResourceMetadata
s@UpdateNetworkResourceMetadata' {} HashMap Text Text
a -> UpdateNetworkResourceMetadata
s {$sel:metadata:UpdateNetworkResourceMetadata' :: HashMap Text Text
metadata = HashMap Text Text
a} :: UpdateNetworkResourceMetadata) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

instance
  Core.AWSRequest
    UpdateNetworkResourceMetadata
  where
  type
    AWSResponse UpdateNetworkResourceMetadata =
      UpdateNetworkResourceMetadataResponse
  request :: (Service -> Service)
-> UpdateNetworkResourceMetadata
-> Request UpdateNetworkResourceMetadata
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.patchJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateNetworkResourceMetadata
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateNetworkResourceMetadata)))
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 (HashMap Text Text)
-> Maybe Text -> Int -> UpdateNetworkResourceMetadataResponse
UpdateNetworkResourceMetadataResponse'
            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
"Metadata" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            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
"ResourceArn")
            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))
      )

instance
  Prelude.Hashable
    UpdateNetworkResourceMetadata
  where
  hashWithSalt :: Int -> UpdateNetworkResourceMetadata -> Int
hashWithSalt Int
_salt UpdateNetworkResourceMetadata' {Text
HashMap Text Text
metadata :: HashMap Text Text
resourceArn :: Text
globalNetworkId :: Text
$sel:metadata:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> HashMap Text Text
$sel:resourceArn:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> Text
$sel:globalNetworkId:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
globalNetworkId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` HashMap Text Text
metadata

instance Prelude.NFData UpdateNetworkResourceMetadata where
  rnf :: UpdateNetworkResourceMetadata -> ()
rnf UpdateNetworkResourceMetadata' {Text
HashMap Text Text
metadata :: HashMap Text Text
resourceArn :: Text
globalNetworkId :: Text
$sel:metadata:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> HashMap Text Text
$sel:resourceArn:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> Text
$sel:globalNetworkId:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
globalNetworkId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf HashMap Text Text
metadata

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

instance Data.ToPath UpdateNetworkResourceMetadata where
  toPath :: UpdateNetworkResourceMetadata -> ByteString
toPath UpdateNetworkResourceMetadata' {Text
HashMap Text Text
metadata :: HashMap Text Text
resourceArn :: Text
globalNetworkId :: Text
$sel:metadata:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> HashMap Text Text
$sel:resourceArn:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> Text
$sel:globalNetworkId:UpdateNetworkResourceMetadata' :: UpdateNetworkResourceMetadata -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/global-networks/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
globalNetworkId,
        ByteString
"/network-resources/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
resourceArn,
        ByteString
"/metadata"
      ]

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

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

-- |
-- Create a value of 'UpdateNetworkResourceMetadataResponse' 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:
--
-- 'metadata', 'updateNetworkResourceMetadataResponse_metadata' - The updated resource metadata.
--
-- 'resourceArn', 'updateNetworkResourceMetadataResponse_resourceArn' - The ARN of the resource.
--
-- 'httpStatus', 'updateNetworkResourceMetadataResponse_httpStatus' - The response's http status code.
newUpdateNetworkResourceMetadataResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateNetworkResourceMetadataResponse
newUpdateNetworkResourceMetadataResponse :: Int -> UpdateNetworkResourceMetadataResponse
newUpdateNetworkResourceMetadataResponse Int
pHttpStatus_ =
  UpdateNetworkResourceMetadataResponse'
    { $sel:metadata:UpdateNetworkResourceMetadataResponse' :: Maybe (HashMap Text Text)
metadata =
        forall a. Maybe a
Prelude.Nothing,
      $sel:resourceArn:UpdateNetworkResourceMetadataResponse' :: Maybe Text
resourceArn = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateNetworkResourceMetadataResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The updated resource metadata.
updateNetworkResourceMetadataResponse_metadata :: Lens.Lens' UpdateNetworkResourceMetadataResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
updateNetworkResourceMetadataResponse_metadata :: Lens'
  UpdateNetworkResourceMetadataResponse (Maybe (HashMap Text Text))
updateNetworkResourceMetadataResponse_metadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkResourceMetadataResponse' {Maybe (HashMap Text Text)
metadata :: Maybe (HashMap Text Text)
$sel:metadata:UpdateNetworkResourceMetadataResponse' :: UpdateNetworkResourceMetadataResponse -> Maybe (HashMap Text Text)
metadata} -> Maybe (HashMap Text Text)
metadata) (\s :: UpdateNetworkResourceMetadataResponse
s@UpdateNetworkResourceMetadataResponse' {} Maybe (HashMap Text Text)
a -> UpdateNetworkResourceMetadataResponse
s {$sel:metadata:UpdateNetworkResourceMetadataResponse' :: Maybe (HashMap Text Text)
metadata = Maybe (HashMap Text Text)
a} :: UpdateNetworkResourceMetadataResponse) 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 ARN of the resource.
updateNetworkResourceMetadataResponse_resourceArn :: Lens.Lens' UpdateNetworkResourceMetadataResponse (Prelude.Maybe Prelude.Text)
updateNetworkResourceMetadataResponse_resourceArn :: Lens' UpdateNetworkResourceMetadataResponse (Maybe Text)
updateNetworkResourceMetadataResponse_resourceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkResourceMetadataResponse' {Maybe Text
resourceArn :: Maybe Text
$sel:resourceArn:UpdateNetworkResourceMetadataResponse' :: UpdateNetworkResourceMetadataResponse -> Maybe Text
resourceArn} -> Maybe Text
resourceArn) (\s :: UpdateNetworkResourceMetadataResponse
s@UpdateNetworkResourceMetadataResponse' {} Maybe Text
a -> UpdateNetworkResourceMetadataResponse
s {$sel:resourceArn:UpdateNetworkResourceMetadataResponse' :: Maybe Text
resourceArn = Maybe Text
a} :: UpdateNetworkResourceMetadataResponse)

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

instance
  Prelude.NFData
    UpdateNetworkResourceMetadataResponse
  where
  rnf :: UpdateNetworkResourceMetadataResponse -> ()
rnf UpdateNetworkResourceMetadataResponse' {Int
Maybe Text
Maybe (HashMap Text Text)
httpStatus :: Int
resourceArn :: Maybe Text
metadata :: Maybe (HashMap Text Text)
$sel:httpStatus:UpdateNetworkResourceMetadataResponse' :: UpdateNetworkResourceMetadataResponse -> Int
$sel:resourceArn:UpdateNetworkResourceMetadataResponse' :: UpdateNetworkResourceMetadataResponse -> Maybe Text
$sel:metadata:UpdateNetworkResourceMetadataResponse' :: UpdateNetworkResourceMetadataResponse -> Maybe (HashMap Text Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
metadata
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resourceArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus