{-# 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.EC2.Types.KeyPairInfo where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Internal
import Amazonka.EC2.Types.KeyType
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude
data KeyPairInfo = KeyPairInfo'
{
KeyPairInfo -> Maybe ISO8601
createTime :: Prelude.Maybe Data.ISO8601,
KeyPairInfo -> Maybe Text
keyFingerprint :: Prelude.Maybe Prelude.Text,
KeyPairInfo -> Maybe Text
keyName :: Prelude.Maybe Prelude.Text,
KeyPairInfo -> Maybe Text
keyPairId :: Prelude.Maybe Prelude.Text,
KeyPairInfo -> Maybe KeyType
keyType :: Prelude.Maybe KeyType,
KeyPairInfo -> Maybe Text
publicKey :: Prelude.Maybe Prelude.Text,
KeyPairInfo -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (KeyPairInfo -> KeyPairInfo -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: KeyPairInfo -> KeyPairInfo -> Bool
$c/= :: KeyPairInfo -> KeyPairInfo -> Bool
== :: KeyPairInfo -> KeyPairInfo -> Bool
$c== :: KeyPairInfo -> KeyPairInfo -> Bool
Prelude.Eq, ReadPrec [KeyPairInfo]
ReadPrec KeyPairInfo
Int -> ReadS KeyPairInfo
ReadS [KeyPairInfo]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [KeyPairInfo]
$creadListPrec :: ReadPrec [KeyPairInfo]
readPrec :: ReadPrec KeyPairInfo
$creadPrec :: ReadPrec KeyPairInfo
readList :: ReadS [KeyPairInfo]
$creadList :: ReadS [KeyPairInfo]
readsPrec :: Int -> ReadS KeyPairInfo
$creadsPrec :: Int -> ReadS KeyPairInfo
Prelude.Read, Int -> KeyPairInfo -> ShowS
[KeyPairInfo] -> ShowS
KeyPairInfo -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [KeyPairInfo] -> ShowS
$cshowList :: [KeyPairInfo] -> ShowS
show :: KeyPairInfo -> String
$cshow :: KeyPairInfo -> String
showsPrec :: Int -> KeyPairInfo -> ShowS
$cshowsPrec :: Int -> KeyPairInfo -> ShowS
Prelude.Show, forall x. Rep KeyPairInfo x -> KeyPairInfo
forall x. KeyPairInfo -> Rep KeyPairInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep KeyPairInfo x -> KeyPairInfo
$cfrom :: forall x. KeyPairInfo -> Rep KeyPairInfo x
Prelude.Generic)
newKeyPairInfo ::
KeyPairInfo
newKeyPairInfo :: KeyPairInfo
newKeyPairInfo =
KeyPairInfo'
{ $sel:createTime:KeyPairInfo' :: Maybe ISO8601
createTime = forall a. Maybe a
Prelude.Nothing,
$sel:keyFingerprint:KeyPairInfo' :: Maybe Text
keyFingerprint = forall a. Maybe a
Prelude.Nothing,
$sel:keyName:KeyPairInfo' :: Maybe Text
keyName = forall a. Maybe a
Prelude.Nothing,
$sel:keyPairId:KeyPairInfo' :: Maybe Text
keyPairId = forall a. Maybe a
Prelude.Nothing,
$sel:keyType:KeyPairInfo' :: Maybe KeyType
keyType = forall a. Maybe a
Prelude.Nothing,
$sel:publicKey:KeyPairInfo' :: Maybe Text
publicKey = forall a. Maybe a
Prelude.Nothing,
$sel:tags:KeyPairInfo' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
keyPairInfo_createTime :: Lens.Lens' KeyPairInfo (Prelude.Maybe Prelude.UTCTime)
keyPairInfo_createTime :: Lens' KeyPairInfo (Maybe UTCTime)
keyPairInfo_createTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPairInfo' {Maybe ISO8601
createTime :: Maybe ISO8601
$sel:createTime:KeyPairInfo' :: KeyPairInfo -> Maybe ISO8601
createTime} -> Maybe ISO8601
createTime) (\s :: KeyPairInfo
s@KeyPairInfo' {} Maybe ISO8601
a -> KeyPairInfo
s {$sel:createTime:KeyPairInfo' :: Maybe ISO8601
createTime = Maybe ISO8601
a} :: KeyPairInfo) 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
keyPairInfo_keyFingerprint :: Lens.Lens' KeyPairInfo (Prelude.Maybe Prelude.Text)
keyPairInfo_keyFingerprint :: Lens' KeyPairInfo (Maybe Text)
keyPairInfo_keyFingerprint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPairInfo' {Maybe Text
keyFingerprint :: Maybe Text
$sel:keyFingerprint:KeyPairInfo' :: KeyPairInfo -> Maybe Text
keyFingerprint} -> Maybe Text
keyFingerprint) (\s :: KeyPairInfo
s@KeyPairInfo' {} Maybe Text
a -> KeyPairInfo
s {$sel:keyFingerprint:KeyPairInfo' :: Maybe Text
keyFingerprint = Maybe Text
a} :: KeyPairInfo)
keyPairInfo_keyName :: Lens.Lens' KeyPairInfo (Prelude.Maybe Prelude.Text)
keyPairInfo_keyName :: Lens' KeyPairInfo (Maybe Text)
keyPairInfo_keyName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPairInfo' {Maybe Text
keyName :: Maybe Text
$sel:keyName:KeyPairInfo' :: KeyPairInfo -> Maybe Text
keyName} -> Maybe Text
keyName) (\s :: KeyPairInfo
s@KeyPairInfo' {} Maybe Text
a -> KeyPairInfo
s {$sel:keyName:KeyPairInfo' :: Maybe Text
keyName = Maybe Text
a} :: KeyPairInfo)
keyPairInfo_keyPairId :: Lens.Lens' KeyPairInfo (Prelude.Maybe Prelude.Text)
keyPairInfo_keyPairId :: Lens' KeyPairInfo (Maybe Text)
keyPairInfo_keyPairId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPairInfo' {Maybe Text
keyPairId :: Maybe Text
$sel:keyPairId:KeyPairInfo' :: KeyPairInfo -> Maybe Text
keyPairId} -> Maybe Text
keyPairId) (\s :: KeyPairInfo
s@KeyPairInfo' {} Maybe Text
a -> KeyPairInfo
s {$sel:keyPairId:KeyPairInfo' :: Maybe Text
keyPairId = Maybe Text
a} :: KeyPairInfo)
keyPairInfo_keyType :: Lens.Lens' KeyPairInfo (Prelude.Maybe KeyType)
keyPairInfo_keyType :: Lens' KeyPairInfo (Maybe KeyType)
keyPairInfo_keyType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPairInfo' {Maybe KeyType
keyType :: Maybe KeyType
$sel:keyType:KeyPairInfo' :: KeyPairInfo -> Maybe KeyType
keyType} -> Maybe KeyType
keyType) (\s :: KeyPairInfo
s@KeyPairInfo' {} Maybe KeyType
a -> KeyPairInfo
s {$sel:keyType:KeyPairInfo' :: Maybe KeyType
keyType = Maybe KeyType
a} :: KeyPairInfo)
keyPairInfo_publicKey :: Lens.Lens' KeyPairInfo (Prelude.Maybe Prelude.Text)
keyPairInfo_publicKey :: Lens' KeyPairInfo (Maybe Text)
keyPairInfo_publicKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPairInfo' {Maybe Text
publicKey :: Maybe Text
$sel:publicKey:KeyPairInfo' :: KeyPairInfo -> Maybe Text
publicKey} -> Maybe Text
publicKey) (\s :: KeyPairInfo
s@KeyPairInfo' {} Maybe Text
a -> KeyPairInfo
s {$sel:publicKey:KeyPairInfo' :: Maybe Text
publicKey = Maybe Text
a} :: KeyPairInfo)
keyPairInfo_tags :: Lens.Lens' KeyPairInfo (Prelude.Maybe [Tag])
keyPairInfo_tags :: Lens' KeyPairInfo (Maybe [Tag])
keyPairInfo_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPairInfo' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:KeyPairInfo' :: KeyPairInfo -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: KeyPairInfo
s@KeyPairInfo' {} Maybe [Tag]
a -> KeyPairInfo
s {$sel:tags:KeyPairInfo' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: KeyPairInfo) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Data.FromXML KeyPairInfo where
parseXML :: [Node] -> Either String KeyPairInfo
parseXML [Node]
x =
Maybe ISO8601
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe KeyType
-> Maybe Text
-> Maybe [Tag]
-> KeyPairInfo
KeyPairInfo'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"createTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"keyFingerprint")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"keyName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"keyPairId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"keyType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"publicKey")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"tagSet"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
)
instance Prelude.Hashable KeyPairInfo where
hashWithSalt :: Int -> KeyPairInfo -> Int
hashWithSalt Int
_salt KeyPairInfo' {Maybe [Tag]
Maybe Text
Maybe ISO8601
Maybe KeyType
tags :: Maybe [Tag]
publicKey :: Maybe Text
keyType :: Maybe KeyType
keyPairId :: Maybe Text
keyName :: Maybe Text
keyFingerprint :: Maybe Text
createTime :: Maybe ISO8601
$sel:tags:KeyPairInfo' :: KeyPairInfo -> Maybe [Tag]
$sel:publicKey:KeyPairInfo' :: KeyPairInfo -> Maybe Text
$sel:keyType:KeyPairInfo' :: KeyPairInfo -> Maybe KeyType
$sel:keyPairId:KeyPairInfo' :: KeyPairInfo -> Maybe Text
$sel:keyName:KeyPairInfo' :: KeyPairInfo -> Maybe Text
$sel:keyFingerprint:KeyPairInfo' :: KeyPairInfo -> Maybe Text
$sel:createTime:KeyPairInfo' :: KeyPairInfo -> Maybe ISO8601
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
createTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
keyFingerprint
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
keyName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
keyPairId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe KeyType
keyType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
publicKey
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
instance Prelude.NFData KeyPairInfo where
rnf :: KeyPairInfo -> ()
rnf KeyPairInfo' {Maybe [Tag]
Maybe Text
Maybe ISO8601
Maybe KeyType
tags :: Maybe [Tag]
publicKey :: Maybe Text
keyType :: Maybe KeyType
keyPairId :: Maybe Text
keyName :: Maybe Text
keyFingerprint :: Maybe Text
createTime :: Maybe ISO8601
$sel:tags:KeyPairInfo' :: KeyPairInfo -> Maybe [Tag]
$sel:publicKey:KeyPairInfo' :: KeyPairInfo -> Maybe Text
$sel:keyType:KeyPairInfo' :: KeyPairInfo -> Maybe KeyType
$sel:keyPairId:KeyPairInfo' :: KeyPairInfo -> Maybe Text
$sel:keyName:KeyPairInfo' :: KeyPairInfo -> Maybe Text
$sel:keyFingerprint:KeyPairInfo' :: KeyPairInfo -> Maybe Text
$sel:createTime:KeyPairInfo' :: KeyPairInfo -> Maybe ISO8601
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
createTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
keyFingerprint
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
keyName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
keyPairId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe KeyType
keyType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
publicKey
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags