module Stratosphere.ARCRegionSwitch.Plan.KubernetesResourceTypeProperty (
        KubernetesResourceTypeProperty(..),
        mkKubernetesResourceTypeProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data KubernetesResourceTypeProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesresourcetype.html>
    KubernetesResourceTypeProperty {KubernetesResourceTypeProperty -> ()
haddock_workaround_ :: (),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesresourcetype.html#cfn-arcregionswitch-plan-kubernetesresourcetype-apiversion>
                                    KubernetesResourceTypeProperty -> Value Text
apiVersion :: (Value Prelude.Text),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesresourcetype.html#cfn-arcregionswitch-plan-kubernetesresourcetype-kind>
                                    KubernetesResourceTypeProperty -> Value Text
kind :: (Value Prelude.Text)}
  deriving stock (KubernetesResourceTypeProperty
-> KubernetesResourceTypeProperty -> Bool
(KubernetesResourceTypeProperty
 -> KubernetesResourceTypeProperty -> Bool)
-> (KubernetesResourceTypeProperty
    -> KubernetesResourceTypeProperty -> Bool)
-> Eq KubernetesResourceTypeProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: KubernetesResourceTypeProperty
-> KubernetesResourceTypeProperty -> Bool
== :: KubernetesResourceTypeProperty
-> KubernetesResourceTypeProperty -> Bool
$c/= :: KubernetesResourceTypeProperty
-> KubernetesResourceTypeProperty -> Bool
/= :: KubernetesResourceTypeProperty
-> KubernetesResourceTypeProperty -> Bool
Prelude.Eq, Int -> KubernetesResourceTypeProperty -> ShowS
[KubernetesResourceTypeProperty] -> ShowS
KubernetesResourceTypeProperty -> String
(Int -> KubernetesResourceTypeProperty -> ShowS)
-> (KubernetesResourceTypeProperty -> String)
-> ([KubernetesResourceTypeProperty] -> ShowS)
-> Show KubernetesResourceTypeProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> KubernetesResourceTypeProperty -> ShowS
showsPrec :: Int -> KubernetesResourceTypeProperty -> ShowS
$cshow :: KubernetesResourceTypeProperty -> String
show :: KubernetesResourceTypeProperty -> String
$cshowList :: [KubernetesResourceTypeProperty] -> ShowS
showList :: [KubernetesResourceTypeProperty] -> ShowS
Prelude.Show)
mkKubernetesResourceTypeProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> KubernetesResourceTypeProperty
mkKubernetesResourceTypeProperty :: Value Text -> Value Text -> KubernetesResourceTypeProperty
mkKubernetesResourceTypeProperty Value Text
apiVersion Value Text
kind
  = KubernetesResourceTypeProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), apiVersion :: Value Text
apiVersion = Value Text
apiVersion, kind :: Value Text
kind = Value Text
kind}
instance ToResourceProperties KubernetesResourceTypeProperty where
  toResourceProperties :: KubernetesResourceTypeProperty -> ResourceProperties
toResourceProperties KubernetesResourceTypeProperty {()
Value Text
haddock_workaround_ :: KubernetesResourceTypeProperty -> ()
apiVersion :: KubernetesResourceTypeProperty -> Value Text
kind :: KubernetesResourceTypeProperty -> Value Text
haddock_workaround_ :: ()
apiVersion :: Value Text
kind :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ARCRegionSwitch::Plan.KubernetesResourceType",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ApiVersion" 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
apiVersion,
                       Key
"Kind" 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
kind]}
instance JSON.ToJSON KubernetesResourceTypeProperty where
  toJSON :: KubernetesResourceTypeProperty -> Value
toJSON KubernetesResourceTypeProperty {()
Value Text
haddock_workaround_ :: KubernetesResourceTypeProperty -> ()
apiVersion :: KubernetesResourceTypeProperty -> Value Text
kind :: KubernetesResourceTypeProperty -> Value Text
haddock_workaround_ :: ()
apiVersion :: Value Text
kind :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ApiVersion" 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
apiVersion, Key
"Kind" 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
kind]
instance Property "ApiVersion" KubernetesResourceTypeProperty where
  type PropertyType "ApiVersion" KubernetesResourceTypeProperty = Value Prelude.Text
  set :: PropertyType "ApiVersion" KubernetesResourceTypeProperty
-> KubernetesResourceTypeProperty -> KubernetesResourceTypeProperty
set PropertyType "ApiVersion" KubernetesResourceTypeProperty
newValue KubernetesResourceTypeProperty {()
Value Text
haddock_workaround_ :: KubernetesResourceTypeProperty -> ()
apiVersion :: KubernetesResourceTypeProperty -> Value Text
kind :: KubernetesResourceTypeProperty -> Value Text
haddock_workaround_ :: ()
apiVersion :: Value Text
kind :: Value Text
..}
    = KubernetesResourceTypeProperty {apiVersion :: Value Text
apiVersion = PropertyType "ApiVersion" KubernetesResourceTypeProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
kind :: Value Text
haddock_workaround_ :: ()
kind :: Value Text
..}
instance Property "Kind" KubernetesResourceTypeProperty where
  type PropertyType "Kind" KubernetesResourceTypeProperty = Value Prelude.Text
  set :: PropertyType "Kind" KubernetesResourceTypeProperty
-> KubernetesResourceTypeProperty -> KubernetesResourceTypeProperty
set PropertyType "Kind" KubernetesResourceTypeProperty
newValue KubernetesResourceTypeProperty {()
Value Text
haddock_workaround_ :: KubernetesResourceTypeProperty -> ()
apiVersion :: KubernetesResourceTypeProperty -> Value Text
kind :: KubernetesResourceTypeProperty -> Value Text
haddock_workaround_ :: ()
apiVersion :: Value Text
kind :: Value Text
..}
    = KubernetesResourceTypeProperty {kind :: Value Text
kind = PropertyType "Kind" KubernetesResourceTypeProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
apiVersion :: Value Text
haddock_workaround_ :: ()
apiVersion :: Value Text
..}