/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace CodeArtifact
{
/**
* 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:
-
* 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.
*/
class AWS_CODEARTIFACT_API CodeArtifactClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef CodeArtifactClientConfiguration ClientConfigurationType;
typedef CodeArtifactEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CodeArtifactClient(const Aws::CodeArtifact::CodeArtifactClientConfiguration& clientConfiguration = Aws::CodeArtifact::CodeArtifactClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CodeArtifactClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::CodeArtifact::CodeArtifactClientConfiguration& clientConfiguration = Aws::CodeArtifact::CodeArtifactClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
CodeArtifactClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::CodeArtifact::CodeArtifactClientConfiguration& clientConfiguration = Aws::CodeArtifact::CodeArtifactClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CodeArtifactClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
CodeArtifactClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
CodeArtifactClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~CodeArtifactClient();
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::AssociateExternalConnectionOutcome AssociateExternalConnection(const Model::AssociateExternalConnectionRequest& request) const;
/**
* A Callable wrapper for AssociateExternalConnection that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssociateExternalConnectionOutcomeCallable AssociateExternalConnectionCallable(const AssociateExternalConnectionRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::AssociateExternalConnection, request);
}
/**
* An Async wrapper for AssociateExternalConnection that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssociateExternalConnectionAsync(const AssociateExternalConnectionRequestT& request, const AssociateExternalConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::AssociateExternalConnection, request, handler, context);
}
/**
* Copies package versions from one repository to another repository in the
* same domain.
You must specify versions
or
* versionRevisions
. You cannot specify both.
See
* Also:
AWS
* API Reference
*/
virtual Model::CopyPackageVersionsOutcome CopyPackageVersions(const Model::CopyPackageVersionsRequest& request) const;
/**
* A Callable wrapper for CopyPackageVersions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CopyPackageVersionsOutcomeCallable CopyPackageVersionsCallable(const CopyPackageVersionsRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::CopyPackageVersions, request);
}
/**
* An Async wrapper for CopyPackageVersions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CopyPackageVersionsAsync(const CopyPackageVersionsRequestT& request, const CopyPackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::CopyPackageVersions, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::CreateDomainOutcome CreateDomain(const Model::CreateDomainRequest& request) const;
/**
* A Callable wrapper for CreateDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateDomainOutcomeCallable CreateDomainCallable(const CreateDomainRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::CreateDomain, request);
}
/**
* An Async wrapper for CreateDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateDomainAsync(const CreateDomainRequestT& request, const CreateDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::CreateDomain, request, handler, context);
}
/**
* Creates a repository.
See Also:
AWS
* API Reference
*/
virtual Model::CreateRepositoryOutcome CreateRepository(const Model::CreateRepositoryRequest& request) const;
/**
* A Callable wrapper for CreateRepository that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateRepositoryOutcomeCallable CreateRepositoryCallable(const CreateRepositoryRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::CreateRepository, request);
}
/**
* An Async wrapper for CreateRepository that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateRepositoryAsync(const CreateRepositoryRequestT& request, const CreateRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::CreateRepository, request, handler, context);
}
/**
* Deletes a domain. You cannot delete a domain that contains repositories. If
* you want to delete a domain with repositories, first delete its repositories.
*
See Also:
AWS
* API Reference
*/
virtual Model::DeleteDomainOutcome DeleteDomain(const Model::DeleteDomainRequest& request) const;
/**
* A Callable wrapper for DeleteDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteDomainOutcomeCallable DeleteDomainCallable(const DeleteDomainRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DeleteDomain, request);
}
/**
* An Async wrapper for DeleteDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteDomainAsync(const DeleteDomainRequestT& request, const DeleteDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DeleteDomain, request, handler, context);
}
/**
* Deletes the resource policy set on a domain.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteDomainPermissionsPolicyOutcome DeleteDomainPermissionsPolicy(const Model::DeleteDomainPermissionsPolicyRequest& request) const;
/**
* A Callable wrapper for DeleteDomainPermissionsPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteDomainPermissionsPolicyOutcomeCallable DeleteDomainPermissionsPolicyCallable(const DeleteDomainPermissionsPolicyRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DeleteDomainPermissionsPolicy, request);
}
/**
* An Async wrapper for DeleteDomainPermissionsPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteDomainPermissionsPolicyAsync(const DeleteDomainPermissionsPolicyRequestT& request, const DeleteDomainPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DeleteDomainPermissionsPolicy, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DeletePackageOutcome DeletePackage(const Model::DeletePackageRequest& request) const;
/**
* A Callable wrapper for DeletePackage that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeletePackageOutcomeCallable DeletePackageCallable(const DeletePackageRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DeletePackage, request);
}
/**
* An Async wrapper for DeletePackage that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeletePackageAsync(const DeletePackageRequestT& request, const DeletePackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DeletePackage, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::DeletePackageVersionsOutcome DeletePackageVersions(const Model::DeletePackageVersionsRequest& request) const;
/**
* A Callable wrapper for DeletePackageVersions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeletePackageVersionsOutcomeCallable DeletePackageVersionsCallable(const DeletePackageVersionsRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DeletePackageVersions, request);
}
/**
* An Async wrapper for DeletePackageVersions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeletePackageVersionsAsync(const DeletePackageVersionsRequestT& request, const DeletePackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DeletePackageVersions, request, handler, context);
}
/**
* Deletes a repository.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteRepositoryOutcome DeleteRepository(const Model::DeleteRepositoryRequest& request) const;
/**
* A Callable wrapper for DeleteRepository that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteRepositoryOutcomeCallable DeleteRepositoryCallable(const DeleteRepositoryRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DeleteRepository, request);
}
/**
* An Async wrapper for DeleteRepository that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteRepositoryAsync(const DeleteRepositoryRequestT& request, const DeleteRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DeleteRepository, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::DeleteRepositoryPermissionsPolicyOutcome DeleteRepositoryPermissionsPolicy(const Model::DeleteRepositoryPermissionsPolicyRequest& request) const;
/**
* A Callable wrapper for DeleteRepositoryPermissionsPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteRepositoryPermissionsPolicyOutcomeCallable DeleteRepositoryPermissionsPolicyCallable(const DeleteRepositoryPermissionsPolicyRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DeleteRepositoryPermissionsPolicy, request);
}
/**
* An Async wrapper for DeleteRepositoryPermissionsPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteRepositoryPermissionsPolicyAsync(const DeleteRepositoryPermissionsPolicyRequestT& request, const DeleteRepositoryPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DeleteRepositoryPermissionsPolicy, request, handler, context);
}
/**
* Returns a DomainDescription
* object that contains information about the requested domain.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeDomainOutcome DescribeDomain(const Model::DescribeDomainRequest& request) const;
/**
* A Callable wrapper for DescribeDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeDomainOutcomeCallable DescribeDomainCallable(const DescribeDomainRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DescribeDomain, request);
}
/**
* An Async wrapper for DescribeDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeDomainAsync(const DescribeDomainRequestT& request, const DescribeDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DescribeDomain, request, handler, context);
}
/**
* Returns a PackageDescription
* object that contains information about the requested package.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribePackageOutcome DescribePackage(const Model::DescribePackageRequest& request) const;
/**
* A Callable wrapper for DescribePackage that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribePackageOutcomeCallable DescribePackageCallable(const DescribePackageRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DescribePackage, request);
}
/**
* An Async wrapper for DescribePackage that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribePackageAsync(const DescribePackageRequestT& request, const DescribePackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DescribePackage, request, handler, context);
}
/**
* Returns a PackageVersionDescription
* object that contains information about the requested package version.
*
See Also:
AWS
* API Reference
*/
virtual Model::DescribePackageVersionOutcome DescribePackageVersion(const Model::DescribePackageVersionRequest& request) const;
/**
* A Callable wrapper for DescribePackageVersion that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribePackageVersionOutcomeCallable DescribePackageVersionCallable(const DescribePackageVersionRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DescribePackageVersion, request);
}
/**
* An Async wrapper for DescribePackageVersion that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribePackageVersionAsync(const DescribePackageVersionRequestT& request, const DescribePackageVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DescribePackageVersion, request, handler, context);
}
/**
* Returns a RepositoryDescription
object that contains detailed
* information about the requested repository.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeRepositoryOutcome DescribeRepository(const Model::DescribeRepositoryRequest& request) const;
/**
* A Callable wrapper for DescribeRepository that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeRepositoryOutcomeCallable DescribeRepositoryCallable(const DescribeRepositoryRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DescribeRepository, request);
}
/**
* An Async wrapper for DescribeRepository that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeRepositoryAsync(const DescribeRepositoryRequestT& request, const DescribeRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DescribeRepository, request, handler, context);
}
/**
* Removes an existing external connection from a repository.
See
* Also:
AWS
* API Reference
*/
virtual Model::DisassociateExternalConnectionOutcome DisassociateExternalConnection(const Model::DisassociateExternalConnectionRequest& request) const;
/**
* A Callable wrapper for DisassociateExternalConnection that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisassociateExternalConnectionOutcomeCallable DisassociateExternalConnectionCallable(const DisassociateExternalConnectionRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DisassociateExternalConnection, request);
}
/**
* An Async wrapper for DisassociateExternalConnection that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisassociateExternalConnectionAsync(const DisassociateExternalConnectionRequestT& request, const DisassociateExternalConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DisassociateExternalConnection, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::DisposePackageVersionsOutcome DisposePackageVersions(const Model::DisposePackageVersionsRequest& request) const;
/**
* A Callable wrapper for DisposePackageVersions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisposePackageVersionsOutcomeCallable DisposePackageVersionsCallable(const DisposePackageVersionsRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::DisposePackageVersions, request);
}
/**
* An Async wrapper for DisposePackageVersions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisposePackageVersionsAsync(const DisposePackageVersionsRequestT& request, const DisposePackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::DisposePackageVersions, request, handler, context);
}
/**
* 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.
* See Also:
AWS
* API Reference
*/
virtual Model::GetAuthorizationTokenOutcome GetAuthorizationToken(const Model::GetAuthorizationTokenRequest& request) const;
/**
* A Callable wrapper for GetAuthorizationToken that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAuthorizationTokenOutcomeCallable GetAuthorizationTokenCallable(const GetAuthorizationTokenRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::GetAuthorizationToken, request);
}
/**
* An Async wrapper for GetAuthorizationToken that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAuthorizationTokenAsync(const GetAuthorizationTokenRequestT& request, const GetAuthorizationTokenResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::GetAuthorizationToken, request, handler, context);
}
/**
* 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.
* See Also:
AWS
* API Reference
*/
virtual Model::GetDomainPermissionsPolicyOutcome GetDomainPermissionsPolicy(const Model::GetDomainPermissionsPolicyRequest& request) const;
/**
* A Callable wrapper for GetDomainPermissionsPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDomainPermissionsPolicyOutcomeCallable GetDomainPermissionsPolicyCallable(const GetDomainPermissionsPolicyRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::GetDomainPermissionsPolicy, request);
}
/**
* An Async wrapper for GetDomainPermissionsPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDomainPermissionsPolicyAsync(const GetDomainPermissionsPolicyRequestT& request, const GetDomainPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::GetDomainPermissionsPolicy, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::GetPackageVersionAssetOutcome GetPackageVersionAsset(const Model::GetPackageVersionAssetRequest& request) const;
/**
* A Callable wrapper for GetPackageVersionAsset that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetPackageVersionAssetOutcomeCallable GetPackageVersionAssetCallable(const GetPackageVersionAssetRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::GetPackageVersionAsset, request);
}
/**
* An Async wrapper for GetPackageVersionAsset that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetPackageVersionAssetAsync(const GetPackageVersionAssetRequestT& request, const GetPackageVersionAssetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::GetPackageVersionAsset, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::GetPackageVersionReadmeOutcome GetPackageVersionReadme(const Model::GetPackageVersionReadmeRequest& request) const;
/**
* A Callable wrapper for GetPackageVersionReadme that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetPackageVersionReadmeOutcomeCallable GetPackageVersionReadmeCallable(const GetPackageVersionReadmeRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::GetPackageVersionReadme, request);
}
/**
* An Async wrapper for GetPackageVersionReadme that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetPackageVersionReadmeAsync(const GetPackageVersionReadmeRequestT& request, const GetPackageVersionReadmeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::GetPackageVersionReadme, request, handler, context);
}
/**
* Returns the endpoint of a repository for a specific package format. A
* repository has one endpoint for each package format:
-
* maven
-
npm
-
* nuget
-
pypi
*
See Also:
AWS
* API Reference
*/
virtual Model::GetRepositoryEndpointOutcome GetRepositoryEndpoint(const Model::GetRepositoryEndpointRequest& request) const;
/**
* A Callable wrapper for GetRepositoryEndpoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetRepositoryEndpointOutcomeCallable GetRepositoryEndpointCallable(const GetRepositoryEndpointRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::GetRepositoryEndpoint, request);
}
/**
* An Async wrapper for GetRepositoryEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetRepositoryEndpointAsync(const GetRepositoryEndpointRequestT& request, const GetRepositoryEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::GetRepositoryEndpoint, request, handler, context);
}
/**
* Returns the resource policy that is set on a repository.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetRepositoryPermissionsPolicyOutcome GetRepositoryPermissionsPolicy(const Model::GetRepositoryPermissionsPolicyRequest& request) const;
/**
* A Callable wrapper for GetRepositoryPermissionsPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetRepositoryPermissionsPolicyOutcomeCallable GetRepositoryPermissionsPolicyCallable(const GetRepositoryPermissionsPolicyRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::GetRepositoryPermissionsPolicy, request);
}
/**
* An Async wrapper for GetRepositoryPermissionsPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetRepositoryPermissionsPolicyAsync(const GetRepositoryPermissionsPolicyRequestT& request, const GetRepositoryPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::GetRepositoryPermissionsPolicy, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::ListDomainsOutcome ListDomains(const Model::ListDomainsRequest& request) const;
/**
* A Callable wrapper for ListDomains that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListDomainsOutcomeCallable ListDomainsCallable(const ListDomainsRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::ListDomains, request);
}
/**
* An Async wrapper for ListDomains that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListDomainsAsync(const ListDomainsRequestT& request, const ListDomainsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::ListDomains, request, handler, context);
}
/**
* Returns a list of AssetSummary
* objects for assets in a package version.
See Also:
AWS
* API Reference
*/
virtual Model::ListPackageVersionAssetsOutcome ListPackageVersionAssets(const Model::ListPackageVersionAssetsRequest& request) const;
/**
* A Callable wrapper for ListPackageVersionAssets that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListPackageVersionAssetsOutcomeCallable ListPackageVersionAssetsCallable(const ListPackageVersionAssetsRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::ListPackageVersionAssets, request);
}
/**
* An Async wrapper for ListPackageVersionAssets that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListPackageVersionAssetsAsync(const ListPackageVersionAssetsRequestT& request, const ListPackageVersionAssetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::ListPackageVersionAssets, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::ListPackageVersionDependenciesOutcome ListPackageVersionDependencies(const Model::ListPackageVersionDependenciesRequest& request) const;
/**
* A Callable wrapper for ListPackageVersionDependencies that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListPackageVersionDependenciesOutcomeCallable ListPackageVersionDependenciesCallable(const ListPackageVersionDependenciesRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::ListPackageVersionDependencies, request);
}
/**
* An Async wrapper for ListPackageVersionDependencies that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListPackageVersionDependenciesAsync(const ListPackageVersionDependenciesRequestT& request, const ListPackageVersionDependenciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::ListPackageVersionDependencies, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::ListPackageVersionsOutcome ListPackageVersions(const Model::ListPackageVersionsRequest& request) const;
/**
* A Callable wrapper for ListPackageVersions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListPackageVersionsOutcomeCallable ListPackageVersionsCallable(const ListPackageVersionsRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::ListPackageVersions, request);
}
/**
* An Async wrapper for ListPackageVersions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListPackageVersionsAsync(const ListPackageVersionsRequestT& request, const ListPackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::ListPackageVersions, request, handler, context);
}
/**
* Returns a list of PackageSummary
* objects for packages in a repository that match the request parameters.
*
See Also:
AWS
* API Reference
*/
virtual Model::ListPackagesOutcome ListPackages(const Model::ListPackagesRequest& request) const;
/**
* A Callable wrapper for ListPackages that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListPackagesOutcomeCallable ListPackagesCallable(const ListPackagesRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::ListPackages, request);
}
/**
* An Async wrapper for ListPackages that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListPackagesAsync(const ListPackagesRequestT& request, const ListPackagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::ListPackages, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::ListRepositoriesOutcome ListRepositories(const Model::ListRepositoriesRequest& request) const;
/**
* A Callable wrapper for ListRepositories that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListRepositoriesOutcomeCallable ListRepositoriesCallable(const ListRepositoriesRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::ListRepositories, request);
}
/**
* An Async wrapper for ListRepositories that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListRepositoriesAsync(const ListRepositoriesRequestT& request, const ListRepositoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::ListRepositories, request, handler, context);
}
/**
* Returns a list of RepositorySummary
* objects. Each RepositorySummary
contains information about a
* repository in the specified domain and that matches the input parameters.
*
See Also:
AWS
* API Reference
*/
virtual Model::ListRepositoriesInDomainOutcome ListRepositoriesInDomain(const Model::ListRepositoriesInDomainRequest& request) const;
/**
* A Callable wrapper for ListRepositoriesInDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListRepositoriesInDomainOutcomeCallable ListRepositoriesInDomainCallable(const ListRepositoriesInDomainRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::ListRepositoriesInDomain, request);
}
/**
* An Async wrapper for ListRepositoriesInDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListRepositoriesInDomainAsync(const ListRepositoriesInDomainRequestT& request, const ListRepositoriesInDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::ListRepositoriesInDomain, request, handler, context);
}
/**
* Gets information about Amazon Web Services tags for a specified Amazon
* Resource Name (ARN) in CodeArtifact.
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::ListTagsForResource, request, handler, context);
}
/**
* 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.
* See Also:
AWS
* API Reference
*/
virtual Model::PublishPackageVersionOutcome PublishPackageVersion(const Model::PublishPackageVersionRequest& request) const;
/**
* A Callable wrapper for PublishPackageVersion that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PublishPackageVersionOutcomeCallable PublishPackageVersionCallable(const PublishPackageVersionRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::PublishPackageVersion, request);
}
/**
* An Async wrapper for PublishPackageVersion that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PublishPackageVersionAsync(const PublishPackageVersionRequestT& request, const PublishPackageVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::PublishPackageVersion, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::PutDomainPermissionsPolicyOutcome PutDomainPermissionsPolicy(const Model::PutDomainPermissionsPolicyRequest& request) const;
/**
* A Callable wrapper for PutDomainPermissionsPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutDomainPermissionsPolicyOutcomeCallable PutDomainPermissionsPolicyCallable(const PutDomainPermissionsPolicyRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::PutDomainPermissionsPolicy, request);
}
/**
* An Async wrapper for PutDomainPermissionsPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutDomainPermissionsPolicyAsync(const PutDomainPermissionsPolicyRequestT& request, const PutDomainPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::PutDomainPermissionsPolicy, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::PutPackageOriginConfigurationOutcome PutPackageOriginConfiguration(const Model::PutPackageOriginConfigurationRequest& request) const;
/**
* A Callable wrapper for PutPackageOriginConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutPackageOriginConfigurationOutcomeCallable PutPackageOriginConfigurationCallable(const PutPackageOriginConfigurationRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::PutPackageOriginConfiguration, request);
}
/**
* An Async wrapper for PutPackageOriginConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutPackageOriginConfigurationAsync(const PutPackageOriginConfigurationRequestT& request, const PutPackageOriginConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::PutPackageOriginConfiguration, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::PutRepositoryPermissionsPolicyOutcome PutRepositoryPermissionsPolicy(const Model::PutRepositoryPermissionsPolicyRequest& request) const;
/**
* A Callable wrapper for PutRepositoryPermissionsPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutRepositoryPermissionsPolicyOutcomeCallable PutRepositoryPermissionsPolicyCallable(const PutRepositoryPermissionsPolicyRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::PutRepositoryPermissionsPolicy, request);
}
/**
* An Async wrapper for PutRepositoryPermissionsPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutRepositoryPermissionsPolicyAsync(const PutRepositoryPermissionsPolicyRequestT& request, const PutRepositoryPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::PutRepositoryPermissionsPolicy, request, handler, context);
}
/**
* Adds or updates tags for a resource in CodeArtifact.
See Also:
* AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::TagResource, request, handler, context);
}
/**
* Removes tags from a resource in CodeArtifact.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::UntagResource, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::UpdatePackageVersionsStatusOutcome UpdatePackageVersionsStatus(const Model::UpdatePackageVersionsStatusRequest& request) const;
/**
* A Callable wrapper for UpdatePackageVersionsStatus that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdatePackageVersionsStatusOutcomeCallable UpdatePackageVersionsStatusCallable(const UpdatePackageVersionsStatusRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::UpdatePackageVersionsStatus, request);
}
/**
* An Async wrapper for UpdatePackageVersionsStatus that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdatePackageVersionsStatusAsync(const UpdatePackageVersionsStatusRequestT& request, const UpdatePackageVersionsStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::UpdatePackageVersionsStatus, request, handler, context);
}
/**
* Update the properties of a repository.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateRepositoryOutcome UpdateRepository(const Model::UpdateRepositoryRequest& request) const;
/**
* A Callable wrapper for UpdateRepository that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateRepositoryOutcomeCallable UpdateRepositoryCallable(const UpdateRepositoryRequestT& request) const
{
return SubmitCallable(&CodeArtifactClient::UpdateRepository, request);
}
/**
* An Async wrapper for UpdateRepository that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateRepositoryAsync(const UpdateRepositoryRequestT& request, const UpdateRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CodeArtifactClient::UpdateRepository, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const CodeArtifactClientConfiguration& clientConfiguration);
CodeArtifactClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace CodeArtifact
} // namespace Aws