module Stratosphere.AppMesh.VirtualNode.ServiceDiscoveryProperty (
module Exports, ServiceDiscoveryProperty(..),
mkServiceDiscoveryProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.AwsCloudMapServiceDiscoveryProperty as Exports
import {-# SOURCE #-} Stratosphere.AppMesh.VirtualNode.DnsServiceDiscoveryProperty as Exports
import Stratosphere.ResourceProperties
data ServiceDiscoveryProperty
=
ServiceDiscoveryProperty {ServiceDiscoveryProperty -> ()
haddock_workaround_ :: (),
ServiceDiscoveryProperty
-> Maybe AwsCloudMapServiceDiscoveryProperty
aWSCloudMap :: (Prelude.Maybe AwsCloudMapServiceDiscoveryProperty),
ServiceDiscoveryProperty -> Maybe DnsServiceDiscoveryProperty
dNS :: (Prelude.Maybe DnsServiceDiscoveryProperty)}
deriving stock (ServiceDiscoveryProperty -> ServiceDiscoveryProperty -> Bool
(ServiceDiscoveryProperty -> ServiceDiscoveryProperty -> Bool)
-> (ServiceDiscoveryProperty -> ServiceDiscoveryProperty -> Bool)
-> Eq ServiceDiscoveryProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ServiceDiscoveryProperty -> ServiceDiscoveryProperty -> Bool
== :: ServiceDiscoveryProperty -> ServiceDiscoveryProperty -> Bool
$c/= :: ServiceDiscoveryProperty -> ServiceDiscoveryProperty -> Bool
/= :: ServiceDiscoveryProperty -> ServiceDiscoveryProperty -> Bool
Prelude.Eq, Int -> ServiceDiscoveryProperty -> ShowS
[ServiceDiscoveryProperty] -> ShowS
ServiceDiscoveryProperty -> String
(Int -> ServiceDiscoveryProperty -> ShowS)
-> (ServiceDiscoveryProperty -> String)
-> ([ServiceDiscoveryProperty] -> ShowS)
-> Show ServiceDiscoveryProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ServiceDiscoveryProperty -> ShowS
showsPrec :: Int -> ServiceDiscoveryProperty -> ShowS
$cshow :: ServiceDiscoveryProperty -> String
show :: ServiceDiscoveryProperty -> String
$cshowList :: [ServiceDiscoveryProperty] -> ShowS
showList :: [ServiceDiscoveryProperty] -> ShowS
Prelude.Show)
mkServiceDiscoveryProperty :: ServiceDiscoveryProperty
mkServiceDiscoveryProperty :: ServiceDiscoveryProperty
mkServiceDiscoveryProperty
= ServiceDiscoveryProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), aWSCloudMap :: Maybe AwsCloudMapServiceDiscoveryProperty
aWSCloudMap = Maybe AwsCloudMapServiceDiscoveryProperty
forall a. Maybe a
Prelude.Nothing,
dNS :: Maybe DnsServiceDiscoveryProperty
dNS = Maybe DnsServiceDiscoveryProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties ServiceDiscoveryProperty where
toResourceProperties :: ServiceDiscoveryProperty -> ResourceProperties
toResourceProperties ServiceDiscoveryProperty {Maybe AwsCloudMapServiceDiscoveryProperty
Maybe DnsServiceDiscoveryProperty
()
haddock_workaround_ :: ServiceDiscoveryProperty -> ()
aWSCloudMap :: ServiceDiscoveryProperty
-> Maybe AwsCloudMapServiceDiscoveryProperty
dNS :: ServiceDiscoveryProperty -> Maybe DnsServiceDiscoveryProperty
haddock_workaround_ :: ()
aWSCloudMap :: Maybe AwsCloudMapServiceDiscoveryProperty
dNS :: Maybe DnsServiceDiscoveryProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::AppMesh::VirtualNode.ServiceDiscovery",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> AwsCloudMapServiceDiscoveryProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AWSCloudMap" (AwsCloudMapServiceDiscoveryProperty -> (Key, Value))
-> Maybe AwsCloudMapServiceDiscoveryProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsCloudMapServiceDiscoveryProperty
aWSCloudMap,
Key -> DnsServiceDiscoveryProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DNS" (DnsServiceDiscoveryProperty -> (Key, Value))
-> Maybe DnsServiceDiscoveryProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DnsServiceDiscoveryProperty
dNS])}
instance JSON.ToJSON ServiceDiscoveryProperty where
toJSON :: ServiceDiscoveryProperty -> Value
toJSON ServiceDiscoveryProperty {Maybe AwsCloudMapServiceDiscoveryProperty
Maybe DnsServiceDiscoveryProperty
()
haddock_workaround_ :: ServiceDiscoveryProperty -> ()
aWSCloudMap :: ServiceDiscoveryProperty
-> Maybe AwsCloudMapServiceDiscoveryProperty
dNS :: ServiceDiscoveryProperty -> Maybe DnsServiceDiscoveryProperty
haddock_workaround_ :: ()
aWSCloudMap :: Maybe AwsCloudMapServiceDiscoveryProperty
dNS :: Maybe DnsServiceDiscoveryProperty
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> AwsCloudMapServiceDiscoveryProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AWSCloudMap" (AwsCloudMapServiceDiscoveryProperty -> (Key, Value))
-> Maybe AwsCloudMapServiceDiscoveryProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsCloudMapServiceDiscoveryProperty
aWSCloudMap,
Key -> DnsServiceDiscoveryProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DNS" (DnsServiceDiscoveryProperty -> (Key, Value))
-> Maybe DnsServiceDiscoveryProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DnsServiceDiscoveryProperty
dNS]))
instance Property "AWSCloudMap" ServiceDiscoveryProperty where
type PropertyType "AWSCloudMap" ServiceDiscoveryProperty = AwsCloudMapServiceDiscoveryProperty
set :: PropertyType "AWSCloudMap" ServiceDiscoveryProperty
-> ServiceDiscoveryProperty -> ServiceDiscoveryProperty
set PropertyType "AWSCloudMap" ServiceDiscoveryProperty
newValue ServiceDiscoveryProperty {Maybe AwsCloudMapServiceDiscoveryProperty
Maybe DnsServiceDiscoveryProperty
()
haddock_workaround_ :: ServiceDiscoveryProperty -> ()
aWSCloudMap :: ServiceDiscoveryProperty
-> Maybe AwsCloudMapServiceDiscoveryProperty
dNS :: ServiceDiscoveryProperty -> Maybe DnsServiceDiscoveryProperty
haddock_workaround_ :: ()
aWSCloudMap :: Maybe AwsCloudMapServiceDiscoveryProperty
dNS :: Maybe DnsServiceDiscoveryProperty
..}
= ServiceDiscoveryProperty
{aWSCloudMap :: Maybe AwsCloudMapServiceDiscoveryProperty
aWSCloudMap = AwsCloudMapServiceDiscoveryProperty
-> Maybe AwsCloudMapServiceDiscoveryProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "AWSCloudMap" ServiceDiscoveryProperty
AwsCloudMapServiceDiscoveryProperty
newValue, Maybe DnsServiceDiscoveryProperty
()
haddock_workaround_ :: ()
dNS :: Maybe DnsServiceDiscoveryProperty
haddock_workaround_ :: ()
dNS :: Maybe DnsServiceDiscoveryProperty
..}
instance Property "DNS" ServiceDiscoveryProperty where
type PropertyType "DNS" ServiceDiscoveryProperty = DnsServiceDiscoveryProperty
set :: PropertyType "DNS" ServiceDiscoveryProperty
-> ServiceDiscoveryProperty -> ServiceDiscoveryProperty
set PropertyType "DNS" ServiceDiscoveryProperty
newValue ServiceDiscoveryProperty {Maybe AwsCloudMapServiceDiscoveryProperty
Maybe DnsServiceDiscoveryProperty
()
haddock_workaround_ :: ServiceDiscoveryProperty -> ()
aWSCloudMap :: ServiceDiscoveryProperty
-> Maybe AwsCloudMapServiceDiscoveryProperty
dNS :: ServiceDiscoveryProperty -> Maybe DnsServiceDiscoveryProperty
haddock_workaround_ :: ()
aWSCloudMap :: Maybe AwsCloudMapServiceDiscoveryProperty
dNS :: Maybe DnsServiceDiscoveryProperty
..}
= ServiceDiscoveryProperty {dNS :: Maybe DnsServiceDiscoveryProperty
dNS = DnsServiceDiscoveryProperty -> Maybe DnsServiceDiscoveryProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "DNS" ServiceDiscoveryProperty
DnsServiceDiscoveryProperty
newValue, Maybe AwsCloudMapServiceDiscoveryProperty
()
haddock_workaround_ :: ()
aWSCloudMap :: Maybe AwsCloudMapServiceDiscoveryProperty
haddock_workaround_ :: ()
aWSCloudMap :: Maybe AwsCloudMapServiceDiscoveryProperty
..}