@Override
    public PutProfileObjectResult putProfileObject(PutProfileObjectRequest request) {
        request = beforeClientExecution(request);
        return executePutProfileObject(request);
    }
<p>
Adds additional objects to customer profiles of a given ObjectType.
</p>
<p>
When adding a specific profile object, like a Contact Record, an inferred profile can get created if it is not
mapped to an existing profile. The resulting profile will only have a phone number populated in the standard
ProfileObject. Any additional Contact Records with the same phone number will be mapped to the same inferred
profile.
</p>
<p>
When a ProfileObject is created and if a ProfileObjectType already exists for the ProfileObject, it will provide
data to a standard profile depending on the ProfileObjectType definition.
</p>
<p>
PutProfileObject needs an ObjectType, which can be created using PutProfileObjectType.
</p>

@param putProfileObjectRequest
@return Result of the PutProfileObject operation returned by the service.
@throws BadRequestException
        The input you provided is invalid.
@throws AccessDeniedException
        You do not have sufficient access to perform this action.
@throws ResourceNotFoundException
        The requested resource does not exist, or access was denied.
@throws ThrottlingException
        You exceeded the maximum number of requests.
@throws InternalServerException
        An internal service error occurred.
@sample AmazonCustomerProfiles.PutProfileObject
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutProfileObject"
     target="_top">AWS API Documentation</a>
aws-java-sdk-customerprofiles/src/main/java/com/amazonaws/services/customerprofiles/AmazonCustomerProfilesClient.java