{-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Amazonka.CodeArtifact -- Copyright : (c) 2013-2021 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Derived from API version @2018-09-22@ of the AWS service descriptions, licensed under Apache 2.0. -- -- 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 -- <https://docs.aws.amazon.com/codeartifact/latest/ug/welcome.html#welcome-concepts-package-version 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@__ . -- -- - __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 -- <https://docs.aws.amazon.com/codeartifact/latest/ug/using-npm.html npm>, -- <https://docs.aws.amazon.com/codeartifact/latest/ug/using-python.html PyPI>, -- and -- <https://docs.aws.amazon.com/codeartifact/latest/ug/using-maven 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 -- <https://semver.org/ 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 -- <https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionDescription.html 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. module Amazonka.CodeArtifact ( -- * Service Configuration defaultService, -- * Errors -- $errors -- ** ValidationException _ValidationException, -- ** AccessDeniedException _AccessDeniedException, -- ** ConflictException _ConflictException, -- ** ServiceQuotaExceededException _ServiceQuotaExceededException, -- ** ThrottlingException _ThrottlingException, -- ** InternalServerException _InternalServerException, -- ** ResourceNotFoundException _ResourceNotFoundException, -- * Waiters -- $waiters -- * Operations -- $operations -- ** DisposePackageVersions DisposePackageVersions (DisposePackageVersions'), newDisposePackageVersions, DisposePackageVersionsResponse (DisposePackageVersionsResponse'), newDisposePackageVersionsResponse, -- ** GetRepositoryEndpoint GetRepositoryEndpoint (GetRepositoryEndpoint'), newGetRepositoryEndpoint, GetRepositoryEndpointResponse (GetRepositoryEndpointResponse'), newGetRepositoryEndpointResponse, -- ** ListTagsForResource ListTagsForResource (ListTagsForResource'), newListTagsForResource, ListTagsForResourceResponse (ListTagsForResourceResponse'), newListTagsForResourceResponse, -- ** ListPackageVersionDependencies ListPackageVersionDependencies (ListPackageVersionDependencies'), newListPackageVersionDependencies, ListPackageVersionDependenciesResponse (ListPackageVersionDependenciesResponse'), newListPackageVersionDependenciesResponse, -- ** ListPackages (Paginated) ListPackages (ListPackages'), newListPackages, ListPackagesResponse (ListPackagesResponse'), newListPackagesResponse, -- ** PutRepositoryPermissionsPolicy PutRepositoryPermissionsPolicy (PutRepositoryPermissionsPolicy'), newPutRepositoryPermissionsPolicy, PutRepositoryPermissionsPolicyResponse (PutRepositoryPermissionsPolicyResponse'), newPutRepositoryPermissionsPolicyResponse, -- ** DeleteRepositoryPermissionsPolicy DeleteRepositoryPermissionsPolicy (DeleteRepositoryPermissionsPolicy'), newDeleteRepositoryPermissionsPolicy, DeleteRepositoryPermissionsPolicyResponse (DeleteRepositoryPermissionsPolicyResponse'), newDeleteRepositoryPermissionsPolicyResponse, -- ** GetDomainPermissionsPolicy GetDomainPermissionsPolicy (GetDomainPermissionsPolicy'), newGetDomainPermissionsPolicy, GetDomainPermissionsPolicyResponse (GetDomainPermissionsPolicyResponse'), newGetDomainPermissionsPolicyResponse, -- ** ListRepositories (Paginated) ListRepositories (ListRepositories'), newListRepositories, ListRepositoriesResponse (ListRepositoriesResponse'), newListRepositoriesResponse, -- ** UpdatePackageVersionsStatus UpdatePackageVersionsStatus (UpdatePackageVersionsStatus'), newUpdatePackageVersionsStatus, UpdatePackageVersionsStatusResponse (UpdatePackageVersionsStatusResponse'), newUpdatePackageVersionsStatusResponse, -- ** CreateRepository CreateRepository (CreateRepository'), newCreateRepository, CreateRepositoryResponse (CreateRepositoryResponse'), newCreateRepositoryResponse, -- ** GetPackageVersionAsset GetPackageVersionAsset (GetPackageVersionAsset'), newGetPackageVersionAsset, GetPackageVersionAssetResponse (GetPackageVersionAssetResponse'), newGetPackageVersionAssetResponse, -- ** ListRepositoriesInDomain (Paginated) ListRepositoriesInDomain (ListRepositoriesInDomain'), newListRepositoriesInDomain, ListRepositoriesInDomainResponse (ListRepositoriesInDomainResponse'), newListRepositoriesInDomainResponse, -- ** PutDomainPermissionsPolicy PutDomainPermissionsPolicy (PutDomainPermissionsPolicy'), newPutDomainPermissionsPolicy, PutDomainPermissionsPolicyResponse (PutDomainPermissionsPolicyResponse'), newPutDomainPermissionsPolicyResponse, -- ** DeleteDomainPermissionsPolicy DeleteDomainPermissionsPolicy (DeleteDomainPermissionsPolicy'), newDeleteDomainPermissionsPolicy, DeleteDomainPermissionsPolicyResponse (DeleteDomainPermissionsPolicyResponse'), newDeleteDomainPermissionsPolicyResponse, -- ** GetPackageVersionReadme GetPackageVersionReadme (GetPackageVersionReadme'), newGetPackageVersionReadme, GetPackageVersionReadmeResponse (GetPackageVersionReadmeResponse'), newGetPackageVersionReadmeResponse, -- ** CreateDomain CreateDomain (CreateDomain'), newCreateDomain, CreateDomainResponse (CreateDomainResponse'), newCreateDomainResponse, -- ** GetRepositoryPermissionsPolicy GetRepositoryPermissionsPolicy (GetRepositoryPermissionsPolicy'), newGetRepositoryPermissionsPolicy, GetRepositoryPermissionsPolicyResponse (GetRepositoryPermissionsPolicyResponse'), newGetRepositoryPermissionsPolicyResponse, -- ** AssociateExternalConnection AssociateExternalConnection (AssociateExternalConnection'), newAssociateExternalConnection, AssociateExternalConnectionResponse (AssociateExternalConnectionResponse'), newAssociateExternalConnectionResponse, -- ** DescribeRepository DescribeRepository (DescribeRepository'), newDescribeRepository, DescribeRepositoryResponse (DescribeRepositoryResponse'), newDescribeRepositoryResponse, -- ** DeletePackageVersions DeletePackageVersions (DeletePackageVersions'), newDeletePackageVersions, DeletePackageVersionsResponse (DeletePackageVersionsResponse'), newDeletePackageVersionsResponse, -- ** DescribeDomain DescribeDomain (DescribeDomain'), newDescribeDomain, DescribeDomainResponse (DescribeDomainResponse'), newDescribeDomainResponse, -- ** DescribePackageVersion DescribePackageVersion (DescribePackageVersion'), newDescribePackageVersion, DescribePackageVersionResponse (DescribePackageVersionResponse'), newDescribePackageVersionResponse, -- ** TagResource TagResource (TagResource'), newTagResource, TagResourceResponse (TagResourceResponse'), newTagResourceResponse, -- ** UntagResource UntagResource (UntagResource'), newUntagResource, UntagResourceResponse (UntagResourceResponse'), newUntagResourceResponse, -- ** DeleteRepository DeleteRepository (DeleteRepository'), newDeleteRepository, DeleteRepositoryResponse (DeleteRepositoryResponse'), newDeleteRepositoryResponse, -- ** UpdateRepository UpdateRepository (UpdateRepository'), newUpdateRepository, UpdateRepositoryResponse (UpdateRepositoryResponse'), newUpdateRepositoryResponse, -- ** CopyPackageVersions CopyPackageVersions (CopyPackageVersions'), newCopyPackageVersions, CopyPackageVersionsResponse (CopyPackageVersionsResponse'), newCopyPackageVersionsResponse, -- ** GetAuthorizationToken GetAuthorizationToken (GetAuthorizationToken'), newGetAuthorizationToken, GetAuthorizationTokenResponse (GetAuthorizationTokenResponse'), newGetAuthorizationTokenResponse, -- ** DisassociateExternalConnection DisassociateExternalConnection (DisassociateExternalConnection'), newDisassociateExternalConnection, DisassociateExternalConnectionResponse (DisassociateExternalConnectionResponse'), newDisassociateExternalConnectionResponse, -- ** DeleteDomain DeleteDomain (DeleteDomain'), newDeleteDomain, DeleteDomainResponse (DeleteDomainResponse'), newDeleteDomainResponse, -- ** ListDomains (Paginated) ListDomains (ListDomains'), newListDomains, ListDomainsResponse (ListDomainsResponse'), newListDomainsResponse, -- ** ListPackageVersions (Paginated) ListPackageVersions (ListPackageVersions'), newListPackageVersions, ListPackageVersionsResponse (ListPackageVersionsResponse'), newListPackageVersionsResponse, -- ** ListPackageVersionAssets (Paginated) ListPackageVersionAssets (ListPackageVersionAssets'), newListPackageVersionAssets, ListPackageVersionAssetsResponse (ListPackageVersionAssetsResponse'), newListPackageVersionAssetsResponse, -- * Types -- ** DomainStatus DomainStatus (..), -- ** ExternalConnectionStatus ExternalConnectionStatus (..), -- ** HashAlgorithm HashAlgorithm (..), -- ** PackageFormat PackageFormat (..), -- ** PackageVersionErrorCode PackageVersionErrorCode (..), -- ** PackageVersionSortType PackageVersionSortType (..), -- ** PackageVersionStatus PackageVersionStatus (..), -- ** AssetSummary AssetSummary (AssetSummary'), newAssetSummary, -- ** DomainDescription DomainDescription (DomainDescription'), newDomainDescription, -- ** DomainSummary DomainSummary (DomainSummary'), newDomainSummary, -- ** LicenseInfo LicenseInfo (LicenseInfo'), newLicenseInfo, -- ** PackageDependency PackageDependency (PackageDependency'), newPackageDependency, -- ** PackageSummary PackageSummary (PackageSummary'), newPackageSummary, -- ** PackageVersionDescription PackageVersionDescription (PackageVersionDescription'), newPackageVersionDescription, -- ** PackageVersionError PackageVersionError (PackageVersionError'), newPackageVersionError, -- ** PackageVersionSummary PackageVersionSummary (PackageVersionSummary'), newPackageVersionSummary, -- ** RepositoryDescription RepositoryDescription (RepositoryDescription'), newRepositoryDescription, -- ** RepositoryExternalConnectionInfo RepositoryExternalConnectionInfo (RepositoryExternalConnectionInfo'), newRepositoryExternalConnectionInfo, -- ** RepositorySummary RepositorySummary (RepositorySummary'), newRepositorySummary, -- ** ResourcePolicy ResourcePolicy (ResourcePolicy'), newResourcePolicy, -- ** SuccessfulPackageVersionInfo SuccessfulPackageVersionInfo (SuccessfulPackageVersionInfo'), newSuccessfulPackageVersionInfo, -- ** Tag Tag (Tag'), newTag, -- ** UpstreamRepository UpstreamRepository (UpstreamRepository'), newUpstreamRepository, -- ** UpstreamRepositoryInfo UpstreamRepositoryInfo (UpstreamRepositoryInfo'), newUpstreamRepositoryInfo, ) where import Amazonka.CodeArtifact.AssociateExternalConnection import Amazonka.CodeArtifact.CopyPackageVersions import Amazonka.CodeArtifact.CreateDomain import Amazonka.CodeArtifact.CreateRepository import Amazonka.CodeArtifact.DeleteDomain import Amazonka.CodeArtifact.DeleteDomainPermissionsPolicy import Amazonka.CodeArtifact.DeletePackageVersions import Amazonka.CodeArtifact.DeleteRepository import Amazonka.CodeArtifact.DeleteRepositoryPermissionsPolicy import Amazonka.CodeArtifact.DescribeDomain import Amazonka.CodeArtifact.DescribePackageVersion import Amazonka.CodeArtifact.DescribeRepository import Amazonka.CodeArtifact.DisassociateExternalConnection import Amazonka.CodeArtifact.DisposePackageVersions import Amazonka.CodeArtifact.GetAuthorizationToken import Amazonka.CodeArtifact.GetDomainPermissionsPolicy import Amazonka.CodeArtifact.GetPackageVersionAsset import Amazonka.CodeArtifact.GetPackageVersionReadme import Amazonka.CodeArtifact.GetRepositoryEndpoint import Amazonka.CodeArtifact.GetRepositoryPermissionsPolicy import Amazonka.CodeArtifact.Lens import Amazonka.CodeArtifact.ListDomains import Amazonka.CodeArtifact.ListPackageVersionAssets import Amazonka.CodeArtifact.ListPackageVersionDependencies import Amazonka.CodeArtifact.ListPackageVersions import Amazonka.CodeArtifact.ListPackages import Amazonka.CodeArtifact.ListRepositories import Amazonka.CodeArtifact.ListRepositoriesInDomain import Amazonka.CodeArtifact.ListTagsForResource import Amazonka.CodeArtifact.PutDomainPermissionsPolicy import Amazonka.CodeArtifact.PutRepositoryPermissionsPolicy import Amazonka.CodeArtifact.TagResource import Amazonka.CodeArtifact.Types import Amazonka.CodeArtifact.UntagResource import Amazonka.CodeArtifact.UpdatePackageVersionsStatus import Amazonka.CodeArtifact.UpdateRepository import Amazonka.CodeArtifact.Waiters -- $errors -- Error matchers are designed for use with the functions provided by -- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>. -- This allows catching (and rethrowing) service specific errors returned -- by 'CodeArtifact'. -- $operations -- Some AWS operations return results that are incomplete and require subsequent -- requests in order to obtain the entire result set. The process of sending -- subsequent requests to continue where a previous request left off is called -- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to -- 1000 objects at a time, and you must send subsequent requests with the -- appropriate Marker in order to retrieve the next page of results. -- -- Operations that have an 'AWSPager' instance can transparently perform subsequent -- requests, correctly setting Markers and other request facets to iterate through -- the entire result set of a truncated API operation. Operations which support -- this have an additional note in the documentation. -- -- Many operations have the ability to filter results on the server side. See the -- individual operation parameters for details. -- $waiters -- Waiters poll by repeatedly sending a request until some remote success condition -- configured by the 'Wait' specification is fulfilled. The 'Wait' specification -- determines how many attempts should be made, in addition to delay and retry strategies.