module Stratosphere.FSx.Volume.AggregateConfigurationProperty ( AggregateConfigurationProperty(..), mkAggregateConfigurationProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data AggregateConfigurationProperty = -- | See: AggregateConfigurationProperty {haddock_workaround_ :: (), -- | See: aggregates :: (Prelude.Maybe (ValueList Prelude.Text)), -- | See: constituentsPerAggregate :: (Prelude.Maybe (Value Prelude.Integer))} deriving stock (Prelude.Eq, Prelude.Show) mkAggregateConfigurationProperty :: AggregateConfigurationProperty mkAggregateConfigurationProperty = AggregateConfigurationProperty {haddock_workaround_ = (), aggregates = Prelude.Nothing, constituentsPerAggregate = Prelude.Nothing} instance ToResourceProperties AggregateConfigurationProperty where toResourceProperties AggregateConfigurationProperty {..} = ResourceProperties {awsType = "AWS::FSx::Volume.AggregateConfiguration", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "Aggregates" Prelude.<$> aggregates, (JSON..=) "ConstituentsPerAggregate" Prelude.<$> constituentsPerAggregate])} instance JSON.ToJSON AggregateConfigurationProperty where toJSON AggregateConfigurationProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "Aggregates" Prelude.<$> aggregates, (JSON..=) "ConstituentsPerAggregate" Prelude.<$> constituentsPerAggregate])) instance Property "Aggregates" AggregateConfigurationProperty where type PropertyType "Aggregates" AggregateConfigurationProperty = ValueList Prelude.Text set newValue AggregateConfigurationProperty {..} = AggregateConfigurationProperty {aggregates = Prelude.pure newValue, ..} instance Property "ConstituentsPerAggregate" AggregateConfigurationProperty where type PropertyType "ConstituentsPerAggregate" AggregateConfigurationProperty = Value Prelude.Integer set newValue AggregateConfigurationProperty {..} = AggregateConfigurationProperty {constituentsPerAggregate = Prelude.pure newValue, ..}