Skip to content

dispose_package_versions async

dispose_package_versions(
    domain: DomainName,
    repository: RepositoryName,
    format: PackageFormat,
    package: PackageName,
    versions: PackageVersionList,
    *,
    config_overrides: Optional[AsynccodeartifactClientConfig] = None,
    domain_owner: Optional[AccountId] = None,
    namespace: Optional[PackageNamespace] = None,
    version_revisions: Optional[PackageVersionRevisionMap] = None,
    expected_status: Optional[PackageVersionStatus] = None,
) -> DisposePackageVersionsResult

Deletes the assets in package versions and sets the package versions' status to Disposed. A disposed package version cannot be restored in your repository because its assets are deleted.

To view all disposed package versions in a repository, use ListPackageVersions and set the status parameter to Disposed.

To view information about a disposed package version, use DescribePackageVersion.

Parameters:

  • domain (DomainName) –

    The name of the domain that contains the repository you want to dispose.

  • domain_owner (Optional[AccountId], default: None ) –

    The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.

  • repository (RepositoryName) –

    The name of the repository that contains the package versions you want to dispose.

  • format (PackageFormat) –

    A format that specifies the type of package versions you want to dispose.

  • namespace (Optional[PackageNamespace], default: None ) –

    The namespace of the package versions to be disposed. The package component that specifies its namespace depends on its type. For example:

    The namespace is required when disposing package versions of the following formats:

    • Maven

    • Swift

    • generic

    • The namespace of a Maven package version is its groupId.

    • The namespace of an npm or Swift package version is its scope.

    • The namespace of a generic package is its namespace.

    • Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace.

  • package (PackageName) –

    The name of the package with the versions you want to dispose.

  • versions (PackageVersionList) –

    The versions of the package you want to dispose.

  • version_revisions (Optional[PackageVersionRevisionMap], default: None ) –

    The revisions of the package versions you want to dispose.

  • expected_status (Optional[PackageVersionStatus], default: None ) –

    The expected status of the package version to dispose.

Raises:

  • AccessDeniedException –

    The operation did not succeed because of an unauthorized access attempt.

  • ConflictException –

    The operation did not succeed because prerequisites are not met.

  • InternalServerException –

    The operation did not succeed because of an error that occurred inside CodeArtifact.

  • ResourceNotFoundException –

    The operation did not succeed because the resource requested is not found in the service.

  • ThrottlingException –

    The operation did not succeed because too many requests are sent to the service.

  • ValidationException –

    The operation did not succeed because a parameter in the request was sent with an invalid value.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_codeartifact/_services/async_codeartifact.py
async def dispose_package_versions(
    self,
    domain: "capo_codeartifact.types.domain_name.DomainName",
    repository: "capo_codeartifact.types.repository_name.RepositoryName",
    format: "capo_codeartifact.types.package_format.PackageFormat",
    package: "capo_codeartifact.types.package_name.PackageName",
    versions: "capo_codeartifact.types.package_version_list.PackageVersionList",
    *,
    config_overrides: Optional[AsynccodeartifactClientConfig] = None,
    domain_owner: Optional["capo_codeartifact.types.account_id.AccountId"] = None,
    namespace: Optional[
        "capo_codeartifact.types.package_namespace.PackageNamespace"
    ] = None,
    version_revisions: Optional[
        "capo_codeartifact.types.package_version_revision_map.PackageVersionRevisionMap"
    ] = None,
    expected_status: Optional[
        "capo_codeartifact.types.package_version_status.PackageVersionStatus"
    ] = None,
) -> "capo_codeartifact.types.dispose_package_versions_result.DisposePackageVersionsResult":
    """<p> Deletes the assets in package versions and sets the package versions' status to <code>Disposed</code>. A disposed package version cannot be restored in your repository because its assets are deleted. </p> <p> To view all disposed package versions in a repository, use <a href="https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html">ListPackageVersions</a> and set the <a href="https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersions.html#API_ListPackageVersions_RequestSyntax">status</a> parameter to <code>Disposed</code>. </p> <p> To view information about a disposed package version, use <a href="https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DescribePackageVersion.html">DescribePackageVersion</a>. </p>

    Args:
        domain: <p> The name of the domain that contains the repository you want to dispose. </p>
        domain_owner: <p> The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces. </p>
        repository: <p> The name of the repository that contains the package versions you want to dispose. </p>
        format: <p> A format that specifies the type of package versions you want to dispose. </p>
        namespace: <p>The namespace of the package versions to be disposed. The package component that specifies its namespace depends on its type. For example:</p> <note> <p>The namespace is required when disposing package versions of the following formats:</p> <ul> <li> <p>Maven</p> </li> <li> <p>Swift</p> </li> <li> <p>generic</p> </li> </ul> </note> <ul> <li> <p> The namespace of a Maven package version is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm or Swift package version is its <code>scope</code>. </p> </li> <li> <p>The namespace of a generic package is its <code>namespace</code>.</p> </li> <li> <p> Python, NuGet, Ruby, and Cargo package versions do not contain a corresponding component, package versions of those formats do not have a namespace. </p> </li> </ul>
        package: <p> The name of the package with the versions you want to dispose. </p>
        versions: <p> The versions of the package you want to dispose. </p>
        version_revisions: <p> The revisions of the package versions you want to dispose. </p>
        expected_status: <p> The expected status of the package version to dispose. </p>

    Raises:
        capo_codeartifact.errors.access_denied_exception.AccessDeniedException: <p> The operation did not succeed because of an unauthorized access attempt. </p>
        capo_codeartifact.errors.conflict_exception.ConflictException: <p> The operation did not succeed because prerequisites are not met. </p>
        capo_codeartifact.errors.internal_server_exception.InternalServerException: <p> The operation did not succeed because of an error that occurred inside CodeArtifact. </p>
        capo_codeartifact.errors.resource_not_found_exception.ResourceNotFoundException: <p> The operation did not succeed because the resource requested is not found in the service. </p>
        capo_codeartifact.errors.throttling_exception.ThrottlingException: <p> The operation did not succeed because too many requests are sent to the service. </p>
        capo_codeartifact.errors.validation_exception.ValidationException: <p> The operation did not succeed because a parameter in the request was sent with an invalid value. </p>
        capo_codeartifact.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_codeartifact.types.dispose_package_versions_request.DisposePackageVersionsRequest]",
    ) -> AsyncOperationResponse[
        "capo_codeartifact.types.dispose_package_versions_result.DisposePackageVersionsResult"
    ]:
        import capo_codeartifact._operations.code_artifact_control_plane_service.dispose_package_versions

        (
            output,
            http_response,
        ) = await capo_codeartifact._operations.code_artifact_control_plane_service.dispose_package_versions.async_dispose_package_versions(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DisposePackageVersions")
    )
    input_: capo_codeartifact.types.dispose_package_versions_request.DisposePackageVersionsRequest = {
        "domain": domain,
        "repository": repository,
        "format": format,
        "package": package,
        "versions": versions,
    }
    if domain_owner is not None:
        input_["domain_owner"] = domain_owner
    if namespace is not None:
        input_["namespace"] = namespace
    if version_revisions is not None:
        input_["version_revisions"] = version_revisions
    if expected_status is not None:
        input_["expected_status"] = expected_status

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output