module Stratosphere.WAFv2.WebACLAssociation (
        WebACLAssociation(..), mkWebACLAssociation
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data WebACLAssociation
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html>
    WebACLAssociation {WebACLAssociation -> ()
haddock_workaround_ :: (),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html#cfn-wafv2-webaclassociation-resourcearn>
                       WebACLAssociation -> Value Text
resourceArn :: (Value Prelude.Text),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html#cfn-wafv2-webaclassociation-webaclarn>
                       WebACLAssociation -> Value Text
webACLArn :: (Value Prelude.Text)}
  deriving stock (WebACLAssociation -> WebACLAssociation -> Bool
(WebACLAssociation -> WebACLAssociation -> Bool)
-> (WebACLAssociation -> WebACLAssociation -> Bool)
-> Eq WebACLAssociation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WebACLAssociation -> WebACLAssociation -> Bool
== :: WebACLAssociation -> WebACLAssociation -> Bool
$c/= :: WebACLAssociation -> WebACLAssociation -> Bool
/= :: WebACLAssociation -> WebACLAssociation -> Bool
Prelude.Eq, Int -> WebACLAssociation -> ShowS
[WebACLAssociation] -> ShowS
WebACLAssociation -> String
(Int -> WebACLAssociation -> ShowS)
-> (WebACLAssociation -> String)
-> ([WebACLAssociation] -> ShowS)
-> Show WebACLAssociation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> WebACLAssociation -> ShowS
showsPrec :: Int -> WebACLAssociation -> ShowS
$cshow :: WebACLAssociation -> String
show :: WebACLAssociation -> String
$cshowList :: [WebACLAssociation] -> ShowS
showList :: [WebACLAssociation] -> ShowS
Prelude.Show)
mkWebACLAssociation ::
  Value Prelude.Text -> Value Prelude.Text -> WebACLAssociation
mkWebACLAssociation :: Value Text -> Value Text -> WebACLAssociation
mkWebACLAssociation Value Text
resourceArn Value Text
webACLArn
  = WebACLAssociation
      {haddock_workaround_ :: ()
haddock_workaround_ = (), resourceArn :: Value Text
resourceArn = Value Text
resourceArn,
       webACLArn :: Value Text
webACLArn = Value Text
webACLArn}
instance ToResourceProperties WebACLAssociation where
  toResourceProperties :: WebACLAssociation -> ResourceProperties
toResourceProperties WebACLAssociation {()
Value Text
haddock_workaround_ :: WebACLAssociation -> ()
resourceArn :: WebACLAssociation -> Value Text
webACLArn :: WebACLAssociation -> Value Text
haddock_workaround_ :: ()
resourceArn :: Value Text
webACLArn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::WAFv2::WebACLAssociation",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ResourceArn" 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
resourceArn,
                       Key
"WebACLArn" 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
webACLArn]}
instance JSON.ToJSON WebACLAssociation where
  toJSON :: WebACLAssociation -> Value
toJSON WebACLAssociation {()
Value Text
haddock_workaround_ :: WebACLAssociation -> ()
resourceArn :: WebACLAssociation -> Value Text
webACLArn :: WebACLAssociation -> Value Text
haddock_workaround_ :: ()
resourceArn :: Value Text
webACLArn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ResourceArn" 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
resourceArn, Key
"WebACLArn" 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
webACLArn]
instance Property "ResourceArn" WebACLAssociation where
  type PropertyType "ResourceArn" WebACLAssociation = Value Prelude.Text
  set :: PropertyType "ResourceArn" WebACLAssociation
-> WebACLAssociation -> WebACLAssociation
set PropertyType "ResourceArn" WebACLAssociation
newValue WebACLAssociation {()
Value Text
haddock_workaround_ :: WebACLAssociation -> ()
resourceArn :: WebACLAssociation -> Value Text
webACLArn :: WebACLAssociation -> Value Text
haddock_workaround_ :: ()
resourceArn :: Value Text
webACLArn :: Value Text
..}
    = WebACLAssociation {resourceArn :: Value Text
resourceArn = PropertyType "ResourceArn" WebACLAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
webACLArn :: Value Text
haddock_workaround_ :: ()
webACLArn :: Value Text
..}
instance Property "WebACLArn" WebACLAssociation where
  type PropertyType "WebACLArn" WebACLAssociation = Value Prelude.Text
  set :: PropertyType "WebACLArn" WebACLAssociation
-> WebACLAssociation -> WebACLAssociation
set PropertyType "WebACLArn" WebACLAssociation
newValue WebACLAssociation {()
Value Text
haddock_workaround_ :: WebACLAssociation -> ()
resourceArn :: WebACLAssociation -> Value Text
webACLArn :: WebACLAssociation -> Value Text
haddock_workaround_ :: ()
resourceArn :: Value Text
webACLArn :: Value Text
..}
    = WebACLAssociation {webACLArn :: Value Text
webACLArn = PropertyType "WebACLArn" WebACLAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
resourceArn :: Value Text
haddock_workaround_ :: ()
resourceArn :: Value Text
..}