module Stratosphere.Connect.HoursOfOperation.HoursOfOperationOverrideConfigProperty (
        module Exports, HoursOfOperationOverrideConfigProperty(..),
        mkHoursOfOperationOverrideConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Connect.HoursOfOperation.OverrideTimeSliceProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data HoursOfOperationOverrideConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-hoursofoperation-hoursofoperationoverrideconfig.html>
    HoursOfOperationOverrideConfigProperty {HoursOfOperationOverrideConfigProperty -> ()
haddock_workaround_ :: (),
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-hoursofoperation-hoursofoperationoverrideconfig.html#cfn-connect-hoursofoperation-hoursofoperationoverrideconfig-day>
                                            HoursOfOperationOverrideConfigProperty -> Value Text
day :: (Value Prelude.Text),
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-hoursofoperation-hoursofoperationoverrideconfig.html#cfn-connect-hoursofoperation-hoursofoperationoverrideconfig-endtime>
                                            HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
endTime :: OverrideTimeSliceProperty,
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-hoursofoperation-hoursofoperationoverrideconfig.html#cfn-connect-hoursofoperation-hoursofoperationoverrideconfig-starttime>
                                            HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
startTime :: OverrideTimeSliceProperty}
  deriving stock (HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty -> Bool
(HoursOfOperationOverrideConfigProperty
 -> HoursOfOperationOverrideConfigProperty -> Bool)
-> (HoursOfOperationOverrideConfigProperty
    -> HoursOfOperationOverrideConfigProperty -> Bool)
-> Eq HoursOfOperationOverrideConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty -> Bool
== :: HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty -> Bool
$c/= :: HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty -> Bool
/= :: HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty -> Bool
Prelude.Eq, Int -> HoursOfOperationOverrideConfigProperty -> ShowS
[HoursOfOperationOverrideConfigProperty] -> ShowS
HoursOfOperationOverrideConfigProperty -> String
(Int -> HoursOfOperationOverrideConfigProperty -> ShowS)
-> (HoursOfOperationOverrideConfigProperty -> String)
-> ([HoursOfOperationOverrideConfigProperty] -> ShowS)
-> Show HoursOfOperationOverrideConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> HoursOfOperationOverrideConfigProperty -> ShowS
showsPrec :: Int -> HoursOfOperationOverrideConfigProperty -> ShowS
$cshow :: HoursOfOperationOverrideConfigProperty -> String
show :: HoursOfOperationOverrideConfigProperty -> String
$cshowList :: [HoursOfOperationOverrideConfigProperty] -> ShowS
showList :: [HoursOfOperationOverrideConfigProperty] -> ShowS
Prelude.Show)
mkHoursOfOperationOverrideConfigProperty ::
  Value Prelude.Text
  -> OverrideTimeSliceProperty
     -> OverrideTimeSliceProperty
        -> HoursOfOperationOverrideConfigProperty
mkHoursOfOperationOverrideConfigProperty :: Value Text
-> OverrideTimeSliceProperty
-> OverrideTimeSliceProperty
-> HoursOfOperationOverrideConfigProperty
mkHoursOfOperationOverrideConfigProperty Value Text
day OverrideTimeSliceProperty
endTime OverrideTimeSliceProperty
startTime
  = HoursOfOperationOverrideConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), day :: Value Text
day = Value Text
day, endTime :: OverrideTimeSliceProperty
endTime = OverrideTimeSliceProperty
endTime,
       startTime :: OverrideTimeSliceProperty
startTime = OverrideTimeSliceProperty
startTime}
instance ToResourceProperties HoursOfOperationOverrideConfigProperty where
  toResourceProperties :: HoursOfOperationOverrideConfigProperty -> ResourceProperties
toResourceProperties HoursOfOperationOverrideConfigProperty {()
Value Text
OverrideTimeSliceProperty
haddock_workaround_ :: HoursOfOperationOverrideConfigProperty -> ()
day :: HoursOfOperationOverrideConfigProperty -> Value Text
endTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
startTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
haddock_workaround_ :: ()
day :: Value Text
endTime :: OverrideTimeSliceProperty
startTime :: OverrideTimeSliceProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Connect::HoursOfOperation.HoursOfOperationOverrideConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Day" 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
day, Key
"EndTime" Key -> OverrideTimeSliceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OverrideTimeSliceProperty
endTime,
                       Key
"StartTime" Key -> OverrideTimeSliceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OverrideTimeSliceProperty
startTime]}
instance JSON.ToJSON HoursOfOperationOverrideConfigProperty where
  toJSON :: HoursOfOperationOverrideConfigProperty -> Value
toJSON HoursOfOperationOverrideConfigProperty {()
Value Text
OverrideTimeSliceProperty
haddock_workaround_ :: HoursOfOperationOverrideConfigProperty -> ()
day :: HoursOfOperationOverrideConfigProperty -> Value Text
endTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
startTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
haddock_workaround_ :: ()
day :: Value Text
endTime :: OverrideTimeSliceProperty
startTime :: OverrideTimeSliceProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Day" 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
day, Key
"EndTime" Key -> OverrideTimeSliceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OverrideTimeSliceProperty
endTime,
         Key
"StartTime" Key -> OverrideTimeSliceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OverrideTimeSliceProperty
startTime]
instance Property "Day" HoursOfOperationOverrideConfigProperty where
  type PropertyType "Day" HoursOfOperationOverrideConfigProperty = Value Prelude.Text
  set :: PropertyType "Day" HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty
set PropertyType "Day" HoursOfOperationOverrideConfigProperty
newValue HoursOfOperationOverrideConfigProperty {()
Value Text
OverrideTimeSliceProperty
haddock_workaround_ :: HoursOfOperationOverrideConfigProperty -> ()
day :: HoursOfOperationOverrideConfigProperty -> Value Text
endTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
startTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
haddock_workaround_ :: ()
day :: Value Text
endTime :: OverrideTimeSliceProperty
startTime :: OverrideTimeSliceProperty
..}
    = HoursOfOperationOverrideConfigProperty {day :: Value Text
day = PropertyType "Day" HoursOfOperationOverrideConfigProperty
Value Text
newValue, ()
OverrideTimeSliceProperty
haddock_workaround_ :: ()
endTime :: OverrideTimeSliceProperty
startTime :: OverrideTimeSliceProperty
haddock_workaround_ :: ()
endTime :: OverrideTimeSliceProperty
startTime :: OverrideTimeSliceProperty
..}
instance Property "EndTime" HoursOfOperationOverrideConfigProperty where
  type PropertyType "EndTime" HoursOfOperationOverrideConfigProperty = OverrideTimeSliceProperty
  set :: PropertyType "EndTime" HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty
set PropertyType "EndTime" HoursOfOperationOverrideConfigProperty
newValue HoursOfOperationOverrideConfigProperty {()
Value Text
OverrideTimeSliceProperty
haddock_workaround_ :: HoursOfOperationOverrideConfigProperty -> ()
day :: HoursOfOperationOverrideConfigProperty -> Value Text
endTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
startTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
haddock_workaround_ :: ()
day :: Value Text
endTime :: OverrideTimeSliceProperty
startTime :: OverrideTimeSliceProperty
..}
    = HoursOfOperationOverrideConfigProperty {endTime :: OverrideTimeSliceProperty
endTime = PropertyType "EndTime" HoursOfOperationOverrideConfigProperty
OverrideTimeSliceProperty
newValue, ()
Value Text
OverrideTimeSliceProperty
haddock_workaround_ :: ()
day :: Value Text
startTime :: OverrideTimeSliceProperty
haddock_workaround_ :: ()
day :: Value Text
startTime :: OverrideTimeSliceProperty
..}
instance Property "StartTime" HoursOfOperationOverrideConfigProperty where
  type PropertyType "StartTime" HoursOfOperationOverrideConfigProperty = OverrideTimeSliceProperty
  set :: PropertyType "StartTime" HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty
-> HoursOfOperationOverrideConfigProperty
set PropertyType "StartTime" HoursOfOperationOverrideConfigProperty
newValue HoursOfOperationOverrideConfigProperty {()
Value Text
OverrideTimeSliceProperty
haddock_workaround_ :: HoursOfOperationOverrideConfigProperty -> ()
day :: HoursOfOperationOverrideConfigProperty -> Value Text
endTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
startTime :: HoursOfOperationOverrideConfigProperty -> OverrideTimeSliceProperty
haddock_workaround_ :: ()
day :: Value Text
endTime :: OverrideTimeSliceProperty
startTime :: OverrideTimeSliceProperty
..}
    = HoursOfOperationOverrideConfigProperty {startTime :: OverrideTimeSliceProperty
startTime = PropertyType "StartTime" HoursOfOperationOverrideConfigProperty
OverrideTimeSliceProperty
newValue, ()
Value Text
OverrideTimeSliceProperty
haddock_workaround_ :: ()
day :: Value Text
endTime :: OverrideTimeSliceProperty
haddock_workaround_ :: ()
day :: Value Text
endTime :: OverrideTimeSliceProperty
..}