module Stratosphere.CloudFront.Distribution.OriginGroupProperty (
module Exports, OriginGroupProperty(..), mkOriginGroupProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginGroupFailoverCriteriaProperty as Exports
import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginGroupMembersProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data OriginGroupProperty
=
OriginGroupProperty {OriginGroupProperty -> ()
haddock_workaround_ :: (),
OriginGroupProperty -> OriginGroupFailoverCriteriaProperty
failoverCriteria :: OriginGroupFailoverCriteriaProperty,
OriginGroupProperty -> Value Text
id :: (Value Prelude.Text),
OriginGroupProperty -> OriginGroupMembersProperty
members :: OriginGroupMembersProperty,
OriginGroupProperty -> Maybe (Value Text)
selectionCriteria :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (OriginGroupProperty -> OriginGroupProperty -> Bool
(OriginGroupProperty -> OriginGroupProperty -> Bool)
-> (OriginGroupProperty -> OriginGroupProperty -> Bool)
-> Eq OriginGroupProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OriginGroupProperty -> OriginGroupProperty -> Bool
== :: OriginGroupProperty -> OriginGroupProperty -> Bool
$c/= :: OriginGroupProperty -> OriginGroupProperty -> Bool
/= :: OriginGroupProperty -> OriginGroupProperty -> Bool
Prelude.Eq, Int -> OriginGroupProperty -> ShowS
[OriginGroupProperty] -> ShowS
OriginGroupProperty -> String
(Int -> OriginGroupProperty -> ShowS)
-> (OriginGroupProperty -> String)
-> ([OriginGroupProperty] -> ShowS)
-> Show OriginGroupProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OriginGroupProperty -> ShowS
showsPrec :: Int -> OriginGroupProperty -> ShowS
$cshow :: OriginGroupProperty -> String
show :: OriginGroupProperty -> String
$cshowList :: [OriginGroupProperty] -> ShowS
showList :: [OriginGroupProperty] -> ShowS
Prelude.Show)
mkOriginGroupProperty ::
OriginGroupFailoverCriteriaProperty
-> Value Prelude.Text
-> OriginGroupMembersProperty -> OriginGroupProperty
mkOriginGroupProperty :: OriginGroupFailoverCriteriaProperty
-> Value Text -> OriginGroupMembersProperty -> OriginGroupProperty
mkOriginGroupProperty OriginGroupFailoverCriteriaProperty
failoverCriteria Value Text
id OriginGroupMembersProperty
members
= OriginGroupProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), failoverCriteria :: OriginGroupFailoverCriteriaProperty
failoverCriteria = OriginGroupFailoverCriteriaProperty
failoverCriteria,
id :: Value Text
id = Value Text
id, members :: OriginGroupMembersProperty
members = OriginGroupMembersProperty
members, selectionCriteria :: Maybe (Value Text)
selectionCriteria = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties OriginGroupProperty where
toResourceProperties :: OriginGroupProperty -> ResourceProperties
toResourceProperties OriginGroupProperty {Maybe (Value Text)
()
Value Text
OriginGroupMembersProperty
OriginGroupFailoverCriteriaProperty
haddock_workaround_ :: OriginGroupProperty -> ()
failoverCriteria :: OriginGroupProperty -> OriginGroupFailoverCriteriaProperty
id :: OriginGroupProperty -> Value Text
members :: OriginGroupProperty -> OriginGroupMembersProperty
selectionCriteria :: OriginGroupProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::CloudFront::Distribution.OriginGroup",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"FailoverCriteria" Key -> OriginGroupFailoverCriteriaProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OriginGroupFailoverCriteriaProperty
failoverCriteria, Key
"Id" 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..= Value Text
id,
Key
"Members" Key -> OriginGroupMembersProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OriginGroupMembersProperty
members]
([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
"SelectionCriteria" (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)
selectionCriteria]))}
instance JSON.ToJSON OriginGroupProperty where
toJSON :: OriginGroupProperty -> Value
toJSON OriginGroupProperty {Maybe (Value Text)
()
Value Text
OriginGroupMembersProperty
OriginGroupFailoverCriteriaProperty
haddock_workaround_ :: OriginGroupProperty -> ()
failoverCriteria :: OriginGroupProperty -> OriginGroupFailoverCriteriaProperty
id :: OriginGroupProperty -> Value Text
members :: OriginGroupProperty -> OriginGroupMembersProperty
selectionCriteria :: OriginGroupProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"FailoverCriteria" Key -> OriginGroupFailoverCriteriaProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OriginGroupFailoverCriteriaProperty
failoverCriteria, Key
"Id" 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..= Value Text
id,
Key
"Members" Key -> OriginGroupMembersProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OriginGroupMembersProperty
members]
([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
"SelectionCriteria" (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)
selectionCriteria])))
instance Property "FailoverCriteria" OriginGroupProperty where
type PropertyType "FailoverCriteria" OriginGroupProperty = OriginGroupFailoverCriteriaProperty
set :: PropertyType "FailoverCriteria" OriginGroupProperty
-> OriginGroupProperty -> OriginGroupProperty
set PropertyType "FailoverCriteria" OriginGroupProperty
newValue OriginGroupProperty {Maybe (Value Text)
()
Value Text
OriginGroupMembersProperty
OriginGroupFailoverCriteriaProperty
haddock_workaround_ :: OriginGroupProperty -> ()
failoverCriteria :: OriginGroupProperty -> OriginGroupFailoverCriteriaProperty
id :: OriginGroupProperty -> Value Text
members :: OriginGroupProperty -> OriginGroupMembersProperty
selectionCriteria :: OriginGroupProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
..}
= OriginGroupProperty {failoverCriteria :: OriginGroupFailoverCriteriaProperty
failoverCriteria = PropertyType "FailoverCriteria" OriginGroupProperty
OriginGroupFailoverCriteriaProperty
newValue, Maybe (Value Text)
()
Value Text
OriginGroupMembersProperty
haddock_workaround_ :: ()
id :: Value Text
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
haddock_workaround_ :: ()
id :: Value Text
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
..}
instance Property "Id" OriginGroupProperty where
type PropertyType "Id" OriginGroupProperty = Value Prelude.Text
set :: PropertyType "Id" OriginGroupProperty
-> OriginGroupProperty -> OriginGroupProperty
set PropertyType "Id" OriginGroupProperty
newValue OriginGroupProperty {Maybe (Value Text)
()
Value Text
OriginGroupMembersProperty
OriginGroupFailoverCriteriaProperty
haddock_workaround_ :: OriginGroupProperty -> ()
failoverCriteria :: OriginGroupProperty -> OriginGroupFailoverCriteriaProperty
id :: OriginGroupProperty -> Value Text
members :: OriginGroupProperty -> OriginGroupMembersProperty
selectionCriteria :: OriginGroupProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
..}
= OriginGroupProperty {id :: Value Text
id = PropertyType "Id" OriginGroupProperty
Value Text
newValue, Maybe (Value Text)
()
OriginGroupMembersProperty
OriginGroupFailoverCriteriaProperty
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
..}
instance Property "Members" OriginGroupProperty where
type PropertyType "Members" OriginGroupProperty = OriginGroupMembersProperty
set :: PropertyType "Members" OriginGroupProperty
-> OriginGroupProperty -> OriginGroupProperty
set PropertyType "Members" OriginGroupProperty
newValue OriginGroupProperty {Maybe (Value Text)
()
Value Text
OriginGroupMembersProperty
OriginGroupFailoverCriteriaProperty
haddock_workaround_ :: OriginGroupProperty -> ()
failoverCriteria :: OriginGroupProperty -> OriginGroupFailoverCriteriaProperty
id :: OriginGroupProperty -> Value Text
members :: OriginGroupProperty -> OriginGroupMembersProperty
selectionCriteria :: OriginGroupProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
..}
= OriginGroupProperty {members :: OriginGroupMembersProperty
members = PropertyType "Members" OriginGroupProperty
OriginGroupMembersProperty
newValue, Maybe (Value Text)
()
Value Text
OriginGroupFailoverCriteriaProperty
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
selectionCriteria :: Maybe (Value Text)
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
selectionCriteria :: Maybe (Value Text)
..}
instance Property "SelectionCriteria" OriginGroupProperty where
type PropertyType "SelectionCriteria" OriginGroupProperty = Value Prelude.Text
set :: PropertyType "SelectionCriteria" OriginGroupProperty
-> OriginGroupProperty -> OriginGroupProperty
set PropertyType "SelectionCriteria" OriginGroupProperty
newValue OriginGroupProperty {Maybe (Value Text)
()
Value Text
OriginGroupMembersProperty
OriginGroupFailoverCriteriaProperty
haddock_workaround_ :: OriginGroupProperty -> ()
failoverCriteria :: OriginGroupProperty -> OriginGroupFailoverCriteriaProperty
id :: OriginGroupProperty -> Value Text
members :: OriginGroupProperty -> OriginGroupMembersProperty
selectionCriteria :: OriginGroupProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
members :: OriginGroupMembersProperty
selectionCriteria :: Maybe (Value Text)
..}
= OriginGroupProperty
{selectionCriteria :: Maybe (Value Text)
selectionCriteria = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "SelectionCriteria" OriginGroupProperty
Value Text
newValue, ()
Value Text
OriginGroupMembersProperty
OriginGroupFailoverCriteriaProperty
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
members :: OriginGroupMembersProperty
haddock_workaround_ :: ()
failoverCriteria :: OriginGroupFailoverCriteriaProperty
id :: Value Text
members :: OriginGroupMembersProperty
..}