{-# 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.DescribeOriginEndpoint
-- 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)
--
-- Gets details about an existing OriginEndpoint.
module Amazonka.MediaPackage.DescribeOriginEndpoint
  ( -- * Creating a Request
    DescribeOriginEndpoint (..),
    newDescribeOriginEndpoint,

    -- * Request Lenses
    describeOriginEndpoint_id,

    -- * Destructuring the Response
    DescribeOriginEndpointResponse (..),
    newDescribeOriginEndpointResponse,

    -- * Response Lenses
    describeOriginEndpointResponse_whitelist,
    describeOriginEndpointResponse_hlsPackage,
    describeOriginEndpointResponse_arn,
    describeOriginEndpointResponse_manifestName,
    describeOriginEndpointResponse_url,
    describeOriginEndpointResponse_authorization,
    describeOriginEndpointResponse_channelId,
    describeOriginEndpointResponse_startoverWindowSeconds,
    describeOriginEndpointResponse_dashPackage,
    describeOriginEndpointResponse_mssPackage,
    describeOriginEndpointResponse_id,
    describeOriginEndpointResponse_timeDelaySeconds,
    describeOriginEndpointResponse_cmafPackage,
    describeOriginEndpointResponse_description,
    describeOriginEndpointResponse_tags,
    describeOriginEndpointResponse_origination,
    describeOriginEndpointResponse_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

-- | /See:/ 'newDescribeOriginEndpoint' smart constructor.
data DescribeOriginEndpoint = DescribeOriginEndpoint'
  { -- | The ID of the OriginEndpoint.
    DescribeOriginEndpoint -> Text
id :: Prelude.Text
  }
  deriving (DescribeOriginEndpoint -> DescribeOriginEndpoint -> Bool
(DescribeOriginEndpoint -> DescribeOriginEndpoint -> Bool)
-> (DescribeOriginEndpoint -> DescribeOriginEndpoint -> Bool)
-> Eq DescribeOriginEndpoint
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeOriginEndpoint -> DescribeOriginEndpoint -> Bool
$c/= :: DescribeOriginEndpoint -> DescribeOriginEndpoint -> Bool
== :: DescribeOriginEndpoint -> DescribeOriginEndpoint -> Bool
$c== :: DescribeOriginEndpoint -> DescribeOriginEndpoint -> Bool
Prelude.Eq, ReadPrec [DescribeOriginEndpoint]
ReadPrec DescribeOriginEndpoint
Int -> ReadS DescribeOriginEndpoint
ReadS [DescribeOriginEndpoint]
(Int -> ReadS DescribeOriginEndpoint)
-> ReadS [DescribeOriginEndpoint]
-> ReadPrec DescribeOriginEndpoint
-> ReadPrec [DescribeOriginEndpoint]
-> Read DescribeOriginEndpoint
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeOriginEndpoint]
$creadListPrec :: ReadPrec [DescribeOriginEndpoint]
readPrec :: ReadPrec DescribeOriginEndpoint
$creadPrec :: ReadPrec DescribeOriginEndpoint
readList :: ReadS [DescribeOriginEndpoint]
$creadList :: ReadS [DescribeOriginEndpoint]
readsPrec :: Int -> ReadS DescribeOriginEndpoint
$creadsPrec :: Int -> ReadS DescribeOriginEndpoint
Prelude.Read, Int -> DescribeOriginEndpoint -> ShowS
[DescribeOriginEndpoint] -> ShowS
DescribeOriginEndpoint -> String
(Int -> DescribeOriginEndpoint -> ShowS)
-> (DescribeOriginEndpoint -> String)
-> ([DescribeOriginEndpoint] -> ShowS)
-> Show DescribeOriginEndpoint
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeOriginEndpoint] -> ShowS
$cshowList :: [DescribeOriginEndpoint] -> ShowS
show :: DescribeOriginEndpoint -> String
$cshow :: DescribeOriginEndpoint -> String
showsPrec :: Int -> DescribeOriginEndpoint -> ShowS
$cshowsPrec :: Int -> DescribeOriginEndpoint -> ShowS
Prelude.Show, (forall x. DescribeOriginEndpoint -> Rep DescribeOriginEndpoint x)
-> (forall x.
    Rep DescribeOriginEndpoint x -> DescribeOriginEndpoint)
-> Generic DescribeOriginEndpoint
forall x. Rep DescribeOriginEndpoint x -> DescribeOriginEndpoint
forall x. DescribeOriginEndpoint -> Rep DescribeOriginEndpoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeOriginEndpoint x -> DescribeOriginEndpoint
$cfrom :: forall x. DescribeOriginEndpoint -> Rep DescribeOriginEndpoint x
Prelude.Generic)

-- |
-- Create a value of 'DescribeOriginEndpoint' 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:
--
-- 'id', 'describeOriginEndpoint_id' - The ID of the OriginEndpoint.
newDescribeOriginEndpoint ::
  -- | 'id'
  Prelude.Text ->
  DescribeOriginEndpoint
newDescribeOriginEndpoint :: Text -> DescribeOriginEndpoint
newDescribeOriginEndpoint Text
pId_ =
  DescribeOriginEndpoint' :: Text -> DescribeOriginEndpoint
DescribeOriginEndpoint' {$sel:id:DescribeOriginEndpoint' :: Text
id = Text
pId_}

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

instance Core.AWSRequest DescribeOriginEndpoint where
  type
    AWSResponse DescribeOriginEndpoint =
      DescribeOriginEndpointResponse
  request :: DescribeOriginEndpoint -> Request DescribeOriginEndpoint
request = Service -> DescribeOriginEndpoint -> Request DescribeOriginEndpoint
forall a. ToRequest a => Service -> a -> Request a
Request.get Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeOriginEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeOriginEndpoint)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeOriginEndpoint))
-> Logger
-> Service
-> Proxy DescribeOriginEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeOriginEndpoint)))
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
-> DescribeOriginEndpointResponse
DescribeOriginEndpointResponse'
            (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
 -> DescribeOriginEndpointResponse)
-> 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
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> 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
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> 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
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> 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
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> 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
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> 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
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> 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
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> 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
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> Either String (Maybe DashPackage)
-> Either
     String
     (Maybe MssPackage
      -> Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> Either String (Maybe MssPackage)
-> Either
     String
     (Maybe Text
      -> Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Int
      -> Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> Either String (Maybe Int)
-> Either
     String
     (Maybe CmafPackage
      -> Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> Either String (Maybe CmafPackage)
-> Either
     String
     (Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe Origination
      -> Int
      -> DescribeOriginEndpointResponse)
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
   -> DescribeOriginEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe (HashMap Text Text)
      -> Maybe Origination -> Int -> DescribeOriginEndpointResponse)
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 -> DescribeOriginEndpointResponse)
-> Either String (Maybe (HashMap Text Text))
-> Either
     String (Maybe Origination -> Int -> DescribeOriginEndpointResponse)
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 -> DescribeOriginEndpointResponse)
-> Either String (Maybe Origination)
-> Either String (Int -> DescribeOriginEndpointResponse)
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 -> DescribeOriginEndpointResponse)
-> Either String Int
-> Either String DescribeOriginEndpointResponse
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 DescribeOriginEndpoint

instance Prelude.NFData DescribeOriginEndpoint

instance Core.ToHeaders DescribeOriginEndpoint where
  toHeaders :: DescribeOriginEndpoint -> ResponseHeaders
toHeaders =
    ResponseHeaders -> DescribeOriginEndpoint -> 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.ToPath DescribeOriginEndpoint where
  toPath :: DescribeOriginEndpoint -> ByteString
toPath DescribeOriginEndpoint' {Text
id :: Text
$sel:id:DescribeOriginEndpoint' :: DescribeOriginEndpoint -> Text
..} =
    [ByteString] -> ByteString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/origin_endpoints/", Text -> ByteString
forall a. ToByteString a => a -> ByteString
Core.toBS Text
id]

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

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

-- |
-- Create a value of 'DescribeOriginEndpointResponse' 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', 'describeOriginEndpointResponse_whitelist' - A list of source IP CIDR blocks that will be allowed to access the
-- OriginEndpoint.
--
-- 'hlsPackage', 'describeOriginEndpointResponse_hlsPackage' - Undocumented member.
--
-- 'arn', 'describeOriginEndpointResponse_arn' - The Amazon Resource Name (ARN) assigned to the OriginEndpoint.
--
-- 'manifestName', 'describeOriginEndpointResponse_manifestName' - A short string appended to the end of the OriginEndpoint URL.
--
-- 'url', 'describeOriginEndpointResponse_url' - The URL of the packaged OriginEndpoint for consumption.
--
-- 'authorization', 'describeOriginEndpointResponse_authorization' - Undocumented member.
--
-- 'channelId', 'describeOriginEndpointResponse_channelId' - The ID of the Channel the OriginEndpoint is associated with.
--
-- 'startoverWindowSeconds', 'describeOriginEndpointResponse_startoverWindowSeconds' - Maximum duration (seconds) of content to retain for startover playback.
-- If not specified, startover playback will be disabled for the
-- OriginEndpoint.
--
-- 'dashPackage', 'describeOriginEndpointResponse_dashPackage' - Undocumented member.
--
-- 'mssPackage', 'describeOriginEndpointResponse_mssPackage' - Undocumented member.
--
-- 'id', 'describeOriginEndpointResponse_id' - The ID of the OriginEndpoint.
--
-- 'timeDelaySeconds', 'describeOriginEndpointResponse_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', 'describeOriginEndpointResponse_cmafPackage' - Undocumented member.
--
-- 'description', 'describeOriginEndpointResponse_description' - A short text description of the OriginEndpoint.
--
-- 'tags', 'describeOriginEndpointResponse_tags' - Undocumented member.
--
-- 'origination', 'describeOriginEndpointResponse_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', 'describeOriginEndpointResponse_httpStatus' - The response's http status code.
newDescribeOriginEndpointResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeOriginEndpointResponse
newDescribeOriginEndpointResponse :: Int -> DescribeOriginEndpointResponse
newDescribeOriginEndpointResponse Int
pHttpStatus_ =
  DescribeOriginEndpointResponse' :: 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
-> DescribeOriginEndpointResponse
DescribeOriginEndpointResponse'
    { $sel:whitelist:DescribeOriginEndpointResponse' :: Maybe [Text]
whitelist =
        Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:hlsPackage:DescribeOriginEndpointResponse' :: Maybe HlsPackage
hlsPackage = Maybe HlsPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:arn:DescribeOriginEndpointResponse' :: Maybe Text
arn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:manifestName:DescribeOriginEndpointResponse' :: Maybe Text
manifestName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:url:DescribeOriginEndpointResponse' :: Maybe Text
url = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:authorization:DescribeOriginEndpointResponse' :: Maybe Authorization
authorization = Maybe Authorization
forall a. Maybe a
Prelude.Nothing,
      $sel:channelId:DescribeOriginEndpointResponse' :: Maybe Text
channelId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:startoverWindowSeconds:DescribeOriginEndpointResponse' :: Maybe Int
startoverWindowSeconds = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:dashPackage:DescribeOriginEndpointResponse' :: Maybe DashPackage
dashPackage = Maybe DashPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:mssPackage:DescribeOriginEndpointResponse' :: Maybe MssPackage
mssPackage = Maybe MssPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:id:DescribeOriginEndpointResponse' :: Maybe Text
id = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:timeDelaySeconds:DescribeOriginEndpointResponse' :: Maybe Int
timeDelaySeconds = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:cmafPackage:DescribeOriginEndpointResponse' :: Maybe CmafPackage
cmafPackage = Maybe CmafPackage
forall a. Maybe a
Prelude.Nothing,
      $sel:description:DescribeOriginEndpointResponse' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:tags:DescribeOriginEndpointResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:origination:DescribeOriginEndpointResponse' :: Maybe Origination
origination = Maybe Origination
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeOriginEndpointResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance
  Prelude.NFData
    DescribeOriginEndpointResponse