{-# 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.FSx.Types.FileCacheDataRepositoryAssociation where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FSx.Types.FileCacheNFSConfiguration
import qualified Amazonka.Prelude as Prelude
data FileCacheDataRepositoryAssociation = FileCacheDataRepositoryAssociation'
{
FileCacheDataRepositoryAssociation -> Maybe [Text]
dataRepositorySubdirectories :: Prelude.Maybe [Prelude.Text],
FileCacheDataRepositoryAssociation
-> Maybe FileCacheNFSConfiguration
nfs :: Prelude.Maybe FileCacheNFSConfiguration,
FileCacheDataRepositoryAssociation -> Text
fileCachePath :: Prelude.Text,
FileCacheDataRepositoryAssociation -> Text
dataRepositoryPath :: Prelude.Text
}
deriving (FileCacheDataRepositoryAssociation
-> FileCacheDataRepositoryAssociation -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FileCacheDataRepositoryAssociation
-> FileCacheDataRepositoryAssociation -> Bool
$c/= :: FileCacheDataRepositoryAssociation
-> FileCacheDataRepositoryAssociation -> Bool
== :: FileCacheDataRepositoryAssociation
-> FileCacheDataRepositoryAssociation -> Bool
$c== :: FileCacheDataRepositoryAssociation
-> FileCacheDataRepositoryAssociation -> Bool
Prelude.Eq, ReadPrec [FileCacheDataRepositoryAssociation]
ReadPrec FileCacheDataRepositoryAssociation
Int -> ReadS FileCacheDataRepositoryAssociation
ReadS [FileCacheDataRepositoryAssociation]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [FileCacheDataRepositoryAssociation]
$creadListPrec :: ReadPrec [FileCacheDataRepositoryAssociation]
readPrec :: ReadPrec FileCacheDataRepositoryAssociation
$creadPrec :: ReadPrec FileCacheDataRepositoryAssociation
readList :: ReadS [FileCacheDataRepositoryAssociation]
$creadList :: ReadS [FileCacheDataRepositoryAssociation]
readsPrec :: Int -> ReadS FileCacheDataRepositoryAssociation
$creadsPrec :: Int -> ReadS FileCacheDataRepositoryAssociation
Prelude.Read, Int -> FileCacheDataRepositoryAssociation -> ShowS
[FileCacheDataRepositoryAssociation] -> ShowS
FileCacheDataRepositoryAssociation -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FileCacheDataRepositoryAssociation] -> ShowS
$cshowList :: [FileCacheDataRepositoryAssociation] -> ShowS
show :: FileCacheDataRepositoryAssociation -> String
$cshow :: FileCacheDataRepositoryAssociation -> String
showsPrec :: Int -> FileCacheDataRepositoryAssociation -> ShowS
$cshowsPrec :: Int -> FileCacheDataRepositoryAssociation -> ShowS
Prelude.Show, forall x.
Rep FileCacheDataRepositoryAssociation x
-> FileCacheDataRepositoryAssociation
forall x.
FileCacheDataRepositoryAssociation
-> Rep FileCacheDataRepositoryAssociation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep FileCacheDataRepositoryAssociation x
-> FileCacheDataRepositoryAssociation
$cfrom :: forall x.
FileCacheDataRepositoryAssociation
-> Rep FileCacheDataRepositoryAssociation x
Prelude.Generic)
newFileCacheDataRepositoryAssociation ::
Prelude.Text ->
Prelude.Text ->
FileCacheDataRepositoryAssociation
newFileCacheDataRepositoryAssociation :: Text -> Text -> FileCacheDataRepositoryAssociation
newFileCacheDataRepositoryAssociation
Text
pFileCachePath_
Text
pDataRepositoryPath_ =
FileCacheDataRepositoryAssociation'
{ $sel:dataRepositorySubdirectories:FileCacheDataRepositoryAssociation' :: Maybe [Text]
dataRepositorySubdirectories =
forall a. Maybe a
Prelude.Nothing,
$sel:nfs:FileCacheDataRepositoryAssociation' :: Maybe FileCacheNFSConfiguration
nfs = forall a. Maybe a
Prelude.Nothing,
$sel:fileCachePath:FileCacheDataRepositoryAssociation' :: Text
fileCachePath = Text
pFileCachePath_,
$sel:dataRepositoryPath:FileCacheDataRepositoryAssociation' :: Text
dataRepositoryPath =
Text
pDataRepositoryPath_
}
fileCacheDataRepositoryAssociation_dataRepositorySubdirectories :: Lens.Lens' FileCacheDataRepositoryAssociation (Prelude.Maybe [Prelude.Text])
fileCacheDataRepositoryAssociation_dataRepositorySubdirectories :: Lens' FileCacheDataRepositoryAssociation (Maybe [Text])
fileCacheDataRepositoryAssociation_dataRepositorySubdirectories = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FileCacheDataRepositoryAssociation' {Maybe [Text]
dataRepositorySubdirectories :: Maybe [Text]
$sel:dataRepositorySubdirectories:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Maybe [Text]
dataRepositorySubdirectories} -> Maybe [Text]
dataRepositorySubdirectories) (\s :: FileCacheDataRepositoryAssociation
s@FileCacheDataRepositoryAssociation' {} Maybe [Text]
a -> FileCacheDataRepositoryAssociation
s {$sel:dataRepositorySubdirectories:FileCacheDataRepositoryAssociation' :: Maybe [Text]
dataRepositorySubdirectories = Maybe [Text]
a} :: FileCacheDataRepositoryAssociation) 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
fileCacheDataRepositoryAssociation_nfs :: Lens.Lens' FileCacheDataRepositoryAssociation (Prelude.Maybe FileCacheNFSConfiguration)
fileCacheDataRepositoryAssociation_nfs :: Lens'
FileCacheDataRepositoryAssociation
(Maybe FileCacheNFSConfiguration)
fileCacheDataRepositoryAssociation_nfs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FileCacheDataRepositoryAssociation' {Maybe FileCacheNFSConfiguration
nfs :: Maybe FileCacheNFSConfiguration
$sel:nfs:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation
-> Maybe FileCacheNFSConfiguration
nfs} -> Maybe FileCacheNFSConfiguration
nfs) (\s :: FileCacheDataRepositoryAssociation
s@FileCacheDataRepositoryAssociation' {} Maybe FileCacheNFSConfiguration
a -> FileCacheDataRepositoryAssociation
s {$sel:nfs:FileCacheDataRepositoryAssociation' :: Maybe FileCacheNFSConfiguration
nfs = Maybe FileCacheNFSConfiguration
a} :: FileCacheDataRepositoryAssociation)
fileCacheDataRepositoryAssociation_fileCachePath :: Lens.Lens' FileCacheDataRepositoryAssociation Prelude.Text
fileCacheDataRepositoryAssociation_fileCachePath :: Lens' FileCacheDataRepositoryAssociation Text
fileCacheDataRepositoryAssociation_fileCachePath = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FileCacheDataRepositoryAssociation' {Text
fileCachePath :: Text
$sel:fileCachePath:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Text
fileCachePath} -> Text
fileCachePath) (\s :: FileCacheDataRepositoryAssociation
s@FileCacheDataRepositoryAssociation' {} Text
a -> FileCacheDataRepositoryAssociation
s {$sel:fileCachePath:FileCacheDataRepositoryAssociation' :: Text
fileCachePath = Text
a} :: FileCacheDataRepositoryAssociation)
fileCacheDataRepositoryAssociation_dataRepositoryPath :: Lens.Lens' FileCacheDataRepositoryAssociation Prelude.Text
fileCacheDataRepositoryAssociation_dataRepositoryPath :: Lens' FileCacheDataRepositoryAssociation Text
fileCacheDataRepositoryAssociation_dataRepositoryPath = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FileCacheDataRepositoryAssociation' {Text
dataRepositoryPath :: Text
$sel:dataRepositoryPath:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Text
dataRepositoryPath} -> Text
dataRepositoryPath) (\s :: FileCacheDataRepositoryAssociation
s@FileCacheDataRepositoryAssociation' {} Text
a -> FileCacheDataRepositoryAssociation
s {$sel:dataRepositoryPath:FileCacheDataRepositoryAssociation' :: Text
dataRepositoryPath = Text
a} :: FileCacheDataRepositoryAssociation)
instance
Prelude.Hashable
FileCacheDataRepositoryAssociation
where
hashWithSalt :: Int -> FileCacheDataRepositoryAssociation -> Int
hashWithSalt
Int
_salt
FileCacheDataRepositoryAssociation' {Maybe [Text]
Maybe FileCacheNFSConfiguration
Text
dataRepositoryPath :: Text
fileCachePath :: Text
nfs :: Maybe FileCacheNFSConfiguration
dataRepositorySubdirectories :: Maybe [Text]
$sel:dataRepositoryPath:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Text
$sel:fileCachePath:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Text
$sel:nfs:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation
-> Maybe FileCacheNFSConfiguration
$sel:dataRepositorySubdirectories:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
dataRepositorySubdirectories
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FileCacheNFSConfiguration
nfs
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
fileCachePath
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
dataRepositoryPath
instance
Prelude.NFData
FileCacheDataRepositoryAssociation
where
rnf :: FileCacheDataRepositoryAssociation -> ()
rnf FileCacheDataRepositoryAssociation' {Maybe [Text]
Maybe FileCacheNFSConfiguration
Text
dataRepositoryPath :: Text
fileCachePath :: Text
nfs :: Maybe FileCacheNFSConfiguration
dataRepositorySubdirectories :: Maybe [Text]
$sel:dataRepositoryPath:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Text
$sel:fileCachePath:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Text
$sel:nfs:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation
-> Maybe FileCacheNFSConfiguration
$sel:dataRepositorySubdirectories:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
dataRepositorySubdirectories
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FileCacheNFSConfiguration
nfs
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
fileCachePath
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
dataRepositoryPath
instance
Data.ToJSON
FileCacheDataRepositoryAssociation
where
toJSON :: FileCacheDataRepositoryAssociation -> Value
toJSON FileCacheDataRepositoryAssociation' {Maybe [Text]
Maybe FileCacheNFSConfiguration
Text
dataRepositoryPath :: Text
fileCachePath :: Text
nfs :: Maybe FileCacheNFSConfiguration
dataRepositorySubdirectories :: Maybe [Text]
$sel:dataRepositoryPath:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Text
$sel:fileCachePath:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Text
$sel:nfs:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation
-> Maybe FileCacheNFSConfiguration
$sel:dataRepositorySubdirectories:FileCacheDataRepositoryAssociation' :: FileCacheDataRepositoryAssociation -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"DataRepositorySubdirectories" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
dataRepositorySubdirectories,
(Key
"NFS" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe FileCacheNFSConfiguration
nfs,
forall a. a -> Maybe a
Prelude.Just (Key
"FileCachePath" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
fileCachePath),
forall a. a -> Maybe a
Prelude.Just
(Key
"DataRepositoryPath" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
dataRepositoryPath)
]
)