{-# 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.MediaPackage.CreateOriginEndpoint
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Creates a new OriginEndpoint record.
module Amazonka.MediaPackage.CreateOriginEndpoint
  ( -- * Creating a Request
    CreateOriginEndpoint (..),
    newCreateOriginEndpoint,

    -- * Request Lenses
    createOriginEndpoint_whitelist,
    createOriginEndpoint_hlsPackage,
    createOriginEndpoint_manifestName,
    createOriginEndpoint_authorization,
    createOriginEndpoint_startoverWindowSeconds,
    createOriginEndpoint_dashPackage,
    createOriginEndpoint_mssPackage,
    createOriginEndpoint_timeDelaySeconds,
    createOriginEndpoint_cmafPackage,
    createOriginEndpoint_description,
    createOriginEndpoint_tags,
    createOriginEndpoint_origination,
    createOriginEndpoint_channelId,
    createOriginEndpoint_id,

    -- * Destructuring the Response
    CreateOriginEndpointResponse (..),
    newCreateOriginEndpointResponse,

    -- * Response Lenses
    createOriginEndpointResponse_whitelist,
    createOriginEndpointResponse_hlsPackage,
    createOriginEndpointResponse_arn,
    createOriginEndpointResponse_manifestName,
    createOriginEndpointResponse_url,
    createOriginEndpointResponse_authorization,
    createOriginEndpointResponse_channelId,
    createOriginEndpointResponse_startoverWindowSeconds,
    createOriginEndpointResponse_dashPackage,
    createOriginEndpointResponse_mssPackage,
    createOriginEndpointResponse_id,
    createOriginEndpointResponse_timeDelaySeconds,
    createOriginEndpointResponse_cmafPackage,
    createOriginEndpointResponse_description,
    createOriginEndpointResponse_tags,
    createOriginEndpointResponse_origination,
    createOriginEndpointResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.MediaPackage.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | Configuration parameters used to create a new OriginEndpoint.
--
-- /See:/ 'newCreateOriginEndpoint' smart constructor.
data CreateOriginEndpoint = CreateOriginEndpoint'
  { -- | A list of source IP CIDR blocks that will be allowed to access the
    -- OriginEndpoint.
    CreateOriginEndpoint -> Maybe [Text]
whitelist :: Prelude.Maybe [Prelude.Text],
    CreateOriginEndpoint -> Maybe HlsPackage
hlsPackage :: Prelude.Maybe HlsPackage,
    -- | A short string that will be used as the filename of the OriginEndpoint
    -- URL (defaults to \"index\").
    CreateOriginEndpoint -> Maybe Text
manifestName :: Prelude.Maybe Prelude.Text,
    CreateOriginEndpoint -> Maybe Authorization
authorization :: Prelude.Maybe Authorization,
    -- | Maximum duration (seconds) of content to retain for startover playback.
    -- If not specified, startover playback will be disabled for the
    -- OriginEndpoint.
    CreateOriginEndpoint -> Maybe Int
startoverWindowSeconds :: Prelude.Maybe Prelude.Int,
    CreateOriginEndpoint -> Maybe DashPackage
dashPackage :: Prelude.Maybe DashPackage,
    CreateOriginEndpoint -> Maybe MssPackage
mssPackage :: Prelude.Maybe MssPackage,
    -- | Amount of delay (seconds) to enforce on the playback of live content. If
    -- not specified, there will be no time delay in effect for the
    -- OriginEndpoint.
    CreateOriginEndpoint -> Maybe Int
timeDelaySeconds :: Prelude.Maybe Prelude.Int,
    CreateOriginEndpoint -> Maybe CmafPackageCreateOrUpdateParameters
cmafPackage :: Prelude.Maybe CmafPackageCreateOrUpdateParameters,
    -- | A short text description of the OriginEndpoint.
    CreateOriginEndpoint -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    CreateOriginEndpoint -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | Control whether origination of video is allowed for this OriginEndpoint.
    -- If set to ALLOW, the OriginEndpoint may by requested, pursuant to any
    -- other form of access control. If set to DENY, the OriginEndpoint may not
    -- be requested. This can be helpful for Live to VOD harvesting, or for
    -- temporarily disabling origination
    CreateOriginEndpoint -> Maybe Origination
origination :: Prelude.Maybe Origination,
    -- | The ID of the Channel that the OriginEndpoint will be associated with.
    -- This cannot be changed after the OriginEndpoint is created.
    CreateOriginEndpoint -> Text
channelId :: Prelude.Text,
    -- | The ID of the OriginEndpoint. The ID must be unique within the region
    -- and it cannot be changed after the OriginEndpoint is created.
    CreateOriginEndpoint -> Text
id :: Prelude.Text
  }
  deriving (CreateOriginEndpoint -> CreateOriginEndpoint -> Bool
(CreateOriginEndpoint -> CreateOriginEndpoint -> Bool)
-> (CreateOriginEndpoint -> CreateOriginEndpoint -> Bool)
-> Eq CreateOriginEndpoint
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateOriginEndpoint -> CreateOriginEndpoint -> Bool
$c/= :: CreateOriginEndpoint -> CreateOriginEndpoint -> Bool
== :: CreateOriginEndpoint -> CreateOriginEndpoint -> Bool
$c== :: CreateOriginEndpoint -> CreateOriginEndpoint -> Bool
Prelude.Eq, ReadPrec [CreateOriginEndpoint]
ReadPrec CreateOriginEndpoint
Int -> ReadS CreateOriginEndpoint
ReadS [CreateOriginEndpoint]
(Int -> ReadS CreateOriginEndpoint)
-> ReadS [CreateOriginEndpoint]
-> ReadPrec CreateOriginEndpoint
-> ReadPrec [CreateOriginEndpoint]
-> Read CreateOriginEndpoint
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateOriginEndpoint]
$creadListPrec :: ReadPrec [CreateOriginEndpoint]
readPrec :: ReadPrec CreateOriginEndpoint
$creadPrec :: ReadPrec CreateOriginEndpoint
readList :: ReadS [CreateOriginEndpoint]
$creadList :: ReadS [CreateOriginEndpoint]
readsPrec :: Int -> ReadS CreateOriginEndpoint
$creadsPrec :: Int -> ReadS CreateOriginEndpoint
Prelude.Read, Int -> CreateOriginEndpoint -> ShowS
[CreateOriginEndpoint] -> ShowS
CreateOriginEndpoint -> String
(Int -> CreateOriginEndpoint -> ShowS)
-> (CreateOriginEndpoint -> String)
-> ([CreateOriginEndpoint] -> ShowS)
-> Show CreateOriginEndpoint
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateOriginEndpoint] -> ShowS
$cshowList :: [CreateOriginEndpoint] -> ShowS
show :: CreateOriginEndpoint -> String
$cshow :: CreateOriginEndpoint -> String
showsPrec :: Int -> CreateOriginEndpoint -> ShowS
$cshowsPrec :: Int -> CreateOriginEndpoint -> ShowS
Prelude.Show, (forall x. CreateOriginEndpoint -> Rep CreateOriginEndpoint x)
-> (forall x. Rep CreateOriginEndpoint x -> CreateOriginEndpoint)
-> Generic CreateOriginEndpoint
forall x. Rep CreateOriginEndpoint x -> CreateOriginEndpoint
forall x. CreateOriginEndpoint -> Rep CreateOriginEndpoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateOriginEndpoint x -> CreateOriginEndpoint
$cfrom :: forall x. CreateOriginEndpoint -> Rep CreateOriginEndpoint x
Prelude.Generic)

-- |
-- Create a value of 'CreateOriginEndpoint' 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:
--
-- 'whitelist', 'createOriginEndpoint_whitelist' - A list of source IP CIDR blocks that will be allowed to access the
-- OriginEndpoint.
--
-- 'hlsPackage', 'createOriginEndpoint_hlsPackage' - Undocumented member.
--
-- 'manifestName', 'createOriginEndpoint_manifestName' - A short string that will be used as the filename of the OriginEndpoint
-- URL (defaults to \"index\").
--
-- 'authorization', 'createOriginEndpoint_authorization' - Undocumented member.
--
-- 'startoverWindowSeconds', 'createOriginEndpoint_startoverWindowSeconds' - Maximum duration (seconds) of content to retain for startover playback.
-- If not specified, startover playback will be disabled for the
-- OriginEndpoint.
--
-- 'dashPackage', 'createOriginEndpoint_dashPackage' - Undocumented member.
--
-- 'mssPackage', 'createOriginEndpoint_mssPackage' - Undocumented member.
--
-- 'timeDelaySeconds', 'createOriginEndpoint_timeDelaySeconds' - Amount of delay (seconds) to enforce on the playback of live content. If
-- not specified, there will be no time delay in effect for the
-- OriginEndpoint.
--
-- 'cmafPackage', 'createOriginEndpoint_cmafPackage' - Undocumented member.
--
-- 'description', 'createOriginEndpoint_description' - A short text description of the OriginEndpoint.
--
-- 'tags', 'createOriginEndpoint_tags' - Undocumented member.
--
-- 'origination', 'createOriginEndpoint_origination' - Control whether origination of video is allowed for this OriginEndpoint.
-- If set to ALLOW, the OriginEndpoint may by requested, pursuant to any
-- other form of access control. If set to DENY, the OriginEndpoint may not
-- be requested. This can be helpful for Live to VOD harvesting, or for
-- temporarily disabling origination
--
-- 'channelId', 'createOriginEndpoint_channelId' - The ID of the Channel that the OriginEndpoint will be associated with.
-- This cannot be changed after the OriginEndpoint is created.
--
-- 'id', 'createOriginEndpoint_id' - The ID of the OriginEndpoint. The ID must be unique within the region
-- and it cannot be changed after the OriginEndpoint is created.
newCreateOriginEndpoint ::
  -- | 'channelId'
  Prelude.Text ->
  -- | 'id'
  Prelude.Text ->
  CreateOriginEndpoint
newCreateOriginEndpoint :: Text -> Text -> CreateOriginEndpoint
newCreateOriginEndpoint Text
pChannelId_ Text
pId_ =
  CreateOriginEndpoint' :: Maybe [Text]
-> Maybe HlsPackage
-> Maybe Text
-> Maybe Authorization
-> Maybe Int
-> Maybe DashPackage
-> Maybe MssPackage
-> Maybe Int
-> Maybe CmafPackageCreateOrUpdateParameters
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe Origination
-> Text
-> Text
-> CreateOriginEndpoint
CreateOriginEndpoint'
    { $sel:whitelist:CreateOriginEndpoint' :: Maybe [Text]
whitelist = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:hlsPackage:CreateOriginEndpoint' :: Maybe HlsPackage
hlsPackage = Maybe HlsPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:manifestName:CreateOriginEndpoint' :: Maybe Text
manifestName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:authorization:CreateOriginEndpoint' :: Maybe Authorization
authorization = Maybe Authorization
forall a. Maybe a
Prelude.Nothing,
      $sel:startoverWindowSeconds:CreateOriginEndpoint' :: Maybe Int
startoverWindowSeconds = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:dashPackage:CreateOriginEndpoint' :: Maybe DashPackage
dashPackage = Maybe DashPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:mssPackage:CreateOriginEndpoint' :: Maybe MssPackage
mssPackage = Maybe MssPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:timeDelaySeconds:CreateOriginEndpoint' :: Maybe Int
timeDelaySeconds = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:cmafPackage:CreateOriginEndpoint' :: Maybe CmafPackageCreateOrUpdateParameters
cmafPackage = Maybe CmafPackageCreateOrUpdateParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:description:CreateOriginEndpoint' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:tags:CreateOriginEndpoint' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:origination:CreateOriginEndpoint' :: Maybe Origination
origination = Maybe Origination
forall a. Maybe a
Prelude.Nothing,
      $sel:channelId:CreateOriginEndpoint' :: Text
channelId = Text
pChannelId_,
      $sel:id:CreateOriginEndpoint' :: Text
id = Text
pId_
    }

-- | A list of source IP CIDR blocks that will be allowed to access the
-- OriginEndpoint.
createOriginEndpoint_whitelist :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe [Prelude.Text])
createOriginEndpoint_whitelist :: (Maybe [Text] -> f (Maybe [Text]))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_whitelist = (CreateOriginEndpoint -> Maybe [Text])
-> (CreateOriginEndpoint -> Maybe [Text] -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint
     CreateOriginEndpoint
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe [Text]
whitelist :: Maybe [Text]
$sel:whitelist:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe [Text]
whitelist} -> Maybe [Text]
whitelist) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe [Text]
a -> CreateOriginEndpoint
s {$sel:whitelist:CreateOriginEndpoint' :: Maybe [Text]
whitelist = Maybe [Text]
a} :: CreateOriginEndpoint) ((Maybe [Text] -> f (Maybe [Text]))
 -> CreateOriginEndpoint -> f CreateOriginEndpoint)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> CreateOriginEndpoint
-> f CreateOriginEndpoint
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
createOriginEndpoint_hlsPackage :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe HlsPackage)
createOriginEndpoint_hlsPackage :: (Maybe HlsPackage -> f (Maybe HlsPackage))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_hlsPackage = (CreateOriginEndpoint -> Maybe HlsPackage)
-> (CreateOriginEndpoint
    -> Maybe HlsPackage -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint
     CreateOriginEndpoint
     (Maybe HlsPackage)
     (Maybe HlsPackage)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe HlsPackage
hlsPackage :: Maybe HlsPackage
$sel:hlsPackage:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe HlsPackage
hlsPackage} -> Maybe HlsPackage
hlsPackage) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe HlsPackage
a -> CreateOriginEndpoint
s {$sel:hlsPackage:CreateOriginEndpoint' :: Maybe HlsPackage
hlsPackage = Maybe HlsPackage
a} :: CreateOriginEndpoint)

-- | A short string that will be used as the filename of the OriginEndpoint
-- URL (defaults to \"index\").
createOriginEndpoint_manifestName :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe Prelude.Text)
createOriginEndpoint_manifestName :: (Maybe Text -> f (Maybe Text))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_manifestName = (CreateOriginEndpoint -> Maybe Text)
-> (CreateOriginEndpoint -> Maybe Text -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint CreateOriginEndpoint (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe Text
manifestName :: Maybe Text
$sel:manifestName:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Text
manifestName} -> Maybe Text
manifestName) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe Text
a -> CreateOriginEndpoint
s {$sel:manifestName:CreateOriginEndpoint' :: Maybe Text
manifestName = Maybe Text
a} :: CreateOriginEndpoint)

-- | Undocumented member.
createOriginEndpoint_authorization :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe Authorization)
createOriginEndpoint_authorization :: (Maybe Authorization -> f (Maybe Authorization))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_authorization = (CreateOriginEndpoint -> Maybe Authorization)
-> (CreateOriginEndpoint
    -> Maybe Authorization -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint
     CreateOriginEndpoint
     (Maybe Authorization)
     (Maybe Authorization)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe Authorization
authorization :: Maybe Authorization
$sel:authorization:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Authorization
authorization} -> Maybe Authorization
authorization) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe Authorization
a -> CreateOriginEndpoint
s {$sel:authorization:CreateOriginEndpoint' :: Maybe Authorization
authorization = Maybe Authorization
a} :: CreateOriginEndpoint)

-- | Maximum duration (seconds) of content to retain for startover playback.
-- If not specified, startover playback will be disabled for the
-- OriginEndpoint.
createOriginEndpoint_startoverWindowSeconds :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe Prelude.Int)
createOriginEndpoint_startoverWindowSeconds :: (Maybe Int -> f (Maybe Int))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_startoverWindowSeconds = (CreateOriginEndpoint -> Maybe Int)
-> (CreateOriginEndpoint -> Maybe Int -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint CreateOriginEndpoint (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe Int
startoverWindowSeconds :: Maybe Int
$sel:startoverWindowSeconds:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Int
startoverWindowSeconds} -> Maybe Int
startoverWindowSeconds) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe Int
a -> CreateOriginEndpoint
s {$sel:startoverWindowSeconds:CreateOriginEndpoint' :: Maybe Int
startoverWindowSeconds = Maybe Int
a} :: CreateOriginEndpoint)

-- | Undocumented member.
createOriginEndpoint_dashPackage :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe DashPackage)
createOriginEndpoint_dashPackage :: (Maybe DashPackage -> f (Maybe DashPackage))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_dashPackage = (CreateOriginEndpoint -> Maybe DashPackage)
-> (CreateOriginEndpoint
    -> Maybe DashPackage -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint
     CreateOriginEndpoint
     (Maybe DashPackage)
     (Maybe DashPackage)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe DashPackage
dashPackage :: Maybe DashPackage
$sel:dashPackage:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe DashPackage
dashPackage} -> Maybe DashPackage
dashPackage) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe DashPackage
a -> CreateOriginEndpoint
s {$sel:dashPackage:CreateOriginEndpoint' :: Maybe DashPackage
dashPackage = Maybe DashPackage
a} :: CreateOriginEndpoint)

-- | Undocumented member.
createOriginEndpoint_mssPackage :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe MssPackage)
createOriginEndpoint_mssPackage :: (Maybe MssPackage -> f (Maybe MssPackage))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_mssPackage = (CreateOriginEndpoint -> Maybe MssPackage)
-> (CreateOriginEndpoint
    -> Maybe MssPackage -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint
     CreateOriginEndpoint
     (Maybe MssPackage)
     (Maybe MssPackage)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe MssPackage
mssPackage :: Maybe MssPackage
$sel:mssPackage:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe MssPackage
mssPackage} -> Maybe MssPackage
mssPackage) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe MssPackage
a -> CreateOriginEndpoint
s {$sel:mssPackage:CreateOriginEndpoint' :: Maybe MssPackage
mssPackage = Maybe MssPackage
a} :: CreateOriginEndpoint)

-- | Amount of delay (seconds) to enforce on the playback of live content. If
-- not specified, there will be no time delay in effect for the
-- OriginEndpoint.
createOriginEndpoint_timeDelaySeconds :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe Prelude.Int)
createOriginEndpoint_timeDelaySeconds :: (Maybe Int -> f (Maybe Int))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_timeDelaySeconds = (CreateOriginEndpoint -> Maybe Int)
-> (CreateOriginEndpoint -> Maybe Int -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint CreateOriginEndpoint (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe Int
timeDelaySeconds :: Maybe Int
$sel:timeDelaySeconds:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Int
timeDelaySeconds} -> Maybe Int
timeDelaySeconds) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe Int
a -> CreateOriginEndpoint
s {$sel:timeDelaySeconds:CreateOriginEndpoint' :: Maybe Int
timeDelaySeconds = Maybe Int
a} :: CreateOriginEndpoint)

-- | Undocumented member.
createOriginEndpoint_cmafPackage :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe CmafPackageCreateOrUpdateParameters)
createOriginEndpoint_cmafPackage :: (Maybe CmafPackageCreateOrUpdateParameters
 -> f (Maybe CmafPackageCreateOrUpdateParameters))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_cmafPackage = (CreateOriginEndpoint -> Maybe CmafPackageCreateOrUpdateParameters)
-> (CreateOriginEndpoint
    -> Maybe CmafPackageCreateOrUpdateParameters
    -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint
     CreateOriginEndpoint
     (Maybe CmafPackageCreateOrUpdateParameters)
     (Maybe CmafPackageCreateOrUpdateParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe CmafPackageCreateOrUpdateParameters
cmafPackage :: Maybe CmafPackageCreateOrUpdateParameters
$sel:cmafPackage:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe CmafPackageCreateOrUpdateParameters
cmafPackage} -> Maybe CmafPackageCreateOrUpdateParameters
cmafPackage) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe CmafPackageCreateOrUpdateParameters
a -> CreateOriginEndpoint
s {$sel:cmafPackage:CreateOriginEndpoint' :: Maybe CmafPackageCreateOrUpdateParameters
cmafPackage = Maybe CmafPackageCreateOrUpdateParameters
a} :: CreateOriginEndpoint)

-- | A short text description of the OriginEndpoint.
createOriginEndpoint_description :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe Prelude.Text)
createOriginEndpoint_description :: (Maybe Text -> f (Maybe Text))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_description = (CreateOriginEndpoint -> Maybe Text)
-> (CreateOriginEndpoint -> Maybe Text -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint CreateOriginEndpoint (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe Text
description :: Maybe Text
$sel:description:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe Text
a -> CreateOriginEndpoint
s {$sel:description:CreateOriginEndpoint' :: Maybe Text
description = Maybe Text
a} :: CreateOriginEndpoint)

-- | Undocumented member.
createOriginEndpoint_tags :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createOriginEndpoint_tags :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_tags = (CreateOriginEndpoint -> Maybe (HashMap Text Text))
-> (CreateOriginEndpoint
    -> Maybe (HashMap Text Text) -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint
     CreateOriginEndpoint
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe (HashMap Text Text)
a -> CreateOriginEndpoint
s {$sel:tags:CreateOriginEndpoint' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: CreateOriginEndpoint) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> CreateOriginEndpoint -> f CreateOriginEndpoint)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateOriginEndpoint
-> f CreateOriginEndpoint
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
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 AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Control whether origination of video is allowed for this OriginEndpoint.
-- If set to ALLOW, the OriginEndpoint may by requested, pursuant to any
-- other form of access control. If set to DENY, the OriginEndpoint may not
-- be requested. This can be helpful for Live to VOD harvesting, or for
-- temporarily disabling origination
createOriginEndpoint_origination :: Lens.Lens' CreateOriginEndpoint (Prelude.Maybe Origination)
createOriginEndpoint_origination :: (Maybe Origination -> f (Maybe Origination))
-> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_origination = (CreateOriginEndpoint -> Maybe Origination)
-> (CreateOriginEndpoint
    -> Maybe Origination -> CreateOriginEndpoint)
-> Lens
     CreateOriginEndpoint
     CreateOriginEndpoint
     (Maybe Origination)
     (Maybe Origination)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Maybe Origination
origination :: Maybe Origination
$sel:origination:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Origination
origination} -> Maybe Origination
origination) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Maybe Origination
a -> CreateOriginEndpoint
s {$sel:origination:CreateOriginEndpoint' :: Maybe Origination
origination = Maybe Origination
a} :: CreateOriginEndpoint)

-- | The ID of the Channel that the OriginEndpoint will be associated with.
-- This cannot be changed after the OriginEndpoint is created.
createOriginEndpoint_channelId :: Lens.Lens' CreateOriginEndpoint Prelude.Text
createOriginEndpoint_channelId :: (Text -> f Text) -> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_channelId = (CreateOriginEndpoint -> Text)
-> (CreateOriginEndpoint -> Text -> CreateOriginEndpoint)
-> Lens CreateOriginEndpoint CreateOriginEndpoint Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Text
channelId :: Text
$sel:channelId:CreateOriginEndpoint' :: CreateOriginEndpoint -> Text
channelId} -> Text
channelId) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Text
a -> CreateOriginEndpoint
s {$sel:channelId:CreateOriginEndpoint' :: Text
channelId = Text
a} :: CreateOriginEndpoint)

-- | The ID of the OriginEndpoint. The ID must be unique within the region
-- and it cannot be changed after the OriginEndpoint is created.
createOriginEndpoint_id :: Lens.Lens' CreateOriginEndpoint Prelude.Text
createOriginEndpoint_id :: (Text -> f Text) -> CreateOriginEndpoint -> f CreateOriginEndpoint
createOriginEndpoint_id = (CreateOriginEndpoint -> Text)
-> (CreateOriginEndpoint -> Text -> CreateOriginEndpoint)
-> Lens CreateOriginEndpoint CreateOriginEndpoint Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpoint' {Text
id :: Text
$sel:id:CreateOriginEndpoint' :: CreateOriginEndpoint -> Text
id} -> Text
id) (\s :: CreateOriginEndpoint
s@CreateOriginEndpoint' {} Text
a -> CreateOriginEndpoint
s {$sel:id:CreateOriginEndpoint' :: Text
id = Text
a} :: CreateOriginEndpoint)

instance Core.AWSRequest CreateOriginEndpoint where
  type
    AWSResponse CreateOriginEndpoint =
      CreateOriginEndpointResponse
  request :: CreateOriginEndpoint -> Request CreateOriginEndpoint
request = Service -> CreateOriginEndpoint -> Request CreateOriginEndpoint
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy CreateOriginEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse CreateOriginEndpoint)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse CreateOriginEndpoint))
-> Logger
-> Service
-> Proxy CreateOriginEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse CreateOriginEndpoint)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe [Text]
-> Maybe HlsPackage
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Authorization
-> Maybe Text
-> Maybe Int
-> Maybe DashPackage
-> Maybe MssPackage
-> Maybe Text
-> Maybe Int
-> Maybe CmafPackage
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe Origination
-> Int
-> CreateOriginEndpointResponse
CreateOriginEndpointResponse'
            (Maybe [Text]
 -> Maybe HlsPackage
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Authorization
 -> Maybe Text
 -> Maybe Int
 -> Maybe DashPackage
 -> Maybe MssPackage
 -> Maybe Text
 -> Maybe Int
 -> Maybe CmafPackage
 -> Maybe Text
 -> Maybe (HashMap Text Text)
 -> Maybe Origination
 -> Int
 -> CreateOriginEndpointResponse)
-> Either String (Maybe [Text])
-> Either
     String
     (Maybe HlsPackage
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Authorization
      -> Maybe Text
      -> Maybe Int
      -> Maybe DashPackage
      -> Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"whitelist" Either String (Maybe (Maybe [Text]))
-> Maybe [Text] -> Either String (Maybe [Text])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe HlsPackage
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Authorization
   -> Maybe Text
   -> Maybe Int
   -> Maybe DashPackage
   -> Maybe MssPackage
   -> Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe HlsPackage)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Authorization
      -> Maybe Text
      -> Maybe Int
      -> Maybe DashPackage
      -> Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe HlsPackage)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"hlsPackage")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Authorization
   -> Maybe Text
   -> Maybe Int
   -> Maybe DashPackage
   -> Maybe MssPackage
   -> Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Authorization
      -> Maybe Text
      -> Maybe Int
      -> Maybe DashPackage
      -> Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"arn")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Authorization
   -> Maybe Text
   -> Maybe Int
   -> Maybe DashPackage
   -> Maybe MssPackage
   -> Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Authorization
      -> Maybe Text
      -> Maybe Int
      -> Maybe DashPackage
      -> Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"manifestName")
            Either
  String
  (Maybe Text
   -> Maybe Authorization
   -> Maybe Text
   -> Maybe Int
   -> Maybe DashPackage
   -> Maybe MssPackage
   -> Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Authorization
      -> Maybe Text
      -> Maybe Int
      -> Maybe DashPackage
      -> Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"url")
            Either
  String
  (Maybe Authorization
   -> Maybe Text
   -> Maybe Int
   -> Maybe DashPackage
   -> Maybe MssPackage
   -> Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe Authorization)
-> Either
     String
     (Maybe Text
      -> Maybe Int
      -> Maybe DashPackage
      -> Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Authorization)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"authorization")
            Either
  String
  (Maybe Text
   -> Maybe Int
   -> Maybe DashPackage
   -> Maybe MssPackage
   -> Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Int
      -> Maybe DashPackage
      -> Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"channelId")
            Either
  String
  (Maybe Int
   -> Maybe DashPackage
   -> Maybe MssPackage
   -> Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe Int)
-> Either
     String
     (Maybe DashPackage
      -> Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Int)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"startoverWindowSeconds")
            Either
  String
  (Maybe DashPackage
   -> Maybe MssPackage
   -> Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe DashPackage)
-> Either
     String
     (Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe DashPackage)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"dashPackage")
            Either
  String
  (Maybe MssPackage
   -> Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe MssPackage)
-> Either
     String
     (Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe MssPackage)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"mssPackage")
            Either
  String
  (Maybe Text
   -> Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"id")
            Either
  String
  (Maybe Int
   -> Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe Int)
-> Either
     String
     (Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Int)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"timeDelaySeconds")
            Either
  String
  (Maybe CmafPackage
   -> Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe CmafPackage)
-> Either
     String
     (Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe CmafPackage)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"cmafPackage")
            Either
  String
  (Maybe Text
   -> Maybe (HashMap Text Text)
   -> Maybe Origination
   -> Int
   -> CreateOriginEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe (HashMap Text Text)
      -> Maybe Origination -> Int -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"description")
            Either
  String
  (Maybe (HashMap Text Text)
   -> Maybe Origination -> Int -> CreateOriginEndpointResponse)
-> Either String (Maybe (HashMap Text Text))
-> Either
     String (Maybe Origination -> Int -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe (HashMap Text Text)))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"tags" Either String (Maybe (Maybe (HashMap Text Text)))
-> Maybe (HashMap Text Text)
-> Either String (Maybe (HashMap Text Text))
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe (HashMap Text Text)
forall a. Monoid a => a
Prelude.mempty)
            Either
  String (Maybe Origination -> Int -> CreateOriginEndpointResponse)
-> Either String (Maybe Origination)
-> Either String (Int -> CreateOriginEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Origination)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"origination")
            Either String (Int -> CreateOriginEndpointResponse)
-> Either String Int -> Either String CreateOriginEndpointResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable CreateOriginEndpoint

instance Prelude.NFData CreateOriginEndpoint

instance Core.ToHeaders CreateOriginEndpoint where
  toHeaders :: CreateOriginEndpoint -> ResponseHeaders
toHeaders =
    ResponseHeaders -> CreateOriginEndpoint -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Core.ToJSON CreateOriginEndpoint where
  toJSON :: CreateOriginEndpoint -> Value
toJSON CreateOriginEndpoint' {Maybe Int
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe Authorization
Maybe Origination
Maybe MssPackage
Maybe HlsPackage
Maybe CmafPackageCreateOrUpdateParameters
Maybe DashPackage
Text
id :: Text
channelId :: Text
origination :: Maybe Origination
tags :: Maybe (HashMap Text Text)
description :: Maybe Text
cmafPackage :: Maybe CmafPackageCreateOrUpdateParameters
timeDelaySeconds :: Maybe Int
mssPackage :: Maybe MssPackage
dashPackage :: Maybe DashPackage
startoverWindowSeconds :: Maybe Int
authorization :: Maybe Authorization
manifestName :: Maybe Text
hlsPackage :: Maybe HlsPackage
whitelist :: Maybe [Text]
$sel:id:CreateOriginEndpoint' :: CreateOriginEndpoint -> Text
$sel:channelId:CreateOriginEndpoint' :: CreateOriginEndpoint -> Text
$sel:origination:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Origination
$sel:tags:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe (HashMap Text Text)
$sel:description:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Text
$sel:cmafPackage:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe CmafPackageCreateOrUpdateParameters
$sel:timeDelaySeconds:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Int
$sel:mssPackage:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe MssPackage
$sel:dashPackage:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe DashPackage
$sel:startoverWindowSeconds:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Int
$sel:authorization:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Authorization
$sel:manifestName:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe Text
$sel:hlsPackage:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe HlsPackage
$sel:whitelist:CreateOriginEndpoint' :: CreateOriginEndpoint -> Maybe [Text]
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"whitelist" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
whitelist,
            (Text
"hlsPackage" Text -> HlsPackage -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (HlsPackage -> Pair) -> Maybe HlsPackage -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe HlsPackage
hlsPackage,
            (Text
"manifestName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
manifestName,
            (Text
"authorization" Text -> Authorization -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Authorization -> Pair) -> Maybe Authorization -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Authorization
authorization,
            (Text
"startoverWindowSeconds" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
startoverWindowSeconds,
            (Text
"dashPackage" Text -> DashPackage -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (DashPackage -> Pair) -> Maybe DashPackage -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DashPackage
dashPackage,
            (Text
"mssPackage" Text -> MssPackage -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (MssPackage -> Pair) -> Maybe MssPackage -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MssPackage
mssPackage,
            (Text
"timeDelaySeconds" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
timeDelaySeconds,
            (Text
"cmafPackage" Text -> CmafPackageCreateOrUpdateParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (CmafPackageCreateOrUpdateParameters -> Pair)
-> Maybe CmafPackageCreateOrUpdateParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CmafPackageCreateOrUpdateParameters
cmafPackage,
            (Text
"description" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description,
            (Text
"tags" Text -> HashMap Text Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (HashMap Text Text -> Pair)
-> Maybe (HashMap Text Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
tags,
            (Text
"origination" Text -> Origination -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Origination -> Pair) -> Maybe Origination -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Origination
origination,
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"channelId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
channelId),
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"id" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
id)
          ]
      )

instance Core.ToPath CreateOriginEndpoint where
  toPath :: CreateOriginEndpoint -> ByteString
toPath = ByteString -> CreateOriginEndpoint -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/origin_endpoints"

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

-- | /See:/ 'newCreateOriginEndpointResponse' smart constructor.
data CreateOriginEndpointResponse = CreateOriginEndpointResponse'
  { -- | A list of source IP CIDR blocks that will be allowed to access the
    -- OriginEndpoint.
    CreateOriginEndpointResponse -> Maybe [Text]
whitelist :: Prelude.Maybe [Prelude.Text],
    CreateOriginEndpointResponse -> Maybe HlsPackage
hlsPackage :: Prelude.Maybe HlsPackage,
    -- | The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
    CreateOriginEndpointResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | A short string appended to the end of the OriginEndpoint URL.
    CreateOriginEndpointResponse -> Maybe Text
manifestName :: Prelude.Maybe Prelude.Text,
    -- | The URL of the packaged OriginEndpoint for consumption.
    CreateOriginEndpointResponse -> Maybe Text
url :: Prelude.Maybe Prelude.Text,
    CreateOriginEndpointResponse -> Maybe Authorization
authorization :: Prelude.Maybe Authorization,
    -- | The ID of the Channel the OriginEndpoint is associated with.
    CreateOriginEndpointResponse -> Maybe Text
channelId :: Prelude.Maybe Prelude.Text,
    -- | Maximum duration (seconds) of content to retain for startover playback.
    -- If not specified, startover playback will be disabled for the
    -- OriginEndpoint.
    CreateOriginEndpointResponse -> Maybe Int
startoverWindowSeconds :: Prelude.Maybe Prelude.Int,
    CreateOriginEndpointResponse -> Maybe DashPackage
dashPackage :: Prelude.Maybe DashPackage,
    CreateOriginEndpointResponse -> Maybe MssPackage
mssPackage :: Prelude.Maybe MssPackage,
    -- | The ID of the OriginEndpoint.
    CreateOriginEndpointResponse -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
    -- | Amount of delay (seconds) to enforce on the playback of live content. If
    -- not specified, there will be no time delay in effect for the
    -- OriginEndpoint.
    CreateOriginEndpointResponse -> Maybe Int
timeDelaySeconds :: Prelude.Maybe Prelude.Int,
    CreateOriginEndpointResponse -> Maybe CmafPackage
cmafPackage :: Prelude.Maybe CmafPackage,
    -- | A short text description of the OriginEndpoint.
    CreateOriginEndpointResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    CreateOriginEndpointResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | Control whether origination of video is allowed for this OriginEndpoint.
    -- If set to ALLOW, the OriginEndpoint may by requested, pursuant to any
    -- other form of access control. If set to DENY, the OriginEndpoint may not
    -- be requested. This can be helpful for Live to VOD harvesting, or for
    -- temporarily disabling origination
    CreateOriginEndpointResponse -> Maybe Origination
origination :: Prelude.Maybe Origination,
    -- | The response's http status code.
    CreateOriginEndpointResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (CreateOriginEndpointResponse
-> CreateOriginEndpointResponse -> Bool
(CreateOriginEndpointResponse
 -> CreateOriginEndpointResponse -> Bool)
-> (CreateOriginEndpointResponse
    -> CreateOriginEndpointResponse -> Bool)
-> Eq CreateOriginEndpointResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateOriginEndpointResponse
-> CreateOriginEndpointResponse -> Bool
$c/= :: CreateOriginEndpointResponse
-> CreateOriginEndpointResponse -> Bool
== :: CreateOriginEndpointResponse
-> CreateOriginEndpointResponse -> Bool
$c== :: CreateOriginEndpointResponse
-> CreateOriginEndpointResponse -> Bool
Prelude.Eq, ReadPrec [CreateOriginEndpointResponse]
ReadPrec CreateOriginEndpointResponse
Int -> ReadS CreateOriginEndpointResponse
ReadS [CreateOriginEndpointResponse]
(Int -> ReadS CreateOriginEndpointResponse)
-> ReadS [CreateOriginEndpointResponse]
-> ReadPrec CreateOriginEndpointResponse
-> ReadPrec [CreateOriginEndpointResponse]
-> Read CreateOriginEndpointResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateOriginEndpointResponse]
$creadListPrec :: ReadPrec [CreateOriginEndpointResponse]
readPrec :: ReadPrec CreateOriginEndpointResponse
$creadPrec :: ReadPrec CreateOriginEndpointResponse
readList :: ReadS [CreateOriginEndpointResponse]
$creadList :: ReadS [CreateOriginEndpointResponse]
readsPrec :: Int -> ReadS CreateOriginEndpointResponse
$creadsPrec :: Int -> ReadS CreateOriginEndpointResponse
Prelude.Read, Int -> CreateOriginEndpointResponse -> ShowS
[CreateOriginEndpointResponse] -> ShowS
CreateOriginEndpointResponse -> String
(Int -> CreateOriginEndpointResponse -> ShowS)
-> (CreateOriginEndpointResponse -> String)
-> ([CreateOriginEndpointResponse] -> ShowS)
-> Show CreateOriginEndpointResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateOriginEndpointResponse] -> ShowS
$cshowList :: [CreateOriginEndpointResponse] -> ShowS
show :: CreateOriginEndpointResponse -> String
$cshow :: CreateOriginEndpointResponse -> String
showsPrec :: Int -> CreateOriginEndpointResponse -> ShowS
$cshowsPrec :: Int -> CreateOriginEndpointResponse -> ShowS
Prelude.Show, (forall x.
 CreateOriginEndpointResponse -> Rep CreateOriginEndpointResponse x)
-> (forall x.
    Rep CreateOriginEndpointResponse x -> CreateOriginEndpointResponse)
-> Generic CreateOriginEndpointResponse
forall x.
Rep CreateOriginEndpointResponse x -> CreateOriginEndpointResponse
forall x.
CreateOriginEndpointResponse -> Rep CreateOriginEndpointResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateOriginEndpointResponse x -> CreateOriginEndpointResponse
$cfrom :: forall x.
CreateOriginEndpointResponse -> Rep CreateOriginEndpointResponse x
Prelude.Generic)

-- |
-- Create a value of 'CreateOriginEndpointResponse' 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:
--
-- 'whitelist', 'createOriginEndpointResponse_whitelist' - A list of source IP CIDR blocks that will be allowed to access the
-- OriginEndpoint.
--
-- 'hlsPackage', 'createOriginEndpointResponse_hlsPackage' - Undocumented member.
--
-- 'arn', 'createOriginEndpointResponse_arn' - The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
--
-- 'manifestName', 'createOriginEndpointResponse_manifestName' - A short string appended to the end of the OriginEndpoint URL.
--
-- 'url', 'createOriginEndpointResponse_url' - The URL of the packaged OriginEndpoint for consumption.
--
-- 'authorization', 'createOriginEndpointResponse_authorization' - Undocumented member.
--
-- 'channelId', 'createOriginEndpointResponse_channelId' - The ID of the Channel the OriginEndpoint is associated with.
--
-- 'startoverWindowSeconds', 'createOriginEndpointResponse_startoverWindowSeconds' - Maximum duration (seconds) of content to retain for startover playback.
-- If not specified, startover playback will be disabled for the
-- OriginEndpoint.
--
-- 'dashPackage', 'createOriginEndpointResponse_dashPackage' - Undocumented member.
--
-- 'mssPackage', 'createOriginEndpointResponse_mssPackage' - Undocumented member.
--
-- 'id', 'createOriginEndpointResponse_id' - The ID of the OriginEndpoint.
--
-- 'timeDelaySeconds', 'createOriginEndpointResponse_timeDelaySeconds' - Amount of delay (seconds) to enforce on the playback of live content. If
-- not specified, there will be no time delay in effect for the
-- OriginEndpoint.
--
-- 'cmafPackage', 'createOriginEndpointResponse_cmafPackage' - Undocumented member.
--
-- 'description', 'createOriginEndpointResponse_description' - A short text description of the OriginEndpoint.
--
-- 'tags', 'createOriginEndpointResponse_tags' - Undocumented member.
--
-- 'origination', 'createOriginEndpointResponse_origination' - Control whether origination of video is allowed for this OriginEndpoint.
-- If set to ALLOW, the OriginEndpoint may by requested, pursuant to any
-- other form of access control. If set to DENY, the OriginEndpoint may not
-- be requested. This can be helpful for Live to VOD harvesting, or for
-- temporarily disabling origination
--
-- 'httpStatus', 'createOriginEndpointResponse_httpStatus' - The response's http status code.
newCreateOriginEndpointResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  CreateOriginEndpointResponse
newCreateOriginEndpointResponse :: Int -> CreateOriginEndpointResponse
newCreateOriginEndpointResponse Int
pHttpStatus_ =
  CreateOriginEndpointResponse' :: Maybe [Text]
-> Maybe HlsPackage
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Authorization
-> Maybe Text
-> Maybe Int
-> Maybe DashPackage
-> Maybe MssPackage
-> Maybe Text
-> Maybe Int
-> Maybe CmafPackage
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe Origination
-> Int
-> CreateOriginEndpointResponse
CreateOriginEndpointResponse'
    { $sel:whitelist:CreateOriginEndpointResponse' :: Maybe [Text]
whitelist =
        Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:hlsPackage:CreateOriginEndpointResponse' :: Maybe HlsPackage
hlsPackage = Maybe HlsPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:arn:CreateOriginEndpointResponse' :: Maybe Text
arn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:manifestName:CreateOriginEndpointResponse' :: Maybe Text
manifestName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:url:CreateOriginEndpointResponse' :: Maybe Text
url = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:authorization:CreateOriginEndpointResponse' :: Maybe Authorization
authorization = Maybe Authorization
forall a. Maybe a
Prelude.Nothing,
      $sel:channelId:CreateOriginEndpointResponse' :: Maybe Text
channelId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:startoverWindowSeconds:CreateOriginEndpointResponse' :: Maybe Int
startoverWindowSeconds = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:dashPackage:CreateOriginEndpointResponse' :: Maybe DashPackage
dashPackage = Maybe DashPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:mssPackage:CreateOriginEndpointResponse' :: Maybe MssPackage
mssPackage = Maybe MssPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:id:CreateOriginEndpointResponse' :: Maybe Text
id = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:timeDelaySeconds:CreateOriginEndpointResponse' :: Maybe Int
timeDelaySeconds = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:cmafPackage:CreateOriginEndpointResponse' :: Maybe CmafPackage
cmafPackage = Maybe CmafPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:description:CreateOriginEndpointResponse' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:tags:CreateOriginEndpointResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:origination:CreateOriginEndpointResponse' :: Maybe Origination
origination = Maybe Origination
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:CreateOriginEndpointResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A list of source IP CIDR blocks that will be allowed to access the
-- OriginEndpoint.
createOriginEndpointResponse_whitelist :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe [Prelude.Text])
createOriginEndpointResponse_whitelist :: (Maybe [Text] -> f (Maybe [Text]))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_whitelist = (CreateOriginEndpointResponse -> Maybe [Text])
-> (CreateOriginEndpointResponse
    -> Maybe [Text] -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe [Text]
whitelist :: Maybe [Text]
$sel:whitelist:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe [Text]
whitelist} -> Maybe [Text]
whitelist) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe [Text]
a -> CreateOriginEndpointResponse
s {$sel:whitelist:CreateOriginEndpointResponse' :: Maybe [Text]
whitelist = Maybe [Text]
a} :: CreateOriginEndpointResponse) ((Maybe [Text] -> f (Maybe [Text]))
 -> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> CreateOriginEndpointResponse
-> f CreateOriginEndpointResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
createOriginEndpointResponse_hlsPackage :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe HlsPackage)
createOriginEndpointResponse_hlsPackage :: (Maybe HlsPackage -> f (Maybe HlsPackage))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_hlsPackage = (CreateOriginEndpointResponse -> Maybe HlsPackage)
-> (CreateOriginEndpointResponse
    -> Maybe HlsPackage -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe HlsPackage)
     (Maybe HlsPackage)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe HlsPackage
hlsPackage :: Maybe HlsPackage
$sel:hlsPackage:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe HlsPackage
hlsPackage} -> Maybe HlsPackage
hlsPackage) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe HlsPackage
a -> CreateOriginEndpointResponse
s {$sel:hlsPackage:CreateOriginEndpointResponse' :: Maybe HlsPackage
hlsPackage = Maybe HlsPackage
a} :: CreateOriginEndpointResponse)

-- | The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
createOriginEndpointResponse_arn :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Prelude.Text)
createOriginEndpointResponse_arn :: (Maybe Text -> f (Maybe Text))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_arn = (CreateOriginEndpointResponse -> Maybe Text)
-> (CreateOriginEndpointResponse
    -> Maybe Text -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Text
a -> CreateOriginEndpointResponse
s {$sel:arn:CreateOriginEndpointResponse' :: Maybe Text
arn = Maybe Text
a} :: CreateOriginEndpointResponse)

-- | A short string appended to the end of the OriginEndpoint URL.
createOriginEndpointResponse_manifestName :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Prelude.Text)
createOriginEndpointResponse_manifestName :: (Maybe Text -> f (Maybe Text))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_manifestName = (CreateOriginEndpointResponse -> Maybe Text)
-> (CreateOriginEndpointResponse
    -> Maybe Text -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Text
manifestName :: Maybe Text
$sel:manifestName:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Text
manifestName} -> Maybe Text
manifestName) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Text
a -> CreateOriginEndpointResponse
s {$sel:manifestName:CreateOriginEndpointResponse' :: Maybe Text
manifestName = Maybe Text
a} :: CreateOriginEndpointResponse)

-- | The URL of the packaged OriginEndpoint for consumption.
createOriginEndpointResponse_url :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Prelude.Text)
createOriginEndpointResponse_url :: (Maybe Text -> f (Maybe Text))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_url = (CreateOriginEndpointResponse -> Maybe Text)
-> (CreateOriginEndpointResponse
    -> Maybe Text -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Text
url :: Maybe Text
$sel:url:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Text
url} -> Maybe Text
url) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Text
a -> CreateOriginEndpointResponse
s {$sel:url:CreateOriginEndpointResponse' :: Maybe Text
url = Maybe Text
a} :: CreateOriginEndpointResponse)

-- | Undocumented member.
createOriginEndpointResponse_authorization :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Authorization)
createOriginEndpointResponse_authorization :: (Maybe Authorization -> f (Maybe Authorization))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_authorization = (CreateOriginEndpointResponse -> Maybe Authorization)
-> (CreateOriginEndpointResponse
    -> Maybe Authorization -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Authorization)
     (Maybe Authorization)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Authorization
authorization :: Maybe Authorization
$sel:authorization:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Authorization
authorization} -> Maybe Authorization
authorization) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Authorization
a -> CreateOriginEndpointResponse
s {$sel:authorization:CreateOriginEndpointResponse' :: Maybe Authorization
authorization = Maybe Authorization
a} :: CreateOriginEndpointResponse)

-- | The ID of the Channel the OriginEndpoint is associated with.
createOriginEndpointResponse_channelId :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Prelude.Text)
createOriginEndpointResponse_channelId :: (Maybe Text -> f (Maybe Text))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_channelId = (CreateOriginEndpointResponse -> Maybe Text)
-> (CreateOriginEndpointResponse
    -> Maybe Text -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Text
channelId :: Maybe Text
$sel:channelId:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Text
channelId} -> Maybe Text
channelId) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Text
a -> CreateOriginEndpointResponse
s {$sel:channelId:CreateOriginEndpointResponse' :: Maybe Text
channelId = Maybe Text
a} :: CreateOriginEndpointResponse)

-- | Maximum duration (seconds) of content to retain for startover playback.
-- If not specified, startover playback will be disabled for the
-- OriginEndpoint.
createOriginEndpointResponse_startoverWindowSeconds :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Prelude.Int)
createOriginEndpointResponse_startoverWindowSeconds :: (Maybe Int -> f (Maybe Int))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_startoverWindowSeconds = (CreateOriginEndpointResponse -> Maybe Int)
-> (CreateOriginEndpointResponse
    -> Maybe Int -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Int
startoverWindowSeconds :: Maybe Int
$sel:startoverWindowSeconds:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Int
startoverWindowSeconds} -> Maybe Int
startoverWindowSeconds) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Int
a -> CreateOriginEndpointResponse
s {$sel:startoverWindowSeconds:CreateOriginEndpointResponse' :: Maybe Int
startoverWindowSeconds = Maybe Int
a} :: CreateOriginEndpointResponse)

-- | Undocumented member.
createOriginEndpointResponse_dashPackage :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe DashPackage)
createOriginEndpointResponse_dashPackage :: (Maybe DashPackage -> f (Maybe DashPackage))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_dashPackage = (CreateOriginEndpointResponse -> Maybe DashPackage)
-> (CreateOriginEndpointResponse
    -> Maybe DashPackage -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe DashPackage)
     (Maybe DashPackage)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe DashPackage
dashPackage :: Maybe DashPackage
$sel:dashPackage:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe DashPackage
dashPackage} -> Maybe DashPackage
dashPackage) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe DashPackage
a -> CreateOriginEndpointResponse
s {$sel:dashPackage:CreateOriginEndpointResponse' :: Maybe DashPackage
dashPackage = Maybe DashPackage
a} :: CreateOriginEndpointResponse)

-- | Undocumented member.
createOriginEndpointResponse_mssPackage :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe MssPackage)
createOriginEndpointResponse_mssPackage :: (Maybe MssPackage -> f (Maybe MssPackage))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_mssPackage = (CreateOriginEndpointResponse -> Maybe MssPackage)
-> (CreateOriginEndpointResponse
    -> Maybe MssPackage -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe MssPackage)
     (Maybe MssPackage)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe MssPackage
mssPackage :: Maybe MssPackage
$sel:mssPackage:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe MssPackage
mssPackage} -> Maybe MssPackage
mssPackage) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe MssPackage
a -> CreateOriginEndpointResponse
s {$sel:mssPackage:CreateOriginEndpointResponse' :: Maybe MssPackage
mssPackage = Maybe MssPackage
a} :: CreateOriginEndpointResponse)

-- | The ID of the OriginEndpoint.
createOriginEndpointResponse_id :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Prelude.Text)
createOriginEndpointResponse_id :: (Maybe Text -> f (Maybe Text))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_id = (CreateOriginEndpointResponse -> Maybe Text)
-> (CreateOriginEndpointResponse
    -> Maybe Text -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Text
id :: Maybe Text
$sel:id:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Text
id} -> Maybe Text
id) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Text
a -> CreateOriginEndpointResponse
s {$sel:id:CreateOriginEndpointResponse' :: Maybe Text
id = Maybe Text
a} :: CreateOriginEndpointResponse)

-- | Amount of delay (seconds) to enforce on the playback of live content. If
-- not specified, there will be no time delay in effect for the
-- OriginEndpoint.
createOriginEndpointResponse_timeDelaySeconds :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Prelude.Int)
createOriginEndpointResponse_timeDelaySeconds :: (Maybe Int -> f (Maybe Int))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_timeDelaySeconds = (CreateOriginEndpointResponse -> Maybe Int)
-> (CreateOriginEndpointResponse
    -> Maybe Int -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Int
timeDelaySeconds :: Maybe Int
$sel:timeDelaySeconds:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Int
timeDelaySeconds} -> Maybe Int
timeDelaySeconds) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Int
a -> CreateOriginEndpointResponse
s {$sel:timeDelaySeconds:CreateOriginEndpointResponse' :: Maybe Int
timeDelaySeconds = Maybe Int
a} :: CreateOriginEndpointResponse)

-- | Undocumented member.
createOriginEndpointResponse_cmafPackage :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe CmafPackage)
createOriginEndpointResponse_cmafPackage :: (Maybe CmafPackage -> f (Maybe CmafPackage))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_cmafPackage = (CreateOriginEndpointResponse -> Maybe CmafPackage)
-> (CreateOriginEndpointResponse
    -> Maybe CmafPackage -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe CmafPackage)
     (Maybe CmafPackage)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe CmafPackage
cmafPackage :: Maybe CmafPackage
$sel:cmafPackage:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe CmafPackage
cmafPackage} -> Maybe CmafPackage
cmafPackage) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe CmafPackage
a -> CreateOriginEndpointResponse
s {$sel:cmafPackage:CreateOriginEndpointResponse' :: Maybe CmafPackage
cmafPackage = Maybe CmafPackage
a} :: CreateOriginEndpointResponse)

-- | A short text description of the OriginEndpoint.
createOriginEndpointResponse_description :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Prelude.Text)
createOriginEndpointResponse_description :: (Maybe Text -> f (Maybe Text))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_description = (CreateOriginEndpointResponse -> Maybe Text)
-> (CreateOriginEndpointResponse
    -> Maybe Text -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Text
description :: Maybe Text
$sel:description:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Text
a -> CreateOriginEndpointResponse
s {$sel:description:CreateOriginEndpointResponse' :: Maybe Text
description = Maybe Text
a} :: CreateOriginEndpointResponse)

-- | Undocumented member.
createOriginEndpointResponse_tags :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createOriginEndpointResponse_tags :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_tags = (CreateOriginEndpointResponse -> Maybe (HashMap Text Text))
-> (CreateOriginEndpointResponse
    -> Maybe (HashMap Text Text) -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe (HashMap Text Text)
a -> CreateOriginEndpointResponse
s {$sel:tags:CreateOriginEndpointResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: CreateOriginEndpointResponse) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> CreateOriginEndpointResponse
-> f CreateOriginEndpointResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
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 AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Control whether origination of video is allowed for this OriginEndpoint.
-- If set to ALLOW, the OriginEndpoint may by requested, pursuant to any
-- other form of access control. If set to DENY, the OriginEndpoint may not
-- be requested. This can be helpful for Live to VOD harvesting, or for
-- temporarily disabling origination
createOriginEndpointResponse_origination :: Lens.Lens' CreateOriginEndpointResponse (Prelude.Maybe Origination)
createOriginEndpointResponse_origination :: (Maybe Origination -> f (Maybe Origination))
-> CreateOriginEndpointResponse -> f CreateOriginEndpointResponse
createOriginEndpointResponse_origination = (CreateOriginEndpointResponse -> Maybe Origination)
-> (CreateOriginEndpointResponse
    -> Maybe Origination -> CreateOriginEndpointResponse)
-> Lens
     CreateOriginEndpointResponse
     CreateOriginEndpointResponse
     (Maybe Origination)
     (Maybe Origination)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginEndpointResponse' {Maybe Origination
origination :: Maybe Origination
$sel:origination:CreateOriginEndpointResponse' :: CreateOriginEndpointResponse -> Maybe Origination
origination} -> Maybe Origination
origination) (\s :: CreateOriginEndpointResponse
s@CreateOriginEndpointResponse' {} Maybe Origination
a -> CreateOriginEndpointResponse
s {$sel:origination:CreateOriginEndpointResponse' :: Maybe Origination
origination = Maybe Origination
a} :: CreateOriginEndpointResponse)

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

instance Prelude.NFData CreateOriginEndpointResponse