/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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 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, An optional namespace (for example,
* A set of
* versions (for example, Package-level metadata (for
* example, npm tags) Package version: A
* version of a package, such as 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 CodeArtifact supports these
* operations:
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
* 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.
npm CLI, the Maven CLI (
* mvn ), and pip . You can create up to 100
* repositories per AWS account.
webpack is the name of a popular npm
* package)@types in @types/node)1.0.0, 1.0.1,
* 1.0.2, etc.)@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..tgz
* file or Maven POM and JAR files.
*/
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_ptrAssociateExternalConnection: 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 domainCreateRepository: 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.See
* Also:
AWS
* API Reference
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.
Adds an existing external connection to a repository. One external connection * is allowed per repository.
A repository can have one or more * upstream repositories, or an external connection.
Copies package versions from one repository to another repository in the * same domain.
You must specify versions or
* versionRevisions. You cannot specify both.
Copies package versions from one repository to another repository in the * same domain.
You must specify versions or
* versionRevisions. You cannot specify both.
Copies package versions from one repository to another repository in the * same domain.
You must specify versions or
* versionRevisions. You cannot specify both.
Creates a domain. CodeArtifact domains make it easier to manage * multiple repositories across an organization. You can use a domain to apply * permissions across many repositories owned by different 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.
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.
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.
Creates a repository.
Creates a repository.
Creates a repository.
Deletes a domain. You cannot delete a domain that contains repositories. If * you want to delete a domain with repositories, first delete its repositories. *
Deletes a domain. You cannot delete a domain that contains repositories. If * you want to delete a domain with repositories, first delete its repositories. *
Deletes a domain. You cannot delete a domain that contains repositories. If * you want to delete a domain with repositories, first delete its repositories. *
Deletes the resource policy set on a domain.
Deletes the resource policy set on a domain.
Deletes the resource policy set on a domain.
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
* .
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
* .
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
* .
Deletes a repository.
Deletes a repository.
Deletes a repository.
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.
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.
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.
Returns a
* DomainDescription object that contains information about the
* requested domain.
Returns a
* DomainDescription object that contains information about the
* requested domain.
Returns a
* DomainDescription object that contains information about the
* requested domain.
Returns a
* PackageVersionDescription object that contains information
* about the requested package version.
Returns a
* PackageVersionDescription object that contains information
* about the requested package version.
Returns a
* PackageVersionDescription object that contains information
* about the requested package version.
Returns a RepositoryDescription object that contains detailed
* information about the requested repository.
Returns a RepositoryDescription object that contains detailed
* information about the requested repository.
Returns a RepositoryDescription object that contains detailed
* information about the requested repository.
Removes an existing external connection from a repository.
Removes an existing external connection from a repository.
Removes an existing external connection from a repository.
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.
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.
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.
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.
* 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.
* 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.
*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.
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.
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.
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.
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.
Returns an asset (or file) that is in a package. For example, for a Maven
* package version, use GetPackageVersionAsset to download a
* JAR file, a POM file, or any other assets in the
* package version.
Gets the readme file or descriptive text for a package version. 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.
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.
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.
Returns the endpoint of a repository for a specific package format. A * repository has one endpoint for each package format:
* npm
pypi
* maven
Returns the endpoint of a repository for a specific package format. A * repository has one endpoint for each package format:
* npm
pypi
* maven
Returns the endpoint of a repository for a specific package format. A * repository has one endpoint for each package format:
* npm
pypi
* maven
Returns the resource policy that is set on a repository.
Returns the resource policy that is set on a repository.
Returns the resource policy that is set on a repository.
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.
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.
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.
Returns a list of
* AssetSummary objects for assets in a package version.
*
Returns a list of
* AssetSummary objects for assets in a package version.
*
Returns a list of
* AssetSummary objects for assets in a package version.
*
Returns the direct dependencies for a package version. The dependencies are
* returned as
* PackageDependency objects. CodeArtifact extracts the
* dependencies for a package version from the metadata file for the package format
* (for example, the package.json file for npm packages and the
* pom.xml file for Maven). Any package version dependencies that are
* not listed in the configuration file are not returned.
Returns the direct dependencies for a package version. The dependencies are
* returned as
* PackageDependency objects. CodeArtifact extracts the
* dependencies for a package version from the metadata file for the package format
* (for example, the package.json file for npm packages and the
* pom.xml file for Maven). Any package version dependencies that are
* not listed in the configuration file are not returned.
Returns the direct dependencies for a package version. The dependencies are
* returned as
* PackageDependency objects. CodeArtifact extracts the
* dependencies for a package version from the metadata file for the package format
* (for example, the package.json file for npm packages and the
* pom.xml file for Maven). Any package version dependencies that are
* not listed in the configuration file are not returned.
Returns a list of
* PackageVersionSummary objects for package versions in a
* repository that match the request parameters.
Returns a list of
* PackageVersionSummary objects for package versions in a
* repository that match the request parameters.
Returns a list of
* PackageVersionSummary objects for package versions in a
* repository that match the request parameters.
Returns a list of
* PackageSummary objects for packages in a repository that match
* the request parameters.
Returns a list of
* PackageSummary objects for packages in a repository that match
* the request parameters.
Returns a list of
* PackageSummary objects for packages in a repository that match
* the request parameters.
Returns a list of
* RepositorySummary objects. Each RepositorySummary
* contains information about a repository in the specified AWS account and that
* matches the input parameters.
Returns a list of
* RepositorySummary objects. Each RepositorySummary
* contains information about a repository in the specified AWS account and that
* matches the input parameters.
Returns a list of
* RepositorySummary objects. Each RepositorySummary
* contains information about a repository in the specified AWS account and that
* matches the input parameters.
Returns a list of
* RepositorySummary objects. Each RepositorySummary
* contains information about a repository in the specified domain and that matches
* the input parameters.
Returns a list of
* RepositorySummary objects. Each RepositorySummary
* contains information about a repository in the specified domain and that matches
* the input parameters.
Returns a list of
* RepositorySummary objects. Each RepositorySummary
* contains information about a repository in the specified domain and that matches
* the input parameters.
Sets a resource policy on a domain that specifies permissions to access it. *
Sets a resource policy on a domain that specifies permissions to access it. *
Sets a resource policy on a domain that specifies permissions to access it. *
Sets the resource policy on a repository that specifies permissions to * access it.
Sets the resource policy on a repository that specifies permissions to * access it.
Sets the resource policy on a repository that specifies permissions to * access it.
Updates the status of one or more versions of a package.
Updates the status of one or more versions of a package.
Updates the status of one or more versions of a package.
Update the properties of a repository.
Update the properties of a repository.
Update the properties of a repository.