module Stratosphere.Lightsail.InstanceSnapshot.LocationProperty ( LocationProperty(..), mkLocationProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data LocationProperty = -- | See: LocationProperty {haddock_workaround_ :: (), -- | See: availabilityZone :: (Prelude.Maybe (Value Prelude.Text)), -- | See: regionName :: (Prelude.Maybe (Value Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkLocationProperty :: LocationProperty mkLocationProperty = LocationProperty {haddock_workaround_ = (), availabilityZone = Prelude.Nothing, regionName = Prelude.Nothing} instance ToResourceProperties LocationProperty where toResourceProperties LocationProperty {..} = ResourceProperties {awsType = "AWS::Lightsail::InstanceSnapshot.Location", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone, (JSON..=) "RegionName" Prelude.<$> regionName])} instance JSON.ToJSON LocationProperty where toJSON LocationProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone, (JSON..=) "RegionName" Prelude.<$> regionName])) instance Property "AvailabilityZone" LocationProperty where type PropertyType "AvailabilityZone" LocationProperty = Value Prelude.Text set newValue LocationProperty {..} = LocationProperty {availabilityZone = Prelude.pure newValue, ..} instance Property "RegionName" LocationProperty where type PropertyType "RegionName" LocationProperty = Value Prelude.Text set newValue LocationProperty {..} = LocationProperty {regionName = Prelude.pure newValue, ..}