module Stratosphere.SSMQuickSetup.ConfigurationManager.ConfigurationDefinitionProperty ( ConfigurationDefinitionProperty(..), mkConfigurationDefinitionProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data ConfigurationDefinitionProperty = -- | See: ConfigurationDefinitionProperty {haddock_workaround_ :: (), -- | See: localDeploymentAdministrationRoleArn :: (Prelude.Maybe (Value Prelude.Text)), -- | See: localDeploymentExecutionRoleName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: parameters :: (Prelude.Map Prelude.Text (Value Prelude.Text)), -- | See: type' :: (Value Prelude.Text), -- | See: typeVersion :: (Prelude.Maybe (Value Prelude.Text)), -- | See: id :: (Prelude.Maybe (Value Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkConfigurationDefinitionProperty :: Prelude.Map Prelude.Text (Value Prelude.Text) -> Value Prelude.Text -> ConfigurationDefinitionProperty mkConfigurationDefinitionProperty parameters type' = ConfigurationDefinitionProperty {haddock_workaround_ = (), parameters = parameters, type' = type', localDeploymentAdministrationRoleArn = Prelude.Nothing, localDeploymentExecutionRoleName = Prelude.Nothing, typeVersion = Prelude.Nothing, id = Prelude.Nothing} instance ToResourceProperties ConfigurationDefinitionProperty where toResourceProperties ConfigurationDefinitionProperty {..} = ResourceProperties {awsType = "AWS::SSMQuickSetup::ConfigurationManager.ConfigurationDefinition", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["Parameters" JSON..= parameters, "Type" JSON..= type'] (Prelude.catMaybes [(JSON..=) "LocalDeploymentAdministrationRoleArn" Prelude.<$> localDeploymentAdministrationRoleArn, (JSON..=) "LocalDeploymentExecutionRoleName" Prelude.<$> localDeploymentExecutionRoleName, (JSON..=) "TypeVersion" Prelude.<$> typeVersion, (JSON..=) "id" Prelude.<$> id]))} instance JSON.ToJSON ConfigurationDefinitionProperty where toJSON ConfigurationDefinitionProperty {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["Parameters" JSON..= parameters, "Type" JSON..= type'] (Prelude.catMaybes [(JSON..=) "LocalDeploymentAdministrationRoleArn" Prelude.<$> localDeploymentAdministrationRoleArn, (JSON..=) "LocalDeploymentExecutionRoleName" Prelude.<$> localDeploymentExecutionRoleName, (JSON..=) "TypeVersion" Prelude.<$> typeVersion, (JSON..=) "id" Prelude.<$> id]))) instance Property "LocalDeploymentAdministrationRoleArn" ConfigurationDefinitionProperty where type PropertyType "LocalDeploymentAdministrationRoleArn" ConfigurationDefinitionProperty = Value Prelude.Text set newValue ConfigurationDefinitionProperty {..} = ConfigurationDefinitionProperty {localDeploymentAdministrationRoleArn = Prelude.pure newValue, ..} instance Property "LocalDeploymentExecutionRoleName" ConfigurationDefinitionProperty where type PropertyType "LocalDeploymentExecutionRoleName" ConfigurationDefinitionProperty = Value Prelude.Text set newValue ConfigurationDefinitionProperty {..} = ConfigurationDefinitionProperty {localDeploymentExecutionRoleName = Prelude.pure newValue, ..} instance Property "Parameters" ConfigurationDefinitionProperty where type PropertyType "Parameters" ConfigurationDefinitionProperty = Prelude.Map Prelude.Text (Value Prelude.Text) set newValue ConfigurationDefinitionProperty {..} = ConfigurationDefinitionProperty {parameters = newValue, ..} instance Property "Type" ConfigurationDefinitionProperty where type PropertyType "Type" ConfigurationDefinitionProperty = Value Prelude.Text set newValue ConfigurationDefinitionProperty {..} = ConfigurationDefinitionProperty {type' = newValue, ..} instance Property "TypeVersion" ConfigurationDefinitionProperty where type PropertyType "TypeVersion" ConfigurationDefinitionProperty = Value Prelude.Text set newValue ConfigurationDefinitionProperty {..} = ConfigurationDefinitionProperty {typeVersion = Prelude.pure newValue, ..} instance Property "id" ConfigurationDefinitionProperty where type PropertyType "id" ConfigurationDefinitionProperty = Value Prelude.Text set newValue ConfigurationDefinitionProperty {..} = ConfigurationDefinitionProperty {id = Prelude.pure newValue, ..}