packages feed

stratosphere-arczonalshift-1.0.0: gen/Stratosphere/ARCZonalShift/ZonalAutoshiftConfiguration.hs

module Stratosphere.ARCZonalShift.ZonalAutoshiftConfiguration (
        module Exports, ZonalAutoshiftConfiguration(..),
        mkZonalAutoshiftConfiguration
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.ARCZonalShift.ZonalAutoshiftConfiguration.PracticeRunConfigurationProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ZonalAutoshiftConfiguration
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html>
    ZonalAutoshiftConfiguration {haddock_workaround_ :: (),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-practicerunconfiguration>
                                 practiceRunConfiguration :: (Prelude.Maybe PracticeRunConfigurationProperty),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-resourceidentifier>
                                 resourceIdentifier :: (Value Prelude.Text),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html#cfn-arczonalshift-zonalautoshiftconfiguration-zonalautoshiftstatus>
                                 zonalAutoshiftStatus :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (Prelude.Eq, Prelude.Show)
mkZonalAutoshiftConfiguration ::
  Value Prelude.Text -> ZonalAutoshiftConfiguration
mkZonalAutoshiftConfiguration resourceIdentifier
  = ZonalAutoshiftConfiguration
      {haddock_workaround_ = (), resourceIdentifier = resourceIdentifier,
       practiceRunConfiguration = Prelude.Nothing,
       zonalAutoshiftStatus = Prelude.Nothing}
instance ToResourceProperties ZonalAutoshiftConfiguration where
  toResourceProperties ZonalAutoshiftConfiguration {..}
    = ResourceProperties
        {awsType = "AWS::ARCZonalShift::ZonalAutoshiftConfiguration",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        ((Prelude.<>)
                           ["ResourceIdentifier" JSON..= resourceIdentifier]
                           (Prelude.catMaybes
                              [(JSON..=) "PracticeRunConfiguration"
                                 Prelude.<$> practiceRunConfiguration,
                               (JSON..=) "ZonalAutoshiftStatus"
                                 Prelude.<$> zonalAutoshiftStatus]))}
instance JSON.ToJSON ZonalAutoshiftConfiguration where
  toJSON ZonalAutoshiftConfiguration {..}
    = JSON.object
        (Prelude.fromList
           ((Prelude.<>)
              ["ResourceIdentifier" JSON..= resourceIdentifier]
              (Prelude.catMaybes
                 [(JSON..=) "PracticeRunConfiguration"
                    Prelude.<$> practiceRunConfiguration,
                  (JSON..=) "ZonalAutoshiftStatus"
                    Prelude.<$> zonalAutoshiftStatus])))
instance Property "PracticeRunConfiguration" ZonalAutoshiftConfiguration where
  type PropertyType "PracticeRunConfiguration" ZonalAutoshiftConfiguration = PracticeRunConfigurationProperty
  set newValue ZonalAutoshiftConfiguration {..}
    = ZonalAutoshiftConfiguration
        {practiceRunConfiguration = Prelude.pure newValue, ..}
instance Property "ResourceIdentifier" ZonalAutoshiftConfiguration where
  type PropertyType "ResourceIdentifier" ZonalAutoshiftConfiguration = Value Prelude.Text
  set newValue ZonalAutoshiftConfiguration {..}
    = ZonalAutoshiftConfiguration {resourceIdentifier = newValue, ..}
instance Property "ZonalAutoshiftStatus" ZonalAutoshiftConfiguration where
  type PropertyType "ZonalAutoshiftStatus" ZonalAutoshiftConfiguration = Value Prelude.Text
  set newValue ZonalAutoshiftConfiguration {..}
    = ZonalAutoshiftConfiguration
        {zonalAutoshiftStatus = Prelude.pure newValue, ..}