github.com/aavshr/aws-sdk-go@v1.41.3/service/customerprofiles/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package customerprofiles
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opAddProfileKey = "AddProfileKey"
    17  
    18  // AddProfileKeyRequest generates a "aws/request.Request" representing the
    19  // client's request for the AddProfileKey operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AddProfileKey for more information on using the AddProfileKey
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AddProfileKeyRequest method.
    34  //    req, resp := client.AddProfileKeyRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AddProfileKey
    42  func (c *CustomerProfiles) AddProfileKeyRequest(input *AddProfileKeyInput) (req *request.Request, output *AddProfileKeyOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAddProfileKey,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/domains/{DomainName}/profiles/keys",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AddProfileKeyInput{}
    51  	}
    52  
    53  	output = &AddProfileKeyOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AddProfileKey API operation for Amazon Connect Customer Profiles.
    59  //
    60  // Associates a new key value with a specific profile, such as a Contact Trace
    61  // Record (CTR) ContactId.
    62  //
    63  // A profile object can have a single unique key and any number of additional
    64  // keys that can be used to identify the profile that it belongs to.
    65  //
    66  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    67  // with awserr.Error's Code and Message methods to get detailed information about
    68  // the error.
    69  //
    70  // See the AWS API reference guide for Amazon Connect Customer Profiles's
    71  // API operation AddProfileKey for usage and error information.
    72  //
    73  // Returned Error Types:
    74  //   * BadRequestException
    75  //   The input you provided is invalid.
    76  //
    77  //   * AccessDeniedException
    78  //   You do not have sufficient access to perform this action.
    79  //
    80  //   * ResourceNotFoundException
    81  //   The requested resource does not exist, or access was denied.
    82  //
    83  //   * ThrottlingException
    84  //   You exceeded the maximum number of requests.
    85  //
    86  //   * InternalServerException
    87  //   An internal service error occurred.
    88  //
    89  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AddProfileKey
    90  func (c *CustomerProfiles) AddProfileKey(input *AddProfileKeyInput) (*AddProfileKeyOutput, error) {
    91  	req, out := c.AddProfileKeyRequest(input)
    92  	return out, req.Send()
    93  }
    94  
    95  // AddProfileKeyWithContext is the same as AddProfileKey with the addition of
    96  // the ability to pass a context and additional request options.
    97  //
    98  // See AddProfileKey for details on how to use this API operation.
    99  //
   100  // The context must be non-nil and will be used for request cancellation. If
   101  // the context is nil a panic will occur. In the future the SDK may create
   102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   103  // for more information on using Contexts.
   104  func (c *CustomerProfiles) AddProfileKeyWithContext(ctx aws.Context, input *AddProfileKeyInput, opts ...request.Option) (*AddProfileKeyOutput, error) {
   105  	req, out := c.AddProfileKeyRequest(input)
   106  	req.SetContext(ctx)
   107  	req.ApplyOptions(opts...)
   108  	return out, req.Send()
   109  }
   110  
   111  const opCreateDomain = "CreateDomain"
   112  
   113  // CreateDomainRequest generates a "aws/request.Request" representing the
   114  // client's request for the CreateDomain operation. The "output" return
   115  // value will be populated with the request's response once the request completes
   116  // successfully.
   117  //
   118  // Use "Send" method on the returned Request to send the API call to the service.
   119  // the "output" return value is not valid until after Send returns without error.
   120  //
   121  // See CreateDomain for more information on using the CreateDomain
   122  // API call, and error handling.
   123  //
   124  // This method is useful when you want to inject custom logic or configuration
   125  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   126  //
   127  //
   128  //    // Example sending a request using the CreateDomainRequest method.
   129  //    req, resp := client.CreateDomainRequest(params)
   130  //
   131  //    err := req.Send()
   132  //    if err == nil { // resp is now filled
   133  //        fmt.Println(resp)
   134  //    }
   135  //
   136  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateDomain
   137  func (c *CustomerProfiles) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
   138  	op := &request.Operation{
   139  		Name:       opCreateDomain,
   140  		HTTPMethod: "POST",
   141  		HTTPPath:   "/domains/{DomainName}",
   142  	}
   143  
   144  	if input == nil {
   145  		input = &CreateDomainInput{}
   146  	}
   147  
   148  	output = &CreateDomainOutput{}
   149  	req = c.newRequest(op, input, output)
   150  	return
   151  }
   152  
   153  // CreateDomain API operation for Amazon Connect Customer Profiles.
   154  //
   155  // Creates a domain, which is a container for all customer data, such as customer
   156  // profile attributes, object types, profile keys, and encryption keys. You
   157  // can create multiple domains, and each domain can have multiple third-party
   158  // integrations.
   159  //
   160  // Each Amazon Connect instance can be associated with only one domain. Multiple
   161  // Amazon Connect instances can be associated with one domain.
   162  //
   163  // Use this API or UpdateDomain (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html)
   164  // to enable identity resolution (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html):
   165  // set Matching to true.
   166  //
   167  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   168  // with awserr.Error's Code and Message methods to get detailed information about
   169  // the error.
   170  //
   171  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   172  // API operation CreateDomain for usage and error information.
   173  //
   174  // Returned Error Types:
   175  //   * BadRequestException
   176  //   The input you provided is invalid.
   177  //
   178  //   * ResourceNotFoundException
   179  //   The requested resource does not exist, or access was denied.
   180  //
   181  //   * AccessDeniedException
   182  //   You do not have sufficient access to perform this action.
   183  //
   184  //   * ThrottlingException
   185  //   You exceeded the maximum number of requests.
   186  //
   187  //   * InternalServerException
   188  //   An internal service error occurred.
   189  //
   190  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateDomain
   191  func (c *CustomerProfiles) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
   192  	req, out := c.CreateDomainRequest(input)
   193  	return out, req.Send()
   194  }
   195  
   196  // CreateDomainWithContext is the same as CreateDomain with the addition of
   197  // the ability to pass a context and additional request options.
   198  //
   199  // See CreateDomain for details on how to use this API operation.
   200  //
   201  // The context must be non-nil and will be used for request cancellation. If
   202  // the context is nil a panic will occur. In the future the SDK may create
   203  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   204  // for more information on using Contexts.
   205  func (c *CustomerProfiles) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
   206  	req, out := c.CreateDomainRequest(input)
   207  	req.SetContext(ctx)
   208  	req.ApplyOptions(opts...)
   209  	return out, req.Send()
   210  }
   211  
   212  const opCreateProfile = "CreateProfile"
   213  
   214  // CreateProfileRequest generates a "aws/request.Request" representing the
   215  // client's request for the CreateProfile operation. The "output" return
   216  // value will be populated with the request's response once the request completes
   217  // successfully.
   218  //
   219  // Use "Send" method on the returned Request to send the API call to the service.
   220  // the "output" return value is not valid until after Send returns without error.
   221  //
   222  // See CreateProfile for more information on using the CreateProfile
   223  // API call, and error handling.
   224  //
   225  // This method is useful when you want to inject custom logic or configuration
   226  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   227  //
   228  //
   229  //    // Example sending a request using the CreateProfileRequest method.
   230  //    req, resp := client.CreateProfileRequest(params)
   231  //
   232  //    err := req.Send()
   233  //    if err == nil { // resp is now filled
   234  //        fmt.Println(resp)
   235  //    }
   236  //
   237  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateProfile
   238  func (c *CustomerProfiles) CreateProfileRequest(input *CreateProfileInput) (req *request.Request, output *CreateProfileOutput) {
   239  	op := &request.Operation{
   240  		Name:       opCreateProfile,
   241  		HTTPMethod: "POST",
   242  		HTTPPath:   "/domains/{DomainName}/profiles",
   243  	}
   244  
   245  	if input == nil {
   246  		input = &CreateProfileInput{}
   247  	}
   248  
   249  	output = &CreateProfileOutput{}
   250  	req = c.newRequest(op, input, output)
   251  	return
   252  }
   253  
   254  // CreateProfile API operation for Amazon Connect Customer Profiles.
   255  //
   256  // Creates a standard profile.
   257  //
   258  // A standard profile represents the following attributes for a customer profile
   259  // in a domain.
   260  //
   261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   262  // with awserr.Error's Code and Message methods to get detailed information about
   263  // the error.
   264  //
   265  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   266  // API operation CreateProfile for usage and error information.
   267  //
   268  // Returned Error Types:
   269  //   * BadRequestException
   270  //   The input you provided is invalid.
   271  //
   272  //   * AccessDeniedException
   273  //   You do not have sufficient access to perform this action.
   274  //
   275  //   * ResourceNotFoundException
   276  //   The requested resource does not exist, or access was denied.
   277  //
   278  //   * ThrottlingException
   279  //   You exceeded the maximum number of requests.
   280  //
   281  //   * InternalServerException
   282  //   An internal service error occurred.
   283  //
   284  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateProfile
   285  func (c *CustomerProfiles) CreateProfile(input *CreateProfileInput) (*CreateProfileOutput, error) {
   286  	req, out := c.CreateProfileRequest(input)
   287  	return out, req.Send()
   288  }
   289  
   290  // CreateProfileWithContext is the same as CreateProfile with the addition of
   291  // the ability to pass a context and additional request options.
   292  //
   293  // See CreateProfile for details on how to use this API operation.
   294  //
   295  // The context must be non-nil and will be used for request cancellation. If
   296  // the context is nil a panic will occur. In the future the SDK may create
   297  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   298  // for more information on using Contexts.
   299  func (c *CustomerProfiles) CreateProfileWithContext(ctx aws.Context, input *CreateProfileInput, opts ...request.Option) (*CreateProfileOutput, error) {
   300  	req, out := c.CreateProfileRequest(input)
   301  	req.SetContext(ctx)
   302  	req.ApplyOptions(opts...)
   303  	return out, req.Send()
   304  }
   305  
   306  const opDeleteDomain = "DeleteDomain"
   307  
   308  // DeleteDomainRequest generates a "aws/request.Request" representing the
   309  // client's request for the DeleteDomain operation. The "output" return
   310  // value will be populated with the request's response once the request completes
   311  // successfully.
   312  //
   313  // Use "Send" method on the returned Request to send the API call to the service.
   314  // the "output" return value is not valid until after Send returns without error.
   315  //
   316  // See DeleteDomain for more information on using the DeleteDomain
   317  // API call, and error handling.
   318  //
   319  // This method is useful when you want to inject custom logic or configuration
   320  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   321  //
   322  //
   323  //    // Example sending a request using the DeleteDomainRequest method.
   324  //    req, resp := client.DeleteDomainRequest(params)
   325  //
   326  //    err := req.Send()
   327  //    if err == nil { // resp is now filled
   328  //        fmt.Println(resp)
   329  //    }
   330  //
   331  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteDomain
   332  func (c *CustomerProfiles) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
   333  	op := &request.Operation{
   334  		Name:       opDeleteDomain,
   335  		HTTPMethod: "DELETE",
   336  		HTTPPath:   "/domains/{DomainName}",
   337  	}
   338  
   339  	if input == nil {
   340  		input = &DeleteDomainInput{}
   341  	}
   342  
   343  	output = &DeleteDomainOutput{}
   344  	req = c.newRequest(op, input, output)
   345  	return
   346  }
   347  
   348  // DeleteDomain API operation for Amazon Connect Customer Profiles.
   349  //
   350  // Deletes a specific domain and all of its customer data, such as customer
   351  // profile attributes and their related objects.
   352  //
   353  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   354  // with awserr.Error's Code and Message methods to get detailed information about
   355  // the error.
   356  //
   357  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   358  // API operation DeleteDomain for usage and error information.
   359  //
   360  // Returned Error Types:
   361  //   * BadRequestException
   362  //   The input you provided is invalid.
   363  //
   364  //   * ResourceNotFoundException
   365  //   The requested resource does not exist, or access was denied.
   366  //
   367  //   * AccessDeniedException
   368  //   You do not have sufficient access to perform this action.
   369  //
   370  //   * ThrottlingException
   371  //   You exceeded the maximum number of requests.
   372  //
   373  //   * InternalServerException
   374  //   An internal service error occurred.
   375  //
   376  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteDomain
   377  func (c *CustomerProfiles) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
   378  	req, out := c.DeleteDomainRequest(input)
   379  	return out, req.Send()
   380  }
   381  
   382  // DeleteDomainWithContext is the same as DeleteDomain with the addition of
   383  // the ability to pass a context and additional request options.
   384  //
   385  // See DeleteDomain for details on how to use this API operation.
   386  //
   387  // The context must be non-nil and will be used for request cancellation. If
   388  // the context is nil a panic will occur. In the future the SDK may create
   389  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   390  // for more information on using Contexts.
   391  func (c *CustomerProfiles) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
   392  	req, out := c.DeleteDomainRequest(input)
   393  	req.SetContext(ctx)
   394  	req.ApplyOptions(opts...)
   395  	return out, req.Send()
   396  }
   397  
   398  const opDeleteIntegration = "DeleteIntegration"
   399  
   400  // DeleteIntegrationRequest generates a "aws/request.Request" representing the
   401  // client's request for the DeleteIntegration operation. The "output" return
   402  // value will be populated with the request's response once the request completes
   403  // successfully.
   404  //
   405  // Use "Send" method on the returned Request to send the API call to the service.
   406  // the "output" return value is not valid until after Send returns without error.
   407  //
   408  // See DeleteIntegration for more information on using the DeleteIntegration
   409  // API call, and error handling.
   410  //
   411  // This method is useful when you want to inject custom logic or configuration
   412  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   413  //
   414  //
   415  //    // Example sending a request using the DeleteIntegrationRequest method.
   416  //    req, resp := client.DeleteIntegrationRequest(params)
   417  //
   418  //    err := req.Send()
   419  //    if err == nil { // resp is now filled
   420  //        fmt.Println(resp)
   421  //    }
   422  //
   423  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteIntegration
   424  func (c *CustomerProfiles) DeleteIntegrationRequest(input *DeleteIntegrationInput) (req *request.Request, output *DeleteIntegrationOutput) {
   425  	op := &request.Operation{
   426  		Name:       opDeleteIntegration,
   427  		HTTPMethod: "POST",
   428  		HTTPPath:   "/domains/{DomainName}/integrations/delete",
   429  	}
   430  
   431  	if input == nil {
   432  		input = &DeleteIntegrationInput{}
   433  	}
   434  
   435  	output = &DeleteIntegrationOutput{}
   436  	req = c.newRequest(op, input, output)
   437  	return
   438  }
   439  
   440  // DeleteIntegration API operation for Amazon Connect Customer Profiles.
   441  //
   442  // Removes an integration from a specific domain.
   443  //
   444  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   445  // with awserr.Error's Code and Message methods to get detailed information about
   446  // the error.
   447  //
   448  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   449  // API operation DeleteIntegration for usage and error information.
   450  //
   451  // Returned Error Types:
   452  //   * BadRequestException
   453  //   The input you provided is invalid.
   454  //
   455  //   * ResourceNotFoundException
   456  //   The requested resource does not exist, or access was denied.
   457  //
   458  //   * AccessDeniedException
   459  //   You do not have sufficient access to perform this action.
   460  //
   461  //   * ThrottlingException
   462  //   You exceeded the maximum number of requests.
   463  //
   464  //   * InternalServerException
   465  //   An internal service error occurred.
   466  //
   467  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteIntegration
   468  func (c *CustomerProfiles) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIntegrationOutput, error) {
   469  	req, out := c.DeleteIntegrationRequest(input)
   470  	return out, req.Send()
   471  }
   472  
   473  // DeleteIntegrationWithContext is the same as DeleteIntegration with the addition of
   474  // the ability to pass a context and additional request options.
   475  //
   476  // See DeleteIntegration for details on how to use this API operation.
   477  //
   478  // The context must be non-nil and will be used for request cancellation. If
   479  // the context is nil a panic will occur. In the future the SDK may create
   480  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   481  // for more information on using Contexts.
   482  func (c *CustomerProfiles) DeleteIntegrationWithContext(ctx aws.Context, input *DeleteIntegrationInput, opts ...request.Option) (*DeleteIntegrationOutput, error) {
   483  	req, out := c.DeleteIntegrationRequest(input)
   484  	req.SetContext(ctx)
   485  	req.ApplyOptions(opts...)
   486  	return out, req.Send()
   487  }
   488  
   489  const opDeleteProfile = "DeleteProfile"
   490  
   491  // DeleteProfileRequest generates a "aws/request.Request" representing the
   492  // client's request for the DeleteProfile operation. The "output" return
   493  // value will be populated with the request's response once the request completes
   494  // successfully.
   495  //
   496  // Use "Send" method on the returned Request to send the API call to the service.
   497  // the "output" return value is not valid until after Send returns without error.
   498  //
   499  // See DeleteProfile for more information on using the DeleteProfile
   500  // API call, and error handling.
   501  //
   502  // This method is useful when you want to inject custom logic or configuration
   503  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   504  //
   505  //
   506  //    // Example sending a request using the DeleteProfileRequest method.
   507  //    req, resp := client.DeleteProfileRequest(params)
   508  //
   509  //    err := req.Send()
   510  //    if err == nil { // resp is now filled
   511  //        fmt.Println(resp)
   512  //    }
   513  //
   514  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfile
   515  func (c *CustomerProfiles) DeleteProfileRequest(input *DeleteProfileInput) (req *request.Request, output *DeleteProfileOutput) {
   516  	op := &request.Operation{
   517  		Name:       opDeleteProfile,
   518  		HTTPMethod: "POST",
   519  		HTTPPath:   "/domains/{DomainName}/profiles/delete",
   520  	}
   521  
   522  	if input == nil {
   523  		input = &DeleteProfileInput{}
   524  	}
   525  
   526  	output = &DeleteProfileOutput{}
   527  	req = c.newRequest(op, input, output)
   528  	return
   529  }
   530  
   531  // DeleteProfile API operation for Amazon Connect Customer Profiles.
   532  //
   533  // Deletes the standard customer profile and all data pertaining to the profile.
   534  //
   535  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   536  // with awserr.Error's Code and Message methods to get detailed information about
   537  // the error.
   538  //
   539  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   540  // API operation DeleteProfile for usage and error information.
   541  //
   542  // Returned Error Types:
   543  //   * BadRequestException
   544  //   The input you provided is invalid.
   545  //
   546  //   * AccessDeniedException
   547  //   You do not have sufficient access to perform this action.
   548  //
   549  //   * ResourceNotFoundException
   550  //   The requested resource does not exist, or access was denied.
   551  //
   552  //   * ThrottlingException
   553  //   You exceeded the maximum number of requests.
   554  //
   555  //   * InternalServerException
   556  //   An internal service error occurred.
   557  //
   558  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfile
   559  func (c *CustomerProfiles) DeleteProfile(input *DeleteProfileInput) (*DeleteProfileOutput, error) {
   560  	req, out := c.DeleteProfileRequest(input)
   561  	return out, req.Send()
   562  }
   563  
   564  // DeleteProfileWithContext is the same as DeleteProfile with the addition of
   565  // the ability to pass a context and additional request options.
   566  //
   567  // See DeleteProfile for details on how to use this API operation.
   568  //
   569  // The context must be non-nil and will be used for request cancellation. If
   570  // the context is nil a panic will occur. In the future the SDK may create
   571  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   572  // for more information on using Contexts.
   573  func (c *CustomerProfiles) DeleteProfileWithContext(ctx aws.Context, input *DeleteProfileInput, opts ...request.Option) (*DeleteProfileOutput, error) {
   574  	req, out := c.DeleteProfileRequest(input)
   575  	req.SetContext(ctx)
   576  	req.ApplyOptions(opts...)
   577  	return out, req.Send()
   578  }
   579  
   580  const opDeleteProfileKey = "DeleteProfileKey"
   581  
   582  // DeleteProfileKeyRequest generates a "aws/request.Request" representing the
   583  // client's request for the DeleteProfileKey operation. The "output" return
   584  // value will be populated with the request's response once the request completes
   585  // successfully.
   586  //
   587  // Use "Send" method on the returned Request to send the API call to the service.
   588  // the "output" return value is not valid until after Send returns without error.
   589  //
   590  // See DeleteProfileKey for more information on using the DeleteProfileKey
   591  // API call, and error handling.
   592  //
   593  // This method is useful when you want to inject custom logic or configuration
   594  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   595  //
   596  //
   597  //    // Example sending a request using the DeleteProfileKeyRequest method.
   598  //    req, resp := client.DeleteProfileKeyRequest(params)
   599  //
   600  //    err := req.Send()
   601  //    if err == nil { // resp is now filled
   602  //        fmt.Println(resp)
   603  //    }
   604  //
   605  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfileKey
   606  func (c *CustomerProfiles) DeleteProfileKeyRequest(input *DeleteProfileKeyInput) (req *request.Request, output *DeleteProfileKeyOutput) {
   607  	op := &request.Operation{
   608  		Name:       opDeleteProfileKey,
   609  		HTTPMethod: "POST",
   610  		HTTPPath:   "/domains/{DomainName}/profiles/keys/delete",
   611  	}
   612  
   613  	if input == nil {
   614  		input = &DeleteProfileKeyInput{}
   615  	}
   616  
   617  	output = &DeleteProfileKeyOutput{}
   618  	req = c.newRequest(op, input, output)
   619  	return
   620  }
   621  
   622  // DeleteProfileKey API operation for Amazon Connect Customer Profiles.
   623  //
   624  // Removes a searchable key from a customer profile.
   625  //
   626  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   627  // with awserr.Error's Code and Message methods to get detailed information about
   628  // the error.
   629  //
   630  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   631  // API operation DeleteProfileKey for usage and error information.
   632  //
   633  // Returned Error Types:
   634  //   * BadRequestException
   635  //   The input you provided is invalid.
   636  //
   637  //   * AccessDeniedException
   638  //   You do not have sufficient access to perform this action.
   639  //
   640  //   * ResourceNotFoundException
   641  //   The requested resource does not exist, or access was denied.
   642  //
   643  //   * ThrottlingException
   644  //   You exceeded the maximum number of requests.
   645  //
   646  //   * InternalServerException
   647  //   An internal service error occurred.
   648  //
   649  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfileKey
   650  func (c *CustomerProfiles) DeleteProfileKey(input *DeleteProfileKeyInput) (*DeleteProfileKeyOutput, error) {
   651  	req, out := c.DeleteProfileKeyRequest(input)
   652  	return out, req.Send()
   653  }
   654  
   655  // DeleteProfileKeyWithContext is the same as DeleteProfileKey with the addition of
   656  // the ability to pass a context and additional request options.
   657  //
   658  // See DeleteProfileKey for details on how to use this API operation.
   659  //
   660  // The context must be non-nil and will be used for request cancellation. If
   661  // the context is nil a panic will occur. In the future the SDK may create
   662  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   663  // for more information on using Contexts.
   664  func (c *CustomerProfiles) DeleteProfileKeyWithContext(ctx aws.Context, input *DeleteProfileKeyInput, opts ...request.Option) (*DeleteProfileKeyOutput, error) {
   665  	req, out := c.DeleteProfileKeyRequest(input)
   666  	req.SetContext(ctx)
   667  	req.ApplyOptions(opts...)
   668  	return out, req.Send()
   669  }
   670  
   671  const opDeleteProfileObject = "DeleteProfileObject"
   672  
   673  // DeleteProfileObjectRequest generates a "aws/request.Request" representing the
   674  // client's request for the DeleteProfileObject operation. The "output" return
   675  // value will be populated with the request's response once the request completes
   676  // successfully.
   677  //
   678  // Use "Send" method on the returned Request to send the API call to the service.
   679  // the "output" return value is not valid until after Send returns without error.
   680  //
   681  // See DeleteProfileObject for more information on using the DeleteProfileObject
   682  // API call, and error handling.
   683  //
   684  // This method is useful when you want to inject custom logic or configuration
   685  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   686  //
   687  //
   688  //    // Example sending a request using the DeleteProfileObjectRequest method.
   689  //    req, resp := client.DeleteProfileObjectRequest(params)
   690  //
   691  //    err := req.Send()
   692  //    if err == nil { // resp is now filled
   693  //        fmt.Println(resp)
   694  //    }
   695  //
   696  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfileObject
   697  func (c *CustomerProfiles) DeleteProfileObjectRequest(input *DeleteProfileObjectInput) (req *request.Request, output *DeleteProfileObjectOutput) {
   698  	op := &request.Operation{
   699  		Name:       opDeleteProfileObject,
   700  		HTTPMethod: "POST",
   701  		HTTPPath:   "/domains/{DomainName}/profiles/objects/delete",
   702  	}
   703  
   704  	if input == nil {
   705  		input = &DeleteProfileObjectInput{}
   706  	}
   707  
   708  	output = &DeleteProfileObjectOutput{}
   709  	req = c.newRequest(op, input, output)
   710  	return
   711  }
   712  
   713  // DeleteProfileObject API operation for Amazon Connect Customer Profiles.
   714  //
   715  // Removes an object associated with a profile of a given ProfileObjectType.
   716  //
   717  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   718  // with awserr.Error's Code and Message methods to get detailed information about
   719  // the error.
   720  //
   721  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   722  // API operation DeleteProfileObject for usage and error information.
   723  //
   724  // Returned Error Types:
   725  //   * BadRequestException
   726  //   The input you provided is invalid.
   727  //
   728  //   * AccessDeniedException
   729  //   You do not have sufficient access to perform this action.
   730  //
   731  //   * ResourceNotFoundException
   732  //   The requested resource does not exist, or access was denied.
   733  //
   734  //   * ThrottlingException
   735  //   You exceeded the maximum number of requests.
   736  //
   737  //   * InternalServerException
   738  //   An internal service error occurred.
   739  //
   740  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfileObject
   741  func (c *CustomerProfiles) DeleteProfileObject(input *DeleteProfileObjectInput) (*DeleteProfileObjectOutput, error) {
   742  	req, out := c.DeleteProfileObjectRequest(input)
   743  	return out, req.Send()
   744  }
   745  
   746  // DeleteProfileObjectWithContext is the same as DeleteProfileObject with the addition of
   747  // the ability to pass a context and additional request options.
   748  //
   749  // See DeleteProfileObject for details on how to use this API operation.
   750  //
   751  // The context must be non-nil and will be used for request cancellation. If
   752  // the context is nil a panic will occur. In the future the SDK may create
   753  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   754  // for more information on using Contexts.
   755  func (c *CustomerProfiles) DeleteProfileObjectWithContext(ctx aws.Context, input *DeleteProfileObjectInput, opts ...request.Option) (*DeleteProfileObjectOutput, error) {
   756  	req, out := c.DeleteProfileObjectRequest(input)
   757  	req.SetContext(ctx)
   758  	req.ApplyOptions(opts...)
   759  	return out, req.Send()
   760  }
   761  
   762  const opDeleteProfileObjectType = "DeleteProfileObjectType"
   763  
   764  // DeleteProfileObjectTypeRequest generates a "aws/request.Request" representing the
   765  // client's request for the DeleteProfileObjectType operation. The "output" return
   766  // value will be populated with the request's response once the request completes
   767  // successfully.
   768  //
   769  // Use "Send" method on the returned Request to send the API call to the service.
   770  // the "output" return value is not valid until after Send returns without error.
   771  //
   772  // See DeleteProfileObjectType for more information on using the DeleteProfileObjectType
   773  // API call, and error handling.
   774  //
   775  // This method is useful when you want to inject custom logic or configuration
   776  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   777  //
   778  //
   779  //    // Example sending a request using the DeleteProfileObjectTypeRequest method.
   780  //    req, resp := client.DeleteProfileObjectTypeRequest(params)
   781  //
   782  //    err := req.Send()
   783  //    if err == nil { // resp is now filled
   784  //        fmt.Println(resp)
   785  //    }
   786  //
   787  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfileObjectType
   788  func (c *CustomerProfiles) DeleteProfileObjectTypeRequest(input *DeleteProfileObjectTypeInput) (req *request.Request, output *DeleteProfileObjectTypeOutput) {
   789  	op := &request.Operation{
   790  		Name:       opDeleteProfileObjectType,
   791  		HTTPMethod: "DELETE",
   792  		HTTPPath:   "/domains/{DomainName}/object-types/{ObjectTypeName}",
   793  	}
   794  
   795  	if input == nil {
   796  		input = &DeleteProfileObjectTypeInput{}
   797  	}
   798  
   799  	output = &DeleteProfileObjectTypeOutput{}
   800  	req = c.newRequest(op, input, output)
   801  	return
   802  }
   803  
   804  // DeleteProfileObjectType API operation for Amazon Connect Customer Profiles.
   805  //
   806  // Removes a ProfileObjectType from a specific domain as well as removes all
   807  // the ProfileObjects of that type. It also disables integrations from this
   808  // specific ProfileObjectType. In addition, it scrubs all of the fields of the
   809  // standard profile that were populated from this ProfileObjectType.
   810  //
   811  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   812  // with awserr.Error's Code and Message methods to get detailed information about
   813  // the error.
   814  //
   815  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   816  // API operation DeleteProfileObjectType for usage and error information.
   817  //
   818  // Returned Error Types:
   819  //   * BadRequestException
   820  //   The input you provided is invalid.
   821  //
   822  //   * ResourceNotFoundException
   823  //   The requested resource does not exist, or access was denied.
   824  //
   825  //   * AccessDeniedException
   826  //   You do not have sufficient access to perform this action.
   827  //
   828  //   * ThrottlingException
   829  //   You exceeded the maximum number of requests.
   830  //
   831  //   * InternalServerException
   832  //   An internal service error occurred.
   833  //
   834  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteProfileObjectType
   835  func (c *CustomerProfiles) DeleteProfileObjectType(input *DeleteProfileObjectTypeInput) (*DeleteProfileObjectTypeOutput, error) {
   836  	req, out := c.DeleteProfileObjectTypeRequest(input)
   837  	return out, req.Send()
   838  }
   839  
   840  // DeleteProfileObjectTypeWithContext is the same as DeleteProfileObjectType with the addition of
   841  // the ability to pass a context and additional request options.
   842  //
   843  // See DeleteProfileObjectType for details on how to use this API operation.
   844  //
   845  // The context must be non-nil and will be used for request cancellation. If
   846  // the context is nil a panic will occur. In the future the SDK may create
   847  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   848  // for more information on using Contexts.
   849  func (c *CustomerProfiles) DeleteProfileObjectTypeWithContext(ctx aws.Context, input *DeleteProfileObjectTypeInput, opts ...request.Option) (*DeleteProfileObjectTypeOutput, error) {
   850  	req, out := c.DeleteProfileObjectTypeRequest(input)
   851  	req.SetContext(ctx)
   852  	req.ApplyOptions(opts...)
   853  	return out, req.Send()
   854  }
   855  
   856  const opGetDomain = "GetDomain"
   857  
   858  // GetDomainRequest generates a "aws/request.Request" representing the
   859  // client's request for the GetDomain operation. The "output" return
   860  // value will be populated with the request's response once the request completes
   861  // successfully.
   862  //
   863  // Use "Send" method on the returned Request to send the API call to the service.
   864  // the "output" return value is not valid until after Send returns without error.
   865  //
   866  // See GetDomain for more information on using the GetDomain
   867  // API call, and error handling.
   868  //
   869  // This method is useful when you want to inject custom logic or configuration
   870  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   871  //
   872  //
   873  //    // Example sending a request using the GetDomainRequest method.
   874  //    req, resp := client.GetDomainRequest(params)
   875  //
   876  //    err := req.Send()
   877  //    if err == nil { // resp is now filled
   878  //        fmt.Println(resp)
   879  //    }
   880  //
   881  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetDomain
   882  func (c *CustomerProfiles) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) {
   883  	op := &request.Operation{
   884  		Name:       opGetDomain,
   885  		HTTPMethod: "GET",
   886  		HTTPPath:   "/domains/{DomainName}",
   887  	}
   888  
   889  	if input == nil {
   890  		input = &GetDomainInput{}
   891  	}
   892  
   893  	output = &GetDomainOutput{}
   894  	req = c.newRequest(op, input, output)
   895  	return
   896  }
   897  
   898  // GetDomain API operation for Amazon Connect Customer Profiles.
   899  //
   900  // Returns information about a specific domain.
   901  //
   902  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   903  // with awserr.Error's Code and Message methods to get detailed information about
   904  // the error.
   905  //
   906  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   907  // API operation GetDomain for usage and error information.
   908  //
   909  // Returned Error Types:
   910  //   * BadRequestException
   911  //   The input you provided is invalid.
   912  //
   913  //   * ResourceNotFoundException
   914  //   The requested resource does not exist, or access was denied.
   915  //
   916  //   * AccessDeniedException
   917  //   You do not have sufficient access to perform this action.
   918  //
   919  //   * ThrottlingException
   920  //   You exceeded the maximum number of requests.
   921  //
   922  //   * InternalServerException
   923  //   An internal service error occurred.
   924  //
   925  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetDomain
   926  func (c *CustomerProfiles) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) {
   927  	req, out := c.GetDomainRequest(input)
   928  	return out, req.Send()
   929  }
   930  
   931  // GetDomainWithContext is the same as GetDomain with the addition of
   932  // the ability to pass a context and additional request options.
   933  //
   934  // See GetDomain for details on how to use this API operation.
   935  //
   936  // The context must be non-nil and will be used for request cancellation. If
   937  // the context is nil a panic will occur. In the future the SDK may create
   938  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   939  // for more information on using Contexts.
   940  func (c *CustomerProfiles) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) {
   941  	req, out := c.GetDomainRequest(input)
   942  	req.SetContext(ctx)
   943  	req.ApplyOptions(opts...)
   944  	return out, req.Send()
   945  }
   946  
   947  const opGetIntegration = "GetIntegration"
   948  
   949  // GetIntegrationRequest generates a "aws/request.Request" representing the
   950  // client's request for the GetIntegration operation. The "output" return
   951  // value will be populated with the request's response once the request completes
   952  // successfully.
   953  //
   954  // Use "Send" method on the returned Request to send the API call to the service.
   955  // the "output" return value is not valid until after Send returns without error.
   956  //
   957  // See GetIntegration for more information on using the GetIntegration
   958  // API call, and error handling.
   959  //
   960  // This method is useful when you want to inject custom logic or configuration
   961  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   962  //
   963  //
   964  //    // Example sending a request using the GetIntegrationRequest method.
   965  //    req, resp := client.GetIntegrationRequest(params)
   966  //
   967  //    err := req.Send()
   968  //    if err == nil { // resp is now filled
   969  //        fmt.Println(resp)
   970  //    }
   971  //
   972  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIntegration
   973  func (c *CustomerProfiles) GetIntegrationRequest(input *GetIntegrationInput) (req *request.Request, output *GetIntegrationOutput) {
   974  	op := &request.Operation{
   975  		Name:       opGetIntegration,
   976  		HTTPMethod: "POST",
   977  		HTTPPath:   "/domains/{DomainName}/integrations",
   978  	}
   979  
   980  	if input == nil {
   981  		input = &GetIntegrationInput{}
   982  	}
   983  
   984  	output = &GetIntegrationOutput{}
   985  	req = c.newRequest(op, input, output)
   986  	return
   987  }
   988  
   989  // GetIntegration API operation for Amazon Connect Customer Profiles.
   990  //
   991  // Returns an integration for a domain.
   992  //
   993  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   994  // with awserr.Error's Code and Message methods to get detailed information about
   995  // the error.
   996  //
   997  // See the AWS API reference guide for Amazon Connect Customer Profiles's
   998  // API operation GetIntegration for usage and error information.
   999  //
  1000  // Returned Error Types:
  1001  //   * BadRequestException
  1002  //   The input you provided is invalid.
  1003  //
  1004  //   * ResourceNotFoundException
  1005  //   The requested resource does not exist, or access was denied.
  1006  //
  1007  //   * AccessDeniedException
  1008  //   You do not have sufficient access to perform this action.
  1009  //
  1010  //   * ThrottlingException
  1011  //   You exceeded the maximum number of requests.
  1012  //
  1013  //   * InternalServerException
  1014  //   An internal service error occurred.
  1015  //
  1016  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIntegration
  1017  func (c *CustomerProfiles) GetIntegration(input *GetIntegrationInput) (*GetIntegrationOutput, error) {
  1018  	req, out := c.GetIntegrationRequest(input)
  1019  	return out, req.Send()
  1020  }
  1021  
  1022  // GetIntegrationWithContext is the same as GetIntegration with the addition of
  1023  // the ability to pass a context and additional request options.
  1024  //
  1025  // See GetIntegration for details on how to use this API operation.
  1026  //
  1027  // The context must be non-nil and will be used for request cancellation. If
  1028  // the context is nil a panic will occur. In the future the SDK may create
  1029  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1030  // for more information on using Contexts.
  1031  func (c *CustomerProfiles) GetIntegrationWithContext(ctx aws.Context, input *GetIntegrationInput, opts ...request.Option) (*GetIntegrationOutput, error) {
  1032  	req, out := c.GetIntegrationRequest(input)
  1033  	req.SetContext(ctx)
  1034  	req.ApplyOptions(opts...)
  1035  	return out, req.Send()
  1036  }
  1037  
  1038  const opGetMatches = "GetMatches"
  1039  
  1040  // GetMatchesRequest generates a "aws/request.Request" representing the
  1041  // client's request for the GetMatches operation. The "output" return
  1042  // value will be populated with the request's response once the request completes
  1043  // successfully.
  1044  //
  1045  // Use "Send" method on the returned Request to send the API call to the service.
  1046  // the "output" return value is not valid until after Send returns without error.
  1047  //
  1048  // See GetMatches for more information on using the GetMatches
  1049  // API call, and error handling.
  1050  //
  1051  // This method is useful when you want to inject custom logic or configuration
  1052  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1053  //
  1054  //
  1055  //    // Example sending a request using the GetMatchesRequest method.
  1056  //    req, resp := client.GetMatchesRequest(params)
  1057  //
  1058  //    err := req.Send()
  1059  //    if err == nil { // resp is now filled
  1060  //        fmt.Println(resp)
  1061  //    }
  1062  //
  1063  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatches
  1064  func (c *CustomerProfiles) GetMatchesRequest(input *GetMatchesInput) (req *request.Request, output *GetMatchesOutput) {
  1065  	op := &request.Operation{
  1066  		Name:       opGetMatches,
  1067  		HTTPMethod: "GET",
  1068  		HTTPPath:   "/domains/{DomainName}/matches",
  1069  	}
  1070  
  1071  	if input == nil {
  1072  		input = &GetMatchesInput{}
  1073  	}
  1074  
  1075  	output = &GetMatchesOutput{}
  1076  	req = c.newRequest(op, input, output)
  1077  	return
  1078  }
  1079  
  1080  // GetMatches API operation for Amazon Connect Customer Profiles.
  1081  //
  1082  // This API is in preview release for Amazon Connect and subject to change.
  1083  //
  1084  // Before calling this API, use CreateDomain (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html)
  1085  // or UpdateDomain (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html)
  1086  // to enable identity resolution: set Matching to true.
  1087  //
  1088  // GetMatches returns potentially matching profiles, based on the results of
  1089  // the latest run of a machine learning process.
  1090  //
  1091  // Amazon Connect starts a batch process every Saturday at 12AM UTC to identify
  1092  // matching profiles. The results are returned up to seven days after the Saturday
  1093  // run.
  1094  //
  1095  // Amazon Connect uses the following profile attributes to identify matches:
  1096  //
  1097  //    * PhoneNumber
  1098  //
  1099  //    * HomePhoneNumber
  1100  //
  1101  //    * BusinessPhoneNumber
  1102  //
  1103  //    * MobilePhoneNumber
  1104  //
  1105  //    * EmailAddress
  1106  //
  1107  //    * PersonalEmailAddress
  1108  //
  1109  //    * BusinessEmailAddress
  1110  //
  1111  //    * FullName
  1112  //
  1113  //    * BusinessName
  1114  //
  1115  // For example, two or more profiles—with spelling mistakes such as John Doe
  1116  // and Jhn Doe, or different casing email addresses such as JOHN_DOE@ANYCOMPANY.COM
  1117  // and johndoe@anycompany.com, or different phone number formats such as 555-010-0000
  1118  // and +1-555-010-0000—can be detected as belonging to the same customer John
  1119  // Doe and merged into a unified profile.
  1120  //
  1121  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1122  // with awserr.Error's Code and Message methods to get detailed information about
  1123  // the error.
  1124  //
  1125  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1126  // API operation GetMatches for usage and error information.
  1127  //
  1128  // Returned Error Types:
  1129  //   * BadRequestException
  1130  //   The input you provided is invalid.
  1131  //
  1132  //   * AccessDeniedException
  1133  //   You do not have sufficient access to perform this action.
  1134  //
  1135  //   * ResourceNotFoundException
  1136  //   The requested resource does not exist, or access was denied.
  1137  //
  1138  //   * ThrottlingException
  1139  //   You exceeded the maximum number of requests.
  1140  //
  1141  //   * InternalServerException
  1142  //   An internal service error occurred.
  1143  //
  1144  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatches
  1145  func (c *CustomerProfiles) GetMatches(input *GetMatchesInput) (*GetMatchesOutput, error) {
  1146  	req, out := c.GetMatchesRequest(input)
  1147  	return out, req.Send()
  1148  }
  1149  
  1150  // GetMatchesWithContext is the same as GetMatches with the addition of
  1151  // the ability to pass a context and additional request options.
  1152  //
  1153  // See GetMatches for details on how to use this API operation.
  1154  //
  1155  // The context must be non-nil and will be used for request cancellation. If
  1156  // the context is nil a panic will occur. In the future the SDK may create
  1157  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1158  // for more information on using Contexts.
  1159  func (c *CustomerProfiles) GetMatchesWithContext(ctx aws.Context, input *GetMatchesInput, opts ...request.Option) (*GetMatchesOutput, error) {
  1160  	req, out := c.GetMatchesRequest(input)
  1161  	req.SetContext(ctx)
  1162  	req.ApplyOptions(opts...)
  1163  	return out, req.Send()
  1164  }
  1165  
  1166  const opGetProfileObjectType = "GetProfileObjectType"
  1167  
  1168  // GetProfileObjectTypeRequest generates a "aws/request.Request" representing the
  1169  // client's request for the GetProfileObjectType operation. The "output" return
  1170  // value will be populated with the request's response once the request completes
  1171  // successfully.
  1172  //
  1173  // Use "Send" method on the returned Request to send the API call to the service.
  1174  // the "output" return value is not valid until after Send returns without error.
  1175  //
  1176  // See GetProfileObjectType for more information on using the GetProfileObjectType
  1177  // API call, and error handling.
  1178  //
  1179  // This method is useful when you want to inject custom logic or configuration
  1180  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1181  //
  1182  //
  1183  //    // Example sending a request using the GetProfileObjectTypeRequest method.
  1184  //    req, resp := client.GetProfileObjectTypeRequest(params)
  1185  //
  1186  //    err := req.Send()
  1187  //    if err == nil { // resp is now filled
  1188  //        fmt.Println(resp)
  1189  //    }
  1190  //
  1191  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileObjectType
  1192  func (c *CustomerProfiles) GetProfileObjectTypeRequest(input *GetProfileObjectTypeInput) (req *request.Request, output *GetProfileObjectTypeOutput) {
  1193  	op := &request.Operation{
  1194  		Name:       opGetProfileObjectType,
  1195  		HTTPMethod: "GET",
  1196  		HTTPPath:   "/domains/{DomainName}/object-types/{ObjectTypeName}",
  1197  	}
  1198  
  1199  	if input == nil {
  1200  		input = &GetProfileObjectTypeInput{}
  1201  	}
  1202  
  1203  	output = &GetProfileObjectTypeOutput{}
  1204  	req = c.newRequest(op, input, output)
  1205  	return
  1206  }
  1207  
  1208  // GetProfileObjectType API operation for Amazon Connect Customer Profiles.
  1209  //
  1210  // Returns the object types for a specific domain.
  1211  //
  1212  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1213  // with awserr.Error's Code and Message methods to get detailed information about
  1214  // the error.
  1215  //
  1216  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1217  // API operation GetProfileObjectType for usage and error information.
  1218  //
  1219  // Returned Error Types:
  1220  //   * BadRequestException
  1221  //   The input you provided is invalid.
  1222  //
  1223  //   * ResourceNotFoundException
  1224  //   The requested resource does not exist, or access was denied.
  1225  //
  1226  //   * AccessDeniedException
  1227  //   You do not have sufficient access to perform this action.
  1228  //
  1229  //   * ThrottlingException
  1230  //   You exceeded the maximum number of requests.
  1231  //
  1232  //   * InternalServerException
  1233  //   An internal service error occurred.
  1234  //
  1235  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileObjectType
  1236  func (c *CustomerProfiles) GetProfileObjectType(input *GetProfileObjectTypeInput) (*GetProfileObjectTypeOutput, error) {
  1237  	req, out := c.GetProfileObjectTypeRequest(input)
  1238  	return out, req.Send()
  1239  }
  1240  
  1241  // GetProfileObjectTypeWithContext is the same as GetProfileObjectType with the addition of
  1242  // the ability to pass a context and additional request options.
  1243  //
  1244  // See GetProfileObjectType for details on how to use this API operation.
  1245  //
  1246  // The context must be non-nil and will be used for request cancellation. If
  1247  // the context is nil a panic will occur. In the future the SDK may create
  1248  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1249  // for more information on using Contexts.
  1250  func (c *CustomerProfiles) GetProfileObjectTypeWithContext(ctx aws.Context, input *GetProfileObjectTypeInput, opts ...request.Option) (*GetProfileObjectTypeOutput, error) {
  1251  	req, out := c.GetProfileObjectTypeRequest(input)
  1252  	req.SetContext(ctx)
  1253  	req.ApplyOptions(opts...)
  1254  	return out, req.Send()
  1255  }
  1256  
  1257  const opGetProfileObjectTypeTemplate = "GetProfileObjectTypeTemplate"
  1258  
  1259  // GetProfileObjectTypeTemplateRequest generates a "aws/request.Request" representing the
  1260  // client's request for the GetProfileObjectTypeTemplate operation. The "output" return
  1261  // value will be populated with the request's response once the request completes
  1262  // successfully.
  1263  //
  1264  // Use "Send" method on the returned Request to send the API call to the service.
  1265  // the "output" return value is not valid until after Send returns without error.
  1266  //
  1267  // See GetProfileObjectTypeTemplate for more information on using the GetProfileObjectTypeTemplate
  1268  // API call, and error handling.
  1269  //
  1270  // This method is useful when you want to inject custom logic or configuration
  1271  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1272  //
  1273  //
  1274  //    // Example sending a request using the GetProfileObjectTypeTemplateRequest method.
  1275  //    req, resp := client.GetProfileObjectTypeTemplateRequest(params)
  1276  //
  1277  //    err := req.Send()
  1278  //    if err == nil { // resp is now filled
  1279  //        fmt.Println(resp)
  1280  //    }
  1281  //
  1282  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileObjectTypeTemplate
  1283  func (c *CustomerProfiles) GetProfileObjectTypeTemplateRequest(input *GetProfileObjectTypeTemplateInput) (req *request.Request, output *GetProfileObjectTypeTemplateOutput) {
  1284  	op := &request.Operation{
  1285  		Name:       opGetProfileObjectTypeTemplate,
  1286  		HTTPMethod: "GET",
  1287  		HTTPPath:   "/templates/{TemplateId}",
  1288  	}
  1289  
  1290  	if input == nil {
  1291  		input = &GetProfileObjectTypeTemplateInput{}
  1292  	}
  1293  
  1294  	output = &GetProfileObjectTypeTemplateOutput{}
  1295  	req = c.newRequest(op, input, output)
  1296  	return
  1297  }
  1298  
  1299  // GetProfileObjectTypeTemplate API operation for Amazon Connect Customer Profiles.
  1300  //
  1301  // Returns the template information for a specific object type.
  1302  //
  1303  // A template is a predefined ProfileObjectType, such as “Salesforce-Account”
  1304  // or “Salesforce-Contact.” When a user sends a ProfileObject, using the
  1305  // PutProfileObject API, with an ObjectTypeName that matches one of the TemplateIds,
  1306  // it uses the mappings from the template.
  1307  //
  1308  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1309  // with awserr.Error's Code and Message methods to get detailed information about
  1310  // the error.
  1311  //
  1312  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1313  // API operation GetProfileObjectTypeTemplate for usage and error information.
  1314  //
  1315  // Returned Error Types:
  1316  //   * BadRequestException
  1317  //   The input you provided is invalid.
  1318  //
  1319  //   * ResourceNotFoundException
  1320  //   The requested resource does not exist, or access was denied.
  1321  //
  1322  //   * AccessDeniedException
  1323  //   You do not have sufficient access to perform this action.
  1324  //
  1325  //   * ThrottlingException
  1326  //   You exceeded the maximum number of requests.
  1327  //
  1328  //   * InternalServerException
  1329  //   An internal service error occurred.
  1330  //
  1331  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileObjectTypeTemplate
  1332  func (c *CustomerProfiles) GetProfileObjectTypeTemplate(input *GetProfileObjectTypeTemplateInput) (*GetProfileObjectTypeTemplateOutput, error) {
  1333  	req, out := c.GetProfileObjectTypeTemplateRequest(input)
  1334  	return out, req.Send()
  1335  }
  1336  
  1337  // GetProfileObjectTypeTemplateWithContext is the same as GetProfileObjectTypeTemplate with the addition of
  1338  // the ability to pass a context and additional request options.
  1339  //
  1340  // See GetProfileObjectTypeTemplate for details on how to use this API operation.
  1341  //
  1342  // The context must be non-nil and will be used for request cancellation. If
  1343  // the context is nil a panic will occur. In the future the SDK may create
  1344  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1345  // for more information on using Contexts.
  1346  func (c *CustomerProfiles) GetProfileObjectTypeTemplateWithContext(ctx aws.Context, input *GetProfileObjectTypeTemplateInput, opts ...request.Option) (*GetProfileObjectTypeTemplateOutput, error) {
  1347  	req, out := c.GetProfileObjectTypeTemplateRequest(input)
  1348  	req.SetContext(ctx)
  1349  	req.ApplyOptions(opts...)
  1350  	return out, req.Send()
  1351  }
  1352  
  1353  const opListAccountIntegrations = "ListAccountIntegrations"
  1354  
  1355  // ListAccountIntegrationsRequest generates a "aws/request.Request" representing the
  1356  // client's request for the ListAccountIntegrations operation. The "output" return
  1357  // value will be populated with the request's response once the request completes
  1358  // successfully.
  1359  //
  1360  // Use "Send" method on the returned Request to send the API call to the service.
  1361  // the "output" return value is not valid until after Send returns without error.
  1362  //
  1363  // See ListAccountIntegrations for more information on using the ListAccountIntegrations
  1364  // API call, and error handling.
  1365  //
  1366  // This method is useful when you want to inject custom logic or configuration
  1367  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1368  //
  1369  //
  1370  //    // Example sending a request using the ListAccountIntegrationsRequest method.
  1371  //    req, resp := client.ListAccountIntegrationsRequest(params)
  1372  //
  1373  //    err := req.Send()
  1374  //    if err == nil { // resp is now filled
  1375  //        fmt.Println(resp)
  1376  //    }
  1377  //
  1378  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrations
  1379  func (c *CustomerProfiles) ListAccountIntegrationsRequest(input *ListAccountIntegrationsInput) (req *request.Request, output *ListAccountIntegrationsOutput) {
  1380  	op := &request.Operation{
  1381  		Name:       opListAccountIntegrations,
  1382  		HTTPMethod: "POST",
  1383  		HTTPPath:   "/integrations",
  1384  	}
  1385  
  1386  	if input == nil {
  1387  		input = &ListAccountIntegrationsInput{}
  1388  	}
  1389  
  1390  	output = &ListAccountIntegrationsOutput{}
  1391  	req = c.newRequest(op, input, output)
  1392  	return
  1393  }
  1394  
  1395  // ListAccountIntegrations API operation for Amazon Connect Customer Profiles.
  1396  //
  1397  // Lists all of the integrations associated to a specific URI in the AWS account.
  1398  //
  1399  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1400  // with awserr.Error's Code and Message methods to get detailed information about
  1401  // the error.
  1402  //
  1403  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1404  // API operation ListAccountIntegrations for usage and error information.
  1405  //
  1406  // Returned Error Types:
  1407  //   * BadRequestException
  1408  //   The input you provided is invalid.
  1409  //
  1410  //   * ResourceNotFoundException
  1411  //   The requested resource does not exist, or access was denied.
  1412  //
  1413  //   * AccessDeniedException
  1414  //   You do not have sufficient access to perform this action.
  1415  //
  1416  //   * ThrottlingException
  1417  //   You exceeded the maximum number of requests.
  1418  //
  1419  //   * InternalServerException
  1420  //   An internal service error occurred.
  1421  //
  1422  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrations
  1423  func (c *CustomerProfiles) ListAccountIntegrations(input *ListAccountIntegrationsInput) (*ListAccountIntegrationsOutput, error) {
  1424  	req, out := c.ListAccountIntegrationsRequest(input)
  1425  	return out, req.Send()
  1426  }
  1427  
  1428  // ListAccountIntegrationsWithContext is the same as ListAccountIntegrations with the addition of
  1429  // the ability to pass a context and additional request options.
  1430  //
  1431  // See ListAccountIntegrations for details on how to use this API operation.
  1432  //
  1433  // The context must be non-nil and will be used for request cancellation. If
  1434  // the context is nil a panic will occur. In the future the SDK may create
  1435  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1436  // for more information on using Contexts.
  1437  func (c *CustomerProfiles) ListAccountIntegrationsWithContext(ctx aws.Context, input *ListAccountIntegrationsInput, opts ...request.Option) (*ListAccountIntegrationsOutput, error) {
  1438  	req, out := c.ListAccountIntegrationsRequest(input)
  1439  	req.SetContext(ctx)
  1440  	req.ApplyOptions(opts...)
  1441  	return out, req.Send()
  1442  }
  1443  
  1444  const opListDomains = "ListDomains"
  1445  
  1446  // ListDomainsRequest generates a "aws/request.Request" representing the
  1447  // client's request for the ListDomains operation. The "output" return
  1448  // value will be populated with the request's response once the request completes
  1449  // successfully.
  1450  //
  1451  // Use "Send" method on the returned Request to send the API call to the service.
  1452  // the "output" return value is not valid until after Send returns without error.
  1453  //
  1454  // See ListDomains for more information on using the ListDomains
  1455  // API call, and error handling.
  1456  //
  1457  // This method is useful when you want to inject custom logic or configuration
  1458  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1459  //
  1460  //
  1461  //    // Example sending a request using the ListDomainsRequest method.
  1462  //    req, resp := client.ListDomainsRequest(params)
  1463  //
  1464  //    err := req.Send()
  1465  //    if err == nil { // resp is now filled
  1466  //        fmt.Println(resp)
  1467  //    }
  1468  //
  1469  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListDomains
  1470  func (c *CustomerProfiles) ListDomainsRequest(input *ListDomainsInput) (req *request.Request, output *ListDomainsOutput) {
  1471  	op := &request.Operation{
  1472  		Name:       opListDomains,
  1473  		HTTPMethod: "GET",
  1474  		HTTPPath:   "/domains",
  1475  	}
  1476  
  1477  	if input == nil {
  1478  		input = &ListDomainsInput{}
  1479  	}
  1480  
  1481  	output = &ListDomainsOutput{}
  1482  	req = c.newRequest(op, input, output)
  1483  	return
  1484  }
  1485  
  1486  // ListDomains API operation for Amazon Connect Customer Profiles.
  1487  //
  1488  // Returns a list of all the domains for an AWS account that have been created.
  1489  //
  1490  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1491  // with awserr.Error's Code and Message methods to get detailed information about
  1492  // the error.
  1493  //
  1494  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1495  // API operation ListDomains for usage and error information.
  1496  //
  1497  // Returned Error Types:
  1498  //   * BadRequestException
  1499  //   The input you provided is invalid.
  1500  //
  1501  //   * ResourceNotFoundException
  1502  //   The requested resource does not exist, or access was denied.
  1503  //
  1504  //   * AccessDeniedException
  1505  //   You do not have sufficient access to perform this action.
  1506  //
  1507  //   * ThrottlingException
  1508  //   You exceeded the maximum number of requests.
  1509  //
  1510  //   * InternalServerException
  1511  //   An internal service error occurred.
  1512  //
  1513  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListDomains
  1514  func (c *CustomerProfiles) ListDomains(input *ListDomainsInput) (*ListDomainsOutput, error) {
  1515  	req, out := c.ListDomainsRequest(input)
  1516  	return out, req.Send()
  1517  }
  1518  
  1519  // ListDomainsWithContext is the same as ListDomains with the addition of
  1520  // the ability to pass a context and additional request options.
  1521  //
  1522  // See ListDomains for details on how to use this API operation.
  1523  //
  1524  // The context must be non-nil and will be used for request cancellation. If
  1525  // the context is nil a panic will occur. In the future the SDK may create
  1526  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1527  // for more information on using Contexts.
  1528  func (c *CustomerProfiles) ListDomainsWithContext(ctx aws.Context, input *ListDomainsInput, opts ...request.Option) (*ListDomainsOutput, error) {
  1529  	req, out := c.ListDomainsRequest(input)
  1530  	req.SetContext(ctx)
  1531  	req.ApplyOptions(opts...)
  1532  	return out, req.Send()
  1533  }
  1534  
  1535  const opListIntegrations = "ListIntegrations"
  1536  
  1537  // ListIntegrationsRequest generates a "aws/request.Request" representing the
  1538  // client's request for the ListIntegrations operation. The "output" return
  1539  // value will be populated with the request's response once the request completes
  1540  // successfully.
  1541  //
  1542  // Use "Send" method on the returned Request to send the API call to the service.
  1543  // the "output" return value is not valid until after Send returns without error.
  1544  //
  1545  // See ListIntegrations for more information on using the ListIntegrations
  1546  // API call, and error handling.
  1547  //
  1548  // This method is useful when you want to inject custom logic or configuration
  1549  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1550  //
  1551  //
  1552  //    // Example sending a request using the ListIntegrationsRequest method.
  1553  //    req, resp := client.ListIntegrationsRequest(params)
  1554  //
  1555  //    err := req.Send()
  1556  //    if err == nil { // resp is now filled
  1557  //        fmt.Println(resp)
  1558  //    }
  1559  //
  1560  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrations
  1561  func (c *CustomerProfiles) ListIntegrationsRequest(input *ListIntegrationsInput) (req *request.Request, output *ListIntegrationsOutput) {
  1562  	op := &request.Operation{
  1563  		Name:       opListIntegrations,
  1564  		HTTPMethod: "GET",
  1565  		HTTPPath:   "/domains/{DomainName}/integrations",
  1566  	}
  1567  
  1568  	if input == nil {
  1569  		input = &ListIntegrationsInput{}
  1570  	}
  1571  
  1572  	output = &ListIntegrationsOutput{}
  1573  	req = c.newRequest(op, input, output)
  1574  	return
  1575  }
  1576  
  1577  // ListIntegrations API operation for Amazon Connect Customer Profiles.
  1578  //
  1579  // Lists all of the integrations in your domain.
  1580  //
  1581  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1582  // with awserr.Error's Code and Message methods to get detailed information about
  1583  // the error.
  1584  //
  1585  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1586  // API operation ListIntegrations for usage and error information.
  1587  //
  1588  // Returned Error Types:
  1589  //   * BadRequestException
  1590  //   The input you provided is invalid.
  1591  //
  1592  //   * ResourceNotFoundException
  1593  //   The requested resource does not exist, or access was denied.
  1594  //
  1595  //   * AccessDeniedException
  1596  //   You do not have sufficient access to perform this action.
  1597  //
  1598  //   * ThrottlingException
  1599  //   You exceeded the maximum number of requests.
  1600  //
  1601  //   * InternalServerException
  1602  //   An internal service error occurred.
  1603  //
  1604  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrations
  1605  func (c *CustomerProfiles) ListIntegrations(input *ListIntegrationsInput) (*ListIntegrationsOutput, error) {
  1606  	req, out := c.ListIntegrationsRequest(input)
  1607  	return out, req.Send()
  1608  }
  1609  
  1610  // ListIntegrationsWithContext is the same as ListIntegrations with the addition of
  1611  // the ability to pass a context and additional request options.
  1612  //
  1613  // See ListIntegrations for details on how to use this API operation.
  1614  //
  1615  // The context must be non-nil and will be used for request cancellation. If
  1616  // the context is nil a panic will occur. In the future the SDK may create
  1617  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1618  // for more information on using Contexts.
  1619  func (c *CustomerProfiles) ListIntegrationsWithContext(ctx aws.Context, input *ListIntegrationsInput, opts ...request.Option) (*ListIntegrationsOutput, error) {
  1620  	req, out := c.ListIntegrationsRequest(input)
  1621  	req.SetContext(ctx)
  1622  	req.ApplyOptions(opts...)
  1623  	return out, req.Send()
  1624  }
  1625  
  1626  const opListProfileObjectTypeTemplates = "ListProfileObjectTypeTemplates"
  1627  
  1628  // ListProfileObjectTypeTemplatesRequest generates a "aws/request.Request" representing the
  1629  // client's request for the ListProfileObjectTypeTemplates operation. The "output" return
  1630  // value will be populated with the request's response once the request completes
  1631  // successfully.
  1632  //
  1633  // Use "Send" method on the returned Request to send the API call to the service.
  1634  // the "output" return value is not valid until after Send returns without error.
  1635  //
  1636  // See ListProfileObjectTypeTemplates for more information on using the ListProfileObjectTypeTemplates
  1637  // API call, and error handling.
  1638  //
  1639  // This method is useful when you want to inject custom logic or configuration
  1640  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1641  //
  1642  //
  1643  //    // Example sending a request using the ListProfileObjectTypeTemplatesRequest method.
  1644  //    req, resp := client.ListProfileObjectTypeTemplatesRequest(params)
  1645  //
  1646  //    err := req.Send()
  1647  //    if err == nil { // resp is now filled
  1648  //        fmt.Println(resp)
  1649  //    }
  1650  //
  1651  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjectTypeTemplates
  1652  func (c *CustomerProfiles) ListProfileObjectTypeTemplatesRequest(input *ListProfileObjectTypeTemplatesInput) (req *request.Request, output *ListProfileObjectTypeTemplatesOutput) {
  1653  	op := &request.Operation{
  1654  		Name:       opListProfileObjectTypeTemplates,
  1655  		HTTPMethod: "GET",
  1656  		HTTPPath:   "/templates",
  1657  	}
  1658  
  1659  	if input == nil {
  1660  		input = &ListProfileObjectTypeTemplatesInput{}
  1661  	}
  1662  
  1663  	output = &ListProfileObjectTypeTemplatesOutput{}
  1664  	req = c.newRequest(op, input, output)
  1665  	return
  1666  }
  1667  
  1668  // ListProfileObjectTypeTemplates API operation for Amazon Connect Customer Profiles.
  1669  //
  1670  // Lists all of the template information for object types.
  1671  //
  1672  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1673  // with awserr.Error's Code and Message methods to get detailed information about
  1674  // the error.
  1675  //
  1676  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1677  // API operation ListProfileObjectTypeTemplates for usage and error information.
  1678  //
  1679  // Returned Error Types:
  1680  //   * BadRequestException
  1681  //   The input you provided is invalid.
  1682  //
  1683  //   * ResourceNotFoundException
  1684  //   The requested resource does not exist, or access was denied.
  1685  //
  1686  //   * AccessDeniedException
  1687  //   You do not have sufficient access to perform this action.
  1688  //
  1689  //   * ThrottlingException
  1690  //   You exceeded the maximum number of requests.
  1691  //
  1692  //   * InternalServerException
  1693  //   An internal service error occurred.
  1694  //
  1695  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjectTypeTemplates
  1696  func (c *CustomerProfiles) ListProfileObjectTypeTemplates(input *ListProfileObjectTypeTemplatesInput) (*ListProfileObjectTypeTemplatesOutput, error) {
  1697  	req, out := c.ListProfileObjectTypeTemplatesRequest(input)
  1698  	return out, req.Send()
  1699  }
  1700  
  1701  // ListProfileObjectTypeTemplatesWithContext is the same as ListProfileObjectTypeTemplates with the addition of
  1702  // the ability to pass a context and additional request options.
  1703  //
  1704  // See ListProfileObjectTypeTemplates for details on how to use this API operation.
  1705  //
  1706  // The context must be non-nil and will be used for request cancellation. If
  1707  // the context is nil a panic will occur. In the future the SDK may create
  1708  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1709  // for more information on using Contexts.
  1710  func (c *CustomerProfiles) ListProfileObjectTypeTemplatesWithContext(ctx aws.Context, input *ListProfileObjectTypeTemplatesInput, opts ...request.Option) (*ListProfileObjectTypeTemplatesOutput, error) {
  1711  	req, out := c.ListProfileObjectTypeTemplatesRequest(input)
  1712  	req.SetContext(ctx)
  1713  	req.ApplyOptions(opts...)
  1714  	return out, req.Send()
  1715  }
  1716  
  1717  const opListProfileObjectTypes = "ListProfileObjectTypes"
  1718  
  1719  // ListProfileObjectTypesRequest generates a "aws/request.Request" representing the
  1720  // client's request for the ListProfileObjectTypes operation. The "output" return
  1721  // value will be populated with the request's response once the request completes
  1722  // successfully.
  1723  //
  1724  // Use "Send" method on the returned Request to send the API call to the service.
  1725  // the "output" return value is not valid until after Send returns without error.
  1726  //
  1727  // See ListProfileObjectTypes for more information on using the ListProfileObjectTypes
  1728  // API call, and error handling.
  1729  //
  1730  // This method is useful when you want to inject custom logic or configuration
  1731  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1732  //
  1733  //
  1734  //    // Example sending a request using the ListProfileObjectTypesRequest method.
  1735  //    req, resp := client.ListProfileObjectTypesRequest(params)
  1736  //
  1737  //    err := req.Send()
  1738  //    if err == nil { // resp is now filled
  1739  //        fmt.Println(resp)
  1740  //    }
  1741  //
  1742  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjectTypes
  1743  func (c *CustomerProfiles) ListProfileObjectTypesRequest(input *ListProfileObjectTypesInput) (req *request.Request, output *ListProfileObjectTypesOutput) {
  1744  	op := &request.Operation{
  1745  		Name:       opListProfileObjectTypes,
  1746  		HTTPMethod: "GET",
  1747  		HTTPPath:   "/domains/{DomainName}/object-types",
  1748  	}
  1749  
  1750  	if input == nil {
  1751  		input = &ListProfileObjectTypesInput{}
  1752  	}
  1753  
  1754  	output = &ListProfileObjectTypesOutput{}
  1755  	req = c.newRequest(op, input, output)
  1756  	return
  1757  }
  1758  
  1759  // ListProfileObjectTypes API operation for Amazon Connect Customer Profiles.
  1760  //
  1761  // Lists all of the templates available within the service.
  1762  //
  1763  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1764  // with awserr.Error's Code and Message methods to get detailed information about
  1765  // the error.
  1766  //
  1767  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1768  // API operation ListProfileObjectTypes for usage and error information.
  1769  //
  1770  // Returned Error Types:
  1771  //   * BadRequestException
  1772  //   The input you provided is invalid.
  1773  //
  1774  //   * ResourceNotFoundException
  1775  //   The requested resource does not exist, or access was denied.
  1776  //
  1777  //   * AccessDeniedException
  1778  //   You do not have sufficient access to perform this action.
  1779  //
  1780  //   * ThrottlingException
  1781  //   You exceeded the maximum number of requests.
  1782  //
  1783  //   * InternalServerException
  1784  //   An internal service error occurred.
  1785  //
  1786  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjectTypes
  1787  func (c *CustomerProfiles) ListProfileObjectTypes(input *ListProfileObjectTypesInput) (*ListProfileObjectTypesOutput, error) {
  1788  	req, out := c.ListProfileObjectTypesRequest(input)
  1789  	return out, req.Send()
  1790  }
  1791  
  1792  // ListProfileObjectTypesWithContext is the same as ListProfileObjectTypes with the addition of
  1793  // the ability to pass a context and additional request options.
  1794  //
  1795  // See ListProfileObjectTypes for details on how to use this API operation.
  1796  //
  1797  // The context must be non-nil and will be used for request cancellation. If
  1798  // the context is nil a panic will occur. In the future the SDK may create
  1799  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1800  // for more information on using Contexts.
  1801  func (c *CustomerProfiles) ListProfileObjectTypesWithContext(ctx aws.Context, input *ListProfileObjectTypesInput, opts ...request.Option) (*ListProfileObjectTypesOutput, error) {
  1802  	req, out := c.ListProfileObjectTypesRequest(input)
  1803  	req.SetContext(ctx)
  1804  	req.ApplyOptions(opts...)
  1805  	return out, req.Send()
  1806  }
  1807  
  1808  const opListProfileObjects = "ListProfileObjects"
  1809  
  1810  // ListProfileObjectsRequest generates a "aws/request.Request" representing the
  1811  // client's request for the ListProfileObjects operation. The "output" return
  1812  // value will be populated with the request's response once the request completes
  1813  // successfully.
  1814  //
  1815  // Use "Send" method on the returned Request to send the API call to the service.
  1816  // the "output" return value is not valid until after Send returns without error.
  1817  //
  1818  // See ListProfileObjects for more information on using the ListProfileObjects
  1819  // API call, and error handling.
  1820  //
  1821  // This method is useful when you want to inject custom logic or configuration
  1822  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1823  //
  1824  //
  1825  //    // Example sending a request using the ListProfileObjectsRequest method.
  1826  //    req, resp := client.ListProfileObjectsRequest(params)
  1827  //
  1828  //    err := req.Send()
  1829  //    if err == nil { // resp is now filled
  1830  //        fmt.Println(resp)
  1831  //    }
  1832  //
  1833  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjects
  1834  func (c *CustomerProfiles) ListProfileObjectsRequest(input *ListProfileObjectsInput) (req *request.Request, output *ListProfileObjectsOutput) {
  1835  	op := &request.Operation{
  1836  		Name:       opListProfileObjects,
  1837  		HTTPMethod: "POST",
  1838  		HTTPPath:   "/domains/{DomainName}/profiles/objects",
  1839  	}
  1840  
  1841  	if input == nil {
  1842  		input = &ListProfileObjectsInput{}
  1843  	}
  1844  
  1845  	output = &ListProfileObjectsOutput{}
  1846  	req = c.newRequest(op, input, output)
  1847  	return
  1848  }
  1849  
  1850  // ListProfileObjects API operation for Amazon Connect Customer Profiles.
  1851  //
  1852  // Returns a list of objects associated with a profile of a given ProfileObjectType.
  1853  //
  1854  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1855  // with awserr.Error's Code and Message methods to get detailed information about
  1856  // the error.
  1857  //
  1858  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1859  // API operation ListProfileObjects for usage and error information.
  1860  //
  1861  // Returned Error Types:
  1862  //   * BadRequestException
  1863  //   The input you provided is invalid.
  1864  //
  1865  //   * AccessDeniedException
  1866  //   You do not have sufficient access to perform this action.
  1867  //
  1868  //   * ResourceNotFoundException
  1869  //   The requested resource does not exist, or access was denied.
  1870  //
  1871  //   * ThrottlingException
  1872  //   You exceeded the maximum number of requests.
  1873  //
  1874  //   * InternalServerException
  1875  //   An internal service error occurred.
  1876  //
  1877  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjects
  1878  func (c *CustomerProfiles) ListProfileObjects(input *ListProfileObjectsInput) (*ListProfileObjectsOutput, error) {
  1879  	req, out := c.ListProfileObjectsRequest(input)
  1880  	return out, req.Send()
  1881  }
  1882  
  1883  // ListProfileObjectsWithContext is the same as ListProfileObjects with the addition of
  1884  // the ability to pass a context and additional request options.
  1885  //
  1886  // See ListProfileObjects for details on how to use this API operation.
  1887  //
  1888  // The context must be non-nil and will be used for request cancellation. If
  1889  // the context is nil a panic will occur. In the future the SDK may create
  1890  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1891  // for more information on using Contexts.
  1892  func (c *CustomerProfiles) ListProfileObjectsWithContext(ctx aws.Context, input *ListProfileObjectsInput, opts ...request.Option) (*ListProfileObjectsOutput, error) {
  1893  	req, out := c.ListProfileObjectsRequest(input)
  1894  	req.SetContext(ctx)
  1895  	req.ApplyOptions(opts...)
  1896  	return out, req.Send()
  1897  }
  1898  
  1899  const opListTagsForResource = "ListTagsForResource"
  1900  
  1901  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1902  // client's request for the ListTagsForResource operation. The "output" return
  1903  // value will be populated with the request's response once the request completes
  1904  // successfully.
  1905  //
  1906  // Use "Send" method on the returned Request to send the API call to the service.
  1907  // the "output" return value is not valid until after Send returns without error.
  1908  //
  1909  // See ListTagsForResource for more information on using the ListTagsForResource
  1910  // API call, and error handling.
  1911  //
  1912  // This method is useful when you want to inject custom logic or configuration
  1913  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1914  //
  1915  //
  1916  //    // Example sending a request using the ListTagsForResourceRequest method.
  1917  //    req, resp := client.ListTagsForResourceRequest(params)
  1918  //
  1919  //    err := req.Send()
  1920  //    if err == nil { // resp is now filled
  1921  //        fmt.Println(resp)
  1922  //    }
  1923  //
  1924  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListTagsForResource
  1925  func (c *CustomerProfiles) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1926  	op := &request.Operation{
  1927  		Name:       opListTagsForResource,
  1928  		HTTPMethod: "GET",
  1929  		HTTPPath:   "/tags/{resourceArn}",
  1930  	}
  1931  
  1932  	if input == nil {
  1933  		input = &ListTagsForResourceInput{}
  1934  	}
  1935  
  1936  	output = &ListTagsForResourceOutput{}
  1937  	req = c.newRequest(op, input, output)
  1938  	return
  1939  }
  1940  
  1941  // ListTagsForResource API operation for Amazon Connect Customer Profiles.
  1942  //
  1943  // Displays the tags associated with an Amazon Connect Customer Profiles resource.
  1944  // In Connect Customer Profiles, domains, profile object types, and integrations
  1945  // can be tagged.
  1946  //
  1947  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1948  // with awserr.Error's Code and Message methods to get detailed information about
  1949  // the error.
  1950  //
  1951  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  1952  // API operation ListTagsForResource for usage and error information.
  1953  //
  1954  // Returned Error Types:
  1955  //   * InternalServerException
  1956  //   An internal service error occurred.
  1957  //
  1958  //   * BadRequestException
  1959  //   The input you provided is invalid.
  1960  //
  1961  //   * ResourceNotFoundException
  1962  //   The requested resource does not exist, or access was denied.
  1963  //
  1964  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListTagsForResource
  1965  func (c *CustomerProfiles) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1966  	req, out := c.ListTagsForResourceRequest(input)
  1967  	return out, req.Send()
  1968  }
  1969  
  1970  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1971  // the ability to pass a context and additional request options.
  1972  //
  1973  // See ListTagsForResource for details on how to use this API operation.
  1974  //
  1975  // The context must be non-nil and will be used for request cancellation. If
  1976  // the context is nil a panic will occur. In the future the SDK may create
  1977  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1978  // for more information on using Contexts.
  1979  func (c *CustomerProfiles) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1980  	req, out := c.ListTagsForResourceRequest(input)
  1981  	req.SetContext(ctx)
  1982  	req.ApplyOptions(opts...)
  1983  	return out, req.Send()
  1984  }
  1985  
  1986  const opMergeProfiles = "MergeProfiles"
  1987  
  1988  // MergeProfilesRequest generates a "aws/request.Request" representing the
  1989  // client's request for the MergeProfiles operation. The "output" return
  1990  // value will be populated with the request's response once the request completes
  1991  // successfully.
  1992  //
  1993  // Use "Send" method on the returned Request to send the API call to the service.
  1994  // the "output" return value is not valid until after Send returns without error.
  1995  //
  1996  // See MergeProfiles for more information on using the MergeProfiles
  1997  // API call, and error handling.
  1998  //
  1999  // This method is useful when you want to inject custom logic or configuration
  2000  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2001  //
  2002  //
  2003  //    // Example sending a request using the MergeProfilesRequest method.
  2004  //    req, resp := client.MergeProfilesRequest(params)
  2005  //
  2006  //    err := req.Send()
  2007  //    if err == nil { // resp is now filled
  2008  //        fmt.Println(resp)
  2009  //    }
  2010  //
  2011  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MergeProfiles
  2012  func (c *CustomerProfiles) MergeProfilesRequest(input *MergeProfilesInput) (req *request.Request, output *MergeProfilesOutput) {
  2013  	op := &request.Operation{
  2014  		Name:       opMergeProfiles,
  2015  		HTTPMethod: "POST",
  2016  		HTTPPath:   "/domains/{DomainName}/profiles/objects/merge",
  2017  	}
  2018  
  2019  	if input == nil {
  2020  		input = &MergeProfilesInput{}
  2021  	}
  2022  
  2023  	output = &MergeProfilesOutput{}
  2024  	req = c.newRequest(op, input, output)
  2025  	return
  2026  }
  2027  
  2028  // MergeProfiles API operation for Amazon Connect Customer Profiles.
  2029  //
  2030  // This API is in preview release for Amazon Connect and subject to change.
  2031  //
  2032  // Runs an AWS Lambda job that does the following:
  2033  //
  2034  // All the profileKeys in the ProfileToBeMerged will be moved to the main profile.
  2035  //
  2036  // All the objects in the ProfileToBeMerged will be moved to the main profile.
  2037  //
  2038  // All the ProfileToBeMerged will be deleted at the end.
  2039  //
  2040  // All the profileKeys in the ProfileIdsToBeMerged will be moved to the main
  2041  // profile.
  2042  //
  2043  // Standard fields are merged as follows:
  2044  //
  2045  // Fields are always "union"-ed if there are no conflicts in standard fields
  2046  // or attributeKeys.
  2047  //
  2048  // When there are conflicting fields:
  2049  //
  2050  // If no SourceProfileIds entry is specified, the main Profile value is always
  2051  // taken.
  2052  //
  2053  // If a SourceProfileIds entry is specified, the specified profileId is always
  2054  // taken, even if it is a NULL value.
  2055  //
  2056  // You can use MergeProfiles together with GetMatches (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html),
  2057  // which returns potentially matching profiles, or use it with the results of
  2058  // another matching system. After profiles have been merged, they cannot be
  2059  // separated (unmerged).
  2060  //
  2061  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2062  // with awserr.Error's Code and Message methods to get detailed information about
  2063  // the error.
  2064  //
  2065  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  2066  // API operation MergeProfiles for usage and error information.
  2067  //
  2068  // Returned Error Types:
  2069  //   * BadRequestException
  2070  //   The input you provided is invalid.
  2071  //
  2072  //   * ResourceNotFoundException
  2073  //   The requested resource does not exist, or access was denied.
  2074  //
  2075  //   * ThrottlingException
  2076  //   You exceeded the maximum number of requests.
  2077  //
  2078  //   * InternalServerException
  2079  //   An internal service error occurred.
  2080  //
  2081  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MergeProfiles
  2082  func (c *CustomerProfiles) MergeProfiles(input *MergeProfilesInput) (*MergeProfilesOutput, error) {
  2083  	req, out := c.MergeProfilesRequest(input)
  2084  	return out, req.Send()
  2085  }
  2086  
  2087  // MergeProfilesWithContext is the same as MergeProfiles with the addition of
  2088  // the ability to pass a context and additional request options.
  2089  //
  2090  // See MergeProfiles for details on how to use this API operation.
  2091  //
  2092  // The context must be non-nil and will be used for request cancellation. If
  2093  // the context is nil a panic will occur. In the future the SDK may create
  2094  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2095  // for more information on using Contexts.
  2096  func (c *CustomerProfiles) MergeProfilesWithContext(ctx aws.Context, input *MergeProfilesInput, opts ...request.Option) (*MergeProfilesOutput, error) {
  2097  	req, out := c.MergeProfilesRequest(input)
  2098  	req.SetContext(ctx)
  2099  	req.ApplyOptions(opts...)
  2100  	return out, req.Send()
  2101  }
  2102  
  2103  const opPutIntegration = "PutIntegration"
  2104  
  2105  // PutIntegrationRequest generates a "aws/request.Request" representing the
  2106  // client's request for the PutIntegration operation. The "output" return
  2107  // value will be populated with the request's response once the request completes
  2108  // successfully.
  2109  //
  2110  // Use "Send" method on the returned Request to send the API call to the service.
  2111  // the "output" return value is not valid until after Send returns without error.
  2112  //
  2113  // See PutIntegration for more information on using the PutIntegration
  2114  // API call, and error handling.
  2115  //
  2116  // This method is useful when you want to inject custom logic or configuration
  2117  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2118  //
  2119  //
  2120  //    // Example sending a request using the PutIntegrationRequest method.
  2121  //    req, resp := client.PutIntegrationRequest(params)
  2122  //
  2123  //    err := req.Send()
  2124  //    if err == nil { // resp is now filled
  2125  //        fmt.Println(resp)
  2126  //    }
  2127  //
  2128  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegration
  2129  func (c *CustomerProfiles) PutIntegrationRequest(input *PutIntegrationInput) (req *request.Request, output *PutIntegrationOutput) {
  2130  	op := &request.Operation{
  2131  		Name:       opPutIntegration,
  2132  		HTTPMethod: "PUT",
  2133  		HTTPPath:   "/domains/{DomainName}/integrations",
  2134  	}
  2135  
  2136  	if input == nil {
  2137  		input = &PutIntegrationInput{}
  2138  	}
  2139  
  2140  	output = &PutIntegrationOutput{}
  2141  	req = c.newRequest(op, input, output)
  2142  	return
  2143  }
  2144  
  2145  // PutIntegration API operation for Amazon Connect Customer Profiles.
  2146  //
  2147  // Adds an integration between the service and a third-party service, which
  2148  // includes Amazon AppFlow and Amazon Connect.
  2149  //
  2150  // An integration can belong to only one domain.
  2151  //
  2152  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2153  // with awserr.Error's Code and Message methods to get detailed information about
  2154  // the error.
  2155  //
  2156  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  2157  // API operation PutIntegration for usage and error information.
  2158  //
  2159  // Returned Error Types:
  2160  //   * BadRequestException
  2161  //   The input you provided is invalid.
  2162  //
  2163  //   * ResourceNotFoundException
  2164  //   The requested resource does not exist, or access was denied.
  2165  //
  2166  //   * AccessDeniedException
  2167  //   You do not have sufficient access to perform this action.
  2168  //
  2169  //   * ThrottlingException
  2170  //   You exceeded the maximum number of requests.
  2171  //
  2172  //   * InternalServerException
  2173  //   An internal service error occurred.
  2174  //
  2175  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegration
  2176  func (c *CustomerProfiles) PutIntegration(input *PutIntegrationInput) (*PutIntegrationOutput, error) {
  2177  	req, out := c.PutIntegrationRequest(input)
  2178  	return out, req.Send()
  2179  }
  2180  
  2181  // PutIntegrationWithContext is the same as PutIntegration with the addition of
  2182  // the ability to pass a context and additional request options.
  2183  //
  2184  // See PutIntegration for details on how to use this API operation.
  2185  //
  2186  // The context must be non-nil and will be used for request cancellation. If
  2187  // the context is nil a panic will occur. In the future the SDK may create
  2188  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2189  // for more information on using Contexts.
  2190  func (c *CustomerProfiles) PutIntegrationWithContext(ctx aws.Context, input *PutIntegrationInput, opts ...request.Option) (*PutIntegrationOutput, error) {
  2191  	req, out := c.PutIntegrationRequest(input)
  2192  	req.SetContext(ctx)
  2193  	req.ApplyOptions(opts...)
  2194  	return out, req.Send()
  2195  }
  2196  
  2197  const opPutProfileObject = "PutProfileObject"
  2198  
  2199  // PutProfileObjectRequest generates a "aws/request.Request" representing the
  2200  // client's request for the PutProfileObject operation. The "output" return
  2201  // value will be populated with the request's response once the request completes
  2202  // successfully.
  2203  //
  2204  // Use "Send" method on the returned Request to send the API call to the service.
  2205  // the "output" return value is not valid until after Send returns without error.
  2206  //
  2207  // See PutProfileObject for more information on using the PutProfileObject
  2208  // API call, and error handling.
  2209  //
  2210  // This method is useful when you want to inject custom logic or configuration
  2211  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2212  //
  2213  //
  2214  //    // Example sending a request using the PutProfileObjectRequest method.
  2215  //    req, resp := client.PutProfileObjectRequest(params)
  2216  //
  2217  //    err := req.Send()
  2218  //    if err == nil { // resp is now filled
  2219  //        fmt.Println(resp)
  2220  //    }
  2221  //
  2222  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutProfileObject
  2223  func (c *CustomerProfiles) PutProfileObjectRequest(input *PutProfileObjectInput) (req *request.Request, output *PutProfileObjectOutput) {
  2224  	op := &request.Operation{
  2225  		Name:       opPutProfileObject,
  2226  		HTTPMethod: "PUT",
  2227  		HTTPPath:   "/domains/{DomainName}/profiles/objects",
  2228  	}
  2229  
  2230  	if input == nil {
  2231  		input = &PutProfileObjectInput{}
  2232  	}
  2233  
  2234  	output = &PutProfileObjectOutput{}
  2235  	req = c.newRequest(op, input, output)
  2236  	return
  2237  }
  2238  
  2239  // PutProfileObject API operation for Amazon Connect Customer Profiles.
  2240  //
  2241  // Adds additional objects to customer profiles of a given ObjectType.
  2242  //
  2243  // When adding a specific profile object, like a Contact Trace Record (CTR),
  2244  // an inferred profile can get created if it is not mapped to an existing profile.
  2245  // The resulting profile will only have a phone number populated in the standard
  2246  // ProfileObject. Any additional CTRs with the same phone number will be mapped
  2247  // to the same inferred profile.
  2248  //
  2249  // When a ProfileObject is created and if a ProfileObjectType already exists
  2250  // for the ProfileObject, it will provide data to a standard profile depending
  2251  // on the ProfileObjectType definition.
  2252  //
  2253  // PutProfileObject needs an ObjectType, which can be created using PutProfileObjectType.
  2254  //
  2255  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2256  // with awserr.Error's Code and Message methods to get detailed information about
  2257  // the error.
  2258  //
  2259  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  2260  // API operation PutProfileObject for usage and error information.
  2261  //
  2262  // Returned Error Types:
  2263  //   * BadRequestException
  2264  //   The input you provided is invalid.
  2265  //
  2266  //   * AccessDeniedException
  2267  //   You do not have sufficient access to perform this action.
  2268  //
  2269  //   * ResourceNotFoundException
  2270  //   The requested resource does not exist, or access was denied.
  2271  //
  2272  //   * ThrottlingException
  2273  //   You exceeded the maximum number of requests.
  2274  //
  2275  //   * InternalServerException
  2276  //   An internal service error occurred.
  2277  //
  2278  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutProfileObject
  2279  func (c *CustomerProfiles) PutProfileObject(input *PutProfileObjectInput) (*PutProfileObjectOutput, error) {
  2280  	req, out := c.PutProfileObjectRequest(input)
  2281  	return out, req.Send()
  2282  }
  2283  
  2284  // PutProfileObjectWithContext is the same as PutProfileObject with the addition of
  2285  // the ability to pass a context and additional request options.
  2286  //
  2287  // See PutProfileObject for details on how to use this API operation.
  2288  //
  2289  // The context must be non-nil and will be used for request cancellation. If
  2290  // the context is nil a panic will occur. In the future the SDK may create
  2291  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2292  // for more information on using Contexts.
  2293  func (c *CustomerProfiles) PutProfileObjectWithContext(ctx aws.Context, input *PutProfileObjectInput, opts ...request.Option) (*PutProfileObjectOutput, error) {
  2294  	req, out := c.PutProfileObjectRequest(input)
  2295  	req.SetContext(ctx)
  2296  	req.ApplyOptions(opts...)
  2297  	return out, req.Send()
  2298  }
  2299  
  2300  const opPutProfileObjectType = "PutProfileObjectType"
  2301  
  2302  // PutProfileObjectTypeRequest generates a "aws/request.Request" representing the
  2303  // client's request for the PutProfileObjectType operation. The "output" return
  2304  // value will be populated with the request's response once the request completes
  2305  // successfully.
  2306  //
  2307  // Use "Send" method on the returned Request to send the API call to the service.
  2308  // the "output" return value is not valid until after Send returns without error.
  2309  //
  2310  // See PutProfileObjectType for more information on using the PutProfileObjectType
  2311  // API call, and error handling.
  2312  //
  2313  // This method is useful when you want to inject custom logic or configuration
  2314  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2315  //
  2316  //
  2317  //    // Example sending a request using the PutProfileObjectTypeRequest method.
  2318  //    req, resp := client.PutProfileObjectTypeRequest(params)
  2319  //
  2320  //    err := req.Send()
  2321  //    if err == nil { // resp is now filled
  2322  //        fmt.Println(resp)
  2323  //    }
  2324  //
  2325  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutProfileObjectType
  2326  func (c *CustomerProfiles) PutProfileObjectTypeRequest(input *PutProfileObjectTypeInput) (req *request.Request, output *PutProfileObjectTypeOutput) {
  2327  	op := &request.Operation{
  2328  		Name:       opPutProfileObjectType,
  2329  		HTTPMethod: "PUT",
  2330  		HTTPPath:   "/domains/{DomainName}/object-types/{ObjectTypeName}",
  2331  	}
  2332  
  2333  	if input == nil {
  2334  		input = &PutProfileObjectTypeInput{}
  2335  	}
  2336  
  2337  	output = &PutProfileObjectTypeOutput{}
  2338  	req = c.newRequest(op, input, output)
  2339  	return
  2340  }
  2341  
  2342  // PutProfileObjectType API operation for Amazon Connect Customer Profiles.
  2343  //
  2344  // Defines a ProfileObjectType.
  2345  //
  2346  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2347  // with awserr.Error's Code and Message methods to get detailed information about
  2348  // the error.
  2349  //
  2350  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  2351  // API operation PutProfileObjectType for usage and error information.
  2352  //
  2353  // Returned Error Types:
  2354  //   * BadRequestException
  2355  //   The input you provided is invalid.
  2356  //
  2357  //   * ResourceNotFoundException
  2358  //   The requested resource does not exist, or access was denied.
  2359  //
  2360  //   * AccessDeniedException
  2361  //   You do not have sufficient access to perform this action.
  2362  //
  2363  //   * ThrottlingException
  2364  //   You exceeded the maximum number of requests.
  2365  //
  2366  //   * InternalServerException
  2367  //   An internal service error occurred.
  2368  //
  2369  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutProfileObjectType
  2370  func (c *CustomerProfiles) PutProfileObjectType(input *PutProfileObjectTypeInput) (*PutProfileObjectTypeOutput, error) {
  2371  	req, out := c.PutProfileObjectTypeRequest(input)
  2372  	return out, req.Send()
  2373  }
  2374  
  2375  // PutProfileObjectTypeWithContext is the same as PutProfileObjectType with the addition of
  2376  // the ability to pass a context and additional request options.
  2377  //
  2378  // See PutProfileObjectType for details on how to use this API operation.
  2379  //
  2380  // The context must be non-nil and will be used for request cancellation. If
  2381  // the context is nil a panic will occur. In the future the SDK may create
  2382  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2383  // for more information on using Contexts.
  2384  func (c *CustomerProfiles) PutProfileObjectTypeWithContext(ctx aws.Context, input *PutProfileObjectTypeInput, opts ...request.Option) (*PutProfileObjectTypeOutput, error) {
  2385  	req, out := c.PutProfileObjectTypeRequest(input)
  2386  	req.SetContext(ctx)
  2387  	req.ApplyOptions(opts...)
  2388  	return out, req.Send()
  2389  }
  2390  
  2391  const opSearchProfiles = "SearchProfiles"
  2392  
  2393  // SearchProfilesRequest generates a "aws/request.Request" representing the
  2394  // client's request for the SearchProfiles operation. The "output" return
  2395  // value will be populated with the request's response once the request completes
  2396  // successfully.
  2397  //
  2398  // Use "Send" method on the returned Request to send the API call to the service.
  2399  // the "output" return value is not valid until after Send returns without error.
  2400  //
  2401  // See SearchProfiles for more information on using the SearchProfiles
  2402  // API call, and error handling.
  2403  //
  2404  // This method is useful when you want to inject custom logic or configuration
  2405  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2406  //
  2407  //
  2408  //    // Example sending a request using the SearchProfilesRequest method.
  2409  //    req, resp := client.SearchProfilesRequest(params)
  2410  //
  2411  //    err := req.Send()
  2412  //    if err == nil { // resp is now filled
  2413  //        fmt.Println(resp)
  2414  //    }
  2415  //
  2416  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/SearchProfiles
  2417  func (c *CustomerProfiles) SearchProfilesRequest(input *SearchProfilesInput) (req *request.Request, output *SearchProfilesOutput) {
  2418  	op := &request.Operation{
  2419  		Name:       opSearchProfiles,
  2420  		HTTPMethod: "POST",
  2421  		HTTPPath:   "/domains/{DomainName}/profiles/search",
  2422  	}
  2423  
  2424  	if input == nil {
  2425  		input = &SearchProfilesInput{}
  2426  	}
  2427  
  2428  	output = &SearchProfilesOutput{}
  2429  	req = c.newRequest(op, input, output)
  2430  	return
  2431  }
  2432  
  2433  // SearchProfiles API operation for Amazon Connect Customer Profiles.
  2434  //
  2435  // Searches for profiles within a specific domain name using name, phone number,
  2436  // email address, account number, or a custom defined index.
  2437  //
  2438  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2439  // with awserr.Error's Code and Message methods to get detailed information about
  2440  // the error.
  2441  //
  2442  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  2443  // API operation SearchProfiles for usage and error information.
  2444  //
  2445  // Returned Error Types:
  2446  //   * BadRequestException
  2447  //   The input you provided is invalid.
  2448  //
  2449  //   * AccessDeniedException
  2450  //   You do not have sufficient access to perform this action.
  2451  //
  2452  //   * ResourceNotFoundException
  2453  //   The requested resource does not exist, or access was denied.
  2454  //
  2455  //   * ThrottlingException
  2456  //   You exceeded the maximum number of requests.
  2457  //
  2458  //   * InternalServerException
  2459  //   An internal service error occurred.
  2460  //
  2461  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/SearchProfiles
  2462  func (c *CustomerProfiles) SearchProfiles(input *SearchProfilesInput) (*SearchProfilesOutput, error) {
  2463  	req, out := c.SearchProfilesRequest(input)
  2464  	return out, req.Send()
  2465  }
  2466  
  2467  // SearchProfilesWithContext is the same as SearchProfiles with the addition of
  2468  // the ability to pass a context and additional request options.
  2469  //
  2470  // See SearchProfiles for details on how to use this API operation.
  2471  //
  2472  // The context must be non-nil and will be used for request cancellation. If
  2473  // the context is nil a panic will occur. In the future the SDK may create
  2474  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2475  // for more information on using Contexts.
  2476  func (c *CustomerProfiles) SearchProfilesWithContext(ctx aws.Context, input *SearchProfilesInput, opts ...request.Option) (*SearchProfilesOutput, error) {
  2477  	req, out := c.SearchProfilesRequest(input)
  2478  	req.SetContext(ctx)
  2479  	req.ApplyOptions(opts...)
  2480  	return out, req.Send()
  2481  }
  2482  
  2483  const opTagResource = "TagResource"
  2484  
  2485  // TagResourceRequest generates a "aws/request.Request" representing the
  2486  // client's request for the TagResource operation. The "output" return
  2487  // value will be populated with the request's response once the request completes
  2488  // successfully.
  2489  //
  2490  // Use "Send" method on the returned Request to send the API call to the service.
  2491  // the "output" return value is not valid until after Send returns without error.
  2492  //
  2493  // See TagResource for more information on using the TagResource
  2494  // API call, and error handling.
  2495  //
  2496  // This method is useful when you want to inject custom logic or configuration
  2497  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2498  //
  2499  //
  2500  //    // Example sending a request using the TagResourceRequest method.
  2501  //    req, resp := client.TagResourceRequest(params)
  2502  //
  2503  //    err := req.Send()
  2504  //    if err == nil { // resp is now filled
  2505  //        fmt.Println(resp)
  2506  //    }
  2507  //
  2508  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/TagResource
  2509  func (c *CustomerProfiles) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2510  	op := &request.Operation{
  2511  		Name:       opTagResource,
  2512  		HTTPMethod: "POST",
  2513  		HTTPPath:   "/tags/{resourceArn}",
  2514  	}
  2515  
  2516  	if input == nil {
  2517  		input = &TagResourceInput{}
  2518  	}
  2519  
  2520  	output = &TagResourceOutput{}
  2521  	req = c.newRequest(op, input, output)
  2522  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2523  	return
  2524  }
  2525  
  2526  // TagResource API operation for Amazon Connect Customer Profiles.
  2527  //
  2528  // Assigns one or more tags (key-value pairs) to the specified Amazon Connect
  2529  // Customer Profiles resource. Tags can help you organize and categorize your
  2530  // resources. You can also use them to scope user permissions by granting a
  2531  // user permission to access or change only resources with certain tag values.
  2532  // In Connect Customer Profiles, domains, profile object types, and integrations
  2533  // can be tagged.
  2534  //
  2535  // Tags don't have any semantic meaning to AWS and are interpreted strictly
  2536  // as strings of characters.
  2537  //
  2538  // You can use the TagResource action with a resource that already has tags.
  2539  // If you specify a new tag key, this tag is appended to the list of tags associated
  2540  // with the resource. If you specify a tag key that is already associated with
  2541  // the resource, the new tag value that you specify replaces the previous value
  2542  // for that tag.
  2543  //
  2544  // You can associate as many as 50 tags with a resource.
  2545  //
  2546  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2547  // with awserr.Error's Code and Message methods to get detailed information about
  2548  // the error.
  2549  //
  2550  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  2551  // API operation TagResource for usage and error information.
  2552  //
  2553  // Returned Error Types:
  2554  //   * InternalServerException
  2555  //   An internal service error occurred.
  2556  //
  2557  //   * BadRequestException
  2558  //   The input you provided is invalid.
  2559  //
  2560  //   * ResourceNotFoundException
  2561  //   The requested resource does not exist, or access was denied.
  2562  //
  2563  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/TagResource
  2564  func (c *CustomerProfiles) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2565  	req, out := c.TagResourceRequest(input)
  2566  	return out, req.Send()
  2567  }
  2568  
  2569  // TagResourceWithContext is the same as TagResource with the addition of
  2570  // the ability to pass a context and additional request options.
  2571  //
  2572  // See TagResource for details on how to use this API operation.
  2573  //
  2574  // The context must be non-nil and will be used for request cancellation. If
  2575  // the context is nil a panic will occur. In the future the SDK may create
  2576  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2577  // for more information on using Contexts.
  2578  func (c *CustomerProfiles) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2579  	req, out := c.TagResourceRequest(input)
  2580  	req.SetContext(ctx)
  2581  	req.ApplyOptions(opts...)
  2582  	return out, req.Send()
  2583  }
  2584  
  2585  const opUntagResource = "UntagResource"
  2586  
  2587  // UntagResourceRequest generates a "aws/request.Request" representing the
  2588  // client's request for the UntagResource operation. The "output" return
  2589  // value will be populated with the request's response once the request completes
  2590  // successfully.
  2591  //
  2592  // Use "Send" method on the returned Request to send the API call to the service.
  2593  // the "output" return value is not valid until after Send returns without error.
  2594  //
  2595  // See UntagResource for more information on using the UntagResource
  2596  // API call, and error handling.
  2597  //
  2598  // This method is useful when you want to inject custom logic or configuration
  2599  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2600  //
  2601  //
  2602  //    // Example sending a request using the UntagResourceRequest method.
  2603  //    req, resp := client.UntagResourceRequest(params)
  2604  //
  2605  //    err := req.Send()
  2606  //    if err == nil { // resp is now filled
  2607  //        fmt.Println(resp)
  2608  //    }
  2609  //
  2610  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UntagResource
  2611  func (c *CustomerProfiles) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2612  	op := &request.Operation{
  2613  		Name:       opUntagResource,
  2614  		HTTPMethod: "DELETE",
  2615  		HTTPPath:   "/tags/{resourceArn}",
  2616  	}
  2617  
  2618  	if input == nil {
  2619  		input = &UntagResourceInput{}
  2620  	}
  2621  
  2622  	output = &UntagResourceOutput{}
  2623  	req = c.newRequest(op, input, output)
  2624  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2625  	return
  2626  }
  2627  
  2628  // UntagResource API operation for Amazon Connect Customer Profiles.
  2629  //
  2630  // Removes one or more tags from the specified Amazon Connect Customer Profiles
  2631  // resource. In Connect Customer Profiles, domains, profile object types, and
  2632  // integrations can be tagged.
  2633  //
  2634  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2635  // with awserr.Error's Code and Message methods to get detailed information about
  2636  // the error.
  2637  //
  2638  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  2639  // API operation UntagResource for usage and error information.
  2640  //
  2641  // Returned Error Types:
  2642  //   * InternalServerException
  2643  //   An internal service error occurred.
  2644  //
  2645  //   * BadRequestException
  2646  //   The input you provided is invalid.
  2647  //
  2648  //   * ResourceNotFoundException
  2649  //   The requested resource does not exist, or access was denied.
  2650  //
  2651  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UntagResource
  2652  func (c *CustomerProfiles) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2653  	req, out := c.UntagResourceRequest(input)
  2654  	return out, req.Send()
  2655  }
  2656  
  2657  // UntagResourceWithContext is the same as UntagResource with the addition of
  2658  // the ability to pass a context and additional request options.
  2659  //
  2660  // See UntagResource for details on how to use this API operation.
  2661  //
  2662  // The context must be non-nil and will be used for request cancellation. If
  2663  // the context is nil a panic will occur. In the future the SDK may create
  2664  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2665  // for more information on using Contexts.
  2666  func (c *CustomerProfiles) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2667  	req, out := c.UntagResourceRequest(input)
  2668  	req.SetContext(ctx)
  2669  	req.ApplyOptions(opts...)
  2670  	return out, req.Send()
  2671  }
  2672  
  2673  const opUpdateDomain = "UpdateDomain"
  2674  
  2675  // UpdateDomainRequest generates a "aws/request.Request" representing the
  2676  // client's request for the UpdateDomain operation. The "output" return
  2677  // value will be populated with the request's response once the request completes
  2678  // successfully.
  2679  //
  2680  // Use "Send" method on the returned Request to send the API call to the service.
  2681  // the "output" return value is not valid until after Send returns without error.
  2682  //
  2683  // See UpdateDomain for more information on using the UpdateDomain
  2684  // API call, and error handling.
  2685  //
  2686  // This method is useful when you want to inject custom logic or configuration
  2687  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2688  //
  2689  //
  2690  //    // Example sending a request using the UpdateDomainRequest method.
  2691  //    req, resp := client.UpdateDomainRequest(params)
  2692  //
  2693  //    err := req.Send()
  2694  //    if err == nil { // resp is now filled
  2695  //        fmt.Println(resp)
  2696  //    }
  2697  //
  2698  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateDomain
  2699  func (c *CustomerProfiles) UpdateDomainRequest(input *UpdateDomainInput) (req *request.Request, output *UpdateDomainOutput) {
  2700  	op := &request.Operation{
  2701  		Name:       opUpdateDomain,
  2702  		HTTPMethod: "PUT",
  2703  		HTTPPath:   "/domains/{DomainName}",
  2704  	}
  2705  
  2706  	if input == nil {
  2707  		input = &UpdateDomainInput{}
  2708  	}
  2709  
  2710  	output = &UpdateDomainOutput{}
  2711  	req = c.newRequest(op, input, output)
  2712  	return
  2713  }
  2714  
  2715  // UpdateDomain API operation for Amazon Connect Customer Profiles.
  2716  //
  2717  // Updates the properties of a domain, including creating or selecting a dead
  2718  // letter queue or an encryption key.
  2719  //
  2720  // After a domain is created, the name can’t be changed.
  2721  //
  2722  // Use this API or CreateDomain (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html)
  2723  // to enable identity resolution (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html):
  2724  // set Matching to true.
  2725  //
  2726  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2727  // with awserr.Error's Code and Message methods to get detailed information about
  2728  // the error.
  2729  //
  2730  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  2731  // API operation UpdateDomain for usage and error information.
  2732  //
  2733  // Returned Error Types:
  2734  //   * BadRequestException
  2735  //   The input you provided is invalid.
  2736  //
  2737  //   * ResourceNotFoundException
  2738  //   The requested resource does not exist, or access was denied.
  2739  //
  2740  //   * AccessDeniedException
  2741  //   You do not have sufficient access to perform this action.
  2742  //
  2743  //   * ThrottlingException
  2744  //   You exceeded the maximum number of requests.
  2745  //
  2746  //   * InternalServerException
  2747  //   An internal service error occurred.
  2748  //
  2749  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateDomain
  2750  func (c *CustomerProfiles) UpdateDomain(input *UpdateDomainInput) (*UpdateDomainOutput, error) {
  2751  	req, out := c.UpdateDomainRequest(input)
  2752  	return out, req.Send()
  2753  }
  2754  
  2755  // UpdateDomainWithContext is the same as UpdateDomain with the addition of
  2756  // the ability to pass a context and additional request options.
  2757  //
  2758  // See UpdateDomain for details on how to use this API operation.
  2759  //
  2760  // The context must be non-nil and will be used for request cancellation. If
  2761  // the context is nil a panic will occur. In the future the SDK may create
  2762  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2763  // for more information on using Contexts.
  2764  func (c *CustomerProfiles) UpdateDomainWithContext(ctx aws.Context, input *UpdateDomainInput, opts ...request.Option) (*UpdateDomainOutput, error) {
  2765  	req, out := c.UpdateDomainRequest(input)
  2766  	req.SetContext(ctx)
  2767  	req.ApplyOptions(opts...)
  2768  	return out, req.Send()
  2769  }
  2770  
  2771  const opUpdateProfile = "UpdateProfile"
  2772  
  2773  // UpdateProfileRequest generates a "aws/request.Request" representing the
  2774  // client's request for the UpdateProfile operation. The "output" return
  2775  // value will be populated with the request's response once the request completes
  2776  // successfully.
  2777  //
  2778  // Use "Send" method on the returned Request to send the API call to the service.
  2779  // the "output" return value is not valid until after Send returns without error.
  2780  //
  2781  // See UpdateProfile for more information on using the UpdateProfile
  2782  // API call, and error handling.
  2783  //
  2784  // This method is useful when you want to inject custom logic or configuration
  2785  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2786  //
  2787  //
  2788  //    // Example sending a request using the UpdateProfileRequest method.
  2789  //    req, resp := client.UpdateProfileRequest(params)
  2790  //
  2791  //    err := req.Send()
  2792  //    if err == nil { // resp is now filled
  2793  //        fmt.Println(resp)
  2794  //    }
  2795  //
  2796  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateProfile
  2797  func (c *CustomerProfiles) UpdateProfileRequest(input *UpdateProfileInput) (req *request.Request, output *UpdateProfileOutput) {
  2798  	op := &request.Operation{
  2799  		Name:       opUpdateProfile,
  2800  		HTTPMethod: "PUT",
  2801  		HTTPPath:   "/domains/{DomainName}/profiles",
  2802  	}
  2803  
  2804  	if input == nil {
  2805  		input = &UpdateProfileInput{}
  2806  	}
  2807  
  2808  	output = &UpdateProfileOutput{}
  2809  	req = c.newRequest(op, input, output)
  2810  	return
  2811  }
  2812  
  2813  // UpdateProfile API operation for Amazon Connect Customer Profiles.
  2814  //
  2815  // Updates the properties of a profile. The ProfileId is required for updating
  2816  // a customer profile.
  2817  //
  2818  // When calling the UpdateProfile API, specifying an empty string value means
  2819  // that any existing value will be removed. Not specifying a string value means
  2820  // that any value already there will be kept.
  2821  //
  2822  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2823  // with awserr.Error's Code and Message methods to get detailed information about
  2824  // the error.
  2825  //
  2826  // See the AWS API reference guide for Amazon Connect Customer Profiles's
  2827  // API operation UpdateProfile for usage and error information.
  2828  //
  2829  // Returned Error Types:
  2830  //   * BadRequestException
  2831  //   The input you provided is invalid.
  2832  //
  2833  //   * AccessDeniedException
  2834  //   You do not have sufficient access to perform this action.
  2835  //
  2836  //   * ResourceNotFoundException
  2837  //   The requested resource does not exist, or access was denied.
  2838  //
  2839  //   * ThrottlingException
  2840  //   You exceeded the maximum number of requests.
  2841  //
  2842  //   * InternalServerException
  2843  //   An internal service error occurred.
  2844  //
  2845  // See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateProfile
  2846  func (c *CustomerProfiles) UpdateProfile(input *UpdateProfileInput) (*UpdateProfileOutput, error) {
  2847  	req, out := c.UpdateProfileRequest(input)
  2848  	return out, req.Send()
  2849  }
  2850  
  2851  // UpdateProfileWithContext is the same as UpdateProfile with the addition of
  2852  // the ability to pass a context and additional request options.
  2853  //
  2854  // See UpdateProfile for details on how to use this API operation.
  2855  //
  2856  // The context must be non-nil and will be used for request cancellation. If
  2857  // the context is nil a panic will occur. In the future the SDK may create
  2858  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2859  // for more information on using Contexts.
  2860  func (c *CustomerProfiles) UpdateProfileWithContext(ctx aws.Context, input *UpdateProfileInput, opts ...request.Option) (*UpdateProfileOutput, error) {
  2861  	req, out := c.UpdateProfileRequest(input)
  2862  	req.SetContext(ctx)
  2863  	req.ApplyOptions(opts...)
  2864  	return out, req.Send()
  2865  }
  2866  
  2867  // You do not have sufficient access to perform this action.
  2868  type AccessDeniedException struct {
  2869  	_            struct{}                  `type:"structure"`
  2870  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2871  
  2872  	Message_ *string `locationName:"Message" type:"string"`
  2873  }
  2874  
  2875  // String returns the string representation.
  2876  //
  2877  // API parameter values that are decorated as "sensitive" in the API will not
  2878  // be included in the string output. The member name will be present, but the
  2879  // value will be replaced with "sensitive".
  2880  func (s AccessDeniedException) String() string {
  2881  	return awsutil.Prettify(s)
  2882  }
  2883  
  2884  // GoString returns the string representation.
  2885  //
  2886  // API parameter values that are decorated as "sensitive" in the API will not
  2887  // be included in the string output. The member name will be present, but the
  2888  // value will be replaced with "sensitive".
  2889  func (s AccessDeniedException) GoString() string {
  2890  	return s.String()
  2891  }
  2892  
  2893  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  2894  	return &AccessDeniedException{
  2895  		RespMetadata: v,
  2896  	}
  2897  }
  2898  
  2899  // Code returns the exception type name.
  2900  func (s *AccessDeniedException) Code() string {
  2901  	return "AccessDeniedException"
  2902  }
  2903  
  2904  // Message returns the exception's message.
  2905  func (s *AccessDeniedException) Message() string {
  2906  	if s.Message_ != nil {
  2907  		return *s.Message_
  2908  	}
  2909  	return ""
  2910  }
  2911  
  2912  // OrigErr always returns nil, satisfies awserr.Error interface.
  2913  func (s *AccessDeniedException) OrigErr() error {
  2914  	return nil
  2915  }
  2916  
  2917  func (s *AccessDeniedException) Error() string {
  2918  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2919  }
  2920  
  2921  // Status code returns the HTTP status code for the request's response error.
  2922  func (s *AccessDeniedException) StatusCode() int {
  2923  	return s.RespMetadata.StatusCode
  2924  }
  2925  
  2926  // RequestID returns the service's response RequestID for request.
  2927  func (s *AccessDeniedException) RequestID() string {
  2928  	return s.RespMetadata.RequestID
  2929  }
  2930  
  2931  type AddProfileKeyInput struct {
  2932  	_ struct{} `type:"structure"`
  2933  
  2934  	// The unique name of the domain.
  2935  	//
  2936  	// DomainName is a required field
  2937  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  2938  
  2939  	// A searchable identifier of a customer profile.
  2940  	//
  2941  	// KeyName is a required field
  2942  	KeyName *string `min:"1" type:"string" required:"true"`
  2943  
  2944  	// The unique identifier of a customer profile.
  2945  	//
  2946  	// ProfileId is a required field
  2947  	ProfileId *string `type:"string" required:"true"`
  2948  
  2949  	// A list of key values.
  2950  	//
  2951  	// Values is a required field
  2952  	Values []*string `type:"list" required:"true"`
  2953  }
  2954  
  2955  // String returns the string representation.
  2956  //
  2957  // API parameter values that are decorated as "sensitive" in the API will not
  2958  // be included in the string output. The member name will be present, but the
  2959  // value will be replaced with "sensitive".
  2960  func (s AddProfileKeyInput) String() string {
  2961  	return awsutil.Prettify(s)
  2962  }
  2963  
  2964  // GoString returns the string representation.
  2965  //
  2966  // API parameter values that are decorated as "sensitive" in the API will not
  2967  // be included in the string output. The member name will be present, but the
  2968  // value will be replaced with "sensitive".
  2969  func (s AddProfileKeyInput) GoString() string {
  2970  	return s.String()
  2971  }
  2972  
  2973  // Validate inspects the fields of the type to determine if they are valid.
  2974  func (s *AddProfileKeyInput) Validate() error {
  2975  	invalidParams := request.ErrInvalidParams{Context: "AddProfileKeyInput"}
  2976  	if s.DomainName == nil {
  2977  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  2978  	}
  2979  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  2980  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  2981  	}
  2982  	if s.KeyName == nil {
  2983  		invalidParams.Add(request.NewErrParamRequired("KeyName"))
  2984  	}
  2985  	if s.KeyName != nil && len(*s.KeyName) < 1 {
  2986  		invalidParams.Add(request.NewErrParamMinLen("KeyName", 1))
  2987  	}
  2988  	if s.ProfileId == nil {
  2989  		invalidParams.Add(request.NewErrParamRequired("ProfileId"))
  2990  	}
  2991  	if s.Values == nil {
  2992  		invalidParams.Add(request.NewErrParamRequired("Values"))
  2993  	}
  2994  
  2995  	if invalidParams.Len() > 0 {
  2996  		return invalidParams
  2997  	}
  2998  	return nil
  2999  }
  3000  
  3001  // SetDomainName sets the DomainName field's value.
  3002  func (s *AddProfileKeyInput) SetDomainName(v string) *AddProfileKeyInput {
  3003  	s.DomainName = &v
  3004  	return s
  3005  }
  3006  
  3007  // SetKeyName sets the KeyName field's value.
  3008  func (s *AddProfileKeyInput) SetKeyName(v string) *AddProfileKeyInput {
  3009  	s.KeyName = &v
  3010  	return s
  3011  }
  3012  
  3013  // SetProfileId sets the ProfileId field's value.
  3014  func (s *AddProfileKeyInput) SetProfileId(v string) *AddProfileKeyInput {
  3015  	s.ProfileId = &v
  3016  	return s
  3017  }
  3018  
  3019  // SetValues sets the Values field's value.
  3020  func (s *AddProfileKeyInput) SetValues(v []*string) *AddProfileKeyInput {
  3021  	s.Values = v
  3022  	return s
  3023  }
  3024  
  3025  type AddProfileKeyOutput struct {
  3026  	_ struct{} `type:"structure"`
  3027  
  3028  	// A searchable identifier of a customer profile.
  3029  	KeyName *string `min:"1" type:"string"`
  3030  
  3031  	// A list of key values.
  3032  	Values []*string `type:"list"`
  3033  }
  3034  
  3035  // String returns the string representation.
  3036  //
  3037  // API parameter values that are decorated as "sensitive" in the API will not
  3038  // be included in the string output. The member name will be present, but the
  3039  // value will be replaced with "sensitive".
  3040  func (s AddProfileKeyOutput) String() string {
  3041  	return awsutil.Prettify(s)
  3042  }
  3043  
  3044  // GoString returns the string representation.
  3045  //
  3046  // API parameter values that are decorated as "sensitive" in the API will not
  3047  // be included in the string output. The member name will be present, but the
  3048  // value will be replaced with "sensitive".
  3049  func (s AddProfileKeyOutput) GoString() string {
  3050  	return s.String()
  3051  }
  3052  
  3053  // SetKeyName sets the KeyName field's value.
  3054  func (s *AddProfileKeyOutput) SetKeyName(v string) *AddProfileKeyOutput {
  3055  	s.KeyName = &v
  3056  	return s
  3057  }
  3058  
  3059  // SetValues sets the Values field's value.
  3060  func (s *AddProfileKeyOutput) SetValues(v []*string) *AddProfileKeyOutput {
  3061  	s.Values = v
  3062  	return s
  3063  }
  3064  
  3065  // A generic address associated with the customer that is not mailing, shipping,
  3066  // or billing.
  3067  type Address struct {
  3068  	_ struct{} `type:"structure"`
  3069  
  3070  	// The first line of a customer address.
  3071  	Address1 *string `min:"1" type:"string"`
  3072  
  3073  	// The second line of a customer address.
  3074  	Address2 *string `min:"1" type:"string"`
  3075  
  3076  	// The third line of a customer address.
  3077  	Address3 *string `min:"1" type:"string"`
  3078  
  3079  	// The fourth line of a customer address.
  3080  	Address4 *string `min:"1" type:"string"`
  3081  
  3082  	// The city in which a customer lives.
  3083  	City *string `min:"1" type:"string"`
  3084  
  3085  	// The country in which a customer lives.
  3086  	Country *string `min:"1" type:"string"`
  3087  
  3088  	// The county in which a customer lives.
  3089  	County *string `min:"1" type:"string"`
  3090  
  3091  	// The postal code of a customer address.
  3092  	PostalCode *string `min:"1" type:"string"`
  3093  
  3094  	// The province in which a customer lives.
  3095  	Province *string `min:"1" type:"string"`
  3096  
  3097  	// The state in which a customer lives.
  3098  	State *string `min:"1" type:"string"`
  3099  }
  3100  
  3101  // String returns the string representation.
  3102  //
  3103  // API parameter values that are decorated as "sensitive" in the API will not
  3104  // be included in the string output. The member name will be present, but the
  3105  // value will be replaced with "sensitive".
  3106  func (s Address) String() string {
  3107  	return awsutil.Prettify(s)
  3108  }
  3109  
  3110  // GoString returns the string representation.
  3111  //
  3112  // API parameter values that are decorated as "sensitive" in the API will not
  3113  // be included in the string output. The member name will be present, but the
  3114  // value will be replaced with "sensitive".
  3115  func (s Address) GoString() string {
  3116  	return s.String()
  3117  }
  3118  
  3119  // Validate inspects the fields of the type to determine if they are valid.
  3120  func (s *Address) Validate() error {
  3121  	invalidParams := request.ErrInvalidParams{Context: "Address"}
  3122  	if s.Address1 != nil && len(*s.Address1) < 1 {
  3123  		invalidParams.Add(request.NewErrParamMinLen("Address1", 1))
  3124  	}
  3125  	if s.Address2 != nil && len(*s.Address2) < 1 {
  3126  		invalidParams.Add(request.NewErrParamMinLen("Address2", 1))
  3127  	}
  3128  	if s.Address3 != nil && len(*s.Address3) < 1 {
  3129  		invalidParams.Add(request.NewErrParamMinLen("Address3", 1))
  3130  	}
  3131  	if s.Address4 != nil && len(*s.Address4) < 1 {
  3132  		invalidParams.Add(request.NewErrParamMinLen("Address4", 1))
  3133  	}
  3134  	if s.City != nil && len(*s.City) < 1 {
  3135  		invalidParams.Add(request.NewErrParamMinLen("City", 1))
  3136  	}
  3137  	if s.Country != nil && len(*s.Country) < 1 {
  3138  		invalidParams.Add(request.NewErrParamMinLen("Country", 1))
  3139  	}
  3140  	if s.County != nil && len(*s.County) < 1 {
  3141  		invalidParams.Add(request.NewErrParamMinLen("County", 1))
  3142  	}
  3143  	if s.PostalCode != nil && len(*s.PostalCode) < 1 {
  3144  		invalidParams.Add(request.NewErrParamMinLen("PostalCode", 1))
  3145  	}
  3146  	if s.Province != nil && len(*s.Province) < 1 {
  3147  		invalidParams.Add(request.NewErrParamMinLen("Province", 1))
  3148  	}
  3149  	if s.State != nil && len(*s.State) < 1 {
  3150  		invalidParams.Add(request.NewErrParamMinLen("State", 1))
  3151  	}
  3152  
  3153  	if invalidParams.Len() > 0 {
  3154  		return invalidParams
  3155  	}
  3156  	return nil
  3157  }
  3158  
  3159  // SetAddress1 sets the Address1 field's value.
  3160  func (s *Address) SetAddress1(v string) *Address {
  3161  	s.Address1 = &v
  3162  	return s
  3163  }
  3164  
  3165  // SetAddress2 sets the Address2 field's value.
  3166  func (s *Address) SetAddress2(v string) *Address {
  3167  	s.Address2 = &v
  3168  	return s
  3169  }
  3170  
  3171  // SetAddress3 sets the Address3 field's value.
  3172  func (s *Address) SetAddress3(v string) *Address {
  3173  	s.Address3 = &v
  3174  	return s
  3175  }
  3176  
  3177  // SetAddress4 sets the Address4 field's value.
  3178  func (s *Address) SetAddress4(v string) *Address {
  3179  	s.Address4 = &v
  3180  	return s
  3181  }
  3182  
  3183  // SetCity sets the City field's value.
  3184  func (s *Address) SetCity(v string) *Address {
  3185  	s.City = &v
  3186  	return s
  3187  }
  3188  
  3189  // SetCountry sets the Country field's value.
  3190  func (s *Address) SetCountry(v string) *Address {
  3191  	s.Country = &v
  3192  	return s
  3193  }
  3194  
  3195  // SetCounty sets the County field's value.
  3196  func (s *Address) SetCounty(v string) *Address {
  3197  	s.County = &v
  3198  	return s
  3199  }
  3200  
  3201  // SetPostalCode sets the PostalCode field's value.
  3202  func (s *Address) SetPostalCode(v string) *Address {
  3203  	s.PostalCode = &v
  3204  	return s
  3205  }
  3206  
  3207  // SetProvince sets the Province field's value.
  3208  func (s *Address) SetProvince(v string) *Address {
  3209  	s.Province = &v
  3210  	return s
  3211  }
  3212  
  3213  // SetState sets the State field's value.
  3214  func (s *Address) SetState(v string) *Address {
  3215  	s.State = &v
  3216  	return s
  3217  }
  3218  
  3219  // The input you provided is invalid.
  3220  type BadRequestException struct {
  3221  	_            struct{}                  `type:"structure"`
  3222  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3223  
  3224  	Message_ *string `locationName:"Message" type:"string"`
  3225  }
  3226  
  3227  // String returns the string representation.
  3228  //
  3229  // API parameter values that are decorated as "sensitive" in the API will not
  3230  // be included in the string output. The member name will be present, but the
  3231  // value will be replaced with "sensitive".
  3232  func (s BadRequestException) String() string {
  3233  	return awsutil.Prettify(s)
  3234  }
  3235  
  3236  // GoString returns the string representation.
  3237  //
  3238  // API parameter values that are decorated as "sensitive" in the API will not
  3239  // be included in the string output. The member name will be present, but the
  3240  // value will be replaced with "sensitive".
  3241  func (s BadRequestException) GoString() string {
  3242  	return s.String()
  3243  }
  3244  
  3245  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  3246  	return &BadRequestException{
  3247  		RespMetadata: v,
  3248  	}
  3249  }
  3250  
  3251  // Code returns the exception type name.
  3252  func (s *BadRequestException) Code() string {
  3253  	return "BadRequestException"
  3254  }
  3255  
  3256  // Message returns the exception's message.
  3257  func (s *BadRequestException) Message() string {
  3258  	if s.Message_ != nil {
  3259  		return *s.Message_
  3260  	}
  3261  	return ""
  3262  }
  3263  
  3264  // OrigErr always returns nil, satisfies awserr.Error interface.
  3265  func (s *BadRequestException) OrigErr() error {
  3266  	return nil
  3267  }
  3268  
  3269  func (s *BadRequestException) Error() string {
  3270  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3271  }
  3272  
  3273  // Status code returns the HTTP status code for the request's response error.
  3274  func (s *BadRequestException) StatusCode() int {
  3275  	return s.RespMetadata.StatusCode
  3276  }
  3277  
  3278  // RequestID returns the service's response RequestID for request.
  3279  func (s *BadRequestException) RequestID() string {
  3280  	return s.RespMetadata.RequestID
  3281  }
  3282  
  3283  // The operation to be performed on the provided source fields.
  3284  type ConnectorOperator struct {
  3285  	_ struct{} `type:"structure"`
  3286  
  3287  	// The operation to be performed on the provided Marketo source fields.
  3288  	Marketo *string `type:"string" enum:"MarketoConnectorOperator"`
  3289  
  3290  	// The operation to be performed on the provided Amazon S3 source fields.
  3291  	S3 *string `type:"string" enum:"S3ConnectorOperator"`
  3292  
  3293  	// The operation to be performed on the provided Salesforce source fields.
  3294  	Salesforce *string `type:"string" enum:"SalesforceConnectorOperator"`
  3295  
  3296  	// The operation to be performed on the provided ServiceNow source fields.
  3297  	ServiceNow *string `type:"string" enum:"ServiceNowConnectorOperator"`
  3298  
  3299  	// The operation to be performed on the provided Zendesk source fields.
  3300  	Zendesk *string `type:"string" enum:"ZendeskConnectorOperator"`
  3301  }
  3302  
  3303  // String returns the string representation.
  3304  //
  3305  // API parameter values that are decorated as "sensitive" in the API will not
  3306  // be included in the string output. The member name will be present, but the
  3307  // value will be replaced with "sensitive".
  3308  func (s ConnectorOperator) String() string {
  3309  	return awsutil.Prettify(s)
  3310  }
  3311  
  3312  // GoString returns the string representation.
  3313  //
  3314  // API parameter values that are decorated as "sensitive" in the API will not
  3315  // be included in the string output. The member name will be present, but the
  3316  // value will be replaced with "sensitive".
  3317  func (s ConnectorOperator) GoString() string {
  3318  	return s.String()
  3319  }
  3320  
  3321  // SetMarketo sets the Marketo field's value.
  3322  func (s *ConnectorOperator) SetMarketo(v string) *ConnectorOperator {
  3323  	s.Marketo = &v
  3324  	return s
  3325  }
  3326  
  3327  // SetS3 sets the S3 field's value.
  3328  func (s *ConnectorOperator) SetS3(v string) *ConnectorOperator {
  3329  	s.S3 = &v
  3330  	return s
  3331  }
  3332  
  3333  // SetSalesforce sets the Salesforce field's value.
  3334  func (s *ConnectorOperator) SetSalesforce(v string) *ConnectorOperator {
  3335  	s.Salesforce = &v
  3336  	return s
  3337  }
  3338  
  3339  // SetServiceNow sets the ServiceNow field's value.
  3340  func (s *ConnectorOperator) SetServiceNow(v string) *ConnectorOperator {
  3341  	s.ServiceNow = &v
  3342  	return s
  3343  }
  3344  
  3345  // SetZendesk sets the Zendesk field's value.
  3346  func (s *ConnectorOperator) SetZendesk(v string) *ConnectorOperator {
  3347  	s.Zendesk = &v
  3348  	return s
  3349  }
  3350  
  3351  type CreateDomainInput struct {
  3352  	_ struct{} `type:"structure"`
  3353  
  3354  	// The URL of the SQS dead letter queue, which is used for reporting errors
  3355  	// associated with ingesting data from third party applications. You must set
  3356  	// up a policy on the DeadLetterQueue for the SendMessage operation to enable
  3357  	// Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.
  3358  	DeadLetterQueueUrl *string `type:"string"`
  3359  
  3360  	// The default encryption key, which is an AWS managed key, is used when no
  3361  	// specific type of encryption key is specified. It is used to encrypt all data
  3362  	// before it is placed in permanent or semi-permanent storage.
  3363  	DefaultEncryptionKey *string `type:"string"`
  3364  
  3365  	// The default number of days until the data within the domain expires.
  3366  	//
  3367  	// DefaultExpirationDays is a required field
  3368  	DefaultExpirationDays *int64 `min:"1" type:"integer" required:"true"`
  3369  
  3370  	// The unique name of the domain.
  3371  	//
  3372  	// DomainName is a required field
  3373  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  3374  
  3375  	// The process of matching duplicate profiles. If Matching = true, Amazon Connect
  3376  	// Customer Profiles starts a weekly batch process every Saturday at 12AM UTC
  3377  	// to detect duplicate profiles in your domains. After that batch process completes,
  3378  	// use the GetMatches (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html)
  3379  	// API to return and review the results.
  3380  	Matching *MatchingRequest `type:"structure"`
  3381  
  3382  	// The tags used to organize, track, or control access for this resource.
  3383  	Tags map[string]*string `min:"1" type:"map"`
  3384  }
  3385  
  3386  // String returns the string representation.
  3387  //
  3388  // API parameter values that are decorated as "sensitive" in the API will not
  3389  // be included in the string output. The member name will be present, but the
  3390  // value will be replaced with "sensitive".
  3391  func (s CreateDomainInput) String() string {
  3392  	return awsutil.Prettify(s)
  3393  }
  3394  
  3395  // GoString returns the string representation.
  3396  //
  3397  // API parameter values that are decorated as "sensitive" in the API will not
  3398  // be included in the string output. The member name will be present, but the
  3399  // value will be replaced with "sensitive".
  3400  func (s CreateDomainInput) GoString() string {
  3401  	return s.String()
  3402  }
  3403  
  3404  // Validate inspects the fields of the type to determine if they are valid.
  3405  func (s *CreateDomainInput) Validate() error {
  3406  	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
  3407  	if s.DefaultExpirationDays == nil {
  3408  		invalidParams.Add(request.NewErrParamRequired("DefaultExpirationDays"))
  3409  	}
  3410  	if s.DefaultExpirationDays != nil && *s.DefaultExpirationDays < 1 {
  3411  		invalidParams.Add(request.NewErrParamMinValue("DefaultExpirationDays", 1))
  3412  	}
  3413  	if s.DomainName == nil {
  3414  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  3415  	}
  3416  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  3417  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  3418  	}
  3419  	if s.Tags != nil && len(s.Tags) < 1 {
  3420  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  3421  	}
  3422  	if s.Matching != nil {
  3423  		if err := s.Matching.Validate(); err != nil {
  3424  			invalidParams.AddNested("Matching", err.(request.ErrInvalidParams))
  3425  		}
  3426  	}
  3427  
  3428  	if invalidParams.Len() > 0 {
  3429  		return invalidParams
  3430  	}
  3431  	return nil
  3432  }
  3433  
  3434  // SetDeadLetterQueueUrl sets the DeadLetterQueueUrl field's value.
  3435  func (s *CreateDomainInput) SetDeadLetterQueueUrl(v string) *CreateDomainInput {
  3436  	s.DeadLetterQueueUrl = &v
  3437  	return s
  3438  }
  3439  
  3440  // SetDefaultEncryptionKey sets the DefaultEncryptionKey field's value.
  3441  func (s *CreateDomainInput) SetDefaultEncryptionKey(v string) *CreateDomainInput {
  3442  	s.DefaultEncryptionKey = &v
  3443  	return s
  3444  }
  3445  
  3446  // SetDefaultExpirationDays sets the DefaultExpirationDays field's value.
  3447  func (s *CreateDomainInput) SetDefaultExpirationDays(v int64) *CreateDomainInput {
  3448  	s.DefaultExpirationDays = &v
  3449  	return s
  3450  }
  3451  
  3452  // SetDomainName sets the DomainName field's value.
  3453  func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
  3454  	s.DomainName = &v
  3455  	return s
  3456  }
  3457  
  3458  // SetMatching sets the Matching field's value.
  3459  func (s *CreateDomainInput) SetMatching(v *MatchingRequest) *CreateDomainInput {
  3460  	s.Matching = v
  3461  	return s
  3462  }
  3463  
  3464  // SetTags sets the Tags field's value.
  3465  func (s *CreateDomainInput) SetTags(v map[string]*string) *CreateDomainInput {
  3466  	s.Tags = v
  3467  	return s
  3468  }
  3469  
  3470  type CreateDomainOutput struct {
  3471  	_ struct{} `type:"structure"`
  3472  
  3473  	// The timestamp of when the domain was created.
  3474  	//
  3475  	// CreatedAt is a required field
  3476  	CreatedAt *time.Time `type:"timestamp" required:"true"`
  3477  
  3478  	// The URL of the SQS dead letter queue, which is used for reporting errors
  3479  	// associated with ingesting data from third party applications.
  3480  	DeadLetterQueueUrl *string `type:"string"`
  3481  
  3482  	// The default encryption key, which is an AWS managed key, is used when no
  3483  	// specific type of encryption key is specified. It is used to encrypt all data
  3484  	// before it is placed in permanent or semi-permanent storage.
  3485  	DefaultEncryptionKey *string `type:"string"`
  3486  
  3487  	// The default number of days until the data within the domain expires.
  3488  	//
  3489  	// DefaultExpirationDays is a required field
  3490  	DefaultExpirationDays *int64 `min:"1" type:"integer" required:"true"`
  3491  
  3492  	// The unique name of the domain.
  3493  	//
  3494  	// DomainName is a required field
  3495  	DomainName *string `min:"1" type:"string" required:"true"`
  3496  
  3497  	// The timestamp of when the domain was most recently edited.
  3498  	//
  3499  	// LastUpdatedAt is a required field
  3500  	LastUpdatedAt *time.Time `type:"timestamp" required:"true"`
  3501  
  3502  	// The process of matching duplicate profiles. If Matching = true, Amazon Connect
  3503  	// Customer Profiles starts a weekly batch process every Saturday at 12AM UTC
  3504  	// to detect duplicate profiles in your domains. After that batch process completes,
  3505  	// use the GetMatches (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html)
  3506  	// API to return and review the results.
  3507  	Matching *MatchingResponse `type:"structure"`
  3508  
  3509  	// The tags used to organize, track, or control access for this resource.
  3510  	Tags map[string]*string `min:"1" type:"map"`
  3511  }
  3512  
  3513  // String returns the string representation.
  3514  //
  3515  // API parameter values that are decorated as "sensitive" in the API will not
  3516  // be included in the string output. The member name will be present, but the
  3517  // value will be replaced with "sensitive".
  3518  func (s CreateDomainOutput) String() string {
  3519  	return awsutil.Prettify(s)
  3520  }
  3521  
  3522  // GoString returns the string representation.
  3523  //
  3524  // API parameter values that are decorated as "sensitive" in the API will not
  3525  // be included in the string output. The member name will be present, but the
  3526  // value will be replaced with "sensitive".
  3527  func (s CreateDomainOutput) GoString() string {
  3528  	return s.String()
  3529  }
  3530  
  3531  // SetCreatedAt sets the CreatedAt field's value.
  3532  func (s *CreateDomainOutput) SetCreatedAt(v time.Time) *CreateDomainOutput {
  3533  	s.CreatedAt = &v
  3534  	return s
  3535  }
  3536  
  3537  // SetDeadLetterQueueUrl sets the DeadLetterQueueUrl field's value.
  3538  func (s *CreateDomainOutput) SetDeadLetterQueueUrl(v string) *CreateDomainOutput {
  3539  	s.DeadLetterQueueUrl = &v
  3540  	return s
  3541  }
  3542  
  3543  // SetDefaultEncryptionKey sets the DefaultEncryptionKey field's value.
  3544  func (s *CreateDomainOutput) SetDefaultEncryptionKey(v string) *CreateDomainOutput {
  3545  	s.DefaultEncryptionKey = &v
  3546  	return s
  3547  }
  3548  
  3549  // SetDefaultExpirationDays sets the DefaultExpirationDays field's value.
  3550  func (s *CreateDomainOutput) SetDefaultExpirationDays(v int64) *CreateDomainOutput {
  3551  	s.DefaultExpirationDays = &v
  3552  	return s
  3553  }
  3554  
  3555  // SetDomainName sets the DomainName field's value.
  3556  func (s *CreateDomainOutput) SetDomainName(v string) *CreateDomainOutput {
  3557  	s.DomainName = &v
  3558  	return s
  3559  }
  3560  
  3561  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  3562  func (s *CreateDomainOutput) SetLastUpdatedAt(v time.Time) *CreateDomainOutput {
  3563  	s.LastUpdatedAt = &v
  3564  	return s
  3565  }
  3566  
  3567  // SetMatching sets the Matching field's value.
  3568  func (s *CreateDomainOutput) SetMatching(v *MatchingResponse) *CreateDomainOutput {
  3569  	s.Matching = v
  3570  	return s
  3571  }
  3572  
  3573  // SetTags sets the Tags field's value.
  3574  func (s *CreateDomainOutput) SetTags(v map[string]*string) *CreateDomainOutput {
  3575  	s.Tags = v
  3576  	return s
  3577  }
  3578  
  3579  type CreateProfileInput struct {
  3580  	_ struct{} `type:"structure"`
  3581  
  3582  	// A unique account number that you have given to the customer.
  3583  	AccountNumber *string `min:"1" type:"string"`
  3584  
  3585  	// Any additional information relevant to the customer’s profile.
  3586  	AdditionalInformation *string `min:"1" type:"string"`
  3587  
  3588  	// A generic address associated with the customer that is not mailing, shipping,
  3589  	// or billing.
  3590  	Address *Address `type:"structure"`
  3591  
  3592  	// A key value pair of attributes of a customer profile.
  3593  	Attributes map[string]*string `type:"map"`
  3594  
  3595  	// The customer’s billing address.
  3596  	BillingAddress *Address `type:"structure"`
  3597  
  3598  	// The customer’s birth date.
  3599  	BirthDate *string `min:"1" type:"string"`
  3600  
  3601  	// The customer’s business email address.
  3602  	BusinessEmailAddress *string `min:"1" type:"string"`
  3603  
  3604  	// The name of the customer’s business.
  3605  	BusinessName *string `min:"1" type:"string"`
  3606  
  3607  	// The customer’s business phone number.
  3608  	BusinessPhoneNumber *string `min:"1" type:"string"`
  3609  
  3610  	// The unique name of the domain.
  3611  	//
  3612  	// DomainName is a required field
  3613  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  3614  
  3615  	// The customer’s email address, which has not been specified as a personal
  3616  	// or business address.
  3617  	EmailAddress *string `min:"1" type:"string"`
  3618  
  3619  	// The customer’s first name.
  3620  	FirstName *string `min:"1" type:"string"`
  3621  
  3622  	// The gender with which the customer identifies.
  3623  	Gender *string `type:"string" enum:"Gender"`
  3624  
  3625  	// The customer’s home phone number.
  3626  	HomePhoneNumber *string `min:"1" type:"string"`
  3627  
  3628  	// The customer’s last name.
  3629  	LastName *string `min:"1" type:"string"`
  3630  
  3631  	// The customer’s mailing address.
  3632  	MailingAddress *Address `type:"structure"`
  3633  
  3634  	// The customer’s middle name.
  3635  	MiddleName *string `min:"1" type:"string"`
  3636  
  3637  	// The customer’s mobile phone number.
  3638  	MobilePhoneNumber *string `min:"1" type:"string"`
  3639  
  3640  	// The type of profile used to describe the customer.
  3641  	PartyType *string `type:"string" enum:"PartyType"`
  3642  
  3643  	// The customer’s personal email address.
  3644  	PersonalEmailAddress *string `min:"1" type:"string"`
  3645  
  3646  	// The customer’s phone number, which has not been specified as a mobile,
  3647  	// home, or business number.
  3648  	PhoneNumber *string `min:"1" type:"string"`
  3649  
  3650  	// The customer’s shipping address.
  3651  	ShippingAddress *Address `type:"structure"`
  3652  }
  3653  
  3654  // String returns the string representation.
  3655  //
  3656  // API parameter values that are decorated as "sensitive" in the API will not
  3657  // be included in the string output. The member name will be present, but the
  3658  // value will be replaced with "sensitive".
  3659  func (s CreateProfileInput) String() string {
  3660  	return awsutil.Prettify(s)
  3661  }
  3662  
  3663  // GoString returns the string representation.
  3664  //
  3665  // API parameter values that are decorated as "sensitive" in the API will not
  3666  // be included in the string output. The member name will be present, but the
  3667  // value will be replaced with "sensitive".
  3668  func (s CreateProfileInput) GoString() string {
  3669  	return s.String()
  3670  }
  3671  
  3672  // Validate inspects the fields of the type to determine if they are valid.
  3673  func (s *CreateProfileInput) Validate() error {
  3674  	invalidParams := request.ErrInvalidParams{Context: "CreateProfileInput"}
  3675  	if s.AccountNumber != nil && len(*s.AccountNumber) < 1 {
  3676  		invalidParams.Add(request.NewErrParamMinLen("AccountNumber", 1))
  3677  	}
  3678  	if s.AdditionalInformation != nil && len(*s.AdditionalInformation) < 1 {
  3679  		invalidParams.Add(request.NewErrParamMinLen("AdditionalInformation", 1))
  3680  	}
  3681  	if s.BirthDate != nil && len(*s.BirthDate) < 1 {
  3682  		invalidParams.Add(request.NewErrParamMinLen("BirthDate", 1))
  3683  	}
  3684  	if s.BusinessEmailAddress != nil && len(*s.BusinessEmailAddress) < 1 {
  3685  		invalidParams.Add(request.NewErrParamMinLen("BusinessEmailAddress", 1))
  3686  	}
  3687  	if s.BusinessName != nil && len(*s.BusinessName) < 1 {
  3688  		invalidParams.Add(request.NewErrParamMinLen("BusinessName", 1))
  3689  	}
  3690  	if s.BusinessPhoneNumber != nil && len(*s.BusinessPhoneNumber) < 1 {
  3691  		invalidParams.Add(request.NewErrParamMinLen("BusinessPhoneNumber", 1))
  3692  	}
  3693  	if s.DomainName == nil {
  3694  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  3695  	}
  3696  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  3697  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  3698  	}
  3699  	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
  3700  		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
  3701  	}
  3702  	if s.FirstName != nil && len(*s.FirstName) < 1 {
  3703  		invalidParams.Add(request.NewErrParamMinLen("FirstName", 1))
  3704  	}
  3705  	if s.HomePhoneNumber != nil && len(*s.HomePhoneNumber) < 1 {
  3706  		invalidParams.Add(request.NewErrParamMinLen("HomePhoneNumber", 1))
  3707  	}
  3708  	if s.LastName != nil && len(*s.LastName) < 1 {
  3709  		invalidParams.Add(request.NewErrParamMinLen("LastName", 1))
  3710  	}
  3711  	if s.MiddleName != nil && len(*s.MiddleName) < 1 {
  3712  		invalidParams.Add(request.NewErrParamMinLen("MiddleName", 1))
  3713  	}
  3714  	if s.MobilePhoneNumber != nil && len(*s.MobilePhoneNumber) < 1 {
  3715  		invalidParams.Add(request.NewErrParamMinLen("MobilePhoneNumber", 1))
  3716  	}
  3717  	if s.PersonalEmailAddress != nil && len(*s.PersonalEmailAddress) < 1 {
  3718  		invalidParams.Add(request.NewErrParamMinLen("PersonalEmailAddress", 1))
  3719  	}
  3720  	if s.PhoneNumber != nil && len(*s.PhoneNumber) < 1 {
  3721  		invalidParams.Add(request.NewErrParamMinLen("PhoneNumber", 1))
  3722  	}
  3723  	if s.Address != nil {
  3724  		if err := s.Address.Validate(); err != nil {
  3725  			invalidParams.AddNested("Address", err.(request.ErrInvalidParams))
  3726  		}
  3727  	}
  3728  	if s.BillingAddress != nil {
  3729  		if err := s.BillingAddress.Validate(); err != nil {
  3730  			invalidParams.AddNested("BillingAddress", err.(request.ErrInvalidParams))
  3731  		}
  3732  	}
  3733  	if s.MailingAddress != nil {
  3734  		if err := s.MailingAddress.Validate(); err != nil {
  3735  			invalidParams.AddNested("MailingAddress", err.(request.ErrInvalidParams))
  3736  		}
  3737  	}
  3738  	if s.ShippingAddress != nil {
  3739  		if err := s.ShippingAddress.Validate(); err != nil {
  3740  			invalidParams.AddNested("ShippingAddress", err.(request.ErrInvalidParams))
  3741  		}
  3742  	}
  3743  
  3744  	if invalidParams.Len() > 0 {
  3745  		return invalidParams
  3746  	}
  3747  	return nil
  3748  }
  3749  
  3750  // SetAccountNumber sets the AccountNumber field's value.
  3751  func (s *CreateProfileInput) SetAccountNumber(v string) *CreateProfileInput {
  3752  	s.AccountNumber = &v
  3753  	return s
  3754  }
  3755  
  3756  // SetAdditionalInformation sets the AdditionalInformation field's value.
  3757  func (s *CreateProfileInput) SetAdditionalInformation(v string) *CreateProfileInput {
  3758  	s.AdditionalInformation = &v
  3759  	return s
  3760  }
  3761  
  3762  // SetAddress sets the Address field's value.
  3763  func (s *CreateProfileInput) SetAddress(v *Address) *CreateProfileInput {
  3764  	s.Address = v
  3765  	return s
  3766  }
  3767  
  3768  // SetAttributes sets the Attributes field's value.
  3769  func (s *CreateProfileInput) SetAttributes(v map[string]*string) *CreateProfileInput {
  3770  	s.Attributes = v
  3771  	return s
  3772  }
  3773  
  3774  // SetBillingAddress sets the BillingAddress field's value.
  3775  func (s *CreateProfileInput) SetBillingAddress(v *Address) *CreateProfileInput {
  3776  	s.BillingAddress = v
  3777  	return s
  3778  }
  3779  
  3780  // SetBirthDate sets the BirthDate field's value.
  3781  func (s *CreateProfileInput) SetBirthDate(v string) *CreateProfileInput {
  3782  	s.BirthDate = &v
  3783  	return s
  3784  }
  3785  
  3786  // SetBusinessEmailAddress sets the BusinessEmailAddress field's value.
  3787  func (s *CreateProfileInput) SetBusinessEmailAddress(v string) *CreateProfileInput {
  3788  	s.BusinessEmailAddress = &v
  3789  	return s
  3790  }
  3791  
  3792  // SetBusinessName sets the BusinessName field's value.
  3793  func (s *CreateProfileInput) SetBusinessName(v string) *CreateProfileInput {
  3794  	s.BusinessName = &v
  3795  	return s
  3796  }
  3797  
  3798  // SetBusinessPhoneNumber sets the BusinessPhoneNumber field's value.
  3799  func (s *CreateProfileInput) SetBusinessPhoneNumber(v string) *CreateProfileInput {
  3800  	s.BusinessPhoneNumber = &v
  3801  	return s
  3802  }
  3803  
  3804  // SetDomainName sets the DomainName field's value.
  3805  func (s *CreateProfileInput) SetDomainName(v string) *CreateProfileInput {
  3806  	s.DomainName = &v
  3807  	return s
  3808  }
  3809  
  3810  // SetEmailAddress sets the EmailAddress field's value.
  3811  func (s *CreateProfileInput) SetEmailAddress(v string) *CreateProfileInput {
  3812  	s.EmailAddress = &v
  3813  	return s
  3814  }
  3815  
  3816  // SetFirstName sets the FirstName field's value.
  3817  func (s *CreateProfileInput) SetFirstName(v string) *CreateProfileInput {
  3818  	s.FirstName = &v
  3819  	return s
  3820  }
  3821  
  3822  // SetGender sets the Gender field's value.
  3823  func (s *CreateProfileInput) SetGender(v string) *CreateProfileInput {
  3824  	s.Gender = &v
  3825  	return s
  3826  }
  3827  
  3828  // SetHomePhoneNumber sets the HomePhoneNumber field's value.
  3829  func (s *CreateProfileInput) SetHomePhoneNumber(v string) *CreateProfileInput {
  3830  	s.HomePhoneNumber = &v
  3831  	return s
  3832  }
  3833  
  3834  // SetLastName sets the LastName field's value.
  3835  func (s *CreateProfileInput) SetLastName(v string) *CreateProfileInput {
  3836  	s.LastName = &v
  3837  	return s
  3838  }
  3839  
  3840  // SetMailingAddress sets the MailingAddress field's value.
  3841  func (s *CreateProfileInput) SetMailingAddress(v *Address) *CreateProfileInput {
  3842  	s.MailingAddress = v
  3843  	return s
  3844  }
  3845  
  3846  // SetMiddleName sets the MiddleName field's value.
  3847  func (s *CreateProfileInput) SetMiddleName(v string) *CreateProfileInput {
  3848  	s.MiddleName = &v
  3849  	return s
  3850  }
  3851  
  3852  // SetMobilePhoneNumber sets the MobilePhoneNumber field's value.
  3853  func (s *CreateProfileInput) SetMobilePhoneNumber(v string) *CreateProfileInput {
  3854  	s.MobilePhoneNumber = &v
  3855  	return s
  3856  }
  3857  
  3858  // SetPartyType sets the PartyType field's value.
  3859  func (s *CreateProfileInput) SetPartyType(v string) *CreateProfileInput {
  3860  	s.PartyType = &v
  3861  	return s
  3862  }
  3863  
  3864  // SetPersonalEmailAddress sets the PersonalEmailAddress field's value.
  3865  func (s *CreateProfileInput) SetPersonalEmailAddress(v string) *CreateProfileInput {
  3866  	s.PersonalEmailAddress = &v
  3867  	return s
  3868  }
  3869  
  3870  // SetPhoneNumber sets the PhoneNumber field's value.
  3871  func (s *CreateProfileInput) SetPhoneNumber(v string) *CreateProfileInput {
  3872  	s.PhoneNumber = &v
  3873  	return s
  3874  }
  3875  
  3876  // SetShippingAddress sets the ShippingAddress field's value.
  3877  func (s *CreateProfileInput) SetShippingAddress(v *Address) *CreateProfileInput {
  3878  	s.ShippingAddress = v
  3879  	return s
  3880  }
  3881  
  3882  type CreateProfileOutput struct {
  3883  	_ struct{} `type:"structure"`
  3884  
  3885  	// The unique identifier of a customer profile.
  3886  	//
  3887  	// ProfileId is a required field
  3888  	ProfileId *string `type:"string" required:"true"`
  3889  }
  3890  
  3891  // String returns the string representation.
  3892  //
  3893  // API parameter values that are decorated as "sensitive" in the API will not
  3894  // be included in the string output. The member name will be present, but the
  3895  // value will be replaced with "sensitive".
  3896  func (s CreateProfileOutput) String() string {
  3897  	return awsutil.Prettify(s)
  3898  }
  3899  
  3900  // GoString returns the string representation.
  3901  //
  3902  // API parameter values that are decorated as "sensitive" in the API will not
  3903  // be included in the string output. The member name will be present, but the
  3904  // value will be replaced with "sensitive".
  3905  func (s CreateProfileOutput) GoString() string {
  3906  	return s.String()
  3907  }
  3908  
  3909  // SetProfileId sets the ProfileId field's value.
  3910  func (s *CreateProfileOutput) SetProfileId(v string) *CreateProfileOutput {
  3911  	s.ProfileId = &v
  3912  	return s
  3913  }
  3914  
  3915  type DeleteDomainInput struct {
  3916  	_ struct{} `type:"structure" nopayload:"true"`
  3917  
  3918  	// The unique name of the domain.
  3919  	//
  3920  	// DomainName is a required field
  3921  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  3922  }
  3923  
  3924  // String returns the string representation.
  3925  //
  3926  // API parameter values that are decorated as "sensitive" in the API will not
  3927  // be included in the string output. The member name will be present, but the
  3928  // value will be replaced with "sensitive".
  3929  func (s DeleteDomainInput) String() string {
  3930  	return awsutil.Prettify(s)
  3931  }
  3932  
  3933  // GoString returns the string representation.
  3934  //
  3935  // API parameter values that are decorated as "sensitive" in the API will not
  3936  // be included in the string output. The member name will be present, but the
  3937  // value will be replaced with "sensitive".
  3938  func (s DeleteDomainInput) GoString() string {
  3939  	return s.String()
  3940  }
  3941  
  3942  // Validate inspects the fields of the type to determine if they are valid.
  3943  func (s *DeleteDomainInput) Validate() error {
  3944  	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
  3945  	if s.DomainName == nil {
  3946  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  3947  	}
  3948  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  3949  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  3950  	}
  3951  
  3952  	if invalidParams.Len() > 0 {
  3953  		return invalidParams
  3954  	}
  3955  	return nil
  3956  }
  3957  
  3958  // SetDomainName sets the DomainName field's value.
  3959  func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
  3960  	s.DomainName = &v
  3961  	return s
  3962  }
  3963  
  3964  type DeleteDomainOutput struct {
  3965  	_ struct{} `type:"structure"`
  3966  
  3967  	// A message that indicates the delete request is done.
  3968  	//
  3969  	// Message is a required field
  3970  	Message *string `type:"string" required:"true"`
  3971  }
  3972  
  3973  // String returns the string representation.
  3974  //
  3975  // API parameter values that are decorated as "sensitive" in the API will not
  3976  // be included in the string output. The member name will be present, but the
  3977  // value will be replaced with "sensitive".
  3978  func (s DeleteDomainOutput) String() string {
  3979  	return awsutil.Prettify(s)
  3980  }
  3981  
  3982  // GoString returns the string representation.
  3983  //
  3984  // API parameter values that are decorated as "sensitive" in the API will not
  3985  // be included in the string output. The member name will be present, but the
  3986  // value will be replaced with "sensitive".
  3987  func (s DeleteDomainOutput) GoString() string {
  3988  	return s.String()
  3989  }
  3990  
  3991  // SetMessage sets the Message field's value.
  3992  func (s *DeleteDomainOutput) SetMessage(v string) *DeleteDomainOutput {
  3993  	s.Message = &v
  3994  	return s
  3995  }
  3996  
  3997  type DeleteIntegrationInput struct {
  3998  	_ struct{} `type:"structure"`
  3999  
  4000  	// The unique name of the domain.
  4001  	//
  4002  	// DomainName is a required field
  4003  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  4004  
  4005  	// The URI of the S3 bucket or any other type of data source.
  4006  	//
  4007  	// Uri is a required field
  4008  	Uri *string `min:"1" type:"string" required:"true"`
  4009  }
  4010  
  4011  // String returns the string representation.
  4012  //
  4013  // API parameter values that are decorated as "sensitive" in the API will not
  4014  // be included in the string output. The member name will be present, but the
  4015  // value will be replaced with "sensitive".
  4016  func (s DeleteIntegrationInput) String() string {
  4017  	return awsutil.Prettify(s)
  4018  }
  4019  
  4020  // GoString returns the string representation.
  4021  //
  4022  // API parameter values that are decorated as "sensitive" in the API will not
  4023  // be included in the string output. The member name will be present, but the
  4024  // value will be replaced with "sensitive".
  4025  func (s DeleteIntegrationInput) GoString() string {
  4026  	return s.String()
  4027  }
  4028  
  4029  // Validate inspects the fields of the type to determine if they are valid.
  4030  func (s *DeleteIntegrationInput) Validate() error {
  4031  	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationInput"}
  4032  	if s.DomainName == nil {
  4033  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4034  	}
  4035  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  4036  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  4037  	}
  4038  	if s.Uri == nil {
  4039  		invalidParams.Add(request.NewErrParamRequired("Uri"))
  4040  	}
  4041  	if s.Uri != nil && len(*s.Uri) < 1 {
  4042  		invalidParams.Add(request.NewErrParamMinLen("Uri", 1))
  4043  	}
  4044  
  4045  	if invalidParams.Len() > 0 {
  4046  		return invalidParams
  4047  	}
  4048  	return nil
  4049  }
  4050  
  4051  // SetDomainName sets the DomainName field's value.
  4052  func (s *DeleteIntegrationInput) SetDomainName(v string) *DeleteIntegrationInput {
  4053  	s.DomainName = &v
  4054  	return s
  4055  }
  4056  
  4057  // SetUri sets the Uri field's value.
  4058  func (s *DeleteIntegrationInput) SetUri(v string) *DeleteIntegrationInput {
  4059  	s.Uri = &v
  4060  	return s
  4061  }
  4062  
  4063  type DeleteIntegrationOutput struct {
  4064  	_ struct{} `type:"structure"`
  4065  
  4066  	// A message that indicates the delete request is done.
  4067  	//
  4068  	// Message is a required field
  4069  	Message *string `type:"string" required:"true"`
  4070  }
  4071  
  4072  // String returns the string representation.
  4073  //
  4074  // API parameter values that are decorated as "sensitive" in the API will not
  4075  // be included in the string output. The member name will be present, but the
  4076  // value will be replaced with "sensitive".
  4077  func (s DeleteIntegrationOutput) String() string {
  4078  	return awsutil.Prettify(s)
  4079  }
  4080  
  4081  // GoString returns the string representation.
  4082  //
  4083  // API parameter values that are decorated as "sensitive" in the API will not
  4084  // be included in the string output. The member name will be present, but the
  4085  // value will be replaced with "sensitive".
  4086  func (s DeleteIntegrationOutput) GoString() string {
  4087  	return s.String()
  4088  }
  4089  
  4090  // SetMessage sets the Message field's value.
  4091  func (s *DeleteIntegrationOutput) SetMessage(v string) *DeleteIntegrationOutput {
  4092  	s.Message = &v
  4093  	return s
  4094  }
  4095  
  4096  type DeleteProfileInput struct {
  4097  	_ struct{} `type:"structure"`
  4098  
  4099  	// The unique name of the domain.
  4100  	//
  4101  	// DomainName is a required field
  4102  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  4103  
  4104  	// The unique identifier of a customer profile.
  4105  	//
  4106  	// ProfileId is a required field
  4107  	ProfileId *string `type:"string" required:"true"`
  4108  }
  4109  
  4110  // String returns the string representation.
  4111  //
  4112  // API parameter values that are decorated as "sensitive" in the API will not
  4113  // be included in the string output. The member name will be present, but the
  4114  // value will be replaced with "sensitive".
  4115  func (s DeleteProfileInput) String() string {
  4116  	return awsutil.Prettify(s)
  4117  }
  4118  
  4119  // GoString returns the string representation.
  4120  //
  4121  // API parameter values that are decorated as "sensitive" in the API will not
  4122  // be included in the string output. The member name will be present, but the
  4123  // value will be replaced with "sensitive".
  4124  func (s DeleteProfileInput) GoString() string {
  4125  	return s.String()
  4126  }
  4127  
  4128  // Validate inspects the fields of the type to determine if they are valid.
  4129  func (s *DeleteProfileInput) Validate() error {
  4130  	invalidParams := request.ErrInvalidParams{Context: "DeleteProfileInput"}
  4131  	if s.DomainName == nil {
  4132  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4133  	}
  4134  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  4135  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  4136  	}
  4137  	if s.ProfileId == nil {
  4138  		invalidParams.Add(request.NewErrParamRequired("ProfileId"))
  4139  	}
  4140  
  4141  	if invalidParams.Len() > 0 {
  4142  		return invalidParams
  4143  	}
  4144  	return nil
  4145  }
  4146  
  4147  // SetDomainName sets the DomainName field's value.
  4148  func (s *DeleteProfileInput) SetDomainName(v string) *DeleteProfileInput {
  4149  	s.DomainName = &v
  4150  	return s
  4151  }
  4152  
  4153  // SetProfileId sets the ProfileId field's value.
  4154  func (s *DeleteProfileInput) SetProfileId(v string) *DeleteProfileInput {
  4155  	s.ProfileId = &v
  4156  	return s
  4157  }
  4158  
  4159  type DeleteProfileKeyInput struct {
  4160  	_ struct{} `type:"structure"`
  4161  
  4162  	// The unique name of the domain.
  4163  	//
  4164  	// DomainName is a required field
  4165  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  4166  
  4167  	// A searchable identifier of a customer profile.
  4168  	//
  4169  	// KeyName is a required field
  4170  	KeyName *string `min:"1" type:"string" required:"true"`
  4171  
  4172  	// The unique identifier of a customer profile.
  4173  	//
  4174  	// ProfileId is a required field
  4175  	ProfileId *string `type:"string" required:"true"`
  4176  
  4177  	// A list of key values.
  4178  	//
  4179  	// Values is a required field
  4180  	Values []*string `type:"list" required:"true"`
  4181  }
  4182  
  4183  // String returns the string representation.
  4184  //
  4185  // API parameter values that are decorated as "sensitive" in the API will not
  4186  // be included in the string output. The member name will be present, but the
  4187  // value will be replaced with "sensitive".
  4188  func (s DeleteProfileKeyInput) String() string {
  4189  	return awsutil.Prettify(s)
  4190  }
  4191  
  4192  // GoString returns the string representation.
  4193  //
  4194  // API parameter values that are decorated as "sensitive" in the API will not
  4195  // be included in the string output. The member name will be present, but the
  4196  // value will be replaced with "sensitive".
  4197  func (s DeleteProfileKeyInput) GoString() string {
  4198  	return s.String()
  4199  }
  4200  
  4201  // Validate inspects the fields of the type to determine if they are valid.
  4202  func (s *DeleteProfileKeyInput) Validate() error {
  4203  	invalidParams := request.ErrInvalidParams{Context: "DeleteProfileKeyInput"}
  4204  	if s.DomainName == nil {
  4205  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4206  	}
  4207  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  4208  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  4209  	}
  4210  	if s.KeyName == nil {
  4211  		invalidParams.Add(request.NewErrParamRequired("KeyName"))
  4212  	}
  4213  	if s.KeyName != nil && len(*s.KeyName) < 1 {
  4214  		invalidParams.Add(request.NewErrParamMinLen("KeyName", 1))
  4215  	}
  4216  	if s.ProfileId == nil {
  4217  		invalidParams.Add(request.NewErrParamRequired("ProfileId"))
  4218  	}
  4219  	if s.Values == nil {
  4220  		invalidParams.Add(request.NewErrParamRequired("Values"))
  4221  	}
  4222  
  4223  	if invalidParams.Len() > 0 {
  4224  		return invalidParams
  4225  	}
  4226  	return nil
  4227  }
  4228  
  4229  // SetDomainName sets the DomainName field's value.
  4230  func (s *DeleteProfileKeyInput) SetDomainName(v string) *DeleteProfileKeyInput {
  4231  	s.DomainName = &v
  4232  	return s
  4233  }
  4234  
  4235  // SetKeyName sets the KeyName field's value.
  4236  func (s *DeleteProfileKeyInput) SetKeyName(v string) *DeleteProfileKeyInput {
  4237  	s.KeyName = &v
  4238  	return s
  4239  }
  4240  
  4241  // SetProfileId sets the ProfileId field's value.
  4242  func (s *DeleteProfileKeyInput) SetProfileId(v string) *DeleteProfileKeyInput {
  4243  	s.ProfileId = &v
  4244  	return s
  4245  }
  4246  
  4247  // SetValues sets the Values field's value.
  4248  func (s *DeleteProfileKeyInput) SetValues(v []*string) *DeleteProfileKeyInput {
  4249  	s.Values = v
  4250  	return s
  4251  }
  4252  
  4253  type DeleteProfileKeyOutput struct {
  4254  	_ struct{} `type:"structure"`
  4255  
  4256  	// A message that indicates the delete request is done.
  4257  	Message *string `type:"string"`
  4258  }
  4259  
  4260  // String returns the string representation.
  4261  //
  4262  // API parameter values that are decorated as "sensitive" in the API will not
  4263  // be included in the string output. The member name will be present, but the
  4264  // value will be replaced with "sensitive".
  4265  func (s DeleteProfileKeyOutput) String() string {
  4266  	return awsutil.Prettify(s)
  4267  }
  4268  
  4269  // GoString returns the string representation.
  4270  //
  4271  // API parameter values that are decorated as "sensitive" in the API will not
  4272  // be included in the string output. The member name will be present, but the
  4273  // value will be replaced with "sensitive".
  4274  func (s DeleteProfileKeyOutput) GoString() string {
  4275  	return s.String()
  4276  }
  4277  
  4278  // SetMessage sets the Message field's value.
  4279  func (s *DeleteProfileKeyOutput) SetMessage(v string) *DeleteProfileKeyOutput {
  4280  	s.Message = &v
  4281  	return s
  4282  }
  4283  
  4284  type DeleteProfileObjectInput struct {
  4285  	_ struct{} `type:"structure"`
  4286  
  4287  	// The unique name of the domain.
  4288  	//
  4289  	// DomainName is a required field
  4290  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  4291  
  4292  	// The name of the profile object type.
  4293  	//
  4294  	// ObjectTypeName is a required field
  4295  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  4296  
  4297  	// The unique identifier of a customer profile.
  4298  	//
  4299  	// ProfileId is a required field
  4300  	ProfileId *string `type:"string" required:"true"`
  4301  
  4302  	// The unique identifier of the profile object generated by the service.
  4303  	//
  4304  	// ProfileObjectUniqueKey is a required field
  4305  	ProfileObjectUniqueKey *string `min:"1" type:"string" required:"true"`
  4306  }
  4307  
  4308  // String returns the string representation.
  4309  //
  4310  // API parameter values that are decorated as "sensitive" in the API will not
  4311  // be included in the string output. The member name will be present, but the
  4312  // value will be replaced with "sensitive".
  4313  func (s DeleteProfileObjectInput) String() string {
  4314  	return awsutil.Prettify(s)
  4315  }
  4316  
  4317  // GoString returns the string representation.
  4318  //
  4319  // API parameter values that are decorated as "sensitive" in the API will not
  4320  // be included in the string output. The member name will be present, but the
  4321  // value will be replaced with "sensitive".
  4322  func (s DeleteProfileObjectInput) GoString() string {
  4323  	return s.String()
  4324  }
  4325  
  4326  // Validate inspects the fields of the type to determine if they are valid.
  4327  func (s *DeleteProfileObjectInput) Validate() error {
  4328  	invalidParams := request.ErrInvalidParams{Context: "DeleteProfileObjectInput"}
  4329  	if s.DomainName == nil {
  4330  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4331  	}
  4332  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  4333  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  4334  	}
  4335  	if s.ObjectTypeName == nil {
  4336  		invalidParams.Add(request.NewErrParamRequired("ObjectTypeName"))
  4337  	}
  4338  	if s.ObjectTypeName != nil && len(*s.ObjectTypeName) < 1 {
  4339  		invalidParams.Add(request.NewErrParamMinLen("ObjectTypeName", 1))
  4340  	}
  4341  	if s.ProfileId == nil {
  4342  		invalidParams.Add(request.NewErrParamRequired("ProfileId"))
  4343  	}
  4344  	if s.ProfileObjectUniqueKey == nil {
  4345  		invalidParams.Add(request.NewErrParamRequired("ProfileObjectUniqueKey"))
  4346  	}
  4347  	if s.ProfileObjectUniqueKey != nil && len(*s.ProfileObjectUniqueKey) < 1 {
  4348  		invalidParams.Add(request.NewErrParamMinLen("ProfileObjectUniqueKey", 1))
  4349  	}
  4350  
  4351  	if invalidParams.Len() > 0 {
  4352  		return invalidParams
  4353  	}
  4354  	return nil
  4355  }
  4356  
  4357  // SetDomainName sets the DomainName field's value.
  4358  func (s *DeleteProfileObjectInput) SetDomainName(v string) *DeleteProfileObjectInput {
  4359  	s.DomainName = &v
  4360  	return s
  4361  }
  4362  
  4363  // SetObjectTypeName sets the ObjectTypeName field's value.
  4364  func (s *DeleteProfileObjectInput) SetObjectTypeName(v string) *DeleteProfileObjectInput {
  4365  	s.ObjectTypeName = &v
  4366  	return s
  4367  }
  4368  
  4369  // SetProfileId sets the ProfileId field's value.
  4370  func (s *DeleteProfileObjectInput) SetProfileId(v string) *DeleteProfileObjectInput {
  4371  	s.ProfileId = &v
  4372  	return s
  4373  }
  4374  
  4375  // SetProfileObjectUniqueKey sets the ProfileObjectUniqueKey field's value.
  4376  func (s *DeleteProfileObjectInput) SetProfileObjectUniqueKey(v string) *DeleteProfileObjectInput {
  4377  	s.ProfileObjectUniqueKey = &v
  4378  	return s
  4379  }
  4380  
  4381  type DeleteProfileObjectOutput struct {
  4382  	_ struct{} `type:"structure"`
  4383  
  4384  	// A message that indicates the delete request is done.
  4385  	Message *string `type:"string"`
  4386  }
  4387  
  4388  // String returns the string representation.
  4389  //
  4390  // API parameter values that are decorated as "sensitive" in the API will not
  4391  // be included in the string output. The member name will be present, but the
  4392  // value will be replaced with "sensitive".
  4393  func (s DeleteProfileObjectOutput) String() string {
  4394  	return awsutil.Prettify(s)
  4395  }
  4396  
  4397  // GoString returns the string representation.
  4398  //
  4399  // API parameter values that are decorated as "sensitive" in the API will not
  4400  // be included in the string output. The member name will be present, but the
  4401  // value will be replaced with "sensitive".
  4402  func (s DeleteProfileObjectOutput) GoString() string {
  4403  	return s.String()
  4404  }
  4405  
  4406  // SetMessage sets the Message field's value.
  4407  func (s *DeleteProfileObjectOutput) SetMessage(v string) *DeleteProfileObjectOutput {
  4408  	s.Message = &v
  4409  	return s
  4410  }
  4411  
  4412  type DeleteProfileObjectTypeInput struct {
  4413  	_ struct{} `type:"structure" nopayload:"true"`
  4414  
  4415  	// The unique name of the domain.
  4416  	//
  4417  	// DomainName is a required field
  4418  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  4419  
  4420  	// The name of the profile object type.
  4421  	//
  4422  	// ObjectTypeName is a required field
  4423  	ObjectTypeName *string `location:"uri" locationName:"ObjectTypeName" min:"1" type:"string" required:"true"`
  4424  }
  4425  
  4426  // String returns the string representation.
  4427  //
  4428  // API parameter values that are decorated as "sensitive" in the API will not
  4429  // be included in the string output. The member name will be present, but the
  4430  // value will be replaced with "sensitive".
  4431  func (s DeleteProfileObjectTypeInput) String() string {
  4432  	return awsutil.Prettify(s)
  4433  }
  4434  
  4435  // GoString returns the string representation.
  4436  //
  4437  // API parameter values that are decorated as "sensitive" in the API will not
  4438  // be included in the string output. The member name will be present, but the
  4439  // value will be replaced with "sensitive".
  4440  func (s DeleteProfileObjectTypeInput) GoString() string {
  4441  	return s.String()
  4442  }
  4443  
  4444  // Validate inspects the fields of the type to determine if they are valid.
  4445  func (s *DeleteProfileObjectTypeInput) Validate() error {
  4446  	invalidParams := request.ErrInvalidParams{Context: "DeleteProfileObjectTypeInput"}
  4447  	if s.DomainName == nil {
  4448  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4449  	}
  4450  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  4451  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  4452  	}
  4453  	if s.ObjectTypeName == nil {
  4454  		invalidParams.Add(request.NewErrParamRequired("ObjectTypeName"))
  4455  	}
  4456  	if s.ObjectTypeName != nil && len(*s.ObjectTypeName) < 1 {
  4457  		invalidParams.Add(request.NewErrParamMinLen("ObjectTypeName", 1))
  4458  	}
  4459  
  4460  	if invalidParams.Len() > 0 {
  4461  		return invalidParams
  4462  	}
  4463  	return nil
  4464  }
  4465  
  4466  // SetDomainName sets the DomainName field's value.
  4467  func (s *DeleteProfileObjectTypeInput) SetDomainName(v string) *DeleteProfileObjectTypeInput {
  4468  	s.DomainName = &v
  4469  	return s
  4470  }
  4471  
  4472  // SetObjectTypeName sets the ObjectTypeName field's value.
  4473  func (s *DeleteProfileObjectTypeInput) SetObjectTypeName(v string) *DeleteProfileObjectTypeInput {
  4474  	s.ObjectTypeName = &v
  4475  	return s
  4476  }
  4477  
  4478  type DeleteProfileObjectTypeOutput struct {
  4479  	_ struct{} `type:"structure"`
  4480  
  4481  	// A message that indicates the delete request is done.
  4482  	//
  4483  	// Message is a required field
  4484  	Message *string `type:"string" required:"true"`
  4485  }
  4486  
  4487  // String returns the string representation.
  4488  //
  4489  // API parameter values that are decorated as "sensitive" in the API will not
  4490  // be included in the string output. The member name will be present, but the
  4491  // value will be replaced with "sensitive".
  4492  func (s DeleteProfileObjectTypeOutput) String() string {
  4493  	return awsutil.Prettify(s)
  4494  }
  4495  
  4496  // GoString returns the string representation.
  4497  //
  4498  // API parameter values that are decorated as "sensitive" in the API will not
  4499  // be included in the string output. The member name will be present, but the
  4500  // value will be replaced with "sensitive".
  4501  func (s DeleteProfileObjectTypeOutput) GoString() string {
  4502  	return s.String()
  4503  }
  4504  
  4505  // SetMessage sets the Message field's value.
  4506  func (s *DeleteProfileObjectTypeOutput) SetMessage(v string) *DeleteProfileObjectTypeOutput {
  4507  	s.Message = &v
  4508  	return s
  4509  }
  4510  
  4511  type DeleteProfileOutput struct {
  4512  	_ struct{} `type:"structure"`
  4513  
  4514  	// A message that indicates the delete request is done.
  4515  	Message *string `type:"string"`
  4516  }
  4517  
  4518  // String returns the string representation.
  4519  //
  4520  // API parameter values that are decorated as "sensitive" in the API will not
  4521  // be included in the string output. The member name will be present, but the
  4522  // value will be replaced with "sensitive".
  4523  func (s DeleteProfileOutput) String() string {
  4524  	return awsutil.Prettify(s)
  4525  }
  4526  
  4527  // GoString returns the string representation.
  4528  //
  4529  // API parameter values that are decorated as "sensitive" in the API will not
  4530  // be included in the string output. The member name will be present, but the
  4531  // value will be replaced with "sensitive".
  4532  func (s DeleteProfileOutput) GoString() string {
  4533  	return s.String()
  4534  }
  4535  
  4536  // SetMessage sets the Message field's value.
  4537  func (s *DeleteProfileOutput) SetMessage(v string) *DeleteProfileOutput {
  4538  	s.Message = &v
  4539  	return s
  4540  }
  4541  
  4542  // Usage-specific statistics about the domain.
  4543  type DomainStats struct {
  4544  	_ struct{} `type:"structure"`
  4545  
  4546  	// The number of profiles that you are currently paying for in the domain. If
  4547  	// you have more than 100 objects associated with a single profile, that profile
  4548  	// counts as two profiles. If you have more than 200 objects, that profile counts
  4549  	// as three, and so on.
  4550  	MeteringProfileCount *int64 `type:"long"`
  4551  
  4552  	// The total number of objects in domain.
  4553  	ObjectCount *int64 `type:"long"`
  4554  
  4555  	// The total number of profiles currently in the domain.
  4556  	ProfileCount *int64 `type:"long"`
  4557  
  4558  	// The total size, in bytes, of all objects in the domain.
  4559  	TotalSize *int64 `type:"long"`
  4560  }
  4561  
  4562  // String returns the string representation.
  4563  //
  4564  // API parameter values that are decorated as "sensitive" in the API will not
  4565  // be included in the string output. The member name will be present, but the
  4566  // value will be replaced with "sensitive".
  4567  func (s DomainStats) String() string {
  4568  	return awsutil.Prettify(s)
  4569  }
  4570  
  4571  // GoString returns the string representation.
  4572  //
  4573  // API parameter values that are decorated as "sensitive" in the API will not
  4574  // be included in the string output. The member name will be present, but the
  4575  // value will be replaced with "sensitive".
  4576  func (s DomainStats) GoString() string {
  4577  	return s.String()
  4578  }
  4579  
  4580  // SetMeteringProfileCount sets the MeteringProfileCount field's value.
  4581  func (s *DomainStats) SetMeteringProfileCount(v int64) *DomainStats {
  4582  	s.MeteringProfileCount = &v
  4583  	return s
  4584  }
  4585  
  4586  // SetObjectCount sets the ObjectCount field's value.
  4587  func (s *DomainStats) SetObjectCount(v int64) *DomainStats {
  4588  	s.ObjectCount = &v
  4589  	return s
  4590  }
  4591  
  4592  // SetProfileCount sets the ProfileCount field's value.
  4593  func (s *DomainStats) SetProfileCount(v int64) *DomainStats {
  4594  	s.ProfileCount = &v
  4595  	return s
  4596  }
  4597  
  4598  // SetTotalSize sets the TotalSize field's value.
  4599  func (s *DomainStats) SetTotalSize(v int64) *DomainStats {
  4600  	s.TotalSize = &v
  4601  	return s
  4602  }
  4603  
  4604  // A duplicate customer profile that is to be merged into a main profile.
  4605  type FieldSourceProfileIds struct {
  4606  	_ struct{} `type:"structure"`
  4607  
  4608  	// A unique identifier for the account number field to be merged.
  4609  	AccountNumber *string `type:"string"`
  4610  
  4611  	// A unique identifier for the additional information field to be merged.
  4612  	AdditionalInformation *string `type:"string"`
  4613  
  4614  	// A unique identifier for the party type field to be merged.
  4615  	Address *string `type:"string"`
  4616  
  4617  	// A unique identifier for the attributes field to be merged.
  4618  	Attributes map[string]*string `type:"map"`
  4619  
  4620  	// A unique identifier for the billing type field to be merged.
  4621  	BillingAddress *string `type:"string"`
  4622  
  4623  	// A unique identifier for the birthdate field to be merged.
  4624  	BirthDate *string `type:"string"`
  4625  
  4626  	// A unique identifier for the party type field to be merged.
  4627  	BusinessEmailAddress *string `type:"string"`
  4628  
  4629  	// A unique identifier for the business name field to be merged.
  4630  	BusinessName *string `type:"string"`
  4631  
  4632  	// A unique identifier for the business phone number field to be merged.
  4633  	BusinessPhoneNumber *string `type:"string"`
  4634  
  4635  	// A unique identifier for the email address field to be merged.
  4636  	EmailAddress *string `type:"string"`
  4637  
  4638  	// A unique identifier for the first name field to be merged.
  4639  	FirstName *string `type:"string"`
  4640  
  4641  	// A unique identifier for the gender field to be merged.
  4642  	Gender *string `type:"string"`
  4643  
  4644  	// A unique identifier for the home phone number field to be merged.
  4645  	HomePhoneNumber *string `type:"string"`
  4646  
  4647  	// A unique identifier for the last name field to be merged.
  4648  	LastName *string `type:"string"`
  4649  
  4650  	// A unique identifier for the mailing address field to be merged.
  4651  	MailingAddress *string `type:"string"`
  4652  
  4653  	// A unique identifier for the middle name field to be merged.
  4654  	MiddleName *string `type:"string"`
  4655  
  4656  	// A unique identifier for the mobile phone number field to be merged.
  4657  	MobilePhoneNumber *string `type:"string"`
  4658  
  4659  	// A unique identifier for the party type field to be merged.
  4660  	PartyType *string `type:"string"`
  4661  
  4662  	// A unique identifier for the personal email address field to be merged.
  4663  	PersonalEmailAddress *string `type:"string"`
  4664  
  4665  	// A unique identifier for the phone number field to be merged.
  4666  	PhoneNumber *string `type:"string"`
  4667  
  4668  	// A unique identifier for the shipping address field to be merged.
  4669  	ShippingAddress *string `type:"string"`
  4670  }
  4671  
  4672  // String returns the string representation.
  4673  //
  4674  // API parameter values that are decorated as "sensitive" in the API will not
  4675  // be included in the string output. The member name will be present, but the
  4676  // value will be replaced with "sensitive".
  4677  func (s FieldSourceProfileIds) String() string {
  4678  	return awsutil.Prettify(s)
  4679  }
  4680  
  4681  // GoString returns the string representation.
  4682  //
  4683  // API parameter values that are decorated as "sensitive" in the API will not
  4684  // be included in the string output. The member name will be present, but the
  4685  // value will be replaced with "sensitive".
  4686  func (s FieldSourceProfileIds) GoString() string {
  4687  	return s.String()
  4688  }
  4689  
  4690  // SetAccountNumber sets the AccountNumber field's value.
  4691  func (s *FieldSourceProfileIds) SetAccountNumber(v string) *FieldSourceProfileIds {
  4692  	s.AccountNumber = &v
  4693  	return s
  4694  }
  4695  
  4696  // SetAdditionalInformation sets the AdditionalInformation field's value.
  4697  func (s *FieldSourceProfileIds) SetAdditionalInformation(v string) *FieldSourceProfileIds {
  4698  	s.AdditionalInformation = &v
  4699  	return s
  4700  }
  4701  
  4702  // SetAddress sets the Address field's value.
  4703  func (s *FieldSourceProfileIds) SetAddress(v string) *FieldSourceProfileIds {
  4704  	s.Address = &v
  4705  	return s
  4706  }
  4707  
  4708  // SetAttributes sets the Attributes field's value.
  4709  func (s *FieldSourceProfileIds) SetAttributes(v map[string]*string) *FieldSourceProfileIds {
  4710  	s.Attributes = v
  4711  	return s
  4712  }
  4713  
  4714  // SetBillingAddress sets the BillingAddress field's value.
  4715  func (s *FieldSourceProfileIds) SetBillingAddress(v string) *FieldSourceProfileIds {
  4716  	s.BillingAddress = &v
  4717  	return s
  4718  }
  4719  
  4720  // SetBirthDate sets the BirthDate field's value.
  4721  func (s *FieldSourceProfileIds) SetBirthDate(v string) *FieldSourceProfileIds {
  4722  	s.BirthDate = &v
  4723  	return s
  4724  }
  4725  
  4726  // SetBusinessEmailAddress sets the BusinessEmailAddress field's value.
  4727  func (s *FieldSourceProfileIds) SetBusinessEmailAddress(v string) *FieldSourceProfileIds {
  4728  	s.BusinessEmailAddress = &v
  4729  	return s
  4730  }
  4731  
  4732  // SetBusinessName sets the BusinessName field's value.
  4733  func (s *FieldSourceProfileIds) SetBusinessName(v string) *FieldSourceProfileIds {
  4734  	s.BusinessName = &v
  4735  	return s
  4736  }
  4737  
  4738  // SetBusinessPhoneNumber sets the BusinessPhoneNumber field's value.
  4739  func (s *FieldSourceProfileIds) SetBusinessPhoneNumber(v string) *FieldSourceProfileIds {
  4740  	s.BusinessPhoneNumber = &v
  4741  	return s
  4742  }
  4743  
  4744  // SetEmailAddress sets the EmailAddress field's value.
  4745  func (s *FieldSourceProfileIds) SetEmailAddress(v string) *FieldSourceProfileIds {
  4746  	s.EmailAddress = &v
  4747  	return s
  4748  }
  4749  
  4750  // SetFirstName sets the FirstName field's value.
  4751  func (s *FieldSourceProfileIds) SetFirstName(v string) *FieldSourceProfileIds {
  4752  	s.FirstName = &v
  4753  	return s
  4754  }
  4755  
  4756  // SetGender sets the Gender field's value.
  4757  func (s *FieldSourceProfileIds) SetGender(v string) *FieldSourceProfileIds {
  4758  	s.Gender = &v
  4759  	return s
  4760  }
  4761  
  4762  // SetHomePhoneNumber sets the HomePhoneNumber field's value.
  4763  func (s *FieldSourceProfileIds) SetHomePhoneNumber(v string) *FieldSourceProfileIds {
  4764  	s.HomePhoneNumber = &v
  4765  	return s
  4766  }
  4767  
  4768  // SetLastName sets the LastName field's value.
  4769  func (s *FieldSourceProfileIds) SetLastName(v string) *FieldSourceProfileIds {
  4770  	s.LastName = &v
  4771  	return s
  4772  }
  4773  
  4774  // SetMailingAddress sets the MailingAddress field's value.
  4775  func (s *FieldSourceProfileIds) SetMailingAddress(v string) *FieldSourceProfileIds {
  4776  	s.MailingAddress = &v
  4777  	return s
  4778  }
  4779  
  4780  // SetMiddleName sets the MiddleName field's value.
  4781  func (s *FieldSourceProfileIds) SetMiddleName(v string) *FieldSourceProfileIds {
  4782  	s.MiddleName = &v
  4783  	return s
  4784  }
  4785  
  4786  // SetMobilePhoneNumber sets the MobilePhoneNumber field's value.
  4787  func (s *FieldSourceProfileIds) SetMobilePhoneNumber(v string) *FieldSourceProfileIds {
  4788  	s.MobilePhoneNumber = &v
  4789  	return s
  4790  }
  4791  
  4792  // SetPartyType sets the PartyType field's value.
  4793  func (s *FieldSourceProfileIds) SetPartyType(v string) *FieldSourceProfileIds {
  4794  	s.PartyType = &v
  4795  	return s
  4796  }
  4797  
  4798  // SetPersonalEmailAddress sets the PersonalEmailAddress field's value.
  4799  func (s *FieldSourceProfileIds) SetPersonalEmailAddress(v string) *FieldSourceProfileIds {
  4800  	s.PersonalEmailAddress = &v
  4801  	return s
  4802  }
  4803  
  4804  // SetPhoneNumber sets the PhoneNumber field's value.
  4805  func (s *FieldSourceProfileIds) SetPhoneNumber(v string) *FieldSourceProfileIds {
  4806  	s.PhoneNumber = &v
  4807  	return s
  4808  }
  4809  
  4810  // SetShippingAddress sets the ShippingAddress field's value.
  4811  func (s *FieldSourceProfileIds) SetShippingAddress(v string) *FieldSourceProfileIds {
  4812  	s.ShippingAddress = &v
  4813  	return s
  4814  }
  4815  
  4816  // The configurations that control how Customer Profiles retrieves data from
  4817  // the source, Amazon AppFlow. Customer Profiles uses this information to create
  4818  // an AppFlow flow on behalf of customers.
  4819  type FlowDefinition struct {
  4820  	_ struct{} `type:"structure"`
  4821  
  4822  	// A description of the flow you want to create.
  4823  	Description *string `type:"string"`
  4824  
  4825  	// The specified name of the flow. Use underscores (_) or hyphens (-) only.
  4826  	// Spaces are not allowed.
  4827  	//
  4828  	// FlowName is a required field
  4829  	FlowName *string `type:"string" required:"true"`
  4830  
  4831  	// The Amazon Resource Name of the AWS Key Management Service (KMS) key you
  4832  	// provide for encryption.
  4833  	//
  4834  	// KmsArn is a required field
  4835  	KmsArn *string `min:"20" type:"string" required:"true"`
  4836  
  4837  	// The configuration that controls how Customer Profiles retrieves data from
  4838  	// the source.
  4839  	//
  4840  	// SourceFlowConfig is a required field
  4841  	SourceFlowConfig *SourceFlowConfig `type:"structure" required:"true"`
  4842  
  4843  	// A list of tasks that Customer Profiles performs while transferring the data
  4844  	// in the flow run.
  4845  	//
  4846  	// Tasks is a required field
  4847  	Tasks []*Task `type:"list" required:"true"`
  4848  
  4849  	// The trigger settings that determine how and when the flow runs.
  4850  	//
  4851  	// TriggerConfig is a required field
  4852  	TriggerConfig *TriggerConfig `type:"structure" required:"true"`
  4853  }
  4854  
  4855  // String returns the string representation.
  4856  //
  4857  // API parameter values that are decorated as "sensitive" in the API will not
  4858  // be included in the string output. The member name will be present, but the
  4859  // value will be replaced with "sensitive".
  4860  func (s FlowDefinition) String() string {
  4861  	return awsutil.Prettify(s)
  4862  }
  4863  
  4864  // GoString returns the string representation.
  4865  //
  4866  // API parameter values that are decorated as "sensitive" in the API will not
  4867  // be included in the string output. The member name will be present, but the
  4868  // value will be replaced with "sensitive".
  4869  func (s FlowDefinition) GoString() string {
  4870  	return s.String()
  4871  }
  4872  
  4873  // Validate inspects the fields of the type to determine if they are valid.
  4874  func (s *FlowDefinition) Validate() error {
  4875  	invalidParams := request.ErrInvalidParams{Context: "FlowDefinition"}
  4876  	if s.FlowName == nil {
  4877  		invalidParams.Add(request.NewErrParamRequired("FlowName"))
  4878  	}
  4879  	if s.KmsArn == nil {
  4880  		invalidParams.Add(request.NewErrParamRequired("KmsArn"))
  4881  	}
  4882  	if s.KmsArn != nil && len(*s.KmsArn) < 20 {
  4883  		invalidParams.Add(request.NewErrParamMinLen("KmsArn", 20))
  4884  	}
  4885  	if s.SourceFlowConfig == nil {
  4886  		invalidParams.Add(request.NewErrParamRequired("SourceFlowConfig"))
  4887  	}
  4888  	if s.Tasks == nil {
  4889  		invalidParams.Add(request.NewErrParamRequired("Tasks"))
  4890  	}
  4891  	if s.TriggerConfig == nil {
  4892  		invalidParams.Add(request.NewErrParamRequired("TriggerConfig"))
  4893  	}
  4894  	if s.SourceFlowConfig != nil {
  4895  		if err := s.SourceFlowConfig.Validate(); err != nil {
  4896  			invalidParams.AddNested("SourceFlowConfig", err.(request.ErrInvalidParams))
  4897  		}
  4898  	}
  4899  	if s.Tasks != nil {
  4900  		for i, v := range s.Tasks {
  4901  			if v == nil {
  4902  				continue
  4903  			}
  4904  			if err := v.Validate(); err != nil {
  4905  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tasks", i), err.(request.ErrInvalidParams))
  4906  			}
  4907  		}
  4908  	}
  4909  	if s.TriggerConfig != nil {
  4910  		if err := s.TriggerConfig.Validate(); err != nil {
  4911  			invalidParams.AddNested("TriggerConfig", err.(request.ErrInvalidParams))
  4912  		}
  4913  	}
  4914  
  4915  	if invalidParams.Len() > 0 {
  4916  		return invalidParams
  4917  	}
  4918  	return nil
  4919  }
  4920  
  4921  // SetDescription sets the Description field's value.
  4922  func (s *FlowDefinition) SetDescription(v string) *FlowDefinition {
  4923  	s.Description = &v
  4924  	return s
  4925  }
  4926  
  4927  // SetFlowName sets the FlowName field's value.
  4928  func (s *FlowDefinition) SetFlowName(v string) *FlowDefinition {
  4929  	s.FlowName = &v
  4930  	return s
  4931  }
  4932  
  4933  // SetKmsArn sets the KmsArn field's value.
  4934  func (s *FlowDefinition) SetKmsArn(v string) *FlowDefinition {
  4935  	s.KmsArn = &v
  4936  	return s
  4937  }
  4938  
  4939  // SetSourceFlowConfig sets the SourceFlowConfig field's value.
  4940  func (s *FlowDefinition) SetSourceFlowConfig(v *SourceFlowConfig) *FlowDefinition {
  4941  	s.SourceFlowConfig = v
  4942  	return s
  4943  }
  4944  
  4945  // SetTasks sets the Tasks field's value.
  4946  func (s *FlowDefinition) SetTasks(v []*Task) *FlowDefinition {
  4947  	s.Tasks = v
  4948  	return s
  4949  }
  4950  
  4951  // SetTriggerConfig sets the TriggerConfig field's value.
  4952  func (s *FlowDefinition) SetTriggerConfig(v *TriggerConfig) *FlowDefinition {
  4953  	s.TriggerConfig = v
  4954  	return s
  4955  }
  4956  
  4957  type GetDomainInput struct {
  4958  	_ struct{} `type:"structure" nopayload:"true"`
  4959  
  4960  	// The unique name of the domain.
  4961  	//
  4962  	// DomainName is a required field
  4963  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  4964  }
  4965  
  4966  // String returns the string representation.
  4967  //
  4968  // API parameter values that are decorated as "sensitive" in the API will not
  4969  // be included in the string output. The member name will be present, but the
  4970  // value will be replaced with "sensitive".
  4971  func (s GetDomainInput) String() string {
  4972  	return awsutil.Prettify(s)
  4973  }
  4974  
  4975  // GoString returns the string representation.
  4976  //
  4977  // API parameter values that are decorated as "sensitive" in the API will not
  4978  // be included in the string output. The member name will be present, but the
  4979  // value will be replaced with "sensitive".
  4980  func (s GetDomainInput) GoString() string {
  4981  	return s.String()
  4982  }
  4983  
  4984  // Validate inspects the fields of the type to determine if they are valid.
  4985  func (s *GetDomainInput) Validate() error {
  4986  	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
  4987  	if s.DomainName == nil {
  4988  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  4989  	}
  4990  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  4991  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  4992  	}
  4993  
  4994  	if invalidParams.Len() > 0 {
  4995  		return invalidParams
  4996  	}
  4997  	return nil
  4998  }
  4999  
  5000  // SetDomainName sets the DomainName field's value.
  5001  func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
  5002  	s.DomainName = &v
  5003  	return s
  5004  }
  5005  
  5006  type GetDomainOutput struct {
  5007  	_ struct{} `type:"structure"`
  5008  
  5009  	// The timestamp of when the domain was created.
  5010  	//
  5011  	// CreatedAt is a required field
  5012  	CreatedAt *time.Time `type:"timestamp" required:"true"`
  5013  
  5014  	// The URL of the SQS dead letter queue, which is used for reporting errors
  5015  	// associated with ingesting data from third party applications.
  5016  	DeadLetterQueueUrl *string `type:"string"`
  5017  
  5018  	// The default encryption key, which is an AWS managed key, is used when no
  5019  	// specific type of encryption key is specified. It is used to encrypt all data
  5020  	// before it is placed in permanent or semi-permanent storage.
  5021  	DefaultEncryptionKey *string `type:"string"`
  5022  
  5023  	// The default number of days until the data within the domain expires.
  5024  	DefaultExpirationDays *int64 `min:"1" type:"integer"`
  5025  
  5026  	// The unique name of the domain.
  5027  	//
  5028  	// DomainName is a required field
  5029  	DomainName *string `min:"1" type:"string" required:"true"`
  5030  
  5031  	// The timestamp of when the domain was most recently edited.
  5032  	//
  5033  	// LastUpdatedAt is a required field
  5034  	LastUpdatedAt *time.Time `type:"timestamp" required:"true"`
  5035  
  5036  	// The process of matching duplicate profiles. If Matching = true, Amazon Connect
  5037  	// Customer Profiles starts a weekly batch process every Saturday at 12AM UTC
  5038  	// to detect duplicate profiles in your domains. After that batch process completes,
  5039  	// use the GetMatches (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html)
  5040  	// API to return and review the results.
  5041  	Matching *MatchingResponse `type:"structure"`
  5042  
  5043  	// Usage-specific statistics about the domain.
  5044  	Stats *DomainStats `type:"structure"`
  5045  
  5046  	// The tags used to organize, track, or control access for this resource.
  5047  	Tags map[string]*string `min:"1" type:"map"`
  5048  }
  5049  
  5050  // String returns the string representation.
  5051  //
  5052  // API parameter values that are decorated as "sensitive" in the API will not
  5053  // be included in the string output. The member name will be present, but the
  5054  // value will be replaced with "sensitive".
  5055  func (s GetDomainOutput) String() string {
  5056  	return awsutil.Prettify(s)
  5057  }
  5058  
  5059  // GoString returns the string representation.
  5060  //
  5061  // API parameter values that are decorated as "sensitive" in the API will not
  5062  // be included in the string output. The member name will be present, but the
  5063  // value will be replaced with "sensitive".
  5064  func (s GetDomainOutput) GoString() string {
  5065  	return s.String()
  5066  }
  5067  
  5068  // SetCreatedAt sets the CreatedAt field's value.
  5069  func (s *GetDomainOutput) SetCreatedAt(v time.Time) *GetDomainOutput {
  5070  	s.CreatedAt = &v
  5071  	return s
  5072  }
  5073  
  5074  // SetDeadLetterQueueUrl sets the DeadLetterQueueUrl field's value.
  5075  func (s *GetDomainOutput) SetDeadLetterQueueUrl(v string) *GetDomainOutput {
  5076  	s.DeadLetterQueueUrl = &v
  5077  	return s
  5078  }
  5079  
  5080  // SetDefaultEncryptionKey sets the DefaultEncryptionKey field's value.
  5081  func (s *GetDomainOutput) SetDefaultEncryptionKey(v string) *GetDomainOutput {
  5082  	s.DefaultEncryptionKey = &v
  5083  	return s
  5084  }
  5085  
  5086  // SetDefaultExpirationDays sets the DefaultExpirationDays field's value.
  5087  func (s *GetDomainOutput) SetDefaultExpirationDays(v int64) *GetDomainOutput {
  5088  	s.DefaultExpirationDays = &v
  5089  	return s
  5090  }
  5091  
  5092  // SetDomainName sets the DomainName field's value.
  5093  func (s *GetDomainOutput) SetDomainName(v string) *GetDomainOutput {
  5094  	s.DomainName = &v
  5095  	return s
  5096  }
  5097  
  5098  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  5099  func (s *GetDomainOutput) SetLastUpdatedAt(v time.Time) *GetDomainOutput {
  5100  	s.LastUpdatedAt = &v
  5101  	return s
  5102  }
  5103  
  5104  // SetMatching sets the Matching field's value.
  5105  func (s *GetDomainOutput) SetMatching(v *MatchingResponse) *GetDomainOutput {
  5106  	s.Matching = v
  5107  	return s
  5108  }
  5109  
  5110  // SetStats sets the Stats field's value.
  5111  func (s *GetDomainOutput) SetStats(v *DomainStats) *GetDomainOutput {
  5112  	s.Stats = v
  5113  	return s
  5114  }
  5115  
  5116  // SetTags sets the Tags field's value.
  5117  func (s *GetDomainOutput) SetTags(v map[string]*string) *GetDomainOutput {
  5118  	s.Tags = v
  5119  	return s
  5120  }
  5121  
  5122  type GetIntegrationInput struct {
  5123  	_ struct{} `type:"structure"`
  5124  
  5125  	// The unique name of the domain.
  5126  	//
  5127  	// DomainName is a required field
  5128  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  5129  
  5130  	// The URI of the S3 bucket or any other type of data source.
  5131  	//
  5132  	// Uri is a required field
  5133  	Uri *string `min:"1" type:"string" required:"true"`
  5134  }
  5135  
  5136  // String returns the string representation.
  5137  //
  5138  // API parameter values that are decorated as "sensitive" in the API will not
  5139  // be included in the string output. The member name will be present, but the
  5140  // value will be replaced with "sensitive".
  5141  func (s GetIntegrationInput) String() string {
  5142  	return awsutil.Prettify(s)
  5143  }
  5144  
  5145  // GoString returns the string representation.
  5146  //
  5147  // API parameter values that are decorated as "sensitive" in the API will not
  5148  // be included in the string output. The member name will be present, but the
  5149  // value will be replaced with "sensitive".
  5150  func (s GetIntegrationInput) GoString() string {
  5151  	return s.String()
  5152  }
  5153  
  5154  // Validate inspects the fields of the type to determine if they are valid.
  5155  func (s *GetIntegrationInput) Validate() error {
  5156  	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationInput"}
  5157  	if s.DomainName == nil {
  5158  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  5159  	}
  5160  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  5161  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  5162  	}
  5163  	if s.Uri == nil {
  5164  		invalidParams.Add(request.NewErrParamRequired("Uri"))
  5165  	}
  5166  	if s.Uri != nil && len(*s.Uri) < 1 {
  5167  		invalidParams.Add(request.NewErrParamMinLen("Uri", 1))
  5168  	}
  5169  
  5170  	if invalidParams.Len() > 0 {
  5171  		return invalidParams
  5172  	}
  5173  	return nil
  5174  }
  5175  
  5176  // SetDomainName sets the DomainName field's value.
  5177  func (s *GetIntegrationInput) SetDomainName(v string) *GetIntegrationInput {
  5178  	s.DomainName = &v
  5179  	return s
  5180  }
  5181  
  5182  // SetUri sets the Uri field's value.
  5183  func (s *GetIntegrationInput) SetUri(v string) *GetIntegrationInput {
  5184  	s.Uri = &v
  5185  	return s
  5186  }
  5187  
  5188  type GetIntegrationOutput struct {
  5189  	_ struct{} `type:"structure"`
  5190  
  5191  	// The timestamp of when the domain was created.
  5192  	//
  5193  	// CreatedAt is a required field
  5194  	CreatedAt *time.Time `type:"timestamp" required:"true"`
  5195  
  5196  	// The unique name of the domain.
  5197  	//
  5198  	// DomainName is a required field
  5199  	DomainName *string `min:"1" type:"string" required:"true"`
  5200  
  5201  	// The timestamp of when the domain was most recently edited.
  5202  	//
  5203  	// LastUpdatedAt is a required field
  5204  	LastUpdatedAt *time.Time `type:"timestamp" required:"true"`
  5205  
  5206  	// The name of the profile object type.
  5207  	//
  5208  	// ObjectTypeName is a required field
  5209  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  5210  
  5211  	// The tags used to organize, track, or control access for this resource.
  5212  	Tags map[string]*string `min:"1" type:"map"`
  5213  
  5214  	// The URI of the S3 bucket or any other type of data source.
  5215  	//
  5216  	// Uri is a required field
  5217  	Uri *string `min:"1" type:"string" required:"true"`
  5218  }
  5219  
  5220  // String returns the string representation.
  5221  //
  5222  // API parameter values that are decorated as "sensitive" in the API will not
  5223  // be included in the string output. The member name will be present, but the
  5224  // value will be replaced with "sensitive".
  5225  func (s GetIntegrationOutput) String() string {
  5226  	return awsutil.Prettify(s)
  5227  }
  5228  
  5229  // GoString returns the string representation.
  5230  //
  5231  // API parameter values that are decorated as "sensitive" in the API will not
  5232  // be included in the string output. The member name will be present, but the
  5233  // value will be replaced with "sensitive".
  5234  func (s GetIntegrationOutput) GoString() string {
  5235  	return s.String()
  5236  }
  5237  
  5238  // SetCreatedAt sets the CreatedAt field's value.
  5239  func (s *GetIntegrationOutput) SetCreatedAt(v time.Time) *GetIntegrationOutput {
  5240  	s.CreatedAt = &v
  5241  	return s
  5242  }
  5243  
  5244  // SetDomainName sets the DomainName field's value.
  5245  func (s *GetIntegrationOutput) SetDomainName(v string) *GetIntegrationOutput {
  5246  	s.DomainName = &v
  5247  	return s
  5248  }
  5249  
  5250  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  5251  func (s *GetIntegrationOutput) SetLastUpdatedAt(v time.Time) *GetIntegrationOutput {
  5252  	s.LastUpdatedAt = &v
  5253  	return s
  5254  }
  5255  
  5256  // SetObjectTypeName sets the ObjectTypeName field's value.
  5257  func (s *GetIntegrationOutput) SetObjectTypeName(v string) *GetIntegrationOutput {
  5258  	s.ObjectTypeName = &v
  5259  	return s
  5260  }
  5261  
  5262  // SetTags sets the Tags field's value.
  5263  func (s *GetIntegrationOutput) SetTags(v map[string]*string) *GetIntegrationOutput {
  5264  	s.Tags = v
  5265  	return s
  5266  }
  5267  
  5268  // SetUri sets the Uri field's value.
  5269  func (s *GetIntegrationOutput) SetUri(v string) *GetIntegrationOutput {
  5270  	s.Uri = &v
  5271  	return s
  5272  }
  5273  
  5274  type GetMatchesInput struct {
  5275  	_ struct{} `type:"structure" nopayload:"true"`
  5276  
  5277  	// The unique name of the domain.
  5278  	//
  5279  	// DomainName is a required field
  5280  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  5281  
  5282  	// The maximum number of results to return per page.
  5283  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  5284  
  5285  	// The token for the next set of results. Use the value returned in the previous
  5286  	// response in the next request to retrieve the next set of results.
  5287  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  5288  }
  5289  
  5290  // String returns the string representation.
  5291  //
  5292  // API parameter values that are decorated as "sensitive" in the API will not
  5293  // be included in the string output. The member name will be present, but the
  5294  // value will be replaced with "sensitive".
  5295  func (s GetMatchesInput) String() string {
  5296  	return awsutil.Prettify(s)
  5297  }
  5298  
  5299  // GoString returns the string representation.
  5300  //
  5301  // API parameter values that are decorated as "sensitive" in the API will not
  5302  // be included in the string output. The member name will be present, but the
  5303  // value will be replaced with "sensitive".
  5304  func (s GetMatchesInput) GoString() string {
  5305  	return s.String()
  5306  }
  5307  
  5308  // Validate inspects the fields of the type to determine if they are valid.
  5309  func (s *GetMatchesInput) Validate() error {
  5310  	invalidParams := request.ErrInvalidParams{Context: "GetMatchesInput"}
  5311  	if s.DomainName == nil {
  5312  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  5313  	}
  5314  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  5315  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  5316  	}
  5317  	if s.MaxResults != nil && *s.MaxResults < 1 {
  5318  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  5319  	}
  5320  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  5321  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  5322  	}
  5323  
  5324  	if invalidParams.Len() > 0 {
  5325  		return invalidParams
  5326  	}
  5327  	return nil
  5328  }
  5329  
  5330  // SetDomainName sets the DomainName field's value.
  5331  func (s *GetMatchesInput) SetDomainName(v string) *GetMatchesInput {
  5332  	s.DomainName = &v
  5333  	return s
  5334  }
  5335  
  5336  // SetMaxResults sets the MaxResults field's value.
  5337  func (s *GetMatchesInput) SetMaxResults(v int64) *GetMatchesInput {
  5338  	s.MaxResults = &v
  5339  	return s
  5340  }
  5341  
  5342  // SetNextToken sets the NextToken field's value.
  5343  func (s *GetMatchesInput) SetNextToken(v string) *GetMatchesInput {
  5344  	s.NextToken = &v
  5345  	return s
  5346  }
  5347  
  5348  type GetMatchesOutput struct {
  5349  	_ struct{} `type:"structure"`
  5350  
  5351  	// The timestamp this version of Match Result generated.
  5352  	MatchGenerationDate *time.Time `type:"timestamp"`
  5353  
  5354  	// The list of matched profiles for this instance.
  5355  	Matches []*MatchItem `type:"list"`
  5356  
  5357  	// If there are additional results, this is the token for the next set of results.
  5358  	NextToken *string `min:"1" type:"string"`
  5359  
  5360  	// The number of potential matches found.
  5361  	PotentialMatches *int64 `type:"integer"`
  5362  }
  5363  
  5364  // String returns the string representation.
  5365  //
  5366  // API parameter values that are decorated as "sensitive" in the API will not
  5367  // be included in the string output. The member name will be present, but the
  5368  // value will be replaced with "sensitive".
  5369  func (s GetMatchesOutput) String() string {
  5370  	return awsutil.Prettify(s)
  5371  }
  5372  
  5373  // GoString returns the string representation.
  5374  //
  5375  // API parameter values that are decorated as "sensitive" in the API will not
  5376  // be included in the string output. The member name will be present, but the
  5377  // value will be replaced with "sensitive".
  5378  func (s GetMatchesOutput) GoString() string {
  5379  	return s.String()
  5380  }
  5381  
  5382  // SetMatchGenerationDate sets the MatchGenerationDate field's value.
  5383  func (s *GetMatchesOutput) SetMatchGenerationDate(v time.Time) *GetMatchesOutput {
  5384  	s.MatchGenerationDate = &v
  5385  	return s
  5386  }
  5387  
  5388  // SetMatches sets the Matches field's value.
  5389  func (s *GetMatchesOutput) SetMatches(v []*MatchItem) *GetMatchesOutput {
  5390  	s.Matches = v
  5391  	return s
  5392  }
  5393  
  5394  // SetNextToken sets the NextToken field's value.
  5395  func (s *GetMatchesOutput) SetNextToken(v string) *GetMatchesOutput {
  5396  	s.NextToken = &v
  5397  	return s
  5398  }
  5399  
  5400  // SetPotentialMatches sets the PotentialMatches field's value.
  5401  func (s *GetMatchesOutput) SetPotentialMatches(v int64) *GetMatchesOutput {
  5402  	s.PotentialMatches = &v
  5403  	return s
  5404  }
  5405  
  5406  type GetProfileObjectTypeInput struct {
  5407  	_ struct{} `type:"structure" nopayload:"true"`
  5408  
  5409  	// The unique name of the domain.
  5410  	//
  5411  	// DomainName is a required field
  5412  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  5413  
  5414  	// The name of the profile object type.
  5415  	//
  5416  	// ObjectTypeName is a required field
  5417  	ObjectTypeName *string `location:"uri" locationName:"ObjectTypeName" min:"1" type:"string" required:"true"`
  5418  }
  5419  
  5420  // String returns the string representation.
  5421  //
  5422  // API parameter values that are decorated as "sensitive" in the API will not
  5423  // be included in the string output. The member name will be present, but the
  5424  // value will be replaced with "sensitive".
  5425  func (s GetProfileObjectTypeInput) String() string {
  5426  	return awsutil.Prettify(s)
  5427  }
  5428  
  5429  // GoString returns the string representation.
  5430  //
  5431  // API parameter values that are decorated as "sensitive" in the API will not
  5432  // be included in the string output. The member name will be present, but the
  5433  // value will be replaced with "sensitive".
  5434  func (s GetProfileObjectTypeInput) GoString() string {
  5435  	return s.String()
  5436  }
  5437  
  5438  // Validate inspects the fields of the type to determine if they are valid.
  5439  func (s *GetProfileObjectTypeInput) Validate() error {
  5440  	invalidParams := request.ErrInvalidParams{Context: "GetProfileObjectTypeInput"}
  5441  	if s.DomainName == nil {
  5442  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  5443  	}
  5444  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  5445  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  5446  	}
  5447  	if s.ObjectTypeName == nil {
  5448  		invalidParams.Add(request.NewErrParamRequired("ObjectTypeName"))
  5449  	}
  5450  	if s.ObjectTypeName != nil && len(*s.ObjectTypeName) < 1 {
  5451  		invalidParams.Add(request.NewErrParamMinLen("ObjectTypeName", 1))
  5452  	}
  5453  
  5454  	if invalidParams.Len() > 0 {
  5455  		return invalidParams
  5456  	}
  5457  	return nil
  5458  }
  5459  
  5460  // SetDomainName sets the DomainName field's value.
  5461  func (s *GetProfileObjectTypeInput) SetDomainName(v string) *GetProfileObjectTypeInput {
  5462  	s.DomainName = &v
  5463  	return s
  5464  }
  5465  
  5466  // SetObjectTypeName sets the ObjectTypeName field's value.
  5467  func (s *GetProfileObjectTypeInput) SetObjectTypeName(v string) *GetProfileObjectTypeInput {
  5468  	s.ObjectTypeName = &v
  5469  	return s
  5470  }
  5471  
  5472  type GetProfileObjectTypeOutput struct {
  5473  	_ struct{} `type:"structure"`
  5474  
  5475  	// Indicates whether a profile should be created when data is received if one
  5476  	// doesn’t exist for an object of this type. The default is FALSE. If the
  5477  	// AllowProfileCreation flag is set to FALSE, then the service tries to fetch
  5478  	// a standard profile and associate this object with the profile. If it is set
  5479  	// to TRUE, and if no match is found, then the service creates a new standard
  5480  	// profile.
  5481  	AllowProfileCreation *bool `type:"boolean"`
  5482  
  5483  	// The timestamp of when the domain was created.
  5484  	CreatedAt *time.Time `type:"timestamp"`
  5485  
  5486  	// The description of the profile object type.
  5487  	//
  5488  	// Description is a required field
  5489  	Description *string `min:"1" type:"string" required:"true"`
  5490  
  5491  	// The customer-provided key to encrypt the profile object that will be created
  5492  	// in this profile object type.
  5493  	EncryptionKey *string `type:"string"`
  5494  
  5495  	// The number of days until the data in the object expires.
  5496  	ExpirationDays *int64 `min:"1" type:"integer"`
  5497  
  5498  	// A map of the name and ObjectType field.
  5499  	Fields map[string]*ObjectTypeField `type:"map"`
  5500  
  5501  	// A list of unique keys that can be used to map data to the profile.
  5502  	Keys map[string][]*ObjectTypeKey `type:"map"`
  5503  
  5504  	// The timestamp of when the domain was most recently edited.
  5505  	LastUpdatedAt *time.Time `type:"timestamp"`
  5506  
  5507  	// The name of the profile object type.
  5508  	//
  5509  	// ObjectTypeName is a required field
  5510  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  5511  
  5512  	// The tags used to organize, track, or control access for this resource.
  5513  	Tags map[string]*string `min:"1" type:"map"`
  5514  
  5515  	// A unique identifier for the object template.
  5516  	TemplateId *string `min:"1" type:"string"`
  5517  }
  5518  
  5519  // String returns the string representation.
  5520  //
  5521  // API parameter values that are decorated as "sensitive" in the API will not
  5522  // be included in the string output. The member name will be present, but the
  5523  // value will be replaced with "sensitive".
  5524  func (s GetProfileObjectTypeOutput) String() string {
  5525  	return awsutil.Prettify(s)
  5526  }
  5527  
  5528  // GoString returns the string representation.
  5529  //
  5530  // API parameter values that are decorated as "sensitive" in the API will not
  5531  // be included in the string output. The member name will be present, but the
  5532  // value will be replaced with "sensitive".
  5533  func (s GetProfileObjectTypeOutput) GoString() string {
  5534  	return s.String()
  5535  }
  5536  
  5537  // SetAllowProfileCreation sets the AllowProfileCreation field's value.
  5538  func (s *GetProfileObjectTypeOutput) SetAllowProfileCreation(v bool) *GetProfileObjectTypeOutput {
  5539  	s.AllowProfileCreation = &v
  5540  	return s
  5541  }
  5542  
  5543  // SetCreatedAt sets the CreatedAt field's value.
  5544  func (s *GetProfileObjectTypeOutput) SetCreatedAt(v time.Time) *GetProfileObjectTypeOutput {
  5545  	s.CreatedAt = &v
  5546  	return s
  5547  }
  5548  
  5549  // SetDescription sets the Description field's value.
  5550  func (s *GetProfileObjectTypeOutput) SetDescription(v string) *GetProfileObjectTypeOutput {
  5551  	s.Description = &v
  5552  	return s
  5553  }
  5554  
  5555  // SetEncryptionKey sets the EncryptionKey field's value.
  5556  func (s *GetProfileObjectTypeOutput) SetEncryptionKey(v string) *GetProfileObjectTypeOutput {
  5557  	s.EncryptionKey = &v
  5558  	return s
  5559  }
  5560  
  5561  // SetExpirationDays sets the ExpirationDays field's value.
  5562  func (s *GetProfileObjectTypeOutput) SetExpirationDays(v int64) *GetProfileObjectTypeOutput {
  5563  	s.ExpirationDays = &v
  5564  	return s
  5565  }
  5566  
  5567  // SetFields sets the Fields field's value.
  5568  func (s *GetProfileObjectTypeOutput) SetFields(v map[string]*ObjectTypeField) *GetProfileObjectTypeOutput {
  5569  	s.Fields = v
  5570  	return s
  5571  }
  5572  
  5573  // SetKeys sets the Keys field's value.
  5574  func (s *GetProfileObjectTypeOutput) SetKeys(v map[string][]*ObjectTypeKey) *GetProfileObjectTypeOutput {
  5575  	s.Keys = v
  5576  	return s
  5577  }
  5578  
  5579  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  5580  func (s *GetProfileObjectTypeOutput) SetLastUpdatedAt(v time.Time) *GetProfileObjectTypeOutput {
  5581  	s.LastUpdatedAt = &v
  5582  	return s
  5583  }
  5584  
  5585  // SetObjectTypeName sets the ObjectTypeName field's value.
  5586  func (s *GetProfileObjectTypeOutput) SetObjectTypeName(v string) *GetProfileObjectTypeOutput {
  5587  	s.ObjectTypeName = &v
  5588  	return s
  5589  }
  5590  
  5591  // SetTags sets the Tags field's value.
  5592  func (s *GetProfileObjectTypeOutput) SetTags(v map[string]*string) *GetProfileObjectTypeOutput {
  5593  	s.Tags = v
  5594  	return s
  5595  }
  5596  
  5597  // SetTemplateId sets the TemplateId field's value.
  5598  func (s *GetProfileObjectTypeOutput) SetTemplateId(v string) *GetProfileObjectTypeOutput {
  5599  	s.TemplateId = &v
  5600  	return s
  5601  }
  5602  
  5603  type GetProfileObjectTypeTemplateInput struct {
  5604  	_ struct{} `type:"structure" nopayload:"true"`
  5605  
  5606  	// A unique identifier for the object template.
  5607  	//
  5608  	// TemplateId is a required field
  5609  	TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"`
  5610  }
  5611  
  5612  // String returns the string representation.
  5613  //
  5614  // API parameter values that are decorated as "sensitive" in the API will not
  5615  // be included in the string output. The member name will be present, but the
  5616  // value will be replaced with "sensitive".
  5617  func (s GetProfileObjectTypeTemplateInput) String() string {
  5618  	return awsutil.Prettify(s)
  5619  }
  5620  
  5621  // GoString returns the string representation.
  5622  //
  5623  // API parameter values that are decorated as "sensitive" in the API will not
  5624  // be included in the string output. The member name will be present, but the
  5625  // value will be replaced with "sensitive".
  5626  func (s GetProfileObjectTypeTemplateInput) GoString() string {
  5627  	return s.String()
  5628  }
  5629  
  5630  // Validate inspects the fields of the type to determine if they are valid.
  5631  func (s *GetProfileObjectTypeTemplateInput) Validate() error {
  5632  	invalidParams := request.ErrInvalidParams{Context: "GetProfileObjectTypeTemplateInput"}
  5633  	if s.TemplateId == nil {
  5634  		invalidParams.Add(request.NewErrParamRequired("TemplateId"))
  5635  	}
  5636  	if s.TemplateId != nil && len(*s.TemplateId) < 1 {
  5637  		invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1))
  5638  	}
  5639  
  5640  	if invalidParams.Len() > 0 {
  5641  		return invalidParams
  5642  	}
  5643  	return nil
  5644  }
  5645  
  5646  // SetTemplateId sets the TemplateId field's value.
  5647  func (s *GetProfileObjectTypeTemplateInput) SetTemplateId(v string) *GetProfileObjectTypeTemplateInput {
  5648  	s.TemplateId = &v
  5649  	return s
  5650  }
  5651  
  5652  type GetProfileObjectTypeTemplateOutput struct {
  5653  	_ struct{} `type:"structure"`
  5654  
  5655  	// Indicates whether a profile should be created when data is received if one
  5656  	// doesn’t exist for an object of this type. The default is FALSE. If the
  5657  	// AllowProfileCreation flag is set to FALSE, then the service tries to fetch
  5658  	// a standard profile and associate this object with the profile. If it is set
  5659  	// to TRUE, and if no match is found, then the service creates a new standard
  5660  	// profile.
  5661  	AllowProfileCreation *bool `type:"boolean"`
  5662  
  5663  	// A map of the name and ObjectType field.
  5664  	Fields map[string]*ObjectTypeField `type:"map"`
  5665  
  5666  	// A list of unique keys that can be used to map data to the profile.
  5667  	Keys map[string][]*ObjectTypeKey `type:"map"`
  5668  
  5669  	// The name of the source of the object template.
  5670  	SourceName *string `min:"1" type:"string"`
  5671  
  5672  	// The source of the object template.
  5673  	SourceObject *string `min:"1" type:"string"`
  5674  
  5675  	// A unique identifier for the object template.
  5676  	TemplateId *string `min:"1" type:"string"`
  5677  }
  5678  
  5679  // String returns the string representation.
  5680  //
  5681  // API parameter values that are decorated as "sensitive" in the API will not
  5682  // be included in the string output. The member name will be present, but the
  5683  // value will be replaced with "sensitive".
  5684  func (s GetProfileObjectTypeTemplateOutput) String() string {
  5685  	return awsutil.Prettify(s)
  5686  }
  5687  
  5688  // GoString returns the string representation.
  5689  //
  5690  // API parameter values that are decorated as "sensitive" in the API will not
  5691  // be included in the string output. The member name will be present, but the
  5692  // value will be replaced with "sensitive".
  5693  func (s GetProfileObjectTypeTemplateOutput) GoString() string {
  5694  	return s.String()
  5695  }
  5696  
  5697  // SetAllowProfileCreation sets the AllowProfileCreation field's value.
  5698  func (s *GetProfileObjectTypeTemplateOutput) SetAllowProfileCreation(v bool) *GetProfileObjectTypeTemplateOutput {
  5699  	s.AllowProfileCreation = &v
  5700  	return s
  5701  }
  5702  
  5703  // SetFields sets the Fields field's value.
  5704  func (s *GetProfileObjectTypeTemplateOutput) SetFields(v map[string]*ObjectTypeField) *GetProfileObjectTypeTemplateOutput {
  5705  	s.Fields = v
  5706  	return s
  5707  }
  5708  
  5709  // SetKeys sets the Keys field's value.
  5710  func (s *GetProfileObjectTypeTemplateOutput) SetKeys(v map[string][]*ObjectTypeKey) *GetProfileObjectTypeTemplateOutput {
  5711  	s.Keys = v
  5712  	return s
  5713  }
  5714  
  5715  // SetSourceName sets the SourceName field's value.
  5716  func (s *GetProfileObjectTypeTemplateOutput) SetSourceName(v string) *GetProfileObjectTypeTemplateOutput {
  5717  	s.SourceName = &v
  5718  	return s
  5719  }
  5720  
  5721  // SetSourceObject sets the SourceObject field's value.
  5722  func (s *GetProfileObjectTypeTemplateOutput) SetSourceObject(v string) *GetProfileObjectTypeTemplateOutput {
  5723  	s.SourceObject = &v
  5724  	return s
  5725  }
  5726  
  5727  // SetTemplateId sets the TemplateId field's value.
  5728  func (s *GetProfileObjectTypeTemplateOutput) SetTemplateId(v string) *GetProfileObjectTypeTemplateOutput {
  5729  	s.TemplateId = &v
  5730  	return s
  5731  }
  5732  
  5733  // Specifies the configuration used when importing incremental records from
  5734  // the source.
  5735  type IncrementalPullConfig struct {
  5736  	_ struct{} `type:"structure"`
  5737  
  5738  	// A field that specifies the date time or timestamp field as the criteria to
  5739  	// use when importing incremental records from the source.
  5740  	DatetimeTypeFieldName *string `type:"string"`
  5741  }
  5742  
  5743  // String returns the string representation.
  5744  //
  5745  // API parameter values that are decorated as "sensitive" in the API will not
  5746  // be included in the string output. The member name will be present, but the
  5747  // value will be replaced with "sensitive".
  5748  func (s IncrementalPullConfig) String() string {
  5749  	return awsutil.Prettify(s)
  5750  }
  5751  
  5752  // GoString returns the string representation.
  5753  //
  5754  // API parameter values that are decorated as "sensitive" in the API will not
  5755  // be included in the string output. The member name will be present, but the
  5756  // value will be replaced with "sensitive".
  5757  func (s IncrementalPullConfig) GoString() string {
  5758  	return s.String()
  5759  }
  5760  
  5761  // SetDatetimeTypeFieldName sets the DatetimeTypeFieldName field's value.
  5762  func (s *IncrementalPullConfig) SetDatetimeTypeFieldName(v string) *IncrementalPullConfig {
  5763  	s.DatetimeTypeFieldName = &v
  5764  	return s
  5765  }
  5766  
  5767  // An internal service error occurred.
  5768  type InternalServerException struct {
  5769  	_            struct{}                  `type:"structure"`
  5770  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5771  
  5772  	Message_ *string `locationName:"Message" type:"string"`
  5773  }
  5774  
  5775  // String returns the string representation.
  5776  //
  5777  // API parameter values that are decorated as "sensitive" in the API will not
  5778  // be included in the string output. The member name will be present, but the
  5779  // value will be replaced with "sensitive".
  5780  func (s InternalServerException) String() string {
  5781  	return awsutil.Prettify(s)
  5782  }
  5783  
  5784  // GoString returns the string representation.
  5785  //
  5786  // API parameter values that are decorated as "sensitive" in the API will not
  5787  // be included in the string output. The member name will be present, but the
  5788  // value will be replaced with "sensitive".
  5789  func (s InternalServerException) GoString() string {
  5790  	return s.String()
  5791  }
  5792  
  5793  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  5794  	return &InternalServerException{
  5795  		RespMetadata: v,
  5796  	}
  5797  }
  5798  
  5799  // Code returns the exception type name.
  5800  func (s *InternalServerException) Code() string {
  5801  	return "InternalServerException"
  5802  }
  5803  
  5804  // Message returns the exception's message.
  5805  func (s *InternalServerException) Message() string {
  5806  	if s.Message_ != nil {
  5807  		return *s.Message_
  5808  	}
  5809  	return ""
  5810  }
  5811  
  5812  // OrigErr always returns nil, satisfies awserr.Error interface.
  5813  func (s *InternalServerException) OrigErr() error {
  5814  	return nil
  5815  }
  5816  
  5817  func (s *InternalServerException) Error() string {
  5818  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5819  }
  5820  
  5821  // Status code returns the HTTP status code for the request's response error.
  5822  func (s *InternalServerException) StatusCode() int {
  5823  	return s.RespMetadata.StatusCode
  5824  }
  5825  
  5826  // RequestID returns the service's response RequestID for request.
  5827  func (s *InternalServerException) RequestID() string {
  5828  	return s.RespMetadata.RequestID
  5829  }
  5830  
  5831  type ListAccountIntegrationsInput struct {
  5832  	_ struct{} `type:"structure"`
  5833  
  5834  	// The maximum number of objects returned per page.
  5835  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  5836  
  5837  	// The pagination token from the previous ListAccountIntegrations API call.
  5838  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  5839  
  5840  	// The URI of the S3 bucket or any other type of data source.
  5841  	//
  5842  	// Uri is a required field
  5843  	Uri *string `min:"1" type:"string" required:"true"`
  5844  }
  5845  
  5846  // String returns the string representation.
  5847  //
  5848  // API parameter values that are decorated as "sensitive" in the API will not
  5849  // be included in the string output. The member name will be present, but the
  5850  // value will be replaced with "sensitive".
  5851  func (s ListAccountIntegrationsInput) String() string {
  5852  	return awsutil.Prettify(s)
  5853  }
  5854  
  5855  // GoString returns the string representation.
  5856  //
  5857  // API parameter values that are decorated as "sensitive" in the API will not
  5858  // be included in the string output. The member name will be present, but the
  5859  // value will be replaced with "sensitive".
  5860  func (s ListAccountIntegrationsInput) GoString() string {
  5861  	return s.String()
  5862  }
  5863  
  5864  // Validate inspects the fields of the type to determine if they are valid.
  5865  func (s *ListAccountIntegrationsInput) Validate() error {
  5866  	invalidParams := request.ErrInvalidParams{Context: "ListAccountIntegrationsInput"}
  5867  	if s.MaxResults != nil && *s.MaxResults < 1 {
  5868  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  5869  	}
  5870  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  5871  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  5872  	}
  5873  	if s.Uri == nil {
  5874  		invalidParams.Add(request.NewErrParamRequired("Uri"))
  5875  	}
  5876  	if s.Uri != nil && len(*s.Uri) < 1 {
  5877  		invalidParams.Add(request.NewErrParamMinLen("Uri", 1))
  5878  	}
  5879  
  5880  	if invalidParams.Len() > 0 {
  5881  		return invalidParams
  5882  	}
  5883  	return nil
  5884  }
  5885  
  5886  // SetMaxResults sets the MaxResults field's value.
  5887  func (s *ListAccountIntegrationsInput) SetMaxResults(v int64) *ListAccountIntegrationsInput {
  5888  	s.MaxResults = &v
  5889  	return s
  5890  }
  5891  
  5892  // SetNextToken sets the NextToken field's value.
  5893  func (s *ListAccountIntegrationsInput) SetNextToken(v string) *ListAccountIntegrationsInput {
  5894  	s.NextToken = &v
  5895  	return s
  5896  }
  5897  
  5898  // SetUri sets the Uri field's value.
  5899  func (s *ListAccountIntegrationsInput) SetUri(v string) *ListAccountIntegrationsInput {
  5900  	s.Uri = &v
  5901  	return s
  5902  }
  5903  
  5904  type ListAccountIntegrationsOutput struct {
  5905  	_ struct{} `type:"structure"`
  5906  
  5907  	// The list of ListAccountIntegration instances.
  5908  	Items []*ListIntegrationItem `type:"list"`
  5909  
  5910  	// The pagination token from the previous ListAccountIntegrations API call.
  5911  	NextToken *string `min:"1" type:"string"`
  5912  }
  5913  
  5914  // String returns the string representation.
  5915  //
  5916  // API parameter values that are decorated as "sensitive" in the API will not
  5917  // be included in the string output. The member name will be present, but the
  5918  // value will be replaced with "sensitive".
  5919  func (s ListAccountIntegrationsOutput) String() string {
  5920  	return awsutil.Prettify(s)
  5921  }
  5922  
  5923  // GoString returns the string representation.
  5924  //
  5925  // API parameter values that are decorated as "sensitive" in the API will not
  5926  // be included in the string output. The member name will be present, but the
  5927  // value will be replaced with "sensitive".
  5928  func (s ListAccountIntegrationsOutput) GoString() string {
  5929  	return s.String()
  5930  }
  5931  
  5932  // SetItems sets the Items field's value.
  5933  func (s *ListAccountIntegrationsOutput) SetItems(v []*ListIntegrationItem) *ListAccountIntegrationsOutput {
  5934  	s.Items = v
  5935  	return s
  5936  }
  5937  
  5938  // SetNextToken sets the NextToken field's value.
  5939  func (s *ListAccountIntegrationsOutput) SetNextToken(v string) *ListAccountIntegrationsOutput {
  5940  	s.NextToken = &v
  5941  	return s
  5942  }
  5943  
  5944  // An object in a list that represents a domain.
  5945  type ListDomainItem struct {
  5946  	_ struct{} `type:"structure"`
  5947  
  5948  	// The timestamp of when the domain was created.
  5949  	//
  5950  	// CreatedAt is a required field
  5951  	CreatedAt *time.Time `type:"timestamp" required:"true"`
  5952  
  5953  	// The unique name of the domain.
  5954  	//
  5955  	// DomainName is a required field
  5956  	DomainName *string `min:"1" type:"string" required:"true"`
  5957  
  5958  	// The timestamp of when the domain was most recently edited.
  5959  	//
  5960  	// LastUpdatedAt is a required field
  5961  	LastUpdatedAt *time.Time `type:"timestamp" required:"true"`
  5962  
  5963  	// The tags used to organize, track, or control access for this resource.
  5964  	Tags map[string]*string `min:"1" type:"map"`
  5965  }
  5966  
  5967  // String returns the string representation.
  5968  //
  5969  // API parameter values that are decorated as "sensitive" in the API will not
  5970  // be included in the string output. The member name will be present, but the
  5971  // value will be replaced with "sensitive".
  5972  func (s ListDomainItem) String() string {
  5973  	return awsutil.Prettify(s)
  5974  }
  5975  
  5976  // GoString returns the string representation.
  5977  //
  5978  // API parameter values that are decorated as "sensitive" in the API will not
  5979  // be included in the string output. The member name will be present, but the
  5980  // value will be replaced with "sensitive".
  5981  func (s ListDomainItem) GoString() string {
  5982  	return s.String()
  5983  }
  5984  
  5985  // SetCreatedAt sets the CreatedAt field's value.
  5986  func (s *ListDomainItem) SetCreatedAt(v time.Time) *ListDomainItem {
  5987  	s.CreatedAt = &v
  5988  	return s
  5989  }
  5990  
  5991  // SetDomainName sets the DomainName field's value.
  5992  func (s *ListDomainItem) SetDomainName(v string) *ListDomainItem {
  5993  	s.DomainName = &v
  5994  	return s
  5995  }
  5996  
  5997  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  5998  func (s *ListDomainItem) SetLastUpdatedAt(v time.Time) *ListDomainItem {
  5999  	s.LastUpdatedAt = &v
  6000  	return s
  6001  }
  6002  
  6003  // SetTags sets the Tags field's value.
  6004  func (s *ListDomainItem) SetTags(v map[string]*string) *ListDomainItem {
  6005  	s.Tags = v
  6006  	return s
  6007  }
  6008  
  6009  type ListDomainsInput struct {
  6010  	_ struct{} `type:"structure" nopayload:"true"`
  6011  
  6012  	// The maximum number of objects returned per page.
  6013  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  6014  
  6015  	// The pagination token from the previous ListDomain API call.
  6016  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  6017  }
  6018  
  6019  // String returns the string representation.
  6020  //
  6021  // API parameter values that are decorated as "sensitive" in the API will not
  6022  // be included in the string output. The member name will be present, but the
  6023  // value will be replaced with "sensitive".
  6024  func (s ListDomainsInput) String() string {
  6025  	return awsutil.Prettify(s)
  6026  }
  6027  
  6028  // GoString returns the string representation.
  6029  //
  6030  // API parameter values that are decorated as "sensitive" in the API will not
  6031  // be included in the string output. The member name will be present, but the
  6032  // value will be replaced with "sensitive".
  6033  func (s ListDomainsInput) GoString() string {
  6034  	return s.String()
  6035  }
  6036  
  6037  // Validate inspects the fields of the type to determine if they are valid.
  6038  func (s *ListDomainsInput) Validate() error {
  6039  	invalidParams := request.ErrInvalidParams{Context: "ListDomainsInput"}
  6040  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6041  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6042  	}
  6043  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6044  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6045  	}
  6046  
  6047  	if invalidParams.Len() > 0 {
  6048  		return invalidParams
  6049  	}
  6050  	return nil
  6051  }
  6052  
  6053  // SetMaxResults sets the MaxResults field's value.
  6054  func (s *ListDomainsInput) SetMaxResults(v int64) *ListDomainsInput {
  6055  	s.MaxResults = &v
  6056  	return s
  6057  }
  6058  
  6059  // SetNextToken sets the NextToken field's value.
  6060  func (s *ListDomainsInput) SetNextToken(v string) *ListDomainsInput {
  6061  	s.NextToken = &v
  6062  	return s
  6063  }
  6064  
  6065  type ListDomainsOutput struct {
  6066  	_ struct{} `type:"structure"`
  6067  
  6068  	// The list of ListDomains instances.
  6069  	Items []*ListDomainItem `type:"list"`
  6070  
  6071  	// The pagination token from the previous ListDomains API call.
  6072  	NextToken *string `min:"1" type:"string"`
  6073  }
  6074  
  6075  // String returns the string representation.
  6076  //
  6077  // API parameter values that are decorated as "sensitive" in the API will not
  6078  // be included in the string output. The member name will be present, but the
  6079  // value will be replaced with "sensitive".
  6080  func (s ListDomainsOutput) String() string {
  6081  	return awsutil.Prettify(s)
  6082  }
  6083  
  6084  // GoString returns the string representation.
  6085  //
  6086  // API parameter values that are decorated as "sensitive" in the API will not
  6087  // be included in the string output. The member name will be present, but the
  6088  // value will be replaced with "sensitive".
  6089  func (s ListDomainsOutput) GoString() string {
  6090  	return s.String()
  6091  }
  6092  
  6093  // SetItems sets the Items field's value.
  6094  func (s *ListDomainsOutput) SetItems(v []*ListDomainItem) *ListDomainsOutput {
  6095  	s.Items = v
  6096  	return s
  6097  }
  6098  
  6099  // SetNextToken sets the NextToken field's value.
  6100  func (s *ListDomainsOutput) SetNextToken(v string) *ListDomainsOutput {
  6101  	s.NextToken = &v
  6102  	return s
  6103  }
  6104  
  6105  // An integration in list of integrations.
  6106  type ListIntegrationItem struct {
  6107  	_ struct{} `type:"structure"`
  6108  
  6109  	// The timestamp of when the domain was created.
  6110  	//
  6111  	// CreatedAt is a required field
  6112  	CreatedAt *time.Time `type:"timestamp" required:"true"`
  6113  
  6114  	// The unique name of the domain.
  6115  	//
  6116  	// DomainName is a required field
  6117  	DomainName *string `min:"1" type:"string" required:"true"`
  6118  
  6119  	// The timestamp of when the domain was most recently edited.
  6120  	//
  6121  	// LastUpdatedAt is a required field
  6122  	LastUpdatedAt *time.Time `type:"timestamp" required:"true"`
  6123  
  6124  	// The name of the profile object type.
  6125  	//
  6126  	// ObjectTypeName is a required field
  6127  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  6128  
  6129  	// The tags used to organize, track, or control access for this resource.
  6130  	Tags map[string]*string `min:"1" type:"map"`
  6131  
  6132  	// The URI of the S3 bucket or any other type of data source.
  6133  	//
  6134  	// Uri is a required field
  6135  	Uri *string `min:"1" type:"string" required:"true"`
  6136  }
  6137  
  6138  // String returns the string representation.
  6139  //
  6140  // API parameter values that are decorated as "sensitive" in the API will not
  6141  // be included in the string output. The member name will be present, but the
  6142  // value will be replaced with "sensitive".
  6143  func (s ListIntegrationItem) String() string {
  6144  	return awsutil.Prettify(s)
  6145  }
  6146  
  6147  // GoString returns the string representation.
  6148  //
  6149  // API parameter values that are decorated as "sensitive" in the API will not
  6150  // be included in the string output. The member name will be present, but the
  6151  // value will be replaced with "sensitive".
  6152  func (s ListIntegrationItem) GoString() string {
  6153  	return s.String()
  6154  }
  6155  
  6156  // SetCreatedAt sets the CreatedAt field's value.
  6157  func (s *ListIntegrationItem) SetCreatedAt(v time.Time) *ListIntegrationItem {
  6158  	s.CreatedAt = &v
  6159  	return s
  6160  }
  6161  
  6162  // SetDomainName sets the DomainName field's value.
  6163  func (s *ListIntegrationItem) SetDomainName(v string) *ListIntegrationItem {
  6164  	s.DomainName = &v
  6165  	return s
  6166  }
  6167  
  6168  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  6169  func (s *ListIntegrationItem) SetLastUpdatedAt(v time.Time) *ListIntegrationItem {
  6170  	s.LastUpdatedAt = &v
  6171  	return s
  6172  }
  6173  
  6174  // SetObjectTypeName sets the ObjectTypeName field's value.
  6175  func (s *ListIntegrationItem) SetObjectTypeName(v string) *ListIntegrationItem {
  6176  	s.ObjectTypeName = &v
  6177  	return s
  6178  }
  6179  
  6180  // SetTags sets the Tags field's value.
  6181  func (s *ListIntegrationItem) SetTags(v map[string]*string) *ListIntegrationItem {
  6182  	s.Tags = v
  6183  	return s
  6184  }
  6185  
  6186  // SetUri sets the Uri field's value.
  6187  func (s *ListIntegrationItem) SetUri(v string) *ListIntegrationItem {
  6188  	s.Uri = &v
  6189  	return s
  6190  }
  6191  
  6192  type ListIntegrationsInput struct {
  6193  	_ struct{} `type:"structure" nopayload:"true"`
  6194  
  6195  	// The unique name of the domain.
  6196  	//
  6197  	// DomainName is a required field
  6198  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  6199  
  6200  	// The maximum number of objects returned per page.
  6201  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  6202  
  6203  	// The pagination token from the previous ListIntegrations API call.
  6204  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  6205  }
  6206  
  6207  // String returns the string representation.
  6208  //
  6209  // API parameter values that are decorated as "sensitive" in the API will not
  6210  // be included in the string output. The member name will be present, but the
  6211  // value will be replaced with "sensitive".
  6212  func (s ListIntegrationsInput) String() string {
  6213  	return awsutil.Prettify(s)
  6214  }
  6215  
  6216  // GoString returns the string representation.
  6217  //
  6218  // API parameter values that are decorated as "sensitive" in the API will not
  6219  // be included in the string output. The member name will be present, but the
  6220  // value will be replaced with "sensitive".
  6221  func (s ListIntegrationsInput) GoString() string {
  6222  	return s.String()
  6223  }
  6224  
  6225  // Validate inspects the fields of the type to determine if they are valid.
  6226  func (s *ListIntegrationsInput) Validate() error {
  6227  	invalidParams := request.ErrInvalidParams{Context: "ListIntegrationsInput"}
  6228  	if s.DomainName == nil {
  6229  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6230  	}
  6231  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  6232  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  6233  	}
  6234  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6235  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6236  	}
  6237  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6238  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6239  	}
  6240  
  6241  	if invalidParams.Len() > 0 {
  6242  		return invalidParams
  6243  	}
  6244  	return nil
  6245  }
  6246  
  6247  // SetDomainName sets the DomainName field's value.
  6248  func (s *ListIntegrationsInput) SetDomainName(v string) *ListIntegrationsInput {
  6249  	s.DomainName = &v
  6250  	return s
  6251  }
  6252  
  6253  // SetMaxResults sets the MaxResults field's value.
  6254  func (s *ListIntegrationsInput) SetMaxResults(v int64) *ListIntegrationsInput {
  6255  	s.MaxResults = &v
  6256  	return s
  6257  }
  6258  
  6259  // SetNextToken sets the NextToken field's value.
  6260  func (s *ListIntegrationsInput) SetNextToken(v string) *ListIntegrationsInput {
  6261  	s.NextToken = &v
  6262  	return s
  6263  }
  6264  
  6265  type ListIntegrationsOutput struct {
  6266  	_ struct{} `type:"structure"`
  6267  
  6268  	// The list of ListIntegrations instances.
  6269  	Items []*ListIntegrationItem `type:"list"`
  6270  
  6271  	// The pagination token from the previous ListIntegrations API call.
  6272  	NextToken *string `min:"1" type:"string"`
  6273  }
  6274  
  6275  // String returns the string representation.
  6276  //
  6277  // API parameter values that are decorated as "sensitive" in the API will not
  6278  // be included in the string output. The member name will be present, but the
  6279  // value will be replaced with "sensitive".
  6280  func (s ListIntegrationsOutput) String() string {
  6281  	return awsutil.Prettify(s)
  6282  }
  6283  
  6284  // GoString returns the string representation.
  6285  //
  6286  // API parameter values that are decorated as "sensitive" in the API will not
  6287  // be included in the string output. The member name will be present, but the
  6288  // value will be replaced with "sensitive".
  6289  func (s ListIntegrationsOutput) GoString() string {
  6290  	return s.String()
  6291  }
  6292  
  6293  // SetItems sets the Items field's value.
  6294  func (s *ListIntegrationsOutput) SetItems(v []*ListIntegrationItem) *ListIntegrationsOutput {
  6295  	s.Items = v
  6296  	return s
  6297  }
  6298  
  6299  // SetNextToken sets the NextToken field's value.
  6300  func (s *ListIntegrationsOutput) SetNextToken(v string) *ListIntegrationsOutput {
  6301  	s.NextToken = &v
  6302  	return s
  6303  }
  6304  
  6305  // A ProfileObjectType instance.
  6306  type ListProfileObjectTypeItem struct {
  6307  	_ struct{} `type:"structure"`
  6308  
  6309  	// The timestamp of when the domain was created.
  6310  	CreatedAt *time.Time `type:"timestamp"`
  6311  
  6312  	// Description of the profile object type.
  6313  	//
  6314  	// Description is a required field
  6315  	Description *string `min:"1" type:"string" required:"true"`
  6316  
  6317  	// The timestamp of when the domain was most recently edited.
  6318  	LastUpdatedAt *time.Time `type:"timestamp"`
  6319  
  6320  	// The name of the profile object type.
  6321  	//
  6322  	// ObjectTypeName is a required field
  6323  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  6324  
  6325  	// The tags used to organize, track, or control access for this resource.
  6326  	Tags map[string]*string `min:"1" type:"map"`
  6327  }
  6328  
  6329  // String returns the string representation.
  6330  //
  6331  // API parameter values that are decorated as "sensitive" in the API will not
  6332  // be included in the string output. The member name will be present, but the
  6333  // value will be replaced with "sensitive".
  6334  func (s ListProfileObjectTypeItem) String() string {
  6335  	return awsutil.Prettify(s)
  6336  }
  6337  
  6338  // GoString returns the string representation.
  6339  //
  6340  // API parameter values that are decorated as "sensitive" in the API will not
  6341  // be included in the string output. The member name will be present, but the
  6342  // value will be replaced with "sensitive".
  6343  func (s ListProfileObjectTypeItem) GoString() string {
  6344  	return s.String()
  6345  }
  6346  
  6347  // SetCreatedAt sets the CreatedAt field's value.
  6348  func (s *ListProfileObjectTypeItem) SetCreatedAt(v time.Time) *ListProfileObjectTypeItem {
  6349  	s.CreatedAt = &v
  6350  	return s
  6351  }
  6352  
  6353  // SetDescription sets the Description field's value.
  6354  func (s *ListProfileObjectTypeItem) SetDescription(v string) *ListProfileObjectTypeItem {
  6355  	s.Description = &v
  6356  	return s
  6357  }
  6358  
  6359  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  6360  func (s *ListProfileObjectTypeItem) SetLastUpdatedAt(v time.Time) *ListProfileObjectTypeItem {
  6361  	s.LastUpdatedAt = &v
  6362  	return s
  6363  }
  6364  
  6365  // SetObjectTypeName sets the ObjectTypeName field's value.
  6366  func (s *ListProfileObjectTypeItem) SetObjectTypeName(v string) *ListProfileObjectTypeItem {
  6367  	s.ObjectTypeName = &v
  6368  	return s
  6369  }
  6370  
  6371  // SetTags sets the Tags field's value.
  6372  func (s *ListProfileObjectTypeItem) SetTags(v map[string]*string) *ListProfileObjectTypeItem {
  6373  	s.Tags = v
  6374  	return s
  6375  }
  6376  
  6377  // A ProfileObjectTypeTemplate in a list of ProfileObjectTypeTemplates.
  6378  type ListProfileObjectTypeTemplateItem struct {
  6379  	_ struct{} `type:"structure"`
  6380  
  6381  	// The name of the source of the object template.
  6382  	SourceName *string `min:"1" type:"string"`
  6383  
  6384  	// The source of the object template.
  6385  	SourceObject *string `min:"1" type:"string"`
  6386  
  6387  	// A unique identifier for the object template.
  6388  	TemplateId *string `min:"1" type:"string"`
  6389  }
  6390  
  6391  // String returns the string representation.
  6392  //
  6393  // API parameter values that are decorated as "sensitive" in the API will not
  6394  // be included in the string output. The member name will be present, but the
  6395  // value will be replaced with "sensitive".
  6396  func (s ListProfileObjectTypeTemplateItem) String() string {
  6397  	return awsutil.Prettify(s)
  6398  }
  6399  
  6400  // GoString returns the string representation.
  6401  //
  6402  // API parameter values that are decorated as "sensitive" in the API will not
  6403  // be included in the string output. The member name will be present, but the
  6404  // value will be replaced with "sensitive".
  6405  func (s ListProfileObjectTypeTemplateItem) GoString() string {
  6406  	return s.String()
  6407  }
  6408  
  6409  // SetSourceName sets the SourceName field's value.
  6410  func (s *ListProfileObjectTypeTemplateItem) SetSourceName(v string) *ListProfileObjectTypeTemplateItem {
  6411  	s.SourceName = &v
  6412  	return s
  6413  }
  6414  
  6415  // SetSourceObject sets the SourceObject field's value.
  6416  func (s *ListProfileObjectTypeTemplateItem) SetSourceObject(v string) *ListProfileObjectTypeTemplateItem {
  6417  	s.SourceObject = &v
  6418  	return s
  6419  }
  6420  
  6421  // SetTemplateId sets the TemplateId field's value.
  6422  func (s *ListProfileObjectTypeTemplateItem) SetTemplateId(v string) *ListProfileObjectTypeTemplateItem {
  6423  	s.TemplateId = &v
  6424  	return s
  6425  }
  6426  
  6427  type ListProfileObjectTypeTemplatesInput struct {
  6428  	_ struct{} `type:"structure" nopayload:"true"`
  6429  
  6430  	// The maximum number of objects returned per page.
  6431  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  6432  
  6433  	// The pagination token from the previous ListObjectTypeTemplates API call.
  6434  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  6435  }
  6436  
  6437  // String returns the string representation.
  6438  //
  6439  // API parameter values that are decorated as "sensitive" in the API will not
  6440  // be included in the string output. The member name will be present, but the
  6441  // value will be replaced with "sensitive".
  6442  func (s ListProfileObjectTypeTemplatesInput) String() string {
  6443  	return awsutil.Prettify(s)
  6444  }
  6445  
  6446  // GoString returns the string representation.
  6447  //
  6448  // API parameter values that are decorated as "sensitive" in the API will not
  6449  // be included in the string output. The member name will be present, but the
  6450  // value will be replaced with "sensitive".
  6451  func (s ListProfileObjectTypeTemplatesInput) GoString() string {
  6452  	return s.String()
  6453  }
  6454  
  6455  // Validate inspects the fields of the type to determine if they are valid.
  6456  func (s *ListProfileObjectTypeTemplatesInput) Validate() error {
  6457  	invalidParams := request.ErrInvalidParams{Context: "ListProfileObjectTypeTemplatesInput"}
  6458  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6459  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6460  	}
  6461  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6462  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6463  	}
  6464  
  6465  	if invalidParams.Len() > 0 {
  6466  		return invalidParams
  6467  	}
  6468  	return nil
  6469  }
  6470  
  6471  // SetMaxResults sets the MaxResults field's value.
  6472  func (s *ListProfileObjectTypeTemplatesInput) SetMaxResults(v int64) *ListProfileObjectTypeTemplatesInput {
  6473  	s.MaxResults = &v
  6474  	return s
  6475  }
  6476  
  6477  // SetNextToken sets the NextToken field's value.
  6478  func (s *ListProfileObjectTypeTemplatesInput) SetNextToken(v string) *ListProfileObjectTypeTemplatesInput {
  6479  	s.NextToken = &v
  6480  	return s
  6481  }
  6482  
  6483  type ListProfileObjectTypeTemplatesOutput struct {
  6484  	_ struct{} `type:"structure"`
  6485  
  6486  	// The list of ListProfileObjectType template instances.
  6487  	Items []*ListProfileObjectTypeTemplateItem `type:"list"`
  6488  
  6489  	// The pagination token from the previous ListObjectTypeTemplates API call.
  6490  	NextToken *string `min:"1" type:"string"`
  6491  }
  6492  
  6493  // String returns the string representation.
  6494  //
  6495  // API parameter values that are decorated as "sensitive" in the API will not
  6496  // be included in the string output. The member name will be present, but the
  6497  // value will be replaced with "sensitive".
  6498  func (s ListProfileObjectTypeTemplatesOutput) String() string {
  6499  	return awsutil.Prettify(s)
  6500  }
  6501  
  6502  // GoString returns the string representation.
  6503  //
  6504  // API parameter values that are decorated as "sensitive" in the API will not
  6505  // be included in the string output. The member name will be present, but the
  6506  // value will be replaced with "sensitive".
  6507  func (s ListProfileObjectTypeTemplatesOutput) GoString() string {
  6508  	return s.String()
  6509  }
  6510  
  6511  // SetItems sets the Items field's value.
  6512  func (s *ListProfileObjectTypeTemplatesOutput) SetItems(v []*ListProfileObjectTypeTemplateItem) *ListProfileObjectTypeTemplatesOutput {
  6513  	s.Items = v
  6514  	return s
  6515  }
  6516  
  6517  // SetNextToken sets the NextToken field's value.
  6518  func (s *ListProfileObjectTypeTemplatesOutput) SetNextToken(v string) *ListProfileObjectTypeTemplatesOutput {
  6519  	s.NextToken = &v
  6520  	return s
  6521  }
  6522  
  6523  type ListProfileObjectTypesInput struct {
  6524  	_ struct{} `type:"structure" nopayload:"true"`
  6525  
  6526  	// The unique name of the domain.
  6527  	//
  6528  	// DomainName is a required field
  6529  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  6530  
  6531  	// The maximum number of objects returned per page.
  6532  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  6533  
  6534  	// Identifies the next page of results to return.
  6535  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  6536  }
  6537  
  6538  // String returns the string representation.
  6539  //
  6540  // API parameter values that are decorated as "sensitive" in the API will not
  6541  // be included in the string output. The member name will be present, but the
  6542  // value will be replaced with "sensitive".
  6543  func (s ListProfileObjectTypesInput) String() string {
  6544  	return awsutil.Prettify(s)
  6545  }
  6546  
  6547  // GoString returns the string representation.
  6548  //
  6549  // API parameter values that are decorated as "sensitive" in the API will not
  6550  // be included in the string output. The member name will be present, but the
  6551  // value will be replaced with "sensitive".
  6552  func (s ListProfileObjectTypesInput) GoString() string {
  6553  	return s.String()
  6554  }
  6555  
  6556  // Validate inspects the fields of the type to determine if they are valid.
  6557  func (s *ListProfileObjectTypesInput) Validate() error {
  6558  	invalidParams := request.ErrInvalidParams{Context: "ListProfileObjectTypesInput"}
  6559  	if s.DomainName == nil {
  6560  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6561  	}
  6562  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  6563  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  6564  	}
  6565  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6566  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6567  	}
  6568  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6569  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6570  	}
  6571  
  6572  	if invalidParams.Len() > 0 {
  6573  		return invalidParams
  6574  	}
  6575  	return nil
  6576  }
  6577  
  6578  // SetDomainName sets the DomainName field's value.
  6579  func (s *ListProfileObjectTypesInput) SetDomainName(v string) *ListProfileObjectTypesInput {
  6580  	s.DomainName = &v
  6581  	return s
  6582  }
  6583  
  6584  // SetMaxResults sets the MaxResults field's value.
  6585  func (s *ListProfileObjectTypesInput) SetMaxResults(v int64) *ListProfileObjectTypesInput {
  6586  	s.MaxResults = &v
  6587  	return s
  6588  }
  6589  
  6590  // SetNextToken sets the NextToken field's value.
  6591  func (s *ListProfileObjectTypesInput) SetNextToken(v string) *ListProfileObjectTypesInput {
  6592  	s.NextToken = &v
  6593  	return s
  6594  }
  6595  
  6596  type ListProfileObjectTypesOutput struct {
  6597  	_ struct{} `type:"structure"`
  6598  
  6599  	// The list of ListProfileObjectTypes instances.
  6600  	Items []*ListProfileObjectTypeItem `type:"list"`
  6601  
  6602  	// Identifies the next page of results to return.
  6603  	NextToken *string `min:"1" type:"string"`
  6604  }
  6605  
  6606  // String returns the string representation.
  6607  //
  6608  // API parameter values that are decorated as "sensitive" in the API will not
  6609  // be included in the string output. The member name will be present, but the
  6610  // value will be replaced with "sensitive".
  6611  func (s ListProfileObjectTypesOutput) String() string {
  6612  	return awsutil.Prettify(s)
  6613  }
  6614  
  6615  // GoString returns the string representation.
  6616  //
  6617  // API parameter values that are decorated as "sensitive" in the API will not
  6618  // be included in the string output. The member name will be present, but the
  6619  // value will be replaced with "sensitive".
  6620  func (s ListProfileObjectTypesOutput) GoString() string {
  6621  	return s.String()
  6622  }
  6623  
  6624  // SetItems sets the Items field's value.
  6625  func (s *ListProfileObjectTypesOutput) SetItems(v []*ListProfileObjectTypeItem) *ListProfileObjectTypesOutput {
  6626  	s.Items = v
  6627  	return s
  6628  }
  6629  
  6630  // SetNextToken sets the NextToken field's value.
  6631  func (s *ListProfileObjectTypesOutput) SetNextToken(v string) *ListProfileObjectTypesOutput {
  6632  	s.NextToken = &v
  6633  	return s
  6634  }
  6635  
  6636  type ListProfileObjectsInput struct {
  6637  	_ struct{} `type:"structure"`
  6638  
  6639  	// The unique name of the domain.
  6640  	//
  6641  	// DomainName is a required field
  6642  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  6643  
  6644  	// The maximum number of objects returned per page.
  6645  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  6646  
  6647  	// The pagination token from the previous call to ListProfileObjects.
  6648  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  6649  
  6650  	// Applies a filter to the response to include profile objects with the specified
  6651  	// index values. This filter is only supported for ObjectTypeName _asset and
  6652  	// _case.
  6653  	ObjectFilter *ObjectFilter `type:"structure"`
  6654  
  6655  	// The name of the profile object type.
  6656  	//
  6657  	// ObjectTypeName is a required field
  6658  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  6659  
  6660  	// The unique identifier of a customer profile.
  6661  	//
  6662  	// ProfileId is a required field
  6663  	ProfileId *string `type:"string" required:"true"`
  6664  }
  6665  
  6666  // String returns the string representation.
  6667  //
  6668  // API parameter values that are decorated as "sensitive" in the API will not
  6669  // be included in the string output. The member name will be present, but the
  6670  // value will be replaced with "sensitive".
  6671  func (s ListProfileObjectsInput) String() string {
  6672  	return awsutil.Prettify(s)
  6673  }
  6674  
  6675  // GoString returns the string representation.
  6676  //
  6677  // API parameter values that are decorated as "sensitive" in the API will not
  6678  // be included in the string output. The member name will be present, but the
  6679  // value will be replaced with "sensitive".
  6680  func (s ListProfileObjectsInput) GoString() string {
  6681  	return s.String()
  6682  }
  6683  
  6684  // Validate inspects the fields of the type to determine if they are valid.
  6685  func (s *ListProfileObjectsInput) Validate() error {
  6686  	invalidParams := request.ErrInvalidParams{Context: "ListProfileObjectsInput"}
  6687  	if s.DomainName == nil {
  6688  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  6689  	}
  6690  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  6691  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  6692  	}
  6693  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6694  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6695  	}
  6696  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6697  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6698  	}
  6699  	if s.ObjectTypeName == nil {
  6700  		invalidParams.Add(request.NewErrParamRequired("ObjectTypeName"))
  6701  	}
  6702  	if s.ObjectTypeName != nil && len(*s.ObjectTypeName) < 1 {
  6703  		invalidParams.Add(request.NewErrParamMinLen("ObjectTypeName", 1))
  6704  	}
  6705  	if s.ProfileId == nil {
  6706  		invalidParams.Add(request.NewErrParamRequired("ProfileId"))
  6707  	}
  6708  	if s.ObjectFilter != nil {
  6709  		if err := s.ObjectFilter.Validate(); err != nil {
  6710  			invalidParams.AddNested("ObjectFilter", err.(request.ErrInvalidParams))
  6711  		}
  6712  	}
  6713  
  6714  	if invalidParams.Len() > 0 {
  6715  		return invalidParams
  6716  	}
  6717  	return nil
  6718  }
  6719  
  6720  // SetDomainName sets the DomainName field's value.
  6721  func (s *ListProfileObjectsInput) SetDomainName(v string) *ListProfileObjectsInput {
  6722  	s.DomainName = &v
  6723  	return s
  6724  }
  6725  
  6726  // SetMaxResults sets the MaxResults field's value.
  6727  func (s *ListProfileObjectsInput) SetMaxResults(v int64) *ListProfileObjectsInput {
  6728  	s.MaxResults = &v
  6729  	return s
  6730  }
  6731  
  6732  // SetNextToken sets the NextToken field's value.
  6733  func (s *ListProfileObjectsInput) SetNextToken(v string) *ListProfileObjectsInput {
  6734  	s.NextToken = &v
  6735  	return s
  6736  }
  6737  
  6738  // SetObjectFilter sets the ObjectFilter field's value.
  6739  func (s *ListProfileObjectsInput) SetObjectFilter(v *ObjectFilter) *ListProfileObjectsInput {
  6740  	s.ObjectFilter = v
  6741  	return s
  6742  }
  6743  
  6744  // SetObjectTypeName sets the ObjectTypeName field's value.
  6745  func (s *ListProfileObjectsInput) SetObjectTypeName(v string) *ListProfileObjectsInput {
  6746  	s.ObjectTypeName = &v
  6747  	return s
  6748  }
  6749  
  6750  // SetProfileId sets the ProfileId field's value.
  6751  func (s *ListProfileObjectsInput) SetProfileId(v string) *ListProfileObjectsInput {
  6752  	s.ProfileId = &v
  6753  	return s
  6754  }
  6755  
  6756  // A ProfileObject in a list of ProfileObjects.
  6757  type ListProfileObjectsItem struct {
  6758  	_ struct{} `type:"structure"`
  6759  
  6760  	// A JSON representation of a ProfileObject that belongs to a profile.
  6761  	Object *string `min:"1" type:"string"`
  6762  
  6763  	// Specifies the kind of object being added to a profile, such as "Salesforce-Account."
  6764  	ObjectTypeName *string `min:"1" type:"string"`
  6765  
  6766  	// The unique identifier of the ProfileObject generated by the service.
  6767  	ProfileObjectUniqueKey *string `min:"1" type:"string"`
  6768  }
  6769  
  6770  // String returns the string representation.
  6771  //
  6772  // API parameter values that are decorated as "sensitive" in the API will not
  6773  // be included in the string output. The member name will be present, but the
  6774  // value will be replaced with "sensitive".
  6775  func (s ListProfileObjectsItem) String() string {
  6776  	return awsutil.Prettify(s)
  6777  }
  6778  
  6779  // GoString returns the string representation.
  6780  //
  6781  // API parameter values that are decorated as "sensitive" in the API will not
  6782  // be included in the string output. The member name will be present, but the
  6783  // value will be replaced with "sensitive".
  6784  func (s ListProfileObjectsItem) GoString() string {
  6785  	return s.String()
  6786  }
  6787  
  6788  // SetObject sets the Object field's value.
  6789  func (s *ListProfileObjectsItem) SetObject(v string) *ListProfileObjectsItem {
  6790  	s.Object = &v
  6791  	return s
  6792  }
  6793  
  6794  // SetObjectTypeName sets the ObjectTypeName field's value.
  6795  func (s *ListProfileObjectsItem) SetObjectTypeName(v string) *ListProfileObjectsItem {
  6796  	s.ObjectTypeName = &v
  6797  	return s
  6798  }
  6799  
  6800  // SetProfileObjectUniqueKey sets the ProfileObjectUniqueKey field's value.
  6801  func (s *ListProfileObjectsItem) SetProfileObjectUniqueKey(v string) *ListProfileObjectsItem {
  6802  	s.ProfileObjectUniqueKey = &v
  6803  	return s
  6804  }
  6805  
  6806  type ListProfileObjectsOutput struct {
  6807  	_ struct{} `type:"structure"`
  6808  
  6809  	// The list of ListProfileObject instances.
  6810  	Items []*ListProfileObjectsItem `type:"list"`
  6811  
  6812  	// The pagination token from the previous call to ListProfileObjects.
  6813  	NextToken *string `min:"1" type:"string"`
  6814  }
  6815  
  6816  // String returns the string representation.
  6817  //
  6818  // API parameter values that are decorated as "sensitive" in the API will not
  6819  // be included in the string output. The member name will be present, but the
  6820  // value will be replaced with "sensitive".
  6821  func (s ListProfileObjectsOutput) String() string {
  6822  	return awsutil.Prettify(s)
  6823  }
  6824  
  6825  // GoString returns the string representation.
  6826  //
  6827  // API parameter values that are decorated as "sensitive" in the API will not
  6828  // be included in the string output. The member name will be present, but the
  6829  // value will be replaced with "sensitive".
  6830  func (s ListProfileObjectsOutput) GoString() string {
  6831  	return s.String()
  6832  }
  6833  
  6834  // SetItems sets the Items field's value.
  6835  func (s *ListProfileObjectsOutput) SetItems(v []*ListProfileObjectsItem) *ListProfileObjectsOutput {
  6836  	s.Items = v
  6837  	return s
  6838  }
  6839  
  6840  // SetNextToken sets the NextToken field's value.
  6841  func (s *ListProfileObjectsOutput) SetNextToken(v string) *ListProfileObjectsOutput {
  6842  	s.NextToken = &v
  6843  	return s
  6844  }
  6845  
  6846  type ListTagsForResourceInput struct {
  6847  	_ struct{} `type:"structure" nopayload:"true"`
  6848  
  6849  	// The ARN of the resource for which you want to view tags.
  6850  	//
  6851  	// ResourceArn is a required field
  6852  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  6853  }
  6854  
  6855  // String returns the string representation.
  6856  //
  6857  // API parameter values that are decorated as "sensitive" in the API will not
  6858  // be included in the string output. The member name will be present, but the
  6859  // value will be replaced with "sensitive".
  6860  func (s ListTagsForResourceInput) String() string {
  6861  	return awsutil.Prettify(s)
  6862  }
  6863  
  6864  // GoString returns the string representation.
  6865  //
  6866  // API parameter values that are decorated as "sensitive" in the API will not
  6867  // be included in the string output. The member name will be present, but the
  6868  // value will be replaced with "sensitive".
  6869  func (s ListTagsForResourceInput) GoString() string {
  6870  	return s.String()
  6871  }
  6872  
  6873  // Validate inspects the fields of the type to determine if they are valid.
  6874  func (s *ListTagsForResourceInput) Validate() error {
  6875  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  6876  	if s.ResourceArn == nil {
  6877  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  6878  	}
  6879  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  6880  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  6881  	}
  6882  
  6883  	if invalidParams.Len() > 0 {
  6884  		return invalidParams
  6885  	}
  6886  	return nil
  6887  }
  6888  
  6889  // SetResourceArn sets the ResourceArn field's value.
  6890  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  6891  	s.ResourceArn = &v
  6892  	return s
  6893  }
  6894  
  6895  type ListTagsForResourceOutput struct {
  6896  	_ struct{} `type:"structure"`
  6897  
  6898  	// The tags used to organize, track, or control access for this resource.
  6899  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  6900  }
  6901  
  6902  // String returns the string representation.
  6903  //
  6904  // API parameter values that are decorated as "sensitive" in the API will not
  6905  // be included in the string output. The member name will be present, but the
  6906  // value will be replaced with "sensitive".
  6907  func (s ListTagsForResourceOutput) String() string {
  6908  	return awsutil.Prettify(s)
  6909  }
  6910  
  6911  // GoString returns the string representation.
  6912  //
  6913  // API parameter values that are decorated as "sensitive" in the API will not
  6914  // be included in the string output. The member name will be present, but the
  6915  // value will be replaced with "sensitive".
  6916  func (s ListTagsForResourceOutput) GoString() string {
  6917  	return s.String()
  6918  }
  6919  
  6920  // SetTags sets the Tags field's value.
  6921  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  6922  	s.Tags = v
  6923  	return s
  6924  }
  6925  
  6926  // The properties that are applied when Marketo is being used as a source.
  6927  type MarketoSourceProperties struct {
  6928  	_ struct{} `type:"structure"`
  6929  
  6930  	// The object specified in the Marketo flow source.
  6931  	//
  6932  	// Object is a required field
  6933  	Object *string `type:"string" required:"true"`
  6934  }
  6935  
  6936  // String returns the string representation.
  6937  //
  6938  // API parameter values that are decorated as "sensitive" in the API will not
  6939  // be included in the string output. The member name will be present, but the
  6940  // value will be replaced with "sensitive".
  6941  func (s MarketoSourceProperties) String() string {
  6942  	return awsutil.Prettify(s)
  6943  }
  6944  
  6945  // GoString returns the string representation.
  6946  //
  6947  // API parameter values that are decorated as "sensitive" in the API will not
  6948  // be included in the string output. The member name will be present, but the
  6949  // value will be replaced with "sensitive".
  6950  func (s MarketoSourceProperties) GoString() string {
  6951  	return s.String()
  6952  }
  6953  
  6954  // Validate inspects the fields of the type to determine if they are valid.
  6955  func (s *MarketoSourceProperties) Validate() error {
  6956  	invalidParams := request.ErrInvalidParams{Context: "MarketoSourceProperties"}
  6957  	if s.Object == nil {
  6958  		invalidParams.Add(request.NewErrParamRequired("Object"))
  6959  	}
  6960  
  6961  	if invalidParams.Len() > 0 {
  6962  		return invalidParams
  6963  	}
  6964  	return nil
  6965  }
  6966  
  6967  // SetObject sets the Object field's value.
  6968  func (s *MarketoSourceProperties) SetObject(v string) *MarketoSourceProperties {
  6969  	s.Object = &v
  6970  	return s
  6971  }
  6972  
  6973  // The Match group object.
  6974  type MatchItem struct {
  6975  	_ struct{} `type:"structure"`
  6976  
  6977  	// The unique identifiers for this group of profiles that match.
  6978  	MatchId *string `min:"1" type:"string"`
  6979  
  6980  	// A list of identifiers for profiles that match.
  6981  	ProfileIds []*string `type:"list"`
  6982  }
  6983  
  6984  // String returns the string representation.
  6985  //
  6986  // API parameter values that are decorated as "sensitive" in the API will not
  6987  // be included in the string output. The member name will be present, but the
  6988  // value will be replaced with "sensitive".
  6989  func (s MatchItem) String() string {
  6990  	return awsutil.Prettify(s)
  6991  }
  6992  
  6993  // GoString returns the string representation.
  6994  //
  6995  // API parameter values that are decorated as "sensitive" in the API will not
  6996  // be included in the string output. The member name will be present, but the
  6997  // value will be replaced with "sensitive".
  6998  func (s MatchItem) GoString() string {
  6999  	return s.String()
  7000  }
  7001  
  7002  // SetMatchId sets the MatchId field's value.
  7003  func (s *MatchItem) SetMatchId(v string) *MatchItem {
  7004  	s.MatchId = &v
  7005  	return s
  7006  }
  7007  
  7008  // SetProfileIds sets the ProfileIds field's value.
  7009  func (s *MatchItem) SetProfileIds(v []*string) *MatchItem {
  7010  	s.ProfileIds = v
  7011  	return s
  7012  }
  7013  
  7014  // The flag that enables the matching process of duplicate profiles.
  7015  type MatchingRequest struct {
  7016  	_ struct{} `type:"structure"`
  7017  
  7018  	// The flag that enables the matching process of duplicate profiles.
  7019  	//
  7020  	// Enabled is a required field
  7021  	Enabled *bool `type:"boolean" required:"true"`
  7022  }
  7023  
  7024  // String returns the string representation.
  7025  //
  7026  // API parameter values that are decorated as "sensitive" in the API will not
  7027  // be included in the string output. The member name will be present, but the
  7028  // value will be replaced with "sensitive".
  7029  func (s MatchingRequest) String() string {
  7030  	return awsutil.Prettify(s)
  7031  }
  7032  
  7033  // GoString returns the string representation.
  7034  //
  7035  // API parameter values that are decorated as "sensitive" in the API will not
  7036  // be included in the string output. The member name will be present, but the
  7037  // value will be replaced with "sensitive".
  7038  func (s MatchingRequest) GoString() string {
  7039  	return s.String()
  7040  }
  7041  
  7042  // Validate inspects the fields of the type to determine if they are valid.
  7043  func (s *MatchingRequest) Validate() error {
  7044  	invalidParams := request.ErrInvalidParams{Context: "MatchingRequest"}
  7045  	if s.Enabled == nil {
  7046  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  7047  	}
  7048  
  7049  	if invalidParams.Len() > 0 {
  7050  		return invalidParams
  7051  	}
  7052  	return nil
  7053  }
  7054  
  7055  // SetEnabled sets the Enabled field's value.
  7056  func (s *MatchingRequest) SetEnabled(v bool) *MatchingRequest {
  7057  	s.Enabled = &v
  7058  	return s
  7059  }
  7060  
  7061  // The flag that enables the matching process of duplicate profiles.
  7062  type MatchingResponse struct {
  7063  	_ struct{} `type:"structure"`
  7064  
  7065  	// The flag that enables the matching process of duplicate profiles.
  7066  	Enabled *bool `type:"boolean"`
  7067  }
  7068  
  7069  // String returns the string representation.
  7070  //
  7071  // API parameter values that are decorated as "sensitive" in the API will not
  7072  // be included in the string output. The member name will be present, but the
  7073  // value will be replaced with "sensitive".
  7074  func (s MatchingResponse) String() string {
  7075  	return awsutil.Prettify(s)
  7076  }
  7077  
  7078  // GoString returns the string representation.
  7079  //
  7080  // API parameter values that are decorated as "sensitive" in the API will not
  7081  // be included in the string output. The member name will be present, but the
  7082  // value will be replaced with "sensitive".
  7083  func (s MatchingResponse) GoString() string {
  7084  	return s.String()
  7085  }
  7086  
  7087  // SetEnabled sets the Enabled field's value.
  7088  func (s *MatchingResponse) SetEnabled(v bool) *MatchingResponse {
  7089  	s.Enabled = &v
  7090  	return s
  7091  }
  7092  
  7093  type MergeProfilesInput struct {
  7094  	_ struct{} `type:"structure"`
  7095  
  7096  	// The unique name of the domain.
  7097  	//
  7098  	// DomainName is a required field
  7099  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  7100  
  7101  	// The identifiers of the fields in the profile that has the information you
  7102  	// want to apply to the merge. For example, say you want to merge EmailAddress
  7103  	// from Profile1 into MainProfile. This would be the identifier of the EmailAddress
  7104  	// field in Profile1.
  7105  	FieldSourceProfileIds *FieldSourceProfileIds `type:"structure"`
  7106  
  7107  	// The identifier of the profile to be taken.
  7108  	//
  7109  	// MainProfileId is a required field
  7110  	MainProfileId *string `type:"string" required:"true"`
  7111  
  7112  	// The identifier of the profile to be merged into MainProfileId.
  7113  	//
  7114  	// ProfileIdsToBeMerged is a required field
  7115  	ProfileIdsToBeMerged []*string `min:"1" type:"list" required:"true"`
  7116  }
  7117  
  7118  // String returns the string representation.
  7119  //
  7120  // API parameter values that are decorated as "sensitive" in the API will not
  7121  // be included in the string output. The member name will be present, but the
  7122  // value will be replaced with "sensitive".
  7123  func (s MergeProfilesInput) String() string {
  7124  	return awsutil.Prettify(s)
  7125  }
  7126  
  7127  // GoString returns the string representation.
  7128  //
  7129  // API parameter values that are decorated as "sensitive" in the API will not
  7130  // be included in the string output. The member name will be present, but the
  7131  // value will be replaced with "sensitive".
  7132  func (s MergeProfilesInput) GoString() string {
  7133  	return s.String()
  7134  }
  7135  
  7136  // Validate inspects the fields of the type to determine if they are valid.
  7137  func (s *MergeProfilesInput) Validate() error {
  7138  	invalidParams := request.ErrInvalidParams{Context: "MergeProfilesInput"}
  7139  	if s.DomainName == nil {
  7140  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7141  	}
  7142  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  7143  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  7144  	}
  7145  	if s.MainProfileId == nil {
  7146  		invalidParams.Add(request.NewErrParamRequired("MainProfileId"))
  7147  	}
  7148  	if s.ProfileIdsToBeMerged == nil {
  7149  		invalidParams.Add(request.NewErrParamRequired("ProfileIdsToBeMerged"))
  7150  	}
  7151  	if s.ProfileIdsToBeMerged != nil && len(s.ProfileIdsToBeMerged) < 1 {
  7152  		invalidParams.Add(request.NewErrParamMinLen("ProfileIdsToBeMerged", 1))
  7153  	}
  7154  
  7155  	if invalidParams.Len() > 0 {
  7156  		return invalidParams
  7157  	}
  7158  	return nil
  7159  }
  7160  
  7161  // SetDomainName sets the DomainName field's value.
  7162  func (s *MergeProfilesInput) SetDomainName(v string) *MergeProfilesInput {
  7163  	s.DomainName = &v
  7164  	return s
  7165  }
  7166  
  7167  // SetFieldSourceProfileIds sets the FieldSourceProfileIds field's value.
  7168  func (s *MergeProfilesInput) SetFieldSourceProfileIds(v *FieldSourceProfileIds) *MergeProfilesInput {
  7169  	s.FieldSourceProfileIds = v
  7170  	return s
  7171  }
  7172  
  7173  // SetMainProfileId sets the MainProfileId field's value.
  7174  func (s *MergeProfilesInput) SetMainProfileId(v string) *MergeProfilesInput {
  7175  	s.MainProfileId = &v
  7176  	return s
  7177  }
  7178  
  7179  // SetProfileIdsToBeMerged sets the ProfileIdsToBeMerged field's value.
  7180  func (s *MergeProfilesInput) SetProfileIdsToBeMerged(v []*string) *MergeProfilesInput {
  7181  	s.ProfileIdsToBeMerged = v
  7182  	return s
  7183  }
  7184  
  7185  type MergeProfilesOutput struct {
  7186  	_ struct{} `type:"structure"`
  7187  
  7188  	// A message that indicates the merge request is complete.
  7189  	Message *string `type:"string"`
  7190  }
  7191  
  7192  // String returns the string representation.
  7193  //
  7194  // API parameter values that are decorated as "sensitive" in the API will not
  7195  // be included in the string output. The member name will be present, but the
  7196  // value will be replaced with "sensitive".
  7197  func (s MergeProfilesOutput) String() string {
  7198  	return awsutil.Prettify(s)
  7199  }
  7200  
  7201  // GoString returns the string representation.
  7202  //
  7203  // API parameter values that are decorated as "sensitive" in the API will not
  7204  // be included in the string output. The member name will be present, but the
  7205  // value will be replaced with "sensitive".
  7206  func (s MergeProfilesOutput) GoString() string {
  7207  	return s.String()
  7208  }
  7209  
  7210  // SetMessage sets the Message field's value.
  7211  func (s *MergeProfilesOutput) SetMessage(v string) *MergeProfilesOutput {
  7212  	s.Message = &v
  7213  	return s
  7214  }
  7215  
  7216  // The filter applied to ListProfileObjects response to include profile objects
  7217  // with the specified index values. This filter is only supported for ObjectTypeName
  7218  // _asset and _case.
  7219  type ObjectFilter struct {
  7220  	_ struct{} `type:"structure"`
  7221  
  7222  	// A searchable identifier of a standard profile object. The predefined keys
  7223  	// you can use to search for _asset include: _assetId, _assetName, _serialNumber.
  7224  	// The predefined keys you can use to search for _case include: _caseId.
  7225  	//
  7226  	// KeyName is a required field
  7227  	KeyName *string `min:"1" type:"string" required:"true"`
  7228  
  7229  	// A list of key values.
  7230  	//
  7231  	// Values is a required field
  7232  	Values []*string `type:"list" required:"true"`
  7233  }
  7234  
  7235  // String returns the string representation.
  7236  //
  7237  // API parameter values that are decorated as "sensitive" in the API will not
  7238  // be included in the string output. The member name will be present, but the
  7239  // value will be replaced with "sensitive".
  7240  func (s ObjectFilter) String() string {
  7241  	return awsutil.Prettify(s)
  7242  }
  7243  
  7244  // GoString returns the string representation.
  7245  //
  7246  // API parameter values that are decorated as "sensitive" in the API will not
  7247  // be included in the string output. The member name will be present, but the
  7248  // value will be replaced with "sensitive".
  7249  func (s ObjectFilter) GoString() string {
  7250  	return s.String()
  7251  }
  7252  
  7253  // Validate inspects the fields of the type to determine if they are valid.
  7254  func (s *ObjectFilter) Validate() error {
  7255  	invalidParams := request.ErrInvalidParams{Context: "ObjectFilter"}
  7256  	if s.KeyName == nil {
  7257  		invalidParams.Add(request.NewErrParamRequired("KeyName"))
  7258  	}
  7259  	if s.KeyName != nil && len(*s.KeyName) < 1 {
  7260  		invalidParams.Add(request.NewErrParamMinLen("KeyName", 1))
  7261  	}
  7262  	if s.Values == nil {
  7263  		invalidParams.Add(request.NewErrParamRequired("Values"))
  7264  	}
  7265  
  7266  	if invalidParams.Len() > 0 {
  7267  		return invalidParams
  7268  	}
  7269  	return nil
  7270  }
  7271  
  7272  // SetKeyName sets the KeyName field's value.
  7273  func (s *ObjectFilter) SetKeyName(v string) *ObjectFilter {
  7274  	s.KeyName = &v
  7275  	return s
  7276  }
  7277  
  7278  // SetValues sets the Values field's value.
  7279  func (s *ObjectFilter) SetValues(v []*string) *ObjectFilter {
  7280  	s.Values = v
  7281  	return s
  7282  }
  7283  
  7284  // Represents a field in a ProfileObjectType.
  7285  type ObjectTypeField struct {
  7286  	_ struct{} `type:"structure"`
  7287  
  7288  	// The content type of the field. Used for determining equality when searching.
  7289  	ContentType *string `type:"string" enum:"FieldContentType"`
  7290  
  7291  	// A field of a ProfileObject. For example: _source.FirstName, where “_source”
  7292  	// is a ProfileObjectType of a Zendesk user and “FirstName” is a field in
  7293  	// that ObjectType.
  7294  	Source *string `min:"1" type:"string"`
  7295  
  7296  	// The location of the data in the standard ProfileObject model. For example:
  7297  	// _profile.Address.PostalCode.
  7298  	Target *string `min:"1" type:"string"`
  7299  }
  7300  
  7301  // String returns the string representation.
  7302  //
  7303  // API parameter values that are decorated as "sensitive" in the API will not
  7304  // be included in the string output. The member name will be present, but the
  7305  // value will be replaced with "sensitive".
  7306  func (s ObjectTypeField) String() string {
  7307  	return awsutil.Prettify(s)
  7308  }
  7309  
  7310  // GoString returns the string representation.
  7311  //
  7312  // API parameter values that are decorated as "sensitive" in the API will not
  7313  // be included in the string output. The member name will be present, but the
  7314  // value will be replaced with "sensitive".
  7315  func (s ObjectTypeField) GoString() string {
  7316  	return s.String()
  7317  }
  7318  
  7319  // Validate inspects the fields of the type to determine if they are valid.
  7320  func (s *ObjectTypeField) Validate() error {
  7321  	invalidParams := request.ErrInvalidParams{Context: "ObjectTypeField"}
  7322  	if s.Source != nil && len(*s.Source) < 1 {
  7323  		invalidParams.Add(request.NewErrParamMinLen("Source", 1))
  7324  	}
  7325  	if s.Target != nil && len(*s.Target) < 1 {
  7326  		invalidParams.Add(request.NewErrParamMinLen("Target", 1))
  7327  	}
  7328  
  7329  	if invalidParams.Len() > 0 {
  7330  		return invalidParams
  7331  	}
  7332  	return nil
  7333  }
  7334  
  7335  // SetContentType sets the ContentType field's value.
  7336  func (s *ObjectTypeField) SetContentType(v string) *ObjectTypeField {
  7337  	s.ContentType = &v
  7338  	return s
  7339  }
  7340  
  7341  // SetSource sets the Source field's value.
  7342  func (s *ObjectTypeField) SetSource(v string) *ObjectTypeField {
  7343  	s.Source = &v
  7344  	return s
  7345  }
  7346  
  7347  // SetTarget sets the Target field's value.
  7348  func (s *ObjectTypeField) SetTarget(v string) *ObjectTypeField {
  7349  	s.Target = &v
  7350  	return s
  7351  }
  7352  
  7353  // An object that defines the Key element of a ProfileObject. A Key is a special
  7354  // element that can be used to search for a customer profile.
  7355  type ObjectTypeKey struct {
  7356  	_ struct{} `type:"structure"`
  7357  
  7358  	// The reference for the key name of the fields map.
  7359  	FieldNames []*string `type:"list"`
  7360  
  7361  	// The types of keys that a ProfileObject can have. Each ProfileObject can have
  7362  	// only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET or CASE means
  7363  	// that this key can be used to tie an object to a PROFILE, ASSET or CASE respectively.
  7364  	// UNIQUE means that it can be used to uniquely identify an object. If a key
  7365  	// a is marked as SECONDARY, it will be used to search for profiles after all
  7366  	// other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to
  7367  	// match a profile but is not persisted to be used for searching of the profile.
  7368  	// A NEW_ONLY key is only used if the profile does not already exist before
  7369  	// the object is ingested, otherwise it is only used for matching objects to
  7370  	// profiles.
  7371  	StandardIdentifiers []*string `type:"list"`
  7372  }
  7373  
  7374  // String returns the string representation.
  7375  //
  7376  // API parameter values that are decorated as "sensitive" in the API will not
  7377  // be included in the string output. The member name will be present, but the
  7378  // value will be replaced with "sensitive".
  7379  func (s ObjectTypeKey) String() string {
  7380  	return awsutil.Prettify(s)
  7381  }
  7382  
  7383  // GoString returns the string representation.
  7384  //
  7385  // API parameter values that are decorated as "sensitive" in the API will not
  7386  // be included in the string output. The member name will be present, but the
  7387  // value will be replaced with "sensitive".
  7388  func (s ObjectTypeKey) GoString() string {
  7389  	return s.String()
  7390  }
  7391  
  7392  // SetFieldNames sets the FieldNames field's value.
  7393  func (s *ObjectTypeKey) SetFieldNames(v []*string) *ObjectTypeKey {
  7394  	s.FieldNames = v
  7395  	return s
  7396  }
  7397  
  7398  // SetStandardIdentifiers sets the StandardIdentifiers field's value.
  7399  func (s *ObjectTypeKey) SetStandardIdentifiers(v []*string) *ObjectTypeKey {
  7400  	s.StandardIdentifiers = v
  7401  	return s
  7402  }
  7403  
  7404  // The standard profile of a customer.
  7405  type Profile struct {
  7406  	_ struct{} `type:"structure"`
  7407  
  7408  	// A unique account number that you have given to the customer.
  7409  	AccountNumber *string `min:"1" type:"string"`
  7410  
  7411  	// Any additional information relevant to the customer’s profile.
  7412  	AdditionalInformation *string `min:"1" type:"string"`
  7413  
  7414  	// A generic address associated with the customer that is not mailing, shipping,
  7415  	// or billing.
  7416  	Address *Address `type:"structure"`
  7417  
  7418  	// A key value pair of attributes of a customer profile.
  7419  	Attributes map[string]*string `type:"map"`
  7420  
  7421  	// The customer’s billing address.
  7422  	BillingAddress *Address `type:"structure"`
  7423  
  7424  	// The customer’s birth date.
  7425  	BirthDate *string `min:"1" type:"string"`
  7426  
  7427  	// The customer’s business email address.
  7428  	BusinessEmailAddress *string `min:"1" type:"string"`
  7429  
  7430  	// The name of the customer’s business.
  7431  	BusinessName *string `min:"1" type:"string"`
  7432  
  7433  	// The customer’s home phone number.
  7434  	BusinessPhoneNumber *string `min:"1" type:"string"`
  7435  
  7436  	// The customer’s email address, which has not been specified as a personal
  7437  	// or business address.
  7438  	EmailAddress *string `min:"1" type:"string"`
  7439  
  7440  	// The customer’s first name.
  7441  	FirstName *string `min:"1" type:"string"`
  7442  
  7443  	// The gender with which the customer identifies.
  7444  	Gender *string `type:"string" enum:"Gender"`
  7445  
  7446  	// The customer’s home phone number.
  7447  	HomePhoneNumber *string `min:"1" type:"string"`
  7448  
  7449  	// The customer’s last name.
  7450  	LastName *string `min:"1" type:"string"`
  7451  
  7452  	// The customer’s mailing address.
  7453  	MailingAddress *Address `type:"structure"`
  7454  
  7455  	// The customer’s middle name.
  7456  	MiddleName *string `min:"1" type:"string"`
  7457  
  7458  	// The customer’s mobile phone number.
  7459  	MobilePhoneNumber *string `min:"1" type:"string"`
  7460  
  7461  	// The type of profile used to describe the customer.
  7462  	PartyType *string `type:"string" enum:"PartyType"`
  7463  
  7464  	// The customer’s personal email address.
  7465  	PersonalEmailAddress *string `min:"1" type:"string"`
  7466  
  7467  	// The customer's phone number, which has not been specified as a mobile, home,
  7468  	// or business number.
  7469  	PhoneNumber *string `min:"1" type:"string"`
  7470  
  7471  	// The unique identifier of a customer profile.
  7472  	ProfileId *string `type:"string"`
  7473  
  7474  	// The customer’s shipping address.
  7475  	ShippingAddress *Address `type:"structure"`
  7476  }
  7477  
  7478  // String returns the string representation.
  7479  //
  7480  // API parameter values that are decorated as "sensitive" in the API will not
  7481  // be included in the string output. The member name will be present, but the
  7482  // value will be replaced with "sensitive".
  7483  func (s Profile) String() string {
  7484  	return awsutil.Prettify(s)
  7485  }
  7486  
  7487  // GoString returns the string representation.
  7488  //
  7489  // API parameter values that are decorated as "sensitive" in the API will not
  7490  // be included in the string output. The member name will be present, but the
  7491  // value will be replaced with "sensitive".
  7492  func (s Profile) GoString() string {
  7493  	return s.String()
  7494  }
  7495  
  7496  // SetAccountNumber sets the AccountNumber field's value.
  7497  func (s *Profile) SetAccountNumber(v string) *Profile {
  7498  	s.AccountNumber = &v
  7499  	return s
  7500  }
  7501  
  7502  // SetAdditionalInformation sets the AdditionalInformation field's value.
  7503  func (s *Profile) SetAdditionalInformation(v string) *Profile {
  7504  	s.AdditionalInformation = &v
  7505  	return s
  7506  }
  7507  
  7508  // SetAddress sets the Address field's value.
  7509  func (s *Profile) SetAddress(v *Address) *Profile {
  7510  	s.Address = v
  7511  	return s
  7512  }
  7513  
  7514  // SetAttributes sets the Attributes field's value.
  7515  func (s *Profile) SetAttributes(v map[string]*string) *Profile {
  7516  	s.Attributes = v
  7517  	return s
  7518  }
  7519  
  7520  // SetBillingAddress sets the BillingAddress field's value.
  7521  func (s *Profile) SetBillingAddress(v *Address) *Profile {
  7522  	s.BillingAddress = v
  7523  	return s
  7524  }
  7525  
  7526  // SetBirthDate sets the BirthDate field's value.
  7527  func (s *Profile) SetBirthDate(v string) *Profile {
  7528  	s.BirthDate = &v
  7529  	return s
  7530  }
  7531  
  7532  // SetBusinessEmailAddress sets the BusinessEmailAddress field's value.
  7533  func (s *Profile) SetBusinessEmailAddress(v string) *Profile {
  7534  	s.BusinessEmailAddress = &v
  7535  	return s
  7536  }
  7537  
  7538  // SetBusinessName sets the BusinessName field's value.
  7539  func (s *Profile) SetBusinessName(v string) *Profile {
  7540  	s.BusinessName = &v
  7541  	return s
  7542  }
  7543  
  7544  // SetBusinessPhoneNumber sets the BusinessPhoneNumber field's value.
  7545  func (s *Profile) SetBusinessPhoneNumber(v string) *Profile {
  7546  	s.BusinessPhoneNumber = &v
  7547  	return s
  7548  }
  7549  
  7550  // SetEmailAddress sets the EmailAddress field's value.
  7551  func (s *Profile) SetEmailAddress(v string) *Profile {
  7552  	s.EmailAddress = &v
  7553  	return s
  7554  }
  7555  
  7556  // SetFirstName sets the FirstName field's value.
  7557  func (s *Profile) SetFirstName(v string) *Profile {
  7558  	s.FirstName = &v
  7559  	return s
  7560  }
  7561  
  7562  // SetGender sets the Gender field's value.
  7563  func (s *Profile) SetGender(v string) *Profile {
  7564  	s.Gender = &v
  7565  	return s
  7566  }
  7567  
  7568  // SetHomePhoneNumber sets the HomePhoneNumber field's value.
  7569  func (s *Profile) SetHomePhoneNumber(v string) *Profile {
  7570  	s.HomePhoneNumber = &v
  7571  	return s
  7572  }
  7573  
  7574  // SetLastName sets the LastName field's value.
  7575  func (s *Profile) SetLastName(v string) *Profile {
  7576  	s.LastName = &v
  7577  	return s
  7578  }
  7579  
  7580  // SetMailingAddress sets the MailingAddress field's value.
  7581  func (s *Profile) SetMailingAddress(v *Address) *Profile {
  7582  	s.MailingAddress = v
  7583  	return s
  7584  }
  7585  
  7586  // SetMiddleName sets the MiddleName field's value.
  7587  func (s *Profile) SetMiddleName(v string) *Profile {
  7588  	s.MiddleName = &v
  7589  	return s
  7590  }
  7591  
  7592  // SetMobilePhoneNumber sets the MobilePhoneNumber field's value.
  7593  func (s *Profile) SetMobilePhoneNumber(v string) *Profile {
  7594  	s.MobilePhoneNumber = &v
  7595  	return s
  7596  }
  7597  
  7598  // SetPartyType sets the PartyType field's value.
  7599  func (s *Profile) SetPartyType(v string) *Profile {
  7600  	s.PartyType = &v
  7601  	return s
  7602  }
  7603  
  7604  // SetPersonalEmailAddress sets the PersonalEmailAddress field's value.
  7605  func (s *Profile) SetPersonalEmailAddress(v string) *Profile {
  7606  	s.PersonalEmailAddress = &v
  7607  	return s
  7608  }
  7609  
  7610  // SetPhoneNumber sets the PhoneNumber field's value.
  7611  func (s *Profile) SetPhoneNumber(v string) *Profile {
  7612  	s.PhoneNumber = &v
  7613  	return s
  7614  }
  7615  
  7616  // SetProfileId sets the ProfileId field's value.
  7617  func (s *Profile) SetProfileId(v string) *Profile {
  7618  	s.ProfileId = &v
  7619  	return s
  7620  }
  7621  
  7622  // SetShippingAddress sets the ShippingAddress field's value.
  7623  func (s *Profile) SetShippingAddress(v *Address) *Profile {
  7624  	s.ShippingAddress = v
  7625  	return s
  7626  }
  7627  
  7628  type PutIntegrationInput struct {
  7629  	_ struct{} `type:"structure"`
  7630  
  7631  	// The unique name of the domain.
  7632  	//
  7633  	// DomainName is a required field
  7634  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  7635  
  7636  	// The configuration that controls how Customer Profiles retrieves data from
  7637  	// the source.
  7638  	FlowDefinition *FlowDefinition `type:"structure"`
  7639  
  7640  	// The name of the profile object type.
  7641  	//
  7642  	// ObjectTypeName is a required field
  7643  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  7644  
  7645  	// The tags used to organize, track, or control access for this resource.
  7646  	Tags map[string]*string `min:"1" type:"map"`
  7647  
  7648  	// The URI of the S3 bucket or any other type of data source.
  7649  	Uri *string `min:"1" type:"string"`
  7650  }
  7651  
  7652  // String returns the string representation.
  7653  //
  7654  // API parameter values that are decorated as "sensitive" in the API will not
  7655  // be included in the string output. The member name will be present, but the
  7656  // value will be replaced with "sensitive".
  7657  func (s PutIntegrationInput) String() string {
  7658  	return awsutil.Prettify(s)
  7659  }
  7660  
  7661  // GoString returns the string representation.
  7662  //
  7663  // API parameter values that are decorated as "sensitive" in the API will not
  7664  // be included in the string output. The member name will be present, but the
  7665  // value will be replaced with "sensitive".
  7666  func (s PutIntegrationInput) GoString() string {
  7667  	return s.String()
  7668  }
  7669  
  7670  // Validate inspects the fields of the type to determine if they are valid.
  7671  func (s *PutIntegrationInput) Validate() error {
  7672  	invalidParams := request.ErrInvalidParams{Context: "PutIntegrationInput"}
  7673  	if s.DomainName == nil {
  7674  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7675  	}
  7676  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  7677  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  7678  	}
  7679  	if s.ObjectTypeName == nil {
  7680  		invalidParams.Add(request.NewErrParamRequired("ObjectTypeName"))
  7681  	}
  7682  	if s.ObjectTypeName != nil && len(*s.ObjectTypeName) < 1 {
  7683  		invalidParams.Add(request.NewErrParamMinLen("ObjectTypeName", 1))
  7684  	}
  7685  	if s.Tags != nil && len(s.Tags) < 1 {
  7686  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  7687  	}
  7688  	if s.Uri != nil && len(*s.Uri) < 1 {
  7689  		invalidParams.Add(request.NewErrParamMinLen("Uri", 1))
  7690  	}
  7691  	if s.FlowDefinition != nil {
  7692  		if err := s.FlowDefinition.Validate(); err != nil {
  7693  			invalidParams.AddNested("FlowDefinition", err.(request.ErrInvalidParams))
  7694  		}
  7695  	}
  7696  
  7697  	if invalidParams.Len() > 0 {
  7698  		return invalidParams
  7699  	}
  7700  	return nil
  7701  }
  7702  
  7703  // SetDomainName sets the DomainName field's value.
  7704  func (s *PutIntegrationInput) SetDomainName(v string) *PutIntegrationInput {
  7705  	s.DomainName = &v
  7706  	return s
  7707  }
  7708  
  7709  // SetFlowDefinition sets the FlowDefinition field's value.
  7710  func (s *PutIntegrationInput) SetFlowDefinition(v *FlowDefinition) *PutIntegrationInput {
  7711  	s.FlowDefinition = v
  7712  	return s
  7713  }
  7714  
  7715  // SetObjectTypeName sets the ObjectTypeName field's value.
  7716  func (s *PutIntegrationInput) SetObjectTypeName(v string) *PutIntegrationInput {
  7717  	s.ObjectTypeName = &v
  7718  	return s
  7719  }
  7720  
  7721  // SetTags sets the Tags field's value.
  7722  func (s *PutIntegrationInput) SetTags(v map[string]*string) *PutIntegrationInput {
  7723  	s.Tags = v
  7724  	return s
  7725  }
  7726  
  7727  // SetUri sets the Uri field's value.
  7728  func (s *PutIntegrationInput) SetUri(v string) *PutIntegrationInput {
  7729  	s.Uri = &v
  7730  	return s
  7731  }
  7732  
  7733  type PutIntegrationOutput struct {
  7734  	_ struct{} `type:"structure"`
  7735  
  7736  	// The timestamp of when the domain was created.
  7737  	//
  7738  	// CreatedAt is a required field
  7739  	CreatedAt *time.Time `type:"timestamp" required:"true"`
  7740  
  7741  	// The unique name of the domain.
  7742  	//
  7743  	// DomainName is a required field
  7744  	DomainName *string `min:"1" type:"string" required:"true"`
  7745  
  7746  	// The timestamp of when the domain was most recently edited.
  7747  	//
  7748  	// LastUpdatedAt is a required field
  7749  	LastUpdatedAt *time.Time `type:"timestamp" required:"true"`
  7750  
  7751  	// The name of the profile object type.
  7752  	//
  7753  	// ObjectTypeName is a required field
  7754  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  7755  
  7756  	// The tags used to organize, track, or control access for this resource.
  7757  	Tags map[string]*string `min:"1" type:"map"`
  7758  
  7759  	// The URI of the S3 bucket or any other type of data source.
  7760  	//
  7761  	// Uri is a required field
  7762  	Uri *string `min:"1" type:"string" required:"true"`
  7763  }
  7764  
  7765  // String returns the string representation.
  7766  //
  7767  // API parameter values that are decorated as "sensitive" in the API will not
  7768  // be included in the string output. The member name will be present, but the
  7769  // value will be replaced with "sensitive".
  7770  func (s PutIntegrationOutput) String() string {
  7771  	return awsutil.Prettify(s)
  7772  }
  7773  
  7774  // GoString returns the string representation.
  7775  //
  7776  // API parameter values that are decorated as "sensitive" in the API will not
  7777  // be included in the string output. The member name will be present, but the
  7778  // value will be replaced with "sensitive".
  7779  func (s PutIntegrationOutput) GoString() string {
  7780  	return s.String()
  7781  }
  7782  
  7783  // SetCreatedAt sets the CreatedAt field's value.
  7784  func (s *PutIntegrationOutput) SetCreatedAt(v time.Time) *PutIntegrationOutput {
  7785  	s.CreatedAt = &v
  7786  	return s
  7787  }
  7788  
  7789  // SetDomainName sets the DomainName field's value.
  7790  func (s *PutIntegrationOutput) SetDomainName(v string) *PutIntegrationOutput {
  7791  	s.DomainName = &v
  7792  	return s
  7793  }
  7794  
  7795  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  7796  func (s *PutIntegrationOutput) SetLastUpdatedAt(v time.Time) *PutIntegrationOutput {
  7797  	s.LastUpdatedAt = &v
  7798  	return s
  7799  }
  7800  
  7801  // SetObjectTypeName sets the ObjectTypeName field's value.
  7802  func (s *PutIntegrationOutput) SetObjectTypeName(v string) *PutIntegrationOutput {
  7803  	s.ObjectTypeName = &v
  7804  	return s
  7805  }
  7806  
  7807  // SetTags sets the Tags field's value.
  7808  func (s *PutIntegrationOutput) SetTags(v map[string]*string) *PutIntegrationOutput {
  7809  	s.Tags = v
  7810  	return s
  7811  }
  7812  
  7813  // SetUri sets the Uri field's value.
  7814  func (s *PutIntegrationOutput) SetUri(v string) *PutIntegrationOutput {
  7815  	s.Uri = &v
  7816  	return s
  7817  }
  7818  
  7819  type PutProfileObjectInput struct {
  7820  	_ struct{} `type:"structure"`
  7821  
  7822  	// The unique name of the domain.
  7823  	//
  7824  	// DomainName is a required field
  7825  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  7826  
  7827  	// A string that is serialized from a JSON object.
  7828  	//
  7829  	// Object is a required field
  7830  	Object *string `min:"1" type:"string" required:"true"`
  7831  
  7832  	// The name of the profile object type.
  7833  	//
  7834  	// ObjectTypeName is a required field
  7835  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  7836  }
  7837  
  7838  // String returns the string representation.
  7839  //
  7840  // API parameter values that are decorated as "sensitive" in the API will not
  7841  // be included in the string output. The member name will be present, but the
  7842  // value will be replaced with "sensitive".
  7843  func (s PutProfileObjectInput) String() string {
  7844  	return awsutil.Prettify(s)
  7845  }
  7846  
  7847  // GoString returns the string representation.
  7848  //
  7849  // API parameter values that are decorated as "sensitive" in the API will not
  7850  // be included in the string output. The member name will be present, but the
  7851  // value will be replaced with "sensitive".
  7852  func (s PutProfileObjectInput) GoString() string {
  7853  	return s.String()
  7854  }
  7855  
  7856  // Validate inspects the fields of the type to determine if they are valid.
  7857  func (s *PutProfileObjectInput) Validate() error {
  7858  	invalidParams := request.ErrInvalidParams{Context: "PutProfileObjectInput"}
  7859  	if s.DomainName == nil {
  7860  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7861  	}
  7862  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  7863  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  7864  	}
  7865  	if s.Object == nil {
  7866  		invalidParams.Add(request.NewErrParamRequired("Object"))
  7867  	}
  7868  	if s.Object != nil && len(*s.Object) < 1 {
  7869  		invalidParams.Add(request.NewErrParamMinLen("Object", 1))
  7870  	}
  7871  	if s.ObjectTypeName == nil {
  7872  		invalidParams.Add(request.NewErrParamRequired("ObjectTypeName"))
  7873  	}
  7874  	if s.ObjectTypeName != nil && len(*s.ObjectTypeName) < 1 {
  7875  		invalidParams.Add(request.NewErrParamMinLen("ObjectTypeName", 1))
  7876  	}
  7877  
  7878  	if invalidParams.Len() > 0 {
  7879  		return invalidParams
  7880  	}
  7881  	return nil
  7882  }
  7883  
  7884  // SetDomainName sets the DomainName field's value.
  7885  func (s *PutProfileObjectInput) SetDomainName(v string) *PutProfileObjectInput {
  7886  	s.DomainName = &v
  7887  	return s
  7888  }
  7889  
  7890  // SetObject sets the Object field's value.
  7891  func (s *PutProfileObjectInput) SetObject(v string) *PutProfileObjectInput {
  7892  	s.Object = &v
  7893  	return s
  7894  }
  7895  
  7896  // SetObjectTypeName sets the ObjectTypeName field's value.
  7897  func (s *PutProfileObjectInput) SetObjectTypeName(v string) *PutProfileObjectInput {
  7898  	s.ObjectTypeName = &v
  7899  	return s
  7900  }
  7901  
  7902  type PutProfileObjectOutput struct {
  7903  	_ struct{} `type:"structure"`
  7904  
  7905  	// The unique identifier of the profile object generated by the service.
  7906  	ProfileObjectUniqueKey *string `min:"1" type:"string"`
  7907  }
  7908  
  7909  // String returns the string representation.
  7910  //
  7911  // API parameter values that are decorated as "sensitive" in the API will not
  7912  // be included in the string output. The member name will be present, but the
  7913  // value will be replaced with "sensitive".
  7914  func (s PutProfileObjectOutput) String() string {
  7915  	return awsutil.Prettify(s)
  7916  }
  7917  
  7918  // GoString returns the string representation.
  7919  //
  7920  // API parameter values that are decorated as "sensitive" in the API will not
  7921  // be included in the string output. The member name will be present, but the
  7922  // value will be replaced with "sensitive".
  7923  func (s PutProfileObjectOutput) GoString() string {
  7924  	return s.String()
  7925  }
  7926  
  7927  // SetProfileObjectUniqueKey sets the ProfileObjectUniqueKey field's value.
  7928  func (s *PutProfileObjectOutput) SetProfileObjectUniqueKey(v string) *PutProfileObjectOutput {
  7929  	s.ProfileObjectUniqueKey = &v
  7930  	return s
  7931  }
  7932  
  7933  type PutProfileObjectTypeInput struct {
  7934  	_ struct{} `type:"structure"`
  7935  
  7936  	// Indicates whether a profile should be created when data is received if one
  7937  	// doesn’t exist for an object of this type. The default is FALSE. If the
  7938  	// AllowProfileCreation flag is set to FALSE, then the service tries to fetch
  7939  	// a standard profile and associate this object with the profile. If it is set
  7940  	// to TRUE, and if no match is found, then the service creates a new standard
  7941  	// profile.
  7942  	AllowProfileCreation *bool `type:"boolean"`
  7943  
  7944  	// Description of the profile object type.
  7945  	//
  7946  	// Description is a required field
  7947  	Description *string `min:"1" type:"string" required:"true"`
  7948  
  7949  	// The unique name of the domain.
  7950  	//
  7951  	// DomainName is a required field
  7952  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  7953  
  7954  	// The customer-provided key to encrypt the profile object that will be created
  7955  	// in this profile object type.
  7956  	EncryptionKey *string `type:"string"`
  7957  
  7958  	// The number of days until the data in the object expires.
  7959  	ExpirationDays *int64 `min:"1" type:"integer"`
  7960  
  7961  	// A map of the name and ObjectType field.
  7962  	Fields map[string]*ObjectTypeField `type:"map"`
  7963  
  7964  	// A list of unique keys that can be used to map data to the profile.
  7965  	Keys map[string][]*ObjectTypeKey `type:"map"`
  7966  
  7967  	// The name of the profile object type.
  7968  	//
  7969  	// ObjectTypeName is a required field
  7970  	ObjectTypeName *string `location:"uri" locationName:"ObjectTypeName" min:"1" type:"string" required:"true"`
  7971  
  7972  	// The tags used to organize, track, or control access for this resource.
  7973  	Tags map[string]*string `min:"1" type:"map"`
  7974  
  7975  	// A unique identifier for the object template.
  7976  	TemplateId *string `min:"1" type:"string"`
  7977  }
  7978  
  7979  // String returns the string representation.
  7980  //
  7981  // API parameter values that are decorated as "sensitive" in the API will not
  7982  // be included in the string output. The member name will be present, but the
  7983  // value will be replaced with "sensitive".
  7984  func (s PutProfileObjectTypeInput) String() string {
  7985  	return awsutil.Prettify(s)
  7986  }
  7987  
  7988  // GoString returns the string representation.
  7989  //
  7990  // API parameter values that are decorated as "sensitive" in the API will not
  7991  // be included in the string output. The member name will be present, but the
  7992  // value will be replaced with "sensitive".
  7993  func (s PutProfileObjectTypeInput) GoString() string {
  7994  	return s.String()
  7995  }
  7996  
  7997  // Validate inspects the fields of the type to determine if they are valid.
  7998  func (s *PutProfileObjectTypeInput) Validate() error {
  7999  	invalidParams := request.ErrInvalidParams{Context: "PutProfileObjectTypeInput"}
  8000  	if s.Description == nil {
  8001  		invalidParams.Add(request.NewErrParamRequired("Description"))
  8002  	}
  8003  	if s.Description != nil && len(*s.Description) < 1 {
  8004  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  8005  	}
  8006  	if s.DomainName == nil {
  8007  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  8008  	}
  8009  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  8010  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  8011  	}
  8012  	if s.ExpirationDays != nil && *s.ExpirationDays < 1 {
  8013  		invalidParams.Add(request.NewErrParamMinValue("ExpirationDays", 1))
  8014  	}
  8015  	if s.ObjectTypeName == nil {
  8016  		invalidParams.Add(request.NewErrParamRequired("ObjectTypeName"))
  8017  	}
  8018  	if s.ObjectTypeName != nil && len(*s.ObjectTypeName) < 1 {
  8019  		invalidParams.Add(request.NewErrParamMinLen("ObjectTypeName", 1))
  8020  	}
  8021  	if s.Tags != nil && len(s.Tags) < 1 {
  8022  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  8023  	}
  8024  	if s.TemplateId != nil && len(*s.TemplateId) < 1 {
  8025  		invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1))
  8026  	}
  8027  	if s.Fields != nil {
  8028  		for i, v := range s.Fields {
  8029  			if v == nil {
  8030  				continue
  8031  			}
  8032  			if err := v.Validate(); err != nil {
  8033  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams))
  8034  			}
  8035  		}
  8036  	}
  8037  
  8038  	if invalidParams.Len() > 0 {
  8039  		return invalidParams
  8040  	}
  8041  	return nil
  8042  }
  8043  
  8044  // SetAllowProfileCreation sets the AllowProfileCreation field's value.
  8045  func (s *PutProfileObjectTypeInput) SetAllowProfileCreation(v bool) *PutProfileObjectTypeInput {
  8046  	s.AllowProfileCreation = &v
  8047  	return s
  8048  }
  8049  
  8050  // SetDescription sets the Description field's value.
  8051  func (s *PutProfileObjectTypeInput) SetDescription(v string) *PutProfileObjectTypeInput {
  8052  	s.Description = &v
  8053  	return s
  8054  }
  8055  
  8056  // SetDomainName sets the DomainName field's value.
  8057  func (s *PutProfileObjectTypeInput) SetDomainName(v string) *PutProfileObjectTypeInput {
  8058  	s.DomainName = &v
  8059  	return s
  8060  }
  8061  
  8062  // SetEncryptionKey sets the EncryptionKey field's value.
  8063  func (s *PutProfileObjectTypeInput) SetEncryptionKey(v string) *PutProfileObjectTypeInput {
  8064  	s.EncryptionKey = &v
  8065  	return s
  8066  }
  8067  
  8068  // SetExpirationDays sets the ExpirationDays field's value.
  8069  func (s *PutProfileObjectTypeInput) SetExpirationDays(v int64) *PutProfileObjectTypeInput {
  8070  	s.ExpirationDays = &v
  8071  	return s
  8072  }
  8073  
  8074  // SetFields sets the Fields field's value.
  8075  func (s *PutProfileObjectTypeInput) SetFields(v map[string]*ObjectTypeField) *PutProfileObjectTypeInput {
  8076  	s.Fields = v
  8077  	return s
  8078  }
  8079  
  8080  // SetKeys sets the Keys field's value.
  8081  func (s *PutProfileObjectTypeInput) SetKeys(v map[string][]*ObjectTypeKey) *PutProfileObjectTypeInput {
  8082  	s.Keys = v
  8083  	return s
  8084  }
  8085  
  8086  // SetObjectTypeName sets the ObjectTypeName field's value.
  8087  func (s *PutProfileObjectTypeInput) SetObjectTypeName(v string) *PutProfileObjectTypeInput {
  8088  	s.ObjectTypeName = &v
  8089  	return s
  8090  }
  8091  
  8092  // SetTags sets the Tags field's value.
  8093  func (s *PutProfileObjectTypeInput) SetTags(v map[string]*string) *PutProfileObjectTypeInput {
  8094  	s.Tags = v
  8095  	return s
  8096  }
  8097  
  8098  // SetTemplateId sets the TemplateId field's value.
  8099  func (s *PutProfileObjectTypeInput) SetTemplateId(v string) *PutProfileObjectTypeInput {
  8100  	s.TemplateId = &v
  8101  	return s
  8102  }
  8103  
  8104  type PutProfileObjectTypeOutput struct {
  8105  	_ struct{} `type:"structure"`
  8106  
  8107  	// Indicates whether a profile should be created when data is received if one
  8108  	// doesn’t exist for an object of this type. The default is FALSE. If the
  8109  	// AllowProfileCreation flag is set to FALSE, then the service tries to fetch
  8110  	// a standard profile and associate this object with the profile. If it is set
  8111  	// to TRUE, and if no match is found, then the service creates a new standard
  8112  	// profile.
  8113  	AllowProfileCreation *bool `type:"boolean"`
  8114  
  8115  	// The timestamp of when the domain was created.
  8116  	CreatedAt *time.Time `type:"timestamp"`
  8117  
  8118  	// Description of the profile object type.
  8119  	//
  8120  	// Description is a required field
  8121  	Description *string `min:"1" type:"string" required:"true"`
  8122  
  8123  	// The customer-provided key to encrypt the profile object that will be created
  8124  	// in this profile object type.
  8125  	EncryptionKey *string `type:"string"`
  8126  
  8127  	// The number of days until the data in the object expires.
  8128  	ExpirationDays *int64 `min:"1" type:"integer"`
  8129  
  8130  	// A map of the name and ObjectType field.
  8131  	Fields map[string]*ObjectTypeField `type:"map"`
  8132  
  8133  	// A list of unique keys that can be used to map data to the profile.
  8134  	Keys map[string][]*ObjectTypeKey `type:"map"`
  8135  
  8136  	// The timestamp of when the domain was most recently edited.
  8137  	LastUpdatedAt *time.Time `type:"timestamp"`
  8138  
  8139  	// The name of the profile object type.
  8140  	//
  8141  	// ObjectTypeName is a required field
  8142  	ObjectTypeName *string `min:"1" type:"string" required:"true"`
  8143  
  8144  	// The tags used to organize, track, or control access for this resource.
  8145  	Tags map[string]*string `min:"1" type:"map"`
  8146  
  8147  	// A unique identifier for the object template.
  8148  	TemplateId *string `min:"1" type:"string"`
  8149  }
  8150  
  8151  // String returns the string representation.
  8152  //
  8153  // API parameter values that are decorated as "sensitive" in the API will not
  8154  // be included in the string output. The member name will be present, but the
  8155  // value will be replaced with "sensitive".
  8156  func (s PutProfileObjectTypeOutput) String() string {
  8157  	return awsutil.Prettify(s)
  8158  }
  8159  
  8160  // GoString returns the string representation.
  8161  //
  8162  // API parameter values that are decorated as "sensitive" in the API will not
  8163  // be included in the string output. The member name will be present, but the
  8164  // value will be replaced with "sensitive".
  8165  func (s PutProfileObjectTypeOutput) GoString() string {
  8166  	return s.String()
  8167  }
  8168  
  8169  // SetAllowProfileCreation sets the AllowProfileCreation field's value.
  8170  func (s *PutProfileObjectTypeOutput) SetAllowProfileCreation(v bool) *PutProfileObjectTypeOutput {
  8171  	s.AllowProfileCreation = &v
  8172  	return s
  8173  }
  8174  
  8175  // SetCreatedAt sets the CreatedAt field's value.
  8176  func (s *PutProfileObjectTypeOutput) SetCreatedAt(v time.Time) *PutProfileObjectTypeOutput {
  8177  	s.CreatedAt = &v
  8178  	return s
  8179  }
  8180  
  8181  // SetDescription sets the Description field's value.
  8182  func (s *PutProfileObjectTypeOutput) SetDescription(v string) *PutProfileObjectTypeOutput {
  8183  	s.Description = &v
  8184  	return s
  8185  }
  8186  
  8187  // SetEncryptionKey sets the EncryptionKey field's value.
  8188  func (s *PutProfileObjectTypeOutput) SetEncryptionKey(v string) *PutProfileObjectTypeOutput {
  8189  	s.EncryptionKey = &v
  8190  	return s
  8191  }
  8192  
  8193  // SetExpirationDays sets the ExpirationDays field's value.
  8194  func (s *PutProfileObjectTypeOutput) SetExpirationDays(v int64) *PutProfileObjectTypeOutput {
  8195  	s.ExpirationDays = &v
  8196  	return s
  8197  }
  8198  
  8199  // SetFields sets the Fields field's value.
  8200  func (s *PutProfileObjectTypeOutput) SetFields(v map[string]*ObjectTypeField) *PutProfileObjectTypeOutput {
  8201  	s.Fields = v
  8202  	return s
  8203  }
  8204  
  8205  // SetKeys sets the Keys field's value.
  8206  func (s *PutProfileObjectTypeOutput) SetKeys(v map[string][]*ObjectTypeKey) *PutProfileObjectTypeOutput {
  8207  	s.Keys = v
  8208  	return s
  8209  }
  8210  
  8211  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  8212  func (s *PutProfileObjectTypeOutput) SetLastUpdatedAt(v time.Time) *PutProfileObjectTypeOutput {
  8213  	s.LastUpdatedAt = &v
  8214  	return s
  8215  }
  8216  
  8217  // SetObjectTypeName sets the ObjectTypeName field's value.
  8218  func (s *PutProfileObjectTypeOutput) SetObjectTypeName(v string) *PutProfileObjectTypeOutput {
  8219  	s.ObjectTypeName = &v
  8220  	return s
  8221  }
  8222  
  8223  // SetTags sets the Tags field's value.
  8224  func (s *PutProfileObjectTypeOutput) SetTags(v map[string]*string) *PutProfileObjectTypeOutput {
  8225  	s.Tags = v
  8226  	return s
  8227  }
  8228  
  8229  // SetTemplateId sets the TemplateId field's value.
  8230  func (s *PutProfileObjectTypeOutput) SetTemplateId(v string) *PutProfileObjectTypeOutput {
  8231  	s.TemplateId = &v
  8232  	return s
  8233  }
  8234  
  8235  // The requested resource does not exist, or access was denied.
  8236  type ResourceNotFoundException struct {
  8237  	_            struct{}                  `type:"structure"`
  8238  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8239  
  8240  	Message_ *string `locationName:"Message" type:"string"`
  8241  }
  8242  
  8243  // String returns the string representation.
  8244  //
  8245  // API parameter values that are decorated as "sensitive" in the API will not
  8246  // be included in the string output. The member name will be present, but the
  8247  // value will be replaced with "sensitive".
  8248  func (s ResourceNotFoundException) String() string {
  8249  	return awsutil.Prettify(s)
  8250  }
  8251  
  8252  // GoString returns the string representation.
  8253  //
  8254  // API parameter values that are decorated as "sensitive" in the API will not
  8255  // be included in the string output. The member name will be present, but the
  8256  // value will be replaced with "sensitive".
  8257  func (s ResourceNotFoundException) GoString() string {
  8258  	return s.String()
  8259  }
  8260  
  8261  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  8262  	return &ResourceNotFoundException{
  8263  		RespMetadata: v,
  8264  	}
  8265  }
  8266  
  8267  // Code returns the exception type name.
  8268  func (s *ResourceNotFoundException) Code() string {
  8269  	return "ResourceNotFoundException"
  8270  }
  8271  
  8272  // Message returns the exception's message.
  8273  func (s *ResourceNotFoundException) Message() string {
  8274  	if s.Message_ != nil {
  8275  		return *s.Message_
  8276  	}
  8277  	return ""
  8278  }
  8279  
  8280  // OrigErr always returns nil, satisfies awserr.Error interface.
  8281  func (s *ResourceNotFoundException) OrigErr() error {
  8282  	return nil
  8283  }
  8284  
  8285  func (s *ResourceNotFoundException) Error() string {
  8286  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8287  }
  8288  
  8289  // Status code returns the HTTP status code for the request's response error.
  8290  func (s *ResourceNotFoundException) StatusCode() int {
  8291  	return s.RespMetadata.StatusCode
  8292  }
  8293  
  8294  // RequestID returns the service's response RequestID for request.
  8295  func (s *ResourceNotFoundException) RequestID() string {
  8296  	return s.RespMetadata.RequestID
  8297  }
  8298  
  8299  // The properties that are applied when Amazon S3 is being used as the flow
  8300  // source.
  8301  type S3SourceProperties struct {
  8302  	_ struct{} `type:"structure"`
  8303  
  8304  	// The Amazon S3 bucket name where the source files are stored.
  8305  	//
  8306  	// BucketName is a required field
  8307  	BucketName *string `min:"3" type:"string" required:"true"`
  8308  
  8309  	// The object key for the Amazon S3 bucket in which the source files are stored.
  8310  	BucketPrefix *string `type:"string"`
  8311  }
  8312  
  8313  // String returns the string representation.
  8314  //
  8315  // API parameter values that are decorated as "sensitive" in the API will not
  8316  // be included in the string output. The member name will be present, but the
  8317  // value will be replaced with "sensitive".
  8318  func (s S3SourceProperties) String() string {
  8319  	return awsutil.Prettify(s)
  8320  }
  8321  
  8322  // GoString returns the string representation.
  8323  //
  8324  // API parameter values that are decorated as "sensitive" in the API will not
  8325  // be included in the string output. The member name will be present, but the
  8326  // value will be replaced with "sensitive".
  8327  func (s S3SourceProperties) GoString() string {
  8328  	return s.String()
  8329  }
  8330  
  8331  // Validate inspects the fields of the type to determine if they are valid.
  8332  func (s *S3SourceProperties) Validate() error {
  8333  	invalidParams := request.ErrInvalidParams{Context: "S3SourceProperties"}
  8334  	if s.BucketName == nil {
  8335  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
  8336  	}
  8337  	if s.BucketName != nil && len(*s.BucketName) < 3 {
  8338  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
  8339  	}
  8340  
  8341  	if invalidParams.Len() > 0 {
  8342  		return invalidParams
  8343  	}
  8344  	return nil
  8345  }
  8346  
  8347  // SetBucketName sets the BucketName field's value.
  8348  func (s *S3SourceProperties) SetBucketName(v string) *S3SourceProperties {
  8349  	s.BucketName = &v
  8350  	return s
  8351  }
  8352  
  8353  // SetBucketPrefix sets the BucketPrefix field's value.
  8354  func (s *S3SourceProperties) SetBucketPrefix(v string) *S3SourceProperties {
  8355  	s.BucketPrefix = &v
  8356  	return s
  8357  }
  8358  
  8359  // The properties that are applied when Salesforce is being used as a source.
  8360  type SalesforceSourceProperties struct {
  8361  	_ struct{} `type:"structure"`
  8362  
  8363  	// The flag that enables dynamic fetching of new (recently added) fields in
  8364  	// the Salesforce objects while running a flow.
  8365  	EnableDynamicFieldUpdate *bool `type:"boolean"`
  8366  
  8367  	// Indicates whether Amazon AppFlow includes deleted files in the flow run.
  8368  	IncludeDeletedRecords *bool `type:"boolean"`
  8369  
  8370  	// The object specified in the Salesforce flow source.
  8371  	//
  8372  	// Object is a required field
  8373  	Object *string `type:"string" required:"true"`
  8374  }
  8375  
  8376  // String returns the string representation.
  8377  //
  8378  // API parameter values that are decorated as "sensitive" in the API will not
  8379  // be included in the string output. The member name will be present, but the
  8380  // value will be replaced with "sensitive".
  8381  func (s SalesforceSourceProperties) String() string {
  8382  	return awsutil.Prettify(s)
  8383  }
  8384  
  8385  // GoString returns the string representation.
  8386  //
  8387  // API parameter values that are decorated as "sensitive" in the API will not
  8388  // be included in the string output. The member name will be present, but the
  8389  // value will be replaced with "sensitive".
  8390  func (s SalesforceSourceProperties) GoString() string {
  8391  	return s.String()
  8392  }
  8393  
  8394  // Validate inspects the fields of the type to determine if they are valid.
  8395  func (s *SalesforceSourceProperties) Validate() error {
  8396  	invalidParams := request.ErrInvalidParams{Context: "SalesforceSourceProperties"}
  8397  	if s.Object == nil {
  8398  		invalidParams.Add(request.NewErrParamRequired("Object"))
  8399  	}
  8400  
  8401  	if invalidParams.Len() > 0 {
  8402  		return invalidParams
  8403  	}
  8404  	return nil
  8405  }
  8406  
  8407  // SetEnableDynamicFieldUpdate sets the EnableDynamicFieldUpdate field's value.
  8408  func (s *SalesforceSourceProperties) SetEnableDynamicFieldUpdate(v bool) *SalesforceSourceProperties {
  8409  	s.EnableDynamicFieldUpdate = &v
  8410  	return s
  8411  }
  8412  
  8413  // SetIncludeDeletedRecords sets the IncludeDeletedRecords field's value.
  8414  func (s *SalesforceSourceProperties) SetIncludeDeletedRecords(v bool) *SalesforceSourceProperties {
  8415  	s.IncludeDeletedRecords = &v
  8416  	return s
  8417  }
  8418  
  8419  // SetObject sets the Object field's value.
  8420  func (s *SalesforceSourceProperties) SetObject(v string) *SalesforceSourceProperties {
  8421  	s.Object = &v
  8422  	return s
  8423  }
  8424  
  8425  // Specifies the configuration details of a scheduled-trigger flow that you
  8426  // define. Currently, these settings only apply to the scheduled-trigger type.
  8427  type ScheduledTriggerProperties struct {
  8428  	_ struct{} `type:"structure"`
  8429  
  8430  	// Specifies whether a scheduled flow has an incremental data transfer or a
  8431  	// complete data transfer for each flow run.
  8432  	DataPullMode *string `type:"string" enum:"DataPullMode"`
  8433  
  8434  	// Specifies the date range for the records to import from the connector in
  8435  	// the first flow run.
  8436  	FirstExecutionFrom *time.Time `type:"timestamp"`
  8437  
  8438  	// Specifies the scheduled end time for a scheduled-trigger flow.
  8439  	ScheduleEndTime *time.Time `type:"timestamp"`
  8440  
  8441  	// The scheduling expression that determines the rate at which the schedule
  8442  	// will run, for example rate (5 minutes).
  8443  	//
  8444  	// ScheduleExpression is a required field
  8445  	ScheduleExpression *string `type:"string" required:"true"`
  8446  
  8447  	// Specifies the optional offset that is added to the time interval for a schedule-triggered
  8448  	// flow.
  8449  	ScheduleOffset *int64 `type:"long"`
  8450  
  8451  	// Specifies the scheduled start time for a scheduled-trigger flow.
  8452  	ScheduleStartTime *time.Time `type:"timestamp"`
  8453  
  8454  	// Specifies the time zone used when referring to the date and time of a scheduled-triggered
  8455  	// flow, such as America/New_York.
  8456  	Timezone *string `type:"string"`
  8457  }
  8458  
  8459  // String returns the string representation.
  8460  //
  8461  // API parameter values that are decorated as "sensitive" in the API will not
  8462  // be included in the string output. The member name will be present, but the
  8463  // value will be replaced with "sensitive".
  8464  func (s ScheduledTriggerProperties) String() string {
  8465  	return awsutil.Prettify(s)
  8466  }
  8467  
  8468  // GoString returns the string representation.
  8469  //
  8470  // API parameter values that are decorated as "sensitive" in the API will not
  8471  // be included in the string output. The member name will be present, but the
  8472  // value will be replaced with "sensitive".
  8473  func (s ScheduledTriggerProperties) GoString() string {
  8474  	return s.String()
  8475  }
  8476  
  8477  // Validate inspects the fields of the type to determine if they are valid.
  8478  func (s *ScheduledTriggerProperties) Validate() error {
  8479  	invalidParams := request.ErrInvalidParams{Context: "ScheduledTriggerProperties"}
  8480  	if s.ScheduleExpression == nil {
  8481  		invalidParams.Add(request.NewErrParamRequired("ScheduleExpression"))
  8482  	}
  8483  
  8484  	if invalidParams.Len() > 0 {
  8485  		return invalidParams
  8486  	}
  8487  	return nil
  8488  }
  8489  
  8490  // SetDataPullMode sets the DataPullMode field's value.
  8491  func (s *ScheduledTriggerProperties) SetDataPullMode(v string) *ScheduledTriggerProperties {
  8492  	s.DataPullMode = &v
  8493  	return s
  8494  }
  8495  
  8496  // SetFirstExecutionFrom sets the FirstExecutionFrom field's value.
  8497  func (s *ScheduledTriggerProperties) SetFirstExecutionFrom(v time.Time) *ScheduledTriggerProperties {
  8498  	s.FirstExecutionFrom = &v
  8499  	return s
  8500  }
  8501  
  8502  // SetScheduleEndTime sets the ScheduleEndTime field's value.
  8503  func (s *ScheduledTriggerProperties) SetScheduleEndTime(v time.Time) *ScheduledTriggerProperties {
  8504  	s.ScheduleEndTime = &v
  8505  	return s
  8506  }
  8507  
  8508  // SetScheduleExpression sets the ScheduleExpression field's value.
  8509  func (s *ScheduledTriggerProperties) SetScheduleExpression(v string) *ScheduledTriggerProperties {
  8510  	s.ScheduleExpression = &v
  8511  	return s
  8512  }
  8513  
  8514  // SetScheduleOffset sets the ScheduleOffset field's value.
  8515  func (s *ScheduledTriggerProperties) SetScheduleOffset(v int64) *ScheduledTriggerProperties {
  8516  	s.ScheduleOffset = &v
  8517  	return s
  8518  }
  8519  
  8520  // SetScheduleStartTime sets the ScheduleStartTime field's value.
  8521  func (s *ScheduledTriggerProperties) SetScheduleStartTime(v time.Time) *ScheduledTriggerProperties {
  8522  	s.ScheduleStartTime = &v
  8523  	return s
  8524  }
  8525  
  8526  // SetTimezone sets the Timezone field's value.
  8527  func (s *ScheduledTriggerProperties) SetTimezone(v string) *ScheduledTriggerProperties {
  8528  	s.Timezone = &v
  8529  	return s
  8530  }
  8531  
  8532  type SearchProfilesInput struct {
  8533  	_ struct{} `type:"structure"`
  8534  
  8535  	// The unique name of the domain.
  8536  	//
  8537  	// DomainName is a required field
  8538  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  8539  
  8540  	// A searchable identifier of a customer profile. The predefined keys you can
  8541  	// use to search include: _account, _profileId, _fullName, _phone, _email, _ctrContactId,
  8542  	// _marketoLeadId, _salesforceAccountId, _salesforceContactId, _zendeskUserId,
  8543  	// _zendeskExternalId, _serviceNowSystemId.
  8544  	//
  8545  	// KeyName is a required field
  8546  	KeyName *string `min:"1" type:"string" required:"true"`
  8547  
  8548  	// The maximum number of objects returned per page.
  8549  	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
  8550  
  8551  	// The pagination token from the previous SearchProfiles API call.
  8552  	NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"`
  8553  
  8554  	// A list of key values.
  8555  	//
  8556  	// Values is a required field
  8557  	Values []*string `type:"list" required:"true"`
  8558  }
  8559  
  8560  // String returns the string representation.
  8561  //
  8562  // API parameter values that are decorated as "sensitive" in the API will not
  8563  // be included in the string output. The member name will be present, but the
  8564  // value will be replaced with "sensitive".
  8565  func (s SearchProfilesInput) String() string {
  8566  	return awsutil.Prettify(s)
  8567  }
  8568  
  8569  // GoString returns the string representation.
  8570  //
  8571  // API parameter values that are decorated as "sensitive" in the API will not
  8572  // be included in the string output. The member name will be present, but the
  8573  // value will be replaced with "sensitive".
  8574  func (s SearchProfilesInput) GoString() string {
  8575  	return s.String()
  8576  }
  8577  
  8578  // Validate inspects the fields of the type to determine if they are valid.
  8579  func (s *SearchProfilesInput) Validate() error {
  8580  	invalidParams := request.ErrInvalidParams{Context: "SearchProfilesInput"}
  8581  	if s.DomainName == nil {
  8582  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  8583  	}
  8584  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  8585  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  8586  	}
  8587  	if s.KeyName == nil {
  8588  		invalidParams.Add(request.NewErrParamRequired("KeyName"))
  8589  	}
  8590  	if s.KeyName != nil && len(*s.KeyName) < 1 {
  8591  		invalidParams.Add(request.NewErrParamMinLen("KeyName", 1))
  8592  	}
  8593  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8594  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8595  	}
  8596  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8597  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8598  	}
  8599  	if s.Values == nil {
  8600  		invalidParams.Add(request.NewErrParamRequired("Values"))
  8601  	}
  8602  
  8603  	if invalidParams.Len() > 0 {
  8604  		return invalidParams
  8605  	}
  8606  	return nil
  8607  }
  8608  
  8609  // SetDomainName sets the DomainName field's value.
  8610  func (s *SearchProfilesInput) SetDomainName(v string) *SearchProfilesInput {
  8611  	s.DomainName = &v
  8612  	return s
  8613  }
  8614  
  8615  // SetKeyName sets the KeyName field's value.
  8616  func (s *SearchProfilesInput) SetKeyName(v string) *SearchProfilesInput {
  8617  	s.KeyName = &v
  8618  	return s
  8619  }
  8620  
  8621  // SetMaxResults sets the MaxResults field's value.
  8622  func (s *SearchProfilesInput) SetMaxResults(v int64) *SearchProfilesInput {
  8623  	s.MaxResults = &v
  8624  	return s
  8625  }
  8626  
  8627  // SetNextToken sets the NextToken field's value.
  8628  func (s *SearchProfilesInput) SetNextToken(v string) *SearchProfilesInput {
  8629  	s.NextToken = &v
  8630  	return s
  8631  }
  8632  
  8633  // SetValues sets the Values field's value.
  8634  func (s *SearchProfilesInput) SetValues(v []*string) *SearchProfilesInput {
  8635  	s.Values = v
  8636  	return s
  8637  }
  8638  
  8639  type SearchProfilesOutput struct {
  8640  	_ struct{} `type:"structure"`
  8641  
  8642  	// The list of SearchProfiles instances.
  8643  	Items []*Profile `type:"list"`
  8644  
  8645  	// The pagination token from the previous SearchProfiles API call.
  8646  	NextToken *string `min:"1" type:"string"`
  8647  }
  8648  
  8649  // String returns the string representation.
  8650  //
  8651  // API parameter values that are decorated as "sensitive" in the API will not
  8652  // be included in the string output. The member name will be present, but the
  8653  // value will be replaced with "sensitive".
  8654  func (s SearchProfilesOutput) String() string {
  8655  	return awsutil.Prettify(s)
  8656  }
  8657  
  8658  // GoString returns the string representation.
  8659  //
  8660  // API parameter values that are decorated as "sensitive" in the API will not
  8661  // be included in the string output. The member name will be present, but the
  8662  // value will be replaced with "sensitive".
  8663  func (s SearchProfilesOutput) GoString() string {
  8664  	return s.String()
  8665  }
  8666  
  8667  // SetItems sets the Items field's value.
  8668  func (s *SearchProfilesOutput) SetItems(v []*Profile) *SearchProfilesOutput {
  8669  	s.Items = v
  8670  	return s
  8671  }
  8672  
  8673  // SetNextToken sets the NextToken field's value.
  8674  func (s *SearchProfilesOutput) SetNextToken(v string) *SearchProfilesOutput {
  8675  	s.NextToken = &v
  8676  	return s
  8677  }
  8678  
  8679  // The properties that are applied when ServiceNow is being used as a source.
  8680  type ServiceNowSourceProperties struct {
  8681  	_ struct{} `type:"structure"`
  8682  
  8683  	// The object specified in the ServiceNow flow source.
  8684  	//
  8685  	// Object is a required field
  8686  	Object *string `type:"string" required:"true"`
  8687  }
  8688  
  8689  // String returns the string representation.
  8690  //
  8691  // API parameter values that are decorated as "sensitive" in the API will not
  8692  // be included in the string output. The member name will be present, but the
  8693  // value will be replaced with "sensitive".
  8694  func (s ServiceNowSourceProperties) String() string {
  8695  	return awsutil.Prettify(s)
  8696  }
  8697  
  8698  // GoString returns the string representation.
  8699  //
  8700  // API parameter values that are decorated as "sensitive" in the API will not
  8701  // be included in the string output. The member name will be present, but the
  8702  // value will be replaced with "sensitive".
  8703  func (s ServiceNowSourceProperties) GoString() string {
  8704  	return s.String()
  8705  }
  8706  
  8707  // Validate inspects the fields of the type to determine if they are valid.
  8708  func (s *ServiceNowSourceProperties) Validate() error {
  8709  	invalidParams := request.ErrInvalidParams{Context: "ServiceNowSourceProperties"}
  8710  	if s.Object == nil {
  8711  		invalidParams.Add(request.NewErrParamRequired("Object"))
  8712  	}
  8713  
  8714  	if invalidParams.Len() > 0 {
  8715  		return invalidParams
  8716  	}
  8717  	return nil
  8718  }
  8719  
  8720  // SetObject sets the Object field's value.
  8721  func (s *ServiceNowSourceProperties) SetObject(v string) *ServiceNowSourceProperties {
  8722  	s.Object = &v
  8723  	return s
  8724  }
  8725  
  8726  // Specifies the information that is required to query a particular Amazon AppFlow
  8727  // connector. Customer Profiles supports Salesforce, Zendesk, Marketo, ServiceNow
  8728  // and Amazon S3.
  8729  type SourceConnectorProperties struct {
  8730  	_ struct{} `type:"structure"`
  8731  
  8732  	// The properties that are applied when Marketo is being used as a source.
  8733  	Marketo *MarketoSourceProperties `type:"structure"`
  8734  
  8735  	// The properties that are applied when Amazon S3 is being used as the flow
  8736  	// source.
  8737  	S3 *S3SourceProperties `type:"structure"`
  8738  
  8739  	// The properties that are applied when Salesforce is being used as a source.
  8740  	Salesforce *SalesforceSourceProperties `type:"structure"`
  8741  
  8742  	// The properties that are applied when ServiceNow is being used as a source.
  8743  	ServiceNow *ServiceNowSourceProperties `type:"structure"`
  8744  
  8745  	// The properties that are applied when using Zendesk as a flow source.
  8746  	Zendesk *ZendeskSourceProperties `type:"structure"`
  8747  }
  8748  
  8749  // String returns the string representation.
  8750  //
  8751  // API parameter values that are decorated as "sensitive" in the API will not
  8752  // be included in the string output. The member name will be present, but the
  8753  // value will be replaced with "sensitive".
  8754  func (s SourceConnectorProperties) String() string {
  8755  	return awsutil.Prettify(s)
  8756  }
  8757  
  8758  // GoString returns the string representation.
  8759  //
  8760  // API parameter values that are decorated as "sensitive" in the API will not
  8761  // be included in the string output. The member name will be present, but the
  8762  // value will be replaced with "sensitive".
  8763  func (s SourceConnectorProperties) GoString() string {
  8764  	return s.String()
  8765  }
  8766  
  8767  // Validate inspects the fields of the type to determine if they are valid.
  8768  func (s *SourceConnectorProperties) Validate() error {
  8769  	invalidParams := request.ErrInvalidParams{Context: "SourceConnectorProperties"}
  8770  	if s.Marketo != nil {
  8771  		if err := s.Marketo.Validate(); err != nil {
  8772  			invalidParams.AddNested("Marketo", err.(request.ErrInvalidParams))
  8773  		}
  8774  	}
  8775  	if s.S3 != nil {
  8776  		if err := s.S3.Validate(); err != nil {
  8777  			invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
  8778  		}
  8779  	}
  8780  	if s.Salesforce != nil {
  8781  		if err := s.Salesforce.Validate(); err != nil {
  8782  			invalidParams.AddNested("Salesforce", err.(request.ErrInvalidParams))
  8783  		}
  8784  	}
  8785  	if s.ServiceNow != nil {
  8786  		if err := s.ServiceNow.Validate(); err != nil {
  8787  			invalidParams.AddNested("ServiceNow", err.(request.ErrInvalidParams))
  8788  		}
  8789  	}
  8790  	if s.Zendesk != nil {
  8791  		if err := s.Zendesk.Validate(); err != nil {
  8792  			invalidParams.AddNested("Zendesk", err.(request.ErrInvalidParams))
  8793  		}
  8794  	}
  8795  
  8796  	if invalidParams.Len() > 0 {
  8797  		return invalidParams
  8798  	}
  8799  	return nil
  8800  }
  8801  
  8802  // SetMarketo sets the Marketo field's value.
  8803  func (s *SourceConnectorProperties) SetMarketo(v *MarketoSourceProperties) *SourceConnectorProperties {
  8804  	s.Marketo = v
  8805  	return s
  8806  }
  8807  
  8808  // SetS3 sets the S3 field's value.
  8809  func (s *SourceConnectorProperties) SetS3(v *S3SourceProperties) *SourceConnectorProperties {
  8810  	s.S3 = v
  8811  	return s
  8812  }
  8813  
  8814  // SetSalesforce sets the Salesforce field's value.
  8815  func (s *SourceConnectorProperties) SetSalesforce(v *SalesforceSourceProperties) *SourceConnectorProperties {
  8816  	s.Salesforce = v
  8817  	return s
  8818  }
  8819  
  8820  // SetServiceNow sets the ServiceNow field's value.
  8821  func (s *SourceConnectorProperties) SetServiceNow(v *ServiceNowSourceProperties) *SourceConnectorProperties {
  8822  	s.ServiceNow = v
  8823  	return s
  8824  }
  8825  
  8826  // SetZendesk sets the Zendesk field's value.
  8827  func (s *SourceConnectorProperties) SetZendesk(v *ZendeskSourceProperties) *SourceConnectorProperties {
  8828  	s.Zendesk = v
  8829  	return s
  8830  }
  8831  
  8832  // Contains information about the configuration of the source connector used
  8833  // in the flow.
  8834  type SourceFlowConfig struct {
  8835  	_ struct{} `type:"structure"`
  8836  
  8837  	// The name of the AppFlow connector profile. This name must be unique for each
  8838  	// connector profile in the AWS account.
  8839  	ConnectorProfileName *string `type:"string"`
  8840  
  8841  	// The type of connector, such as Salesforce, Marketo, and so on.
  8842  	//
  8843  	// ConnectorType is a required field
  8844  	ConnectorType *string `type:"string" required:"true" enum:"SourceConnectorType"`
  8845  
  8846  	// Defines the configuration for a scheduled incremental data pull. If a valid
  8847  	// configuration is provided, the fields specified in the configuration are
  8848  	// used when querying for the incremental data pull.
  8849  	IncrementalPullConfig *IncrementalPullConfig `type:"structure"`
  8850  
  8851  	// Specifies the information that is required to query a particular source connector.
  8852  	//
  8853  	// SourceConnectorProperties is a required field
  8854  	SourceConnectorProperties *SourceConnectorProperties `type:"structure" required:"true"`
  8855  }
  8856  
  8857  // String returns the string representation.
  8858  //
  8859  // API parameter values that are decorated as "sensitive" in the API will not
  8860  // be included in the string output. The member name will be present, but the
  8861  // value will be replaced with "sensitive".
  8862  func (s SourceFlowConfig) String() string {
  8863  	return awsutil.Prettify(s)
  8864  }
  8865  
  8866  // GoString returns the string representation.
  8867  //
  8868  // API parameter values that are decorated as "sensitive" in the API will not
  8869  // be included in the string output. The member name will be present, but the
  8870  // value will be replaced with "sensitive".
  8871  func (s SourceFlowConfig) GoString() string {
  8872  	return s.String()
  8873  }
  8874  
  8875  // Validate inspects the fields of the type to determine if they are valid.
  8876  func (s *SourceFlowConfig) Validate() error {
  8877  	invalidParams := request.ErrInvalidParams{Context: "SourceFlowConfig"}
  8878  	if s.ConnectorType == nil {
  8879  		invalidParams.Add(request.NewErrParamRequired("ConnectorType"))
  8880  	}
  8881  	if s.SourceConnectorProperties == nil {
  8882  		invalidParams.Add(request.NewErrParamRequired("SourceConnectorProperties"))
  8883  	}
  8884  	if s.SourceConnectorProperties != nil {
  8885  		if err := s.SourceConnectorProperties.Validate(); err != nil {
  8886  			invalidParams.AddNested("SourceConnectorProperties", err.(request.ErrInvalidParams))
  8887  		}
  8888  	}
  8889  
  8890  	if invalidParams.Len() > 0 {
  8891  		return invalidParams
  8892  	}
  8893  	return nil
  8894  }
  8895  
  8896  // SetConnectorProfileName sets the ConnectorProfileName field's value.
  8897  func (s *SourceFlowConfig) SetConnectorProfileName(v string) *SourceFlowConfig {
  8898  	s.ConnectorProfileName = &v
  8899  	return s
  8900  }
  8901  
  8902  // SetConnectorType sets the ConnectorType field's value.
  8903  func (s *SourceFlowConfig) SetConnectorType(v string) *SourceFlowConfig {
  8904  	s.ConnectorType = &v
  8905  	return s
  8906  }
  8907  
  8908  // SetIncrementalPullConfig sets the IncrementalPullConfig field's value.
  8909  func (s *SourceFlowConfig) SetIncrementalPullConfig(v *IncrementalPullConfig) *SourceFlowConfig {
  8910  	s.IncrementalPullConfig = v
  8911  	return s
  8912  }
  8913  
  8914  // SetSourceConnectorProperties sets the SourceConnectorProperties field's value.
  8915  func (s *SourceFlowConfig) SetSourceConnectorProperties(v *SourceConnectorProperties) *SourceFlowConfig {
  8916  	s.SourceConnectorProperties = v
  8917  	return s
  8918  }
  8919  
  8920  type TagResourceInput struct {
  8921  	_ struct{} `type:"structure"`
  8922  
  8923  	// The ARN of the resource that you're adding tags to.
  8924  	//
  8925  	// ResourceArn is a required field
  8926  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  8927  
  8928  	// The tags used to organize, track, or control access for this resource.
  8929  	//
  8930  	// Tags is a required field
  8931  	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
  8932  }
  8933  
  8934  // String returns the string representation.
  8935  //
  8936  // API parameter values that are decorated as "sensitive" in the API will not
  8937  // be included in the string output. The member name will be present, but the
  8938  // value will be replaced with "sensitive".
  8939  func (s TagResourceInput) String() string {
  8940  	return awsutil.Prettify(s)
  8941  }
  8942  
  8943  // GoString returns the string representation.
  8944  //
  8945  // API parameter values that are decorated as "sensitive" in the API will not
  8946  // be included in the string output. The member name will be present, but the
  8947  // value will be replaced with "sensitive".
  8948  func (s TagResourceInput) GoString() string {
  8949  	return s.String()
  8950  }
  8951  
  8952  // Validate inspects the fields of the type to determine if they are valid.
  8953  func (s *TagResourceInput) Validate() error {
  8954  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  8955  	if s.ResourceArn == nil {
  8956  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8957  	}
  8958  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  8959  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  8960  	}
  8961  	if s.Tags == nil {
  8962  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  8963  	}
  8964  	if s.Tags != nil && len(s.Tags) < 1 {
  8965  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  8966  	}
  8967  
  8968  	if invalidParams.Len() > 0 {
  8969  		return invalidParams
  8970  	}
  8971  	return nil
  8972  }
  8973  
  8974  // SetResourceArn sets the ResourceArn field's value.
  8975  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  8976  	s.ResourceArn = &v
  8977  	return s
  8978  }
  8979  
  8980  // SetTags sets the Tags field's value.
  8981  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  8982  	s.Tags = v
  8983  	return s
  8984  }
  8985  
  8986  type TagResourceOutput struct {
  8987  	_ struct{} `type:"structure" nopayload:"true"`
  8988  }
  8989  
  8990  // String returns the string representation.
  8991  //
  8992  // API parameter values that are decorated as "sensitive" in the API will not
  8993  // be included in the string output. The member name will be present, but the
  8994  // value will be replaced with "sensitive".
  8995  func (s TagResourceOutput) String() string {
  8996  	return awsutil.Prettify(s)
  8997  }
  8998  
  8999  // GoString returns the string representation.
  9000  //
  9001  // API parameter values that are decorated as "sensitive" in the API will not
  9002  // be included in the string output. The member name will be present, but the
  9003  // value will be replaced with "sensitive".
  9004  func (s TagResourceOutput) GoString() string {
  9005  	return s.String()
  9006  }
  9007  
  9008  // A class for modeling different type of tasks. Task implementation varies
  9009  // based on the TaskType.
  9010  type Task struct {
  9011  	_ struct{} `type:"structure"`
  9012  
  9013  	// The operation to be performed on the provided source fields.
  9014  	ConnectorOperator *ConnectorOperator `type:"structure"`
  9015  
  9016  	// A field in a destination connector, or a field value against which Amazon
  9017  	// AppFlow validates a source field.
  9018  	DestinationField *string `type:"string"`
  9019  
  9020  	// The source fields to which a particular task is applied.
  9021  	//
  9022  	// SourceFields is a required field
  9023  	SourceFields []*string `type:"list" required:"true"`
  9024  
  9025  	// A map used to store task-related information. The service looks for particular
  9026  	// information based on the TaskType.
  9027  	TaskProperties map[string]*string `type:"map"`
  9028  
  9029  	// Specifies the particular task implementation that Amazon AppFlow performs.
  9030  	//
  9031  	// TaskType is a required field
  9032  	TaskType *string `type:"string" required:"true" enum:"TaskType"`
  9033  }
  9034  
  9035  // String returns the string representation.
  9036  //
  9037  // API parameter values that are decorated as "sensitive" in the API will not
  9038  // be included in the string output. The member name will be present, but the
  9039  // value will be replaced with "sensitive".
  9040  func (s Task) String() string {
  9041  	return awsutil.Prettify(s)
  9042  }
  9043  
  9044  // GoString returns the string representation.
  9045  //
  9046  // API parameter values that are decorated as "sensitive" in the API will not
  9047  // be included in the string output. The member name will be present, but the
  9048  // value will be replaced with "sensitive".
  9049  func (s Task) GoString() string {
  9050  	return s.String()
  9051  }
  9052  
  9053  // Validate inspects the fields of the type to determine if they are valid.
  9054  func (s *Task) Validate() error {
  9055  	invalidParams := request.ErrInvalidParams{Context: "Task"}
  9056  	if s.SourceFields == nil {
  9057  		invalidParams.Add(request.NewErrParamRequired("SourceFields"))
  9058  	}
  9059  	if s.TaskType == nil {
  9060  		invalidParams.Add(request.NewErrParamRequired("TaskType"))
  9061  	}
  9062  
  9063  	if invalidParams.Len() > 0 {
  9064  		return invalidParams
  9065  	}
  9066  	return nil
  9067  }
  9068  
  9069  // SetConnectorOperator sets the ConnectorOperator field's value.
  9070  func (s *Task) SetConnectorOperator(v *ConnectorOperator) *Task {
  9071  	s.ConnectorOperator = v
  9072  	return s
  9073  }
  9074  
  9075  // SetDestinationField sets the DestinationField field's value.
  9076  func (s *Task) SetDestinationField(v string) *Task {
  9077  	s.DestinationField = &v
  9078  	return s
  9079  }
  9080  
  9081  // SetSourceFields sets the SourceFields field's value.
  9082  func (s *Task) SetSourceFields(v []*string) *Task {
  9083  	s.SourceFields = v
  9084  	return s
  9085  }
  9086  
  9087  // SetTaskProperties sets the TaskProperties field's value.
  9088  func (s *Task) SetTaskProperties(v map[string]*string) *Task {
  9089  	s.TaskProperties = v
  9090  	return s
  9091  }
  9092  
  9093  // SetTaskType sets the TaskType field's value.
  9094  func (s *Task) SetTaskType(v string) *Task {
  9095  	s.TaskType = &v
  9096  	return s
  9097  }
  9098  
  9099  // You exceeded the maximum number of requests.
  9100  type ThrottlingException struct {
  9101  	_            struct{}                  `type:"structure"`
  9102  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9103  
  9104  	Message_ *string `locationName:"Message" type:"string"`
  9105  }
  9106  
  9107  // String returns the string representation.
  9108  //
  9109  // API parameter values that are decorated as "sensitive" in the API will not
  9110  // be included in the string output. The member name will be present, but the
  9111  // value will be replaced with "sensitive".
  9112  func (s ThrottlingException) String() string {
  9113  	return awsutil.Prettify(s)
  9114  }
  9115  
  9116  // GoString returns the string representation.
  9117  //
  9118  // API parameter values that are decorated as "sensitive" in the API will not
  9119  // be included in the string output. The member name will be present, but the
  9120  // value will be replaced with "sensitive".
  9121  func (s ThrottlingException) GoString() string {
  9122  	return s.String()
  9123  }
  9124  
  9125  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  9126  	return &ThrottlingException{
  9127  		RespMetadata: v,
  9128  	}
  9129  }
  9130  
  9131  // Code returns the exception type name.
  9132  func (s *ThrottlingException) Code() string {
  9133  	return "ThrottlingException"
  9134  }
  9135  
  9136  // Message returns the exception's message.
  9137  func (s *ThrottlingException) Message() string {
  9138  	if s.Message_ != nil {
  9139  		return *s.Message_
  9140  	}
  9141  	return ""
  9142  }
  9143  
  9144  // OrigErr always returns nil, satisfies awserr.Error interface.
  9145  func (s *ThrottlingException) OrigErr() error {
  9146  	return nil
  9147  }
  9148  
  9149  func (s *ThrottlingException) Error() string {
  9150  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9151  }
  9152  
  9153  // Status code returns the HTTP status code for the request's response error.
  9154  func (s *ThrottlingException) StatusCode() int {
  9155  	return s.RespMetadata.StatusCode
  9156  }
  9157  
  9158  // RequestID returns the service's response RequestID for request.
  9159  func (s *ThrottlingException) RequestID() string {
  9160  	return s.RespMetadata.RequestID
  9161  }
  9162  
  9163  // The trigger settings that determine how and when Amazon AppFlow runs the
  9164  // specified flow.
  9165  type TriggerConfig struct {
  9166  	_ struct{} `type:"structure"`
  9167  
  9168  	// Specifies the configuration details of a schedule-triggered flow that you
  9169  	// define. Currently, these settings only apply to the Scheduled trigger type.
  9170  	TriggerProperties *TriggerProperties `type:"structure"`
  9171  
  9172  	// Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event.
  9173  	//
  9174  	// TriggerType is a required field
  9175  	TriggerType *string `type:"string" required:"true" enum:"TriggerType"`
  9176  }
  9177  
  9178  // String returns the string representation.
  9179  //
  9180  // API parameter values that are decorated as "sensitive" in the API will not
  9181  // be included in the string output. The member name will be present, but the
  9182  // value will be replaced with "sensitive".
  9183  func (s TriggerConfig) String() string {
  9184  	return awsutil.Prettify(s)
  9185  }
  9186  
  9187  // GoString returns the string representation.
  9188  //
  9189  // API parameter values that are decorated as "sensitive" in the API will not
  9190  // be included in the string output. The member name will be present, but the
  9191  // value will be replaced with "sensitive".
  9192  func (s TriggerConfig) GoString() string {
  9193  	return s.String()
  9194  }
  9195  
  9196  // Validate inspects the fields of the type to determine if they are valid.
  9197  func (s *TriggerConfig) Validate() error {
  9198  	invalidParams := request.ErrInvalidParams{Context: "TriggerConfig"}
  9199  	if s.TriggerType == nil {
  9200  		invalidParams.Add(request.NewErrParamRequired("TriggerType"))
  9201  	}
  9202  	if s.TriggerProperties != nil {
  9203  		if err := s.TriggerProperties.Validate(); err != nil {
  9204  			invalidParams.AddNested("TriggerProperties", err.(request.ErrInvalidParams))
  9205  		}
  9206  	}
  9207  
  9208  	if invalidParams.Len() > 0 {
  9209  		return invalidParams
  9210  	}
  9211  	return nil
  9212  }
  9213  
  9214  // SetTriggerProperties sets the TriggerProperties field's value.
  9215  func (s *TriggerConfig) SetTriggerProperties(v *TriggerProperties) *TriggerConfig {
  9216  	s.TriggerProperties = v
  9217  	return s
  9218  }
  9219  
  9220  // SetTriggerType sets the TriggerType field's value.
  9221  func (s *TriggerConfig) SetTriggerType(v string) *TriggerConfig {
  9222  	s.TriggerType = &v
  9223  	return s
  9224  }
  9225  
  9226  // Specifies the configuration details that control the trigger for a flow.
  9227  // Currently, these settings only apply to the Scheduled trigger type.
  9228  type TriggerProperties struct {
  9229  	_ struct{} `type:"structure"`
  9230  
  9231  	// Specifies the configuration details of a schedule-triggered flow that you
  9232  	// define.
  9233  	Scheduled *ScheduledTriggerProperties `type:"structure"`
  9234  }
  9235  
  9236  // String returns the string representation.
  9237  //
  9238  // API parameter values that are decorated as "sensitive" in the API will not
  9239  // be included in the string output. The member name will be present, but the
  9240  // value will be replaced with "sensitive".
  9241  func (s TriggerProperties) String() string {
  9242  	return awsutil.Prettify(s)
  9243  }
  9244  
  9245  // GoString returns the string representation.
  9246  //
  9247  // API parameter values that are decorated as "sensitive" in the API will not
  9248  // be included in the string output. The member name will be present, but the
  9249  // value will be replaced with "sensitive".
  9250  func (s TriggerProperties) GoString() string {
  9251  	return s.String()
  9252  }
  9253  
  9254  // Validate inspects the fields of the type to determine if they are valid.
  9255  func (s *TriggerProperties) Validate() error {
  9256  	invalidParams := request.ErrInvalidParams{Context: "TriggerProperties"}
  9257  	if s.Scheduled != nil {
  9258  		if err := s.Scheduled.Validate(); err != nil {
  9259  			invalidParams.AddNested("Scheduled", err.(request.ErrInvalidParams))
  9260  		}
  9261  	}
  9262  
  9263  	if invalidParams.Len() > 0 {
  9264  		return invalidParams
  9265  	}
  9266  	return nil
  9267  }
  9268  
  9269  // SetScheduled sets the Scheduled field's value.
  9270  func (s *TriggerProperties) SetScheduled(v *ScheduledTriggerProperties) *TriggerProperties {
  9271  	s.Scheduled = v
  9272  	return s
  9273  }
  9274  
  9275  type UntagResourceInput struct {
  9276  	_ struct{} `type:"structure" nopayload:"true"`
  9277  
  9278  	// The ARN of the resource from which you are removing tags.
  9279  	//
  9280  	// ResourceArn is a required field
  9281  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  9282  
  9283  	// The list of tag keys to remove from the resource.
  9284  	//
  9285  	// TagKeys is a required field
  9286  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
  9287  }
  9288  
  9289  // String returns the string representation.
  9290  //
  9291  // API parameter values that are decorated as "sensitive" in the API will not
  9292  // be included in the string output. The member name will be present, but the
  9293  // value will be replaced with "sensitive".
  9294  func (s UntagResourceInput) String() string {
  9295  	return awsutil.Prettify(s)
  9296  }
  9297  
  9298  // GoString returns the string representation.
  9299  //
  9300  // API parameter values that are decorated as "sensitive" in the API will not
  9301  // be included in the string output. The member name will be present, but the
  9302  // value will be replaced with "sensitive".
  9303  func (s UntagResourceInput) GoString() string {
  9304  	return s.String()
  9305  }
  9306  
  9307  // Validate inspects the fields of the type to determine if they are valid.
  9308  func (s *UntagResourceInput) Validate() error {
  9309  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  9310  	if s.ResourceArn == nil {
  9311  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  9312  	}
  9313  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  9314  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  9315  	}
  9316  	if s.TagKeys == nil {
  9317  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  9318  	}
  9319  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
  9320  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
  9321  	}
  9322  
  9323  	if invalidParams.Len() > 0 {
  9324  		return invalidParams
  9325  	}
  9326  	return nil
  9327  }
  9328  
  9329  // SetResourceArn sets the ResourceArn field's value.
  9330  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  9331  	s.ResourceArn = &v
  9332  	return s
  9333  }
  9334  
  9335  // SetTagKeys sets the TagKeys field's value.
  9336  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  9337  	s.TagKeys = v
  9338  	return s
  9339  }
  9340  
  9341  type UntagResourceOutput struct {
  9342  	_ struct{} `type:"structure" nopayload:"true"`
  9343  }
  9344  
  9345  // String returns the string representation.
  9346  //
  9347  // API parameter values that are decorated as "sensitive" in the API will not
  9348  // be included in the string output. The member name will be present, but the
  9349  // value will be replaced with "sensitive".
  9350  func (s UntagResourceOutput) String() string {
  9351  	return awsutil.Prettify(s)
  9352  }
  9353  
  9354  // GoString returns the string representation.
  9355  //
  9356  // API parameter values that are decorated as "sensitive" in the API will not
  9357  // be included in the string output. The member name will be present, but the
  9358  // value will be replaced with "sensitive".
  9359  func (s UntagResourceOutput) GoString() string {
  9360  	return s.String()
  9361  }
  9362  
  9363  // Updates associated with the address properties of a customer profile.
  9364  type UpdateAddress struct {
  9365  	_ struct{} `type:"structure"`
  9366  
  9367  	// The first line of a customer address.
  9368  	Address1 *string `type:"string"`
  9369  
  9370  	// The second line of a customer address.
  9371  	Address2 *string `type:"string"`
  9372  
  9373  	// The third line of a customer address.
  9374  	Address3 *string `type:"string"`
  9375  
  9376  	// The fourth line of a customer address.
  9377  	Address4 *string `type:"string"`
  9378  
  9379  	// The city in which a customer lives.
  9380  	City *string `type:"string"`
  9381  
  9382  	// The country in which a customer lives.
  9383  	Country *string `type:"string"`
  9384  
  9385  	// The county in which a customer lives.
  9386  	County *string `type:"string"`
  9387  
  9388  	// The postal code of a customer address.
  9389  	PostalCode *string `type:"string"`
  9390  
  9391  	// The province in which a customer lives.
  9392  	Province *string `type:"string"`
  9393  
  9394  	// The state in which a customer lives.
  9395  	State *string `type:"string"`
  9396  }
  9397  
  9398  // String returns the string representation.
  9399  //
  9400  // API parameter values that are decorated as "sensitive" in the API will not
  9401  // be included in the string output. The member name will be present, but the
  9402  // value will be replaced with "sensitive".
  9403  func (s UpdateAddress) String() string {
  9404  	return awsutil.Prettify(s)
  9405  }
  9406  
  9407  // GoString returns the string representation.
  9408  //
  9409  // API parameter values that are decorated as "sensitive" in the API will not
  9410  // be included in the string output. The member name will be present, but the
  9411  // value will be replaced with "sensitive".
  9412  func (s UpdateAddress) GoString() string {
  9413  	return s.String()
  9414  }
  9415  
  9416  // SetAddress1 sets the Address1 field's value.
  9417  func (s *UpdateAddress) SetAddress1(v string) *UpdateAddress {
  9418  	s.Address1 = &v
  9419  	return s
  9420  }
  9421  
  9422  // SetAddress2 sets the Address2 field's value.
  9423  func (s *UpdateAddress) SetAddress2(v string) *UpdateAddress {
  9424  	s.Address2 = &v
  9425  	return s
  9426  }
  9427  
  9428  // SetAddress3 sets the Address3 field's value.
  9429  func (s *UpdateAddress) SetAddress3(v string) *UpdateAddress {
  9430  	s.Address3 = &v
  9431  	return s
  9432  }
  9433  
  9434  // SetAddress4 sets the Address4 field's value.
  9435  func (s *UpdateAddress) SetAddress4(v string) *UpdateAddress {
  9436  	s.Address4 = &v
  9437  	return s
  9438  }
  9439  
  9440  // SetCity sets the City field's value.
  9441  func (s *UpdateAddress) SetCity(v string) *UpdateAddress {
  9442  	s.City = &v
  9443  	return s
  9444  }
  9445  
  9446  // SetCountry sets the Country field's value.
  9447  func (s *UpdateAddress) SetCountry(v string) *UpdateAddress {
  9448  	s.Country = &v
  9449  	return s
  9450  }
  9451  
  9452  // SetCounty sets the County field's value.
  9453  func (s *UpdateAddress) SetCounty(v string) *UpdateAddress {
  9454  	s.County = &v
  9455  	return s
  9456  }
  9457  
  9458  // SetPostalCode sets the PostalCode field's value.
  9459  func (s *UpdateAddress) SetPostalCode(v string) *UpdateAddress {
  9460  	s.PostalCode = &v
  9461  	return s
  9462  }
  9463  
  9464  // SetProvince sets the Province field's value.
  9465  func (s *UpdateAddress) SetProvince(v string) *UpdateAddress {
  9466  	s.Province = &v
  9467  	return s
  9468  }
  9469  
  9470  // SetState sets the State field's value.
  9471  func (s *UpdateAddress) SetState(v string) *UpdateAddress {
  9472  	s.State = &v
  9473  	return s
  9474  }
  9475  
  9476  type UpdateDomainInput struct {
  9477  	_ struct{} `type:"structure"`
  9478  
  9479  	// The URL of the SQS dead letter queue, which is used for reporting errors
  9480  	// associated with ingesting data from third party applications. If specified
  9481  	// as an empty string, it will clear any existing value. You must set up a policy
  9482  	// on the DeadLetterQueue for the SendMessage operation to enable Amazon Connect
  9483  	// Customer Profiles to send messages to the DeadLetterQueue.
  9484  	DeadLetterQueueUrl *string `type:"string"`
  9485  
  9486  	// The default encryption key, which is an AWS managed key, is used when no
  9487  	// specific type of encryption key is specified. It is used to encrypt all data
  9488  	// before it is placed in permanent or semi-permanent storage. If specified
  9489  	// as an empty string, it will clear any existing value.
  9490  	DefaultEncryptionKey *string `type:"string"`
  9491  
  9492  	// The default number of days until the data within the domain expires.
  9493  	DefaultExpirationDays *int64 `min:"1" type:"integer"`
  9494  
  9495  	// The unique name of the domain.
  9496  	//
  9497  	// DomainName is a required field
  9498  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  9499  
  9500  	// The process of matching duplicate profiles. If Matching = true, Amazon Connect
  9501  	// Customer Profiles starts a weekly batch process every Saturday at 12AM UTC
  9502  	// to detect duplicate profiles in your domains. After that batch process completes,
  9503  	// use the GetMatches (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html)
  9504  	// API to return and review the results.
  9505  	Matching *MatchingRequest `type:"structure"`
  9506  
  9507  	// The tags used to organize, track, or control access for this resource.
  9508  	Tags map[string]*string `min:"1" type:"map"`
  9509  }
  9510  
  9511  // String returns the string representation.
  9512  //
  9513  // API parameter values that are decorated as "sensitive" in the API will not
  9514  // be included in the string output. The member name will be present, but the
  9515  // value will be replaced with "sensitive".
  9516  func (s UpdateDomainInput) String() string {
  9517  	return awsutil.Prettify(s)
  9518  }
  9519  
  9520  // GoString returns the string representation.
  9521  //
  9522  // API parameter values that are decorated as "sensitive" in the API will not
  9523  // be included in the string output. The member name will be present, but the
  9524  // value will be replaced with "sensitive".
  9525  func (s UpdateDomainInput) GoString() string {
  9526  	return s.String()
  9527  }
  9528  
  9529  // Validate inspects the fields of the type to determine if they are valid.
  9530  func (s *UpdateDomainInput) Validate() error {
  9531  	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainInput"}
  9532  	if s.DefaultExpirationDays != nil && *s.DefaultExpirationDays < 1 {
  9533  		invalidParams.Add(request.NewErrParamMinValue("DefaultExpirationDays", 1))
  9534  	}
  9535  	if s.DomainName == nil {
  9536  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  9537  	}
  9538  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  9539  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  9540  	}
  9541  	if s.Tags != nil && len(s.Tags) < 1 {
  9542  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  9543  	}
  9544  	if s.Matching != nil {
  9545  		if err := s.Matching.Validate(); err != nil {
  9546  			invalidParams.AddNested("Matching", err.(request.ErrInvalidParams))
  9547  		}
  9548  	}
  9549  
  9550  	if invalidParams.Len() > 0 {
  9551  		return invalidParams
  9552  	}
  9553  	return nil
  9554  }
  9555  
  9556  // SetDeadLetterQueueUrl sets the DeadLetterQueueUrl field's value.
  9557  func (s *UpdateDomainInput) SetDeadLetterQueueUrl(v string) *UpdateDomainInput {
  9558  	s.DeadLetterQueueUrl = &v
  9559  	return s
  9560  }
  9561  
  9562  // SetDefaultEncryptionKey sets the DefaultEncryptionKey field's value.
  9563  func (s *UpdateDomainInput) SetDefaultEncryptionKey(v string) *UpdateDomainInput {
  9564  	s.DefaultEncryptionKey = &v
  9565  	return s
  9566  }
  9567  
  9568  // SetDefaultExpirationDays sets the DefaultExpirationDays field's value.
  9569  func (s *UpdateDomainInput) SetDefaultExpirationDays(v int64) *UpdateDomainInput {
  9570  	s.DefaultExpirationDays = &v
  9571  	return s
  9572  }
  9573  
  9574  // SetDomainName sets the DomainName field's value.
  9575  func (s *UpdateDomainInput) SetDomainName(v string) *UpdateDomainInput {
  9576  	s.DomainName = &v
  9577  	return s
  9578  }
  9579  
  9580  // SetMatching sets the Matching field's value.
  9581  func (s *UpdateDomainInput) SetMatching(v *MatchingRequest) *UpdateDomainInput {
  9582  	s.Matching = v
  9583  	return s
  9584  }
  9585  
  9586  // SetTags sets the Tags field's value.
  9587  func (s *UpdateDomainInput) SetTags(v map[string]*string) *UpdateDomainInput {
  9588  	s.Tags = v
  9589  	return s
  9590  }
  9591  
  9592  type UpdateDomainOutput struct {
  9593  	_ struct{} `type:"structure"`
  9594  
  9595  	// The timestamp of when the domain was created.
  9596  	//
  9597  	// CreatedAt is a required field
  9598  	CreatedAt *time.Time `type:"timestamp" required:"true"`
  9599  
  9600  	// The URL of the SQS dead letter queue, which is used for reporting errors
  9601  	// associated with ingesting data from third party applications.
  9602  	DeadLetterQueueUrl *string `type:"string"`
  9603  
  9604  	// The default encryption key, which is an AWS managed key, is used when no
  9605  	// specific type of encryption key is specified. It is used to encrypt all data
  9606  	// before it is placed in permanent or semi-permanent storage.
  9607  	DefaultEncryptionKey *string `type:"string"`
  9608  
  9609  	// The default number of days until the data within the domain expires.
  9610  	DefaultExpirationDays *int64 `min:"1" type:"integer"`
  9611  
  9612  	// The unique name of the domain.
  9613  	//
  9614  	// DomainName is a required field
  9615  	DomainName *string `min:"1" type:"string" required:"true"`
  9616  
  9617  	// The timestamp of when the domain was most recently edited.
  9618  	//
  9619  	// LastUpdatedAt is a required field
  9620  	LastUpdatedAt *time.Time `type:"timestamp" required:"true"`
  9621  
  9622  	// The process of matching duplicate profiles. If Matching = true, Amazon Connect
  9623  	// Customer Profiles starts a weekly batch process every Saturday at 12AM UTC
  9624  	// to detect duplicate profiles in your domains. After that batch process completes,
  9625  	// use the GetMatches (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html)
  9626  	// API to return and review the results.
  9627  	Matching *MatchingResponse `type:"structure"`
  9628  
  9629  	// The tags used to organize, track, or control access for this resource.
  9630  	Tags map[string]*string `min:"1" type:"map"`
  9631  }
  9632  
  9633  // String returns the string representation.
  9634  //
  9635  // API parameter values that are decorated as "sensitive" in the API will not
  9636  // be included in the string output. The member name will be present, but the
  9637  // value will be replaced with "sensitive".
  9638  func (s UpdateDomainOutput) String() string {
  9639  	return awsutil.Prettify(s)
  9640  }
  9641  
  9642  // GoString returns the string representation.
  9643  //
  9644  // API parameter values that are decorated as "sensitive" in the API will not
  9645  // be included in the string output. The member name will be present, but the
  9646  // value will be replaced with "sensitive".
  9647  func (s UpdateDomainOutput) GoString() string {
  9648  	return s.String()
  9649  }
  9650  
  9651  // SetCreatedAt sets the CreatedAt field's value.
  9652  func (s *UpdateDomainOutput) SetCreatedAt(v time.Time) *UpdateDomainOutput {
  9653  	s.CreatedAt = &v
  9654  	return s
  9655  }
  9656  
  9657  // SetDeadLetterQueueUrl sets the DeadLetterQueueUrl field's value.
  9658  func (s *UpdateDomainOutput) SetDeadLetterQueueUrl(v string) *UpdateDomainOutput {
  9659  	s.DeadLetterQueueUrl = &v
  9660  	return s
  9661  }
  9662  
  9663  // SetDefaultEncryptionKey sets the DefaultEncryptionKey field's value.
  9664  func (s *UpdateDomainOutput) SetDefaultEncryptionKey(v string) *UpdateDomainOutput {
  9665  	s.DefaultEncryptionKey = &v
  9666  	return s
  9667  }
  9668  
  9669  // SetDefaultExpirationDays sets the DefaultExpirationDays field's value.
  9670  func (s *UpdateDomainOutput) SetDefaultExpirationDays(v int64) *UpdateDomainOutput {
  9671  	s.DefaultExpirationDays = &v
  9672  	return s
  9673  }
  9674  
  9675  // SetDomainName sets the DomainName field's value.
  9676  func (s *UpdateDomainOutput) SetDomainName(v string) *UpdateDomainOutput {
  9677  	s.DomainName = &v
  9678  	return s
  9679  }
  9680  
  9681  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  9682  func (s *UpdateDomainOutput) SetLastUpdatedAt(v time.Time) *UpdateDomainOutput {
  9683  	s.LastUpdatedAt = &v
  9684  	return s
  9685  }
  9686  
  9687  // SetMatching sets the Matching field's value.
  9688  func (s *UpdateDomainOutput) SetMatching(v *MatchingResponse) *UpdateDomainOutput {
  9689  	s.Matching = v
  9690  	return s
  9691  }
  9692  
  9693  // SetTags sets the Tags field's value.
  9694  func (s *UpdateDomainOutput) SetTags(v map[string]*string) *UpdateDomainOutput {
  9695  	s.Tags = v
  9696  	return s
  9697  }
  9698  
  9699  type UpdateProfileInput struct {
  9700  	_ struct{} `type:"structure"`
  9701  
  9702  	// A unique account number that you have given to the customer.
  9703  	AccountNumber *string `type:"string"`
  9704  
  9705  	// Any additional information relevant to the customer’s profile.
  9706  	AdditionalInformation *string `type:"string"`
  9707  
  9708  	// A generic address associated with the customer that is not mailing, shipping,
  9709  	// or billing.
  9710  	Address *UpdateAddress `type:"structure"`
  9711  
  9712  	// A key value pair of attributes of a customer profile.
  9713  	Attributes map[string]*string `type:"map"`
  9714  
  9715  	// The customer’s billing address.
  9716  	BillingAddress *UpdateAddress `type:"structure"`
  9717  
  9718  	// The customer’s birth date.
  9719  	BirthDate *string `type:"string"`
  9720  
  9721  	// The customer’s business email address.
  9722  	BusinessEmailAddress *string `type:"string"`
  9723  
  9724  	// The name of the customer’s business.
  9725  	BusinessName *string `type:"string"`
  9726  
  9727  	// The customer’s business phone number.
  9728  	BusinessPhoneNumber *string `type:"string"`
  9729  
  9730  	// The unique name of the domain.
  9731  	//
  9732  	// DomainName is a required field
  9733  	DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"`
  9734  
  9735  	// The customer’s email address, which has not been specified as a personal
  9736  	// or business address.
  9737  	EmailAddress *string `type:"string"`
  9738  
  9739  	// The customer’s first name.
  9740  	FirstName *string `type:"string"`
  9741  
  9742  	// The gender with which the customer identifies.
  9743  	Gender *string `type:"string" enum:"Gender"`
  9744  
  9745  	// The customer’s home phone number.
  9746  	HomePhoneNumber *string `type:"string"`
  9747  
  9748  	// The customer’s last name.
  9749  	LastName *string `type:"string"`
  9750  
  9751  	// The customer’s mailing address.
  9752  	MailingAddress *UpdateAddress `type:"structure"`
  9753  
  9754  	// The customer’s middle name.
  9755  	MiddleName *string `type:"string"`
  9756  
  9757  	// The customer’s mobile phone number.
  9758  	MobilePhoneNumber *string `type:"string"`
  9759  
  9760  	// The type of profile used to describe the customer.
  9761  	PartyType *string `type:"string" enum:"PartyType"`
  9762  
  9763  	// The customer’s personal email address.
  9764  	PersonalEmailAddress *string `type:"string"`
  9765  
  9766  	// The customer’s phone number, which has not been specified as a mobile,
  9767  	// home, or business number.
  9768  	PhoneNumber *string `type:"string"`
  9769  
  9770  	// The unique identifier of a customer profile.
  9771  	//
  9772  	// ProfileId is a required field
  9773  	ProfileId *string `type:"string" required:"true"`
  9774  
  9775  	// The customer’s shipping address.
  9776  	ShippingAddress *UpdateAddress `type:"structure"`
  9777  }
  9778  
  9779  // String returns the string representation.
  9780  //
  9781  // API parameter values that are decorated as "sensitive" in the API will not
  9782  // be included in the string output. The member name will be present, but the
  9783  // value will be replaced with "sensitive".
  9784  func (s UpdateProfileInput) String() string {
  9785  	return awsutil.Prettify(s)
  9786  }
  9787  
  9788  // GoString returns the string representation.
  9789  //
  9790  // API parameter values that are decorated as "sensitive" in the API will not
  9791  // be included in the string output. The member name will be present, but the
  9792  // value will be replaced with "sensitive".
  9793  func (s UpdateProfileInput) GoString() string {
  9794  	return s.String()
  9795  }
  9796  
  9797  // Validate inspects the fields of the type to determine if they are valid.
  9798  func (s *UpdateProfileInput) Validate() error {
  9799  	invalidParams := request.ErrInvalidParams{Context: "UpdateProfileInput"}
  9800  	if s.DomainName == nil {
  9801  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  9802  	}
  9803  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  9804  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  9805  	}
  9806  	if s.ProfileId == nil {
  9807  		invalidParams.Add(request.NewErrParamRequired("ProfileId"))
  9808  	}
  9809  
  9810  	if invalidParams.Len() > 0 {
  9811  		return invalidParams
  9812  	}
  9813  	return nil
  9814  }
  9815  
  9816  // SetAccountNumber sets the AccountNumber field's value.
  9817  func (s *UpdateProfileInput) SetAccountNumber(v string) *UpdateProfileInput {
  9818  	s.AccountNumber = &v
  9819  	return s
  9820  }
  9821  
  9822  // SetAdditionalInformation sets the AdditionalInformation field's value.
  9823  func (s *UpdateProfileInput) SetAdditionalInformation(v string) *UpdateProfileInput {
  9824  	s.AdditionalInformation = &v
  9825  	return s
  9826  }
  9827  
  9828  // SetAddress sets the Address field's value.
  9829  func (s *UpdateProfileInput) SetAddress(v *UpdateAddress) *UpdateProfileInput {
  9830  	s.Address = v
  9831  	return s
  9832  }
  9833  
  9834  // SetAttributes sets the Attributes field's value.
  9835  func (s *UpdateProfileInput) SetAttributes(v map[string]*string) *UpdateProfileInput {
  9836  	s.Attributes = v
  9837  	return s
  9838  }
  9839  
  9840  // SetBillingAddress sets the BillingAddress field's value.
  9841  func (s *UpdateProfileInput) SetBillingAddress(v *UpdateAddress) *UpdateProfileInput {
  9842  	s.BillingAddress = v
  9843  	return s
  9844  }
  9845  
  9846  // SetBirthDate sets the BirthDate field's value.
  9847  func (s *UpdateProfileInput) SetBirthDate(v string) *UpdateProfileInput {
  9848  	s.BirthDate = &v
  9849  	return s
  9850  }
  9851  
  9852  // SetBusinessEmailAddress sets the BusinessEmailAddress field's value.
  9853  func (s *UpdateProfileInput) SetBusinessEmailAddress(v string) *UpdateProfileInput {
  9854  	s.BusinessEmailAddress = &v
  9855  	return s
  9856  }
  9857  
  9858  // SetBusinessName sets the BusinessName field's value.
  9859  func (s *UpdateProfileInput) SetBusinessName(v string) *UpdateProfileInput {
  9860  	s.BusinessName = &v
  9861  	return s
  9862  }
  9863  
  9864  // SetBusinessPhoneNumber sets the BusinessPhoneNumber field's value.
  9865  func (s *UpdateProfileInput) SetBusinessPhoneNumber(v string) *UpdateProfileInput {
  9866  	s.BusinessPhoneNumber = &v
  9867  	return s
  9868  }
  9869  
  9870  // SetDomainName sets the DomainName field's value.
  9871  func (s *UpdateProfileInput) SetDomainName(v string) *UpdateProfileInput {
  9872  	s.DomainName = &v
  9873  	return s
  9874  }
  9875  
  9876  // SetEmailAddress sets the EmailAddress field's value.
  9877  func (s *UpdateProfileInput) SetEmailAddress(v string) *UpdateProfileInput {
  9878  	s.EmailAddress = &v
  9879  	return s
  9880  }
  9881  
  9882  // SetFirstName sets the FirstName field's value.
  9883  func (s *UpdateProfileInput) SetFirstName(v string) *UpdateProfileInput {
  9884  	s.FirstName = &v
  9885  	return s
  9886  }
  9887  
  9888  // SetGender sets the Gender field's value.
  9889  func (s *UpdateProfileInput) SetGender(v string) *UpdateProfileInput {
  9890  	s.Gender = &v
  9891  	return s
  9892  }
  9893  
  9894  // SetHomePhoneNumber sets the HomePhoneNumber field's value.
  9895  func (s *UpdateProfileInput) SetHomePhoneNumber(v string) *UpdateProfileInput {
  9896  	s.HomePhoneNumber = &v
  9897  	return s
  9898  }
  9899  
  9900  // SetLastName sets the LastName field's value.
  9901  func (s *UpdateProfileInput) SetLastName(v string) *UpdateProfileInput {
  9902  	s.LastName = &v
  9903  	return s
  9904  }
  9905  
  9906  // SetMailingAddress sets the MailingAddress field's value.
  9907  func (s *UpdateProfileInput) SetMailingAddress(v *UpdateAddress) *UpdateProfileInput {
  9908  	s.MailingAddress = v
  9909  	return s
  9910  }
  9911  
  9912  // SetMiddleName sets the MiddleName field's value.
  9913  func (s *UpdateProfileInput) SetMiddleName(v string) *UpdateProfileInput {
  9914  	s.MiddleName = &v
  9915  	return s
  9916  }
  9917  
  9918  // SetMobilePhoneNumber sets the MobilePhoneNumber field's value.
  9919  func (s *UpdateProfileInput) SetMobilePhoneNumber(v string) *UpdateProfileInput {
  9920  	s.MobilePhoneNumber = &v
  9921  	return s
  9922  }
  9923  
  9924  // SetPartyType sets the PartyType field's value.
  9925  func (s *UpdateProfileInput) SetPartyType(v string) *UpdateProfileInput {
  9926  	s.PartyType = &v
  9927  	return s
  9928  }
  9929  
  9930  // SetPersonalEmailAddress sets the PersonalEmailAddress field's value.
  9931  func (s *UpdateProfileInput) SetPersonalEmailAddress(v string) *UpdateProfileInput {
  9932  	s.PersonalEmailAddress = &v
  9933  	return s
  9934  }
  9935  
  9936  // SetPhoneNumber sets the PhoneNumber field's value.
  9937  func (s *UpdateProfileInput) SetPhoneNumber(v string) *UpdateProfileInput {
  9938  	s.PhoneNumber = &v
  9939  	return s
  9940  }
  9941  
  9942  // SetProfileId sets the ProfileId field's value.
  9943  func (s *UpdateProfileInput) SetProfileId(v string) *UpdateProfileInput {
  9944  	s.ProfileId = &v
  9945  	return s
  9946  }
  9947  
  9948  // SetShippingAddress sets the ShippingAddress field's value.
  9949  func (s *UpdateProfileInput) SetShippingAddress(v *UpdateAddress) *UpdateProfileInput {
  9950  	s.ShippingAddress = v
  9951  	return s
  9952  }
  9953  
  9954  type UpdateProfileOutput struct {
  9955  	_ struct{} `type:"structure"`
  9956  
  9957  	// The unique identifier of a customer profile.
  9958  	//
  9959  	// ProfileId is a required field
  9960  	ProfileId *string `type:"string" required:"true"`
  9961  }
  9962  
  9963  // String returns the string representation.
  9964  //
  9965  // API parameter values that are decorated as "sensitive" in the API will not
  9966  // be included in the string output. The member name will be present, but the
  9967  // value will be replaced with "sensitive".
  9968  func (s UpdateProfileOutput) String() string {
  9969  	return awsutil.Prettify(s)
  9970  }
  9971  
  9972  // GoString returns the string representation.
  9973  //
  9974  // API parameter values that are decorated as "sensitive" in the API will not
  9975  // be included in the string output. The member name will be present, but the
  9976  // value will be replaced with "sensitive".
  9977  func (s UpdateProfileOutput) GoString() string {
  9978  	return s.String()
  9979  }
  9980  
  9981  // SetProfileId sets the ProfileId field's value.
  9982  func (s *UpdateProfileOutput) SetProfileId(v string) *UpdateProfileOutput {
  9983  	s.ProfileId = &v
  9984  	return s
  9985  }
  9986  
  9987  // The properties that are applied when using Zendesk as a flow source.
  9988  type ZendeskSourceProperties struct {
  9989  	_ struct{} `type:"structure"`
  9990  
  9991  	// The object specified in the Zendesk flow source.
  9992  	//
  9993  	// Object is a required field
  9994  	Object *string `type:"string" required:"true"`
  9995  }
  9996  
  9997  // String returns the string representation.
  9998  //
  9999  // API parameter values that are decorated as "sensitive" in the API will not
 10000  // be included in the string output. The member name will be present, but the
 10001  // value will be replaced with "sensitive".
 10002  func (s ZendeskSourceProperties) String() string {
 10003  	return awsutil.Prettify(s)
 10004  }
 10005  
 10006  // GoString returns the string representation.
 10007  //
 10008  // API parameter values that are decorated as "sensitive" in the API will not
 10009  // be included in the string output. The member name will be present, but the
 10010  // value will be replaced with "sensitive".
 10011  func (s ZendeskSourceProperties) GoString() string {
 10012  	return s.String()
 10013  }
 10014  
 10015  // Validate inspects the fields of the type to determine if they are valid.
 10016  func (s *ZendeskSourceProperties) Validate() error {
 10017  	invalidParams := request.ErrInvalidParams{Context: "ZendeskSourceProperties"}
 10018  	if s.Object == nil {
 10019  		invalidParams.Add(request.NewErrParamRequired("Object"))
 10020  	}
 10021  
 10022  	if invalidParams.Len() > 0 {
 10023  		return invalidParams
 10024  	}
 10025  	return nil
 10026  }
 10027  
 10028  // SetObject sets the Object field's value.
 10029  func (s *ZendeskSourceProperties) SetObject(v string) *ZendeskSourceProperties {
 10030  	s.Object = &v
 10031  	return s
 10032  }
 10033  
 10034  const (
 10035  	// DataPullModeIncremental is a DataPullMode enum value
 10036  	DataPullModeIncremental = "Incremental"
 10037  
 10038  	// DataPullModeComplete is a DataPullMode enum value
 10039  	DataPullModeComplete = "Complete"
 10040  )
 10041  
 10042  // DataPullMode_Values returns all elements of the DataPullMode enum
 10043  func DataPullMode_Values() []string {
 10044  	return []string{
 10045  		DataPullModeIncremental,
 10046  		DataPullModeComplete,
 10047  	}
 10048  }
 10049  
 10050  const (
 10051  	// FieldContentTypeString is a FieldContentType enum value
 10052  	FieldContentTypeString = "STRING"
 10053  
 10054  	// FieldContentTypeNumber is a FieldContentType enum value
 10055  	FieldContentTypeNumber = "NUMBER"
 10056  
 10057  	// FieldContentTypePhoneNumber is a FieldContentType enum value
 10058  	FieldContentTypePhoneNumber = "PHONE_NUMBER"
 10059  
 10060  	// FieldContentTypeEmailAddress is a FieldContentType enum value
 10061  	FieldContentTypeEmailAddress = "EMAIL_ADDRESS"
 10062  
 10063  	// FieldContentTypeName is a FieldContentType enum value
 10064  	FieldContentTypeName = "NAME"
 10065  )
 10066  
 10067  // FieldContentType_Values returns all elements of the FieldContentType enum
 10068  func FieldContentType_Values() []string {
 10069  	return []string{
 10070  		FieldContentTypeString,
 10071  		FieldContentTypeNumber,
 10072  		FieldContentTypePhoneNumber,
 10073  		FieldContentTypeEmailAddress,
 10074  		FieldContentTypeName,
 10075  	}
 10076  }
 10077  
 10078  const (
 10079  	// GenderMale is a Gender enum value
 10080  	GenderMale = "MALE"
 10081  
 10082  	// GenderFemale is a Gender enum value
 10083  	GenderFemale = "FEMALE"
 10084  
 10085  	// GenderUnspecified is a Gender enum value
 10086  	GenderUnspecified = "UNSPECIFIED"
 10087  )
 10088  
 10089  // Gender_Values returns all elements of the Gender enum
 10090  func Gender_Values() []string {
 10091  	return []string{
 10092  		GenderMale,
 10093  		GenderFemale,
 10094  		GenderUnspecified,
 10095  	}
 10096  }
 10097  
 10098  const (
 10099  	// MarketoConnectorOperatorProjection is a MarketoConnectorOperator enum value
 10100  	MarketoConnectorOperatorProjection = "PROJECTION"
 10101  
 10102  	// MarketoConnectorOperatorLessThan is a MarketoConnectorOperator enum value
 10103  	MarketoConnectorOperatorLessThan = "LESS_THAN"
 10104  
 10105  	// MarketoConnectorOperatorGreaterThan is a MarketoConnectorOperator enum value
 10106  	MarketoConnectorOperatorGreaterThan = "GREATER_THAN"
 10107  
 10108  	// MarketoConnectorOperatorBetween is a MarketoConnectorOperator enum value
 10109  	MarketoConnectorOperatorBetween = "BETWEEN"
 10110  
 10111  	// MarketoConnectorOperatorAddition is a MarketoConnectorOperator enum value
 10112  	MarketoConnectorOperatorAddition = "ADDITION"
 10113  
 10114  	// MarketoConnectorOperatorMultiplication is a MarketoConnectorOperator enum value
 10115  	MarketoConnectorOperatorMultiplication = "MULTIPLICATION"
 10116  
 10117  	// MarketoConnectorOperatorDivision is a MarketoConnectorOperator enum value
 10118  	MarketoConnectorOperatorDivision = "DIVISION"
 10119  
 10120  	// MarketoConnectorOperatorSubtraction is a MarketoConnectorOperator enum value
 10121  	MarketoConnectorOperatorSubtraction = "SUBTRACTION"
 10122  
 10123  	// MarketoConnectorOperatorMaskAll is a MarketoConnectorOperator enum value
 10124  	MarketoConnectorOperatorMaskAll = "MASK_ALL"
 10125  
 10126  	// MarketoConnectorOperatorMaskFirstN is a MarketoConnectorOperator enum value
 10127  	MarketoConnectorOperatorMaskFirstN = "MASK_FIRST_N"
 10128  
 10129  	// MarketoConnectorOperatorMaskLastN is a MarketoConnectorOperator enum value
 10130  	MarketoConnectorOperatorMaskLastN = "MASK_LAST_N"
 10131  
 10132  	// MarketoConnectorOperatorValidateNonNull is a MarketoConnectorOperator enum value
 10133  	MarketoConnectorOperatorValidateNonNull = "VALIDATE_NON_NULL"
 10134  
 10135  	// MarketoConnectorOperatorValidateNonZero is a MarketoConnectorOperator enum value
 10136  	MarketoConnectorOperatorValidateNonZero = "VALIDATE_NON_ZERO"
 10137  
 10138  	// MarketoConnectorOperatorValidateNonNegative is a MarketoConnectorOperator enum value
 10139  	MarketoConnectorOperatorValidateNonNegative = "VALIDATE_NON_NEGATIVE"
 10140  
 10141  	// MarketoConnectorOperatorValidateNumeric is a MarketoConnectorOperator enum value
 10142  	MarketoConnectorOperatorValidateNumeric = "VALIDATE_NUMERIC"
 10143  
 10144  	// MarketoConnectorOperatorNoOp is a MarketoConnectorOperator enum value
 10145  	MarketoConnectorOperatorNoOp = "NO_OP"
 10146  )
 10147  
 10148  // MarketoConnectorOperator_Values returns all elements of the MarketoConnectorOperator enum
 10149  func MarketoConnectorOperator_Values() []string {
 10150  	return []string{
 10151  		MarketoConnectorOperatorProjection,
 10152  		MarketoConnectorOperatorLessThan,
 10153  		MarketoConnectorOperatorGreaterThan,
 10154  		MarketoConnectorOperatorBetween,
 10155  		MarketoConnectorOperatorAddition,
 10156  		MarketoConnectorOperatorMultiplication,
 10157  		MarketoConnectorOperatorDivision,
 10158  		MarketoConnectorOperatorSubtraction,
 10159  		MarketoConnectorOperatorMaskAll,
 10160  		MarketoConnectorOperatorMaskFirstN,
 10161  		MarketoConnectorOperatorMaskLastN,
 10162  		MarketoConnectorOperatorValidateNonNull,
 10163  		MarketoConnectorOperatorValidateNonZero,
 10164  		MarketoConnectorOperatorValidateNonNegative,
 10165  		MarketoConnectorOperatorValidateNumeric,
 10166  		MarketoConnectorOperatorNoOp,
 10167  	}
 10168  }
 10169  
 10170  const (
 10171  	// OperatorPropertiesKeysValue is a OperatorPropertiesKeys enum value
 10172  	OperatorPropertiesKeysValue = "VALUE"
 10173  
 10174  	// OperatorPropertiesKeysValues is a OperatorPropertiesKeys enum value
 10175  	OperatorPropertiesKeysValues = "VALUES"
 10176  
 10177  	// OperatorPropertiesKeysDataType is a OperatorPropertiesKeys enum value
 10178  	OperatorPropertiesKeysDataType = "DATA_TYPE"
 10179  
 10180  	// OperatorPropertiesKeysUpperBound is a OperatorPropertiesKeys enum value
 10181  	OperatorPropertiesKeysUpperBound = "UPPER_BOUND"
 10182  
 10183  	// OperatorPropertiesKeysLowerBound is a OperatorPropertiesKeys enum value
 10184  	OperatorPropertiesKeysLowerBound = "LOWER_BOUND"
 10185  
 10186  	// OperatorPropertiesKeysSourceDataType is a OperatorPropertiesKeys enum value
 10187  	OperatorPropertiesKeysSourceDataType = "SOURCE_DATA_TYPE"
 10188  
 10189  	// OperatorPropertiesKeysDestinationDataType is a OperatorPropertiesKeys enum value
 10190  	OperatorPropertiesKeysDestinationDataType = "DESTINATION_DATA_TYPE"
 10191  
 10192  	// OperatorPropertiesKeysValidationAction is a OperatorPropertiesKeys enum value
 10193  	OperatorPropertiesKeysValidationAction = "VALIDATION_ACTION"
 10194  
 10195  	// OperatorPropertiesKeysMaskValue is a OperatorPropertiesKeys enum value
 10196  	OperatorPropertiesKeysMaskValue = "MASK_VALUE"
 10197  
 10198  	// OperatorPropertiesKeysMaskLength is a OperatorPropertiesKeys enum value
 10199  	OperatorPropertiesKeysMaskLength = "MASK_LENGTH"
 10200  
 10201  	// OperatorPropertiesKeysTruncateLength is a OperatorPropertiesKeys enum value
 10202  	OperatorPropertiesKeysTruncateLength = "TRUNCATE_LENGTH"
 10203  
 10204  	// OperatorPropertiesKeysMathOperationFieldsOrder is a OperatorPropertiesKeys enum value
 10205  	OperatorPropertiesKeysMathOperationFieldsOrder = "MATH_OPERATION_FIELDS_ORDER"
 10206  
 10207  	// OperatorPropertiesKeysConcatFormat is a OperatorPropertiesKeys enum value
 10208  	OperatorPropertiesKeysConcatFormat = "CONCAT_FORMAT"
 10209  
 10210  	// OperatorPropertiesKeysSubfieldCategoryMap is a OperatorPropertiesKeys enum value
 10211  	OperatorPropertiesKeysSubfieldCategoryMap = "SUBFIELD_CATEGORY_MAP"
 10212  )
 10213  
 10214  // OperatorPropertiesKeys_Values returns all elements of the OperatorPropertiesKeys enum
 10215  func OperatorPropertiesKeys_Values() []string {
 10216  	return []string{
 10217  		OperatorPropertiesKeysValue,
 10218  		OperatorPropertiesKeysValues,
 10219  		OperatorPropertiesKeysDataType,
 10220  		OperatorPropertiesKeysUpperBound,
 10221  		OperatorPropertiesKeysLowerBound,
 10222  		OperatorPropertiesKeysSourceDataType,
 10223  		OperatorPropertiesKeysDestinationDataType,
 10224  		OperatorPropertiesKeysValidationAction,
 10225  		OperatorPropertiesKeysMaskValue,
 10226  		OperatorPropertiesKeysMaskLength,
 10227  		OperatorPropertiesKeysTruncateLength,
 10228  		OperatorPropertiesKeysMathOperationFieldsOrder,
 10229  		OperatorPropertiesKeysConcatFormat,
 10230  		OperatorPropertiesKeysSubfieldCategoryMap,
 10231  	}
 10232  }
 10233  
 10234  const (
 10235  	// PartyTypeIndividual is a PartyType enum value
 10236  	PartyTypeIndividual = "INDIVIDUAL"
 10237  
 10238  	// PartyTypeBusiness is a PartyType enum value
 10239  	PartyTypeBusiness = "BUSINESS"
 10240  
 10241  	// PartyTypeOther is a PartyType enum value
 10242  	PartyTypeOther = "OTHER"
 10243  )
 10244  
 10245  // PartyType_Values returns all elements of the PartyType enum
 10246  func PartyType_Values() []string {
 10247  	return []string{
 10248  		PartyTypeIndividual,
 10249  		PartyTypeBusiness,
 10250  		PartyTypeOther,
 10251  	}
 10252  }
 10253  
 10254  const (
 10255  	// S3ConnectorOperatorProjection is a S3ConnectorOperator enum value
 10256  	S3ConnectorOperatorProjection = "PROJECTION"
 10257  
 10258  	// S3ConnectorOperatorLessThan is a S3ConnectorOperator enum value
 10259  	S3ConnectorOperatorLessThan = "LESS_THAN"
 10260  
 10261  	// S3ConnectorOperatorGreaterThan is a S3ConnectorOperator enum value
 10262  	S3ConnectorOperatorGreaterThan = "GREATER_THAN"
 10263  
 10264  	// S3ConnectorOperatorBetween is a S3ConnectorOperator enum value
 10265  	S3ConnectorOperatorBetween = "BETWEEN"
 10266  
 10267  	// S3ConnectorOperatorLessThanOrEqualTo is a S3ConnectorOperator enum value
 10268  	S3ConnectorOperatorLessThanOrEqualTo = "LESS_THAN_OR_EQUAL_TO"
 10269  
 10270  	// S3ConnectorOperatorGreaterThanOrEqualTo is a S3ConnectorOperator enum value
 10271  	S3ConnectorOperatorGreaterThanOrEqualTo = "GREATER_THAN_OR_EQUAL_TO"
 10272  
 10273  	// S3ConnectorOperatorEqualTo is a S3ConnectorOperator enum value
 10274  	S3ConnectorOperatorEqualTo = "EQUAL_TO"
 10275  
 10276  	// S3ConnectorOperatorNotEqualTo is a S3ConnectorOperator enum value
 10277  	S3ConnectorOperatorNotEqualTo = "NOT_EQUAL_TO"
 10278  
 10279  	// S3ConnectorOperatorAddition is a S3ConnectorOperator enum value
 10280  	S3ConnectorOperatorAddition = "ADDITION"
 10281  
 10282  	// S3ConnectorOperatorMultiplication is a S3ConnectorOperator enum value
 10283  	S3ConnectorOperatorMultiplication = "MULTIPLICATION"
 10284  
 10285  	// S3ConnectorOperatorDivision is a S3ConnectorOperator enum value
 10286  	S3ConnectorOperatorDivision = "DIVISION"
 10287  
 10288  	// S3ConnectorOperatorSubtraction is a S3ConnectorOperator enum value
 10289  	S3ConnectorOperatorSubtraction = "SUBTRACTION"
 10290  
 10291  	// S3ConnectorOperatorMaskAll is a S3ConnectorOperator enum value
 10292  	S3ConnectorOperatorMaskAll = "MASK_ALL"
 10293  
 10294  	// S3ConnectorOperatorMaskFirstN is a S3ConnectorOperator enum value
 10295  	S3ConnectorOperatorMaskFirstN = "MASK_FIRST_N"
 10296  
 10297  	// S3ConnectorOperatorMaskLastN is a S3ConnectorOperator enum value
 10298  	S3ConnectorOperatorMaskLastN = "MASK_LAST_N"
 10299  
 10300  	// S3ConnectorOperatorValidateNonNull is a S3ConnectorOperator enum value
 10301  	S3ConnectorOperatorValidateNonNull = "VALIDATE_NON_NULL"
 10302  
 10303  	// S3ConnectorOperatorValidateNonZero is a S3ConnectorOperator enum value
 10304  	S3ConnectorOperatorValidateNonZero = "VALIDATE_NON_ZERO"
 10305  
 10306  	// S3ConnectorOperatorValidateNonNegative is a S3ConnectorOperator enum value
 10307  	S3ConnectorOperatorValidateNonNegative = "VALIDATE_NON_NEGATIVE"
 10308  
 10309  	// S3ConnectorOperatorValidateNumeric is a S3ConnectorOperator enum value
 10310  	S3ConnectorOperatorValidateNumeric = "VALIDATE_NUMERIC"
 10311  
 10312  	// S3ConnectorOperatorNoOp is a S3ConnectorOperator enum value
 10313  	S3ConnectorOperatorNoOp = "NO_OP"
 10314  )
 10315  
 10316  // S3ConnectorOperator_Values returns all elements of the S3ConnectorOperator enum
 10317  func S3ConnectorOperator_Values() []string {
 10318  	return []string{
 10319  		S3ConnectorOperatorProjection,
 10320  		S3ConnectorOperatorLessThan,
 10321  		S3ConnectorOperatorGreaterThan,
 10322  		S3ConnectorOperatorBetween,
 10323  		S3ConnectorOperatorLessThanOrEqualTo,
 10324  		S3ConnectorOperatorGreaterThanOrEqualTo,
 10325  		S3ConnectorOperatorEqualTo,
 10326  		S3ConnectorOperatorNotEqualTo,
 10327  		S3ConnectorOperatorAddition,
 10328  		S3ConnectorOperatorMultiplication,
 10329  		S3ConnectorOperatorDivision,
 10330  		S3ConnectorOperatorSubtraction,
 10331  		S3ConnectorOperatorMaskAll,
 10332  		S3ConnectorOperatorMaskFirstN,
 10333  		S3ConnectorOperatorMaskLastN,
 10334  		S3ConnectorOperatorValidateNonNull,
 10335  		S3ConnectorOperatorValidateNonZero,
 10336  		S3ConnectorOperatorValidateNonNegative,
 10337  		S3ConnectorOperatorValidateNumeric,
 10338  		S3ConnectorOperatorNoOp,
 10339  	}
 10340  }
 10341  
 10342  const (
 10343  	// SalesforceConnectorOperatorProjection is a SalesforceConnectorOperator enum value
 10344  	SalesforceConnectorOperatorProjection = "PROJECTION"
 10345  
 10346  	// SalesforceConnectorOperatorLessThan is a SalesforceConnectorOperator enum value
 10347  	SalesforceConnectorOperatorLessThan = "LESS_THAN"
 10348  
 10349  	// SalesforceConnectorOperatorContains is a SalesforceConnectorOperator enum value
 10350  	SalesforceConnectorOperatorContains = "CONTAINS"
 10351  
 10352  	// SalesforceConnectorOperatorGreaterThan is a SalesforceConnectorOperator enum value
 10353  	SalesforceConnectorOperatorGreaterThan = "GREATER_THAN"
 10354  
 10355  	// SalesforceConnectorOperatorBetween is a SalesforceConnectorOperator enum value
 10356  	SalesforceConnectorOperatorBetween = "BETWEEN"
 10357  
 10358  	// SalesforceConnectorOperatorLessThanOrEqualTo is a SalesforceConnectorOperator enum value
 10359  	SalesforceConnectorOperatorLessThanOrEqualTo = "LESS_THAN_OR_EQUAL_TO"
 10360  
 10361  	// SalesforceConnectorOperatorGreaterThanOrEqualTo is a SalesforceConnectorOperator enum value
 10362  	SalesforceConnectorOperatorGreaterThanOrEqualTo = "GREATER_THAN_OR_EQUAL_TO"
 10363  
 10364  	// SalesforceConnectorOperatorEqualTo is a SalesforceConnectorOperator enum value
 10365  	SalesforceConnectorOperatorEqualTo = "EQUAL_TO"
 10366  
 10367  	// SalesforceConnectorOperatorNotEqualTo is a SalesforceConnectorOperator enum value
 10368  	SalesforceConnectorOperatorNotEqualTo = "NOT_EQUAL_TO"
 10369  
 10370  	// SalesforceConnectorOperatorAddition is a SalesforceConnectorOperator enum value
 10371  	SalesforceConnectorOperatorAddition = "ADDITION"
 10372  
 10373  	// SalesforceConnectorOperatorMultiplication is a SalesforceConnectorOperator enum value
 10374  	SalesforceConnectorOperatorMultiplication = "MULTIPLICATION"
 10375  
 10376  	// SalesforceConnectorOperatorDivision is a SalesforceConnectorOperator enum value
 10377  	SalesforceConnectorOperatorDivision = "DIVISION"
 10378  
 10379  	// SalesforceConnectorOperatorSubtraction is a SalesforceConnectorOperator enum value
 10380  	SalesforceConnectorOperatorSubtraction = "SUBTRACTION"
 10381  
 10382  	// SalesforceConnectorOperatorMaskAll is a SalesforceConnectorOperator enum value
 10383  	SalesforceConnectorOperatorMaskAll = "MASK_ALL"
 10384  
 10385  	// SalesforceConnectorOperatorMaskFirstN is a SalesforceConnectorOperator enum value
 10386  	SalesforceConnectorOperatorMaskFirstN = "MASK_FIRST_N"
 10387  
 10388  	// SalesforceConnectorOperatorMaskLastN is a SalesforceConnectorOperator enum value
 10389  	SalesforceConnectorOperatorMaskLastN = "MASK_LAST_N"
 10390  
 10391  	// SalesforceConnectorOperatorValidateNonNull is a SalesforceConnectorOperator enum value
 10392  	SalesforceConnectorOperatorValidateNonNull = "VALIDATE_NON_NULL"
 10393  
 10394  	// SalesforceConnectorOperatorValidateNonZero is a SalesforceConnectorOperator enum value
 10395  	SalesforceConnectorOperatorValidateNonZero = "VALIDATE_NON_ZERO"
 10396  
 10397  	// SalesforceConnectorOperatorValidateNonNegative is a SalesforceConnectorOperator enum value
 10398  	SalesforceConnectorOperatorValidateNonNegative = "VALIDATE_NON_NEGATIVE"
 10399  
 10400  	// SalesforceConnectorOperatorValidateNumeric is a SalesforceConnectorOperator enum value
 10401  	SalesforceConnectorOperatorValidateNumeric = "VALIDATE_NUMERIC"
 10402  
 10403  	// SalesforceConnectorOperatorNoOp is a SalesforceConnectorOperator enum value
 10404  	SalesforceConnectorOperatorNoOp = "NO_OP"
 10405  )
 10406  
 10407  // SalesforceConnectorOperator_Values returns all elements of the SalesforceConnectorOperator enum
 10408  func SalesforceConnectorOperator_Values() []string {
 10409  	return []string{
 10410  		SalesforceConnectorOperatorProjection,
 10411  		SalesforceConnectorOperatorLessThan,
 10412  		SalesforceConnectorOperatorContains,
 10413  		SalesforceConnectorOperatorGreaterThan,
 10414  		SalesforceConnectorOperatorBetween,
 10415  		SalesforceConnectorOperatorLessThanOrEqualTo,
 10416  		SalesforceConnectorOperatorGreaterThanOrEqualTo,
 10417  		SalesforceConnectorOperatorEqualTo,
 10418  		SalesforceConnectorOperatorNotEqualTo,
 10419  		SalesforceConnectorOperatorAddition,
 10420  		SalesforceConnectorOperatorMultiplication,
 10421  		SalesforceConnectorOperatorDivision,
 10422  		SalesforceConnectorOperatorSubtraction,
 10423  		SalesforceConnectorOperatorMaskAll,
 10424  		SalesforceConnectorOperatorMaskFirstN,
 10425  		SalesforceConnectorOperatorMaskLastN,
 10426  		SalesforceConnectorOperatorValidateNonNull,
 10427  		SalesforceConnectorOperatorValidateNonZero,
 10428  		SalesforceConnectorOperatorValidateNonNegative,
 10429  		SalesforceConnectorOperatorValidateNumeric,
 10430  		SalesforceConnectorOperatorNoOp,
 10431  	}
 10432  }
 10433  
 10434  const (
 10435  	// ServiceNowConnectorOperatorProjection is a ServiceNowConnectorOperator enum value
 10436  	ServiceNowConnectorOperatorProjection = "PROJECTION"
 10437  
 10438  	// ServiceNowConnectorOperatorContains is a ServiceNowConnectorOperator enum value
 10439  	ServiceNowConnectorOperatorContains = "CONTAINS"
 10440  
 10441  	// ServiceNowConnectorOperatorLessThan is a ServiceNowConnectorOperator enum value
 10442  	ServiceNowConnectorOperatorLessThan = "LESS_THAN"
 10443  
 10444  	// ServiceNowConnectorOperatorGreaterThan is a ServiceNowConnectorOperator enum value
 10445  	ServiceNowConnectorOperatorGreaterThan = "GREATER_THAN"
 10446  
 10447  	// ServiceNowConnectorOperatorBetween is a ServiceNowConnectorOperator enum value
 10448  	ServiceNowConnectorOperatorBetween = "BETWEEN"
 10449  
 10450  	// ServiceNowConnectorOperatorLessThanOrEqualTo is a ServiceNowConnectorOperator enum value
 10451  	ServiceNowConnectorOperatorLessThanOrEqualTo = "LESS_THAN_OR_EQUAL_TO"
 10452  
 10453  	// ServiceNowConnectorOperatorGreaterThanOrEqualTo is a ServiceNowConnectorOperator enum value
 10454  	ServiceNowConnectorOperatorGreaterThanOrEqualTo = "GREATER_THAN_OR_EQUAL_TO"
 10455  
 10456  	// ServiceNowConnectorOperatorEqualTo is a ServiceNowConnectorOperator enum value
 10457  	ServiceNowConnectorOperatorEqualTo = "EQUAL_TO"
 10458  
 10459  	// ServiceNowConnectorOperatorNotEqualTo is a ServiceNowConnectorOperator enum value
 10460  	ServiceNowConnectorOperatorNotEqualTo = "NOT_EQUAL_TO"
 10461  
 10462  	// ServiceNowConnectorOperatorAddition is a ServiceNowConnectorOperator enum value
 10463  	ServiceNowConnectorOperatorAddition = "ADDITION"
 10464  
 10465  	// ServiceNowConnectorOperatorMultiplication is a ServiceNowConnectorOperator enum value
 10466  	ServiceNowConnectorOperatorMultiplication = "MULTIPLICATION"
 10467  
 10468  	// ServiceNowConnectorOperatorDivision is a ServiceNowConnectorOperator enum value
 10469  	ServiceNowConnectorOperatorDivision = "DIVISION"
 10470  
 10471  	// ServiceNowConnectorOperatorSubtraction is a ServiceNowConnectorOperator enum value
 10472  	ServiceNowConnectorOperatorSubtraction = "SUBTRACTION"
 10473  
 10474  	// ServiceNowConnectorOperatorMaskAll is a ServiceNowConnectorOperator enum value
 10475  	ServiceNowConnectorOperatorMaskAll = "MASK_ALL"
 10476  
 10477  	// ServiceNowConnectorOperatorMaskFirstN is a ServiceNowConnectorOperator enum value
 10478  	ServiceNowConnectorOperatorMaskFirstN = "MASK_FIRST_N"
 10479  
 10480  	// ServiceNowConnectorOperatorMaskLastN is a ServiceNowConnectorOperator enum value
 10481  	ServiceNowConnectorOperatorMaskLastN = "MASK_LAST_N"
 10482  
 10483  	// ServiceNowConnectorOperatorValidateNonNull is a ServiceNowConnectorOperator enum value
 10484  	ServiceNowConnectorOperatorValidateNonNull = "VALIDATE_NON_NULL"
 10485  
 10486  	// ServiceNowConnectorOperatorValidateNonZero is a ServiceNowConnectorOperator enum value
 10487  	ServiceNowConnectorOperatorValidateNonZero = "VALIDATE_NON_ZERO"
 10488  
 10489  	// ServiceNowConnectorOperatorValidateNonNegative is a ServiceNowConnectorOperator enum value
 10490  	ServiceNowConnectorOperatorValidateNonNegative = "VALIDATE_NON_NEGATIVE"
 10491  
 10492  	// ServiceNowConnectorOperatorValidateNumeric is a ServiceNowConnectorOperator enum value
 10493  	ServiceNowConnectorOperatorValidateNumeric = "VALIDATE_NUMERIC"
 10494  
 10495  	// ServiceNowConnectorOperatorNoOp is a ServiceNowConnectorOperator enum value
 10496  	ServiceNowConnectorOperatorNoOp = "NO_OP"
 10497  )
 10498  
 10499  // ServiceNowConnectorOperator_Values returns all elements of the ServiceNowConnectorOperator enum
 10500  func ServiceNowConnectorOperator_Values() []string {
 10501  	return []string{
 10502  		ServiceNowConnectorOperatorProjection,
 10503  		ServiceNowConnectorOperatorContains,
 10504  		ServiceNowConnectorOperatorLessThan,
 10505  		ServiceNowConnectorOperatorGreaterThan,
 10506  		ServiceNowConnectorOperatorBetween,
 10507  		ServiceNowConnectorOperatorLessThanOrEqualTo,
 10508  		ServiceNowConnectorOperatorGreaterThanOrEqualTo,
 10509  		ServiceNowConnectorOperatorEqualTo,
 10510  		ServiceNowConnectorOperatorNotEqualTo,
 10511  		ServiceNowConnectorOperatorAddition,
 10512  		ServiceNowConnectorOperatorMultiplication,
 10513  		ServiceNowConnectorOperatorDivision,
 10514  		ServiceNowConnectorOperatorSubtraction,
 10515  		ServiceNowConnectorOperatorMaskAll,
 10516  		ServiceNowConnectorOperatorMaskFirstN,
 10517  		ServiceNowConnectorOperatorMaskLastN,
 10518  		ServiceNowConnectorOperatorValidateNonNull,
 10519  		ServiceNowConnectorOperatorValidateNonZero,
 10520  		ServiceNowConnectorOperatorValidateNonNegative,
 10521  		ServiceNowConnectorOperatorValidateNumeric,
 10522  		ServiceNowConnectorOperatorNoOp,
 10523  	}
 10524  }
 10525  
 10526  const (
 10527  	// SourceConnectorTypeSalesforce is a SourceConnectorType enum value
 10528  	SourceConnectorTypeSalesforce = "Salesforce"
 10529  
 10530  	// SourceConnectorTypeMarketo is a SourceConnectorType enum value
 10531  	SourceConnectorTypeMarketo = "Marketo"
 10532  
 10533  	// SourceConnectorTypeZendesk is a SourceConnectorType enum value
 10534  	SourceConnectorTypeZendesk = "Zendesk"
 10535  
 10536  	// SourceConnectorTypeServicenow is a SourceConnectorType enum value
 10537  	SourceConnectorTypeServicenow = "Servicenow"
 10538  
 10539  	// SourceConnectorTypeS3 is a SourceConnectorType enum value
 10540  	SourceConnectorTypeS3 = "S3"
 10541  )
 10542  
 10543  // SourceConnectorType_Values returns all elements of the SourceConnectorType enum
 10544  func SourceConnectorType_Values() []string {
 10545  	return []string{
 10546  		SourceConnectorTypeSalesforce,
 10547  		SourceConnectorTypeMarketo,
 10548  		SourceConnectorTypeZendesk,
 10549  		SourceConnectorTypeServicenow,
 10550  		SourceConnectorTypeS3,
 10551  	}
 10552  }
 10553  
 10554  const (
 10555  	// StandardIdentifierProfile is a StandardIdentifier enum value
 10556  	StandardIdentifierProfile = "PROFILE"
 10557  
 10558  	// StandardIdentifierAsset is a StandardIdentifier enum value
 10559  	StandardIdentifierAsset = "ASSET"
 10560  
 10561  	// StandardIdentifierCase is a StandardIdentifier enum value
 10562  	StandardIdentifierCase = "CASE"
 10563  
 10564  	// StandardIdentifierUnique is a StandardIdentifier enum value
 10565  	StandardIdentifierUnique = "UNIQUE"
 10566  
 10567  	// StandardIdentifierSecondary is a StandardIdentifier enum value
 10568  	StandardIdentifierSecondary = "SECONDARY"
 10569  
 10570  	// StandardIdentifierLookupOnly is a StandardIdentifier enum value
 10571  	StandardIdentifierLookupOnly = "LOOKUP_ONLY"
 10572  
 10573  	// StandardIdentifierNewOnly is a StandardIdentifier enum value
 10574  	StandardIdentifierNewOnly = "NEW_ONLY"
 10575  )
 10576  
 10577  // StandardIdentifier_Values returns all elements of the StandardIdentifier enum
 10578  func StandardIdentifier_Values() []string {
 10579  	return []string{
 10580  		StandardIdentifierProfile,
 10581  		StandardIdentifierAsset,
 10582  		StandardIdentifierCase,
 10583  		StandardIdentifierUnique,
 10584  		StandardIdentifierSecondary,
 10585  		StandardIdentifierLookupOnly,
 10586  		StandardIdentifierNewOnly,
 10587  	}
 10588  }
 10589  
 10590  const (
 10591  	// TaskTypeArithmetic is a TaskType enum value
 10592  	TaskTypeArithmetic = "Arithmetic"
 10593  
 10594  	// TaskTypeFilter is a TaskType enum value
 10595  	TaskTypeFilter = "Filter"
 10596  
 10597  	// TaskTypeMap is a TaskType enum value
 10598  	TaskTypeMap = "Map"
 10599  
 10600  	// TaskTypeMask is a TaskType enum value
 10601  	TaskTypeMask = "Mask"
 10602  
 10603  	// TaskTypeMerge is a TaskType enum value
 10604  	TaskTypeMerge = "Merge"
 10605  
 10606  	// TaskTypeTruncate is a TaskType enum value
 10607  	TaskTypeTruncate = "Truncate"
 10608  
 10609  	// TaskTypeValidate is a TaskType enum value
 10610  	TaskTypeValidate = "Validate"
 10611  )
 10612  
 10613  // TaskType_Values returns all elements of the TaskType enum
 10614  func TaskType_Values() []string {
 10615  	return []string{
 10616  		TaskTypeArithmetic,
 10617  		TaskTypeFilter,
 10618  		TaskTypeMap,
 10619  		TaskTypeMask,
 10620  		TaskTypeMerge,
 10621  		TaskTypeTruncate,
 10622  		TaskTypeValidate,
 10623  	}
 10624  }
 10625  
 10626  const (
 10627  	// TriggerTypeScheduled is a TriggerType enum value
 10628  	TriggerTypeScheduled = "Scheduled"
 10629  
 10630  	// TriggerTypeEvent is a TriggerType enum value
 10631  	TriggerTypeEvent = "Event"
 10632  
 10633  	// TriggerTypeOnDemand is a TriggerType enum value
 10634  	TriggerTypeOnDemand = "OnDemand"
 10635  )
 10636  
 10637  // TriggerType_Values returns all elements of the TriggerType enum
 10638  func TriggerType_Values() []string {
 10639  	return []string{
 10640  		TriggerTypeScheduled,
 10641  		TriggerTypeEvent,
 10642  		TriggerTypeOnDemand,
 10643  	}
 10644  }
 10645  
 10646  const (
 10647  	// ZendeskConnectorOperatorProjection is a ZendeskConnectorOperator enum value
 10648  	ZendeskConnectorOperatorProjection = "PROJECTION"
 10649  
 10650  	// ZendeskConnectorOperatorGreaterThan is a ZendeskConnectorOperator enum value
 10651  	ZendeskConnectorOperatorGreaterThan = "GREATER_THAN"
 10652  
 10653  	// ZendeskConnectorOperatorAddition is a ZendeskConnectorOperator enum value
 10654  	ZendeskConnectorOperatorAddition = "ADDITION"
 10655  
 10656  	// ZendeskConnectorOperatorMultiplication is a ZendeskConnectorOperator enum value
 10657  	ZendeskConnectorOperatorMultiplication = "MULTIPLICATION"
 10658  
 10659  	// ZendeskConnectorOperatorDivision is a ZendeskConnectorOperator enum value
 10660  	ZendeskConnectorOperatorDivision = "DIVISION"
 10661  
 10662  	// ZendeskConnectorOperatorSubtraction is a ZendeskConnectorOperator enum value
 10663  	ZendeskConnectorOperatorSubtraction = "SUBTRACTION"
 10664  
 10665  	// ZendeskConnectorOperatorMaskAll is a ZendeskConnectorOperator enum value
 10666  	ZendeskConnectorOperatorMaskAll = "MASK_ALL"
 10667  
 10668  	// ZendeskConnectorOperatorMaskFirstN is a ZendeskConnectorOperator enum value
 10669  	ZendeskConnectorOperatorMaskFirstN = "MASK_FIRST_N"
 10670  
 10671  	// ZendeskConnectorOperatorMaskLastN is a ZendeskConnectorOperator enum value
 10672  	ZendeskConnectorOperatorMaskLastN = "MASK_LAST_N"
 10673  
 10674  	// ZendeskConnectorOperatorValidateNonNull is a ZendeskConnectorOperator enum value
 10675  	ZendeskConnectorOperatorValidateNonNull = "VALIDATE_NON_NULL"
 10676  
 10677  	// ZendeskConnectorOperatorValidateNonZero is a ZendeskConnectorOperator enum value
 10678  	ZendeskConnectorOperatorValidateNonZero = "VALIDATE_NON_ZERO"
 10679  
 10680  	// ZendeskConnectorOperatorValidateNonNegative is a ZendeskConnectorOperator enum value
 10681  	ZendeskConnectorOperatorValidateNonNegative = "VALIDATE_NON_NEGATIVE"
 10682  
 10683  	// ZendeskConnectorOperatorValidateNumeric is a ZendeskConnectorOperator enum value
 10684  	ZendeskConnectorOperatorValidateNumeric = "VALIDATE_NUMERIC"
 10685  
 10686  	// ZendeskConnectorOperatorNoOp is a ZendeskConnectorOperator enum value
 10687  	ZendeskConnectorOperatorNoOp = "NO_OP"
 10688  )
 10689  
 10690  // ZendeskConnectorOperator_Values returns all elements of the ZendeskConnectorOperator enum
 10691  func ZendeskConnectorOperator_Values() []string {
 10692  	return []string{
 10693  		ZendeskConnectorOperatorProjection,
 10694  		ZendeskConnectorOperatorGreaterThan,
 10695  		ZendeskConnectorOperatorAddition,
 10696  		ZendeskConnectorOperatorMultiplication,
 10697  		ZendeskConnectorOperatorDivision,
 10698  		ZendeskConnectorOperatorSubtraction,
 10699  		ZendeskConnectorOperatorMaskAll,
 10700  		ZendeskConnectorOperatorMaskFirstN,
 10701  		ZendeskConnectorOperatorMaskLastN,
 10702  		ZendeskConnectorOperatorValidateNonNull,
 10703  		ZendeskConnectorOperatorValidateNonZero,
 10704  		ZendeskConnectorOperatorValidateNonNegative,
 10705  		ZendeskConnectorOperatorValidateNumeric,
 10706  		ZendeskConnectorOperatorNoOp,
 10707  	}
 10708  }