{-# 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.Lightsail.Types.KeyPair where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Lightsail.Types.ResourceLocation
import Amazonka.Lightsail.Types.ResourceType
import Amazonka.Lightsail.Types.Tag
import qualified Amazonka.Prelude as Prelude
data KeyPair = KeyPair'
{
KeyPair -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
KeyPair -> Maybe POSIX
createdAt :: Prelude.Maybe Data.POSIX,
KeyPair -> Maybe Text
fingerprint :: Prelude.Maybe Prelude.Text,
KeyPair -> Maybe ResourceLocation
location :: Prelude.Maybe ResourceLocation,
KeyPair -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
KeyPair -> Maybe ResourceType
resourceType :: Prelude.Maybe ResourceType,
KeyPair -> Maybe Text
supportCode :: Prelude.Maybe Prelude.Text,
KeyPair -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (KeyPair -> KeyPair -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: KeyPair -> KeyPair -> Bool
$c/= :: KeyPair -> KeyPair -> Bool
== :: KeyPair -> KeyPair -> Bool
$c== :: KeyPair -> KeyPair -> Bool
Prelude.Eq, ReadPrec [KeyPair]
ReadPrec KeyPair
Int -> ReadS KeyPair
ReadS [KeyPair]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [KeyPair]
$creadListPrec :: ReadPrec [KeyPair]
readPrec :: ReadPrec KeyPair
$creadPrec :: ReadPrec KeyPair
readList :: ReadS [KeyPair]
$creadList :: ReadS [KeyPair]
readsPrec :: Int -> ReadS KeyPair
$creadsPrec :: Int -> ReadS KeyPair
Prelude.Read, Int -> KeyPair -> ShowS
[KeyPair] -> ShowS
KeyPair -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [KeyPair] -> ShowS
$cshowList :: [KeyPair] -> ShowS
show :: KeyPair -> String
$cshow :: KeyPair -> String
showsPrec :: Int -> KeyPair -> ShowS
$cshowsPrec :: Int -> KeyPair -> ShowS
Prelude.Show, forall x. Rep KeyPair x -> KeyPair
forall x. KeyPair -> Rep KeyPair x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep KeyPair x -> KeyPair
$cfrom :: forall x. KeyPair -> Rep KeyPair x
Prelude.Generic)
newKeyPair ::
KeyPair
newKeyPair :: KeyPair
newKeyPair =
KeyPair'
{ $sel:arn:KeyPair' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:createdAt:KeyPair' :: Maybe POSIX
createdAt = forall a. Maybe a
Prelude.Nothing,
$sel:fingerprint:KeyPair' :: Maybe Text
fingerprint = forall a. Maybe a
Prelude.Nothing,
$sel:location:KeyPair' :: Maybe ResourceLocation
location = forall a. Maybe a
Prelude.Nothing,
$sel:name:KeyPair' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:resourceType:KeyPair' :: Maybe ResourceType
resourceType = forall a. Maybe a
Prelude.Nothing,
$sel:supportCode:KeyPair' :: Maybe Text
supportCode = forall a. Maybe a
Prelude.Nothing,
$sel:tags:KeyPair' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
keyPair_arn :: Lens.Lens' KeyPair (Prelude.Maybe Prelude.Text)
keyPair_arn :: Lens' KeyPair (Maybe Text)
keyPair_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPair' {Maybe Text
arn :: Maybe Text
$sel:arn:KeyPair' :: KeyPair -> Maybe Text
arn} -> Maybe Text
arn) (\s :: KeyPair
s@KeyPair' {} Maybe Text
a -> KeyPair
s {$sel:arn:KeyPair' :: Maybe Text
arn = Maybe Text
a} :: KeyPair)
keyPair_createdAt :: Lens.Lens' KeyPair (Prelude.Maybe Prelude.UTCTime)
keyPair_createdAt :: Lens' KeyPair (Maybe UTCTime)
keyPair_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPair' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:KeyPair' :: KeyPair -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: KeyPair
s@KeyPair' {} Maybe POSIX
a -> KeyPair
s {$sel:createdAt:KeyPair' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: KeyPair) 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
keyPair_fingerprint :: Lens.Lens' KeyPair (Prelude.Maybe Prelude.Text)
keyPair_fingerprint :: Lens' KeyPair (Maybe Text)
keyPair_fingerprint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPair' {Maybe Text
fingerprint :: Maybe Text
$sel:fingerprint:KeyPair' :: KeyPair -> Maybe Text
fingerprint} -> Maybe Text
fingerprint) (\s :: KeyPair
s@KeyPair' {} Maybe Text
a -> KeyPair
s {$sel:fingerprint:KeyPair' :: Maybe Text
fingerprint = Maybe Text
a} :: KeyPair)
keyPair_location :: Lens.Lens' KeyPair (Prelude.Maybe ResourceLocation)
keyPair_location :: Lens' KeyPair (Maybe ResourceLocation)
keyPair_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPair' {Maybe ResourceLocation
location :: Maybe ResourceLocation
$sel:location:KeyPair' :: KeyPair -> Maybe ResourceLocation
location} -> Maybe ResourceLocation
location) (\s :: KeyPair
s@KeyPair' {} Maybe ResourceLocation
a -> KeyPair
s {$sel:location:KeyPair' :: Maybe ResourceLocation
location = Maybe ResourceLocation
a} :: KeyPair)
keyPair_name :: Lens.Lens' KeyPair (Prelude.Maybe Prelude.Text)
keyPair_name :: Lens' KeyPair (Maybe Text)
keyPair_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPair' {Maybe Text
name :: Maybe Text
$sel:name:KeyPair' :: KeyPair -> Maybe Text
name} -> Maybe Text
name) (\s :: KeyPair
s@KeyPair' {} Maybe Text
a -> KeyPair
s {$sel:name:KeyPair' :: Maybe Text
name = Maybe Text
a} :: KeyPair)
keyPair_resourceType :: Lens.Lens' KeyPair (Prelude.Maybe ResourceType)
keyPair_resourceType :: Lens' KeyPair (Maybe ResourceType)
keyPair_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPair' {Maybe ResourceType
resourceType :: Maybe ResourceType
$sel:resourceType:KeyPair' :: KeyPair -> Maybe ResourceType
resourceType} -> Maybe ResourceType
resourceType) (\s :: KeyPair
s@KeyPair' {} Maybe ResourceType
a -> KeyPair
s {$sel:resourceType:KeyPair' :: Maybe ResourceType
resourceType = Maybe ResourceType
a} :: KeyPair)
keyPair_supportCode :: Lens.Lens' KeyPair (Prelude.Maybe Prelude.Text)
keyPair_supportCode :: Lens' KeyPair (Maybe Text)
keyPair_supportCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPair' {Maybe Text
supportCode :: Maybe Text
$sel:supportCode:KeyPair' :: KeyPair -> Maybe Text
supportCode} -> Maybe Text
supportCode) (\s :: KeyPair
s@KeyPair' {} Maybe Text
a -> KeyPair
s {$sel:supportCode:KeyPair' :: Maybe Text
supportCode = Maybe Text
a} :: KeyPair)
keyPair_tags :: Lens.Lens' KeyPair (Prelude.Maybe [Tag])
keyPair_tags :: Lens' KeyPair (Maybe [Tag])
keyPair_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KeyPair' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:KeyPair' :: KeyPair -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: KeyPair
s@KeyPair' {} Maybe [Tag]
a -> KeyPair
s {$sel:tags:KeyPair' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: KeyPair) 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.FromJSON KeyPair where
parseJSON :: Value -> Parser KeyPair
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"KeyPair"
( \Object
x ->
Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe ResourceLocation
-> Maybe Text
-> Maybe ResourceType
-> Maybe Text
-> Maybe [Tag]
-> KeyPair
KeyPair'
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
"arn")
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
"createdAt")
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
"fingerprint")
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
"location")
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
"resourceType")
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
"supportCode")
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
"tags" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
)
instance Prelude.Hashable KeyPair where
hashWithSalt :: Int -> KeyPair -> Int
hashWithSalt Int
_salt KeyPair' {Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe ResourceLocation
Maybe ResourceType
tags :: Maybe [Tag]
supportCode :: Maybe Text
resourceType :: Maybe ResourceType
name :: Maybe Text
location :: Maybe ResourceLocation
fingerprint :: Maybe Text
createdAt :: Maybe POSIX
arn :: Maybe Text
$sel:tags:KeyPair' :: KeyPair -> Maybe [Tag]
$sel:supportCode:KeyPair' :: KeyPair -> Maybe Text
$sel:resourceType:KeyPair' :: KeyPair -> Maybe ResourceType
$sel:name:KeyPair' :: KeyPair -> Maybe Text
$sel:location:KeyPair' :: KeyPair -> Maybe ResourceLocation
$sel:fingerprint:KeyPair' :: KeyPair -> Maybe Text
$sel:createdAt:KeyPair' :: KeyPair -> Maybe POSIX
$sel:arn:KeyPair' :: KeyPair -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
arn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
createdAt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
fingerprint
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceLocation
location
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceType
resourceType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
supportCode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
instance Prelude.NFData KeyPair where
rnf :: KeyPair -> ()
rnf KeyPair' {Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe ResourceLocation
Maybe ResourceType
tags :: Maybe [Tag]
supportCode :: Maybe Text
resourceType :: Maybe ResourceType
name :: Maybe Text
location :: Maybe ResourceLocation
fingerprint :: Maybe Text
createdAt :: Maybe POSIX
arn :: Maybe Text
$sel:tags:KeyPair' :: KeyPair -> Maybe [Tag]
$sel:supportCode:KeyPair' :: KeyPair -> Maybe Text
$sel:resourceType:KeyPair' :: KeyPair -> Maybe ResourceType
$sel:name:KeyPair' :: KeyPair -> Maybe Text
$sel:location:KeyPair' :: KeyPair -> Maybe ResourceLocation
$sel:fingerprint:KeyPair' :: KeyPair -> Maybe Text
$sel:createdAt:KeyPair' :: KeyPair -> Maybe POSIX
$sel:arn:KeyPair' :: KeyPair -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
fingerprint
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceLocation
location
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 ResourceType
resourceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
supportCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags