packages feed

stratosphere-ec2-1.0.0: gen/Stratosphere/EC2/IPAMPool/SourceResourceProperty.hs

module Stratosphere.EC2.IPAMPool.SourceResourceProperty (
        SourceResourceProperty(..), mkSourceResourceProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SourceResourceProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html>
    SourceResourceProperty {haddock_workaround_ :: (),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html#cfn-ec2-ipampool-sourceresource-resourceid>
                            resourceId :: (Value Prelude.Text),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html#cfn-ec2-ipampool-sourceresource-resourceowner>
                            resourceOwner :: (Value Prelude.Text),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html#cfn-ec2-ipampool-sourceresource-resourceregion>
                            resourceRegion :: (Value Prelude.Text),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html#cfn-ec2-ipampool-sourceresource-resourcetype>
                            resourceType :: (Value Prelude.Text)}
  deriving stock (Prelude.Eq, Prelude.Show)
mkSourceResourceProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text
        -> Value Prelude.Text -> SourceResourceProperty
mkSourceResourceProperty
  resourceId
  resourceOwner
  resourceRegion
  resourceType
  = SourceResourceProperty
      {haddock_workaround_ = (), resourceId = resourceId,
       resourceOwner = resourceOwner, resourceRegion = resourceRegion,
       resourceType = resourceType}
instance ToResourceProperties SourceResourceProperty where
  toResourceProperties SourceResourceProperty {..}
    = ResourceProperties
        {awsType = "AWS::EC2::IPAMPool.SourceResource",
         supportsTags = Prelude.False,
         properties = ["ResourceId" JSON..= resourceId,
                       "ResourceOwner" JSON..= resourceOwner,
                       "ResourceRegion" JSON..= resourceRegion,
                       "ResourceType" JSON..= resourceType]}
instance JSON.ToJSON SourceResourceProperty where
  toJSON SourceResourceProperty {..}
    = JSON.object
        ["ResourceId" JSON..= resourceId,
         "ResourceOwner" JSON..= resourceOwner,
         "ResourceRegion" JSON..= resourceRegion,
         "ResourceType" JSON..= resourceType]
instance Property "ResourceId" SourceResourceProperty where
  type PropertyType "ResourceId" SourceResourceProperty = Value Prelude.Text
  set newValue SourceResourceProperty {..}
    = SourceResourceProperty {resourceId = newValue, ..}
instance Property "ResourceOwner" SourceResourceProperty where
  type PropertyType "ResourceOwner" SourceResourceProperty = Value Prelude.Text
  set newValue SourceResourceProperty {..}
    = SourceResourceProperty {resourceOwner = newValue, ..}
instance Property "ResourceRegion" SourceResourceProperty where
  type PropertyType "ResourceRegion" SourceResourceProperty = Value Prelude.Text
  set newValue SourceResourceProperty {..}
    = SourceResourceProperty {resourceRegion = newValue, ..}
instance Property "ResourceType" SourceResourceProperty where
  type PropertyType "ResourceType" SourceResourceProperty = Value Prelude.Text
  set newValue SourceResourceProperty {..}
    = SourceResourceProperty {resourceType = newValue, ..}