module Stratosphere.CodeBuild.Fleet.ComputeConfigurationProperty ( ComputeConfigurationProperty(..), mkComputeConfigurationProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data ComputeConfigurationProperty = -- | See: ComputeConfigurationProperty {haddock_workaround_ :: (), -- | See: disk :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: instanceType :: (Prelude.Maybe (Value Prelude.Text)), -- | See: machineType :: (Prelude.Maybe (Value Prelude.Text)), -- | See: memory :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: vCpu :: (Prelude.Maybe (Value Prelude.Integer))} deriving stock (Prelude.Eq, Prelude.Show) mkComputeConfigurationProperty :: ComputeConfigurationProperty mkComputeConfigurationProperty = ComputeConfigurationProperty {haddock_workaround_ = (), disk = Prelude.Nothing, instanceType = Prelude.Nothing, machineType = Prelude.Nothing, memory = Prelude.Nothing, vCpu = Prelude.Nothing} instance ToResourceProperties ComputeConfigurationProperty where toResourceProperties ComputeConfigurationProperty {..} = ResourceProperties {awsType = "AWS::CodeBuild::Fleet.ComputeConfiguration", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "disk" Prelude.<$> disk, (JSON..=) "instanceType" Prelude.<$> instanceType, (JSON..=) "machineType" Prelude.<$> machineType, (JSON..=) "memory" Prelude.<$> memory, (JSON..=) "vCpu" Prelude.<$> vCpu])} instance JSON.ToJSON ComputeConfigurationProperty where toJSON ComputeConfigurationProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "disk" Prelude.<$> disk, (JSON..=) "instanceType" Prelude.<$> instanceType, (JSON..=) "machineType" Prelude.<$> machineType, (JSON..=) "memory" Prelude.<$> memory, (JSON..=) "vCpu" Prelude.<$> vCpu])) instance Property "disk" ComputeConfigurationProperty where type PropertyType "disk" ComputeConfigurationProperty = Value Prelude.Integer set newValue ComputeConfigurationProperty {..} = ComputeConfigurationProperty {disk = Prelude.pure newValue, ..} instance Property "instanceType" ComputeConfigurationProperty where type PropertyType "instanceType" ComputeConfigurationProperty = Value Prelude.Text set newValue ComputeConfigurationProperty {..} = ComputeConfigurationProperty {instanceType = Prelude.pure newValue, ..} instance Property "machineType" ComputeConfigurationProperty where type PropertyType "machineType" ComputeConfigurationProperty = Value Prelude.Text set newValue ComputeConfigurationProperty {..} = ComputeConfigurationProperty {machineType = Prelude.pure newValue, ..} instance Property "memory" ComputeConfigurationProperty where type PropertyType "memory" ComputeConfigurationProperty = Value Prelude.Integer set newValue ComputeConfigurationProperty {..} = ComputeConfigurationProperty {memory = Prelude.pure newValue, ..} instance Property "vCpu" ComputeConfigurationProperty where type PropertyType "vCpu" ComputeConfigurationProperty = Value Prelude.Integer set newValue ComputeConfigurationProperty {..} = ComputeConfigurationProperty {vCpu = Prelude.pure newValue, ..}