{-# 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.CloudFront.UpdateStreamingDistribution
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Update a streaming distribution.
module Amazonka.CloudFront.UpdateStreamingDistribution
  ( -- * Creating a Request
    UpdateStreamingDistribution (..),
    newUpdateStreamingDistribution,

    -- * Request Lenses
    updateStreamingDistribution_ifMatch,
    updateStreamingDistribution_streamingDistributionConfig,
    updateStreamingDistribution_id,

    -- * Destructuring the Response
    UpdateStreamingDistributionResponse (..),
    newUpdateStreamingDistributionResponse,

    -- * Response Lenses
    updateStreamingDistributionResponse_eTag,
    updateStreamingDistributionResponse_streamingDistribution,
    updateStreamingDistributionResponse_httpStatus,
  )
where

import Amazonka.CloudFront.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

-- | The request to update a streaming distribution.
--
-- /See:/ 'newUpdateStreamingDistribution' smart constructor.
data UpdateStreamingDistribution = UpdateStreamingDistribution'
  { -- | The value of the @ETag@ header that you received when retrieving the
    -- streaming distribution\'s configuration. For example: @E2QWRUHAPOMQZL@.
    UpdateStreamingDistribution -> Maybe Text
ifMatch :: Prelude.Maybe Prelude.Text,
    -- | The streaming distribution\'s configuration information.
    UpdateStreamingDistribution -> StreamingDistributionConfig
streamingDistributionConfig :: StreamingDistributionConfig,
    -- | The streaming distribution\'s id.
    UpdateStreamingDistribution -> Text
id :: Prelude.Text
  }
  deriving (UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
$c/= :: UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
== :: UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
$c== :: UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
Prelude.Eq, ReadPrec [UpdateStreamingDistribution]
ReadPrec UpdateStreamingDistribution
Int -> ReadS UpdateStreamingDistribution
ReadS [UpdateStreamingDistribution]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateStreamingDistribution]
$creadListPrec :: ReadPrec [UpdateStreamingDistribution]
readPrec :: ReadPrec UpdateStreamingDistribution
$creadPrec :: ReadPrec UpdateStreamingDistribution
readList :: ReadS [UpdateStreamingDistribution]
$creadList :: ReadS [UpdateStreamingDistribution]
readsPrec :: Int -> ReadS UpdateStreamingDistribution
$creadsPrec :: Int -> ReadS UpdateStreamingDistribution
Prelude.Read, Int -> UpdateStreamingDistribution -> ShowS
[UpdateStreamingDistribution] -> ShowS
UpdateStreamingDistribution -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateStreamingDistribution] -> ShowS
$cshowList :: [UpdateStreamingDistribution] -> ShowS
show :: UpdateStreamingDistribution -> String
$cshow :: UpdateStreamingDistribution -> String
showsPrec :: Int -> UpdateStreamingDistribution -> ShowS
$cshowsPrec :: Int -> UpdateStreamingDistribution -> ShowS
Prelude.Show, forall x.
Rep UpdateStreamingDistribution x -> UpdateStreamingDistribution
forall x.
UpdateStreamingDistribution -> Rep UpdateStreamingDistribution x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateStreamingDistribution x -> UpdateStreamingDistribution
$cfrom :: forall x.
UpdateStreamingDistribution -> Rep UpdateStreamingDistribution x
Prelude.Generic)

-- |
-- Create a value of 'UpdateStreamingDistribution' 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:
--
-- 'ifMatch', 'updateStreamingDistribution_ifMatch' - The value of the @ETag@ header that you received when retrieving the
-- streaming distribution\'s configuration. For example: @E2QWRUHAPOMQZL@.
--
-- 'streamingDistributionConfig', 'updateStreamingDistribution_streamingDistributionConfig' - The streaming distribution\'s configuration information.
--
-- 'id', 'updateStreamingDistribution_id' - The streaming distribution\'s id.
newUpdateStreamingDistribution ::
  -- | 'streamingDistributionConfig'
  StreamingDistributionConfig ->
  -- | 'id'
  Prelude.Text ->
  UpdateStreamingDistribution
newUpdateStreamingDistribution :: StreamingDistributionConfig -> Text -> UpdateStreamingDistribution
newUpdateStreamingDistribution
  StreamingDistributionConfig
pStreamingDistributionConfig_
  Text
pId_ =
    UpdateStreamingDistribution'
      { $sel:ifMatch:UpdateStreamingDistribution' :: Maybe Text
ifMatch =
          forall a. Maybe a
Prelude.Nothing,
        $sel:streamingDistributionConfig:UpdateStreamingDistribution' :: StreamingDistributionConfig
streamingDistributionConfig =
          StreamingDistributionConfig
pStreamingDistributionConfig_,
        $sel:id:UpdateStreamingDistribution' :: Text
id = Text
pId_
      }

-- | The value of the @ETag@ header that you received when retrieving the
-- streaming distribution\'s configuration. For example: @E2QWRUHAPOMQZL@.
updateStreamingDistribution_ifMatch :: Lens.Lens' UpdateStreamingDistribution (Prelude.Maybe Prelude.Text)
updateStreamingDistribution_ifMatch :: Lens' UpdateStreamingDistribution (Maybe Text)
updateStreamingDistribution_ifMatch = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistribution' {Maybe Text
ifMatch :: Maybe Text
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
ifMatch} -> Maybe Text
ifMatch) (\s :: UpdateStreamingDistribution
s@UpdateStreamingDistribution' {} Maybe Text
a -> UpdateStreamingDistribution
s {$sel:ifMatch:UpdateStreamingDistribution' :: Maybe Text
ifMatch = Maybe Text
a} :: UpdateStreamingDistribution)

-- | The streaming distribution\'s configuration information.
updateStreamingDistribution_streamingDistributionConfig :: Lens.Lens' UpdateStreamingDistribution StreamingDistributionConfig
updateStreamingDistribution_streamingDistributionConfig :: Lens' UpdateStreamingDistribution StreamingDistributionConfig
updateStreamingDistribution_streamingDistributionConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistribution' {StreamingDistributionConfig
streamingDistributionConfig :: StreamingDistributionConfig
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
streamingDistributionConfig} -> StreamingDistributionConfig
streamingDistributionConfig) (\s :: UpdateStreamingDistribution
s@UpdateStreamingDistribution' {} StreamingDistributionConfig
a -> UpdateStreamingDistribution
s {$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: StreamingDistributionConfig
streamingDistributionConfig = StreamingDistributionConfig
a} :: UpdateStreamingDistribution)

-- | The streaming distribution\'s id.
updateStreamingDistribution_id :: Lens.Lens' UpdateStreamingDistribution Prelude.Text
updateStreamingDistribution_id :: Lens' UpdateStreamingDistribution Text
updateStreamingDistribution_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistribution' {Text
id :: Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
id} -> Text
id) (\s :: UpdateStreamingDistribution
s@UpdateStreamingDistribution' {} Text
a -> UpdateStreamingDistribution
s {$sel:id:UpdateStreamingDistribution' :: Text
id = Text
a} :: UpdateStreamingDistribution)

instance Core.AWSRequest UpdateStreamingDistribution where
  type
    AWSResponse UpdateStreamingDistribution =
      UpdateStreamingDistributionResponse
  request :: (Service -> Service)
-> UpdateStreamingDistribution
-> Request UpdateStreamingDistribution
request Service -> Service
overrides =
    forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.putXML (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateStreamingDistribution
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateStreamingDistribution)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe Text
-> Maybe StreamingDistribution
-> Int
-> UpdateStreamingDistributionResponse
UpdateStreamingDistributionResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"ETag")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall a. FromXML a => [Node] -> Either String a
Data.parseXML [Node]
x)
            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 UpdateStreamingDistribution where
  hashWithSalt :: Int -> UpdateStreamingDistribution -> Int
hashWithSalt Int
_salt UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ifMatch
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` StreamingDistributionConfig
streamingDistributionConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id

instance Prelude.NFData UpdateStreamingDistribution where
  rnf :: UpdateStreamingDistribution -> ()
rnf UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ifMatch
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf StreamingDistributionConfig
streamingDistributionConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id

instance Data.ToElement UpdateStreamingDistribution where
  toElement :: UpdateStreamingDistribution -> Element
toElement UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
    forall a. ToXML a => Name -> a -> Element
Data.mkElement
      Name
"{http://cloudfront.amazonaws.com/doc/2020-05-31/}StreamingDistributionConfig"
      StreamingDistributionConfig
streamingDistributionConfig

instance Data.ToHeaders UpdateStreamingDistribution where
  toHeaders :: UpdateStreamingDistribution -> ResponseHeaders
toHeaders UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat [HeaderName
"If-Match" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
ifMatch]

instance Data.ToPath UpdateStreamingDistribution where
  toPath :: UpdateStreamingDistribution -> ByteString
toPath UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/2020-05-31/streaming-distribution/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
id,
        ByteString
"/config"
      ]

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

-- | The returned result of the corresponding request.
--
-- /See:/ 'newUpdateStreamingDistributionResponse' smart constructor.
data UpdateStreamingDistributionResponse = UpdateStreamingDistributionResponse'
  { -- | The current version of the configuration. For example: @E2QWRUHAPOMQZL@.
    UpdateStreamingDistributionResponse -> Maybe Text
eTag :: Prelude.Maybe Prelude.Text,
    -- | The streaming distribution\'s information.
    UpdateStreamingDistributionResponse -> Maybe StreamingDistribution
streamingDistribution :: Prelude.Maybe StreamingDistribution,
    -- | The response's http status code.
    UpdateStreamingDistributionResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
$c/= :: UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
== :: UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
$c== :: UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
Prelude.Eq, ReadPrec [UpdateStreamingDistributionResponse]
ReadPrec UpdateStreamingDistributionResponse
Int -> ReadS UpdateStreamingDistributionResponse
ReadS [UpdateStreamingDistributionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateStreamingDistributionResponse]
$creadListPrec :: ReadPrec [UpdateStreamingDistributionResponse]
readPrec :: ReadPrec UpdateStreamingDistributionResponse
$creadPrec :: ReadPrec UpdateStreamingDistributionResponse
readList :: ReadS [UpdateStreamingDistributionResponse]
$creadList :: ReadS [UpdateStreamingDistributionResponse]
readsPrec :: Int -> ReadS UpdateStreamingDistributionResponse
$creadsPrec :: Int -> ReadS UpdateStreamingDistributionResponse
Prelude.Read, Int -> UpdateStreamingDistributionResponse -> ShowS
[UpdateStreamingDistributionResponse] -> ShowS
UpdateStreamingDistributionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateStreamingDistributionResponse] -> ShowS
$cshowList :: [UpdateStreamingDistributionResponse] -> ShowS
show :: UpdateStreamingDistributionResponse -> String
$cshow :: UpdateStreamingDistributionResponse -> String
showsPrec :: Int -> UpdateStreamingDistributionResponse -> ShowS
$cshowsPrec :: Int -> UpdateStreamingDistributionResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateStreamingDistributionResponse x
-> UpdateStreamingDistributionResponse
forall x.
UpdateStreamingDistributionResponse
-> Rep UpdateStreamingDistributionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateStreamingDistributionResponse x
-> UpdateStreamingDistributionResponse
$cfrom :: forall x.
UpdateStreamingDistributionResponse
-> Rep UpdateStreamingDistributionResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateStreamingDistributionResponse' 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:
--
-- 'eTag', 'updateStreamingDistributionResponse_eTag' - The current version of the configuration. For example: @E2QWRUHAPOMQZL@.
--
-- 'streamingDistribution', 'updateStreamingDistributionResponse_streamingDistribution' - The streaming distribution\'s information.
--
-- 'httpStatus', 'updateStreamingDistributionResponse_httpStatus' - The response's http status code.
newUpdateStreamingDistributionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateStreamingDistributionResponse
newUpdateStreamingDistributionResponse :: Int -> UpdateStreamingDistributionResponse
newUpdateStreamingDistributionResponse Int
pHttpStatus_ =
  UpdateStreamingDistributionResponse'
    { $sel:eTag:UpdateStreamingDistributionResponse' :: Maybe Text
eTag =
        forall a. Maybe a
Prelude.Nothing,
      $sel:streamingDistribution:UpdateStreamingDistributionResponse' :: Maybe StreamingDistribution
streamingDistribution =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateStreamingDistributionResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The current version of the configuration. For example: @E2QWRUHAPOMQZL@.
updateStreamingDistributionResponse_eTag :: Lens.Lens' UpdateStreamingDistributionResponse (Prelude.Maybe Prelude.Text)
updateStreamingDistributionResponse_eTag :: Lens' UpdateStreamingDistributionResponse (Maybe Text)
updateStreamingDistributionResponse_eTag = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistributionResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: UpdateStreamingDistributionResponse
s@UpdateStreamingDistributionResponse' {} Maybe Text
a -> UpdateStreamingDistributionResponse
s {$sel:eTag:UpdateStreamingDistributionResponse' :: Maybe Text
eTag = Maybe Text
a} :: UpdateStreamingDistributionResponse)

-- | The streaming distribution\'s information.
updateStreamingDistributionResponse_streamingDistribution :: Lens.Lens' UpdateStreamingDistributionResponse (Prelude.Maybe StreamingDistribution)
updateStreamingDistributionResponse_streamingDistribution :: Lens'
  UpdateStreamingDistributionResponse (Maybe StreamingDistribution)
updateStreamingDistributionResponse_streamingDistribution = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistributionResponse' {Maybe StreamingDistribution
streamingDistribution :: Maybe StreamingDistribution
$sel:streamingDistribution:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Maybe StreamingDistribution
streamingDistribution} -> Maybe StreamingDistribution
streamingDistribution) (\s :: UpdateStreamingDistributionResponse
s@UpdateStreamingDistributionResponse' {} Maybe StreamingDistribution
a -> UpdateStreamingDistributionResponse
s {$sel:streamingDistribution:UpdateStreamingDistributionResponse' :: Maybe StreamingDistribution
streamingDistribution = Maybe StreamingDistribution
a} :: UpdateStreamingDistributionResponse)

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

instance
  Prelude.NFData
    UpdateStreamingDistributionResponse
  where
  rnf :: UpdateStreamingDistributionResponse -> ()
rnf UpdateStreamingDistributionResponse' {Int
Maybe Text
Maybe StreamingDistribution
httpStatus :: Int
streamingDistribution :: Maybe StreamingDistribution
eTag :: Maybe Text
$sel:httpStatus:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Int
$sel:streamingDistribution:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Maybe StreamingDistribution
$sel:eTag:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
eTag
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe StreamingDistribution
streamingDistribution
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus