{-# 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.ChimeSdkMediaPipelines.CreateMediaLiveConnectorPipeline
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Creates a streaming media pipeline in an Amazon Chime SDK meeting.
module Amazonka.ChimeSdkMediaPipelines.CreateMediaLiveConnectorPipeline
  ( -- * Creating a Request
    CreateMediaLiveConnectorPipeline (..),
    newCreateMediaLiveConnectorPipeline,

    -- * Request Lenses
    createMediaLiveConnectorPipeline_clientRequestToken,
    createMediaLiveConnectorPipeline_tags,
    createMediaLiveConnectorPipeline_sources,
    createMediaLiveConnectorPipeline_sinks,

    -- * Destructuring the Response
    CreateMediaLiveConnectorPipelineResponse (..),
    newCreateMediaLiveConnectorPipelineResponse,

    -- * Response Lenses
    createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline,
    createMediaLiveConnectorPipelineResponse_httpStatus,
  )
where

import Amazonka.ChimeSdkMediaPipelines.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:/ 'newCreateMediaLiveConnectorPipeline' smart constructor.
data CreateMediaLiveConnectorPipeline = CreateMediaLiveConnectorPipeline'
  { -- | The token assigned to the client making the request.
    CreateMediaLiveConnectorPipeline -> Maybe (Sensitive Text)
clientRequestToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The tags associated with the media pipeline.
    CreateMediaLiveConnectorPipeline -> Maybe (NonEmpty Tag)
tags :: Prelude.Maybe (Prelude.NonEmpty Tag),
    -- | The media pipeline\'s data sources.
    CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSourceConfiguration
sources :: Prelude.NonEmpty LiveConnectorSourceConfiguration,
    -- | The media pipeline\'s data sinks.
    CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSinkConfiguration
sinks :: Prelude.NonEmpty LiveConnectorSinkConfiguration
  }
  deriving (CreateMediaLiveConnectorPipeline
-> CreateMediaLiveConnectorPipeline -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateMediaLiveConnectorPipeline
-> CreateMediaLiveConnectorPipeline -> Bool
$c/= :: CreateMediaLiveConnectorPipeline
-> CreateMediaLiveConnectorPipeline -> Bool
== :: CreateMediaLiveConnectorPipeline
-> CreateMediaLiveConnectorPipeline -> Bool
$c== :: CreateMediaLiveConnectorPipeline
-> CreateMediaLiveConnectorPipeline -> Bool
Prelude.Eq, Int -> CreateMediaLiveConnectorPipeline -> ShowS
[CreateMediaLiveConnectorPipeline] -> ShowS
CreateMediaLiveConnectorPipeline -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateMediaLiveConnectorPipeline] -> ShowS
$cshowList :: [CreateMediaLiveConnectorPipeline] -> ShowS
show :: CreateMediaLiveConnectorPipeline -> String
$cshow :: CreateMediaLiveConnectorPipeline -> String
showsPrec :: Int -> CreateMediaLiveConnectorPipeline -> ShowS
$cshowsPrec :: Int -> CreateMediaLiveConnectorPipeline -> ShowS
Prelude.Show, forall x.
Rep CreateMediaLiveConnectorPipeline x
-> CreateMediaLiveConnectorPipeline
forall x.
CreateMediaLiveConnectorPipeline
-> Rep CreateMediaLiveConnectorPipeline x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateMediaLiveConnectorPipeline x
-> CreateMediaLiveConnectorPipeline
$cfrom :: forall x.
CreateMediaLiveConnectorPipeline
-> Rep CreateMediaLiveConnectorPipeline x
Prelude.Generic)

-- |
-- Create a value of 'CreateMediaLiveConnectorPipeline' 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:
--
-- 'clientRequestToken', 'createMediaLiveConnectorPipeline_clientRequestToken' - The token assigned to the client making the request.
--
-- 'tags', 'createMediaLiveConnectorPipeline_tags' - The tags associated with the media pipeline.
--
-- 'sources', 'createMediaLiveConnectorPipeline_sources' - The media pipeline\'s data sources.
--
-- 'sinks', 'createMediaLiveConnectorPipeline_sinks' - The media pipeline\'s data sinks.
newCreateMediaLiveConnectorPipeline ::
  -- | 'sources'
  Prelude.NonEmpty LiveConnectorSourceConfiguration ->
  -- | 'sinks'
  Prelude.NonEmpty LiveConnectorSinkConfiguration ->
  CreateMediaLiveConnectorPipeline
newCreateMediaLiveConnectorPipeline :: NonEmpty LiveConnectorSourceConfiguration
-> NonEmpty LiveConnectorSinkConfiguration
-> CreateMediaLiveConnectorPipeline
newCreateMediaLiveConnectorPipeline NonEmpty LiveConnectorSourceConfiguration
pSources_ NonEmpty LiveConnectorSinkConfiguration
pSinks_ =
  CreateMediaLiveConnectorPipeline'
    { $sel:clientRequestToken:CreateMediaLiveConnectorPipeline' :: Maybe (Sensitive Text)
clientRequestToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:tags:CreateMediaLiveConnectorPipeline' :: Maybe (NonEmpty Tag)
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:sources:CreateMediaLiveConnectorPipeline' :: NonEmpty LiveConnectorSourceConfiguration
sources = 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 LiveConnectorSourceConfiguration
pSources_,
      $sel:sinks:CreateMediaLiveConnectorPipeline' :: NonEmpty LiveConnectorSinkConfiguration
sinks = 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 LiveConnectorSinkConfiguration
pSinks_
    }

-- | The token assigned to the client making the request.
createMediaLiveConnectorPipeline_clientRequestToken :: Lens.Lens' CreateMediaLiveConnectorPipeline (Prelude.Maybe Prelude.Text)
createMediaLiveConnectorPipeline_clientRequestToken :: Lens' CreateMediaLiveConnectorPipeline (Maybe Text)
createMediaLiveConnectorPipeline_clientRequestToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateMediaLiveConnectorPipeline' {Maybe (Sensitive Text)
clientRequestToken :: Maybe (Sensitive Text)
$sel:clientRequestToken:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline -> Maybe (Sensitive Text)
clientRequestToken} -> Maybe (Sensitive Text)
clientRequestToken) (\s :: CreateMediaLiveConnectorPipeline
s@CreateMediaLiveConnectorPipeline' {} Maybe (Sensitive Text)
a -> CreateMediaLiveConnectorPipeline
s {$sel:clientRequestToken:CreateMediaLiveConnectorPipeline' :: Maybe (Sensitive Text)
clientRequestToken = Maybe (Sensitive Text)
a} :: CreateMediaLiveConnectorPipeline) 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

-- | The tags associated with the media pipeline.
createMediaLiveConnectorPipeline_tags :: Lens.Lens' CreateMediaLiveConnectorPipeline (Prelude.Maybe (Prelude.NonEmpty Tag))
createMediaLiveConnectorPipeline_tags :: Lens' CreateMediaLiveConnectorPipeline (Maybe (NonEmpty Tag))
createMediaLiveConnectorPipeline_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateMediaLiveConnectorPipeline' {Maybe (NonEmpty Tag)
tags :: Maybe (NonEmpty Tag)
$sel:tags:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline -> Maybe (NonEmpty Tag)
tags} -> Maybe (NonEmpty Tag)
tags) (\s :: CreateMediaLiveConnectorPipeline
s@CreateMediaLiveConnectorPipeline' {} Maybe (NonEmpty Tag)
a -> CreateMediaLiveConnectorPipeline
s {$sel:tags:CreateMediaLiveConnectorPipeline' :: Maybe (NonEmpty Tag)
tags = Maybe (NonEmpty Tag)
a} :: CreateMediaLiveConnectorPipeline) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The media pipeline\'s data sources.
createMediaLiveConnectorPipeline_sources :: Lens.Lens' CreateMediaLiveConnectorPipeline (Prelude.NonEmpty LiveConnectorSourceConfiguration)
createMediaLiveConnectorPipeline_sources :: Lens'
  CreateMediaLiveConnectorPipeline
  (NonEmpty LiveConnectorSourceConfiguration)
createMediaLiveConnectorPipeline_sources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateMediaLiveConnectorPipeline' {NonEmpty LiveConnectorSourceConfiguration
sources :: NonEmpty LiveConnectorSourceConfiguration
$sel:sources:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSourceConfiguration
sources} -> NonEmpty LiveConnectorSourceConfiguration
sources) (\s :: CreateMediaLiveConnectorPipeline
s@CreateMediaLiveConnectorPipeline' {} NonEmpty LiveConnectorSourceConfiguration
a -> CreateMediaLiveConnectorPipeline
s {$sel:sources:CreateMediaLiveConnectorPipeline' :: NonEmpty LiveConnectorSourceConfiguration
sources = NonEmpty LiveConnectorSourceConfiguration
a} :: CreateMediaLiveConnectorPipeline) 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

-- | The media pipeline\'s data sinks.
createMediaLiveConnectorPipeline_sinks :: Lens.Lens' CreateMediaLiveConnectorPipeline (Prelude.NonEmpty LiveConnectorSinkConfiguration)
createMediaLiveConnectorPipeline_sinks :: Lens'
  CreateMediaLiveConnectorPipeline
  (NonEmpty LiveConnectorSinkConfiguration)
createMediaLiveConnectorPipeline_sinks = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateMediaLiveConnectorPipeline' {NonEmpty LiveConnectorSinkConfiguration
sinks :: NonEmpty LiveConnectorSinkConfiguration
$sel:sinks:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSinkConfiguration
sinks} -> NonEmpty LiveConnectorSinkConfiguration
sinks) (\s :: CreateMediaLiveConnectorPipeline
s@CreateMediaLiveConnectorPipeline' {} NonEmpty LiveConnectorSinkConfiguration
a -> CreateMediaLiveConnectorPipeline
s {$sel:sinks:CreateMediaLiveConnectorPipeline' :: NonEmpty LiveConnectorSinkConfiguration
sinks = NonEmpty LiveConnectorSinkConfiguration
a} :: CreateMediaLiveConnectorPipeline) 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

instance
  Core.AWSRequest
    CreateMediaLiveConnectorPipeline
  where
  type
    AWSResponse CreateMediaLiveConnectorPipeline =
      CreateMediaLiveConnectorPipelineResponse
  request :: (Service -> Service)
-> CreateMediaLiveConnectorPipeline
-> Request CreateMediaLiveConnectorPipeline
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateMediaLiveConnectorPipeline
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse CreateMediaLiveConnectorPipeline)))
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 MediaLiveConnectorPipeline
-> Int -> CreateMediaLiveConnectorPipelineResponse
CreateMediaLiveConnectorPipelineResponse'
            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
"MediaLiveConnectorPipeline")
            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
    CreateMediaLiveConnectorPipeline
  where
  hashWithSalt :: Int -> CreateMediaLiveConnectorPipeline -> Int
hashWithSalt
    Int
_salt
    CreateMediaLiveConnectorPipeline' {Maybe (NonEmpty Tag)
Maybe (Sensitive Text)
NonEmpty LiveConnectorSinkConfiguration
NonEmpty LiveConnectorSourceConfiguration
sinks :: NonEmpty LiveConnectorSinkConfiguration
sources :: NonEmpty LiveConnectorSourceConfiguration
tags :: Maybe (NonEmpty Tag)
clientRequestToken :: Maybe (Sensitive Text)
$sel:sinks:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSinkConfiguration
$sel:sources:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSourceConfiguration
$sel:tags:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline -> Maybe (NonEmpty Tag)
$sel:clientRequestToken:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline -> Maybe (Sensitive Text)
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
clientRequestToken
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty Tag)
tags
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty LiveConnectorSourceConfiguration
sources
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty LiveConnectorSinkConfiguration
sinks

instance
  Prelude.NFData
    CreateMediaLiveConnectorPipeline
  where
  rnf :: CreateMediaLiveConnectorPipeline -> ()
rnf CreateMediaLiveConnectorPipeline' {Maybe (NonEmpty Tag)
Maybe (Sensitive Text)
NonEmpty LiveConnectorSinkConfiguration
NonEmpty LiveConnectorSourceConfiguration
sinks :: NonEmpty LiveConnectorSinkConfiguration
sources :: NonEmpty LiveConnectorSourceConfiguration
tags :: Maybe (NonEmpty Tag)
clientRequestToken :: Maybe (Sensitive Text)
$sel:sinks:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSinkConfiguration
$sel:sources:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSourceConfiguration
$sel:tags:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline -> Maybe (NonEmpty Tag)
$sel:clientRequestToken:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline -> Maybe (Sensitive Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
clientRequestToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Tag)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty LiveConnectorSourceConfiguration
sources
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty LiveConnectorSinkConfiguration
sinks

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

instance Data.ToJSON CreateMediaLiveConnectorPipeline where
  toJSON :: CreateMediaLiveConnectorPipeline -> Value
toJSON CreateMediaLiveConnectorPipeline' {Maybe (NonEmpty Tag)
Maybe (Sensitive Text)
NonEmpty LiveConnectorSinkConfiguration
NonEmpty LiveConnectorSourceConfiguration
sinks :: NonEmpty LiveConnectorSinkConfiguration
sources :: NonEmpty LiveConnectorSourceConfiguration
tags :: Maybe (NonEmpty Tag)
clientRequestToken :: Maybe (Sensitive Text)
$sel:sinks:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSinkConfiguration
$sel:sources:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline
-> NonEmpty LiveConnectorSourceConfiguration
$sel:tags:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline -> Maybe (NonEmpty Tag)
$sel:clientRequestToken:CreateMediaLiveConnectorPipeline' :: CreateMediaLiveConnectorPipeline -> Maybe (Sensitive Text)
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"ClientRequestToken" 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)
clientRequestToken,
            (Key
"Tags" 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 (NonEmpty Tag)
tags,
            forall a. a -> Maybe a
Prelude.Just (Key
"Sources" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty LiveConnectorSourceConfiguration
sources),
            forall a. a -> Maybe a
Prelude.Just (Key
"Sinks" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty LiveConnectorSinkConfiguration
sinks)
          ]
      )

instance Data.ToPath CreateMediaLiveConnectorPipeline where
  toPath :: CreateMediaLiveConnectorPipeline -> ByteString
toPath =
    forall a b. a -> b -> a
Prelude.const ByteString
"/sdk-media-live-connector-pipelines"

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

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

-- |
-- Create a value of 'CreateMediaLiveConnectorPipelineResponse' 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:
--
-- 'mediaLiveConnectorPipeline', 'createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline' - The new media pipeline.
--
-- 'httpStatus', 'createMediaLiveConnectorPipelineResponse_httpStatus' - The response's http status code.
newCreateMediaLiveConnectorPipelineResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  CreateMediaLiveConnectorPipelineResponse
newCreateMediaLiveConnectorPipelineResponse :: Int -> CreateMediaLiveConnectorPipelineResponse
newCreateMediaLiveConnectorPipelineResponse
  Int
pHttpStatus_ =
    CreateMediaLiveConnectorPipelineResponse'
      { $sel:mediaLiveConnectorPipeline:CreateMediaLiveConnectorPipelineResponse' :: Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:CreateMediaLiveConnectorPipelineResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The new media pipeline.
createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline :: Lens.Lens' CreateMediaLiveConnectorPipelineResponse (Prelude.Maybe MediaLiveConnectorPipeline)
createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline :: Lens'
  CreateMediaLiveConnectorPipelineResponse
  (Maybe MediaLiveConnectorPipeline)
createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateMediaLiveConnectorPipelineResponse' {Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline :: Maybe MediaLiveConnectorPipeline
$sel:mediaLiveConnectorPipeline:CreateMediaLiveConnectorPipelineResponse' :: CreateMediaLiveConnectorPipelineResponse
-> Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline} -> Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline) (\s :: CreateMediaLiveConnectorPipelineResponse
s@CreateMediaLiveConnectorPipelineResponse' {} Maybe MediaLiveConnectorPipeline
a -> CreateMediaLiveConnectorPipelineResponse
s {$sel:mediaLiveConnectorPipeline:CreateMediaLiveConnectorPipelineResponse' :: Maybe MediaLiveConnectorPipeline
mediaLiveConnectorPipeline = Maybe MediaLiveConnectorPipeline
a} :: CreateMediaLiveConnectorPipelineResponse)

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

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