
com.amazonaws.services.codeconnections.AWSCodeConnections Maven / Gradle / Ivy
/*
* Copyright 2019-2024 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.codeconnections;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.codeconnections.model.*;
/**
* Interface for accessing AWS CodeConnections.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.codeconnections.AbstractAWSCodeConnections} instead.
*
*
* AWS CodeConnections
*
* This Amazon Web Services CodeConnections API Reference provides descriptions and usage examples of the operations and
* data types for the Amazon Web Services CodeConnections API. You can use the connections API to work with connections
* and installations.
*
*
* Connections are configurations that you use to connect Amazon Web Services resources to external code
* repositories. Each connection is a resource that can be given to services such as CodePipeline to connect to a
* third-party repository such as Bitbucket. For example, you can add the connection in CodePipeline so that it triggers
* your pipeline when a code change is made to your third-party code repository. Each connection is named and associated
* with a unique ARN that is used to reference the connection.
*
*
* When you create a connection, the console initiates a third-party connection handshake. Installations are the
* apps that are used to conduct this handshake. For example, the installation for the Bitbucket provider type is the
* Bitbucket app. When you create a connection, you can choose an existing installation or create one.
*
*
* When you want to create a connection to an installed provider type such as GitHub Enterprise Server, you create a
* host for your connections.
*
*
* You can work with connections by calling:
*
*
* -
*
* CreateConnection, which creates a uniquely named connection that can be referenced by services such as
* CodePipeline.
*
*
* -
*
* DeleteConnection, which deletes the specified connection.
*
*
* -
*
* GetConnection, which returns information about the connection, including the connection status.
*
*
* -
*
* ListConnections, which lists the connections associated with your account.
*
*
*
*
* You can work with hosts by calling:
*
*
* -
*
* CreateHost, which creates a host that represents the infrastructure where your provider is installed.
*
*
* -
*
* DeleteHost, which deletes the specified host.
*
*
* -
*
* GetHost, which returns information about the host, including the setup status.
*
*
* -
*
* ListHosts, which lists the hosts associated with your account.
*
*
*
*
* You can work with tags in Amazon Web Services CodeConnections by calling the following:
*
*
* -
*
* ListTagsForResource, which gets information about Amazon Web Services tags for a specified Amazon Resource
* Name (ARN) in Amazon Web Services CodeConnections.
*
*
* -
*
* TagResource, which adds or updates tags for a resource in Amazon Web Services CodeConnections.
*
*
* -
*
* UntagResource, which removes tags for a resource in Amazon Web Services CodeConnections.
*
*
*
*
* For information about how to use Amazon Web Services CodeConnections, see the Developer Tools User
* Guide.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSCodeConnections {
/**
* 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 = "codeconnections";
/**
*
* Creates a connection that can then be given to other Amazon Web Services services like CodePipeline so that it
* can access third-party code repositories. The connection is in pending status until the third-party connection
* handshake is completed from the console.
*
*
* @param createConnectionRequest
* @return Result of the CreateConnection operation returned by the service.
* @throws LimitExceededException
* Exceeded the maximum limit for connections.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ResourceUnavailableException
* Resource not found. Verify the ARN for the host resource and try again.
* @sample AWSCodeConnections.CreateConnection
* @see AWS API Documentation
*/
CreateConnectionResult createConnection(CreateConnectionRequest createConnectionRequest);
/**
*
* Creates a resource that represents the infrastructure where a third-party provider is installed. The host is used
* when you create connections to an installed third-party provider type, such as GitHub Enterprise Server. You
* create one host for all connections to that provider.
*
*
*
* A host created through the CLI or the SDK is in `PENDING` status by default. You can make its status `AVAILABLE`
* by setting up the host in the console.
*
*
*
* @param createHostRequest
* @return Result of the CreateHost operation returned by the service.
* @throws LimitExceededException
* Exceeded the maximum limit for connections.
* @sample AWSCodeConnections.CreateHost
* @see AWS API
* Documentation
*/
CreateHostResult createHost(CreateHostRequest createHostRequest);
/**
*
* Creates a link to a specified external Git repository. A repository link allows Git sync to monitor and sync
* changes to files in a specified Git repository.
*
*
* @param createRepositoryLinkRequest
* @return Result of the CreateRepositoryLink operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConcurrentModificationException
* Exception thrown as a result of concurrent modification to an application. For example, two individuals
* attempting to edit the same application at the same time.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws LimitExceededException
* Exceeded the maximum limit for connections.
* @throws ResourceAlreadyExistsException
* Unable to create resource. Resource already exists.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.CreateRepositoryLink
* @see AWS API Documentation
*/
CreateRepositoryLinkResult createRepositoryLink(CreateRepositoryLinkRequest createRepositoryLinkRequest);
/**
*
* Creates a sync configuration which allows Amazon Web Services to sync content from a Git repository to update a
* specified Amazon Web Services resource. Parameters for the sync configuration are determined by the sync type.
*
*
* @param createSyncConfigurationRequest
* @return Result of the CreateSyncConfiguration operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConcurrentModificationException
* Exception thrown as a result of concurrent modification to an application. For example, two individuals
* attempting to edit the same application at the same time.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws LimitExceededException
* Exceeded the maximum limit for connections.
* @throws ResourceAlreadyExistsException
* Unable to create resource. Resource already exists.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.CreateSyncConfiguration
* @see AWS API Documentation
*/
CreateSyncConfigurationResult createSyncConfiguration(CreateSyncConfigurationRequest createSyncConfigurationRequest);
/**
*
* The connection to be deleted.
*
*
* @param deleteConnectionRequest
* @return Result of the DeleteConnection operation returned by the service.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @sample AWSCodeConnections.DeleteConnection
* @see AWS API Documentation
*/
DeleteConnectionResult deleteConnection(DeleteConnectionRequest deleteConnectionRequest);
/**
*
* The host to be deleted. Before you delete a host, all connections associated to the host must be deleted.
*
*
*
* A host cannot be deleted if it is in the VPC_CONFIG_INITIALIZING or VPC_CONFIG_DELETING state.
*
*
*
* @param deleteHostRequest
* @return Result of the DeleteHost operation returned by the service.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ResourceUnavailableException
* Resource not found. Verify the ARN for the host resource and try again.
* @sample AWSCodeConnections.DeleteHost
* @see AWS API
* Documentation
*/
DeleteHostResult deleteHost(DeleteHostRequest deleteHostRequest);
/**
*
* Deletes the association between your connection and a specified external Git repository.
*
*
* @param deleteRepositoryLinkRequest
* @return Result of the DeleteRepositoryLink operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConcurrentModificationException
* Exception thrown as a result of concurrent modification to an application. For example, two individuals
* attempting to edit the same application at the same time.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws SyncConfigurationStillExistsException
* Unable to continue. The sync blocker still exists.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @throws UnsupportedProviderTypeException
* The specified provider type is not supported for connections.
* @sample AWSCodeConnections.DeleteRepositoryLink
* @see AWS API Documentation
*/
DeleteRepositoryLinkResult deleteRepositoryLink(DeleteRepositoryLinkRequest deleteRepositoryLinkRequest);
/**
*
* Deletes the sync configuration for a specified repository and connection.
*
*
* @param deleteSyncConfigurationRequest
* @return Result of the DeleteSyncConfiguration operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConcurrentModificationException
* Exception thrown as a result of concurrent modification to an application. For example, two individuals
* attempting to edit the same application at the same time.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws LimitExceededException
* Exceeded the maximum limit for connections.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.DeleteSyncConfiguration
* @see AWS API Documentation
*/
DeleteSyncConfigurationResult deleteSyncConfiguration(DeleteSyncConfigurationRequest deleteSyncConfigurationRequest);
/**
*
* Returns the connection ARN and details such as status, owner, and provider type.
*
*
* @param getConnectionRequest
* @return Result of the GetConnection operation returned by the service.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ResourceUnavailableException
* Resource not found. Verify the ARN for the host resource and try again.
* @sample AWSCodeConnections.GetConnection
* @see AWS
* API Documentation
*/
GetConnectionResult getConnection(GetConnectionRequest getConnectionRequest);
/**
*
* Returns the host ARN and details such as status, provider type, endpoint, and, if applicable, the VPC
* configuration.
*
*
* @param getHostRequest
* @return Result of the GetHost operation returned by the service.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ResourceUnavailableException
* Resource not found. Verify the ARN for the host resource and try again.
* @sample AWSCodeConnections.GetHost
* @see AWS API
* Documentation
*/
GetHostResult getHost(GetHostRequest getHostRequest);
/**
*
* Returns details about a repository link. A repository link allows Git sync to monitor and sync changes from files
* in a specified Git repository.
*
*
* @param getRepositoryLinkRequest
* @return Result of the GetRepositoryLink operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConcurrentModificationException
* Exception thrown as a result of concurrent modification to an application. For example, two individuals
* attempting to edit the same application at the same time.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.GetRepositoryLink
* @see AWS API Documentation
*/
GetRepositoryLinkResult getRepositoryLink(GetRepositoryLinkRequest getRepositoryLinkRequest);
/**
*
* Returns details about the sync status for a repository. A repository sync uses Git sync to push and pull changes
* from your remote repository.
*
*
* @param getRepositorySyncStatusRequest
* @return Result of the GetRepositorySyncStatus operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.GetRepositorySyncStatus
* @see AWS API Documentation
*/
GetRepositorySyncStatusResult getRepositorySyncStatus(GetRepositorySyncStatusRequest getRepositorySyncStatusRequest);
/**
*
* Returns the status of the sync with the Git repository for a specific Amazon Web Services resource.
*
*
* @param getResourceSyncStatusRequest
* @return Result of the GetResourceSyncStatus operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.GetResourceSyncStatus
* @see AWS API Documentation
*/
GetResourceSyncStatusResult getResourceSyncStatus(GetResourceSyncStatusRequest getResourceSyncStatusRequest);
/**
*
* Returns a list of the most recent sync blockers.
*
*
* @param getSyncBlockerSummaryRequest
* @return Result of the GetSyncBlockerSummary operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.GetSyncBlockerSummary
* @see AWS API Documentation
*/
GetSyncBlockerSummaryResult getSyncBlockerSummary(GetSyncBlockerSummaryRequest getSyncBlockerSummaryRequest);
/**
*
* Returns details about a sync configuration, including the sync type and resource name. A sync configuration
* allows the configuration to sync (push and pull) changes from the remote repository for a specified branch in a
* Git repository.
*
*
* @param getSyncConfigurationRequest
* @return Result of the GetSyncConfiguration operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.GetSyncConfiguration
* @see AWS API Documentation
*/
GetSyncConfigurationResult getSyncConfiguration(GetSyncConfigurationRequest getSyncConfigurationRequest);
/**
*
* Lists the connections associated with your account.
*
*
* @param listConnectionsRequest
* @return Result of the ListConnections operation returned by the service.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @sample AWSCodeConnections.ListConnections
* @see AWS API Documentation
*/
ListConnectionsResult listConnections(ListConnectionsRequest listConnectionsRequest);
/**
*
* Lists the hosts associated with your account.
*
*
* @param listHostsRequest
* @return Result of the ListHosts operation returned by the service.
* @sample AWSCodeConnections.ListHosts
* @see AWS API
* Documentation
*/
ListHostsResult listHosts(ListHostsRequest listHostsRequest);
/**
*
* Lists the repository links created for connections in your account.
*
*
* @param listRepositoryLinksRequest
* @return Result of the ListRepositoryLinks operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConcurrentModificationException
* Exception thrown as a result of concurrent modification to an application. For example, two individuals
* attempting to edit the same application at the same time.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.ListRepositoryLinks
* @see AWS API Documentation
*/
ListRepositoryLinksResult listRepositoryLinks(ListRepositoryLinksRequest listRepositoryLinksRequest);
/**
*
* Lists the repository sync definitions for repository links in your account.
*
*
* @param listRepositorySyncDefinitionsRequest
* @return Result of the ListRepositorySyncDefinitions operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.ListRepositorySyncDefinitions
* @see AWS API Documentation
*/
ListRepositorySyncDefinitionsResult listRepositorySyncDefinitions(ListRepositorySyncDefinitionsRequest listRepositorySyncDefinitionsRequest);
/**
*
* Returns a list of sync configurations for a specified repository.
*
*
* @param listSyncConfigurationsRequest
* @return Result of the ListSyncConfigurations operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.ListSyncConfigurations
* @see AWS API Documentation
*/
ListSyncConfigurationsResult listSyncConfigurations(ListSyncConfigurationsRequest listSyncConfigurationsRequest);
/**
*
* Gets the set of key-value pairs (metadata) that are used to manage the resource.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @sample AWSCodeConnections.ListTagsForResource
* @see AWS API Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws LimitExceededException
* Exceeded the maximum limit for connections.
* @sample AWSCodeConnections.TagResource
* @see AWS
* API Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Removes tags from an Amazon Web Services resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @sample AWSCodeConnections.UntagResource
* @see AWS
* API Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Updates a specified host with the provided configurations.
*
*
* @param updateHostRequest
* @return Result of the UpdateHost operation returned by the service.
* @throws ConflictException
* Two conflicting operations have been made on the same resource.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ResourceUnavailableException
* Resource not found. Verify the ARN for the host resource and try again.
* @throws UnsupportedOperationException
* The operation is not supported. Check the connection status and try again.
* @sample AWSCodeConnections.UpdateHost
* @see AWS API
* Documentation
*/
UpdateHostResult updateHost(UpdateHostRequest updateHostRequest);
/**
*
* Updates the association between your connection and a specified external Git repository. A repository link allows
* Git sync to monitor and sync changes to files in a specified Git repository.
*
*
* @param updateRepositoryLinkRequest
* @return Result of the UpdateRepositoryLink operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConditionalCheckFailedException
* The conditional check failed. Try again later.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @throws UpdateOutOfSyncException
* The update is out of sync. Try syncing again.
* @sample AWSCodeConnections.UpdateRepositoryLink
* @see AWS API Documentation
*/
UpdateRepositoryLinkResult updateRepositoryLink(UpdateRepositoryLinkRequest updateRepositoryLinkRequest);
/**
*
* Allows you to update the status of a sync blocker, resolving the blocker and allowing syncing to continue.
*
*
* @param updateSyncBlockerRequest
* @return Result of the UpdateSyncBlocker operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws RetryLatestCommitFailedException
* Retrying the latest commit failed. Try again later.
* @throws SyncBlockerDoesNotExistException
* Unable to continue. The sync blocker does not exist.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCodeConnections.UpdateSyncBlocker
* @see AWS API Documentation
*/
UpdateSyncBlockerResult updateSyncBlocker(UpdateSyncBlockerRequest updateSyncBlockerRequest);
/**
*
* Updates the sync configuration for your connection and a specified external Git repository.
*
*
* @param updateSyncConfigurationRequest
* @return Result of the UpdateSyncConfiguration operation returned by the service.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConcurrentModificationException
* Exception thrown as a result of concurrent modification to an application. For example, two individuals
* attempting to edit the same application at the same time.
* @throws InternalServerException
* Received an internal server exception. Try again later.
* @throws InvalidInputException
* The input is not valid. Verify that the action is typed correctly.
* @throws ResourceNotFoundException
* Resource not found. Verify the connection resource ARN and try again.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @throws UpdateOutOfSyncException
* The update is out of sync. Try syncing again.
* @sample AWSCodeConnections.UpdateSyncConfiguration
* @see AWS API Documentation
*/
UpdateSyncConfigurationResult updateSyncConfiguration(UpdateSyncConfigurationRequest updateSyncConfigurationRequest);
/**
* 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);
}