{-# 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.ChimeSdkVoice.PutVoiceConnectorProxy
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- -- | Undocumented operation.
module Amazonka.ChimeSdkVoice.PutVoiceConnectorProxy
  ( -- * Creating a Request
    PutVoiceConnectorProxy (..),
    newPutVoiceConnectorProxy,

    -- * Request Lenses
    putVoiceConnectorProxy_disabled,
    putVoiceConnectorProxy_fallBackPhoneNumber,
    putVoiceConnectorProxy_defaultSessionExpiryMinutes,
    putVoiceConnectorProxy_phoneNumberPoolCountries,
    putVoiceConnectorProxy_voiceConnectorId,

    -- * Destructuring the Response
    PutVoiceConnectorProxyResponse (..),
    newPutVoiceConnectorProxyResponse,

    -- * Response Lenses
    putVoiceConnectorProxyResponse_proxy,
    putVoiceConnectorProxyResponse_httpStatus,
  )
where

import Amazonka.ChimeSdkVoice.Types
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

-- | /See:/ 'newPutVoiceConnectorProxy' smart constructor.
data PutVoiceConnectorProxy = PutVoiceConnectorProxy'
  { PutVoiceConnectorProxy -> Maybe Bool
disabled :: Prelude.Maybe Prelude.Bool,
    PutVoiceConnectorProxy -> Maybe (Sensitive Text)
fallBackPhoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    PutVoiceConnectorProxy -> Int
defaultSessionExpiryMinutes :: Prelude.Int,
    PutVoiceConnectorProxy -> NonEmpty Text
phoneNumberPoolCountries :: Prelude.NonEmpty Prelude.Text,
    PutVoiceConnectorProxy -> Text
voiceConnectorId :: Prelude.Text
  }
  deriving (PutVoiceConnectorProxy -> PutVoiceConnectorProxy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutVoiceConnectorProxy -> PutVoiceConnectorProxy -> Bool
$c/= :: PutVoiceConnectorProxy -> PutVoiceConnectorProxy -> Bool
== :: PutVoiceConnectorProxy -> PutVoiceConnectorProxy -> Bool
$c== :: PutVoiceConnectorProxy -> PutVoiceConnectorProxy -> Bool
Prelude.Eq, Int -> PutVoiceConnectorProxy -> ShowS
[PutVoiceConnectorProxy] -> ShowS
PutVoiceConnectorProxy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutVoiceConnectorProxy] -> ShowS
$cshowList :: [PutVoiceConnectorProxy] -> ShowS
show :: PutVoiceConnectorProxy -> String
$cshow :: PutVoiceConnectorProxy -> String
showsPrec :: Int -> PutVoiceConnectorProxy -> ShowS
$cshowsPrec :: Int -> PutVoiceConnectorProxy -> ShowS
Prelude.Show, forall x. Rep PutVoiceConnectorProxy x -> PutVoiceConnectorProxy
forall x. PutVoiceConnectorProxy -> Rep PutVoiceConnectorProxy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutVoiceConnectorProxy x -> PutVoiceConnectorProxy
$cfrom :: forall x. PutVoiceConnectorProxy -> Rep PutVoiceConnectorProxy x
Prelude.Generic)

-- |
-- Create a value of 'PutVoiceConnectorProxy' 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:
--
-- 'disabled', 'putVoiceConnectorProxy_disabled' - Undocumented member.
--
-- 'fallBackPhoneNumber', 'putVoiceConnectorProxy_fallBackPhoneNumber' - Undocumented member.
--
-- 'defaultSessionExpiryMinutes', 'putVoiceConnectorProxy_defaultSessionExpiryMinutes' - Undocumented member.
--
-- 'phoneNumberPoolCountries', 'putVoiceConnectorProxy_phoneNumberPoolCountries' - Undocumented member.
--
-- 'voiceConnectorId', 'putVoiceConnectorProxy_voiceConnectorId' - Undocumented member.
newPutVoiceConnectorProxy ::
  -- | 'defaultSessionExpiryMinutes'
  Prelude.Int ->
  -- | 'phoneNumberPoolCountries'
  Prelude.NonEmpty Prelude.Text ->
  -- | 'voiceConnectorId'
  Prelude.Text ->
  PutVoiceConnectorProxy
newPutVoiceConnectorProxy :: Int -> NonEmpty Text -> Text -> PutVoiceConnectorProxy
newPutVoiceConnectorProxy
  Int
pDefaultSessionExpiryMinutes_
  NonEmpty Text
pPhoneNumberPoolCountries_
  Text
pVoiceConnectorId_ =
    PutVoiceConnectorProxy'
      { $sel:disabled:PutVoiceConnectorProxy' :: Maybe Bool
disabled = forall a. Maybe a
Prelude.Nothing,
        $sel:fallBackPhoneNumber:PutVoiceConnectorProxy' :: Maybe (Sensitive Text)
fallBackPhoneNumber = forall a. Maybe a
Prelude.Nothing,
        $sel:defaultSessionExpiryMinutes:PutVoiceConnectorProxy' :: Int
defaultSessionExpiryMinutes =
          Int
pDefaultSessionExpiryMinutes_,
        $sel:phoneNumberPoolCountries:PutVoiceConnectorProxy' :: NonEmpty Text
phoneNumberPoolCountries =
          forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty Text
pPhoneNumberPoolCountries_,
        $sel:voiceConnectorId:PutVoiceConnectorProxy' :: Text
voiceConnectorId = Text
pVoiceConnectorId_
      }

-- | Undocumented member.
putVoiceConnectorProxy_disabled :: Lens.Lens' PutVoiceConnectorProxy (Prelude.Maybe Prelude.Bool)
putVoiceConnectorProxy_disabled :: Lens' PutVoiceConnectorProxy (Maybe Bool)
putVoiceConnectorProxy_disabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutVoiceConnectorProxy' {Maybe Bool
disabled :: Maybe Bool
$sel:disabled:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe Bool
disabled} -> Maybe Bool
disabled) (\s :: PutVoiceConnectorProxy
s@PutVoiceConnectorProxy' {} Maybe Bool
a -> PutVoiceConnectorProxy
s {$sel:disabled:PutVoiceConnectorProxy' :: Maybe Bool
disabled = Maybe Bool
a} :: PutVoiceConnectorProxy)

-- | Undocumented member.
putVoiceConnectorProxy_fallBackPhoneNumber :: Lens.Lens' PutVoiceConnectorProxy (Prelude.Maybe Prelude.Text)
putVoiceConnectorProxy_fallBackPhoneNumber :: Lens' PutVoiceConnectorProxy (Maybe Text)
putVoiceConnectorProxy_fallBackPhoneNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutVoiceConnectorProxy' {Maybe (Sensitive Text)
fallBackPhoneNumber :: Maybe (Sensitive Text)
$sel:fallBackPhoneNumber:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe (Sensitive Text)
fallBackPhoneNumber} -> Maybe (Sensitive Text)
fallBackPhoneNumber) (\s :: PutVoiceConnectorProxy
s@PutVoiceConnectorProxy' {} Maybe (Sensitive Text)
a -> PutVoiceConnectorProxy
s {$sel:fallBackPhoneNumber:PutVoiceConnectorProxy' :: Maybe (Sensitive Text)
fallBackPhoneNumber = Maybe (Sensitive Text)
a} :: PutVoiceConnectorProxy) 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 a. Iso' (Sensitive a) a
Data._Sensitive

-- | Undocumented member.
putVoiceConnectorProxy_defaultSessionExpiryMinutes :: Lens.Lens' PutVoiceConnectorProxy Prelude.Int
putVoiceConnectorProxy_defaultSessionExpiryMinutes :: Lens' PutVoiceConnectorProxy Int
putVoiceConnectorProxy_defaultSessionExpiryMinutes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutVoiceConnectorProxy' {Int
defaultSessionExpiryMinutes :: Int
$sel:defaultSessionExpiryMinutes:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Int
defaultSessionExpiryMinutes} -> Int
defaultSessionExpiryMinutes) (\s :: PutVoiceConnectorProxy
s@PutVoiceConnectorProxy' {} Int
a -> PutVoiceConnectorProxy
s {$sel:defaultSessionExpiryMinutes:PutVoiceConnectorProxy' :: Int
defaultSessionExpiryMinutes = Int
a} :: PutVoiceConnectorProxy)

-- | Undocumented member.
putVoiceConnectorProxy_phoneNumberPoolCountries :: Lens.Lens' PutVoiceConnectorProxy (Prelude.NonEmpty Prelude.Text)
putVoiceConnectorProxy_phoneNumberPoolCountries :: Lens' PutVoiceConnectorProxy (NonEmpty Text)
putVoiceConnectorProxy_phoneNumberPoolCountries = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutVoiceConnectorProxy' {NonEmpty Text
phoneNumberPoolCountries :: NonEmpty Text
$sel:phoneNumberPoolCountries:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> NonEmpty Text
phoneNumberPoolCountries} -> NonEmpty Text
phoneNumberPoolCountries) (\s :: PutVoiceConnectorProxy
s@PutVoiceConnectorProxy' {} NonEmpty Text
a -> PutVoiceConnectorProxy
s {$sel:phoneNumberPoolCountries:PutVoiceConnectorProxy' :: NonEmpty Text
phoneNumberPoolCountries = NonEmpty Text
a} :: PutVoiceConnectorProxy) 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

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

instance Core.AWSRequest PutVoiceConnectorProxy where
  type
    AWSResponse PutVoiceConnectorProxy =
      PutVoiceConnectorProxyResponse
  request :: (Service -> Service)
-> PutVoiceConnectorProxy -> Request PutVoiceConnectorProxy
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy PutVoiceConnectorProxy
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse PutVoiceConnectorProxy)))
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 Proxy -> Int -> PutVoiceConnectorProxyResponse
PutVoiceConnectorProxyResponse'
            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
"Proxy")
            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 PutVoiceConnectorProxy where
  hashWithSalt :: Int -> PutVoiceConnectorProxy -> Int
hashWithSalt Int
_salt PutVoiceConnectorProxy' {Int
Maybe Bool
Maybe (Sensitive Text)
NonEmpty Text
Text
voiceConnectorId :: Text
phoneNumberPoolCountries :: NonEmpty Text
defaultSessionExpiryMinutes :: Int
fallBackPhoneNumber :: Maybe (Sensitive Text)
disabled :: Maybe Bool
$sel:voiceConnectorId:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Text
$sel:phoneNumberPoolCountries:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> NonEmpty Text
$sel:defaultSessionExpiryMinutes:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Int
$sel:fallBackPhoneNumber:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe (Sensitive Text)
$sel:disabled:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe Bool
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
disabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
fallBackPhoneNumber
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Int
defaultSessionExpiryMinutes
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty Text
phoneNumberPoolCountries
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
voiceConnectorId

instance Prelude.NFData PutVoiceConnectorProxy where
  rnf :: PutVoiceConnectorProxy -> ()
rnf PutVoiceConnectorProxy' {Int
Maybe Bool
Maybe (Sensitive Text)
NonEmpty Text
Text
voiceConnectorId :: Text
phoneNumberPoolCountries :: NonEmpty Text
defaultSessionExpiryMinutes :: Int
fallBackPhoneNumber :: Maybe (Sensitive Text)
disabled :: Maybe Bool
$sel:voiceConnectorId:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Text
$sel:phoneNumberPoolCountries:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> NonEmpty Text
$sel:defaultSessionExpiryMinutes:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Int
$sel:fallBackPhoneNumber:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe (Sensitive Text)
$sel:disabled:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
disabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
fallBackPhoneNumber
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
defaultSessionExpiryMinutes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty Text
phoneNumberPoolCountries
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
voiceConnectorId

instance Data.ToHeaders PutVoiceConnectorProxy where
  toHeaders :: PutVoiceConnectorProxy -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToJSON PutVoiceConnectorProxy where
  toJSON :: PutVoiceConnectorProxy -> Value
toJSON PutVoiceConnectorProxy' {Int
Maybe Bool
Maybe (Sensitive Text)
NonEmpty Text
Text
voiceConnectorId :: Text
phoneNumberPoolCountries :: NonEmpty Text
defaultSessionExpiryMinutes :: Int
fallBackPhoneNumber :: Maybe (Sensitive Text)
disabled :: Maybe Bool
$sel:voiceConnectorId:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Text
$sel:phoneNumberPoolCountries:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> NonEmpty Text
$sel:defaultSessionExpiryMinutes:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Int
$sel:fallBackPhoneNumber:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe (Sensitive Text)
$sel:disabled:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe Bool
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Disabled" 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
disabled,
            (Key
"FallBackPhoneNumber" 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 (Sensitive Text)
fallBackPhoneNumber,
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"DefaultSessionExpiryMinutes"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Int
defaultSessionExpiryMinutes
              ),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"PhoneNumberPoolCountries"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty Text
phoneNumberPoolCountries
              )
          ]
      )

instance Data.ToPath PutVoiceConnectorProxy where
  toPath :: PutVoiceConnectorProxy -> ByteString
toPath PutVoiceConnectorProxy' {Int
Maybe Bool
Maybe (Sensitive Text)
NonEmpty Text
Text
voiceConnectorId :: Text
phoneNumberPoolCountries :: NonEmpty Text
defaultSessionExpiryMinutes :: Int
fallBackPhoneNumber :: Maybe (Sensitive Text)
disabled :: Maybe Bool
$sel:voiceConnectorId:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Text
$sel:phoneNumberPoolCountries:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> NonEmpty Text
$sel:defaultSessionExpiryMinutes:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Int
$sel:fallBackPhoneNumber:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe (Sensitive Text)
$sel:disabled:PutVoiceConnectorProxy' :: PutVoiceConnectorProxy -> Maybe Bool
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/voice-connectors/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
voiceConnectorId,
        ByteString
"/programmable-numbers/proxy"
      ]

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

-- | /See:/ 'newPutVoiceConnectorProxyResponse' smart constructor.
data PutVoiceConnectorProxyResponse = PutVoiceConnectorProxyResponse'
  { PutVoiceConnectorProxyResponse -> Maybe Proxy
proxy :: Prelude.Maybe Proxy,
    -- | The response's http status code.
    PutVoiceConnectorProxyResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (PutVoiceConnectorProxyResponse
-> PutVoiceConnectorProxyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutVoiceConnectorProxyResponse
-> PutVoiceConnectorProxyResponse -> Bool
$c/= :: PutVoiceConnectorProxyResponse
-> PutVoiceConnectorProxyResponse -> Bool
== :: PutVoiceConnectorProxyResponse
-> PutVoiceConnectorProxyResponse -> Bool
$c== :: PutVoiceConnectorProxyResponse
-> PutVoiceConnectorProxyResponse -> Bool
Prelude.Eq, Int -> PutVoiceConnectorProxyResponse -> ShowS
[PutVoiceConnectorProxyResponse] -> ShowS
PutVoiceConnectorProxyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutVoiceConnectorProxyResponse] -> ShowS
$cshowList :: [PutVoiceConnectorProxyResponse] -> ShowS
show :: PutVoiceConnectorProxyResponse -> String
$cshow :: PutVoiceConnectorProxyResponse -> String
showsPrec :: Int -> PutVoiceConnectorProxyResponse -> ShowS
$cshowsPrec :: Int -> PutVoiceConnectorProxyResponse -> ShowS
Prelude.Show, forall x.
Rep PutVoiceConnectorProxyResponse x
-> PutVoiceConnectorProxyResponse
forall x.
PutVoiceConnectorProxyResponse
-> Rep PutVoiceConnectorProxyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutVoiceConnectorProxyResponse x
-> PutVoiceConnectorProxyResponse
$cfrom :: forall x.
PutVoiceConnectorProxyResponse
-> Rep PutVoiceConnectorProxyResponse x
Prelude.Generic)

-- |
-- Create a value of 'PutVoiceConnectorProxyResponse' 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:
--
-- 'proxy', 'putVoiceConnectorProxyResponse_proxy' - Undocumented member.
--
-- 'httpStatus', 'putVoiceConnectorProxyResponse_httpStatus' - The response's http status code.
newPutVoiceConnectorProxyResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  PutVoiceConnectorProxyResponse
newPutVoiceConnectorProxyResponse :: Int -> PutVoiceConnectorProxyResponse
newPutVoiceConnectorProxyResponse Int
pHttpStatus_ =
  PutVoiceConnectorProxyResponse'
    { $sel:proxy:PutVoiceConnectorProxyResponse' :: Maybe Proxy
proxy =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:PutVoiceConnectorProxyResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Undocumented member.
putVoiceConnectorProxyResponse_proxy :: Lens.Lens' PutVoiceConnectorProxyResponse (Prelude.Maybe Proxy)
putVoiceConnectorProxyResponse_proxy :: Lens' PutVoiceConnectorProxyResponse (Maybe Proxy)
putVoiceConnectorProxyResponse_proxy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutVoiceConnectorProxyResponse' {Maybe Proxy
proxy :: Maybe Proxy
$sel:proxy:PutVoiceConnectorProxyResponse' :: PutVoiceConnectorProxyResponse -> Maybe Proxy
proxy} -> Maybe Proxy
proxy) (\s :: PutVoiceConnectorProxyResponse
s@PutVoiceConnectorProxyResponse' {} Maybe Proxy
a -> PutVoiceConnectorProxyResponse
s {$sel:proxy:PutVoiceConnectorProxyResponse' :: Maybe Proxy
proxy = Maybe Proxy
a} :: PutVoiceConnectorProxyResponse)

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

instance
  Prelude.NFData
    PutVoiceConnectorProxyResponse
  where
  rnf :: PutVoiceConnectorProxyResponse -> ()
rnf PutVoiceConnectorProxyResponse' {Int
Maybe Proxy
httpStatus :: Int
proxy :: Maybe Proxy
$sel:httpStatus:PutVoiceConnectorProxyResponse' :: PutVoiceConnectorProxyResponse -> Int
$sel:proxy:PutVoiceConnectorProxyResponse' :: PutVoiceConnectorProxyResponse -> Maybe Proxy
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Proxy
proxy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus