com.amazonaws.services.codeartifact.AWSCodeArtifact Maven / Gradle / Ivy
Show all versions of aws-java-sdk-codeartifact Show documentation
/*
* 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.codeartifact;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.codeartifact.model.*;
/**
* Interface for accessing CodeArtifact.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.codeartifact.AbstractAWSCodeArtifact} instead.
*
*
*
* CodeArtifact is a fully managed artifact repository compatible with language-native package managers and build tools
* such as npm, Apache Maven, pip, and dotnet. You can use CodeArtifact to share packages with development teams and
* pull packages. Packages can be pulled from both public and CodeArtifact repositories. You can also create an upstream
* relationship between a CodeArtifact repository and another repository, which effectively merges their contents from
* the point of view of a package manager client.
*
*
* CodeArtifact Components
*
*
* Use the information in this guide to help you work with the following CodeArtifact components:
*
*
* -
*
* Repository: A CodeArtifact repository contains a set of package
* versions, each of which maps to a set of assets, or files. Repositories are polyglot, so a single repository can
* contain packages of any supported type. Each repository exposes endpoints for fetching and publishing packages using
* tools like the npm
CLI, the Maven CLI ( mvn
), Python CLIs (
* pip
and twine
), and NuGet CLIs (nuget
and dotnet
).
*
*
* -
*
* Domain: Repositories are aggregated into a higher-level entity known as a domain. All package assets
* and metadata are stored in the domain, but are consumed through repositories. A given package asset, such as a Maven
* JAR file, is stored once per domain, no matter how many repositories it's present in. All of the assets and metadata
* in a domain are encrypted with the same customer master key (CMK) stored in Key Management Service (KMS).
*
*
* Each repository is a member of a single domain and can't be moved to a different domain.
*
*
* The domain allows organizational policy to be applied across multiple repositories, such as which accounts can access
* repositories in the domain, and which public repositories can be used as sources of packages.
*
*
* Although an organization can have multiple domains, we recommend a single production domain that contains all
* published artifacts so that teams can find and share packages across their organization.
*
*
* -
*
* Package: A package is a bundle of software and the metadata required to resolve dependencies and
* install the software. CodeArtifact supports npm, PyPI, Maven, and NuGet package formats.
*
*
* In CodeArtifact, a package consists of:
*
*
* -
*
* A name (for example, webpack
is the name of a popular npm package)
*
*
* -
*
* An optional namespace (for example, @types
in @types/node
)
*
*
* -
*
* A set of versions (for example, 1.0.0
, 1.0.1
, 1.0.2
, etc.)
*
*
* -
*
* Package-level metadata (for example, npm tags)
*
*
*
*
* -
*
* Package version: A version of a package, such as @types/node 12.6.9
. The version number format
* and semantics vary for different package formats. For example, npm package versions must conform to the Semantic Versioning specification. In CodeArtifact, a package version consists of the
* version identifier, metadata at the package version level, and a set of assets.
*
*
* -
*
* Upstream repository: One repository is upstream of another when the package versions in it can be
* accessed from the repository endpoint of the downstream repository, effectively merging the contents of the two
* repositories from the point of view of a client. CodeArtifact allows creating an upstream relationship between two
* repositories.
*
*
* -
*
* Asset: An individual file stored in CodeArtifact associated with a package version, such as an npm
* .tgz
file or Maven POM and JAR files.
*
*
*
*
* CodeArtifact supports these operations:
*
*
* -
*
* AssociateExternalConnection
: Adds an existing external connection to a repository.
*
*
* -
*
* CopyPackageVersions
: Copies package versions from one repository to another repository in the same
* domain.
*
*
* -
*
* CreateDomain
: Creates a domain
*
*
* -
*
* CreateRepository
: Creates a CodeArtifact repository in a domain.
*
*
* -
*
* DeleteDomain
: Deletes a domain. You cannot delete a domain that contains repositories.
*
*
* -
*
* DeleteDomainPermissionsPolicy
: Deletes the resource policy that is set on a domain.
*
*
* -
*
* DeletePackage
: Deletes a package and all associated package versions.
*
*
* -
*
* DeletePackageVersions
: Deletes versions of a package. After a package has been deleted, it can be
* republished, but its assets and metadata cannot be restored because they have been permanently removed from storage.
*
*
* -
*
* DeleteRepository
: Deletes a repository.
*
*
* -
*
* DeleteRepositoryPermissionsPolicy
: Deletes the resource policy that is set on a repository.
*
*
* -
*
* DescribeDomain
: Returns a DomainDescription
object that contains information about the
* requested domain.
*
*
* -
*
* DescribePackage
: Returns a PackageDescription object that contains details about a package.
*
*
* -
*
* DescribePackageVersion
: Returns a PackageVersionDescription object that contains details about a package version.
*
*
* -
*
* DescribeRepository
: Returns a RepositoryDescription
object that contains detailed
* information about the requested repository.
*
*
* -
*
* DisposePackageVersions
: Disposes versions of a package. A package version with the status
* Disposed
cannot be restored because they have been permanently removed from storage.
*
*
* -
*
* DisassociateExternalConnection
: Removes an existing external connection from a repository.
*
*
* -
*
* GetAuthorizationToken
: Generates a temporary authorization token for accessing repositories in the
* domain. The token expires the authorization period has passed. The default authorization period is 12 hours and can
* be customized to any length with a maximum of 12 hours.
*
*
* -
*
* GetDomainPermissionsPolicy
: Returns the policy of a resource that is attached to the specified domain.
*
*
* -
*
* GetPackageVersionAsset
: Returns the contents of an asset that is in a package version.
*
*
* -
*
* GetPackageVersionReadme
: Gets the readme file or descriptive text for a package version.
*
*
* -
*
* GetRepositoryEndpoint
: Returns the endpoint of a repository for a specific package format. A repository
* has one endpoint for each package format:
*
*
* -
*
* maven
*
*
* -
*
* npm
*
*
* -
*
* nuget
*
*
* -
*
* pypi
*
*
*
*
* -
*
* GetRepositoryPermissionsPolicy
: Returns the resource policy that is set on a repository.
*
*
* -
*
* ListDomains
: Returns a list of DomainSummary
objects. Each returned
* DomainSummary
object contains information about a domain.
*
*
* -
*
* ListPackages
: Lists the packages in a repository.
*
*
* -
*
* ListPackageVersionAssets
: Lists the assets for a given package version.
*
*
* -
*
* ListPackageVersionDependencies
: Returns a list of the direct dependencies for a package version.
*
*
* -
*
* ListPackageVersions
: Returns a list of package versions for a specified package in a repository.
*
*
* -
*
* ListRepositories
: Returns a list of repositories owned by the Amazon Web Services account that called
* this method.
*
*
* -
*
* ListRepositoriesInDomain
: Returns a list of the repositories in a domain.
*
*
* -
*
* PublishPackageVersion
: Creates a new package version containing one or more assets.
*
*
* -
*
* PutDomainPermissionsPolicy
: Attaches a resource policy to a domain.
*
*
* -
*
* PutPackageOriginConfiguration
: Sets the package origin configuration for a package, which determine how
* new versions of the package can be added to a specific repository.
*
*
* -
*
* PutRepositoryPermissionsPolicy
: Sets the resource policy on a repository that specifies permissions to
* access it.
*
*
* -
*
* UpdatePackageVersionsStatus
: Updates the status of one or more versions of a package.
*
*
* -
*
* UpdateRepository
: Updates the properties of a repository.
*
*
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSCodeArtifact {
/**
* 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 = "codeartifact";
/**
*
* Adds an existing external connection to a repository. One external connection is allowed per repository.
*
*
*
* A repository can have one or more upstream repositories, or an external connection.
*
*
*
* @param associateExternalConnectionRequest
* @return Result of the AssociateExternalConnection operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.AssociateExternalConnection
* @see AWS API Documentation
*/
AssociateExternalConnectionResult associateExternalConnection(AssociateExternalConnectionRequest associateExternalConnectionRequest);
/**
*
* Copies package versions from one repository to another repository in the same domain.
*
*
*
* You must specify versions
or versionRevisions
. You cannot specify both.
*
*
*
* @param copyPackageVersionsRequest
* @return Result of the CopyPackageVersions operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.CopyPackageVersions
* @see AWS API Documentation
*/
CopyPackageVersionsResult copyPackageVersions(CopyPackageVersionsRequest copyPackageVersionsRequest);
/**
*
* Creates a domain. CodeArtifact domains make it easier to manage multiple repositories across an
* organization. You can use a domain to apply permissions across many repositories owned by different Amazon Web
* Services accounts. An asset is stored only once in a domain, even if it's in multiple repositories.
*
*
* Although you can have multiple domains, we recommend a single production domain that contains all published
* artifacts so that your development teams can find and share packages. You can use a second pre-production domain
* to test changes to the production domain configuration.
*
*
* @param createDomainRequest
* @return Result of the CreateDomain operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.CreateDomain
* @see AWS API
* Documentation
*/
CreateDomainResult createDomain(CreateDomainRequest createDomainRequest);
/**
*
* Creates a repository.
*
*
* @param createRepositoryRequest
* @return Result of the CreateRepository operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.CreateRepository
* @see AWS
* API Documentation
*/
CreateRepositoryResult createRepository(CreateRepositoryRequest createRepositoryRequest);
/**
*
* Deletes a domain. You cannot delete a domain that contains repositories. If you want to delete a domain with
* repositories, first delete its repositories.
*
*
* @param deleteDomainRequest
* @return Result of the DeleteDomain operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DeleteDomain
* @see AWS API
* Documentation
*/
DeleteDomainResult deleteDomain(DeleteDomainRequest deleteDomainRequest);
/**
*
* Deletes the resource policy set on a domain.
*
*
* @param deleteDomainPermissionsPolicyRequest
* @return Result of the DeleteDomainPermissionsPolicy operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DeleteDomainPermissionsPolicy
* @see AWS API Documentation
*/
DeleteDomainPermissionsPolicyResult deleteDomainPermissionsPolicy(DeleteDomainPermissionsPolicyRequest deleteDomainPermissionsPolicyRequest);
/**
*
* Deletes a package and all associated package versions. A deleted package cannot be restored. To delete one or
* more package versions, use the DeletePackageVersions API.
*
*
* @param deletePackageRequest
* @return Result of the DeletePackage operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DeletePackage
* @see AWS API
* Documentation
*/
DeletePackageResult deletePackage(DeletePackageRequest deletePackageRequest);
/**
*
* Deletes one or more versions of a package. A deleted package version cannot be restored in your repository. If
* you want to remove a package version from your repository and be able to restore it later, set its status to
* Archived
. Archived packages cannot be downloaded from a repository and don't show up with list
* package APIs (for example, ListPackageVersions), but you can restore them using UpdatePackageVersionsStatus.
*
*
* @param deletePackageVersionsRequest
* @return Result of the DeletePackageVersions operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DeletePackageVersions
* @see AWS API Documentation
*/
DeletePackageVersionsResult deletePackageVersions(DeletePackageVersionsRequest deletePackageVersionsRequest);
/**
*
* Deletes a repository.
*
*
* @param deleteRepositoryRequest
* @return Result of the DeleteRepository operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DeleteRepository
* @see AWS
* API Documentation
*/
DeleteRepositoryResult deleteRepository(DeleteRepositoryRequest deleteRepositoryRequest);
/**
*
* Deletes the resource policy that is set on a repository. After a resource policy is deleted, the permissions
* allowed and denied by the deleted policy are removed. The effect of deleting a resource policy might not be
* immediate.
*
*
*
* Use DeleteRepositoryPermissionsPolicy
with caution. After a policy is deleted, Amazon Web Services
* users, roles, and accounts lose permissions to perform the repository actions granted by the deleted policy.
*
*
*
* @param deleteRepositoryPermissionsPolicyRequest
* @return Result of the DeleteRepositoryPermissionsPolicy operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DeleteRepositoryPermissionsPolicy
* @see AWS API Documentation
*/
DeleteRepositoryPermissionsPolicyResult deleteRepositoryPermissionsPolicy(DeleteRepositoryPermissionsPolicyRequest deleteRepositoryPermissionsPolicyRequest);
/**
*
* Returns a
* DomainDescription object that contains information about the requested domain.
*
*
* @param describeDomainRequest
* @return Result of the DescribeDomain operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DescribeDomain
* @see AWS
* API Documentation
*/
DescribeDomainResult describeDomain(DescribeDomainRequest describeDomainRequest);
/**
*
* Returns a
* PackageDescription object that contains information about the requested package.
*
*
* @param describePackageRequest
* @return Result of the DescribePackage operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DescribePackage
* @see AWS
* API Documentation
*/
DescribePackageResult describePackage(DescribePackageRequest describePackageRequest);
/**
*
* Returns a PackageVersionDescription object that contains information about the requested package version.
*
*
* @param describePackageVersionRequest
* @return Result of the DescribePackageVersion operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DescribePackageVersion
* @see AWS API Documentation
*/
DescribePackageVersionResult describePackageVersion(DescribePackageVersionRequest describePackageVersionRequest);
/**
*
* Returns a RepositoryDescription
object that contains detailed information about the requested
* repository.
*
*
* @param describeRepositoryRequest
* @return Result of the DescribeRepository operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DescribeRepository
* @see AWS API Documentation
*/
DescribeRepositoryResult describeRepository(DescribeRepositoryRequest describeRepositoryRequest);
/**
*
* Removes an existing external connection from a repository.
*
*
* @param disassociateExternalConnectionRequest
* @return Result of the DisassociateExternalConnection operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DisassociateExternalConnection
* @see AWS API Documentation
*/
DisassociateExternalConnectionResult disassociateExternalConnection(DisassociateExternalConnectionRequest disassociateExternalConnectionRequest);
/**
*
* Deletes the assets in package versions and sets the package versions' status to Disposed
. A disposed
* package version cannot be restored in your repository because its assets are deleted.
*
*
* To view all disposed package versions in a repository, use ListPackageVersions and set the status parameter to Disposed
.
*
*
* To view information about a disposed package version, use DescribePackageVersion.
*
*
* @param disposePackageVersionsRequest
* @return Result of the DisposePackageVersions operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.DisposePackageVersions
* @see AWS API Documentation
*/
DisposePackageVersionsResult disposePackageVersions(DisposePackageVersionsRequest disposePackageVersionsRequest);
/**
*
* Generates a temporary authorization token for accessing repositories in the domain. This API requires the
* codeartifact:GetAuthorizationToken
and sts:GetServiceBearerToken
permissions. For more
* information about authorization tokens, see CodeArtifact authentication
* and tokens.
*
*
*
* CodeArtifact authorization tokens are valid for a period of 12 hours when created with the login
* command. You can call login
periodically to refresh the token. When you create an authorization
* token with the GetAuthorizationToken
API, you can set a custom authorization period, up to a maximum
* of 12 hours, with the durationSeconds
parameter.
*
*
* The authorization period begins after login
or GetAuthorizationToken
is called. If
* login
or GetAuthorizationToken
is called while assuming a role, the token lifetime is
* independent of the maximum session duration of the role. For example, if you call sts assume-role
* and specify a session duration of 15 minutes, then generate a CodeArtifact authorization token, the token will be
* valid for the full authorization period even though this is longer than the 15-minute session duration.
*
*
* See Using IAM Roles for more
* information on controlling session duration.
*
*
*
* @param getAuthorizationTokenRequest
* @return Result of the GetAuthorizationToken operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.GetAuthorizationToken
* @see AWS API Documentation
*/
GetAuthorizationTokenResult getAuthorizationToken(GetAuthorizationTokenRequest getAuthorizationTokenRequest);
/**
*
* Returns the resource policy attached to the specified domain.
*
*
*
* The policy is a resource-based policy, not an identity-based policy. For more information, see Identity-based
* policies and resource-based policies in the IAM User Guide.
*
*
*
* @param getDomainPermissionsPolicyRequest
* @return Result of the GetDomainPermissionsPolicy operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.GetDomainPermissionsPolicy
* @see AWS API Documentation
*/
GetDomainPermissionsPolicyResult getDomainPermissionsPolicy(GetDomainPermissionsPolicyRequest getDomainPermissionsPolicyRequest);
/**
*
* Returns an asset (or file) that is in a package. For example, for a Maven package version, use
* GetPackageVersionAsset
to download a JAR
file, a POM
file, or any other
* assets in the package version.
*
*
* @param getPackageVersionAssetRequest
* @return Result of the GetPackageVersionAsset operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @sample AWSCodeArtifact.GetPackageVersionAsset
* @see AWS API Documentation
*/
GetPackageVersionAssetResult getPackageVersionAsset(GetPackageVersionAssetRequest getPackageVersionAssetRequest);
/**
*
* Gets the readme file or descriptive text for a package version.
*
*
* The returned text might contain formatting. For example, it might contain formatting for Markdown or
* reStructuredText.
*
*
* @param getPackageVersionReadmeRequest
* @return Result of the GetPackageVersionReadme operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.GetPackageVersionReadme
* @see AWS API Documentation
*/
GetPackageVersionReadmeResult getPackageVersionReadme(GetPackageVersionReadmeRequest getPackageVersionReadmeRequest);
/**
*
* Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each
* package format:
*
*
* -
*
* maven
*
*
* -
*
* npm
*
*
* -
*
* nuget
*
*
* -
*
* pypi
*
*
*
*
* @param getRepositoryEndpointRequest
* @return Result of the GetRepositoryEndpoint operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.GetRepositoryEndpoint
* @see AWS API Documentation
*/
GetRepositoryEndpointResult getRepositoryEndpoint(GetRepositoryEndpointRequest getRepositoryEndpointRequest);
/**
*
* Returns the resource policy that is set on a repository.
*
*
* @param getRepositoryPermissionsPolicyRequest
* @return Result of the GetRepositoryPermissionsPolicy operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.GetRepositoryPermissionsPolicy
* @see AWS API Documentation
*/
GetRepositoryPermissionsPolicyResult getRepositoryPermissionsPolicy(GetRepositoryPermissionsPolicyRequest getRepositoryPermissionsPolicyRequest);
/**
*
* Returns a list of DomainSummary objects for all domains owned by the Amazon Web Services account that makes this call. Each
* returned DomainSummary
object contains information about a domain.
*
*
* @param listDomainsRequest
* @return Result of the ListDomains operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.ListDomains
* @see AWS API
* Documentation
*/
ListDomainsResult listDomains(ListDomainsRequest listDomainsRequest);
/**
*
* Returns a list of AssetSummary
* objects for assets in a package version.
*
*
* @param listPackageVersionAssetsRequest
* @return Result of the ListPackageVersionAssets operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.ListPackageVersionAssets
* @see AWS API Documentation
*/
ListPackageVersionAssetsResult listPackageVersionAssets(ListPackageVersionAssetsRequest listPackageVersionAssetsRequest);
/**
*
* Returns the direct dependencies for a package version. The dependencies are returned as PackageDependency objects. CodeArtifact extracts the dependencies for a package version from the metadata
* file for the package format (for example, the package.json
file for npm packages and the
* pom.xml
file for Maven). Any package version dependencies that are not listed in the configuration
* file are not returned.
*
*
* @param listPackageVersionDependenciesRequest
* @return Result of the ListPackageVersionDependencies operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.ListPackageVersionDependencies
* @see AWS API Documentation
*/
ListPackageVersionDependenciesResult listPackageVersionDependencies(ListPackageVersionDependenciesRequest listPackageVersionDependenciesRequest);
/**
*
* Returns a list of PackageVersionSummary objects for package versions in a repository that match the request parameters.
* Package versions of all statuses will be returned by default when calling list-package-versions
with
* no --status
parameter.
*
*
* @param listPackageVersionsRequest
* @return Result of the ListPackageVersions operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.ListPackageVersions
* @see AWS API Documentation
*/
ListPackageVersionsResult listPackageVersions(ListPackageVersionsRequest listPackageVersionsRequest);
/**
*
* Returns a list of PackageSummary
* objects for packages in a repository that match the request parameters.
*
*
* @param listPackagesRequest
* @return Result of the ListPackages operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.ListPackages
* @see AWS API
* Documentation
*/
ListPackagesResult listPackages(ListPackagesRequest listPackagesRequest);
/**
*
* Returns a list of RepositorySummary objects. Each RepositorySummary
contains information about a repository in
* the specified Amazon Web Services account and that matches the input parameters.
*
*
* @param listRepositoriesRequest
* @return Result of the ListRepositories operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.ListRepositories
* @see AWS
* API Documentation
*/
ListRepositoriesResult listRepositories(ListRepositoriesRequest listRepositoriesRequest);
/**
*
* Returns a list of RepositorySummary objects. Each RepositorySummary
contains information about a repository in
* the specified domain and that matches the input parameters.
*
*
* @param listRepositoriesInDomainRequest
* @return Result of the ListRepositoriesInDomain operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.ListRepositoriesInDomain
* @see AWS API Documentation
*/
ListRepositoriesInDomainResult listRepositoriesInDomain(ListRepositoriesInDomainRequest listRepositoriesInDomainRequest);
/**
*
* Gets information about Amazon Web Services tags for a specified Amazon Resource Name (ARN) in CodeArtifact.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.ListTagsForResource
* @see AWS API Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Creates a new package version containing one or more assets (or files).
*
*
* The unfinished
flag can be used to keep the package version in the Unfinished
state
* until all of its assets have been uploaded (see Package version status in the CodeArtifact user guide). To set the package version’s status to
* Published
, omit the unfinished
flag when uploading the final asset, or set the status
* using
* UpdatePackageVersionStatus. Once a package version’s status is set to Published
, it cannot
* change back to Unfinished
.
*
*
*
* Only generic packages can be published using this API. For more information, see Using generic packages in the
* CodeArtifact User Guide.
*
*
*
* @param publishPackageVersionRequest
* @return Result of the PublishPackageVersion operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.PublishPackageVersion
* @see AWS API Documentation
*/
PublishPackageVersionResult publishPackageVersion(PublishPackageVersionRequest publishPackageVersionRequest);
/**
*
* Sets a resource policy on a domain that specifies permissions to access it.
*
*
* When you call PutDomainPermissionsPolicy
, the resource policy on the domain is ignored when
* evaluting permissions. This ensures that the owner of a domain cannot lock themselves out of the domain, which
* would prevent them from being able to update the resource policy.
*
*
* @param putDomainPermissionsPolicyRequest
* @return Result of the PutDomainPermissionsPolicy operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.PutDomainPermissionsPolicy
* @see AWS API Documentation
*/
PutDomainPermissionsPolicyResult putDomainPermissionsPolicy(PutDomainPermissionsPolicyRequest putDomainPermissionsPolicyRequest);
/**
*
* Sets the package origin configuration for a package.
*
*
* The package origin configuration determines how new versions of a package can be added to a repository. You can
* allow or block direct publishing of new package versions, or ingestion and retaining of new package versions from
* an external connection or upstream source. For more information about package origin controls and configuration,
* see Editing package
* origin controls in the CodeArtifact User Guide.
*
*
* PutPackageOriginConfiguration
can be called on a package that doesn't yet exist in the repository.
* When called on a package that does not exist, a package is created in the repository with no versions and the
* requested restrictions are set on the package. This can be used to preemptively block ingesting or retaining any
* versions from external connections or upstream repositories, or to block publishing any versions of the package
* into the repository before connecting any package managers or publishers to the repository.
*
*
* @param putPackageOriginConfigurationRequest
* @return Result of the PutPackageOriginConfiguration operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.PutPackageOriginConfiguration
* @see AWS API Documentation
*/
PutPackageOriginConfigurationResult putPackageOriginConfiguration(PutPackageOriginConfigurationRequest putPackageOriginConfigurationRequest);
/**
*
* Sets the resource policy on a repository that specifies permissions to access it.
*
*
* When you call PutRepositoryPermissionsPolicy
, the resource policy on the repository is ignored when
* evaluting permissions. This ensures that the owner of a repository cannot lock themselves out of the repository,
* which would prevent them from being able to update the resource policy.
*
*
* @param putRepositoryPermissionsPolicyRequest
* @return Result of the PutRepositoryPermissionsPolicy operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.PutRepositoryPermissionsPolicy
* @see AWS API Documentation
*/
PutRepositoryPermissionsPolicyResult putRepositoryPermissionsPolicy(PutRepositoryPermissionsPolicyRequest putRepositoryPermissionsPolicyRequest);
/**
*
* Adds or updates tags for a resource in CodeArtifact.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Removes tags from a resource in CodeArtifact.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Updates the status of one or more versions of a package. Using UpdatePackageVersionsStatus
, you can
* update the status of package versions to Archived
, Published
, or Unlisted
.
* To set the status of a package version to Disposed
, use DisposePackageVersions.
*
*
* @param updatePackageVersionsStatusRequest
* @return Result of the UpdatePackageVersionsStatus operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.UpdatePackageVersionsStatus
* @see AWS API Documentation
*/
UpdatePackageVersionsStatusResult updatePackageVersionsStatus(UpdatePackageVersionsStatusRequest updatePackageVersionsStatusRequest);
/**
*
* Update the properties of a repository.
*
*
* @param updateRepositoryRequest
* @return Result of the UpdateRepository operation returned by the service.
* @throws AccessDeniedException
* The operation did not succeed because of an unauthorized access attempt.
* @throws ConflictException
* The operation did not succeed because prerequisites are not met.
* @throws InternalServerException
* The operation did not succeed because of an error that occurred inside CodeArtifact.
* @throws ResourceNotFoundException
* The operation did not succeed because the resource requested is not found in the service.
* @throws ServiceQuotaExceededException
* The operation did not succeed because it would have exceeded a service limit for your account.
* @throws ThrottlingException
* The operation did not succeed because too many requests are sent to the service.
* @throws ValidationException
* The operation did not succeed because a parameter in the request was sent with an invalid value.
* @sample AWSCodeArtifact.UpdateRepository
* @see AWS
* API Documentation
*/
UpdateRepositoryResult updateRepository(UpdateRepositoryRequest updateRepositoryRequest);
/**
* 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);
}