module Stratosphere.Connect.HoursOfOperation.HoursOfOperationOverrideProperty ( module Exports, HoursOfOperationOverrideProperty(..), mkHoursOfOperationOverrideProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.Connect.HoursOfOperation.HoursOfOperationOverrideConfigProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data HoursOfOperationOverrideProperty = -- | See: HoursOfOperationOverrideProperty {haddock_workaround_ :: (), -- | See: effectiveFrom :: (Value Prelude.Text), -- | See: effectiveTill :: (Value Prelude.Text), -- | See: hoursOfOperationOverrideId :: (Prelude.Maybe (Value Prelude.Text)), -- | See: overrideConfig :: [HoursOfOperationOverrideConfigProperty], -- | See: overrideDescription :: (Prelude.Maybe (Value Prelude.Text)), -- | See: overrideName :: (Value Prelude.Text)} deriving stock (Prelude.Eq, Prelude.Show) mkHoursOfOperationOverrideProperty :: Value Prelude.Text -> Value Prelude.Text -> [HoursOfOperationOverrideConfigProperty] -> Value Prelude.Text -> HoursOfOperationOverrideProperty mkHoursOfOperationOverrideProperty effectiveFrom effectiveTill overrideConfig overrideName = HoursOfOperationOverrideProperty {haddock_workaround_ = (), effectiveFrom = effectiveFrom, effectiveTill = effectiveTill, overrideConfig = overrideConfig, overrideName = overrideName, hoursOfOperationOverrideId = Prelude.Nothing, overrideDescription = Prelude.Nothing} instance ToResourceProperties HoursOfOperationOverrideProperty where toResourceProperties HoursOfOperationOverrideProperty {..} = ResourceProperties {awsType = "AWS::Connect::HoursOfOperation.HoursOfOperationOverride", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["EffectiveFrom" JSON..= effectiveFrom, "EffectiveTill" JSON..= effectiveTill, "OverrideConfig" JSON..= overrideConfig, "OverrideName" JSON..= overrideName] (Prelude.catMaybes [(JSON..=) "HoursOfOperationOverrideId" Prelude.<$> hoursOfOperationOverrideId, (JSON..=) "OverrideDescription" Prelude.<$> overrideDescription]))} instance JSON.ToJSON HoursOfOperationOverrideProperty where toJSON HoursOfOperationOverrideProperty {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["EffectiveFrom" JSON..= effectiveFrom, "EffectiveTill" JSON..= effectiveTill, "OverrideConfig" JSON..= overrideConfig, "OverrideName" JSON..= overrideName] (Prelude.catMaybes [(JSON..=) "HoursOfOperationOverrideId" Prelude.<$> hoursOfOperationOverrideId, (JSON..=) "OverrideDescription" Prelude.<$> overrideDescription]))) instance Property "EffectiveFrom" HoursOfOperationOverrideProperty where type PropertyType "EffectiveFrom" HoursOfOperationOverrideProperty = Value Prelude.Text set newValue HoursOfOperationOverrideProperty {..} = HoursOfOperationOverrideProperty {effectiveFrom = newValue, ..} instance Property "EffectiveTill" HoursOfOperationOverrideProperty where type PropertyType "EffectiveTill" HoursOfOperationOverrideProperty = Value Prelude.Text set newValue HoursOfOperationOverrideProperty {..} = HoursOfOperationOverrideProperty {effectiveTill = newValue, ..} instance Property "HoursOfOperationOverrideId" HoursOfOperationOverrideProperty where type PropertyType "HoursOfOperationOverrideId" HoursOfOperationOverrideProperty = Value Prelude.Text set newValue HoursOfOperationOverrideProperty {..} = HoursOfOperationOverrideProperty {hoursOfOperationOverrideId = Prelude.pure newValue, ..} instance Property "OverrideConfig" HoursOfOperationOverrideProperty where type PropertyType "OverrideConfig" HoursOfOperationOverrideProperty = [HoursOfOperationOverrideConfigProperty] set newValue HoursOfOperationOverrideProperty {..} = HoursOfOperationOverrideProperty {overrideConfig = newValue, ..} instance Property "OverrideDescription" HoursOfOperationOverrideProperty where type PropertyType "OverrideDescription" HoursOfOperationOverrideProperty = Value Prelude.Text set newValue HoursOfOperationOverrideProperty {..} = HoursOfOperationOverrideProperty {overrideDescription = Prelude.pure newValue, ..} instance Property "OverrideName" HoursOfOperationOverrideProperty where type PropertyType "OverrideName" HoursOfOperationOverrideProperty = Value Prelude.Text set newValue HoursOfOperationOverrideProperty {..} = HoursOfOperationOverrideProperty {overrideName = newValue, ..}