{-# 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.CreateStreamingDistributionWithTags
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- This API is deprecated. Amazon CloudFront is deprecating real-time
-- messaging protocol (RTMP) distributions on December 31, 2020. For more
-- information,
-- <http://forums.aws.amazon.com/ann.jspa?annID=7356 read the announcement>
-- on the Amazon CloudFront discussion forum.
module Amazonka.CloudFront.CreateStreamingDistributionWithTags
  ( -- * Creating a Request
    CreateStreamingDistributionWithTags (..),
    newCreateStreamingDistributionWithTags,

    -- * Request Lenses
    createStreamingDistributionWithTags_streamingDistributionConfigWithTags,

    -- * Destructuring the Response
    CreateStreamingDistributionWithTagsResponse (..),
    newCreateStreamingDistributionWithTagsResponse,

    -- * Response Lenses
    createStreamingDistributionWithTagsResponse_eTag,
    createStreamingDistributionWithTagsResponse_location,
    createStreamingDistributionWithTagsResponse_streamingDistribution,
    createStreamingDistributionWithTagsResponse_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 create a new streaming distribution with tags.
--
-- /See:/ 'newCreateStreamingDistributionWithTags' smart constructor.
data CreateStreamingDistributionWithTags = CreateStreamingDistributionWithTags'
  { -- | The streaming distribution\'s configuration information.
    CreateStreamingDistributionWithTags
-> StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags :: StreamingDistributionConfigWithTags
  }
  deriving (CreateStreamingDistributionWithTags
-> CreateStreamingDistributionWithTags -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateStreamingDistributionWithTags
-> CreateStreamingDistributionWithTags -> Bool
$c/= :: CreateStreamingDistributionWithTags
-> CreateStreamingDistributionWithTags -> Bool
== :: CreateStreamingDistributionWithTags
-> CreateStreamingDistributionWithTags -> Bool
$c== :: CreateStreamingDistributionWithTags
-> CreateStreamingDistributionWithTags -> Bool
Prelude.Eq, ReadPrec [CreateStreamingDistributionWithTags]
ReadPrec CreateStreamingDistributionWithTags
Int -> ReadS CreateStreamingDistributionWithTags
ReadS [CreateStreamingDistributionWithTags]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateStreamingDistributionWithTags]
$creadListPrec :: ReadPrec [CreateStreamingDistributionWithTags]
readPrec :: ReadPrec CreateStreamingDistributionWithTags
$creadPrec :: ReadPrec CreateStreamingDistributionWithTags
readList :: ReadS [CreateStreamingDistributionWithTags]
$creadList :: ReadS [CreateStreamingDistributionWithTags]
readsPrec :: Int -> ReadS CreateStreamingDistributionWithTags
$creadsPrec :: Int -> ReadS CreateStreamingDistributionWithTags
Prelude.Read, Int -> CreateStreamingDistributionWithTags -> ShowS
[CreateStreamingDistributionWithTags] -> ShowS
CreateStreamingDistributionWithTags -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateStreamingDistributionWithTags] -> ShowS
$cshowList :: [CreateStreamingDistributionWithTags] -> ShowS
show :: CreateStreamingDistributionWithTags -> String
$cshow :: CreateStreamingDistributionWithTags -> String
showsPrec :: Int -> CreateStreamingDistributionWithTags -> ShowS
$cshowsPrec :: Int -> CreateStreamingDistributionWithTags -> ShowS
Prelude.Show, forall x.
Rep CreateStreamingDistributionWithTags x
-> CreateStreamingDistributionWithTags
forall x.
CreateStreamingDistributionWithTags
-> Rep CreateStreamingDistributionWithTags x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateStreamingDistributionWithTags x
-> CreateStreamingDistributionWithTags
$cfrom :: forall x.
CreateStreamingDistributionWithTags
-> Rep CreateStreamingDistributionWithTags x
Prelude.Generic)

-- |
-- Create a value of 'CreateStreamingDistributionWithTags' 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:
--
-- 'streamingDistributionConfigWithTags', 'createStreamingDistributionWithTags_streamingDistributionConfigWithTags' - The streaming distribution\'s configuration information.
newCreateStreamingDistributionWithTags ::
  -- | 'streamingDistributionConfigWithTags'
  StreamingDistributionConfigWithTags ->
  CreateStreamingDistributionWithTags
newCreateStreamingDistributionWithTags :: StreamingDistributionConfigWithTags
-> CreateStreamingDistributionWithTags
newCreateStreamingDistributionWithTags
  StreamingDistributionConfigWithTags
pStreamingDistributionConfigWithTags_ =
    CreateStreamingDistributionWithTags'
      { $sel:streamingDistributionConfigWithTags:CreateStreamingDistributionWithTags' :: StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags =
          StreamingDistributionConfigWithTags
pStreamingDistributionConfigWithTags_
      }

-- | The streaming distribution\'s configuration information.
createStreamingDistributionWithTags_streamingDistributionConfigWithTags :: Lens.Lens' CreateStreamingDistributionWithTags StreamingDistributionConfigWithTags
createStreamingDistributionWithTags_streamingDistributionConfigWithTags :: Lens'
  CreateStreamingDistributionWithTags
  StreamingDistributionConfigWithTags
createStreamingDistributionWithTags_streamingDistributionConfigWithTags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStreamingDistributionWithTags' {StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags :: StreamingDistributionConfigWithTags
$sel:streamingDistributionConfigWithTags:CreateStreamingDistributionWithTags' :: CreateStreamingDistributionWithTags
-> StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags} -> StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags) (\s :: CreateStreamingDistributionWithTags
s@CreateStreamingDistributionWithTags' {} StreamingDistributionConfigWithTags
a -> CreateStreamingDistributionWithTags
s {$sel:streamingDistributionConfigWithTags:CreateStreamingDistributionWithTags' :: StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags = StreamingDistributionConfigWithTags
a} :: CreateStreamingDistributionWithTags)

instance
  Core.AWSRequest
    CreateStreamingDistributionWithTags
  where
  type
    AWSResponse CreateStreamingDistributionWithTags =
      CreateStreamingDistributionWithTagsResponse
  request :: (Service -> Service)
-> CreateStreamingDistributionWithTags
-> Request CreateStreamingDistributionWithTags
request Service -> Service
overrides =
    forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.postXML (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateStreamingDistributionWithTags
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse CreateStreamingDistributionWithTags)))
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 Text
-> Maybe StreamingDistribution
-> Int
-> CreateStreamingDistributionWithTagsResponse
CreateStreamingDistributionWithTagsResponse'
            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.<*> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"Location")
            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
    CreateStreamingDistributionWithTags
  where
  hashWithSalt :: Int -> CreateStreamingDistributionWithTags -> Int
hashWithSalt
    Int
_salt
    CreateStreamingDistributionWithTags' {StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags :: StreamingDistributionConfigWithTags
$sel:streamingDistributionConfigWithTags:CreateStreamingDistributionWithTags' :: CreateStreamingDistributionWithTags
-> StreamingDistributionConfigWithTags
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags

instance
  Prelude.NFData
    CreateStreamingDistributionWithTags
  where
  rnf :: CreateStreamingDistributionWithTags -> ()
rnf CreateStreamingDistributionWithTags' {StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags :: StreamingDistributionConfigWithTags
$sel:streamingDistributionConfigWithTags:CreateStreamingDistributionWithTags' :: CreateStreamingDistributionWithTags
-> StreamingDistributionConfigWithTags
..} =
    forall a. NFData a => a -> ()
Prelude.rnf StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags

instance
  Data.ToElement
    CreateStreamingDistributionWithTags
  where
  toElement :: CreateStreamingDistributionWithTags -> Element
toElement CreateStreamingDistributionWithTags' {StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags :: StreamingDistributionConfigWithTags
$sel:streamingDistributionConfigWithTags:CreateStreamingDistributionWithTags' :: CreateStreamingDistributionWithTags
-> StreamingDistributionConfigWithTags
..} =
    forall a. ToXML a => Name -> a -> Element
Data.mkElement
      Name
"{http://cloudfront.amazonaws.com/doc/2020-05-31/}StreamingDistributionConfigWithTags"
      StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags

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

instance
  Data.ToPath
    CreateStreamingDistributionWithTags
  where
  toPath :: CreateStreamingDistributionWithTags -> ByteString
toPath =
    forall a b. a -> b -> a
Prelude.const ByteString
"/2020-05-31/streaming-distribution"

instance
  Data.ToQuery
    CreateStreamingDistributionWithTags
  where
  toQuery :: CreateStreamingDistributionWithTags -> QueryString
toQuery =
    forall a b. a -> b -> a
Prelude.const (forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"WithTags"])

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

-- |
-- Create a value of 'CreateStreamingDistributionWithTagsResponse' 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', 'createStreamingDistributionWithTagsResponse_eTag' - The current version of the distribution created.
--
-- 'location', 'createStreamingDistributionWithTagsResponse_location' - The fully qualified URI of the new streaming distribution resource just
-- created.
--
-- 'streamingDistribution', 'createStreamingDistributionWithTagsResponse_streamingDistribution' - The streaming distribution\'s information.
--
-- 'httpStatus', 'createStreamingDistributionWithTagsResponse_httpStatus' - The response's http status code.
newCreateStreamingDistributionWithTagsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  CreateStreamingDistributionWithTagsResponse
newCreateStreamingDistributionWithTagsResponse :: Int -> CreateStreamingDistributionWithTagsResponse
newCreateStreamingDistributionWithTagsResponse
  Int
pHttpStatus_ =
    CreateStreamingDistributionWithTagsResponse'
      { $sel:eTag:CreateStreamingDistributionWithTagsResponse' :: Maybe Text
eTag =
          forall a. Maybe a
Prelude.Nothing,
        $sel:location:CreateStreamingDistributionWithTagsResponse' :: Maybe Text
location = forall a. Maybe a
Prelude.Nothing,
        $sel:streamingDistribution:CreateStreamingDistributionWithTagsResponse' :: Maybe StreamingDistribution
streamingDistribution =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:CreateStreamingDistributionWithTagsResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The current version of the distribution created.
createStreamingDistributionWithTagsResponse_eTag :: Lens.Lens' CreateStreamingDistributionWithTagsResponse (Prelude.Maybe Prelude.Text)
createStreamingDistributionWithTagsResponse_eTag :: Lens' CreateStreamingDistributionWithTagsResponse (Maybe Text)
createStreamingDistributionWithTagsResponse_eTag = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStreamingDistributionWithTagsResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:CreateStreamingDistributionWithTagsResponse' :: CreateStreamingDistributionWithTagsResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: CreateStreamingDistributionWithTagsResponse
s@CreateStreamingDistributionWithTagsResponse' {} Maybe Text
a -> CreateStreamingDistributionWithTagsResponse
s {$sel:eTag:CreateStreamingDistributionWithTagsResponse' :: Maybe Text
eTag = Maybe Text
a} :: CreateStreamingDistributionWithTagsResponse)

-- | The fully qualified URI of the new streaming distribution resource just
-- created.
createStreamingDistributionWithTagsResponse_location :: Lens.Lens' CreateStreamingDistributionWithTagsResponse (Prelude.Maybe Prelude.Text)
createStreamingDistributionWithTagsResponse_location :: Lens' CreateStreamingDistributionWithTagsResponse (Maybe Text)
createStreamingDistributionWithTagsResponse_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStreamingDistributionWithTagsResponse' {Maybe Text
location :: Maybe Text
$sel:location:CreateStreamingDistributionWithTagsResponse' :: CreateStreamingDistributionWithTagsResponse -> Maybe Text
location} -> Maybe Text
location) (\s :: CreateStreamingDistributionWithTagsResponse
s@CreateStreamingDistributionWithTagsResponse' {} Maybe Text
a -> CreateStreamingDistributionWithTagsResponse
s {$sel:location:CreateStreamingDistributionWithTagsResponse' :: Maybe Text
location = Maybe Text
a} :: CreateStreamingDistributionWithTagsResponse)

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

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

instance
  Prelude.NFData
    CreateStreamingDistributionWithTagsResponse
  where
  rnf :: CreateStreamingDistributionWithTagsResponse -> ()
rnf CreateStreamingDistributionWithTagsResponse' {Int
Maybe Text
Maybe StreamingDistribution
httpStatus :: Int
streamingDistribution :: Maybe StreamingDistribution
location :: Maybe Text
eTag :: Maybe Text
$sel:httpStatus:CreateStreamingDistributionWithTagsResponse' :: CreateStreamingDistributionWithTagsResponse -> Int
$sel:streamingDistribution:CreateStreamingDistributionWithTagsResponse' :: CreateStreamingDistributionWithTagsResponse
-> Maybe StreamingDistribution
$sel:location:CreateStreamingDistributionWithTagsResponse' :: CreateStreamingDistributionWithTagsResponse -> Maybe Text
$sel:eTag:CreateStreamingDistributionWithTagsResponse' :: CreateStreamingDistributionWithTagsResponse -> 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 Text
location
      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