{-# 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.Transfer.Types.ListedServer 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.Transfer.Types.Domain
import Amazonka.Transfer.Types.EndpointType
import Amazonka.Transfer.Types.IdentityProviderType
import Amazonka.Transfer.Types.State
data ListedServer = ListedServer'
{
ListedServer -> Maybe Domain
domain :: Prelude.Maybe Domain,
ListedServer -> Maybe EndpointType
endpointType :: Prelude.Maybe EndpointType,
ListedServer -> Maybe IdentityProviderType
identityProviderType :: Prelude.Maybe IdentityProviderType,
ListedServer -> Maybe Text
loggingRole :: Prelude.Maybe Prelude.Text,
ListedServer -> Maybe Text
serverId :: Prelude.Maybe Prelude.Text,
ListedServer -> Maybe State
state :: Prelude.Maybe State,
ListedServer -> Maybe Int
userCount :: Prelude.Maybe Prelude.Int,
ListedServer -> Text
arn :: Prelude.Text
}
deriving (ListedServer -> ListedServer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListedServer -> ListedServer -> Bool
$c/= :: ListedServer -> ListedServer -> Bool
== :: ListedServer -> ListedServer -> Bool
$c== :: ListedServer -> ListedServer -> Bool
Prelude.Eq, ReadPrec [ListedServer]
ReadPrec ListedServer
Int -> ReadS ListedServer
ReadS [ListedServer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListedServer]
$creadListPrec :: ReadPrec [ListedServer]
readPrec :: ReadPrec ListedServer
$creadPrec :: ReadPrec ListedServer
readList :: ReadS [ListedServer]
$creadList :: ReadS [ListedServer]
readsPrec :: Int -> ReadS ListedServer
$creadsPrec :: Int -> ReadS ListedServer
Prelude.Read, Int -> ListedServer -> ShowS
[ListedServer] -> ShowS
ListedServer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListedServer] -> ShowS
$cshowList :: [ListedServer] -> ShowS
show :: ListedServer -> String
$cshow :: ListedServer -> String
showsPrec :: Int -> ListedServer -> ShowS
$cshowsPrec :: Int -> ListedServer -> ShowS
Prelude.Show, forall x. Rep ListedServer x -> ListedServer
forall x. ListedServer -> Rep ListedServer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListedServer x -> ListedServer
$cfrom :: forall x. ListedServer -> Rep ListedServer x
Prelude.Generic)
newListedServer ::
Prelude.Text ->
ListedServer
newListedServer :: Text -> ListedServer
newListedServer Text
pArn_ =
ListedServer'
{ $sel:domain:ListedServer' :: Maybe Domain
domain = forall a. Maybe a
Prelude.Nothing,
$sel:endpointType:ListedServer' :: Maybe EndpointType
endpointType = forall a. Maybe a
Prelude.Nothing,
$sel:identityProviderType:ListedServer' :: Maybe IdentityProviderType
identityProviderType = forall a. Maybe a
Prelude.Nothing,
$sel:loggingRole:ListedServer' :: Maybe Text
loggingRole = forall a. Maybe a
Prelude.Nothing,
$sel:serverId:ListedServer' :: Maybe Text
serverId = forall a. Maybe a
Prelude.Nothing,
$sel:state:ListedServer' :: Maybe State
state = forall a. Maybe a
Prelude.Nothing,
$sel:userCount:ListedServer' :: Maybe Int
userCount = forall a. Maybe a
Prelude.Nothing,
$sel:arn:ListedServer' :: Text
arn = Text
pArn_
}
listedServer_domain :: Lens.Lens' ListedServer (Prelude.Maybe Domain)
listedServer_domain :: Lens' ListedServer (Maybe Domain)
listedServer_domain = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListedServer' {Maybe Domain
domain :: Maybe Domain
$sel:domain:ListedServer' :: ListedServer -> Maybe Domain
domain} -> Maybe Domain
domain) (\s :: ListedServer
s@ListedServer' {} Maybe Domain
a -> ListedServer
s {$sel:domain:ListedServer' :: Maybe Domain
domain = Maybe Domain
a} :: ListedServer)
listedServer_endpointType :: Lens.Lens' ListedServer (Prelude.Maybe EndpointType)
listedServer_endpointType :: Lens' ListedServer (Maybe EndpointType)
listedServer_endpointType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListedServer' {Maybe EndpointType
endpointType :: Maybe EndpointType
$sel:endpointType:ListedServer' :: ListedServer -> Maybe EndpointType
endpointType} -> Maybe EndpointType
endpointType) (\s :: ListedServer
s@ListedServer' {} Maybe EndpointType
a -> ListedServer
s {$sel:endpointType:ListedServer' :: Maybe EndpointType
endpointType = Maybe EndpointType
a} :: ListedServer)
listedServer_identityProviderType :: Lens.Lens' ListedServer (Prelude.Maybe IdentityProviderType)
listedServer_identityProviderType :: Lens' ListedServer (Maybe IdentityProviderType)
listedServer_identityProviderType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListedServer' {Maybe IdentityProviderType
identityProviderType :: Maybe IdentityProviderType
$sel:identityProviderType:ListedServer' :: ListedServer -> Maybe IdentityProviderType
identityProviderType} -> Maybe IdentityProviderType
identityProviderType) (\s :: ListedServer
s@ListedServer' {} Maybe IdentityProviderType
a -> ListedServer
s {$sel:identityProviderType:ListedServer' :: Maybe IdentityProviderType
identityProviderType = Maybe IdentityProviderType
a} :: ListedServer)
listedServer_loggingRole :: Lens.Lens' ListedServer (Prelude.Maybe Prelude.Text)
listedServer_loggingRole :: Lens' ListedServer (Maybe Text)
listedServer_loggingRole = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListedServer' {Maybe Text
loggingRole :: Maybe Text
$sel:loggingRole:ListedServer' :: ListedServer -> Maybe Text
loggingRole} -> Maybe Text
loggingRole) (\s :: ListedServer
s@ListedServer' {} Maybe Text
a -> ListedServer
s {$sel:loggingRole:ListedServer' :: Maybe Text
loggingRole = Maybe Text
a} :: ListedServer)
listedServer_serverId :: Lens.Lens' ListedServer (Prelude.Maybe Prelude.Text)
listedServer_serverId :: Lens' ListedServer (Maybe Text)
listedServer_serverId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListedServer' {Maybe Text
serverId :: Maybe Text
$sel:serverId:ListedServer' :: ListedServer -> Maybe Text
serverId} -> Maybe Text
serverId) (\s :: ListedServer
s@ListedServer' {} Maybe Text
a -> ListedServer
s {$sel:serverId:ListedServer' :: Maybe Text
serverId = Maybe Text
a} :: ListedServer)
listedServer_state :: Lens.Lens' ListedServer (Prelude.Maybe State)
listedServer_state :: Lens' ListedServer (Maybe State)
listedServer_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListedServer' {Maybe State
state :: Maybe State
$sel:state:ListedServer' :: ListedServer -> Maybe State
state} -> Maybe State
state) (\s :: ListedServer
s@ListedServer' {} Maybe State
a -> ListedServer
s {$sel:state:ListedServer' :: Maybe State
state = Maybe State
a} :: ListedServer)
listedServer_userCount :: Lens.Lens' ListedServer (Prelude.Maybe Prelude.Int)
listedServer_userCount :: Lens' ListedServer (Maybe Int)
listedServer_userCount = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListedServer' {Maybe Int
userCount :: Maybe Int
$sel:userCount:ListedServer' :: ListedServer -> Maybe Int
userCount} -> Maybe Int
userCount) (\s :: ListedServer
s@ListedServer' {} Maybe Int
a -> ListedServer
s {$sel:userCount:ListedServer' :: Maybe Int
userCount = Maybe Int
a} :: ListedServer)
listedServer_arn :: Lens.Lens' ListedServer Prelude.Text
listedServer_arn :: Lens' ListedServer Text
listedServer_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListedServer' {Text
arn :: Text
$sel:arn:ListedServer' :: ListedServer -> Text
arn} -> Text
arn) (\s :: ListedServer
s@ListedServer' {} Text
a -> ListedServer
s {$sel:arn:ListedServer' :: Text
arn = Text
a} :: ListedServer)
instance Data.FromJSON ListedServer where
parseJSON :: Value -> Parser ListedServer
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ListedServer"
( \Object
x ->
Maybe Domain
-> Maybe EndpointType
-> Maybe IdentityProviderType
-> Maybe Text
-> Maybe Text
-> Maybe State
-> Maybe Int
-> Text
-> ListedServer
ListedServer'
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
"Domain")
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
"EndpointType")
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
"IdentityProviderType")
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
"LoggingRole")
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
"ServerId")
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
"State")
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
"UserCount")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"Arn")
)
instance Prelude.Hashable ListedServer where
hashWithSalt :: Int -> ListedServer -> Int
hashWithSalt Int
_salt ListedServer' {Maybe Int
Maybe Text
Maybe Domain
Maybe EndpointType
Maybe IdentityProviderType
Maybe State
Text
arn :: Text
userCount :: Maybe Int
state :: Maybe State
serverId :: Maybe Text
loggingRole :: Maybe Text
identityProviderType :: Maybe IdentityProviderType
endpointType :: Maybe EndpointType
domain :: Maybe Domain
$sel:arn:ListedServer' :: ListedServer -> Text
$sel:userCount:ListedServer' :: ListedServer -> Maybe Int
$sel:state:ListedServer' :: ListedServer -> Maybe State
$sel:serverId:ListedServer' :: ListedServer -> Maybe Text
$sel:loggingRole:ListedServer' :: ListedServer -> Maybe Text
$sel:identityProviderType:ListedServer' :: ListedServer -> Maybe IdentityProviderType
$sel:endpointType:ListedServer' :: ListedServer -> Maybe EndpointType
$sel:domain:ListedServer' :: ListedServer -> Maybe Domain
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Domain
domain
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EndpointType
endpointType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IdentityProviderType
identityProviderType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
loggingRole
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
serverId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe State
state
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
userCount
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
arn
instance Prelude.NFData ListedServer where
rnf :: ListedServer -> ()
rnf ListedServer' {Maybe Int
Maybe Text
Maybe Domain
Maybe EndpointType
Maybe IdentityProviderType
Maybe State
Text
arn :: Text
userCount :: Maybe Int
state :: Maybe State
serverId :: Maybe Text
loggingRole :: Maybe Text
identityProviderType :: Maybe IdentityProviderType
endpointType :: Maybe EndpointType
domain :: Maybe Domain
$sel:arn:ListedServer' :: ListedServer -> Text
$sel:userCount:ListedServer' :: ListedServer -> Maybe Int
$sel:state:ListedServer' :: ListedServer -> Maybe State
$sel:serverId:ListedServer' :: ListedServer -> Maybe Text
$sel:loggingRole:ListedServer' :: ListedServer -> Maybe Text
$sel:identityProviderType:ListedServer' :: ListedServer -> Maybe IdentityProviderType
$sel:endpointType:ListedServer' :: ListedServer -> Maybe EndpointType
$sel:domain:ListedServer' :: ListedServer -> Maybe Domain
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Domain
domain
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EndpointType
endpointType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IdentityProviderType
identityProviderType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
loggingRole
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
serverId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe State
state
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
userCount
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
arn