{-# 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.UpdateOriginEndpoint
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates an existing OriginEndpoint.
module Amazonka.MediaPackage.UpdateOriginEndpoint
  ( -- * Creating a Request
    UpdateOriginEndpoint (..),
    newUpdateOriginEndpoint,

    -- * Request Lenses
    updateOriginEndpoint_authorization,
    updateOriginEndpoint_cmafPackage,
    updateOriginEndpoint_dashPackage,
    updateOriginEndpoint_description,
    updateOriginEndpoint_hlsPackage,
    updateOriginEndpoint_manifestName,
    updateOriginEndpoint_mssPackage,
    updateOriginEndpoint_origination,
    updateOriginEndpoint_startoverWindowSeconds,
    updateOriginEndpoint_timeDelaySeconds,
    updateOriginEndpoint_whitelist,
    updateOriginEndpoint_id,

    -- * Destructuring the Response
    UpdateOriginEndpointResponse (..),
    newUpdateOriginEndpointResponse,

    -- * Response Lenses
    updateOriginEndpointResponse_arn,
    updateOriginEndpointResponse_authorization,
    updateOriginEndpointResponse_channelId,
    updateOriginEndpointResponse_cmafPackage,
    updateOriginEndpointResponse_dashPackage,
    updateOriginEndpointResponse_description,
    updateOriginEndpointResponse_hlsPackage,
    updateOriginEndpointResponse_id,
    updateOriginEndpointResponse_manifestName,
    updateOriginEndpointResponse_mssPackage,
    updateOriginEndpointResponse_origination,
    updateOriginEndpointResponse_startoverWindowSeconds,
    updateOriginEndpointResponse_tags,
    updateOriginEndpointResponse_timeDelaySeconds,
    updateOriginEndpointResponse_url,
    updateOriginEndpointResponse_whitelist,
    updateOriginEndpointResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
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 update an existing OriginEndpoint.
--
-- /See:/ 'newUpdateOriginEndpoint' smart constructor.
data UpdateOriginEndpoint = UpdateOriginEndpoint'
  { UpdateOriginEndpoint -> Maybe Authorization
authorization :: Prelude.Maybe Authorization,
    UpdateOriginEndpoint -> Maybe CmafPackageCreateOrUpdateParameters
cmafPackage :: Prelude.Maybe CmafPackageCreateOrUpdateParameters,
    UpdateOriginEndpoint -> Maybe DashPackage
dashPackage :: Prelude.Maybe DashPackage,
    -- | A short text description of the OriginEndpoint.
    UpdateOriginEndpoint -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    UpdateOriginEndpoint -> Maybe HlsPackage
hlsPackage :: Prelude.Maybe HlsPackage,
    -- | A short string that will be appended to the end of the Endpoint URL.
    UpdateOriginEndpoint -> Maybe Text
manifestName :: Prelude.Maybe Prelude.Text,
    UpdateOriginEndpoint -> Maybe MssPackage
mssPackage :: Prelude.Maybe MssPackage,
    -- | 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
    UpdateOriginEndpoint -> Maybe Origination
origination :: Prelude.Maybe Origination,
    -- | Maximum duration (in seconds) of content to retain for startover
    -- playback. If not specified, startover playback will be disabled for the
    -- OriginEndpoint.
    UpdateOriginEndpoint -> Maybe Int
startoverWindowSeconds :: Prelude.Maybe Prelude.Int,
    -- | Amount of delay (in seconds) to enforce on the playback of live content.
    -- If not specified, there will be no time delay in effect for the
    -- OriginEndpoint.
    UpdateOriginEndpoint -> Maybe Int
timeDelaySeconds :: Prelude.Maybe Prelude.Int,
    -- | A list of source IP CIDR blocks that will be allowed to access the
    -- OriginEndpoint.
    UpdateOriginEndpoint -> Maybe [Text]
whitelist :: Prelude.Maybe [Prelude.Text],
    -- | The ID of the OriginEndpoint to update.
    UpdateOriginEndpoint -> Text
id :: Prelude.Text
  }
  deriving (UpdateOriginEndpoint -> UpdateOriginEndpoint -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateOriginEndpoint -> UpdateOriginEndpoint -> Bool
$c/= :: UpdateOriginEndpoint -> UpdateOriginEndpoint -> Bool
== :: UpdateOriginEndpoint -> UpdateOriginEndpoint -> Bool
$c== :: UpdateOriginEndpoint -> UpdateOriginEndpoint -> Bool
Prelude.Eq, ReadPrec [UpdateOriginEndpoint]
ReadPrec UpdateOriginEndpoint
Int -> ReadS UpdateOriginEndpoint
ReadS [UpdateOriginEndpoint]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateOriginEndpoint]
$creadListPrec :: ReadPrec [UpdateOriginEndpoint]
readPrec :: ReadPrec UpdateOriginEndpoint
$creadPrec :: ReadPrec UpdateOriginEndpoint
readList :: ReadS [UpdateOriginEndpoint]
$creadList :: ReadS [UpdateOriginEndpoint]
readsPrec :: Int -> ReadS UpdateOriginEndpoint
$creadsPrec :: Int -> ReadS UpdateOriginEndpoint
Prelude.Read, Int -> UpdateOriginEndpoint -> ShowS
[UpdateOriginEndpoint] -> ShowS
UpdateOriginEndpoint -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateOriginEndpoint] -> ShowS
$cshowList :: [UpdateOriginEndpoint] -> ShowS
show :: UpdateOriginEndpoint -> String
$cshow :: UpdateOriginEndpoint -> String
showsPrec :: Int -> UpdateOriginEndpoint -> ShowS
$cshowsPrec :: Int -> UpdateOriginEndpoint -> ShowS
Prelude.Show, forall x. Rep UpdateOriginEndpoint x -> UpdateOriginEndpoint
forall x. UpdateOriginEndpoint -> Rep UpdateOriginEndpoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateOriginEndpoint x -> UpdateOriginEndpoint
$cfrom :: forall x. UpdateOriginEndpoint -> Rep UpdateOriginEndpoint x
Prelude.Generic)

-- |
-- Create a value of 'UpdateOriginEndpoint' 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:
--
-- 'authorization', 'updateOriginEndpoint_authorization' - Undocumented member.
--
-- 'cmafPackage', 'updateOriginEndpoint_cmafPackage' - Undocumented member.
--
-- 'dashPackage', 'updateOriginEndpoint_dashPackage' - Undocumented member.
--
-- 'description', 'updateOriginEndpoint_description' - A short text description of the OriginEndpoint.
--
-- 'hlsPackage', 'updateOriginEndpoint_hlsPackage' - Undocumented member.
--
-- 'manifestName', 'updateOriginEndpoint_manifestName' - A short string that will be appended to the end of the Endpoint URL.
--
-- 'mssPackage', 'updateOriginEndpoint_mssPackage' - Undocumented member.
--
-- 'origination', 'updateOriginEndpoint_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
--
-- 'startoverWindowSeconds', 'updateOriginEndpoint_startoverWindowSeconds' - Maximum duration (in seconds) of content to retain for startover
-- playback. If not specified, startover playback will be disabled for the
-- OriginEndpoint.
--
-- 'timeDelaySeconds', 'updateOriginEndpoint_timeDelaySeconds' - Amount of delay (in seconds) to enforce on the playback of live content.
-- If not specified, there will be no time delay in effect for the
-- OriginEndpoint.
--
-- 'whitelist', 'updateOriginEndpoint_whitelist' - A list of source IP CIDR blocks that will be allowed to access the
-- OriginEndpoint.
--
-- 'id', 'updateOriginEndpoint_id' - The ID of the OriginEndpoint to update.
newUpdateOriginEndpoint ::
  -- | 'id'
  Prelude.Text ->
  UpdateOriginEndpoint
newUpdateOriginEndpoint :: Text -> UpdateOriginEndpoint
newUpdateOriginEndpoint Text
pId_ =
  UpdateOriginEndpoint'
    { $sel:authorization:UpdateOriginEndpoint' :: Maybe Authorization
authorization =
        forall a. Maybe a
Prelude.Nothing,
      $sel:cmafPackage:UpdateOriginEndpoint' :: Maybe CmafPackageCreateOrUpdateParameters
cmafPackage = forall a. Maybe a
Prelude.Nothing,
      $sel:dashPackage:UpdateOriginEndpoint' :: Maybe DashPackage
dashPackage = forall a. Maybe a
Prelude.Nothing,
      $sel:description:UpdateOriginEndpoint' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:hlsPackage:UpdateOriginEndpoint' :: Maybe HlsPackage
hlsPackage = forall a. Maybe a
Prelude.Nothing,
      $sel:manifestName:UpdateOriginEndpoint' :: Maybe Text
manifestName = forall a. Maybe a
Prelude.Nothing,
      $sel:mssPackage:UpdateOriginEndpoint' :: Maybe MssPackage
mssPackage = forall a. Maybe a
Prelude.Nothing,
      $sel:origination:UpdateOriginEndpoint' :: Maybe Origination
origination = forall a. Maybe a
Prelude.Nothing,
      $sel:startoverWindowSeconds:UpdateOriginEndpoint' :: Maybe Int
startoverWindowSeconds = forall a. Maybe a
Prelude.Nothing,
      $sel:timeDelaySeconds:UpdateOriginEndpoint' :: Maybe Int
timeDelaySeconds = forall a. Maybe a
Prelude.Nothing,
      $sel:whitelist:UpdateOriginEndpoint' :: Maybe [Text]
whitelist = forall a. Maybe a
Prelude.Nothing,
      $sel:id:UpdateOriginEndpoint' :: Text
id = Text
pId_
    }

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

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

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

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

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

-- | A short string that will be appended to the end of the Endpoint URL.
updateOriginEndpoint_manifestName :: Lens.Lens' UpdateOriginEndpoint (Prelude.Maybe Prelude.Text)
updateOriginEndpoint_manifestName :: Lens' UpdateOriginEndpoint (Maybe Text)
updateOriginEndpoint_manifestName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOriginEndpoint' {Maybe Text
manifestName :: Maybe Text
$sel:manifestName:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Text
manifestName} -> Maybe Text
manifestName) (\s :: UpdateOriginEndpoint
s@UpdateOriginEndpoint' {} Maybe Text
a -> UpdateOriginEndpoint
s {$sel:manifestName:UpdateOriginEndpoint' :: Maybe Text
manifestName = Maybe Text
a} :: UpdateOriginEndpoint)

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

-- | 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
updateOriginEndpoint_origination :: Lens.Lens' UpdateOriginEndpoint (Prelude.Maybe Origination)
updateOriginEndpoint_origination :: Lens' UpdateOriginEndpoint (Maybe Origination)
updateOriginEndpoint_origination = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOriginEndpoint' {Maybe Origination
origination :: Maybe Origination
$sel:origination:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Origination
origination} -> Maybe Origination
origination) (\s :: UpdateOriginEndpoint
s@UpdateOriginEndpoint' {} Maybe Origination
a -> UpdateOriginEndpoint
s {$sel:origination:UpdateOriginEndpoint' :: Maybe Origination
origination = Maybe Origination
a} :: UpdateOriginEndpoint)

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

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

-- | A list of source IP CIDR blocks that will be allowed to access the
-- OriginEndpoint.
updateOriginEndpoint_whitelist :: Lens.Lens' UpdateOriginEndpoint (Prelude.Maybe [Prelude.Text])
updateOriginEndpoint_whitelist :: Lens' UpdateOriginEndpoint (Maybe [Text])
updateOriginEndpoint_whitelist = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOriginEndpoint' {Maybe [Text]
whitelist :: Maybe [Text]
$sel:whitelist:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe [Text]
whitelist} -> Maybe [Text]
whitelist) (\s :: UpdateOriginEndpoint
s@UpdateOriginEndpoint' {} Maybe [Text]
a -> UpdateOriginEndpoint
s {$sel:whitelist:UpdateOriginEndpoint' :: Maybe [Text]
whitelist = Maybe [Text]
a} :: UpdateOriginEndpoint) 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 ID of the OriginEndpoint to update.
updateOriginEndpoint_id :: Lens.Lens' UpdateOriginEndpoint Prelude.Text
updateOriginEndpoint_id :: Lens' UpdateOriginEndpoint Text
updateOriginEndpoint_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOriginEndpoint' {Text
id :: Text
$sel:id:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Text
id} -> Text
id) (\s :: UpdateOriginEndpoint
s@UpdateOriginEndpoint' {} Text
a -> UpdateOriginEndpoint
s {$sel:id:UpdateOriginEndpoint' :: Text
id = Text
a} :: UpdateOriginEndpoint)

instance Core.AWSRequest UpdateOriginEndpoint where
  type
    AWSResponse UpdateOriginEndpoint =
      UpdateOriginEndpointResponse
  request :: (Service -> Service)
-> UpdateOriginEndpoint -> Request UpdateOriginEndpoint
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateOriginEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateOriginEndpoint)))
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 Text
-> Maybe Authorization
-> Maybe Text
-> Maybe CmafPackage
-> Maybe DashPackage
-> Maybe Text
-> Maybe HlsPackage
-> Maybe Text
-> Maybe Text
-> Maybe MssPackage
-> Maybe Origination
-> Maybe Int
-> Maybe (HashMap Text Text)
-> Maybe Int
-> Maybe Text
-> Maybe [Text]
-> Int
-> UpdateOriginEndpointResponse
UpdateOriginEndpointResponse'
            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
"arn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"authorization")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"channelId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"cmafPackage")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"dashPackage")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"hlsPackage")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"id")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"manifestName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"mssPackage")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"origination")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"startoverWindowSeconds")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"tags" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"timeDelaySeconds")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"url")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"whitelist" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            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 UpdateOriginEndpoint where
  hashWithSalt :: Int -> UpdateOriginEndpoint -> Int
hashWithSalt Int
_salt UpdateOriginEndpoint' {Maybe Int
Maybe [Text]
Maybe Text
Maybe Authorization
Maybe Origination
Maybe MssPackage
Maybe HlsPackage
Maybe CmafPackageCreateOrUpdateParameters
Maybe DashPackage
Text
id :: Text
whitelist :: Maybe [Text]
timeDelaySeconds :: Maybe Int
startoverWindowSeconds :: Maybe Int
origination :: Maybe Origination
mssPackage :: Maybe MssPackage
manifestName :: Maybe Text
hlsPackage :: Maybe HlsPackage
description :: Maybe Text
dashPackage :: Maybe DashPackage
cmafPackage :: Maybe CmafPackageCreateOrUpdateParameters
authorization :: Maybe Authorization
$sel:id:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Text
$sel:whitelist:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe [Text]
$sel:timeDelaySeconds:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Int
$sel:startoverWindowSeconds:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Int
$sel:origination:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Origination
$sel:mssPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe MssPackage
$sel:manifestName:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Text
$sel:hlsPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe HlsPackage
$sel:description:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Text
$sel:dashPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe DashPackage
$sel:cmafPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe CmafPackageCreateOrUpdateParameters
$sel:authorization:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Authorization
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Authorization
authorization
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CmafPackageCreateOrUpdateParameters
cmafPackage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DashPackage
dashPackage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe HlsPackage
hlsPackage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
manifestName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MssPackage
mssPackage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Origination
origination
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
startoverWindowSeconds
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
timeDelaySeconds
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
whitelist
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id

instance Prelude.NFData UpdateOriginEndpoint where
  rnf :: UpdateOriginEndpoint -> ()
rnf UpdateOriginEndpoint' {Maybe Int
Maybe [Text]
Maybe Text
Maybe Authorization
Maybe Origination
Maybe MssPackage
Maybe HlsPackage
Maybe CmafPackageCreateOrUpdateParameters
Maybe DashPackage
Text
id :: Text
whitelist :: Maybe [Text]
timeDelaySeconds :: Maybe Int
startoverWindowSeconds :: Maybe Int
origination :: Maybe Origination
mssPackage :: Maybe MssPackage
manifestName :: Maybe Text
hlsPackage :: Maybe HlsPackage
description :: Maybe Text
dashPackage :: Maybe DashPackage
cmafPackage :: Maybe CmafPackageCreateOrUpdateParameters
authorization :: Maybe Authorization
$sel:id:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Text
$sel:whitelist:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe [Text]
$sel:timeDelaySeconds:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Int
$sel:startoverWindowSeconds:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Int
$sel:origination:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Origination
$sel:mssPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe MssPackage
$sel:manifestName:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Text
$sel:hlsPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe HlsPackage
$sel:description:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Text
$sel:dashPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe DashPackage
$sel:cmafPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe CmafPackageCreateOrUpdateParameters
$sel:authorization:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Authorization
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Authorization
authorization
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CmafPackageCreateOrUpdateParameters
cmafPackage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DashPackage
dashPackage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe HlsPackage
hlsPackage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
manifestName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MssPackage
mssPackage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Origination
origination
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
startoverWindowSeconds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
timeDelaySeconds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
whitelist
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id

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

instance Data.ToJSON UpdateOriginEndpoint where
  toJSON :: UpdateOriginEndpoint -> Value
toJSON UpdateOriginEndpoint' {Maybe Int
Maybe [Text]
Maybe Text
Maybe Authorization
Maybe Origination
Maybe MssPackage
Maybe HlsPackage
Maybe CmafPackageCreateOrUpdateParameters
Maybe DashPackage
Text
id :: Text
whitelist :: Maybe [Text]
timeDelaySeconds :: Maybe Int
startoverWindowSeconds :: Maybe Int
origination :: Maybe Origination
mssPackage :: Maybe MssPackage
manifestName :: Maybe Text
hlsPackage :: Maybe HlsPackage
description :: Maybe Text
dashPackage :: Maybe DashPackage
cmafPackage :: Maybe CmafPackageCreateOrUpdateParameters
authorization :: Maybe Authorization
$sel:id:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Text
$sel:whitelist:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe [Text]
$sel:timeDelaySeconds:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Int
$sel:startoverWindowSeconds:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Int
$sel:origination:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Origination
$sel:mssPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe MssPackage
$sel:manifestName:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Text
$sel:hlsPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe HlsPackage
$sel:description:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Text
$sel:dashPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe DashPackage
$sel:cmafPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe CmafPackageCreateOrUpdateParameters
$sel:authorization:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Authorization
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"authorization" 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 Authorization
authorization,
            (Key
"cmafPackage" 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 CmafPackageCreateOrUpdateParameters
cmafPackage,
            (Key
"dashPackage" 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 DashPackage
dashPackage,
            (Key
"description" 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 Text
description,
            (Key
"hlsPackage" 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 HlsPackage
hlsPackage,
            (Key
"manifestName" 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 Text
manifestName,
            (Key
"mssPackage" 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 MssPackage
mssPackage,
            (Key
"origination" 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 Origination
origination,
            (Key
"startoverWindowSeconds" 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 Int
startoverWindowSeconds,
            (Key
"timeDelaySeconds" 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 Int
timeDelaySeconds,
            (Key
"whitelist" 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 [Text]
whitelist
          ]
      )

instance Data.ToPath UpdateOriginEndpoint where
  toPath :: UpdateOriginEndpoint -> ByteString
toPath UpdateOriginEndpoint' {Maybe Int
Maybe [Text]
Maybe Text
Maybe Authorization
Maybe Origination
Maybe MssPackage
Maybe HlsPackage
Maybe CmafPackageCreateOrUpdateParameters
Maybe DashPackage
Text
id :: Text
whitelist :: Maybe [Text]
timeDelaySeconds :: Maybe Int
startoverWindowSeconds :: Maybe Int
origination :: Maybe Origination
mssPackage :: Maybe MssPackage
manifestName :: Maybe Text
hlsPackage :: Maybe HlsPackage
description :: Maybe Text
dashPackage :: Maybe DashPackage
cmafPackage :: Maybe CmafPackageCreateOrUpdateParameters
authorization :: Maybe Authorization
$sel:id:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Text
$sel:whitelist:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe [Text]
$sel:timeDelaySeconds:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Int
$sel:startoverWindowSeconds:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Int
$sel:origination:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Origination
$sel:mssPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe MssPackage
$sel:manifestName:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Text
$sel:hlsPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe HlsPackage
$sel:description:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Text
$sel:dashPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe DashPackage
$sel:cmafPackage:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe CmafPackageCreateOrUpdateParameters
$sel:authorization:UpdateOriginEndpoint' :: UpdateOriginEndpoint -> Maybe Authorization
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/origin_endpoints/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
id]

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

-- | /See:/ 'newUpdateOriginEndpointResponse' smart constructor.
data UpdateOriginEndpointResponse = UpdateOriginEndpointResponse'
  { -- | The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
    UpdateOriginEndpointResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    UpdateOriginEndpointResponse -> Maybe Authorization
authorization :: Prelude.Maybe Authorization,
    -- | The ID of the Channel the OriginEndpoint is associated with.
    UpdateOriginEndpointResponse -> Maybe Text
channelId :: Prelude.Maybe Prelude.Text,
    UpdateOriginEndpointResponse -> Maybe CmafPackage
cmafPackage :: Prelude.Maybe CmafPackage,
    UpdateOriginEndpointResponse -> Maybe DashPackage
dashPackage :: Prelude.Maybe DashPackage,
    -- | A short text description of the OriginEndpoint.
    UpdateOriginEndpointResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    UpdateOriginEndpointResponse -> Maybe HlsPackage
hlsPackage :: Prelude.Maybe HlsPackage,
    -- | The ID of the OriginEndpoint.
    UpdateOriginEndpointResponse -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
    -- | A short string appended to the end of the OriginEndpoint URL.
    UpdateOriginEndpointResponse -> Maybe Text
manifestName :: Prelude.Maybe Prelude.Text,
    UpdateOriginEndpointResponse -> Maybe MssPackage
mssPackage :: Prelude.Maybe MssPackage,
    -- | 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
    UpdateOriginEndpointResponse -> Maybe Origination
origination :: Prelude.Maybe Origination,
    -- | Maximum duration (seconds) of content to retain for startover playback.
    -- If not specified, startover playback will be disabled for the
    -- OriginEndpoint.
    UpdateOriginEndpointResponse -> Maybe Int
startoverWindowSeconds :: Prelude.Maybe Prelude.Int,
    UpdateOriginEndpointResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text 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.
    UpdateOriginEndpointResponse -> Maybe Int
timeDelaySeconds :: Prelude.Maybe Prelude.Int,
    -- | The URL of the packaged OriginEndpoint for consumption.
    UpdateOriginEndpointResponse -> Maybe Text
url :: Prelude.Maybe Prelude.Text,
    -- | A list of source IP CIDR blocks that will be allowed to access the
    -- OriginEndpoint.
    UpdateOriginEndpointResponse -> Maybe [Text]
whitelist :: Prelude.Maybe [Prelude.Text],
    -- | The response's http status code.
    UpdateOriginEndpointResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateOriginEndpointResponse
-> UpdateOriginEndpointResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateOriginEndpointResponse
-> UpdateOriginEndpointResponse -> Bool
$c/= :: UpdateOriginEndpointResponse
-> UpdateOriginEndpointResponse -> Bool
== :: UpdateOriginEndpointResponse
-> UpdateOriginEndpointResponse -> Bool
$c== :: UpdateOriginEndpointResponse
-> UpdateOriginEndpointResponse -> Bool
Prelude.Eq, ReadPrec [UpdateOriginEndpointResponse]
ReadPrec UpdateOriginEndpointResponse
Int -> ReadS UpdateOriginEndpointResponse
ReadS [UpdateOriginEndpointResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateOriginEndpointResponse]
$creadListPrec :: ReadPrec [UpdateOriginEndpointResponse]
readPrec :: ReadPrec UpdateOriginEndpointResponse
$creadPrec :: ReadPrec UpdateOriginEndpointResponse
readList :: ReadS [UpdateOriginEndpointResponse]
$creadList :: ReadS [UpdateOriginEndpointResponse]
readsPrec :: Int -> ReadS UpdateOriginEndpointResponse
$creadsPrec :: Int -> ReadS UpdateOriginEndpointResponse
Prelude.Read, Int -> UpdateOriginEndpointResponse -> ShowS
[UpdateOriginEndpointResponse] -> ShowS
UpdateOriginEndpointResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateOriginEndpointResponse] -> ShowS
$cshowList :: [UpdateOriginEndpointResponse] -> ShowS
show :: UpdateOriginEndpointResponse -> String
$cshow :: UpdateOriginEndpointResponse -> String
showsPrec :: Int -> UpdateOriginEndpointResponse -> ShowS
$cshowsPrec :: Int -> UpdateOriginEndpointResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateOriginEndpointResponse x -> UpdateOriginEndpointResponse
forall x.
UpdateOriginEndpointResponse -> Rep UpdateOriginEndpointResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateOriginEndpointResponse x -> UpdateOriginEndpointResponse
$cfrom :: forall x.
UpdateOriginEndpointResponse -> Rep UpdateOriginEndpointResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateOriginEndpointResponse' 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:
--
-- 'arn', 'updateOriginEndpointResponse_arn' - The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
--
-- 'authorization', 'updateOriginEndpointResponse_authorization' - Undocumented member.
--
-- 'channelId', 'updateOriginEndpointResponse_channelId' - The ID of the Channel the OriginEndpoint is associated with.
--
-- 'cmafPackage', 'updateOriginEndpointResponse_cmafPackage' - Undocumented member.
--
-- 'dashPackage', 'updateOriginEndpointResponse_dashPackage' - Undocumented member.
--
-- 'description', 'updateOriginEndpointResponse_description' - A short text description of the OriginEndpoint.
--
-- 'hlsPackage', 'updateOriginEndpointResponse_hlsPackage' - Undocumented member.
--
-- 'id', 'updateOriginEndpointResponse_id' - The ID of the OriginEndpoint.
--
-- 'manifestName', 'updateOriginEndpointResponse_manifestName' - A short string appended to the end of the OriginEndpoint URL.
--
-- 'mssPackage', 'updateOriginEndpointResponse_mssPackage' - Undocumented member.
--
-- 'origination', 'updateOriginEndpointResponse_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
--
-- 'startoverWindowSeconds', 'updateOriginEndpointResponse_startoverWindowSeconds' - Maximum duration (seconds) of content to retain for startover playback.
-- If not specified, startover playback will be disabled for the
-- OriginEndpoint.
--
-- 'tags', 'updateOriginEndpointResponse_tags' - Undocumented member.
--
-- 'timeDelaySeconds', 'updateOriginEndpointResponse_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.
--
-- 'url', 'updateOriginEndpointResponse_url' - The URL of the packaged OriginEndpoint for consumption.
--
-- 'whitelist', 'updateOriginEndpointResponse_whitelist' - A list of source IP CIDR blocks that will be allowed to access the
-- OriginEndpoint.
--
-- 'httpStatus', 'updateOriginEndpointResponse_httpStatus' - The response's http status code.
newUpdateOriginEndpointResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateOriginEndpointResponse
newUpdateOriginEndpointResponse :: Int -> UpdateOriginEndpointResponse
newUpdateOriginEndpointResponse Int
pHttpStatus_ =
  UpdateOriginEndpointResponse'
    { $sel:arn:UpdateOriginEndpointResponse' :: Maybe Text
arn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:authorization:UpdateOriginEndpointResponse' :: Maybe Authorization
authorization = forall a. Maybe a
Prelude.Nothing,
      $sel:channelId:UpdateOriginEndpointResponse' :: Maybe Text
channelId = forall a. Maybe a
Prelude.Nothing,
      $sel:cmafPackage:UpdateOriginEndpointResponse' :: Maybe CmafPackage
cmafPackage = forall a. Maybe a
Prelude.Nothing,
      $sel:dashPackage:UpdateOriginEndpointResponse' :: Maybe DashPackage
dashPackage = forall a. Maybe a
Prelude.Nothing,
      $sel:description:UpdateOriginEndpointResponse' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:hlsPackage:UpdateOriginEndpointResponse' :: Maybe HlsPackage
hlsPackage = forall a. Maybe a
Prelude.Nothing,
      $sel:id:UpdateOriginEndpointResponse' :: Maybe Text
id = forall a. Maybe a
Prelude.Nothing,
      $sel:manifestName:UpdateOriginEndpointResponse' :: Maybe Text
manifestName = forall a. Maybe a
Prelude.Nothing,
      $sel:mssPackage:UpdateOriginEndpointResponse' :: Maybe MssPackage
mssPackage = forall a. Maybe a
Prelude.Nothing,
      $sel:origination:UpdateOriginEndpointResponse' :: Maybe Origination
origination = forall a. Maybe a
Prelude.Nothing,
      $sel:startoverWindowSeconds:UpdateOriginEndpointResponse' :: Maybe Int
startoverWindowSeconds = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:UpdateOriginEndpointResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:timeDelaySeconds:UpdateOriginEndpointResponse' :: Maybe Int
timeDelaySeconds = forall a. Maybe a
Prelude.Nothing,
      $sel:url:UpdateOriginEndpointResponse' :: Maybe Text
url = forall a. Maybe a
Prelude.Nothing,
      $sel:whitelist:UpdateOriginEndpointResponse' :: Maybe [Text]
whitelist = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateOriginEndpointResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

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

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

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

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

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

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

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

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

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

-- | 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
updateOriginEndpointResponse_origination :: Lens.Lens' UpdateOriginEndpointResponse (Prelude.Maybe Origination)
updateOriginEndpointResponse_origination :: Lens' UpdateOriginEndpointResponse (Maybe Origination)
updateOriginEndpointResponse_origination = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOriginEndpointResponse' {Maybe Origination
origination :: Maybe Origination
$sel:origination:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Origination
origination} -> Maybe Origination
origination) (\s :: UpdateOriginEndpointResponse
s@UpdateOriginEndpointResponse' {} Maybe Origination
a -> UpdateOriginEndpointResponse
s {$sel:origination:UpdateOriginEndpointResponse' :: Maybe Origination
origination = Maybe Origination
a} :: UpdateOriginEndpointResponse)

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

-- | Undocumented member.
updateOriginEndpointResponse_tags :: Lens.Lens' UpdateOriginEndpointResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
updateOriginEndpointResponse_tags :: Lens' UpdateOriginEndpointResponse (Maybe (HashMap Text Text))
updateOriginEndpointResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOriginEndpointResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: UpdateOriginEndpointResponse
s@UpdateOriginEndpointResponse' {} Maybe (HashMap Text Text)
a -> UpdateOriginEndpointResponse
s {$sel:tags:UpdateOriginEndpointResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: UpdateOriginEndpointResponse) 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

-- | 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.
updateOriginEndpointResponse_timeDelaySeconds :: Lens.Lens' UpdateOriginEndpointResponse (Prelude.Maybe Prelude.Int)
updateOriginEndpointResponse_timeDelaySeconds :: Lens' UpdateOriginEndpointResponse (Maybe Int)
updateOriginEndpointResponse_timeDelaySeconds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOriginEndpointResponse' {Maybe Int
timeDelaySeconds :: Maybe Int
$sel:timeDelaySeconds:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Int
timeDelaySeconds} -> Maybe Int
timeDelaySeconds) (\s :: UpdateOriginEndpointResponse
s@UpdateOriginEndpointResponse' {} Maybe Int
a -> UpdateOriginEndpointResponse
s {$sel:timeDelaySeconds:UpdateOriginEndpointResponse' :: Maybe Int
timeDelaySeconds = Maybe Int
a} :: UpdateOriginEndpointResponse)

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

-- | A list of source IP CIDR blocks that will be allowed to access the
-- OriginEndpoint.
updateOriginEndpointResponse_whitelist :: Lens.Lens' UpdateOriginEndpointResponse (Prelude.Maybe [Prelude.Text])
updateOriginEndpointResponse_whitelist :: Lens' UpdateOriginEndpointResponse (Maybe [Text])
updateOriginEndpointResponse_whitelist = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOriginEndpointResponse' {Maybe [Text]
whitelist :: Maybe [Text]
$sel:whitelist:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe [Text]
whitelist} -> Maybe [Text]
whitelist) (\s :: UpdateOriginEndpointResponse
s@UpdateOriginEndpointResponse' {} Maybe [Text]
a -> UpdateOriginEndpointResponse
s {$sel:whitelist:UpdateOriginEndpointResponse' :: Maybe [Text]
whitelist = Maybe [Text]
a} :: UpdateOriginEndpointResponse) 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 response's http status code.
updateOriginEndpointResponse_httpStatus :: Lens.Lens' UpdateOriginEndpointResponse Prelude.Int
updateOriginEndpointResponse_httpStatus :: Lens' UpdateOriginEndpointResponse Int
updateOriginEndpointResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOriginEndpointResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateOriginEndpointResponse
s@UpdateOriginEndpointResponse' {} Int
a -> UpdateOriginEndpointResponse
s {$sel:httpStatus:UpdateOriginEndpointResponse' :: Int
httpStatus = Int
a} :: UpdateOriginEndpointResponse)

instance Prelude.NFData UpdateOriginEndpointResponse where
  rnf :: UpdateOriginEndpointResponse -> ()
rnf UpdateOriginEndpointResponse' {Int
Maybe Int
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe Authorization
Maybe Origination
Maybe MssPackage
Maybe HlsPackage
Maybe CmafPackage
Maybe DashPackage
httpStatus :: Int
whitelist :: Maybe [Text]
url :: Maybe Text
timeDelaySeconds :: Maybe Int
tags :: Maybe (HashMap Text Text)
startoverWindowSeconds :: Maybe Int
origination :: Maybe Origination
mssPackage :: Maybe MssPackage
manifestName :: Maybe Text
id :: Maybe Text
hlsPackage :: Maybe HlsPackage
description :: Maybe Text
dashPackage :: Maybe DashPackage
cmafPackage :: Maybe CmafPackage
channelId :: Maybe Text
authorization :: Maybe Authorization
arn :: Maybe Text
$sel:httpStatus:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Int
$sel:whitelist:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe [Text]
$sel:url:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Text
$sel:timeDelaySeconds:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Int
$sel:tags:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe (HashMap Text Text)
$sel:startoverWindowSeconds:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Int
$sel:origination:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Origination
$sel:mssPackage:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe MssPackage
$sel:manifestName:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Text
$sel:id:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Text
$sel:hlsPackage:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe HlsPackage
$sel:description:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Text
$sel:dashPackage:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe DashPackage
$sel:cmafPackage:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe CmafPackage
$sel:channelId:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Text
$sel:authorization:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Authorization
$sel:arn:UpdateOriginEndpointResponse' :: UpdateOriginEndpointResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Authorization
authorization
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
channelId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CmafPackage
cmafPackage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DashPackage
dashPackage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe HlsPackage
hlsPackage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
id
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
manifestName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MssPackage
mssPackage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Origination
origination
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
startoverWindowSeconds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
timeDelaySeconds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
url
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
whitelist
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus