/** * 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:

    • 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.

*/ 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