{-# 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.DocumentVersionInfo where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.SSM.Types.DocumentFormat
import Amazonka.SSM.Types.DocumentStatus
import Amazonka.SSM.Types.ReviewStatus
data DocumentVersionInfo = DocumentVersionInfo'
{
DocumentVersionInfo -> Maybe POSIX
createdDate :: Prelude.Maybe Data.POSIX,
DocumentVersionInfo -> Maybe Text
displayName :: Prelude.Maybe Prelude.Text,
DocumentVersionInfo -> Maybe DocumentFormat
documentFormat :: Prelude.Maybe DocumentFormat,
DocumentVersionInfo -> Maybe Text
documentVersion :: Prelude.Maybe Prelude.Text,
DocumentVersionInfo -> Maybe Bool
isDefaultVersion :: Prelude.Maybe Prelude.Bool,
DocumentVersionInfo -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
DocumentVersionInfo -> Maybe ReviewStatus
reviewStatus :: Prelude.Maybe ReviewStatus,
DocumentVersionInfo -> Maybe DocumentStatus
status :: Prelude.Maybe DocumentStatus,
DocumentVersionInfo -> Maybe Text
statusInformation :: Prelude.Maybe Prelude.Text,
DocumentVersionInfo -> Maybe Text
versionName :: Prelude.Maybe Prelude.Text
}
deriving (DocumentVersionInfo -> DocumentVersionInfo -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DocumentVersionInfo -> DocumentVersionInfo -> Bool
$c/= :: DocumentVersionInfo -> DocumentVersionInfo -> Bool
== :: DocumentVersionInfo -> DocumentVersionInfo -> Bool
$c== :: DocumentVersionInfo -> DocumentVersionInfo -> Bool
Prelude.Eq, ReadPrec [DocumentVersionInfo]
ReadPrec DocumentVersionInfo
Int -> ReadS DocumentVersionInfo
ReadS [DocumentVersionInfo]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DocumentVersionInfo]
$creadListPrec :: ReadPrec [DocumentVersionInfo]
readPrec :: ReadPrec DocumentVersionInfo
$creadPrec :: ReadPrec DocumentVersionInfo
readList :: ReadS [DocumentVersionInfo]
$creadList :: ReadS [DocumentVersionInfo]
readsPrec :: Int -> ReadS DocumentVersionInfo
$creadsPrec :: Int -> ReadS DocumentVersionInfo
Prelude.Read, Int -> DocumentVersionInfo -> ShowS
[DocumentVersionInfo] -> ShowS
DocumentVersionInfo -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DocumentVersionInfo] -> ShowS
$cshowList :: [DocumentVersionInfo] -> ShowS
show :: DocumentVersionInfo -> String
$cshow :: DocumentVersionInfo -> String
showsPrec :: Int -> DocumentVersionInfo -> ShowS
$cshowsPrec :: Int -> DocumentVersionInfo -> ShowS
Prelude.Show, forall x. Rep DocumentVersionInfo x -> DocumentVersionInfo
forall x. DocumentVersionInfo -> Rep DocumentVersionInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DocumentVersionInfo x -> DocumentVersionInfo
$cfrom :: forall x. DocumentVersionInfo -> Rep DocumentVersionInfo x
Prelude.Generic)
newDocumentVersionInfo ::
DocumentVersionInfo
newDocumentVersionInfo :: DocumentVersionInfo
newDocumentVersionInfo =
DocumentVersionInfo'
{ $sel:createdDate:DocumentVersionInfo' :: Maybe POSIX
createdDate = forall a. Maybe a
Prelude.Nothing,
$sel:displayName:DocumentVersionInfo' :: Maybe Text
displayName = forall a. Maybe a
Prelude.Nothing,
$sel:documentFormat:DocumentVersionInfo' :: Maybe DocumentFormat
documentFormat = forall a. Maybe a
Prelude.Nothing,
$sel:documentVersion:DocumentVersionInfo' :: Maybe Text
documentVersion = forall a. Maybe a
Prelude.Nothing,
$sel:isDefaultVersion:DocumentVersionInfo' :: Maybe Bool
isDefaultVersion = forall a. Maybe a
Prelude.Nothing,
$sel:name:DocumentVersionInfo' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:reviewStatus:DocumentVersionInfo' :: Maybe ReviewStatus
reviewStatus = forall a. Maybe a
Prelude.Nothing,
$sel:status:DocumentVersionInfo' :: Maybe DocumentStatus
status = forall a. Maybe a
Prelude.Nothing,
$sel:statusInformation:DocumentVersionInfo' :: Maybe Text
statusInformation = forall a. Maybe a
Prelude.Nothing,
$sel:versionName:DocumentVersionInfo' :: Maybe Text
versionName = forall a. Maybe a
Prelude.Nothing
}
documentVersionInfo_createdDate :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe Prelude.UTCTime)
documentVersionInfo_createdDate :: Lens' DocumentVersionInfo (Maybe UTCTime)
documentVersionInfo_createdDate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe POSIX
createdDate :: Maybe POSIX
$sel:createdDate:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe POSIX
createdDate} -> Maybe POSIX
createdDate) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe POSIX
a -> DocumentVersionInfo
s {$sel:createdDate:DocumentVersionInfo' :: Maybe POSIX
createdDate = Maybe POSIX
a} :: DocumentVersionInfo) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
documentVersionInfo_displayName :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe Prelude.Text)
documentVersionInfo_displayName :: Lens' DocumentVersionInfo (Maybe Text)
documentVersionInfo_displayName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe Text
displayName :: Maybe Text
$sel:displayName:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
displayName} -> Maybe Text
displayName) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe Text
a -> DocumentVersionInfo
s {$sel:displayName:DocumentVersionInfo' :: Maybe Text
displayName = Maybe Text
a} :: DocumentVersionInfo)
documentVersionInfo_documentFormat :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe DocumentFormat)
documentVersionInfo_documentFormat :: Lens' DocumentVersionInfo (Maybe DocumentFormat)
documentVersionInfo_documentFormat = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe DocumentFormat
documentFormat :: Maybe DocumentFormat
$sel:documentFormat:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe DocumentFormat
documentFormat} -> Maybe DocumentFormat
documentFormat) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe DocumentFormat
a -> DocumentVersionInfo
s {$sel:documentFormat:DocumentVersionInfo' :: Maybe DocumentFormat
documentFormat = Maybe DocumentFormat
a} :: DocumentVersionInfo)
documentVersionInfo_documentVersion :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe Prelude.Text)
documentVersionInfo_documentVersion :: Lens' DocumentVersionInfo (Maybe Text)
documentVersionInfo_documentVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe Text
documentVersion :: Maybe Text
$sel:documentVersion:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
documentVersion} -> Maybe Text
documentVersion) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe Text
a -> DocumentVersionInfo
s {$sel:documentVersion:DocumentVersionInfo' :: Maybe Text
documentVersion = Maybe Text
a} :: DocumentVersionInfo)
documentVersionInfo_isDefaultVersion :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe Prelude.Bool)
documentVersionInfo_isDefaultVersion :: Lens' DocumentVersionInfo (Maybe Bool)
documentVersionInfo_isDefaultVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe Bool
isDefaultVersion :: Maybe Bool
$sel:isDefaultVersion:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Bool
isDefaultVersion} -> Maybe Bool
isDefaultVersion) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe Bool
a -> DocumentVersionInfo
s {$sel:isDefaultVersion:DocumentVersionInfo' :: Maybe Bool
isDefaultVersion = Maybe Bool
a} :: DocumentVersionInfo)
documentVersionInfo_name :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe Prelude.Text)
documentVersionInfo_name :: Lens' DocumentVersionInfo (Maybe Text)
documentVersionInfo_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe Text
name :: Maybe Text
$sel:name:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
name} -> Maybe Text
name) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe Text
a -> DocumentVersionInfo
s {$sel:name:DocumentVersionInfo' :: Maybe Text
name = Maybe Text
a} :: DocumentVersionInfo)
documentVersionInfo_reviewStatus :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe ReviewStatus)
documentVersionInfo_reviewStatus :: Lens' DocumentVersionInfo (Maybe ReviewStatus)
documentVersionInfo_reviewStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe ReviewStatus
reviewStatus :: Maybe ReviewStatus
$sel:reviewStatus:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe ReviewStatus
reviewStatus} -> Maybe ReviewStatus
reviewStatus) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe ReviewStatus
a -> DocumentVersionInfo
s {$sel:reviewStatus:DocumentVersionInfo' :: Maybe ReviewStatus
reviewStatus = Maybe ReviewStatus
a} :: DocumentVersionInfo)
documentVersionInfo_status :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe DocumentStatus)
documentVersionInfo_status :: Lens' DocumentVersionInfo (Maybe DocumentStatus)
documentVersionInfo_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe DocumentStatus
status :: Maybe DocumentStatus
$sel:status:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe DocumentStatus
status} -> Maybe DocumentStatus
status) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe DocumentStatus
a -> DocumentVersionInfo
s {$sel:status:DocumentVersionInfo' :: Maybe DocumentStatus
status = Maybe DocumentStatus
a} :: DocumentVersionInfo)
documentVersionInfo_statusInformation :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe Prelude.Text)
documentVersionInfo_statusInformation :: Lens' DocumentVersionInfo (Maybe Text)
documentVersionInfo_statusInformation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe Text
statusInformation :: Maybe Text
$sel:statusInformation:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
statusInformation} -> Maybe Text
statusInformation) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe Text
a -> DocumentVersionInfo
s {$sel:statusInformation:DocumentVersionInfo' :: Maybe Text
statusInformation = Maybe Text
a} :: DocumentVersionInfo)
documentVersionInfo_versionName :: Lens.Lens' DocumentVersionInfo (Prelude.Maybe Prelude.Text)
documentVersionInfo_versionName :: Lens' DocumentVersionInfo (Maybe Text)
documentVersionInfo_versionName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DocumentVersionInfo' {Maybe Text
versionName :: Maybe Text
$sel:versionName:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
versionName} -> Maybe Text
versionName) (\s :: DocumentVersionInfo
s@DocumentVersionInfo' {} Maybe Text
a -> DocumentVersionInfo
s {$sel:versionName:DocumentVersionInfo' :: Maybe Text
versionName = Maybe Text
a} :: DocumentVersionInfo)
instance Data.FromJSON DocumentVersionInfo where
parseJSON :: Value -> Parser DocumentVersionInfo
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"DocumentVersionInfo"
( \Object
x ->
Maybe POSIX
-> Maybe Text
-> Maybe DocumentFormat
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe ReviewStatus
-> Maybe DocumentStatus
-> Maybe Text
-> Maybe Text
-> DocumentVersionInfo
DocumentVersionInfo'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"CreatedDate")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DisplayName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DocumentFormat")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DocumentVersion")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"IsDefaultVersion")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Name")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ReviewStatus")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Status")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"StatusInformation")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"VersionName")
)
instance Prelude.Hashable DocumentVersionInfo where
hashWithSalt :: Int -> DocumentVersionInfo -> Int
hashWithSalt Int
_salt DocumentVersionInfo' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe DocumentFormat
Maybe DocumentStatus
Maybe ReviewStatus
versionName :: Maybe Text
statusInformation :: Maybe Text
status :: Maybe DocumentStatus
reviewStatus :: Maybe ReviewStatus
name :: Maybe Text
isDefaultVersion :: Maybe Bool
documentVersion :: Maybe Text
documentFormat :: Maybe DocumentFormat
displayName :: Maybe Text
createdDate :: Maybe POSIX
$sel:versionName:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:statusInformation:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:status:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe DocumentStatus
$sel:reviewStatus:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe ReviewStatus
$sel:name:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:isDefaultVersion:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Bool
$sel:documentVersion:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:documentFormat:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe DocumentFormat
$sel:displayName:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:createdDate:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe POSIX
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
createdDate
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
displayName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DocumentFormat
documentFormat
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
documentVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
isDefaultVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReviewStatus
reviewStatus
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DocumentStatus
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusInformation
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
versionName
instance Prelude.NFData DocumentVersionInfo where
rnf :: DocumentVersionInfo -> ()
rnf DocumentVersionInfo' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe DocumentFormat
Maybe DocumentStatus
Maybe ReviewStatus
versionName :: Maybe Text
statusInformation :: Maybe Text
status :: Maybe DocumentStatus
reviewStatus :: Maybe ReviewStatus
name :: Maybe Text
isDefaultVersion :: Maybe Bool
documentVersion :: Maybe Text
documentFormat :: Maybe DocumentFormat
displayName :: Maybe Text
createdDate :: Maybe POSIX
$sel:versionName:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:statusInformation:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:status:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe DocumentStatus
$sel:reviewStatus:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe ReviewStatus
$sel:name:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:isDefaultVersion:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Bool
$sel:documentVersion:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:documentFormat:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe DocumentFormat
$sel:displayName:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe Text
$sel:createdDate:DocumentVersionInfo' :: DocumentVersionInfo -> Maybe POSIX
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdDate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
displayName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DocumentFormat
documentFormat
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
documentVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isDefaultVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ReviewStatus
reviewStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DocumentStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusInformation
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
versionName