All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.customerprofiles.inputs.ProfileState Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.customerprofiles.inputs;

import com.pulumi.aws.customerprofiles.inputs.ProfileAddressArgs;
import com.pulumi.aws.customerprofiles.inputs.ProfileBillingAddressArgs;
import com.pulumi.aws.customerprofiles.inputs.ProfileMailingAddressArgs;
import com.pulumi.aws.customerprofiles.inputs.ProfileShippingAddressArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ProfileState extends com.pulumi.resources.ResourceArgs {

    public static final ProfileState Empty = new ProfileState();

    /**
     * A unique account number that you have given to the customer.
     * 
     */
    @Import(name="accountNumber")
    private @Nullable Output accountNumber;

    /**
     * @return A unique account number that you have given to the customer.
     * 
     */
    public Optional> accountNumber() {
        return Optional.ofNullable(this.accountNumber);
    }

    /**
     * Any additional information relevant to the customer’s profile.
     * 
     */
    @Import(name="additionalInformation")
    private @Nullable Output additionalInformation;

    /**
     * @return Any additional information relevant to the customer’s profile.
     * 
     */
    public Optional> additionalInformation() {
        return Optional.ofNullable(this.additionalInformation);
    }

    /**
     * A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
     * 
     */
    @Import(name="address")
    private @Nullable Output address;

    /**
     * @return A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
     * 
     */
    public Optional> address() {
        return Optional.ofNullable(this.address);
    }

    /**
     * A key value pair of attributes of a customer profile.
     * 
     */
    @Import(name="attributes")
    private @Nullable Output> attributes;

    /**
     * @return A key value pair of attributes of a customer profile.
     * 
     */
    public Optional>> attributes() {
        return Optional.ofNullable(this.attributes);
    }

    /**
     * A block that specifies the customer’s billing address. Documented below.
     * 
     */
    @Import(name="billingAddress")
    private @Nullable Output billingAddress;

    /**
     * @return A block that specifies the customer’s billing address. Documented below.
     * 
     */
    public Optional> billingAddress() {
        return Optional.ofNullable(this.billingAddress);
    }

    /**
     * The customer’s birth date.
     * 
     */
    @Import(name="birthDate")
    private @Nullable Output birthDate;

    /**
     * @return The customer’s birth date.
     * 
     */
    public Optional> birthDate() {
        return Optional.ofNullable(this.birthDate);
    }

    /**
     * The customer’s business email address.
     * 
     */
    @Import(name="businessEmailAddress")
    private @Nullable Output businessEmailAddress;

    /**
     * @return The customer’s business email address.
     * 
     */
    public Optional> businessEmailAddress() {
        return Optional.ofNullable(this.businessEmailAddress);
    }

    /**
     * The name of the customer’s business.
     * 
     */
    @Import(name="businessName")
    private @Nullable Output businessName;

    /**
     * @return The name of the customer’s business.
     * 
     */
    public Optional> businessName() {
        return Optional.ofNullable(this.businessName);
    }

    /**
     * The customer’s business phone number.
     * 
     */
    @Import(name="businessPhoneNumber")
    private @Nullable Output businessPhoneNumber;

    /**
     * @return The customer’s business phone number.
     * 
     */
    public Optional> businessPhoneNumber() {
        return Optional.ofNullable(this.businessPhoneNumber);
    }

    /**
     * The name of your Customer Profile domain. It must be unique for your AWS account.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="domainName")
    private @Nullable Output domainName;

    /**
     * @return The name of your Customer Profile domain. It must be unique for your AWS account.
     * 
     * The following arguments are optional:
     * 
     */
    public Optional> domainName() {
        return Optional.ofNullable(this.domainName);
    }

    /**
     * The customer’s email address, which has not been specified as a personal or business address.
     * 
     */
    @Import(name="emailAddress")
    private @Nullable Output emailAddress;

    /**
     * @return The customer’s email address, which has not been specified as a personal or business address.
     * 
     */
    public Optional> emailAddress() {
        return Optional.ofNullable(this.emailAddress);
    }

    /**
     * The customer’s first name.
     * 
     */
    @Import(name="firstName")
    private @Nullable Output firstName;

    /**
     * @return The customer’s first name.
     * 
     */
    public Optional> firstName() {
        return Optional.ofNullable(this.firstName);
    }

    /**
     * The gender with which the customer identifies.
     * 
     */
    @Import(name="genderString")
    private @Nullable Output genderString;

    /**
     * @return The gender with which the customer identifies.
     * 
     */
    public Optional> genderString() {
        return Optional.ofNullable(this.genderString);
    }

    /**
     * The customer’s home phone number.
     * 
     */
    @Import(name="homePhoneNumber")
    private @Nullable Output homePhoneNumber;

    /**
     * @return The customer’s home phone number.
     * 
     */
    public Optional> homePhoneNumber() {
        return Optional.ofNullable(this.homePhoneNumber);
    }

    /**
     * The customer’s last name.
     * 
     */
    @Import(name="lastName")
    private @Nullable Output lastName;

    /**
     * @return The customer’s last name.
     * 
     */
    public Optional> lastName() {
        return Optional.ofNullable(this.lastName);
    }

    /**
     * A block that specifies the customer’s mailing address. Documented below.
     * 
     */
    @Import(name="mailingAddress")
    private @Nullable Output mailingAddress;

    /**
     * @return A block that specifies the customer’s mailing address. Documented below.
     * 
     */
    public Optional> mailingAddress() {
        return Optional.ofNullable(this.mailingAddress);
    }

    /**
     * The customer’s middle name.
     * 
     */
    @Import(name="middleName")
    private @Nullable Output middleName;

    /**
     * @return The customer’s middle name.
     * 
     */
    public Optional> middleName() {
        return Optional.ofNullable(this.middleName);
    }

    /**
     * The customer’s mobile phone number.
     * 
     */
    @Import(name="mobilePhoneNumber")
    private @Nullable Output mobilePhoneNumber;

    /**
     * @return The customer’s mobile phone number.
     * 
     */
    public Optional> mobilePhoneNumber() {
        return Optional.ofNullable(this.mobilePhoneNumber);
    }

    /**
     * The type of profile used to describe the customer.
     * 
     */
    @Import(name="partyTypeString")
    private @Nullable Output partyTypeString;

    /**
     * @return The type of profile used to describe the customer.
     * 
     */
    public Optional> partyTypeString() {
        return Optional.ofNullable(this.partyTypeString);
    }

    /**
     * The customer’s personal email address.
     * 
     */
    @Import(name="personalEmailAddress")
    private @Nullable Output personalEmailAddress;

    /**
     * @return The customer’s personal email address.
     * 
     */
    public Optional> personalEmailAddress() {
        return Optional.ofNullable(this.personalEmailAddress);
    }

    /**
     * The customer’s phone number, which has not been specified as a mobile, home, or business number.
     * 
     */
    @Import(name="phoneNumber")
    private @Nullable Output phoneNumber;

    /**
     * @return The customer’s phone number, which has not been specified as a mobile, home, or business number.
     * 
     */
    public Optional> phoneNumber() {
        return Optional.ofNullable(this.phoneNumber);
    }

    /**
     * A block that specifies the customer’s shipping address. Documented below.
     * 
     */
    @Import(name="shippingAddress")
    private @Nullable Output shippingAddress;

    /**
     * @return A block that specifies the customer’s shipping address. Documented below.
     * 
     */
    public Optional> shippingAddress() {
        return Optional.ofNullable(this.shippingAddress);
    }

    private ProfileState() {}

    private ProfileState(ProfileState $) {
        this.accountNumber = $.accountNumber;
        this.additionalInformation = $.additionalInformation;
        this.address = $.address;
        this.attributes = $.attributes;
        this.billingAddress = $.billingAddress;
        this.birthDate = $.birthDate;
        this.businessEmailAddress = $.businessEmailAddress;
        this.businessName = $.businessName;
        this.businessPhoneNumber = $.businessPhoneNumber;
        this.domainName = $.domainName;
        this.emailAddress = $.emailAddress;
        this.firstName = $.firstName;
        this.genderString = $.genderString;
        this.homePhoneNumber = $.homePhoneNumber;
        this.lastName = $.lastName;
        this.mailingAddress = $.mailingAddress;
        this.middleName = $.middleName;
        this.mobilePhoneNumber = $.mobilePhoneNumber;
        this.partyTypeString = $.partyTypeString;
        this.personalEmailAddress = $.personalEmailAddress;
        this.phoneNumber = $.phoneNumber;
        this.shippingAddress = $.shippingAddress;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ProfileState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ProfileState $;

        public Builder() {
            $ = new ProfileState();
        }

        public Builder(ProfileState defaults) {
            $ = new ProfileState(Objects.requireNonNull(defaults));
        }

        /**
         * @param accountNumber A unique account number that you have given to the customer.
         * 
         * @return builder
         * 
         */
        public Builder accountNumber(@Nullable Output accountNumber) {
            $.accountNumber = accountNumber;
            return this;
        }

        /**
         * @param accountNumber A unique account number that you have given to the customer.
         * 
         * @return builder
         * 
         */
        public Builder accountNumber(String accountNumber) {
            return accountNumber(Output.of(accountNumber));
        }

        /**
         * @param additionalInformation Any additional information relevant to the customer’s profile.
         * 
         * @return builder
         * 
         */
        public Builder additionalInformation(@Nullable Output additionalInformation) {
            $.additionalInformation = additionalInformation;
            return this;
        }

        /**
         * @param additionalInformation Any additional information relevant to the customer’s profile.
         * 
         * @return builder
         * 
         */
        public Builder additionalInformation(String additionalInformation) {
            return additionalInformation(Output.of(additionalInformation));
        }

        /**
         * @param address A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
         * 
         * @return builder
         * 
         */
        public Builder address(@Nullable Output address) {
            $.address = address;
            return this;
        }

        /**
         * @param address A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
         * 
         * @return builder
         * 
         */
        public Builder address(ProfileAddressArgs address) {
            return address(Output.of(address));
        }

        /**
         * @param attributes A key value pair of attributes of a customer profile.
         * 
         * @return builder
         * 
         */
        public Builder attributes(@Nullable Output> attributes) {
            $.attributes = attributes;
            return this;
        }

        /**
         * @param attributes A key value pair of attributes of a customer profile.
         * 
         * @return builder
         * 
         */
        public Builder attributes(Map attributes) {
            return attributes(Output.of(attributes));
        }

        /**
         * @param billingAddress A block that specifies the customer’s billing address. Documented below.
         * 
         * @return builder
         * 
         */
        public Builder billingAddress(@Nullable Output billingAddress) {
            $.billingAddress = billingAddress;
            return this;
        }

        /**
         * @param billingAddress A block that specifies the customer’s billing address. Documented below.
         * 
         * @return builder
         * 
         */
        public Builder billingAddress(ProfileBillingAddressArgs billingAddress) {
            return billingAddress(Output.of(billingAddress));
        }

        /**
         * @param birthDate The customer’s birth date.
         * 
         * @return builder
         * 
         */
        public Builder birthDate(@Nullable Output birthDate) {
            $.birthDate = birthDate;
            return this;
        }

        /**
         * @param birthDate The customer’s birth date.
         * 
         * @return builder
         * 
         */
        public Builder birthDate(String birthDate) {
            return birthDate(Output.of(birthDate));
        }

        /**
         * @param businessEmailAddress The customer’s business email address.
         * 
         * @return builder
         * 
         */
        public Builder businessEmailAddress(@Nullable Output businessEmailAddress) {
            $.businessEmailAddress = businessEmailAddress;
            return this;
        }

        /**
         * @param businessEmailAddress The customer’s business email address.
         * 
         * @return builder
         * 
         */
        public Builder businessEmailAddress(String businessEmailAddress) {
            return businessEmailAddress(Output.of(businessEmailAddress));
        }

        /**
         * @param businessName The name of the customer’s business.
         * 
         * @return builder
         * 
         */
        public Builder businessName(@Nullable Output businessName) {
            $.businessName = businessName;
            return this;
        }

        /**
         * @param businessName The name of the customer’s business.
         * 
         * @return builder
         * 
         */
        public Builder businessName(String businessName) {
            return businessName(Output.of(businessName));
        }

        /**
         * @param businessPhoneNumber The customer’s business phone number.
         * 
         * @return builder
         * 
         */
        public Builder businessPhoneNumber(@Nullable Output businessPhoneNumber) {
            $.businessPhoneNumber = businessPhoneNumber;
            return this;
        }

        /**
         * @param businessPhoneNumber The customer’s business phone number.
         * 
         * @return builder
         * 
         */
        public Builder businessPhoneNumber(String businessPhoneNumber) {
            return businessPhoneNumber(Output.of(businessPhoneNumber));
        }

        /**
         * @param domainName The name of your Customer Profile domain. It must be unique for your AWS account.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder domainName(@Nullable Output domainName) {
            $.domainName = domainName;
            return this;
        }

        /**
         * @param domainName The name of your Customer Profile domain. It must be unique for your AWS account.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder domainName(String domainName) {
            return domainName(Output.of(domainName));
        }

        /**
         * @param emailAddress The customer’s email address, which has not been specified as a personal or business address.
         * 
         * @return builder
         * 
         */
        public Builder emailAddress(@Nullable Output emailAddress) {
            $.emailAddress = emailAddress;
            return this;
        }

        /**
         * @param emailAddress The customer’s email address, which has not been specified as a personal or business address.
         * 
         * @return builder
         * 
         */
        public Builder emailAddress(String emailAddress) {
            return emailAddress(Output.of(emailAddress));
        }

        /**
         * @param firstName The customer’s first name.
         * 
         * @return builder
         * 
         */
        public Builder firstName(@Nullable Output firstName) {
            $.firstName = firstName;
            return this;
        }

        /**
         * @param firstName The customer’s first name.
         * 
         * @return builder
         * 
         */
        public Builder firstName(String firstName) {
            return firstName(Output.of(firstName));
        }

        /**
         * @param genderString The gender with which the customer identifies.
         * 
         * @return builder
         * 
         */
        public Builder genderString(@Nullable Output genderString) {
            $.genderString = genderString;
            return this;
        }

        /**
         * @param genderString The gender with which the customer identifies.
         * 
         * @return builder
         * 
         */
        public Builder genderString(String genderString) {
            return genderString(Output.of(genderString));
        }

        /**
         * @param homePhoneNumber The customer’s home phone number.
         * 
         * @return builder
         * 
         */
        public Builder homePhoneNumber(@Nullable Output homePhoneNumber) {
            $.homePhoneNumber = homePhoneNumber;
            return this;
        }

        /**
         * @param homePhoneNumber The customer’s home phone number.
         * 
         * @return builder
         * 
         */
        public Builder homePhoneNumber(String homePhoneNumber) {
            return homePhoneNumber(Output.of(homePhoneNumber));
        }

        /**
         * @param lastName The customer’s last name.
         * 
         * @return builder
         * 
         */
        public Builder lastName(@Nullable Output lastName) {
            $.lastName = lastName;
            return this;
        }

        /**
         * @param lastName The customer’s last name.
         * 
         * @return builder
         * 
         */
        public Builder lastName(String lastName) {
            return lastName(Output.of(lastName));
        }

        /**
         * @param mailingAddress A block that specifies the customer’s mailing address. Documented below.
         * 
         * @return builder
         * 
         */
        public Builder mailingAddress(@Nullable Output mailingAddress) {
            $.mailingAddress = mailingAddress;
            return this;
        }

        /**
         * @param mailingAddress A block that specifies the customer’s mailing address. Documented below.
         * 
         * @return builder
         * 
         */
        public Builder mailingAddress(ProfileMailingAddressArgs mailingAddress) {
            return mailingAddress(Output.of(mailingAddress));
        }

        /**
         * @param middleName The customer’s middle name.
         * 
         * @return builder
         * 
         */
        public Builder middleName(@Nullable Output middleName) {
            $.middleName = middleName;
            return this;
        }

        /**
         * @param middleName The customer’s middle name.
         * 
         * @return builder
         * 
         */
        public Builder middleName(String middleName) {
            return middleName(Output.of(middleName));
        }

        /**
         * @param mobilePhoneNumber The customer’s mobile phone number.
         * 
         * @return builder
         * 
         */
        public Builder mobilePhoneNumber(@Nullable Output mobilePhoneNumber) {
            $.mobilePhoneNumber = mobilePhoneNumber;
            return this;
        }

        /**
         * @param mobilePhoneNumber The customer’s mobile phone number.
         * 
         * @return builder
         * 
         */
        public Builder mobilePhoneNumber(String mobilePhoneNumber) {
            return mobilePhoneNumber(Output.of(mobilePhoneNumber));
        }

        /**
         * @param partyTypeString The type of profile used to describe the customer.
         * 
         * @return builder
         * 
         */
        public Builder partyTypeString(@Nullable Output partyTypeString) {
            $.partyTypeString = partyTypeString;
            return this;
        }

        /**
         * @param partyTypeString The type of profile used to describe the customer.
         * 
         * @return builder
         * 
         */
        public Builder partyTypeString(String partyTypeString) {
            return partyTypeString(Output.of(partyTypeString));
        }

        /**
         * @param personalEmailAddress The customer’s personal email address.
         * 
         * @return builder
         * 
         */
        public Builder personalEmailAddress(@Nullable Output personalEmailAddress) {
            $.personalEmailAddress = personalEmailAddress;
            return this;
        }

        /**
         * @param personalEmailAddress The customer’s personal email address.
         * 
         * @return builder
         * 
         */
        public Builder personalEmailAddress(String personalEmailAddress) {
            return personalEmailAddress(Output.of(personalEmailAddress));
        }

        /**
         * @param phoneNumber The customer’s phone number, which has not been specified as a mobile, home, or business number.
         * 
         * @return builder
         * 
         */
        public Builder phoneNumber(@Nullable Output phoneNumber) {
            $.phoneNumber = phoneNumber;
            return this;
        }

        /**
         * @param phoneNumber The customer’s phone number, which has not been specified as a mobile, home, or business number.
         * 
         * @return builder
         * 
         */
        public Builder phoneNumber(String phoneNumber) {
            return phoneNumber(Output.of(phoneNumber));
        }

        /**
         * @param shippingAddress A block that specifies the customer’s shipping address. Documented below.
         * 
         * @return builder
         * 
         */
        public Builder shippingAddress(@Nullable Output shippingAddress) {
            $.shippingAddress = shippingAddress;
            return this;
        }

        /**
         * @param shippingAddress A block that specifies the customer’s shipping address. Documented below.
         * 
         * @return builder
         * 
         */
        public Builder shippingAddress(ProfileShippingAddressArgs shippingAddress) {
            return shippingAddress(Output.of(shippingAddress));
        }

        public ProfileState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy