{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.LicenseManager.Types.LicenseConversionTask
-- 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)
module Amazonka.LicenseManager.Types.LicenseConversionTask where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.LicenseManager.Types.LicenseConversionContext
import Amazonka.LicenseManager.Types.LicenseConversionTaskStatus
import qualified Amazonka.Prelude as Prelude

-- | Information about a license type conversion task.
--
-- /See:/ 'newLicenseConversionTask' smart constructor.
data LicenseConversionTask = LicenseConversionTask'
  { -- | The status of the conversion task.
    LicenseConversionTask -> Maybe LicenseConversionTaskStatus
status :: Prelude.Maybe LicenseConversionTaskStatus,
    -- | The time the conversion task was started at.
    LicenseConversionTask -> Maybe POSIX
startTime :: Prelude.Maybe Core.POSIX,
    -- | Information about the license type this conversion task converted to.
    LicenseConversionTask -> Maybe LicenseConversionContext
destinationLicenseContext :: Prelude.Maybe LicenseConversionContext,
    -- | The ID of the license type conversion task.
    LicenseConversionTask -> Maybe Text
licenseConversionTaskId :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the resource associated with the
    -- license type conversion task.
    LicenseConversionTask -> Maybe Text
resourceArn :: Prelude.Maybe Prelude.Text,
    -- | The status message for the conversion task.
    LicenseConversionTask -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
    -- | The time the conversion task was completed.
    LicenseConversionTask -> Maybe POSIX
endTime :: Prelude.Maybe Core.POSIX,
    -- | The time the usage operation value of the resource was changed.
    LicenseConversionTask -> Maybe POSIX
licenseConversionTime :: Prelude.Maybe Core.POSIX,
    -- | Information about the license type this conversion task converted from.
    LicenseConversionTask -> Maybe LicenseConversionContext
sourceLicenseContext :: Prelude.Maybe LicenseConversionContext
  }
  deriving (LicenseConversionTask -> LicenseConversionTask -> Bool
(LicenseConversionTask -> LicenseConversionTask -> Bool)
-> (LicenseConversionTask -> LicenseConversionTask -> Bool)
-> Eq LicenseConversionTask
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LicenseConversionTask -> LicenseConversionTask -> Bool
$c/= :: LicenseConversionTask -> LicenseConversionTask -> Bool
== :: LicenseConversionTask -> LicenseConversionTask -> Bool
$c== :: LicenseConversionTask -> LicenseConversionTask -> Bool
Prelude.Eq, ReadPrec [LicenseConversionTask]
ReadPrec LicenseConversionTask
Int -> ReadS LicenseConversionTask
ReadS [LicenseConversionTask]
(Int -> ReadS LicenseConversionTask)
-> ReadS [LicenseConversionTask]
-> ReadPrec LicenseConversionTask
-> ReadPrec [LicenseConversionTask]
-> Read LicenseConversionTask
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LicenseConversionTask]
$creadListPrec :: ReadPrec [LicenseConversionTask]
readPrec :: ReadPrec LicenseConversionTask
$creadPrec :: ReadPrec LicenseConversionTask
readList :: ReadS [LicenseConversionTask]
$creadList :: ReadS [LicenseConversionTask]
readsPrec :: Int -> ReadS LicenseConversionTask
$creadsPrec :: Int -> ReadS LicenseConversionTask
Prelude.Read, Int -> LicenseConversionTask -> ShowS
[LicenseConversionTask] -> ShowS
LicenseConversionTask -> String
(Int -> LicenseConversionTask -> ShowS)
-> (LicenseConversionTask -> String)
-> ([LicenseConversionTask] -> ShowS)
-> Show LicenseConversionTask
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LicenseConversionTask] -> ShowS
$cshowList :: [LicenseConversionTask] -> ShowS
show :: LicenseConversionTask -> String
$cshow :: LicenseConversionTask -> String
showsPrec :: Int -> LicenseConversionTask -> ShowS
$cshowsPrec :: Int -> LicenseConversionTask -> ShowS
Prelude.Show, (forall x. LicenseConversionTask -> Rep LicenseConversionTask x)
-> (forall x. Rep LicenseConversionTask x -> LicenseConversionTask)
-> Generic LicenseConversionTask
forall x. Rep LicenseConversionTask x -> LicenseConversionTask
forall x. LicenseConversionTask -> Rep LicenseConversionTask x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep LicenseConversionTask x -> LicenseConversionTask
$cfrom :: forall x. LicenseConversionTask -> Rep LicenseConversionTask x
Prelude.Generic)

-- |
-- Create a value of 'LicenseConversionTask' 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:
--
-- 'status', 'licenseConversionTask_status' - The status of the conversion task.
--
-- 'startTime', 'licenseConversionTask_startTime' - The time the conversion task was started at.
--
-- 'destinationLicenseContext', 'licenseConversionTask_destinationLicenseContext' - Information about the license type this conversion task converted to.
--
-- 'licenseConversionTaskId', 'licenseConversionTask_licenseConversionTaskId' - The ID of the license type conversion task.
--
-- 'resourceArn', 'licenseConversionTask_resourceArn' - The Amazon Resource Name (ARN) of the resource associated with the
-- license type conversion task.
--
-- 'statusMessage', 'licenseConversionTask_statusMessage' - The status message for the conversion task.
--
-- 'endTime', 'licenseConversionTask_endTime' - The time the conversion task was completed.
--
-- 'licenseConversionTime', 'licenseConversionTask_licenseConversionTime' - The time the usage operation value of the resource was changed.
--
-- 'sourceLicenseContext', 'licenseConversionTask_sourceLicenseContext' - Information about the license type this conversion task converted from.
newLicenseConversionTask ::
  LicenseConversionTask
newLicenseConversionTask :: LicenseConversionTask
newLicenseConversionTask =
  LicenseConversionTask' :: Maybe LicenseConversionTaskStatus
-> Maybe POSIX
-> Maybe LicenseConversionContext
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe LicenseConversionContext
-> LicenseConversionTask
LicenseConversionTask'
    { $sel:status:LicenseConversionTask' :: Maybe LicenseConversionTaskStatus
status = Maybe LicenseConversionTaskStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:startTime:LicenseConversionTask' :: Maybe POSIX
startTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:destinationLicenseContext:LicenseConversionTask' :: Maybe LicenseConversionContext
destinationLicenseContext = Maybe LicenseConversionContext
forall a. Maybe a
Prelude.Nothing,
      $sel:licenseConversionTaskId:LicenseConversionTask' :: Maybe Text
licenseConversionTaskId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:resourceArn:LicenseConversionTask' :: Maybe Text
resourceArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:statusMessage:LicenseConversionTask' :: Maybe Text
statusMessage = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:endTime:LicenseConversionTask' :: Maybe POSIX
endTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:licenseConversionTime:LicenseConversionTask' :: Maybe POSIX
licenseConversionTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:sourceLicenseContext:LicenseConversionTask' :: Maybe LicenseConversionContext
sourceLicenseContext = Maybe LicenseConversionContext
forall a. Maybe a
Prelude.Nothing
    }

-- | The status of the conversion task.
licenseConversionTask_status :: Lens.Lens' LicenseConversionTask (Prelude.Maybe LicenseConversionTaskStatus)
licenseConversionTask_status :: (Maybe LicenseConversionTaskStatus
 -> f (Maybe LicenseConversionTaskStatus))
-> LicenseConversionTask -> f LicenseConversionTask
licenseConversionTask_status = (LicenseConversionTask -> Maybe LicenseConversionTaskStatus)
-> (LicenseConversionTask
    -> Maybe LicenseConversionTaskStatus -> LicenseConversionTask)
-> Lens
     LicenseConversionTask
     LicenseConversionTask
     (Maybe LicenseConversionTaskStatus)
     (Maybe LicenseConversionTaskStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LicenseConversionTask' {Maybe LicenseConversionTaskStatus
status :: Maybe LicenseConversionTaskStatus
$sel:status:LicenseConversionTask' :: LicenseConversionTask -> Maybe LicenseConversionTaskStatus
status} -> Maybe LicenseConversionTaskStatus
status) (\s :: LicenseConversionTask
s@LicenseConversionTask' {} Maybe LicenseConversionTaskStatus
a -> LicenseConversionTask
s {$sel:status:LicenseConversionTask' :: Maybe LicenseConversionTaskStatus
status = Maybe LicenseConversionTaskStatus
a} :: LicenseConversionTask)

-- | The time the conversion task was started at.
licenseConversionTask_startTime :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.UTCTime)
licenseConversionTask_startTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> LicenseConversionTask -> f LicenseConversionTask
licenseConversionTask_startTime = (LicenseConversionTask -> Maybe POSIX)
-> (LicenseConversionTask -> Maybe POSIX -> LicenseConversionTask)
-> Lens
     LicenseConversionTask
     LicenseConversionTask
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LicenseConversionTask' {Maybe POSIX
startTime :: Maybe POSIX
$sel:startTime:LicenseConversionTask' :: LicenseConversionTask -> Maybe POSIX
startTime} -> Maybe POSIX
startTime) (\s :: LicenseConversionTask
s@LicenseConversionTask' {} Maybe POSIX
a -> LicenseConversionTask
s {$sel:startTime:LicenseConversionTask' :: Maybe POSIX
startTime = Maybe POSIX
a} :: LicenseConversionTask) ((Maybe POSIX -> f (Maybe POSIX))
 -> LicenseConversionTask -> f LicenseConversionTask)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> LicenseConversionTask
-> f LicenseConversionTask
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | Information about the license type this conversion task converted to.
licenseConversionTask_destinationLicenseContext :: Lens.Lens' LicenseConversionTask (Prelude.Maybe LicenseConversionContext)
licenseConversionTask_destinationLicenseContext :: (Maybe LicenseConversionContext
 -> f (Maybe LicenseConversionContext))
-> LicenseConversionTask -> f LicenseConversionTask
licenseConversionTask_destinationLicenseContext = (LicenseConversionTask -> Maybe LicenseConversionContext)
-> (LicenseConversionTask
    -> Maybe LicenseConversionContext -> LicenseConversionTask)
-> Lens
     LicenseConversionTask
     LicenseConversionTask
     (Maybe LicenseConversionContext)
     (Maybe LicenseConversionContext)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LicenseConversionTask' {Maybe LicenseConversionContext
destinationLicenseContext :: Maybe LicenseConversionContext
$sel:destinationLicenseContext:LicenseConversionTask' :: LicenseConversionTask -> Maybe LicenseConversionContext
destinationLicenseContext} -> Maybe LicenseConversionContext
destinationLicenseContext) (\s :: LicenseConversionTask
s@LicenseConversionTask' {} Maybe LicenseConversionContext
a -> LicenseConversionTask
s {$sel:destinationLicenseContext:LicenseConversionTask' :: Maybe LicenseConversionContext
destinationLicenseContext = Maybe LicenseConversionContext
a} :: LicenseConversionTask)

-- | The ID of the license type conversion task.
licenseConversionTask_licenseConversionTaskId :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.Text)
licenseConversionTask_licenseConversionTaskId :: (Maybe Text -> f (Maybe Text))
-> LicenseConversionTask -> f LicenseConversionTask
licenseConversionTask_licenseConversionTaskId = (LicenseConversionTask -> Maybe Text)
-> (LicenseConversionTask -> Maybe Text -> LicenseConversionTask)
-> Lens
     LicenseConversionTask
     LicenseConversionTask
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LicenseConversionTask' {Maybe Text
licenseConversionTaskId :: Maybe Text
$sel:licenseConversionTaskId:LicenseConversionTask' :: LicenseConversionTask -> Maybe Text
licenseConversionTaskId} -> Maybe Text
licenseConversionTaskId) (\s :: LicenseConversionTask
s@LicenseConversionTask' {} Maybe Text
a -> LicenseConversionTask
s {$sel:licenseConversionTaskId:LicenseConversionTask' :: Maybe Text
licenseConversionTaskId = Maybe Text
a} :: LicenseConversionTask)

-- | The Amazon Resource Name (ARN) of the resource associated with the
-- license type conversion task.
licenseConversionTask_resourceArn :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.Text)
licenseConversionTask_resourceArn :: (Maybe Text -> f (Maybe Text))
-> LicenseConversionTask -> f LicenseConversionTask
licenseConversionTask_resourceArn = (LicenseConversionTask -> Maybe Text)
-> (LicenseConversionTask -> Maybe Text -> LicenseConversionTask)
-> Lens
     LicenseConversionTask
     LicenseConversionTask
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LicenseConversionTask' {Maybe Text
resourceArn :: Maybe Text
$sel:resourceArn:LicenseConversionTask' :: LicenseConversionTask -> Maybe Text
resourceArn} -> Maybe Text
resourceArn) (\s :: LicenseConversionTask
s@LicenseConversionTask' {} Maybe Text
a -> LicenseConversionTask
s {$sel:resourceArn:LicenseConversionTask' :: Maybe Text
resourceArn = Maybe Text
a} :: LicenseConversionTask)

-- | The status message for the conversion task.
licenseConversionTask_statusMessage :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.Text)
licenseConversionTask_statusMessage :: (Maybe Text -> f (Maybe Text))
-> LicenseConversionTask -> f LicenseConversionTask
licenseConversionTask_statusMessage = (LicenseConversionTask -> Maybe Text)
-> (LicenseConversionTask -> Maybe Text -> LicenseConversionTask)
-> Lens
     LicenseConversionTask
     LicenseConversionTask
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LicenseConversionTask' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:LicenseConversionTask' :: LicenseConversionTask -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: LicenseConversionTask
s@LicenseConversionTask' {} Maybe Text
a -> LicenseConversionTask
s {$sel:statusMessage:LicenseConversionTask' :: Maybe Text
statusMessage = Maybe Text
a} :: LicenseConversionTask)

-- | The time the conversion task was completed.
licenseConversionTask_endTime :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.UTCTime)
licenseConversionTask_endTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> LicenseConversionTask -> f LicenseConversionTask
licenseConversionTask_endTime = (LicenseConversionTask -> Maybe POSIX)
-> (LicenseConversionTask -> Maybe POSIX -> LicenseConversionTask)
-> Lens
     LicenseConversionTask
     LicenseConversionTask
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LicenseConversionTask' {Maybe POSIX
endTime :: Maybe POSIX
$sel:endTime:LicenseConversionTask' :: LicenseConversionTask -> Maybe POSIX
endTime} -> Maybe POSIX
endTime) (\s :: LicenseConversionTask
s@LicenseConversionTask' {} Maybe POSIX
a -> LicenseConversionTask
s {$sel:endTime:LicenseConversionTask' :: Maybe POSIX
endTime = Maybe POSIX
a} :: LicenseConversionTask) ((Maybe POSIX -> f (Maybe POSIX))
 -> LicenseConversionTask -> f LicenseConversionTask)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> LicenseConversionTask
-> f LicenseConversionTask
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The time the usage operation value of the resource was changed.
licenseConversionTask_licenseConversionTime :: Lens.Lens' LicenseConversionTask (Prelude.Maybe Prelude.UTCTime)
licenseConversionTask_licenseConversionTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> LicenseConversionTask -> f LicenseConversionTask
licenseConversionTask_licenseConversionTime = (LicenseConversionTask -> Maybe POSIX)
-> (LicenseConversionTask -> Maybe POSIX -> LicenseConversionTask)
-> Lens
     LicenseConversionTask
     LicenseConversionTask
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LicenseConversionTask' {Maybe POSIX
licenseConversionTime :: Maybe POSIX
$sel:licenseConversionTime:LicenseConversionTask' :: LicenseConversionTask -> Maybe POSIX
licenseConversionTime} -> Maybe POSIX
licenseConversionTime) (\s :: LicenseConversionTask
s@LicenseConversionTask' {} Maybe POSIX
a -> LicenseConversionTask
s {$sel:licenseConversionTime:LicenseConversionTask' :: Maybe POSIX
licenseConversionTime = Maybe POSIX
a} :: LicenseConversionTask) ((Maybe POSIX -> f (Maybe POSIX))
 -> LicenseConversionTask -> f LicenseConversionTask)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> LicenseConversionTask
-> f LicenseConversionTask
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | Information about the license type this conversion task converted from.
licenseConversionTask_sourceLicenseContext :: Lens.Lens' LicenseConversionTask (Prelude.Maybe LicenseConversionContext)
licenseConversionTask_sourceLicenseContext :: (Maybe LicenseConversionContext
 -> f (Maybe LicenseConversionContext))
-> LicenseConversionTask -> f LicenseConversionTask
licenseConversionTask_sourceLicenseContext = (LicenseConversionTask -> Maybe LicenseConversionContext)
-> (LicenseConversionTask
    -> Maybe LicenseConversionContext -> LicenseConversionTask)
-> Lens
     LicenseConversionTask
     LicenseConversionTask
     (Maybe LicenseConversionContext)
     (Maybe LicenseConversionContext)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LicenseConversionTask' {Maybe LicenseConversionContext
sourceLicenseContext :: Maybe LicenseConversionContext
$sel:sourceLicenseContext:LicenseConversionTask' :: LicenseConversionTask -> Maybe LicenseConversionContext
sourceLicenseContext} -> Maybe LicenseConversionContext
sourceLicenseContext) (\s :: LicenseConversionTask
s@LicenseConversionTask' {} Maybe LicenseConversionContext
a -> LicenseConversionTask
s {$sel:sourceLicenseContext:LicenseConversionTask' :: Maybe LicenseConversionContext
sourceLicenseContext = Maybe LicenseConversionContext
a} :: LicenseConversionTask)

instance Core.FromJSON LicenseConversionTask where
  parseJSON :: Value -> Parser LicenseConversionTask
parseJSON =
    String
-> (Object -> Parser LicenseConversionTask)
-> Value
-> Parser LicenseConversionTask
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"LicenseConversionTask"
      ( \Object
x ->
          Maybe LicenseConversionTaskStatus
-> Maybe POSIX
-> Maybe LicenseConversionContext
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe LicenseConversionContext
-> LicenseConversionTask
LicenseConversionTask'
            (Maybe LicenseConversionTaskStatus
 -> Maybe POSIX
 -> Maybe LicenseConversionContext
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe LicenseConversionContext
 -> LicenseConversionTask)
-> Parser (Maybe LicenseConversionTaskStatus)
-> Parser
     (Maybe POSIX
      -> Maybe LicenseConversionContext
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LicenseConversionContext
      -> LicenseConversionTask)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe LicenseConversionTaskStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Status")
            Parser
  (Maybe POSIX
   -> Maybe LicenseConversionContext
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LicenseConversionContext
   -> LicenseConversionTask)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe LicenseConversionContext
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LicenseConversionContext
      -> LicenseConversionTask)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StartTime")
            Parser
  (Maybe LicenseConversionContext
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LicenseConversionContext
   -> LicenseConversionTask)
-> Parser (Maybe LicenseConversionContext)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LicenseConversionContext
      -> LicenseConversionTask)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe LicenseConversionContext)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DestinationLicenseContext")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LicenseConversionContext
   -> LicenseConversionTask)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LicenseConversionContext
      -> LicenseConversionTask)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LicenseConversionTaskId")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LicenseConversionContext
   -> LicenseConversionTask)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LicenseConversionContext
      -> LicenseConversionTask)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ResourceArn")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LicenseConversionContext
   -> LicenseConversionTask)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe LicenseConversionContext
      -> LicenseConversionTask)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StatusMessage")
            Parser
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe LicenseConversionContext
   -> LicenseConversionTask)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe POSIX
      -> Maybe LicenseConversionContext -> LicenseConversionTask)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EndTime")
            Parser
  (Maybe POSIX
   -> Maybe LicenseConversionContext -> LicenseConversionTask)
-> Parser (Maybe POSIX)
-> Parser (Maybe LicenseConversionContext -> LicenseConversionTask)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LicenseConversionTime")
            Parser (Maybe LicenseConversionContext -> LicenseConversionTask)
-> Parser (Maybe LicenseConversionContext)
-> Parser LicenseConversionTask
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe LicenseConversionContext)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SourceLicenseContext")
      )

instance Prelude.Hashable LicenseConversionTask

instance Prelude.NFData LicenseConversionTask