/* * 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.appintegrations; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.appintegrations.model.*; /** * Interface for accessing Amazon AppIntegrations Service. *

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

*

*

* The Amazon AppIntegrations service enables you to configure and reuse connections to external applications. *

*

* For information about how you can use external applications with Amazon Connect, see Set up pre-built integrations and Deliver information to agents * using Amazon Connect Wisdom in the Amazon Connect Administrator Guide. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonAppIntegrations { /** * 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 = "app-integrations"; /** *

* Creates and persists a DataIntegration resource. *

* *

* You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a * different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API. *

*
* * @param createDataIntegrationRequest * @return Result of the CreateDataIntegration operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ResourceQuotaExceededException * The allowed quota for the resource has been exceeded. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.CreateDataIntegration * @see AWS API Documentation */ CreateDataIntegrationResult createDataIntegration(CreateDataIntegrationRequest createDataIntegrationRequest); /** *

* Creates an EventIntegration, given a specified name, description, and a reference to an Amazon EventBridge bus in * your account and a partner event source that pushes events to that bus. No objects are created in the your * account, only metadata that is persisted on the EventIntegration control plane. *

* * @param createEventIntegrationRequest * @return Result of the CreateEventIntegration operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ResourceQuotaExceededException * The allowed quota for the resource has been exceeded. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.CreateEventIntegration * @see AWS API Documentation */ CreateEventIntegrationResult createEventIntegration(CreateEventIntegrationRequest createEventIntegrationRequest); /** *

* Deletes the DataIntegration. Only DataIntegrations that don't have any DataIntegrationAssociations can be * deleted. Deleting a DataIntegration also deletes the underlying Amazon AppFlow flow and service linked role. *

* *

* You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a * different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API. *

*
* * @param deleteDataIntegrationRequest * @return Result of the DeleteDataIntegration operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.DeleteDataIntegration * @see AWS API Documentation */ DeleteDataIntegrationResult deleteDataIntegration(DeleteDataIntegrationRequest deleteDataIntegrationRequest); /** *

* Deletes the specified existing event integration. If the event integration is associated with clients, the * request is rejected. *

* * @param deleteEventIntegrationRequest * @return Result of the DeleteEventIntegration operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.DeleteEventIntegration * @see AWS API Documentation */ DeleteEventIntegrationResult deleteEventIntegration(DeleteEventIntegrationRequest deleteEventIntegrationRequest); /** *

* Returns information about the DataIntegration. *

* *

* You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a * different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API. *

*
* * @param getDataIntegrationRequest * @return Result of the GetDataIntegration operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.GetDataIntegration * @see AWS API Documentation */ GetDataIntegrationResult getDataIntegration(GetDataIntegrationRequest getDataIntegrationRequest); /** *

* Returns information about the event integration. *

* * @param getEventIntegrationRequest * @return Result of the GetEventIntegration operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.GetEventIntegration * @see AWS API Documentation */ GetEventIntegrationResult getEventIntegration(GetEventIntegrationRequest getEventIntegrationRequest); /** *

* Returns a paginated list of DataIntegration associations in the account. *

* *

* You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a * different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API. *

*
* * @param listDataIntegrationAssociationsRequest * @return Result of the ListDataIntegrationAssociations operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.ListDataIntegrationAssociations * @see AWS API Documentation */ ListDataIntegrationAssociationsResult listDataIntegrationAssociations(ListDataIntegrationAssociationsRequest listDataIntegrationAssociationsRequest); /** *

* Returns a paginated list of DataIntegrations in the account. *

* *

* You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a * different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API. *

*
* * @param listDataIntegrationsRequest * @return Result of the ListDataIntegrations operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.ListDataIntegrations * @see AWS API Documentation */ ListDataIntegrationsResult listDataIntegrations(ListDataIntegrationsRequest listDataIntegrationsRequest); /** *

* Returns a paginated list of event integration associations in the account. *

* * @param listEventIntegrationAssociationsRequest * @return Result of the ListEventIntegrationAssociations operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.ListEventIntegrationAssociations * @see AWS API Documentation */ ListEventIntegrationAssociationsResult listEventIntegrationAssociations(ListEventIntegrationAssociationsRequest listEventIntegrationAssociationsRequest); /** *

* Returns a paginated list of event integrations in the account. *

* * @param listEventIntegrationsRequest * @return Result of the ListEventIntegrations operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.ListEventIntegrations * @see AWS API Documentation */ ListEventIntegrationsResult listEventIntegrations(ListEventIntegrationsRequest listEventIntegrationsRequest); /** *

* Lists the tags for the specified resource. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonAppIntegrations.ListTagsForResource * @see AWS API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* Adds the specified tags to the specified resource. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonAppIntegrations.TagResource * @see AWS * API Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* Removes the specified tags from the specified resource. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonAppIntegrations.UntagResource * @see AWS * API Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

* Updates the description of a DataIntegration. *

* *

* You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a * different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API. *

*
* * @param updateDataIntegrationRequest * @return Result of the UpdateDataIntegration operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.UpdateDataIntegration * @see AWS API Documentation */ UpdateDataIntegrationResult updateDataIntegration(UpdateDataIntegrationRequest updateDataIntegrationRequest); /** *

* Updates the description of an event integration. *

* * @param updateEventIntegrationRequest * @return Result of the UpdateEventIntegration operation returned by the service. * @throws InternalServiceErrorException * Request processing failed due to an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AmazonAppIntegrations.UpdateEventIntegration * @see AWS API Documentation */ UpdateEventIntegrationResult updateEventIntegration(UpdateEventIntegrationRequest updateEventIntegrationRequest); /** * 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); }