{-# 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.Pinpoint.UpdateApnsVoipSandboxChannel
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Enables the APNs VoIP sandbox channel for an application or updates the
-- status and settings of the APNs VoIP sandbox channel for an application.
module Amazonka.Pinpoint.UpdateApnsVoipSandboxChannel
  ( -- * Creating a Request
    UpdateApnsVoipSandboxChannel (..),
    newUpdateApnsVoipSandboxChannel,

    -- * Request Lenses
    updateApnsVoipSandboxChannel_applicationId,
    updateApnsVoipSandboxChannel_aPNSVoipSandboxChannelRequest,

    -- * Destructuring the Response
    UpdateApnsVoipSandboxChannelResponse (..),
    newUpdateApnsVoipSandboxChannelResponse,

    -- * Response Lenses
    updateApnsVoipSandboxChannelResponse_httpStatus,
    updateApnsVoipSandboxChannelResponse_aPNSVoipSandboxChannelResponse,
  )
where

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

-- | /See:/ 'newUpdateApnsVoipSandboxChannel' smart constructor.
data UpdateApnsVoipSandboxChannel = UpdateApnsVoipSandboxChannel'
  { -- | The unique identifier for the application. This identifier is displayed
    -- as the __Project ID__ on the Amazon Pinpoint console.
    UpdateApnsVoipSandboxChannel -> Text
applicationId :: Prelude.Text,
    UpdateApnsVoipSandboxChannel -> APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest :: APNSVoipSandboxChannelRequest
  }
  deriving (UpdateApnsVoipSandboxChannel
-> UpdateApnsVoipSandboxChannel -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateApnsVoipSandboxChannel
-> UpdateApnsVoipSandboxChannel -> Bool
$c/= :: UpdateApnsVoipSandboxChannel
-> UpdateApnsVoipSandboxChannel -> Bool
== :: UpdateApnsVoipSandboxChannel
-> UpdateApnsVoipSandboxChannel -> Bool
$c== :: UpdateApnsVoipSandboxChannel
-> UpdateApnsVoipSandboxChannel -> Bool
Prelude.Eq, ReadPrec [UpdateApnsVoipSandboxChannel]
ReadPrec UpdateApnsVoipSandboxChannel
Int -> ReadS UpdateApnsVoipSandboxChannel
ReadS [UpdateApnsVoipSandboxChannel]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateApnsVoipSandboxChannel]
$creadListPrec :: ReadPrec [UpdateApnsVoipSandboxChannel]
readPrec :: ReadPrec UpdateApnsVoipSandboxChannel
$creadPrec :: ReadPrec UpdateApnsVoipSandboxChannel
readList :: ReadS [UpdateApnsVoipSandboxChannel]
$creadList :: ReadS [UpdateApnsVoipSandboxChannel]
readsPrec :: Int -> ReadS UpdateApnsVoipSandboxChannel
$creadsPrec :: Int -> ReadS UpdateApnsVoipSandboxChannel
Prelude.Read, Int -> UpdateApnsVoipSandboxChannel -> ShowS
[UpdateApnsVoipSandboxChannel] -> ShowS
UpdateApnsVoipSandboxChannel -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateApnsVoipSandboxChannel] -> ShowS
$cshowList :: [UpdateApnsVoipSandboxChannel] -> ShowS
show :: UpdateApnsVoipSandboxChannel -> String
$cshow :: UpdateApnsVoipSandboxChannel -> String
showsPrec :: Int -> UpdateApnsVoipSandboxChannel -> ShowS
$cshowsPrec :: Int -> UpdateApnsVoipSandboxChannel -> ShowS
Prelude.Show, forall x.
Rep UpdateApnsVoipSandboxChannel x -> UpdateApnsVoipSandboxChannel
forall x.
UpdateApnsVoipSandboxChannel -> Rep UpdateApnsVoipSandboxChannel x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateApnsVoipSandboxChannel x -> UpdateApnsVoipSandboxChannel
$cfrom :: forall x.
UpdateApnsVoipSandboxChannel -> Rep UpdateApnsVoipSandboxChannel x
Prelude.Generic)

-- |
-- Create a value of 'UpdateApnsVoipSandboxChannel' 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:
--
-- 'applicationId', 'updateApnsVoipSandboxChannel_applicationId' - The unique identifier for the application. This identifier is displayed
-- as the __Project ID__ on the Amazon Pinpoint console.
--
-- 'aPNSVoipSandboxChannelRequest', 'updateApnsVoipSandboxChannel_aPNSVoipSandboxChannelRequest' - Undocumented member.
newUpdateApnsVoipSandboxChannel ::
  -- | 'applicationId'
  Prelude.Text ->
  -- | 'aPNSVoipSandboxChannelRequest'
  APNSVoipSandboxChannelRequest ->
  UpdateApnsVoipSandboxChannel
newUpdateApnsVoipSandboxChannel :: Text
-> APNSVoipSandboxChannelRequest -> UpdateApnsVoipSandboxChannel
newUpdateApnsVoipSandboxChannel
  Text
pApplicationId_
  APNSVoipSandboxChannelRequest
pAPNSVoipSandboxChannelRequest_ =
    UpdateApnsVoipSandboxChannel'
      { $sel:applicationId:UpdateApnsVoipSandboxChannel' :: Text
applicationId =
          Text
pApplicationId_,
        $sel:aPNSVoipSandboxChannelRequest:UpdateApnsVoipSandboxChannel' :: APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest =
          APNSVoipSandboxChannelRequest
pAPNSVoipSandboxChannelRequest_
      }

-- | The unique identifier for the application. This identifier is displayed
-- as the __Project ID__ on the Amazon Pinpoint console.
updateApnsVoipSandboxChannel_applicationId :: Lens.Lens' UpdateApnsVoipSandboxChannel Prelude.Text
updateApnsVoipSandboxChannel_applicationId :: Lens' UpdateApnsVoipSandboxChannel Text
updateApnsVoipSandboxChannel_applicationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApnsVoipSandboxChannel' {Text
applicationId :: Text
$sel:applicationId:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> Text
applicationId} -> Text
applicationId) (\s :: UpdateApnsVoipSandboxChannel
s@UpdateApnsVoipSandboxChannel' {} Text
a -> UpdateApnsVoipSandboxChannel
s {$sel:applicationId:UpdateApnsVoipSandboxChannel' :: Text
applicationId = Text
a} :: UpdateApnsVoipSandboxChannel)

-- | Undocumented member.
updateApnsVoipSandboxChannel_aPNSVoipSandboxChannelRequest :: Lens.Lens' UpdateApnsVoipSandboxChannel APNSVoipSandboxChannelRequest
updateApnsVoipSandboxChannel_aPNSVoipSandboxChannelRequest :: Lens' UpdateApnsVoipSandboxChannel APNSVoipSandboxChannelRequest
updateApnsVoipSandboxChannel_aPNSVoipSandboxChannelRequest = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApnsVoipSandboxChannel' {APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest :: APNSVoipSandboxChannelRequest
$sel:aPNSVoipSandboxChannelRequest:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest} -> APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest) (\s :: UpdateApnsVoipSandboxChannel
s@UpdateApnsVoipSandboxChannel' {} APNSVoipSandboxChannelRequest
a -> UpdateApnsVoipSandboxChannel
s {$sel:aPNSVoipSandboxChannelRequest:UpdateApnsVoipSandboxChannel' :: APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest = APNSVoipSandboxChannelRequest
a} :: UpdateApnsVoipSandboxChannel)

instance Core.AWSRequest UpdateApnsVoipSandboxChannel where
  type
    AWSResponse UpdateApnsVoipSandboxChannel =
      UpdateApnsVoipSandboxChannelResponse
  request :: (Service -> Service)
-> UpdateApnsVoipSandboxChannel
-> Request UpdateApnsVoipSandboxChannel
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 UpdateApnsVoipSandboxChannel
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateApnsVoipSandboxChannel)))
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 ->
          Int
-> APNSVoipSandboxChannelResponse
-> UpdateApnsVoipSandboxChannelResponse
UpdateApnsVoipSandboxChannelResponse'
            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))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
      )

instance
  Prelude.Hashable
    UpdateApnsVoipSandboxChannel
  where
  hashWithSalt :: Int -> UpdateApnsVoipSandboxChannel -> Int
hashWithSalt Int
_salt UpdateApnsVoipSandboxChannel' {Text
APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest :: APNSVoipSandboxChannelRequest
applicationId :: Text
$sel:aPNSVoipSandboxChannelRequest:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> APNSVoipSandboxChannelRequest
$sel:applicationId:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest

instance Prelude.NFData UpdateApnsVoipSandboxChannel where
  rnf :: UpdateApnsVoipSandboxChannel -> ()
rnf UpdateApnsVoipSandboxChannel' {Text
APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest :: APNSVoipSandboxChannelRequest
applicationId :: Text
$sel:aPNSVoipSandboxChannelRequest:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> APNSVoipSandboxChannelRequest
$sel:applicationId:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
applicationId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest

instance Data.ToHeaders UpdateApnsVoipSandboxChannel where
  toHeaders :: UpdateApnsVoipSandboxChannel -> 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 UpdateApnsVoipSandboxChannel where
  toJSON :: UpdateApnsVoipSandboxChannel -> Value
toJSON UpdateApnsVoipSandboxChannel' {Text
APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest :: APNSVoipSandboxChannelRequest
applicationId :: Text
$sel:aPNSVoipSandboxChannelRequest:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> APNSVoipSandboxChannelRequest
$sel:applicationId:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> Text
..} =
    forall a. ToJSON a => a -> Value
Data.toJSON APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest

instance Data.ToPath UpdateApnsVoipSandboxChannel where
  toPath :: UpdateApnsVoipSandboxChannel -> ByteString
toPath UpdateApnsVoipSandboxChannel' {Text
APNSVoipSandboxChannelRequest
aPNSVoipSandboxChannelRequest :: APNSVoipSandboxChannelRequest
applicationId :: Text
$sel:aPNSVoipSandboxChannelRequest:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> APNSVoipSandboxChannelRequest
$sel:applicationId:UpdateApnsVoipSandboxChannel' :: UpdateApnsVoipSandboxChannel -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/v1/apps/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
applicationId,
        ByteString
"/channels/apns_voip_sandbox"
      ]

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

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

-- |
-- Create a value of 'UpdateApnsVoipSandboxChannelResponse' 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', 'updateApnsVoipSandboxChannelResponse_httpStatus' - The response's http status code.
--
-- 'aPNSVoipSandboxChannelResponse', 'updateApnsVoipSandboxChannelResponse_aPNSVoipSandboxChannelResponse' - Undocumented member.
newUpdateApnsVoipSandboxChannelResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'aPNSVoipSandboxChannelResponse'
  APNSVoipSandboxChannelResponse ->
  UpdateApnsVoipSandboxChannelResponse
newUpdateApnsVoipSandboxChannelResponse :: Int
-> APNSVoipSandboxChannelResponse
-> UpdateApnsVoipSandboxChannelResponse
newUpdateApnsVoipSandboxChannelResponse
  Int
pHttpStatus_
  APNSVoipSandboxChannelResponse
pAPNSVoipSandboxChannelResponse_ =
    UpdateApnsVoipSandboxChannelResponse'
      { $sel:httpStatus:UpdateApnsVoipSandboxChannelResponse' :: Int
httpStatus =
          Int
pHttpStatus_,
        $sel:aPNSVoipSandboxChannelResponse:UpdateApnsVoipSandboxChannelResponse' :: APNSVoipSandboxChannelResponse
aPNSVoipSandboxChannelResponse =
          APNSVoipSandboxChannelResponse
pAPNSVoipSandboxChannelResponse_
      }

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

-- | Undocumented member.
updateApnsVoipSandboxChannelResponse_aPNSVoipSandboxChannelResponse :: Lens.Lens' UpdateApnsVoipSandboxChannelResponse APNSVoipSandboxChannelResponse
updateApnsVoipSandboxChannelResponse_aPNSVoipSandboxChannelResponse :: Lens'
  UpdateApnsVoipSandboxChannelResponse APNSVoipSandboxChannelResponse
updateApnsVoipSandboxChannelResponse_aPNSVoipSandboxChannelResponse = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApnsVoipSandboxChannelResponse' {APNSVoipSandboxChannelResponse
aPNSVoipSandboxChannelResponse :: APNSVoipSandboxChannelResponse
$sel:aPNSVoipSandboxChannelResponse:UpdateApnsVoipSandboxChannelResponse' :: UpdateApnsVoipSandboxChannelResponse
-> APNSVoipSandboxChannelResponse
aPNSVoipSandboxChannelResponse} -> APNSVoipSandboxChannelResponse
aPNSVoipSandboxChannelResponse) (\s :: UpdateApnsVoipSandboxChannelResponse
s@UpdateApnsVoipSandboxChannelResponse' {} APNSVoipSandboxChannelResponse
a -> UpdateApnsVoipSandboxChannelResponse
s {$sel:aPNSVoipSandboxChannelResponse:UpdateApnsVoipSandboxChannelResponse' :: APNSVoipSandboxChannelResponse
aPNSVoipSandboxChannelResponse = APNSVoipSandboxChannelResponse
a} :: UpdateApnsVoipSandboxChannelResponse)

instance
  Prelude.NFData
    UpdateApnsVoipSandboxChannelResponse
  where
  rnf :: UpdateApnsVoipSandboxChannelResponse -> ()
rnf UpdateApnsVoipSandboxChannelResponse' {Int
APNSVoipSandboxChannelResponse
aPNSVoipSandboxChannelResponse :: APNSVoipSandboxChannelResponse
httpStatus :: Int
$sel:aPNSVoipSandboxChannelResponse:UpdateApnsVoipSandboxChannelResponse' :: UpdateApnsVoipSandboxChannelResponse
-> APNSVoipSandboxChannelResponse
$sel:httpStatus:UpdateApnsVoipSandboxChannelResponse' :: UpdateApnsVoipSandboxChannelResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf APNSVoipSandboxChannelResponse
aPNSVoipSandboxChannelResponse