module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleHeaderPolicyConfigProperty (
        SingleHeaderPolicyConfigProperty(..),
        mkSingleHeaderPolicyConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SingleHeaderPolicyConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig.html>
    SingleHeaderPolicyConfigProperty {SingleHeaderPolicyConfigProperty -> ()
haddock_workaround_ :: (),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig-header>
                                      SingleHeaderPolicyConfigProperty -> Value Text
header :: (Value Prelude.Text),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig-value>
                                      SingleHeaderPolicyConfigProperty -> Value Text
value :: (Value Prelude.Text)}
  deriving stock (SingleHeaderPolicyConfigProperty
-> SingleHeaderPolicyConfigProperty -> Bool
(SingleHeaderPolicyConfigProperty
 -> SingleHeaderPolicyConfigProperty -> Bool)
-> (SingleHeaderPolicyConfigProperty
    -> SingleHeaderPolicyConfigProperty -> Bool)
-> Eq SingleHeaderPolicyConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SingleHeaderPolicyConfigProperty
-> SingleHeaderPolicyConfigProperty -> Bool
== :: SingleHeaderPolicyConfigProperty
-> SingleHeaderPolicyConfigProperty -> Bool
$c/= :: SingleHeaderPolicyConfigProperty
-> SingleHeaderPolicyConfigProperty -> Bool
/= :: SingleHeaderPolicyConfigProperty
-> SingleHeaderPolicyConfigProperty -> Bool
Prelude.Eq, Int -> SingleHeaderPolicyConfigProperty -> ShowS
[SingleHeaderPolicyConfigProperty] -> ShowS
SingleHeaderPolicyConfigProperty -> String
(Int -> SingleHeaderPolicyConfigProperty -> ShowS)
-> (SingleHeaderPolicyConfigProperty -> String)
-> ([SingleHeaderPolicyConfigProperty] -> ShowS)
-> Show SingleHeaderPolicyConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SingleHeaderPolicyConfigProperty -> ShowS
showsPrec :: Int -> SingleHeaderPolicyConfigProperty -> ShowS
$cshow :: SingleHeaderPolicyConfigProperty -> String
show :: SingleHeaderPolicyConfigProperty -> String
$cshowList :: [SingleHeaderPolicyConfigProperty] -> ShowS
showList :: [SingleHeaderPolicyConfigProperty] -> ShowS
Prelude.Show)
mkSingleHeaderPolicyConfigProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> SingleHeaderPolicyConfigProperty
mkSingleHeaderPolicyConfigProperty :: Value Text -> Value Text -> SingleHeaderPolicyConfigProperty
mkSingleHeaderPolicyConfigProperty Value Text
header Value Text
value
  = SingleHeaderPolicyConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), header :: Value Text
header = Value Text
header, value :: Value Text
value = Value Text
value}
instance ToResourceProperties SingleHeaderPolicyConfigProperty where
  toResourceProperties :: SingleHeaderPolicyConfigProperty -> ResourceProperties
toResourceProperties SingleHeaderPolicyConfigProperty {()
Value Text
haddock_workaround_ :: SingleHeaderPolicyConfigProperty -> ()
header :: SingleHeaderPolicyConfigProperty -> Value Text
value :: SingleHeaderPolicyConfigProperty -> Value Text
haddock_workaround_ :: ()
header :: Value Text
value :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Header" 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
header, Key
"Value" 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
value]}
instance JSON.ToJSON SingleHeaderPolicyConfigProperty where
  toJSON :: SingleHeaderPolicyConfigProperty -> Value
toJSON SingleHeaderPolicyConfigProperty {()
Value Text
haddock_workaround_ :: SingleHeaderPolicyConfigProperty -> ()
header :: SingleHeaderPolicyConfigProperty -> Value Text
value :: SingleHeaderPolicyConfigProperty -> Value Text
haddock_workaround_ :: ()
header :: Value Text
value :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Header" 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
header, Key
"Value" 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
value]
instance Property "Header" SingleHeaderPolicyConfigProperty where
  type PropertyType "Header" SingleHeaderPolicyConfigProperty = Value Prelude.Text
  set :: PropertyType "Header" SingleHeaderPolicyConfigProperty
-> SingleHeaderPolicyConfigProperty
-> SingleHeaderPolicyConfigProperty
set PropertyType "Header" SingleHeaderPolicyConfigProperty
newValue SingleHeaderPolicyConfigProperty {()
Value Text
haddock_workaround_ :: SingleHeaderPolicyConfigProperty -> ()
header :: SingleHeaderPolicyConfigProperty -> Value Text
value :: SingleHeaderPolicyConfigProperty -> Value Text
haddock_workaround_ :: ()
header :: Value Text
value :: Value Text
..}
    = SingleHeaderPolicyConfigProperty {header :: Value Text
header = PropertyType "Header" SingleHeaderPolicyConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
value :: Value Text
haddock_workaround_ :: ()
value :: Value Text
..}
instance Property "Value" SingleHeaderPolicyConfigProperty where
  type PropertyType "Value" SingleHeaderPolicyConfigProperty = Value Prelude.Text
  set :: PropertyType "Value" SingleHeaderPolicyConfigProperty
-> SingleHeaderPolicyConfigProperty
-> SingleHeaderPolicyConfigProperty
set PropertyType "Value" SingleHeaderPolicyConfigProperty
newValue SingleHeaderPolicyConfigProperty {()
Value Text
haddock_workaround_ :: SingleHeaderPolicyConfigProperty -> ()
header :: SingleHeaderPolicyConfigProperty -> Value Text
value :: SingleHeaderPolicyConfigProperty -> Value Text
haddock_workaround_ :: ()
header :: Value Text
value :: Value Text
..}
    = SingleHeaderPolicyConfigProperty {value :: Value Text
value = PropertyType "Value" SingleHeaderPolicyConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
header :: Value Text
haddock_workaround_ :: ()
header :: Value Text
..}