/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace CodeArtifact { namespace Model { class AssociateExternalConnectionRequest; class CopyPackageVersionsRequest; class CreateDomainRequest; class CreateRepositoryRequest; class DeleteDomainRequest; class DeleteDomainPermissionsPolicyRequest; class DeletePackageVersionsRequest; class DeleteRepositoryRequest; class DeleteRepositoryPermissionsPolicyRequest; class DescribeDomainRequest; class DescribePackageVersionRequest; class DescribeRepositoryRequest; class DisassociateExternalConnectionRequest; class DisposePackageVersionsRequest; class GetAuthorizationTokenRequest; class GetDomainPermissionsPolicyRequest; class GetPackageVersionAssetRequest; class GetPackageVersionReadmeRequest; class GetRepositoryEndpointRequest; class GetRepositoryPermissionsPolicyRequest; class ListDomainsRequest; class ListPackageVersionAssetsRequest; class ListPackageVersionDependenciesRequest; class ListPackageVersionsRequest; class ListPackagesRequest; class ListRepositoriesRequest; class ListRepositoriesInDomainRequest; class PutDomainPermissionsPolicyRequest; class PutRepositoryPermissionsPolicyRequest; class UpdatePackageVersionsStatusRequest; class UpdateRepositoryRequest; typedef Aws::Utils::Outcome AssociateExternalConnectionOutcome; typedef Aws::Utils::Outcome CopyPackageVersionsOutcome; typedef Aws::Utils::Outcome CreateDomainOutcome; typedef Aws::Utils::Outcome CreateRepositoryOutcome; typedef Aws::Utils::Outcome DeleteDomainOutcome; typedef Aws::Utils::Outcome DeleteDomainPermissionsPolicyOutcome; typedef Aws::Utils::Outcome DeletePackageVersionsOutcome; typedef Aws::Utils::Outcome DeleteRepositoryOutcome; typedef Aws::Utils::Outcome DeleteRepositoryPermissionsPolicyOutcome; typedef Aws::Utils::Outcome DescribeDomainOutcome; typedef Aws::Utils::Outcome DescribePackageVersionOutcome; typedef Aws::Utils::Outcome DescribeRepositoryOutcome; typedef Aws::Utils::Outcome DisassociateExternalConnectionOutcome; typedef Aws::Utils::Outcome DisposePackageVersionsOutcome; typedef Aws::Utils::Outcome GetAuthorizationTokenOutcome; typedef Aws::Utils::Outcome GetDomainPermissionsPolicyOutcome; typedef Aws::Utils::Outcome GetPackageVersionAssetOutcome; typedef Aws::Utils::Outcome GetPackageVersionReadmeOutcome; typedef Aws::Utils::Outcome GetRepositoryEndpointOutcome; typedef Aws::Utils::Outcome GetRepositoryPermissionsPolicyOutcome; typedef Aws::Utils::Outcome ListDomainsOutcome; typedef Aws::Utils::Outcome ListPackageVersionAssetsOutcome; typedef Aws::Utils::Outcome ListPackageVersionDependenciesOutcome; typedef Aws::Utils::Outcome ListPackageVersionsOutcome; typedef Aws::Utils::Outcome ListPackagesOutcome; typedef Aws::Utils::Outcome ListRepositoriesOutcome; typedef Aws::Utils::Outcome ListRepositoriesInDomainOutcome; typedef Aws::Utils::Outcome PutDomainPermissionsPolicyOutcome; typedef Aws::Utils::Outcome PutRepositoryPermissionsPolicyOutcome; typedef Aws::Utils::Outcome UpdatePackageVersionsStatusOutcome; typedef Aws::Utils::Outcome UpdateRepositoryOutcome; typedef std::future AssociateExternalConnectionOutcomeCallable; typedef std::future CopyPackageVersionsOutcomeCallable; typedef std::future CreateDomainOutcomeCallable; typedef std::future CreateRepositoryOutcomeCallable; typedef std::future DeleteDomainOutcomeCallable; typedef std::future DeleteDomainPermissionsPolicyOutcomeCallable; typedef std::future DeletePackageVersionsOutcomeCallable; typedef std::future DeleteRepositoryOutcomeCallable; typedef std::future DeleteRepositoryPermissionsPolicyOutcomeCallable; typedef std::future DescribeDomainOutcomeCallable; typedef std::future DescribePackageVersionOutcomeCallable; typedef std::future DescribeRepositoryOutcomeCallable; typedef std::future DisassociateExternalConnectionOutcomeCallable; typedef std::future DisposePackageVersionsOutcomeCallable; typedef std::future GetAuthorizationTokenOutcomeCallable; typedef std::future GetDomainPermissionsPolicyOutcomeCallable; typedef std::future GetPackageVersionAssetOutcomeCallable; typedef std::future GetPackageVersionReadmeOutcomeCallable; typedef std::future GetRepositoryEndpointOutcomeCallable; typedef std::future GetRepositoryPermissionsPolicyOutcomeCallable; typedef std::future ListDomainsOutcomeCallable; typedef std::future ListPackageVersionAssetsOutcomeCallable; typedef std::future ListPackageVersionDependenciesOutcomeCallable; typedef std::future ListPackageVersionsOutcomeCallable; typedef std::future ListPackagesOutcomeCallable; typedef std::future ListRepositoriesOutcomeCallable; typedef std::future ListRepositoriesInDomainOutcomeCallable; typedef std::future PutDomainPermissionsPolicyOutcomeCallable; typedef std::future PutRepositoryPermissionsPolicyOutcomeCallable; typedef std::future UpdatePackageVersionsStatusOutcomeCallable; typedef std::future UpdateRepositoryOutcomeCallable; } // namespace Model class CodeArtifactClient; typedef std::function&) > AssociateExternalConnectionResponseReceivedHandler; typedef std::function&) > CopyPackageVersionsResponseReceivedHandler; typedef std::function&) > CreateDomainResponseReceivedHandler; typedef std::function&) > CreateRepositoryResponseReceivedHandler; typedef std::function&) > DeleteDomainResponseReceivedHandler; typedef std::function&) > DeleteDomainPermissionsPolicyResponseReceivedHandler; typedef std::function&) > DeletePackageVersionsResponseReceivedHandler; typedef std::function&) > DeleteRepositoryResponseReceivedHandler; typedef std::function&) > DeleteRepositoryPermissionsPolicyResponseReceivedHandler; typedef std::function&) > DescribeDomainResponseReceivedHandler; typedef std::function&) > DescribePackageVersionResponseReceivedHandler; typedef std::function&) > DescribeRepositoryResponseReceivedHandler; typedef std::function&) > DisassociateExternalConnectionResponseReceivedHandler; typedef std::function&) > DisposePackageVersionsResponseReceivedHandler; typedef std::function&) > GetAuthorizationTokenResponseReceivedHandler; typedef std::function&) > GetDomainPermissionsPolicyResponseReceivedHandler; typedef std::function&) > GetPackageVersionAssetResponseReceivedHandler; typedef std::function&) > GetPackageVersionReadmeResponseReceivedHandler; typedef std::function&) > GetRepositoryEndpointResponseReceivedHandler; typedef std::function&) > GetRepositoryPermissionsPolicyResponseReceivedHandler; typedef std::function&) > ListDomainsResponseReceivedHandler; typedef std::function&) > ListPackageVersionAssetsResponseReceivedHandler; typedef std::function&) > ListPackageVersionDependenciesResponseReceivedHandler; typedef std::function&) > ListPackageVersionsResponseReceivedHandler; typedef std::function&) > ListPackagesResponseReceivedHandler; typedef std::function&) > ListRepositoriesResponseReceivedHandler; typedef std::function&) > ListRepositoriesInDomainResponseReceivedHandler; typedef std::function&) > PutDomainPermissionsPolicyResponseReceivedHandler; typedef std::function&) > PutRepositoryPermissionsPolicyResponseReceivedHandler; typedef std::function&) > UpdatePackageVersionsStatusResponseReceivedHandler; typedef std::function&) > UpdateRepositoryResponseReceivedHandler; /** *

AWS CodeArtifact is a fully managed artifact repository compatible with * language-native package managers and build tools such as npm, Apache Maven, and * pip. 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.

AWS 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 ), and pip . You can create up to 100 * repositories per AWS account.

  • 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 AWS Key Management Service (AWS 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, * and Maven * 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.

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

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

    • npm

    • * pypi

    • maven

  • *
  • 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 AWS * account that called this method.

  • * ListRepositoriesInDomain: Returns a list of the repositories in a * domain.

  • PutDomainPermissionsPolicy: Attaches a * resource policy to a domain.

  • * 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: typedef Aws::Client::AWSJsonClient BASECLASS; /** * 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 = Aws::Client::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 = Aws::Client::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 = Aws::Client::ClientConfiguration()); 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; /** *

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AssociateExternalConnectionOutcomeCallable AssociateExternalConnectionCallable(const Model::AssociateExternalConnectionRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AssociateExternalConnectionAsync(const Model::AssociateExternalConnectionRequest& request, const AssociateExternalConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CopyPackageVersionsOutcomeCallable CopyPackageVersionsCallable(const Model::CopyPackageVersionsRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CopyPackageVersionsAsync(const Model::CopyPackageVersionsRequest& request, const CopyPackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

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 AWS 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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateDomainOutcomeCallable CreateDomainCallable(const Model::CreateDomainRequest& request) const; /** *

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 AWS 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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateDomainAsync(const Model::CreateDomainRequest& request, const CreateDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a repository.

See Also:

AWS * API Reference

*/ virtual Model::CreateRepositoryOutcome CreateRepository(const Model::CreateRepositoryRequest& request) const; /** *

Creates a repository.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateRepositoryOutcomeCallable CreateRepositoryCallable(const Model::CreateRepositoryRequest& request) const; /** *

Creates a repository.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateRepositoryAsync(const Model::CreateRepositoryRequest& request, const CreateRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteDomainOutcomeCallable DeleteDomainCallable(const Model::DeleteDomainRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteDomainAsync(const Model::DeleteDomainRequest& request, const DeleteDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the resource policy set on a domain.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDomainPermissionsPolicyOutcome DeleteDomainPermissionsPolicy(const Model::DeleteDomainPermissionsPolicyRequest& request) const; /** *

Deletes the resource policy set on a domain.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteDomainPermissionsPolicyOutcomeCallable DeleteDomainPermissionsPolicyCallable(const Model::DeleteDomainPermissionsPolicyRequest& request) const; /** *

Deletes the resource policy set on a domain.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteDomainPermissionsPolicyAsync(const Model::DeleteDomainPermissionsPolicyRequest& request, const DeleteDomainPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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, ListackageVersions * ), but you can restore them using UpdatePackageVersionsStatus * .

See Also:

AWS * API Reference

*/ virtual Model::DeletePackageVersionsOutcome DeletePackageVersions(const Model::DeletePackageVersionsRequest& request) const; /** *

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, ListackageVersions * ), but you can restore them using UpdatePackageVersionsStatus * .

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeletePackageVersionsOutcomeCallable DeletePackageVersionsCallable(const Model::DeletePackageVersionsRequest& request) const; /** *

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, ListackageVersions * ), but you can restore them using UpdatePackageVersionsStatus * .

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeletePackageVersionsAsync(const Model::DeletePackageVersionsRequest& request, const DeletePackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a repository.

See Also:

AWS * API Reference

*/ virtual Model::DeleteRepositoryOutcome DeleteRepository(const Model::DeleteRepositoryRequest& request) const; /** *

Deletes a repository.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteRepositoryOutcomeCallable DeleteRepositoryCallable(const Model::DeleteRepositoryRequest& request) const; /** *

Deletes a repository.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteRepositoryAsync(const Model::DeleteRepositoryRequest& request, const DeleteRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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, AWS 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; /** *

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, AWS users, roles, and accounts lose permissions to * perform the repository actions granted by the deleted policy.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteRepositoryPermissionsPolicyOutcomeCallable DeleteRepositoryPermissionsPolicyCallable(const Model::DeleteRepositoryPermissionsPolicyRequest& request) const; /** *

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, AWS users, roles, and accounts lose permissions to * perform the repository actions granted by the deleted policy.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteRepositoryPermissionsPolicyAsync(const Model::DeleteRepositoryPermissionsPolicyRequest& request, const DeleteRepositoryPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

Returns a * DomainDescription object that contains information about the * requested domain.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeDomainOutcomeCallable DescribeDomainCallable(const Model::DescribeDomainRequest& request) const; /** *

Returns a * DomainDescription object that contains information about the * requested domain.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeDomainAsync(const Model::DescribeDomainRequest& request, const DescribeDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

Returns a * PackageVersionDescription object that contains information * about the requested package version.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribePackageVersionOutcomeCallable DescribePackageVersionCallable(const Model::DescribePackageVersionRequest& request) const; /** *

Returns a * PackageVersionDescription object that contains information * about the requested package version.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribePackageVersionAsync(const Model::DescribePackageVersionRequest& request, const DescribePackageVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

Returns a RepositoryDescription object that contains detailed * information about the requested repository.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeRepositoryOutcomeCallable DescribeRepositoryCallable(const Model::DescribeRepositoryRequest& request) const; /** *

Returns a RepositoryDescription object that contains detailed * information about the requested repository.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeRepositoryAsync(const Model::DescribeRepositoryRequest& request, const DescribeRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes an existing external connection from a repository.

See * Also:

AWS * API Reference

*/ virtual Model::DisassociateExternalConnectionOutcome DisassociateExternalConnection(const Model::DisassociateExternalConnectionRequest& request) const; /** *

Removes an existing external connection from a repository.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateExternalConnectionOutcomeCallable DisassociateExternalConnectionCallable(const Model::DisassociateExternalConnectionRequest& request) const; /** *

Removes an existing external connection from a repository.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateExternalConnectionAsync(const Model::DisassociateExternalConnectionRequest& request, const DisassociateExternalConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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 ListackageVersions * and set the status * parameter to Disposed.

To view information about a * disposed package version, use ListPackageVersions * and set the status * parameter to Disposed.

See Also:

AWS * API Reference

*/ virtual Model::DisposePackageVersionsOutcome DisposePackageVersions(const Model::DisposePackageVersionsRequest& request) const; /** *

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 ListackageVersions * and set the status * parameter to Disposed.

To view information about a * disposed package version, use ListPackageVersions * and set the status * parameter to Disposed.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisposePackageVersionsOutcomeCallable DisposePackageVersionsCallable(const Model::DisposePackageVersionsRequest& request) const; /** *

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 ListackageVersions * and set the status * parameter to Disposed.

To view information about a * disposed package version, use ListPackageVersions * and set the status * parameter to Disposed.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisposePackageVersionsAsync(const Model::DisposePackageVersionsRequest& request, const DisposePackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Generates a temporary authentication token for accessing repositories in the * domain. This API requires the codeartifact:GetAuthorizationToken * and sts:GetServiceBearerToken permissions.

*

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

Generates a temporary authentication token for accessing repositories in the * domain. This API requires the codeartifact:GetAuthorizationToken * and sts:GetServiceBearerToken permissions.

*

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetAuthorizationTokenOutcomeCallable GetAuthorizationTokenCallable(const Model::GetAuthorizationTokenRequest& request) const; /** *

Generates a temporary authentication token for accessing repositories in the * domain. This API requires the codeartifact:GetAuthorizationToken * and sts:GetServiceBearerToken permissions.

*

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetAuthorizationTokenAsync(const Model::GetAuthorizationTokenRequest& request, const GetAuthorizationTokenResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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 AWS Identity and Access * Management User Guide.

See Also:

AWS * API Reference

*/ virtual Model::GetDomainPermissionsPolicyOutcome GetDomainPermissionsPolicy(const Model::GetDomainPermissionsPolicyRequest& request) const; /** *

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 AWS Identity and Access * Management User Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetDomainPermissionsPolicyOutcomeCallable GetDomainPermissionsPolicyCallable(const Model::GetDomainPermissionsPolicyRequest& request) const; /** *

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 AWS Identity and Access * Management User Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetDomainPermissionsPolicyAsync(const Model::GetDomainPermissionsPolicyRequest& request, const GetDomainPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetPackageVersionAssetOutcomeCallable GetPackageVersionAssetCallable(const Model::GetPackageVersionAssetRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetPackageVersionAssetAsync(const Model::GetPackageVersionAssetRequest& request, const GetPackageVersionAssetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the readme file or descriptive text for a package version. For packages * that do not contain a readme file, CodeArtifact extracts a description from a * metadata file. For example, from the <description> element in * the pom.xml file of a Maven package.

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

Gets the readme file or descriptive text for a package version. For packages * that do not contain a readme file, CodeArtifact extracts a description from a * metadata file. For example, from the <description> element in * the pom.xml file of a Maven package.

The returned text * might contain formatting. For example, it might contain formatting for Markdown * or reStructuredText.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetPackageVersionReadmeOutcomeCallable GetPackageVersionReadmeCallable(const Model::GetPackageVersionReadmeRequest& request) const; /** *

Gets the readme file or descriptive text for a package version. For packages * that do not contain a readme file, CodeArtifact extracts a description from a * metadata file. For example, from the <description> element in * the pom.xml file of a Maven package.

The returned text * might contain formatting. For example, it might contain formatting for Markdown * or reStructuredText.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetPackageVersionReadmeAsync(const Model::GetPackageVersionReadmeRequest& request, const GetPackageVersionReadmeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the endpoint of a repository for a specific package format. A * repository has one endpoint for each package format:

  • * npm

  • pypi

  • * maven

See Also:

AWS * API Reference

*/ virtual Model::GetRepositoryEndpointOutcome GetRepositoryEndpoint(const Model::GetRepositoryEndpointRequest& request) const; /** *

Returns the endpoint of a repository for a specific package format. A * repository has one endpoint for each package format:

  • * npm

  • pypi

  • * maven

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetRepositoryEndpointOutcomeCallable GetRepositoryEndpointCallable(const Model::GetRepositoryEndpointRequest& request) const; /** *

Returns the endpoint of a repository for a specific package format. A * repository has one endpoint for each package format:

  • * npm

  • pypi

  • * maven

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetRepositoryEndpointAsync(const Model::GetRepositoryEndpointRequest& request, const GetRepositoryEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the resource policy that is set on a repository.

See * Also:

AWS * API Reference

*/ virtual Model::GetRepositoryPermissionsPolicyOutcome GetRepositoryPermissionsPolicy(const Model::GetRepositoryPermissionsPolicyRequest& request) const; /** *

Returns the resource policy that is set on a repository.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetRepositoryPermissionsPolicyOutcomeCallable GetRepositoryPermissionsPolicyCallable(const Model::GetRepositoryPermissionsPolicyRequest& request) const; /** *

Returns the resource policy that is set on a repository.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetRepositoryPermissionsPolicyAsync(const Model::GetRepositoryPermissionsPolicyRequest& request, const GetRepositoryPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of DomainSummary * objects for all domains owned by the AWS 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; /** *

Returns a list of DomainSummary * objects for all domains owned by the AWS account that makes this call. * Each returned DomainSummary object contains information about a * domain.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListDomainsOutcomeCallable ListDomainsCallable(const Model::ListDomainsRequest& request) const; /** *

Returns a list of DomainSummary * objects for all domains owned by the AWS account that makes this call. * Each returned DomainSummary object contains information about a * domain.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListDomainsAsync(const Model::ListDomainsRequest& request, const ListDomainsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

Returns a list of * AssetSummary objects for assets in a package version. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListPackageVersionAssetsOutcomeCallable ListPackageVersionAssetsCallable(const Model::ListPackageVersionAssetsRequest& request) const; /** *

Returns a list of * AssetSummary objects for assets in a package version. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListPackageVersionAssetsAsync(const Model::ListPackageVersionAssetsRequest& request, const ListPackageVersionAssetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListPackageVersionDependenciesOutcomeCallable ListPackageVersionDependenciesCallable(const Model::ListPackageVersionDependenciesRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListPackageVersionDependenciesAsync(const Model::ListPackageVersionDependenciesRequest& request, const ListPackageVersionDependenciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of * PackageVersionSummary objects for package versions in a * repository that match the request parameters.

See Also:

AWS * API Reference

*/ virtual Model::ListPackageVersionsOutcome ListPackageVersions(const Model::ListPackageVersionsRequest& request) const; /** *

Returns a list of * PackageVersionSummary objects for package versions in a * repository that match the request parameters.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListPackageVersionsOutcomeCallable ListPackageVersionsCallable(const Model::ListPackageVersionsRequest& request) const; /** *

Returns a list of * PackageVersionSummary objects for package versions in a * repository that match the request parameters.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListPackageVersionsAsync(const Model::ListPackageVersionsRequest& request, const ListPackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

Returns a list of * PackageSummary objects for packages in a repository that match * the request parameters.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListPackagesOutcomeCallable ListPackagesCallable(const Model::ListPackagesRequest& request) const; /** *

Returns a list of * PackageSummary objects for packages in a repository that match * the request parameters.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListPackagesAsync(const Model::ListPackagesRequest& request, const ListPackagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of * RepositorySummary objects. Each RepositorySummary * contains information about a repository in the specified AWS account and that * matches the input parameters.

See Also:

AWS * API Reference

*/ virtual Model::ListRepositoriesOutcome ListRepositories(const Model::ListRepositoriesRequest& request) const; /** *

Returns a list of * RepositorySummary objects. Each RepositorySummary * contains information about a repository in the specified AWS account and that * matches the input parameters.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRepositoriesOutcomeCallable ListRepositoriesCallable(const Model::ListRepositoriesRequest& request) const; /** *

Returns a list of * RepositorySummary objects. Each RepositorySummary * contains information about a repository in the specified AWS account and that * matches the input parameters.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRepositoriesAsync(const Model::ListRepositoriesRequest& request, const ListRepositoriesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRepositoriesInDomainOutcomeCallable ListRepositoriesInDomainCallable(const Model::ListRepositoriesInDomainRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRepositoriesInDomainAsync(const Model::ListRepositoriesInDomainRequest& request, const ListRepositoriesInDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Sets a resource policy on a domain that specifies permissions to access it. *

See Also:

AWS * API Reference

*/ virtual Model::PutDomainPermissionsPolicyOutcome PutDomainPermissionsPolicy(const Model::PutDomainPermissionsPolicyRequest& request) const; /** *

Sets a resource policy on a domain that specifies permissions to access it. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutDomainPermissionsPolicyOutcomeCallable PutDomainPermissionsPolicyCallable(const Model::PutDomainPermissionsPolicyRequest& request) const; /** *

Sets a resource policy on a domain that specifies permissions to access it. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutDomainPermissionsPolicyAsync(const Model::PutDomainPermissionsPolicyRequest& request, const PutDomainPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Sets the resource policy on a repository that specifies permissions to * access it.

See Also:

AWS * API Reference

*/ virtual Model::PutRepositoryPermissionsPolicyOutcome PutRepositoryPermissionsPolicy(const Model::PutRepositoryPermissionsPolicyRequest& request) const; /** *

Sets the resource policy on a repository that specifies permissions to * access it.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutRepositoryPermissionsPolicyOutcomeCallable PutRepositoryPermissionsPolicyCallable(const Model::PutRepositoryPermissionsPolicyRequest& request) const; /** *

Sets the resource policy on a repository that specifies permissions to * access it.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutRepositoryPermissionsPolicyAsync(const Model::PutRepositoryPermissionsPolicyRequest& request, const PutRepositoryPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the status of one or more versions of a package.

See * Also:

AWS * API Reference

*/ virtual Model::UpdatePackageVersionsStatusOutcome UpdatePackageVersionsStatus(const Model::UpdatePackageVersionsStatusRequest& request) const; /** *

Updates the status of one or more versions of a package.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdatePackageVersionsStatusOutcomeCallable UpdatePackageVersionsStatusCallable(const Model::UpdatePackageVersionsStatusRequest& request) const; /** *

Updates the status of one or more versions of a package.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdatePackageVersionsStatusAsync(const Model::UpdatePackageVersionsStatusRequest& request, const UpdatePackageVersionsStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Update the properties of a repository.

See Also:

AWS * API Reference

*/ virtual Model::UpdateRepositoryOutcome UpdateRepository(const Model::UpdateRepositoryRequest& request) const; /** *

Update the properties of a repository.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateRepositoryOutcomeCallable UpdateRepositoryCallable(const Model::UpdateRepositoryRequest& request) const; /** *

Update the properties of a repository.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateRepositoryAsync(const Model::UpdateRepositoryRequest& request, const UpdateRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AssociateExternalConnectionAsyncHelper(const Model::AssociateExternalConnectionRequest& request, const AssociateExternalConnectionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CopyPackageVersionsAsyncHelper(const Model::CopyPackageVersionsRequest& request, const CopyPackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateDomainAsyncHelper(const Model::CreateDomainRequest& request, const CreateDomainResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateRepositoryAsyncHelper(const Model::CreateRepositoryRequest& request, const CreateRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteDomainAsyncHelper(const Model::DeleteDomainRequest& request, const DeleteDomainResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteDomainPermissionsPolicyAsyncHelper(const Model::DeleteDomainPermissionsPolicyRequest& request, const DeleteDomainPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeletePackageVersionsAsyncHelper(const Model::DeletePackageVersionsRequest& request, const DeletePackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteRepositoryAsyncHelper(const Model::DeleteRepositoryRequest& request, const DeleteRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteRepositoryPermissionsPolicyAsyncHelper(const Model::DeleteRepositoryPermissionsPolicyRequest& request, const DeleteRepositoryPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeDomainAsyncHelper(const Model::DescribeDomainRequest& request, const DescribeDomainResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribePackageVersionAsyncHelper(const Model::DescribePackageVersionRequest& request, const DescribePackageVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeRepositoryAsyncHelper(const Model::DescribeRepositoryRequest& request, const DescribeRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateExternalConnectionAsyncHelper(const Model::DisassociateExternalConnectionRequest& request, const DisassociateExternalConnectionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisposePackageVersionsAsyncHelper(const Model::DisposePackageVersionsRequest& request, const DisposePackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetAuthorizationTokenAsyncHelper(const Model::GetAuthorizationTokenRequest& request, const GetAuthorizationTokenResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetDomainPermissionsPolicyAsyncHelper(const Model::GetDomainPermissionsPolicyRequest& request, const GetDomainPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetPackageVersionAssetAsyncHelper(const Model::GetPackageVersionAssetRequest& request, const GetPackageVersionAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetPackageVersionReadmeAsyncHelper(const Model::GetPackageVersionReadmeRequest& request, const GetPackageVersionReadmeResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRepositoryEndpointAsyncHelper(const Model::GetRepositoryEndpointRequest& request, const GetRepositoryEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRepositoryPermissionsPolicyAsyncHelper(const Model::GetRepositoryPermissionsPolicyRequest& request, const GetRepositoryPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListDomainsAsyncHelper(const Model::ListDomainsRequest& request, const ListDomainsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListPackageVersionAssetsAsyncHelper(const Model::ListPackageVersionAssetsRequest& request, const ListPackageVersionAssetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListPackageVersionDependenciesAsyncHelper(const Model::ListPackageVersionDependenciesRequest& request, const ListPackageVersionDependenciesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListPackageVersionsAsyncHelper(const Model::ListPackageVersionsRequest& request, const ListPackageVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListPackagesAsyncHelper(const Model::ListPackagesRequest& request, const ListPackagesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRepositoriesAsyncHelper(const Model::ListRepositoriesRequest& request, const ListRepositoriesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRepositoriesInDomainAsyncHelper(const Model::ListRepositoriesInDomainRequest& request, const ListRepositoriesInDomainResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutDomainPermissionsPolicyAsyncHelper(const Model::PutDomainPermissionsPolicyRequest& request, const PutDomainPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutRepositoryPermissionsPolicyAsyncHelper(const Model::PutRepositoryPermissionsPolicyRequest& request, const PutRepositoryPermissionsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdatePackageVersionsStatusAsyncHelper(const Model::UpdatePackageVersionsStatusRequest& request, const UpdatePackageVersionsStatusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateRepositoryAsyncHelper(const Model::UpdateRepositoryRequest& request, const UpdateRepositoryResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace CodeArtifact } // namespace Aws