/* * 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.codestarconnections; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.codestarconnections.model.*; /** * Interface for accessing AWS CodeStar connections. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.codestarconnections.AbstractAWSCodeStarconnections} instead. *
*
*
* This AWS CodeStar Connections API Reference provides descriptions and usage examples of the operations and data types * for the AWS CodeStar Connections API. You can use the connections API to work with connections and installations. *
** Connections are configurations that you use to connect AWS 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 AWS CodeStar Connections by calling the following: *
** ListTagsForResource, which gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS * CodeStar Connections. *
** TagResource, which adds or updates tags for a resource in AWS CodeStar Connections. *
** UntagResource, which removes tags for a resource in AWS CodeStar Connections. *
** For information about how to use AWS CodeStar Connections, see the Developer Tools User * Guide. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSCodeStarconnections { /** * 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 = "codestar-connections"; /** ** Creates a connection that can then be given to other AWS 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 AWSCodeStarconnections.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. *
** 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 AWSCodeStarconnections.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. *
** 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 AWSCodeStarconnections.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 AWSCodeStarconnections.GetHost * @see AWS * API Documentation */ GetHostResult getHost(GetHostRequest getHostRequest); /** ** Lists the connections associated with your account. *
* * @param listConnectionsRequest * @return Result of the ListConnections operation returned by the service. * @sample AWSCodeStarconnections.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 AWSCodeStarconnections.ListHosts * @see AWS * API Documentation */ ListHostsResult listHosts(ListHostsRequest listHostsRequest); /** ** 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 AWSCodeStarconnections.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 AWSCodeStarconnections.TagResource * @see AWS API Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** ** Removes tags from an AWS 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 AWSCodeStarconnections.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 AWSCodeStarconnections.UpdateHost * @see AWS API Documentation */ UpdateHostResult updateHost(UpdateHostRequest updateHostRequest); /** * 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); }