{-# 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 #-}
module Amazonka.CloudFront.CreateStreamingDistributionWithTags
(
CreateStreamingDistributionWithTags (..),
newCreateStreamingDistributionWithTags,
createStreamingDistributionWithTags_streamingDistributionConfigWithTags,
CreateStreamingDistributionWithTagsResponse (..),
newCreateStreamingDistributionWithTagsResponse,
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
data CreateStreamingDistributionWithTags = CreateStreamingDistributionWithTags'
{
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)
newCreateStreamingDistributionWithTags ::
StreamingDistributionConfigWithTags ->
CreateStreamingDistributionWithTags
newCreateStreamingDistributionWithTags :: StreamingDistributionConfigWithTags
-> CreateStreamingDistributionWithTags
newCreateStreamingDistributionWithTags
StreamingDistributionConfigWithTags
pStreamingDistributionConfigWithTags_ =
CreateStreamingDistributionWithTags'
{ $sel:streamingDistributionConfigWithTags:CreateStreamingDistributionWithTags' :: StreamingDistributionConfigWithTags
streamingDistributionConfigWithTags =
StreamingDistributionConfigWithTags
pStreamingDistributionConfigWithTags_
}
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"])
data CreateStreamingDistributionWithTagsResponse = CreateStreamingDistributionWithTagsResponse'
{
CreateStreamingDistributionWithTagsResponse -> Maybe Text
eTag :: Prelude.Maybe Prelude.Text,
CreateStreamingDistributionWithTagsResponse -> Maybe Text
location :: Prelude.Maybe Prelude.Text,
CreateStreamingDistributionWithTagsResponse
-> Maybe StreamingDistribution
streamingDistribution :: Prelude.Maybe StreamingDistribution,
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)
newCreateStreamingDistributionWithTagsResponse ::
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_
}
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)
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)
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)
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