/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.entityresolution; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.entityresolution.model.*; /** * Interface for accessing AWSEntityResolution. *

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.entityresolution.AbstractAWSEntityResolution} instead. *

*

*

* Welcome to the AWS Entity Resolution API Reference. *

*

* AWS Entity Resolution is an AWS service that provides pre-configured entity resolution capabilities that enable * developers and analysts at advertising and marketing companies to build an accurate and complete view of their * consumers. *

*

* With AWS Entity Resolution, you have the ability to match source records containing consumer identifiers, such as * name, email address, and phone number. This holds true even when these records have incomplete or conflicting * identifiers. For example, AWS Entity Resolution can effectively match a source record from a customer relationship * management (CRM) system, which includes account information like first name, last name, postal address, phone number, * and email address, with a source record from a marketing system containing campaign information, such as username and * email address. *

*

* To learn more about AWS Entity Resolution concepts, procedures, and best practices, see the AWS Entity Resolution User * Guide. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSEntityResolution { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "entityresolution"; /** *

* Creates a MatchingWorkflow object which stores the configuration of the data processing job to be * run. It is important to note that there should not be a pre-existing MatchingWorkflow with the same * name. To modify an existing workflow, utilize the UpdateMatchingWorkflow API. *

* * @param createMatchingWorkflowRequest * @return Result of the CreateMatchingWorkflow operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ExceedsLimitException * The request was rejected because it attempted to create resources beyond the current AWS Entity * Resolution account limits. The error message describes the limit exceeded. * HTTP Status Code: 402 * @throws ConflictException * The request could not be processed because of conflict in the current state of the resource. Example: * Workflow already exists, Schema already exists, Workflow is currently running, etc. * HTTP Status Code: 400 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.CreateMatchingWorkflow * @see AWS API Documentation */ CreateMatchingWorkflowResult createMatchingWorkflow(CreateMatchingWorkflowRequest createMatchingWorkflowRequest); /** *

* Creates a schema mapping, which defines the schema of the input customer records table. The * SchemaMapping also provides Entity Resolution with some metadata about the table, such as the * attribute types of the columns and which columns to match on. *

* * @param createSchemaMappingRequest * @return Result of the CreateSchemaMapping operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ExceedsLimitException * The request was rejected because it attempted to create resources beyond the current AWS Entity * Resolution account limits. The error message describes the limit exceeded. * HTTP Status Code: 402 * @throws ConflictException * The request could not be processed because of conflict in the current state of the resource. Example: * Workflow already exists, Schema already exists, Workflow is currently running, etc. * HTTP Status Code: 400 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.CreateSchemaMapping * @see AWS API Documentation */ CreateSchemaMappingResult createSchemaMapping(CreateSchemaMappingRequest createSchemaMappingRequest); /** *

* Deletes the MatchingWorkflow with a given name. This operation will succeed even if a workflow with * the given name does not exist. *

* * @param deleteMatchingWorkflowRequest * @return Result of the DeleteMatchingWorkflow operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.DeleteMatchingWorkflow * @see AWS API Documentation */ DeleteMatchingWorkflowResult deleteMatchingWorkflow(DeleteMatchingWorkflowRequest deleteMatchingWorkflowRequest); /** *

* Deletes the SchemaMapping with a given name. This operation will succeed even if a schema with the * given name does not exist. This operation will fail if there is a DataIntegrationWorkflow object * that references the SchemaMapping in the workflow's InputSourceConfig. *

* * @param deleteSchemaMappingRequest * @return Result of the DeleteSchemaMapping operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ConflictException * The request could not be processed because of conflict in the current state of the resource. Example: * Workflow already exists, Schema already exists, Workflow is currently running, etc. * HTTP Status Code: 400 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.DeleteSchemaMapping * @see AWS API Documentation */ DeleteSchemaMappingResult deleteSchemaMapping(DeleteSchemaMappingRequest deleteSchemaMappingRequest); /** *

* Returns the corresponding Match ID of a customer record if the record has been processed. *

* * @param getMatchIdRequest * @return Result of the GetMatchId operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.GetMatchId * @see AWS * API Documentation */ GetMatchIdResult getMatchId(GetMatchIdRequest getMatchIdRequest); /** *

* Gets the status, metrics, and errors (if there are any) that are associated with a job. *

* * @param getMatchingJobRequest * @return Result of the GetMatchingJob operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.GetMatchingJob * @see AWS API Documentation */ GetMatchingJobResult getMatchingJob(GetMatchingJobRequest getMatchingJobRequest); /** *

* Returns the MatchingWorkflow with a given name, if it exists. *

* * @param getMatchingWorkflowRequest * @return Result of the GetMatchingWorkflow operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.GetMatchingWorkflow * @see AWS API Documentation */ GetMatchingWorkflowResult getMatchingWorkflow(GetMatchingWorkflowRequest getMatchingWorkflowRequest); /** *

* Returns the SchemaMapping of a given name. *

* * @param getSchemaMappingRequest * @return Result of the GetSchemaMapping operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.GetSchemaMapping * @see AWS API Documentation */ GetSchemaMappingResult getSchemaMapping(GetSchemaMappingRequest getSchemaMappingRequest); /** *

* Lists all jobs for a given workflow. *

* * @param listMatchingJobsRequest * @return Result of the ListMatchingJobs operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.ListMatchingJobs * @see AWS API Documentation */ ListMatchingJobsResult listMatchingJobs(ListMatchingJobsRequest listMatchingJobsRequest); /** *

* Returns a list of all the MatchingWorkflows that have been created for an AWS account. *

* * @param listMatchingWorkflowsRequest * @return Result of the ListMatchingWorkflows operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.ListMatchingWorkflows * @see AWS API Documentation */ ListMatchingWorkflowsResult listMatchingWorkflows(ListMatchingWorkflowsRequest listMatchingWorkflowsRequest); /** *

* Returns a list of all the SchemaMappings that have been created for an AWS account. *

* * @param listSchemaMappingsRequest * @return Result of the ListSchemaMappings operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.ListSchemaMappings * @see AWS API Documentation */ ListSchemaMappingsResult listSchemaMappings(ListSchemaMappingsRequest listSchemaMappingsRequest); /** *

* Displays the tags associated with an AWS Entity Resolution resource. In Entity Resolution, * SchemaMapping, and MatchingWorkflow can be tagged. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.ListTagsForResource * @see AWS API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* Starts the MatchingJob of a workflow. The workflow must have previously been created using the * CreateMatchingWorkflow endpoint. *

* * @param startMatchingJobRequest * @return Result of the StartMatchingJob operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ExceedsLimitException * The request was rejected because it attempted to create resources beyond the current AWS Entity * Resolution account limits. The error message describes the limit exceeded. * HTTP Status Code: 402 * @throws ConflictException * The request could not be processed because of conflict in the current state of the resource. Example: * Workflow already exists, Schema already exists, Workflow is currently running, etc. * HTTP Status Code: 400 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.StartMatchingJob * @see AWS API Documentation */ StartMatchingJobResult startMatchingJob(StartMatchingJobRequest startMatchingJobRequest); /** *

* Assigns one or more tags (key-value pairs) to the specified AWS Entity Resolution resource. Tags can help you * organize and categorize your resources. You can also use them to scope user permissions by granting a user * permission to access or change only resources with certain tag values. In Entity Resolution, * SchemaMapping, and MatchingWorkflow can be tagged. Tags don't have any semantic meaning * to AWS and are interpreted strictly as strings of characters. You can use the TagResource action * with a resource that already has tags. If you specify a new tag key, this tag is appended to the list of tags * associated with the resource. If you specify a tag key that is already associated with the resource, the new tag * value that you specify replaces the previous value for that tag. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.TagResource * @see AWS * API Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* Removes one or more tags from the specified AWS Entity Resolution resource. In Entity Resolution, * SchemaMapping, and MatchingWorkflow can be tagged. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @sample AWSEntityResolution.UntagResource * @see AWS * API Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

* Updates an existing MatchingWorkflow. This method is identical to * CreateMatchingWorkflow, except it uses an HTTP PUT request instead of a * POST request, and the MatchingWorkflow must already exist for the method to succeed. *

* * @param updateMatchingWorkflowRequest * @return Result of the UpdateMatchingWorkflow operation returned by the service. * @throws ThrottlingException * The request was denied due to request throttling. HTTP Status Code: 429 * @throws InternalServerException * This exception occurs when there is an internal failure in the AWS Entity Resolution service. * HTTP Status Code: 500 * @throws ResourceNotFoundException * The resource could not be found. HTTP Status Code: 404 * @throws AccessDeniedException * You do not have sufficient access to perform this action. HTTP Status Code: 403 * @throws ValidationException * The input fails to satisfy the constraints specified by AWS Entity Resolution. * HTTP Status Code: 400 * @sample AWSEntityResolution.UpdateMatchingWorkflow * @see AWS API Documentation */ UpdateMatchingWorkflowResult updateMatchingWorkflow(UpdateMatchingWorkflowRequest updateMatchingWorkflowRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }