/* * 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 org.w3c.dom.*; import java.net.*; import java.util.*; import javax.annotation.Generated; import org.apache.commons.logging.*; import com.amazonaws.*; import com.amazonaws.annotation.SdkInternalApi; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.internal.auth.*; import com.amazonaws.metrics.*; import com.amazonaws.regions.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.protocol.json.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.annotation.ThreadSafe; import com.amazonaws.client.AwsSyncClientParams; import com.amazonaws.client.builder.AdvancedConfig; import com.amazonaws.services.codeartifact.AWSCodeArtifactClientBuilder; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.codeartifact.model.*; import com.amazonaws.services.codeartifact.model.transform.*; /** * Client for accessing CodeArtifact. All service calls made using this client are blocking, and will not return until * the service call completes. *
*
* 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.
*
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSCodeArtifactClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on CodeArtifact using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSCodeArtifactClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("codeartifact.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/codeartifact/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/codeartifact/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *
* 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. *
** Copies package versions from one repository to another repository in the same domain. *
*
* You must specify versions
or versionRevisions
. You cannot specify both.
*
* 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 */ @Override public CreateDomainResult createDomain(CreateDomainRequest request) { request = beforeClientExecution(request); return executeCreateDomain(request); } @SdkInternalApi final CreateDomainResult executeCreateDomain(CreateDomainRequest createDomainRequest) { ExecutionContext executionContext = createExecutionContext(createDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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 */ @Override public CreateRepositoryResult createRepository(CreateRepositoryRequest request) { request = beforeClientExecution(request); return executeCreateRepository(request); } @SdkInternalApi final CreateRepositoryResult executeCreateRepository(CreateRepositoryRequest createRepositoryRequest) { ExecutionContext executionContext = createExecutionContext(createRepositoryRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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 */ @Override public DeleteDomainResult deleteDomain(DeleteDomainRequest request) { request = beforeClientExecution(request); return executeDeleteDomain(request); } @SdkInternalApi final DeleteDomainResult executeDeleteDomain(DeleteDomainRequest deleteDomainRequest) { ExecutionContext executionContext = createExecutionContext(deleteDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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 */ @Override public DeleteDomainPermissionsPolicyResult deleteDomainPermissionsPolicy(DeleteDomainPermissionsPolicyRequest request) { request = beforeClientExecution(request); return executeDeleteDomainPermissionsPolicy(request); } @SdkInternalApi final DeleteDomainPermissionsPolicyResult executeDeleteDomainPermissionsPolicy(DeleteDomainPermissionsPolicyRequest deleteDomainPermissionsPolicyRequest) { ExecutionContext executionContext = createExecutionContext(deleteDomainPermissionsPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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 */ @Override public DeletePackageResult deletePackage(DeletePackageRequest request) { request = beforeClientExecution(request); return executeDeletePackage(request); } @SdkInternalApi final DeletePackageResult executeDeletePackage(DeletePackageRequest deletePackageRequest) { ExecutionContext executionContext = createExecutionContext(deletePackageRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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.
*
* 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 */ @Override public DeleteRepositoryResult deleteRepository(DeleteRepositoryRequest request) { request = beforeClientExecution(request); return executeDeleteRepository(request); } @SdkInternalApi final DeleteRepositoryResult executeDeleteRepository(DeleteRepositoryRequest deleteRepositoryRequest) { ExecutionContext executionContext = createExecutionContext(deleteRepositoryRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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.
*
* 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 */ @Override public DescribeDomainResult describeDomain(DescribeDomainRequest request) { request = beforeClientExecution(request); return executeDescribeDomain(request); } @SdkInternalApi final DescribeDomainResult executeDescribeDomain(DescribeDomainRequest describeDomainRequest) { ExecutionContext executionContext = createExecutionContext(describeDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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 */ @Override public DescribePackageResult describePackage(DescribePackageRequest request) { request = beforeClientExecution(request); return executeDescribePackage(request); } @SdkInternalApi final DescribePackageResult executeDescribePackage(DescribePackageRequest describePackageRequest) { ExecutionContext executionContext = createExecutionContext(describePackageRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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 */ @Override public DescribePackageVersionResult describePackageVersion(DescribePackageVersionRequest request) { request = beforeClientExecution(request); return executeDescribePackageVersion(request); } @SdkInternalApi final DescribePackageVersionResult executeDescribePackageVersion(DescribePackageVersionRequest describePackageVersionRequest) { ExecutionContext executionContext = createExecutionContext(describePackageVersionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* Returns a RepositoryDescription
object that contains detailed information about the requested
* repository.
*
* 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 */ @Override public DisassociateExternalConnectionResult disassociateExternalConnection(DisassociateExternalConnectionRequest request) { request = beforeClientExecution(request); return executeDisassociateExternalConnection(request); } @SdkInternalApi final DisassociateExternalConnectionResult executeDisassociateExternalConnection(DisassociateExternalConnectionRequest disassociateExternalConnectionRequest) { ExecutionContext executionContext = createExecutionContext(disassociateExternalConnectionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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 */ @Override public DisposePackageVersionsResult disposePackageVersions(DisposePackageVersionsRequest request) { request = beforeClientExecution(request); return executeDisposePackageVersions(request); } @SdkInternalApi final DisposePackageVersionsResult executeDisposePackageVersions(DisposePackageVersionsRequest disposePackageVersionsRequest) { ExecutionContext executionContext = createExecutionContext(disposePackageVersionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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. *
** 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. *
*
* 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.
*
* 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 */ @Override public GetPackageVersionReadmeResult getPackageVersionReadme(GetPackageVersionReadmeRequest request) { request = beforeClientExecution(request); return executeGetPackageVersionReadme(request); } @SdkInternalApi final GetPackageVersionReadmeResult executeGetPackageVersionReadme(GetPackageVersionReadmeRequest getPackageVersionReadmeRequest) { ExecutionContext executionContext = createExecutionContext(getPackageVersionReadmeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each * package format: *
*
* maven
*
* npm
*
* nuget
*
* pypi
*
* 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 */ @Override public GetRepositoryPermissionsPolicyResult getRepositoryPermissionsPolicy(GetRepositoryPermissionsPolicyRequest request) { request = beforeClientExecution(request); return executeGetRepositoryPermissionsPolicy(request); } @SdkInternalApi final GetRepositoryPermissionsPolicyResult executeGetRepositoryPermissionsPolicy(GetRepositoryPermissionsPolicyRequest getRepositoryPermissionsPolicyRequest) { ExecutionContext executionContext = createExecutionContext(getRepositoryPermissionsPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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.
*
* 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 */ @Override public ListPackageVersionAssetsResult listPackageVersionAssets(ListPackageVersionAssetsRequest request) { request = beforeClientExecution(request); return executeListPackageVersionAssets(request); } @SdkInternalApi final ListPackageVersionAssetsResult executeListPackageVersionAssets(ListPackageVersionAssetsRequest listPackageVersionAssetsRequest) { ExecutionContext executionContext = createExecutionContext(listPackageVersionAssetsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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.
*
* 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.
*
* 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 */ @Override public ListPackagesResult listPackages(ListPackagesRequest request) { request = beforeClientExecution(request); return executeListPackages(request); } @SdkInternalApi final ListPackagesResult executeListPackages(ListPackagesRequest listPackagesRequest) { ExecutionContext executionContext = createExecutionContext(listPackagesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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.
*
* Returns a list of RepositorySummary objects. Each RepositorySummary
contains information about a repository in
* the specified domain and that matches the input parameters.
*
* 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 */ @Override public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) { request = beforeClientExecution(request); return executeListTagsForResource(request); } @SdkInternalApi final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) { ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
** 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.
*
* 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.
*
* 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.
*
* 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 */ @Override public TagResourceResult tagResource(TagResourceRequest request) { request = beforeClientExecution(request); return executeTagResource(request); } @SdkInternalApi final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) { ExecutionContext executionContext = createExecutionContext(tagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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 */ @Override public UntagResourceResult untagResource(UntagResourceRequest request) { request = beforeClientExecution(request); return executeUntagResource(request); } @SdkInternalApi final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) { ExecutionContext executionContext = createExecutionContext(untagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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.
*
* 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 */ @Override public UpdateRepositoryResult updateRepository(UpdateRepositoryRequest request) { request = beforeClientExecution(request); return executeUpdateRepository(request); } @SdkInternalApi final UpdateRepositoryResult executeUpdateRepository(UpdateRepositoryRequest updateRepositoryRequest) { ExecutionContext executionContext = createExecutionContext(updateRepositoryRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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 the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private