github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/customerprofiles/profile.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package customerprofiles
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Resource for managing an Amazon Customer Profiles Profile.
    16  // See the [Create Profile](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateProfile.html) for more information.
    17  //
    18  // ## Example Usage
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/customerprofiles"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			example, err := customerprofiles.NewDomain(ctx, "example", &customerprofiles.DomainArgs{
    34  //				DomainName: pulumi.String("example"),
    35  //			})
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			_, err = customerprofiles.NewProfile(ctx, "example", &customerprofiles.ProfileArgs{
    40  //				DomainName: example.DomainName,
    41  //			})
    42  //			if err != nil {
    43  //				return err
    44  //			}
    45  //			return nil
    46  //		})
    47  //	}
    48  //
    49  // ```
    50  // <!--End PulumiCodeChooser -->
    51  //
    52  // ## Import
    53  //
    54  // Using `pulumi import`, import Amazon Customer Profiles Profile using the resource `id`. For example:
    55  //
    56  // ```sh
    57  // $ pulumi import aws:customerprofiles/profile:Profile example domain-name/5f2f473dfbe841eb8d05cfc2a4c926df
    58  // ```
    59  type Profile struct {
    60  	pulumi.CustomResourceState
    61  
    62  	// A unique account number that you have given to the customer.
    63  	AccountNumber pulumi.StringPtrOutput `pulumi:"accountNumber"`
    64  	// Any additional information relevant to the customer’s profile.
    65  	AdditionalInformation pulumi.StringPtrOutput `pulumi:"additionalInformation"`
    66  	// A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
    67  	Address ProfileAddressPtrOutput `pulumi:"address"`
    68  	// A key value pair of attributes of a customer profile.
    69  	Attributes pulumi.StringMapOutput `pulumi:"attributes"`
    70  	// A block that specifies the customer’s billing address. Documented below.
    71  	BillingAddress ProfileBillingAddressPtrOutput `pulumi:"billingAddress"`
    72  	// The customer’s birth date.
    73  	BirthDate pulumi.StringPtrOutput `pulumi:"birthDate"`
    74  	// The customer’s business email address.
    75  	BusinessEmailAddress pulumi.StringPtrOutput `pulumi:"businessEmailAddress"`
    76  	// The name of the customer’s business.
    77  	BusinessName pulumi.StringPtrOutput `pulumi:"businessName"`
    78  	// The customer’s business phone number.
    79  	BusinessPhoneNumber pulumi.StringPtrOutput `pulumi:"businessPhoneNumber"`
    80  	// The name of your Customer Profile domain. It must be unique for your AWS account.
    81  	//
    82  	// The following arguments are optional:
    83  	DomainName pulumi.StringOutput `pulumi:"domainName"`
    84  	// The customer’s email address, which has not been specified as a personal or business address.
    85  	EmailAddress pulumi.StringPtrOutput `pulumi:"emailAddress"`
    86  	// The customer’s first name.
    87  	FirstName pulumi.StringPtrOutput `pulumi:"firstName"`
    88  	// The gender with which the customer identifies.
    89  	GenderString pulumi.StringPtrOutput `pulumi:"genderString"`
    90  	// The customer’s home phone number.
    91  	HomePhoneNumber pulumi.StringPtrOutput `pulumi:"homePhoneNumber"`
    92  	// The customer’s last name.
    93  	LastName pulumi.StringPtrOutput `pulumi:"lastName"`
    94  	// A block that specifies the customer’s mailing address. Documented below.
    95  	MailingAddress ProfileMailingAddressPtrOutput `pulumi:"mailingAddress"`
    96  	// The customer’s middle name.
    97  	MiddleName pulumi.StringPtrOutput `pulumi:"middleName"`
    98  	// The customer’s mobile phone number.
    99  	MobilePhoneNumber pulumi.StringPtrOutput `pulumi:"mobilePhoneNumber"`
   100  	// The type of profile used to describe the customer.
   101  	PartyTypeString pulumi.StringPtrOutput `pulumi:"partyTypeString"`
   102  	// The customer’s personal email address.
   103  	PersonalEmailAddress pulumi.StringPtrOutput `pulumi:"personalEmailAddress"`
   104  	// The customer’s phone number, which has not been specified as a mobile, home, or business number.
   105  	PhoneNumber pulumi.StringPtrOutput `pulumi:"phoneNumber"`
   106  	// A block that specifies the customer’s shipping address. Documented below.
   107  	ShippingAddress ProfileShippingAddressPtrOutput `pulumi:"shippingAddress"`
   108  }
   109  
   110  // NewProfile registers a new resource with the given unique name, arguments, and options.
   111  func NewProfile(ctx *pulumi.Context,
   112  	name string, args *ProfileArgs, opts ...pulumi.ResourceOption) (*Profile, error) {
   113  	if args == nil {
   114  		return nil, errors.New("missing one or more required arguments")
   115  	}
   116  
   117  	if args.DomainName == nil {
   118  		return nil, errors.New("invalid value for required argument 'DomainName'")
   119  	}
   120  	opts = internal.PkgResourceDefaultOpts(opts)
   121  	var resource Profile
   122  	err := ctx.RegisterResource("aws:customerprofiles/profile:Profile", name, args, &resource, opts...)
   123  	if err != nil {
   124  		return nil, err
   125  	}
   126  	return &resource, nil
   127  }
   128  
   129  // GetProfile gets an existing Profile resource's state with the given name, ID, and optional
   130  // state properties that are used to uniquely qualify the lookup (nil if not required).
   131  func GetProfile(ctx *pulumi.Context,
   132  	name string, id pulumi.IDInput, state *ProfileState, opts ...pulumi.ResourceOption) (*Profile, error) {
   133  	var resource Profile
   134  	err := ctx.ReadResource("aws:customerprofiles/profile:Profile", name, id, state, &resource, opts...)
   135  	if err != nil {
   136  		return nil, err
   137  	}
   138  	return &resource, nil
   139  }
   140  
   141  // Input properties used for looking up and filtering Profile resources.
   142  type profileState struct {
   143  	// A unique account number that you have given to the customer.
   144  	AccountNumber *string `pulumi:"accountNumber"`
   145  	// Any additional information relevant to the customer’s profile.
   146  	AdditionalInformation *string `pulumi:"additionalInformation"`
   147  	// A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
   148  	Address *ProfileAddress `pulumi:"address"`
   149  	// A key value pair of attributes of a customer profile.
   150  	Attributes map[string]string `pulumi:"attributes"`
   151  	// A block that specifies the customer’s billing address. Documented below.
   152  	BillingAddress *ProfileBillingAddress `pulumi:"billingAddress"`
   153  	// The customer’s birth date.
   154  	BirthDate *string `pulumi:"birthDate"`
   155  	// The customer’s business email address.
   156  	BusinessEmailAddress *string `pulumi:"businessEmailAddress"`
   157  	// The name of the customer’s business.
   158  	BusinessName *string `pulumi:"businessName"`
   159  	// The customer’s business phone number.
   160  	BusinessPhoneNumber *string `pulumi:"businessPhoneNumber"`
   161  	// The name of your Customer Profile domain. It must be unique for your AWS account.
   162  	//
   163  	// The following arguments are optional:
   164  	DomainName *string `pulumi:"domainName"`
   165  	// The customer’s email address, which has not been specified as a personal or business address.
   166  	EmailAddress *string `pulumi:"emailAddress"`
   167  	// The customer’s first name.
   168  	FirstName *string `pulumi:"firstName"`
   169  	// The gender with which the customer identifies.
   170  	GenderString *string `pulumi:"genderString"`
   171  	// The customer’s home phone number.
   172  	HomePhoneNumber *string `pulumi:"homePhoneNumber"`
   173  	// The customer’s last name.
   174  	LastName *string `pulumi:"lastName"`
   175  	// A block that specifies the customer’s mailing address. Documented below.
   176  	MailingAddress *ProfileMailingAddress `pulumi:"mailingAddress"`
   177  	// The customer’s middle name.
   178  	MiddleName *string `pulumi:"middleName"`
   179  	// The customer’s mobile phone number.
   180  	MobilePhoneNumber *string `pulumi:"mobilePhoneNumber"`
   181  	// The type of profile used to describe the customer.
   182  	PartyTypeString *string `pulumi:"partyTypeString"`
   183  	// The customer’s personal email address.
   184  	PersonalEmailAddress *string `pulumi:"personalEmailAddress"`
   185  	// The customer’s phone number, which has not been specified as a mobile, home, or business number.
   186  	PhoneNumber *string `pulumi:"phoneNumber"`
   187  	// A block that specifies the customer’s shipping address. Documented below.
   188  	ShippingAddress *ProfileShippingAddress `pulumi:"shippingAddress"`
   189  }
   190  
   191  type ProfileState struct {
   192  	// A unique account number that you have given to the customer.
   193  	AccountNumber pulumi.StringPtrInput
   194  	// Any additional information relevant to the customer’s profile.
   195  	AdditionalInformation pulumi.StringPtrInput
   196  	// A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
   197  	Address ProfileAddressPtrInput
   198  	// A key value pair of attributes of a customer profile.
   199  	Attributes pulumi.StringMapInput
   200  	// A block that specifies the customer’s billing address. Documented below.
   201  	BillingAddress ProfileBillingAddressPtrInput
   202  	// The customer’s birth date.
   203  	BirthDate pulumi.StringPtrInput
   204  	// The customer’s business email address.
   205  	BusinessEmailAddress pulumi.StringPtrInput
   206  	// The name of the customer’s business.
   207  	BusinessName pulumi.StringPtrInput
   208  	// The customer’s business phone number.
   209  	BusinessPhoneNumber pulumi.StringPtrInput
   210  	// The name of your Customer Profile domain. It must be unique for your AWS account.
   211  	//
   212  	// The following arguments are optional:
   213  	DomainName pulumi.StringPtrInput
   214  	// The customer’s email address, which has not been specified as a personal or business address.
   215  	EmailAddress pulumi.StringPtrInput
   216  	// The customer’s first name.
   217  	FirstName pulumi.StringPtrInput
   218  	// The gender with which the customer identifies.
   219  	GenderString pulumi.StringPtrInput
   220  	// The customer’s home phone number.
   221  	HomePhoneNumber pulumi.StringPtrInput
   222  	// The customer’s last name.
   223  	LastName pulumi.StringPtrInput
   224  	// A block that specifies the customer’s mailing address. Documented below.
   225  	MailingAddress ProfileMailingAddressPtrInput
   226  	// The customer’s middle name.
   227  	MiddleName pulumi.StringPtrInput
   228  	// The customer’s mobile phone number.
   229  	MobilePhoneNumber pulumi.StringPtrInput
   230  	// The type of profile used to describe the customer.
   231  	PartyTypeString pulumi.StringPtrInput
   232  	// The customer’s personal email address.
   233  	PersonalEmailAddress pulumi.StringPtrInput
   234  	// The customer’s phone number, which has not been specified as a mobile, home, or business number.
   235  	PhoneNumber pulumi.StringPtrInput
   236  	// A block that specifies the customer’s shipping address. Documented below.
   237  	ShippingAddress ProfileShippingAddressPtrInput
   238  }
   239  
   240  func (ProfileState) ElementType() reflect.Type {
   241  	return reflect.TypeOf((*profileState)(nil)).Elem()
   242  }
   243  
   244  type profileArgs struct {
   245  	// A unique account number that you have given to the customer.
   246  	AccountNumber *string `pulumi:"accountNumber"`
   247  	// Any additional information relevant to the customer’s profile.
   248  	AdditionalInformation *string `pulumi:"additionalInformation"`
   249  	// A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
   250  	Address *ProfileAddress `pulumi:"address"`
   251  	// A key value pair of attributes of a customer profile.
   252  	Attributes map[string]string `pulumi:"attributes"`
   253  	// A block that specifies the customer’s billing address. Documented below.
   254  	BillingAddress *ProfileBillingAddress `pulumi:"billingAddress"`
   255  	// The customer’s birth date.
   256  	BirthDate *string `pulumi:"birthDate"`
   257  	// The customer’s business email address.
   258  	BusinessEmailAddress *string `pulumi:"businessEmailAddress"`
   259  	// The name of the customer’s business.
   260  	BusinessName *string `pulumi:"businessName"`
   261  	// The customer’s business phone number.
   262  	BusinessPhoneNumber *string `pulumi:"businessPhoneNumber"`
   263  	// The name of your Customer Profile domain. It must be unique for your AWS account.
   264  	//
   265  	// The following arguments are optional:
   266  	DomainName string `pulumi:"domainName"`
   267  	// The customer’s email address, which has not been specified as a personal or business address.
   268  	EmailAddress *string `pulumi:"emailAddress"`
   269  	// The customer’s first name.
   270  	FirstName *string `pulumi:"firstName"`
   271  	// The gender with which the customer identifies.
   272  	GenderString *string `pulumi:"genderString"`
   273  	// The customer’s home phone number.
   274  	HomePhoneNumber *string `pulumi:"homePhoneNumber"`
   275  	// The customer’s last name.
   276  	LastName *string `pulumi:"lastName"`
   277  	// A block that specifies the customer’s mailing address. Documented below.
   278  	MailingAddress *ProfileMailingAddress `pulumi:"mailingAddress"`
   279  	// The customer’s middle name.
   280  	MiddleName *string `pulumi:"middleName"`
   281  	// The customer’s mobile phone number.
   282  	MobilePhoneNumber *string `pulumi:"mobilePhoneNumber"`
   283  	// The type of profile used to describe the customer.
   284  	PartyTypeString *string `pulumi:"partyTypeString"`
   285  	// The customer’s personal email address.
   286  	PersonalEmailAddress *string `pulumi:"personalEmailAddress"`
   287  	// The customer’s phone number, which has not been specified as a mobile, home, or business number.
   288  	PhoneNumber *string `pulumi:"phoneNumber"`
   289  	// A block that specifies the customer’s shipping address. Documented below.
   290  	ShippingAddress *ProfileShippingAddress `pulumi:"shippingAddress"`
   291  }
   292  
   293  // The set of arguments for constructing a Profile resource.
   294  type ProfileArgs struct {
   295  	// A unique account number that you have given to the customer.
   296  	AccountNumber pulumi.StringPtrInput
   297  	// Any additional information relevant to the customer’s profile.
   298  	AdditionalInformation pulumi.StringPtrInput
   299  	// A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
   300  	Address ProfileAddressPtrInput
   301  	// A key value pair of attributes of a customer profile.
   302  	Attributes pulumi.StringMapInput
   303  	// A block that specifies the customer’s billing address. Documented below.
   304  	BillingAddress ProfileBillingAddressPtrInput
   305  	// The customer’s birth date.
   306  	BirthDate pulumi.StringPtrInput
   307  	// The customer’s business email address.
   308  	BusinessEmailAddress pulumi.StringPtrInput
   309  	// The name of the customer’s business.
   310  	BusinessName pulumi.StringPtrInput
   311  	// The customer’s business phone number.
   312  	BusinessPhoneNumber pulumi.StringPtrInput
   313  	// The name of your Customer Profile domain. It must be unique for your AWS account.
   314  	//
   315  	// The following arguments are optional:
   316  	DomainName pulumi.StringInput
   317  	// The customer’s email address, which has not been specified as a personal or business address.
   318  	EmailAddress pulumi.StringPtrInput
   319  	// The customer’s first name.
   320  	FirstName pulumi.StringPtrInput
   321  	// The gender with which the customer identifies.
   322  	GenderString pulumi.StringPtrInput
   323  	// The customer’s home phone number.
   324  	HomePhoneNumber pulumi.StringPtrInput
   325  	// The customer’s last name.
   326  	LastName pulumi.StringPtrInput
   327  	// A block that specifies the customer’s mailing address. Documented below.
   328  	MailingAddress ProfileMailingAddressPtrInput
   329  	// The customer’s middle name.
   330  	MiddleName pulumi.StringPtrInput
   331  	// The customer’s mobile phone number.
   332  	MobilePhoneNumber pulumi.StringPtrInput
   333  	// The type of profile used to describe the customer.
   334  	PartyTypeString pulumi.StringPtrInput
   335  	// The customer’s personal email address.
   336  	PersonalEmailAddress pulumi.StringPtrInput
   337  	// The customer’s phone number, which has not been specified as a mobile, home, or business number.
   338  	PhoneNumber pulumi.StringPtrInput
   339  	// A block that specifies the customer’s shipping address. Documented below.
   340  	ShippingAddress ProfileShippingAddressPtrInput
   341  }
   342  
   343  func (ProfileArgs) ElementType() reflect.Type {
   344  	return reflect.TypeOf((*profileArgs)(nil)).Elem()
   345  }
   346  
   347  type ProfileInput interface {
   348  	pulumi.Input
   349  
   350  	ToProfileOutput() ProfileOutput
   351  	ToProfileOutputWithContext(ctx context.Context) ProfileOutput
   352  }
   353  
   354  func (*Profile) ElementType() reflect.Type {
   355  	return reflect.TypeOf((**Profile)(nil)).Elem()
   356  }
   357  
   358  func (i *Profile) ToProfileOutput() ProfileOutput {
   359  	return i.ToProfileOutputWithContext(context.Background())
   360  }
   361  
   362  func (i *Profile) ToProfileOutputWithContext(ctx context.Context) ProfileOutput {
   363  	return pulumi.ToOutputWithContext(ctx, i).(ProfileOutput)
   364  }
   365  
   366  // ProfileArrayInput is an input type that accepts ProfileArray and ProfileArrayOutput values.
   367  // You can construct a concrete instance of `ProfileArrayInput` via:
   368  //
   369  //	ProfileArray{ ProfileArgs{...} }
   370  type ProfileArrayInput interface {
   371  	pulumi.Input
   372  
   373  	ToProfileArrayOutput() ProfileArrayOutput
   374  	ToProfileArrayOutputWithContext(context.Context) ProfileArrayOutput
   375  }
   376  
   377  type ProfileArray []ProfileInput
   378  
   379  func (ProfileArray) ElementType() reflect.Type {
   380  	return reflect.TypeOf((*[]*Profile)(nil)).Elem()
   381  }
   382  
   383  func (i ProfileArray) ToProfileArrayOutput() ProfileArrayOutput {
   384  	return i.ToProfileArrayOutputWithContext(context.Background())
   385  }
   386  
   387  func (i ProfileArray) ToProfileArrayOutputWithContext(ctx context.Context) ProfileArrayOutput {
   388  	return pulumi.ToOutputWithContext(ctx, i).(ProfileArrayOutput)
   389  }
   390  
   391  // ProfileMapInput is an input type that accepts ProfileMap and ProfileMapOutput values.
   392  // You can construct a concrete instance of `ProfileMapInput` via:
   393  //
   394  //	ProfileMap{ "key": ProfileArgs{...} }
   395  type ProfileMapInput interface {
   396  	pulumi.Input
   397  
   398  	ToProfileMapOutput() ProfileMapOutput
   399  	ToProfileMapOutputWithContext(context.Context) ProfileMapOutput
   400  }
   401  
   402  type ProfileMap map[string]ProfileInput
   403  
   404  func (ProfileMap) ElementType() reflect.Type {
   405  	return reflect.TypeOf((*map[string]*Profile)(nil)).Elem()
   406  }
   407  
   408  func (i ProfileMap) ToProfileMapOutput() ProfileMapOutput {
   409  	return i.ToProfileMapOutputWithContext(context.Background())
   410  }
   411  
   412  func (i ProfileMap) ToProfileMapOutputWithContext(ctx context.Context) ProfileMapOutput {
   413  	return pulumi.ToOutputWithContext(ctx, i).(ProfileMapOutput)
   414  }
   415  
   416  type ProfileOutput struct{ *pulumi.OutputState }
   417  
   418  func (ProfileOutput) ElementType() reflect.Type {
   419  	return reflect.TypeOf((**Profile)(nil)).Elem()
   420  }
   421  
   422  func (o ProfileOutput) ToProfileOutput() ProfileOutput {
   423  	return o
   424  }
   425  
   426  func (o ProfileOutput) ToProfileOutputWithContext(ctx context.Context) ProfileOutput {
   427  	return o
   428  }
   429  
   430  // A unique account number that you have given to the customer.
   431  func (o ProfileOutput) AccountNumber() pulumi.StringPtrOutput {
   432  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.AccountNumber }).(pulumi.StringPtrOutput)
   433  }
   434  
   435  // Any additional information relevant to the customer’s profile.
   436  func (o ProfileOutput) AdditionalInformation() pulumi.StringPtrOutput {
   437  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.AdditionalInformation }).(pulumi.StringPtrOutput)
   438  }
   439  
   440  // A block that specifies a generic address associated with the customer that is not mailing, shipping, or billing. Documented below.
   441  func (o ProfileOutput) Address() ProfileAddressPtrOutput {
   442  	return o.ApplyT(func(v *Profile) ProfileAddressPtrOutput { return v.Address }).(ProfileAddressPtrOutput)
   443  }
   444  
   445  // A key value pair of attributes of a customer profile.
   446  func (o ProfileOutput) Attributes() pulumi.StringMapOutput {
   447  	return o.ApplyT(func(v *Profile) pulumi.StringMapOutput { return v.Attributes }).(pulumi.StringMapOutput)
   448  }
   449  
   450  // A block that specifies the customer’s billing address. Documented below.
   451  func (o ProfileOutput) BillingAddress() ProfileBillingAddressPtrOutput {
   452  	return o.ApplyT(func(v *Profile) ProfileBillingAddressPtrOutput { return v.BillingAddress }).(ProfileBillingAddressPtrOutput)
   453  }
   454  
   455  // The customer’s birth date.
   456  func (o ProfileOutput) BirthDate() pulumi.StringPtrOutput {
   457  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.BirthDate }).(pulumi.StringPtrOutput)
   458  }
   459  
   460  // The customer’s business email address.
   461  func (o ProfileOutput) BusinessEmailAddress() pulumi.StringPtrOutput {
   462  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.BusinessEmailAddress }).(pulumi.StringPtrOutput)
   463  }
   464  
   465  // The name of the customer’s business.
   466  func (o ProfileOutput) BusinessName() pulumi.StringPtrOutput {
   467  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.BusinessName }).(pulumi.StringPtrOutput)
   468  }
   469  
   470  // The customer’s business phone number.
   471  func (o ProfileOutput) BusinessPhoneNumber() pulumi.StringPtrOutput {
   472  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.BusinessPhoneNumber }).(pulumi.StringPtrOutput)
   473  }
   474  
   475  // The name of your Customer Profile domain. It must be unique for your AWS account.
   476  //
   477  // The following arguments are optional:
   478  func (o ProfileOutput) DomainName() pulumi.StringOutput {
   479  	return o.ApplyT(func(v *Profile) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput)
   480  }
   481  
   482  // The customer’s email address, which has not been specified as a personal or business address.
   483  func (o ProfileOutput) EmailAddress() pulumi.StringPtrOutput {
   484  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.EmailAddress }).(pulumi.StringPtrOutput)
   485  }
   486  
   487  // The customer’s first name.
   488  func (o ProfileOutput) FirstName() pulumi.StringPtrOutput {
   489  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.FirstName }).(pulumi.StringPtrOutput)
   490  }
   491  
   492  // The gender with which the customer identifies.
   493  func (o ProfileOutput) GenderString() pulumi.StringPtrOutput {
   494  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.GenderString }).(pulumi.StringPtrOutput)
   495  }
   496  
   497  // The customer’s home phone number.
   498  func (o ProfileOutput) HomePhoneNumber() pulumi.StringPtrOutput {
   499  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.HomePhoneNumber }).(pulumi.StringPtrOutput)
   500  }
   501  
   502  // The customer’s last name.
   503  func (o ProfileOutput) LastName() pulumi.StringPtrOutput {
   504  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.LastName }).(pulumi.StringPtrOutput)
   505  }
   506  
   507  // A block that specifies the customer’s mailing address. Documented below.
   508  func (o ProfileOutput) MailingAddress() ProfileMailingAddressPtrOutput {
   509  	return o.ApplyT(func(v *Profile) ProfileMailingAddressPtrOutput { return v.MailingAddress }).(ProfileMailingAddressPtrOutput)
   510  }
   511  
   512  // The customer’s middle name.
   513  func (o ProfileOutput) MiddleName() pulumi.StringPtrOutput {
   514  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.MiddleName }).(pulumi.StringPtrOutput)
   515  }
   516  
   517  // The customer’s mobile phone number.
   518  func (o ProfileOutput) MobilePhoneNumber() pulumi.StringPtrOutput {
   519  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.MobilePhoneNumber }).(pulumi.StringPtrOutput)
   520  }
   521  
   522  // The type of profile used to describe the customer.
   523  func (o ProfileOutput) PartyTypeString() pulumi.StringPtrOutput {
   524  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.PartyTypeString }).(pulumi.StringPtrOutput)
   525  }
   526  
   527  // The customer’s personal email address.
   528  func (o ProfileOutput) PersonalEmailAddress() pulumi.StringPtrOutput {
   529  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.PersonalEmailAddress }).(pulumi.StringPtrOutput)
   530  }
   531  
   532  // The customer’s phone number, which has not been specified as a mobile, home, or business number.
   533  func (o ProfileOutput) PhoneNumber() pulumi.StringPtrOutput {
   534  	return o.ApplyT(func(v *Profile) pulumi.StringPtrOutput { return v.PhoneNumber }).(pulumi.StringPtrOutput)
   535  }
   536  
   537  // A block that specifies the customer’s shipping address. Documented below.
   538  func (o ProfileOutput) ShippingAddress() ProfileShippingAddressPtrOutput {
   539  	return o.ApplyT(func(v *Profile) ProfileShippingAddressPtrOutput { return v.ShippingAddress }).(ProfileShippingAddressPtrOutput)
   540  }
   541  
   542  type ProfileArrayOutput struct{ *pulumi.OutputState }
   543  
   544  func (ProfileArrayOutput) ElementType() reflect.Type {
   545  	return reflect.TypeOf((*[]*Profile)(nil)).Elem()
   546  }
   547  
   548  func (o ProfileArrayOutput) ToProfileArrayOutput() ProfileArrayOutput {
   549  	return o
   550  }
   551  
   552  func (o ProfileArrayOutput) ToProfileArrayOutputWithContext(ctx context.Context) ProfileArrayOutput {
   553  	return o
   554  }
   555  
   556  func (o ProfileArrayOutput) Index(i pulumi.IntInput) ProfileOutput {
   557  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Profile {
   558  		return vs[0].([]*Profile)[vs[1].(int)]
   559  	}).(ProfileOutput)
   560  }
   561  
   562  type ProfileMapOutput struct{ *pulumi.OutputState }
   563  
   564  func (ProfileMapOutput) ElementType() reflect.Type {
   565  	return reflect.TypeOf((*map[string]*Profile)(nil)).Elem()
   566  }
   567  
   568  func (o ProfileMapOutput) ToProfileMapOutput() ProfileMapOutput {
   569  	return o
   570  }
   571  
   572  func (o ProfileMapOutput) ToProfileMapOutputWithContext(ctx context.Context) ProfileMapOutput {
   573  	return o
   574  }
   575  
   576  func (o ProfileMapOutput) MapIndex(k pulumi.StringInput) ProfileOutput {
   577  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Profile {
   578  		return vs[0].(map[string]*Profile)[vs[1].(string)]
   579  	}).(ProfileOutput)
   580  }
   581  
   582  func init() {
   583  	pulumi.RegisterInputType(reflect.TypeOf((*ProfileInput)(nil)).Elem(), &Profile{})
   584  	pulumi.RegisterInputType(reflect.TypeOf((*ProfileArrayInput)(nil)).Elem(), ProfileArray{})
   585  	pulumi.RegisterInputType(reflect.TypeOf((*ProfileMapInput)(nil)).Elem(), ProfileMap{})
   586  	pulumi.RegisterOutputType(ProfileOutput{})
   587  	pulumi.RegisterOutputType(ProfileArrayOutput{})
   588  	pulumi.RegisterOutputType(ProfileMapOutput{})
   589  }