{-# 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 #-}
module Amazonka.SSM.Types.DocumentIdentifier where
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SSM.Types.DocumentFormat
import Amazonka.SSM.Types.DocumentRequires
import Amazonka.SSM.Types.DocumentType
import Amazonka.SSM.Types.PlatformType
import Amazonka.SSM.Types.ReviewStatus
import Amazonka.SSM.Types.Tag
data DocumentIdentifier = DocumentIdentifier'
{
DocumentIdentifier -> Maybe DocumentType
documentType :: Prelude.Maybe DocumentType,
DocumentIdentifier -> Maybe Text
versionName :: Prelude.Maybe Prelude.Text,
DocumentIdentifier -> Maybe Text
schemaVersion :: Prelude.Maybe Prelude.Text,
DocumentIdentifier -> Maybe ReviewStatus
reviewStatus :: Prelude.Maybe ReviewStatus,
DocumentIdentifier -> Maybe Text
targetType :: Prelude.Maybe Prelude.Text,
DocumentIdentifier -> Maybe Text
owner :: Prelude.Maybe Prelude.Text,
DocumentIdentifier -> Maybe [PlatformType]
platformTypes :: Prelude.Maybe [PlatformType],
DocumentIdentifier -> Maybe POSIX
createdDate :: Prelude.Maybe Core.POSIX,
DocumentIdentifier -> Maybe DocumentFormat
documentFormat :: Prelude.Maybe DocumentFormat,
DocumentIdentifier -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
DocumentIdentifier -> Maybe Text
documentVersion :: Prelude.Maybe Prelude.Text,
DocumentIdentifier -> Maybe Text
author :: Prelude.Maybe Prelude.Text,
DocumentIdentifier -> Maybe Text
displayName :: Prelude.Maybe Prelude.Text,
DocumentIdentifier -> Maybe (NonEmpty DocumentRequires)
requires :: Prelude.Maybe (Prelude.NonEmpty DocumentRequires),
DocumentIdentifier -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (DocumentIdentifier -> DocumentIdentifier -> Bool
(DocumentIdentifier -> DocumentIdentifier -> Bool)
-> (DocumentIdentifier -> DocumentIdentifier -> Bool)
-> Eq DocumentIdentifier
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DocumentIdentifier -> DocumentIdentifier -> Bool
$c/= :: DocumentIdentifier -> DocumentIdentifier -> Bool
== :: DocumentIdentifier -> DocumentIdentifier -> Bool
$c== :: DocumentIdentifier -> DocumentIdentifier -> Bool
Prelude.Eq, ReadPrec [DocumentIdentifier]
ReadPrec DocumentIdentifier
Int -> ReadS DocumentIdentifier
ReadS [DocumentIdentifier]
(Int -> ReadS DocumentIdentifier)
-> ReadS [DocumentIdentifier]
-> ReadPrec DocumentIdentifier
-> ReadPrec [DocumentIdentifier]
-> Read DocumentIdentifier
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DocumentIdentifier]
$creadListPrec :: ReadPrec [DocumentIdentifier]
readPrec :: ReadPrec DocumentIdentifier
$creadPrec :: ReadPrec DocumentIdentifier
readList :: ReadS [DocumentIdentifier]
$creadList :: ReadS [DocumentIdentifier]
readsPrec :: Int -> ReadS DocumentIdentifier
$creadsPrec :: Int -> ReadS DocumentIdentifier
Prelude.Read, Int -> DocumentIdentifier -> ShowS
[DocumentIdentifier] -> ShowS
DocumentIdentifier -> String
(Int -> DocumentIdentifier -> ShowS)
-> (DocumentIdentifier -> String)
-> ([DocumentIdentifier] -> ShowS)
-> Show DocumentIdentifier
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DocumentIdentifier] -> ShowS
$cshowList :: [DocumentIdentifier] -> ShowS
show :: DocumentIdentifier -> String
$cshow :: DocumentIdentifier -> String
showsPrec :: Int -> DocumentIdentifier -> ShowS
$cshowsPrec :: Int -> DocumentIdentifier -> ShowS
Prelude.Show, (forall x. DocumentIdentifier -> Rep DocumentIdentifier x)
-> (forall x. Rep DocumentIdentifier x -> DocumentIdentifier)
-> Generic DocumentIdentifier
forall x. Rep DocumentIdentifier x -> DocumentIdentifier
forall x. DocumentIdentifier -> Rep DocumentIdentifier x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DocumentIdentifier x -> DocumentIdentifier
$cfrom :: forall x. DocumentIdentifier -> Rep DocumentIdentifier x
Prelude.Generic)
newDocumentIdentifier ::
DocumentIdentifier
newDocumentIdentifier :: DocumentIdentifier
newDocumentIdentifier =
DocumentIdentifier' :: Maybe DocumentType
-> Maybe Text
-> Maybe Text
-> Maybe ReviewStatus
-> Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier
DocumentIdentifier'
{ $sel:documentType:DocumentIdentifier' :: Maybe DocumentType
documentType = Maybe DocumentType
forall a. Maybe a
Prelude.Nothing,
$sel:versionName:DocumentIdentifier' :: Maybe Text
versionName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:schemaVersion:DocumentIdentifier' :: Maybe Text
schemaVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:reviewStatus:DocumentIdentifier' :: Maybe ReviewStatus
reviewStatus = Maybe ReviewStatus
forall a. Maybe a
Prelude.Nothing,
$sel:targetType:DocumentIdentifier' :: Maybe Text
targetType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:owner:DocumentIdentifier' :: Maybe Text
owner = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:platformTypes:DocumentIdentifier' :: Maybe [PlatformType]
platformTypes = Maybe [PlatformType]
forall a. Maybe a
Prelude.Nothing,
$sel:createdDate:DocumentIdentifier' :: Maybe POSIX
createdDate = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
$sel:documentFormat:DocumentIdentifier' :: Maybe DocumentFormat
documentFormat = Maybe DocumentFormat
forall a. Maybe a
Prelude.Nothing,
$sel:name:DocumentIdentifier' :: Maybe Text
name = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:documentVersion:DocumentIdentifier' :: Maybe Text
documentVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:author:DocumentIdentifier' :: Maybe Text
author = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:displayName:DocumentIdentifier' :: Maybe Text
displayName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:requires:DocumentIdentifier' :: Maybe (NonEmpty DocumentRequires)
requires = Maybe (NonEmpty DocumentRequires)
forall a. Maybe a
Prelude.Nothing,
$sel:tags:DocumentIdentifier' :: Maybe [Tag]
tags = Maybe [Tag]
forall a. Maybe a
Prelude.Nothing
}
documentIdentifier_documentType :: Lens.Lens' DocumentIdentifier (Prelude.Maybe DocumentType)
documentIdentifier_documentType :: (Maybe DocumentType -> f (Maybe DocumentType))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_documentType = (DocumentIdentifier -> Maybe DocumentType)
-> (DocumentIdentifier -> Maybe DocumentType -> DocumentIdentifier)
-> Lens
DocumentIdentifier
DocumentIdentifier
(Maybe DocumentType)
(Maybe DocumentType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe DocumentType
documentType :: Maybe DocumentType
$sel:documentType:DocumentIdentifier' :: DocumentIdentifier -> Maybe DocumentType
documentType} -> Maybe DocumentType
documentType) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe DocumentType
a -> DocumentIdentifier
s {$sel:documentType:DocumentIdentifier' :: Maybe DocumentType
documentType = Maybe DocumentType
a} :: DocumentIdentifier)
documentIdentifier_versionName :: Lens.Lens' DocumentIdentifier (Prelude.Maybe Prelude.Text)
documentIdentifier_versionName :: (Maybe Text -> f (Maybe Text))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_versionName = (DocumentIdentifier -> Maybe Text)
-> (DocumentIdentifier -> Maybe Text -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe Text
versionName :: Maybe Text
$sel:versionName:DocumentIdentifier' :: DocumentIdentifier -> Maybe Text
versionName} -> Maybe Text
versionName) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe Text
a -> DocumentIdentifier
s {$sel:versionName:DocumentIdentifier' :: Maybe Text
versionName = Maybe Text
a} :: DocumentIdentifier)
documentIdentifier_schemaVersion :: Lens.Lens' DocumentIdentifier (Prelude.Maybe Prelude.Text)
documentIdentifier_schemaVersion :: (Maybe Text -> f (Maybe Text))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_schemaVersion = (DocumentIdentifier -> Maybe Text)
-> (DocumentIdentifier -> Maybe Text -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe Text
schemaVersion :: Maybe Text
$sel:schemaVersion:DocumentIdentifier' :: DocumentIdentifier -> Maybe Text
schemaVersion} -> Maybe Text
schemaVersion) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe Text
a -> DocumentIdentifier
s {$sel:schemaVersion:DocumentIdentifier' :: Maybe Text
schemaVersion = Maybe Text
a} :: DocumentIdentifier)
documentIdentifier_reviewStatus :: Lens.Lens' DocumentIdentifier (Prelude.Maybe ReviewStatus)
documentIdentifier_reviewStatus :: (Maybe ReviewStatus -> f (Maybe ReviewStatus))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_reviewStatus = (DocumentIdentifier -> Maybe ReviewStatus)
-> (DocumentIdentifier -> Maybe ReviewStatus -> DocumentIdentifier)
-> Lens
DocumentIdentifier
DocumentIdentifier
(Maybe ReviewStatus)
(Maybe ReviewStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe ReviewStatus
reviewStatus :: Maybe ReviewStatus
$sel:reviewStatus:DocumentIdentifier' :: DocumentIdentifier -> Maybe ReviewStatus
reviewStatus} -> Maybe ReviewStatus
reviewStatus) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe ReviewStatus
a -> DocumentIdentifier
s {$sel:reviewStatus:DocumentIdentifier' :: Maybe ReviewStatus
reviewStatus = Maybe ReviewStatus
a} :: DocumentIdentifier)
documentIdentifier_targetType :: Lens.Lens' DocumentIdentifier (Prelude.Maybe Prelude.Text)
documentIdentifier_targetType :: (Maybe Text -> f (Maybe Text))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_targetType = (DocumentIdentifier -> Maybe Text)
-> (DocumentIdentifier -> Maybe Text -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe Text
targetType :: Maybe Text
$sel:targetType:DocumentIdentifier' :: DocumentIdentifier -> Maybe Text
targetType} -> Maybe Text
targetType) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe Text
a -> DocumentIdentifier
s {$sel:targetType:DocumentIdentifier' :: Maybe Text
targetType = Maybe Text
a} :: DocumentIdentifier)
documentIdentifier_owner :: Lens.Lens' DocumentIdentifier (Prelude.Maybe Prelude.Text)
documentIdentifier_owner :: (Maybe Text -> f (Maybe Text))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_owner = (DocumentIdentifier -> Maybe Text)
-> (DocumentIdentifier -> Maybe Text -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe Text
owner :: Maybe Text
$sel:owner:DocumentIdentifier' :: DocumentIdentifier -> Maybe Text
owner} -> Maybe Text
owner) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe Text
a -> DocumentIdentifier
s {$sel:owner:DocumentIdentifier' :: Maybe Text
owner = Maybe Text
a} :: DocumentIdentifier)
documentIdentifier_platformTypes :: Lens.Lens' DocumentIdentifier (Prelude.Maybe [PlatformType])
documentIdentifier_platformTypes :: (Maybe [PlatformType] -> f (Maybe [PlatformType]))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_platformTypes = (DocumentIdentifier -> Maybe [PlatformType])
-> (DocumentIdentifier
-> Maybe [PlatformType] -> DocumentIdentifier)
-> Lens
DocumentIdentifier
DocumentIdentifier
(Maybe [PlatformType])
(Maybe [PlatformType])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe [PlatformType]
platformTypes :: Maybe [PlatformType]
$sel:platformTypes:DocumentIdentifier' :: DocumentIdentifier -> Maybe [PlatformType]
platformTypes} -> Maybe [PlatformType]
platformTypes) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe [PlatformType]
a -> DocumentIdentifier
s {$sel:platformTypes:DocumentIdentifier' :: Maybe [PlatformType]
platformTypes = Maybe [PlatformType]
a} :: DocumentIdentifier) ((Maybe [PlatformType] -> f (Maybe [PlatformType]))
-> DocumentIdentifier -> f DocumentIdentifier)
-> ((Maybe [PlatformType] -> f (Maybe [PlatformType]))
-> Maybe [PlatformType] -> f (Maybe [PlatformType]))
-> (Maybe [PlatformType] -> f (Maybe [PlatformType]))
-> DocumentIdentifier
-> f DocumentIdentifier
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [PlatformType] [PlatformType] [PlatformType] [PlatformType]
-> Iso
(Maybe [PlatformType])
(Maybe [PlatformType])
(Maybe [PlatformType])
(Maybe [PlatformType])
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 [PlatformType] [PlatformType] [PlatformType] [PlatformType]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
documentIdentifier_createdDate :: Lens.Lens' DocumentIdentifier (Prelude.Maybe Prelude.UTCTime)
documentIdentifier_createdDate :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_createdDate = (DocumentIdentifier -> Maybe POSIX)
-> (DocumentIdentifier -> Maybe POSIX -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe POSIX
createdDate :: Maybe POSIX
$sel:createdDate:DocumentIdentifier' :: DocumentIdentifier -> Maybe POSIX
createdDate} -> Maybe POSIX
createdDate) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe POSIX
a -> DocumentIdentifier
s {$sel:createdDate:DocumentIdentifier' :: Maybe POSIX
createdDate = Maybe POSIX
a} :: DocumentIdentifier) ((Maybe POSIX -> f (Maybe POSIX))
-> DocumentIdentifier -> f DocumentIdentifier)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
-> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DocumentIdentifier
-> f DocumentIdentifier
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
documentIdentifier_documentFormat :: Lens.Lens' DocumentIdentifier (Prelude.Maybe DocumentFormat)
documentIdentifier_documentFormat :: (Maybe DocumentFormat -> f (Maybe DocumentFormat))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_documentFormat = (DocumentIdentifier -> Maybe DocumentFormat)
-> (DocumentIdentifier
-> Maybe DocumentFormat -> DocumentIdentifier)
-> Lens
DocumentIdentifier
DocumentIdentifier
(Maybe DocumentFormat)
(Maybe DocumentFormat)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe DocumentFormat
documentFormat :: Maybe DocumentFormat
$sel:documentFormat:DocumentIdentifier' :: DocumentIdentifier -> Maybe DocumentFormat
documentFormat} -> Maybe DocumentFormat
documentFormat) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe DocumentFormat
a -> DocumentIdentifier
s {$sel:documentFormat:DocumentIdentifier' :: Maybe DocumentFormat
documentFormat = Maybe DocumentFormat
a} :: DocumentIdentifier)
documentIdentifier_name :: Lens.Lens' DocumentIdentifier (Prelude.Maybe Prelude.Text)
documentIdentifier_name :: (Maybe Text -> f (Maybe Text))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_name = (DocumentIdentifier -> Maybe Text)
-> (DocumentIdentifier -> Maybe Text -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe Text
name :: Maybe Text
$sel:name:DocumentIdentifier' :: DocumentIdentifier -> Maybe Text
name} -> Maybe Text
name) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe Text
a -> DocumentIdentifier
s {$sel:name:DocumentIdentifier' :: Maybe Text
name = Maybe Text
a} :: DocumentIdentifier)
documentIdentifier_documentVersion :: Lens.Lens' DocumentIdentifier (Prelude.Maybe Prelude.Text)
documentIdentifier_documentVersion :: (Maybe Text -> f (Maybe Text))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_documentVersion = (DocumentIdentifier -> Maybe Text)
-> (DocumentIdentifier -> Maybe Text -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe Text
documentVersion :: Maybe Text
$sel:documentVersion:DocumentIdentifier' :: DocumentIdentifier -> Maybe Text
documentVersion} -> Maybe Text
documentVersion) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe Text
a -> DocumentIdentifier
s {$sel:documentVersion:DocumentIdentifier' :: Maybe Text
documentVersion = Maybe Text
a} :: DocumentIdentifier)
documentIdentifier_author :: Lens.Lens' DocumentIdentifier (Prelude.Maybe Prelude.Text)
documentIdentifier_author :: (Maybe Text -> f (Maybe Text))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_author = (DocumentIdentifier -> Maybe Text)
-> (DocumentIdentifier -> Maybe Text -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe Text
author :: Maybe Text
$sel:author:DocumentIdentifier' :: DocumentIdentifier -> Maybe Text
author} -> Maybe Text
author) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe Text
a -> DocumentIdentifier
s {$sel:author:DocumentIdentifier' :: Maybe Text
author = Maybe Text
a} :: DocumentIdentifier)
documentIdentifier_displayName :: Lens.Lens' DocumentIdentifier (Prelude.Maybe Prelude.Text)
documentIdentifier_displayName :: (Maybe Text -> f (Maybe Text))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_displayName = (DocumentIdentifier -> Maybe Text)
-> (DocumentIdentifier -> Maybe Text -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe Text
displayName :: Maybe Text
$sel:displayName:DocumentIdentifier' :: DocumentIdentifier -> Maybe Text
displayName} -> Maybe Text
displayName) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe Text
a -> DocumentIdentifier
s {$sel:displayName:DocumentIdentifier' :: Maybe Text
displayName = Maybe Text
a} :: DocumentIdentifier)
documentIdentifier_requires :: Lens.Lens' DocumentIdentifier (Prelude.Maybe (Prelude.NonEmpty DocumentRequires))
documentIdentifier_requires :: (Maybe (NonEmpty DocumentRequires)
-> f (Maybe (NonEmpty DocumentRequires)))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_requires = (DocumentIdentifier -> Maybe (NonEmpty DocumentRequires))
-> (DocumentIdentifier
-> Maybe (NonEmpty DocumentRequires) -> DocumentIdentifier)
-> Lens
DocumentIdentifier
DocumentIdentifier
(Maybe (NonEmpty DocumentRequires))
(Maybe (NonEmpty DocumentRequires))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe (NonEmpty DocumentRequires)
requires :: Maybe (NonEmpty DocumentRequires)
$sel:requires:DocumentIdentifier' :: DocumentIdentifier -> Maybe (NonEmpty DocumentRequires)
requires} -> Maybe (NonEmpty DocumentRequires)
requires) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe (NonEmpty DocumentRequires)
a -> DocumentIdentifier
s {$sel:requires:DocumentIdentifier' :: Maybe (NonEmpty DocumentRequires)
requires = Maybe (NonEmpty DocumentRequires)
a} :: DocumentIdentifier) ((Maybe (NonEmpty DocumentRequires)
-> f (Maybe (NonEmpty DocumentRequires)))
-> DocumentIdentifier -> f DocumentIdentifier)
-> ((Maybe (NonEmpty DocumentRequires)
-> f (Maybe (NonEmpty DocumentRequires)))
-> Maybe (NonEmpty DocumentRequires)
-> f (Maybe (NonEmpty DocumentRequires)))
-> (Maybe (NonEmpty DocumentRequires)
-> f (Maybe (NonEmpty DocumentRequires)))
-> DocumentIdentifier
-> f DocumentIdentifier
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
(NonEmpty DocumentRequires)
(NonEmpty DocumentRequires)
(NonEmpty DocumentRequires)
(NonEmpty DocumentRequires)
-> Iso
(Maybe (NonEmpty DocumentRequires))
(Maybe (NonEmpty DocumentRequires))
(Maybe (NonEmpty DocumentRequires))
(Maybe (NonEmpty DocumentRequires))
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
(NonEmpty DocumentRequires)
(NonEmpty DocumentRequires)
(NonEmpty DocumentRequires)
(NonEmpty DocumentRequires)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
documentIdentifier_tags :: Lens.Lens' DocumentIdentifier (Prelude.Maybe [Tag])
documentIdentifier_tags :: (Maybe [Tag] -> f (Maybe [Tag]))
-> DocumentIdentifier -> f DocumentIdentifier
documentIdentifier_tags = (DocumentIdentifier -> Maybe [Tag])
-> (DocumentIdentifier -> Maybe [Tag] -> DocumentIdentifier)
-> Lens
DocumentIdentifier DocumentIdentifier (Maybe [Tag]) (Maybe [Tag])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentIdentifier' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:DocumentIdentifier' :: DocumentIdentifier -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: DocumentIdentifier
s@DocumentIdentifier' {} Maybe [Tag]
a -> DocumentIdentifier
s {$sel:tags:DocumentIdentifier' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: DocumentIdentifier) ((Maybe [Tag] -> f (Maybe [Tag]))
-> DocumentIdentifier -> f DocumentIdentifier)
-> ((Maybe [Tag] -> f (Maybe [Tag]))
-> Maybe [Tag] -> f (Maybe [Tag]))
-> (Maybe [Tag] -> f (Maybe [Tag]))
-> DocumentIdentifier
-> f DocumentIdentifier
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Tag] [Tag] [Tag] [Tag]
-> Iso (Maybe [Tag]) (Maybe [Tag]) (Maybe [Tag]) (Maybe [Tag])
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 [Tag] [Tag] [Tag] [Tag]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.FromJSON DocumentIdentifier where
parseJSON :: Value -> Parser DocumentIdentifier
parseJSON =
String
-> (Object -> Parser DocumentIdentifier)
-> Value
-> Parser DocumentIdentifier
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
String
"DocumentIdentifier"
( \Object
x ->
Maybe DocumentType
-> Maybe Text
-> Maybe Text
-> Maybe ReviewStatus
-> Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier
DocumentIdentifier'
(Maybe DocumentType
-> Maybe Text
-> Maybe Text
-> Maybe ReviewStatus
-> Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe DocumentType)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe ReviewStatus
-> Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe DocumentType)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DocumentType")
Parser
(Maybe Text
-> Maybe Text
-> Maybe ReviewStatus
-> Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe ReviewStatus
-> Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
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
"VersionName")
Parser
(Maybe Text
-> Maybe ReviewStatus
-> Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe Text)
-> Parser
(Maybe ReviewStatus
-> Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
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
"SchemaVersion")
Parser
(Maybe ReviewStatus
-> Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe ReviewStatus)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ReviewStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReviewStatus")
Parser
(Maybe Text
-> Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
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
"TargetType")
Parser
(Maybe Text
-> Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe Text)
-> Parser
(Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
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
"Owner")
Parser
(Maybe [PlatformType]
-> Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe [PlatformType])
-> Parser
(Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [PlatformType]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PlatformTypes" Parser (Maybe (Maybe [PlatformType]))
-> Maybe [PlatformType] -> Parser (Maybe [PlatformType])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [PlatformType]
forall a. Monoid a => a
Prelude.mempty)
Parser
(Maybe POSIX
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe POSIX)
-> Parser
(Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
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
"CreatedDate")
Parser
(Maybe DocumentFormat
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe DocumentFormat)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DocumentFormat)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DocumentFormat")
Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
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
"Name")
Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
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
"DocumentVersion")
Parser
(Maybe Text
-> Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
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
"Author")
Parser
(Maybe Text
-> Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag]
-> DocumentIdentifier)
-> Parser (Maybe Text)
-> Parser
(Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag] -> DocumentIdentifier)
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
"DisplayName")
Parser
(Maybe (NonEmpty DocumentRequires)
-> Maybe [Tag] -> DocumentIdentifier)
-> Parser (Maybe (NonEmpty DocumentRequires))
-> Parser (Maybe [Tag] -> DocumentIdentifier)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (NonEmpty DocumentRequires))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Requires")
Parser (Maybe [Tag] -> DocumentIdentifier)
-> Parser (Maybe [Tag]) -> Parser DocumentIdentifier
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Tag]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Tags" Parser (Maybe (Maybe [Tag])) -> Maybe [Tag] -> Parser (Maybe [Tag])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Tag]
forall a. Monoid a => a
Prelude.mempty)
)
instance Prelude.Hashable DocumentIdentifier
instance Prelude.NFData DocumentIdentifier