module Stratosphere.Route53Resolver.ResolverRule.TargetAddressProperty (
TargetAddressProperty(..), mkTargetAddressProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data TargetAddressProperty
=
TargetAddressProperty {TargetAddressProperty -> ()
haddock_workaround_ :: (),
TargetAddressProperty -> Maybe (Value Text)
ip :: (Prelude.Maybe (Value Prelude.Text)),
TargetAddressProperty -> Maybe (Value Text)
ipv6 :: (Prelude.Maybe (Value Prelude.Text)),
TargetAddressProperty -> Maybe (Value Text)
port :: (Prelude.Maybe (Value Prelude.Text)),
TargetAddressProperty -> Maybe (Value Text)
protocol :: (Prelude.Maybe (Value Prelude.Text)),
TargetAddressProperty -> Maybe (Value Text)
serverNameIndication :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (TargetAddressProperty -> TargetAddressProperty -> Bool
(TargetAddressProperty -> TargetAddressProperty -> Bool)
-> (TargetAddressProperty -> TargetAddressProperty -> Bool)
-> Eq TargetAddressProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TargetAddressProperty -> TargetAddressProperty -> Bool
== :: TargetAddressProperty -> TargetAddressProperty -> Bool
$c/= :: TargetAddressProperty -> TargetAddressProperty -> Bool
/= :: TargetAddressProperty -> TargetAddressProperty -> Bool
Prelude.Eq, Int -> TargetAddressProperty -> ShowS
[TargetAddressProperty] -> ShowS
TargetAddressProperty -> String
(Int -> TargetAddressProperty -> ShowS)
-> (TargetAddressProperty -> String)
-> ([TargetAddressProperty] -> ShowS)
-> Show TargetAddressProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TargetAddressProperty -> ShowS
showsPrec :: Int -> TargetAddressProperty -> ShowS
$cshow :: TargetAddressProperty -> String
show :: TargetAddressProperty -> String
$cshowList :: [TargetAddressProperty] -> ShowS
showList :: [TargetAddressProperty] -> ShowS
Prelude.Show)
mkTargetAddressProperty :: TargetAddressProperty
mkTargetAddressProperty :: TargetAddressProperty
mkTargetAddressProperty
= TargetAddressProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), ip :: Maybe (Value Text)
ip = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
ipv6 :: Maybe (Value Text)
ipv6 = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, port :: Maybe (Value Text)
port = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
protocol :: Maybe (Value Text)
protocol = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, serverNameIndication :: Maybe (Value Text)
serverNameIndication = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties TargetAddressProperty where
toResourceProperties :: TargetAddressProperty -> ResourceProperties
toResourceProperties TargetAddressProperty {Maybe (Value Text)
()
haddock_workaround_ :: TargetAddressProperty -> ()
ip :: TargetAddressProperty -> Maybe (Value Text)
ipv6 :: TargetAddressProperty -> Maybe (Value Text)
port :: TargetAddressProperty -> Maybe (Value Text)
protocol :: TargetAddressProperty -> Maybe (Value Text)
serverNameIndication :: TargetAddressProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::Route53Resolver::ResolverRule.TargetAddress",
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 -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Ip" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
ip, Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Ipv6" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
ipv6,
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Port" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
port,
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Protocol" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
protocol,
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ServerNameIndication"
(Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
serverNameIndication])}
instance JSON.ToJSON TargetAddressProperty where
toJSON :: TargetAddressProperty -> Value
toJSON TargetAddressProperty {Maybe (Value Text)
()
haddock_workaround_ :: TargetAddressProperty -> ()
ip :: TargetAddressProperty -> Maybe (Value Text)
ipv6 :: TargetAddressProperty -> Maybe (Value Text)
port :: TargetAddressProperty -> Maybe (Value Text)
protocol :: TargetAddressProperty -> Maybe (Value Text)
serverNameIndication :: TargetAddressProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
= [(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 -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Ip" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
ip, Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Ipv6" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
ipv6,
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Port" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
port,
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Protocol" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
protocol,
Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ServerNameIndication"
(Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
serverNameIndication]))
instance Property "Ip" TargetAddressProperty where
type PropertyType "Ip" TargetAddressProperty = Value Prelude.Text
set :: PropertyType "Ip" TargetAddressProperty
-> TargetAddressProperty -> TargetAddressProperty
set PropertyType "Ip" TargetAddressProperty
newValue TargetAddressProperty {Maybe (Value Text)
()
haddock_workaround_ :: TargetAddressProperty -> ()
ip :: TargetAddressProperty -> Maybe (Value Text)
ipv6 :: TargetAddressProperty -> Maybe (Value Text)
port :: TargetAddressProperty -> Maybe (Value Text)
protocol :: TargetAddressProperty -> Maybe (Value Text)
serverNameIndication :: TargetAddressProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
= TargetAddressProperty {ip :: Maybe (Value Text)
ip = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Ip" TargetAddressProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
haddock_workaround_ :: ()
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
instance Property "Ipv6" TargetAddressProperty where
type PropertyType "Ipv6" TargetAddressProperty = Value Prelude.Text
set :: PropertyType "Ipv6" TargetAddressProperty
-> TargetAddressProperty -> TargetAddressProperty
set PropertyType "Ipv6" TargetAddressProperty
newValue TargetAddressProperty {Maybe (Value Text)
()
haddock_workaround_ :: TargetAddressProperty -> ()
ip :: TargetAddressProperty -> Maybe (Value Text)
ipv6 :: TargetAddressProperty -> Maybe (Value Text)
port :: TargetAddressProperty -> Maybe (Value Text)
protocol :: TargetAddressProperty -> Maybe (Value Text)
serverNameIndication :: TargetAddressProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
= TargetAddressProperty {ipv6 :: Maybe (Value Text)
ipv6 = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Ipv6" TargetAddressProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
instance Property "Port" TargetAddressProperty where
type PropertyType "Port" TargetAddressProperty = Value Prelude.Text
set :: PropertyType "Port" TargetAddressProperty
-> TargetAddressProperty -> TargetAddressProperty
set PropertyType "Port" TargetAddressProperty
newValue TargetAddressProperty {Maybe (Value Text)
()
haddock_workaround_ :: TargetAddressProperty -> ()
ip :: TargetAddressProperty -> Maybe (Value Text)
ipv6 :: TargetAddressProperty -> Maybe (Value Text)
port :: TargetAddressProperty -> Maybe (Value Text)
protocol :: TargetAddressProperty -> Maybe (Value Text)
serverNameIndication :: TargetAddressProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
= TargetAddressProperty {port :: Maybe (Value Text)
port = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Port" TargetAddressProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
instance Property "Protocol" TargetAddressProperty where
type PropertyType "Protocol" TargetAddressProperty = Value Prelude.Text
set :: PropertyType "Protocol" TargetAddressProperty
-> TargetAddressProperty -> TargetAddressProperty
set PropertyType "Protocol" TargetAddressProperty
newValue TargetAddressProperty {Maybe (Value Text)
()
haddock_workaround_ :: TargetAddressProperty -> ()
ip :: TargetAddressProperty -> Maybe (Value Text)
ipv6 :: TargetAddressProperty -> Maybe (Value Text)
port :: TargetAddressProperty -> Maybe (Value Text)
protocol :: TargetAddressProperty -> Maybe (Value Text)
serverNameIndication :: TargetAddressProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
= TargetAddressProperty {protocol :: Maybe (Value Text)
protocol = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Protocol" TargetAddressProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
instance Property "ServerNameIndication" TargetAddressProperty where
type PropertyType "ServerNameIndication" TargetAddressProperty = Value Prelude.Text
set :: PropertyType "ServerNameIndication" TargetAddressProperty
-> TargetAddressProperty -> TargetAddressProperty
set PropertyType "ServerNameIndication" TargetAddressProperty
newValue TargetAddressProperty {Maybe (Value Text)
()
haddock_workaround_ :: TargetAddressProperty -> ()
ip :: TargetAddressProperty -> Maybe (Value Text)
ipv6 :: TargetAddressProperty -> Maybe (Value Text)
port :: TargetAddressProperty -> Maybe (Value Text)
protocol :: TargetAddressProperty -> Maybe (Value Text)
serverNameIndication :: TargetAddressProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
serverNameIndication :: Maybe (Value Text)
..}
= TargetAddressProperty
{serverNameIndication :: Maybe (Value Text)
serverNameIndication = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ServerNameIndication" TargetAddressProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
haddock_workaround_ :: ()
ip :: Maybe (Value Text)
ipv6 :: Maybe (Value Text)
port :: Maybe (Value Text)
protocol :: Maybe (Value Text)
..}