stratosphere-customerprofiles-1.0.0: gen/Stratosphere/CustomerProfiles/SegmentDefinition/ProfileAttributesProperty.hs
module Stratosphere.CustomerProfiles.SegmentDefinition.ProfileAttributesProperty (
module Exports, ProfileAttributesProperty(..),
mkProfileAttributesProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.CustomerProfiles.SegmentDefinition.AddressDimensionProperty as Exports
import {-# SOURCE #-} Stratosphere.CustomerProfiles.SegmentDefinition.AttributeDimensionProperty as Exports
import {-# SOURCE #-} Stratosphere.CustomerProfiles.SegmentDefinition.DateDimensionProperty as Exports
import {-# SOURCE #-} Stratosphere.CustomerProfiles.SegmentDefinition.ExtraLengthValueProfileDimensionProperty as Exports
import {-# SOURCE #-} Stratosphere.CustomerProfiles.SegmentDefinition.ProfileDimensionProperty as Exports
import {-# SOURCE #-} Stratosphere.CustomerProfiles.SegmentDefinition.ProfileTypeDimensionProperty as Exports
import Stratosphere.ResourceProperties
data ProfileAttributesProperty
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html>
ProfileAttributesProperty {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-accountnumber>
accountNumber :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-additionalinformation>
additionalInformation :: (Prelude.Maybe ExtraLengthValueProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-address>
address :: (Prelude.Maybe AddressDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-attributes>
attributes :: (Prelude.Maybe (Prelude.Map Prelude.Text AttributeDimensionProperty)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-billingaddress>
billingAddress :: (Prelude.Maybe AddressDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-birthdate>
birthDate :: (Prelude.Maybe DateDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-businessemailaddress>
businessEmailAddress :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-businessname>
businessName :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-businessphonenumber>
businessPhoneNumber :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-emailaddress>
emailAddress :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-firstname>
firstName :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-genderstring>
genderString :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-homephonenumber>
homePhoneNumber :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-lastname>
lastName :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-mailingaddress>
mailingAddress :: (Prelude.Maybe AddressDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-middlename>
middleName :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-mobilephonenumber>
mobilePhoneNumber :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-partytypestring>
partyTypeString :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-personalemailaddress>
personalEmailAddress :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-phonenumber>
phoneNumber :: (Prelude.Maybe ProfileDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-profiletype>
profileType :: (Prelude.Maybe ProfileTypeDimensionProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-segmentdefinition-profileattributes.html#cfn-customerprofiles-segmentdefinition-profileattributes-shippingaddress>
shippingAddress :: (Prelude.Maybe AddressDimensionProperty)}
deriving stock (Prelude.Eq, Prelude.Show)
mkProfileAttributesProperty :: ProfileAttributesProperty
mkProfileAttributesProperty
= ProfileAttributesProperty
{haddock_workaround_ = (), accountNumber = Prelude.Nothing,
additionalInformation = Prelude.Nothing, address = Prelude.Nothing,
attributes = Prelude.Nothing, billingAddress = Prelude.Nothing,
birthDate = Prelude.Nothing,
businessEmailAddress = Prelude.Nothing,
businessName = Prelude.Nothing,
businessPhoneNumber = Prelude.Nothing,
emailAddress = Prelude.Nothing, firstName = Prelude.Nothing,
genderString = Prelude.Nothing, homePhoneNumber = Prelude.Nothing,
lastName = Prelude.Nothing, mailingAddress = Prelude.Nothing,
middleName = Prelude.Nothing, mobilePhoneNumber = Prelude.Nothing,
partyTypeString = Prelude.Nothing,
personalEmailAddress = Prelude.Nothing,
phoneNumber = Prelude.Nothing, profileType = Prelude.Nothing,
shippingAddress = Prelude.Nothing}
instance ToResourceProperties ProfileAttributesProperty where
toResourceProperties ProfileAttributesProperty {..}
= ResourceProperties
{awsType = "AWS::CustomerProfiles::SegmentDefinition.ProfileAttributes",
supportsTags = Prelude.False,
properties = Prelude.fromList
(Prelude.catMaybes
[(JSON..=) "AccountNumber" Prelude.<$> accountNumber,
(JSON..=) "AdditionalInformation"
Prelude.<$> additionalInformation,
(JSON..=) "Address" Prelude.<$> address,
(JSON..=) "Attributes" Prelude.<$> attributes,
(JSON..=) "BillingAddress" Prelude.<$> billingAddress,
(JSON..=) "BirthDate" Prelude.<$> birthDate,
(JSON..=) "BusinessEmailAddress" Prelude.<$> businessEmailAddress,
(JSON..=) "BusinessName" Prelude.<$> businessName,
(JSON..=) "BusinessPhoneNumber" Prelude.<$> businessPhoneNumber,
(JSON..=) "EmailAddress" Prelude.<$> emailAddress,
(JSON..=) "FirstName" Prelude.<$> firstName,
(JSON..=) "GenderString" Prelude.<$> genderString,
(JSON..=) "HomePhoneNumber" Prelude.<$> homePhoneNumber,
(JSON..=) "LastName" Prelude.<$> lastName,
(JSON..=) "MailingAddress" Prelude.<$> mailingAddress,
(JSON..=) "MiddleName" Prelude.<$> middleName,
(JSON..=) "MobilePhoneNumber" Prelude.<$> mobilePhoneNumber,
(JSON..=) "PartyTypeString" Prelude.<$> partyTypeString,
(JSON..=) "PersonalEmailAddress" Prelude.<$> personalEmailAddress,
(JSON..=) "PhoneNumber" Prelude.<$> phoneNumber,
(JSON..=) "ProfileType" Prelude.<$> profileType,
(JSON..=) "ShippingAddress" Prelude.<$> shippingAddress])}
instance JSON.ToJSON ProfileAttributesProperty where
toJSON ProfileAttributesProperty {..}
= JSON.object
(Prelude.fromList
(Prelude.catMaybes
[(JSON..=) "AccountNumber" Prelude.<$> accountNumber,
(JSON..=) "AdditionalInformation"
Prelude.<$> additionalInformation,
(JSON..=) "Address" Prelude.<$> address,
(JSON..=) "Attributes" Prelude.<$> attributes,
(JSON..=) "BillingAddress" Prelude.<$> billingAddress,
(JSON..=) "BirthDate" Prelude.<$> birthDate,
(JSON..=) "BusinessEmailAddress" Prelude.<$> businessEmailAddress,
(JSON..=) "BusinessName" Prelude.<$> businessName,
(JSON..=) "BusinessPhoneNumber" Prelude.<$> businessPhoneNumber,
(JSON..=) "EmailAddress" Prelude.<$> emailAddress,
(JSON..=) "FirstName" Prelude.<$> firstName,
(JSON..=) "GenderString" Prelude.<$> genderString,
(JSON..=) "HomePhoneNumber" Prelude.<$> homePhoneNumber,
(JSON..=) "LastName" Prelude.<$> lastName,
(JSON..=) "MailingAddress" Prelude.<$> mailingAddress,
(JSON..=) "MiddleName" Prelude.<$> middleName,
(JSON..=) "MobilePhoneNumber" Prelude.<$> mobilePhoneNumber,
(JSON..=) "PartyTypeString" Prelude.<$> partyTypeString,
(JSON..=) "PersonalEmailAddress" Prelude.<$> personalEmailAddress,
(JSON..=) "PhoneNumber" Prelude.<$> phoneNumber,
(JSON..=) "ProfileType" Prelude.<$> profileType,
(JSON..=) "ShippingAddress" Prelude.<$> shippingAddress]))
instance Property "AccountNumber" ProfileAttributesProperty where
type PropertyType "AccountNumber" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{accountNumber = Prelude.pure newValue, ..}
instance Property "AdditionalInformation" ProfileAttributesProperty where
type PropertyType "AdditionalInformation" ProfileAttributesProperty = ExtraLengthValueProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{additionalInformation = Prelude.pure newValue, ..}
instance Property "Address" ProfileAttributesProperty where
type PropertyType "Address" ProfileAttributesProperty = AddressDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty {address = Prelude.pure newValue, ..}
instance Property "Attributes" ProfileAttributesProperty where
type PropertyType "Attributes" ProfileAttributesProperty = Prelude.Map Prelude.Text AttributeDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{attributes = Prelude.pure newValue, ..}
instance Property "BillingAddress" ProfileAttributesProperty where
type PropertyType "BillingAddress" ProfileAttributesProperty = AddressDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{billingAddress = Prelude.pure newValue, ..}
instance Property "BirthDate" ProfileAttributesProperty where
type PropertyType "BirthDate" ProfileAttributesProperty = DateDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty {birthDate = Prelude.pure newValue, ..}
instance Property "BusinessEmailAddress" ProfileAttributesProperty where
type PropertyType "BusinessEmailAddress" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{businessEmailAddress = Prelude.pure newValue, ..}
instance Property "BusinessName" ProfileAttributesProperty where
type PropertyType "BusinessName" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{businessName = Prelude.pure newValue, ..}
instance Property "BusinessPhoneNumber" ProfileAttributesProperty where
type PropertyType "BusinessPhoneNumber" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{businessPhoneNumber = Prelude.pure newValue, ..}
instance Property "EmailAddress" ProfileAttributesProperty where
type PropertyType "EmailAddress" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{emailAddress = Prelude.pure newValue, ..}
instance Property "FirstName" ProfileAttributesProperty where
type PropertyType "FirstName" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty {firstName = Prelude.pure newValue, ..}
instance Property "GenderString" ProfileAttributesProperty where
type PropertyType "GenderString" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{genderString = Prelude.pure newValue, ..}
instance Property "HomePhoneNumber" ProfileAttributesProperty where
type PropertyType "HomePhoneNumber" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{homePhoneNumber = Prelude.pure newValue, ..}
instance Property "LastName" ProfileAttributesProperty where
type PropertyType "LastName" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty {lastName = Prelude.pure newValue, ..}
instance Property "MailingAddress" ProfileAttributesProperty where
type PropertyType "MailingAddress" ProfileAttributesProperty = AddressDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{mailingAddress = Prelude.pure newValue, ..}
instance Property "MiddleName" ProfileAttributesProperty where
type PropertyType "MiddleName" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{middleName = Prelude.pure newValue, ..}
instance Property "MobilePhoneNumber" ProfileAttributesProperty where
type PropertyType "MobilePhoneNumber" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{mobilePhoneNumber = Prelude.pure newValue, ..}
instance Property "PartyTypeString" ProfileAttributesProperty where
type PropertyType "PartyTypeString" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{partyTypeString = Prelude.pure newValue, ..}
instance Property "PersonalEmailAddress" ProfileAttributesProperty where
type PropertyType "PersonalEmailAddress" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{personalEmailAddress = Prelude.pure newValue, ..}
instance Property "PhoneNumber" ProfileAttributesProperty where
type PropertyType "PhoneNumber" ProfileAttributesProperty = ProfileDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{phoneNumber = Prelude.pure newValue, ..}
instance Property "ProfileType" ProfileAttributesProperty where
type PropertyType "ProfileType" ProfileAttributesProperty = ProfileTypeDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{profileType = Prelude.pure newValue, ..}
instance Property "ShippingAddress" ProfileAttributesProperty where
type PropertyType "ShippingAddress" ProfileAttributesProperty = AddressDimensionProperty
set newValue ProfileAttributesProperty {..}
= ProfileAttributesProperty
{shippingAddress = Prelude.pure newValue, ..}