

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# État de version du package de mise à jour
<a name="update-package-version-status"></a>

Chaque version de package CodeArtifact possède un statut qui décrit l'état actuel et la disponibilité de la version du package. Vous pouvez modifier l'état de la version du package à l'aide de la console AWS CLI et de la console.

**Note**  
Pour plus d'informations sur l'état de la version du package, y compris une liste des statuts disponibles, consultez[État de la version du package](packages-overview.md#package-version-status). 

## Mettre à jour le statut de version du package
<a name="updating-pv-status"></a>

La définition du statut d'une version de package permet de contrôler la manière dont une version de package peut être utilisée sans la supprimer complètement du référentiel. Par exemple, lorsqu'une version de package a le statut de`Unlisted`, elle peut toujours être téléchargée normalement, mais elle n'apparaîtra pas dans les listes de versions de package renvoyées à des commandes telles que`npm view`. L'[UpdatePackageVersionsStatus API](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageVersionsStatus.html) permet de définir l'état de version de plusieurs versions d'un même package en un seul appel d'API. Pour une description des différents statuts, voir[Vue d'ensemble des packages](packages-overview.md).

Utilisez la `update-package-versions-status` commande pour modifier le statut d'une version de package en `Published``Unlisted`, ou`Archived`. Pour connaître les autorisations IAM requises pour utiliser la commande, consultez[Autorisations IAM requises pour mettre à jour l'état de la version d'un package](#update-package-version-status-iam). L'exemple suivant définit le statut de la version 4.1.0 du package `chalk` npm sur. `Archived`

```
aws codeartifact update-package-versions-status --domain my_domain
 --domain-owner 111122223333 --repository my_repo --format npm --package chalk 
--versions 4.1.0 --target-status Archived
```

Exemple de sortie :

```
{
    "successfulVersions": {
        "4.1.0": {
            "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=",
            "status": "Archived"
        }
    },
    "failedVersions": {}
}
```

Cet exemple utilise un package npm, mais la commande fonctionne de la même manière pour les autres formats. Plusieurs versions peuvent être déplacées vers le même statut cible à l'aide d'une seule commande, voir l'exemple suivant.

```
aws codeartifact update-package-versions-status --domain my_domain
 --domain-owner 111122223333 --repository my_repo --format npm --package chalk 
--versions 4.1.0 4.1.1 --target-status Archived
```

Exemple de sortie :

```
{
    "successfulVersions": {
        "4.1.0": {
            "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=",
            "status": "Archived"
        },
        "4.1.1": {
            "revision": "+Oz8skWbwY3k8M6SrNIqNj6bVH/ax+CxvkJx+No5j8I=",
            "status": "Archived"
        }
    },
    "failedVersions": {}
}
```

Notez qu'une fois publiée, une version de package ne peut pas être replacée dans cet `Unfinished` état. Ce statut n'est donc pas autorisé en tant que valeur pour le `--target-status` paramètre. Pour déplacer la version du package vers l'`Disposed`état, utilisez plutôt la `dispose-package-versions` commande comme décrit ci-dessous.

## Autorisations IAM requises pour mettre à jour l'état de la version d'un package
<a name="update-package-version-status-iam"></a>

`update-package-versions-status`Pour demander un package, vous devez avoir l'`codeartifact:UpdatePackageVersionsStatus`autorisation d'accéder à la ressource du package. Cela signifie que vous pouvez accorder l'autorisation `update-package-versions-status` d'appeler pour chaque forfait. Par exemple, une politique IAM qui accorde l'autorisation d'appeler `update-package-versions-status` le package npm *chalk* inclurait une déclaration comme celle-ci.

```
{
  "Action": [
    "codeartifact:UpdatePackageVersionsStatus"
  ],
  "Effect": "Allow",
  "Resource": "arn:aws:codeartifact:us-east-1:111122223333:package/my_domain/my_repo/npm//chalk"
}
```

## Mise à jour de l'état d'un package npm délimité
<a name="update-package-version-status-scoped-npm"></a>

Pour mettre à jour l'état de la version du package d'une version de package npm avec une portée, utilisez le `--namespace` paramètre. Par exemple, pour annuler la liste de la version 8.0.0 de`@nestjs/core`, utilisez la commande suivante.

```
aws codeartifact update-package-versions-status --domain my_domain
 --domain-owner 111122223333 --repository my_repo --format npm --namespace nestjs 
--package core --versions 8.0.0 --target-status Unlisted
```

## Mettre à jour le statut d'un package Maven
<a name="update-package-version-status-maven"></a>

Les packages Maven ont toujours un identifiant de groupe, appelé espace de noms dans. CodeArtifact Utilisez le `--namespace` paramètre pour spécifier l'ID du groupe Maven lors de l'appel`update-package-versions-status`. Par exemple, pour archiver la version 2.13.1 du package Maven`org.apache.logging.log4j:log4j`, utilisez la commande suivante.

```
aws codeartifact update-package-versions-status --domain my_domain
 --domain-owner 111122223333 --repository my_repo --format maven 
--namespace org.apache.logging.log4j --package log4j 
--versions 2.13.1 --target-status Archived
```

## Spécification d'une révision de version de package
<a name="update-status-specify-package-version-revision"></a>

Une révision de version de package est une chaîne qui spécifie un ensemble spécifique de ressources et de métadonnées pour une version de package. Vous pouvez spécifier une révision de version de package pour mettre à jour le statut des versions de package qui se trouvent dans un état spécifique. Pour spécifier une révision de version de package, utilisez le `--version-revisions` paramètre pour transmettre une ou plusieurs versions de package séparées par des virgules et les paires de révisions de version de package. L'état d'une version de package ne sera mis à jour que si la révision actuelle de la version de package correspond à la valeur spécifiée.

**Note**  
Le `—-versions` paramètre doit également être défini lors de son `--version-revisions` utilisation.

```
aws codeartifact update-package-versions-status --domain my_domain 
   --domain-owner 111122223333 --repository my_repo --format npm --package chalk 
   --version-revisions "4.1.0=25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8bzVMJ4=" 
   --versions 4.1.0 --target-status Archived
```

Pour mettre à jour plusieurs versions à l'aide d'une seule commande, transmettez aux options une liste séparée par des virgules de paires de versions et de révisions de `--version-revisions` version. L'exemple de commande suivant définit deux paires différentes de version de package et de révision de version de package.

```
aws codeartifact update-package-versions-status --domain my_domain 
 --domain-owner 111122223333 --repository my_repo --format npm 
 --package chalk
 --version-revisions "4.1.0=25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=,4.0.0=E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc="  
 --versions 4.1.0 4.0.0 --target-status Published
```

Exemple de sortie :

```
{
    "successfulVersions": {
        "4.0.0": {
            "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=",
            "status": "Published"
        },
        "4.1.0": {
            "revision": "25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=",
            "status": "Published"
        }
    },
    "failedVersions": {}
}
```

Lors de la mise à jour de plusieurs versions de package, les versions transmises `--version-revisions` doivent être les mêmes que celles transmises`--versions`. Si une révision n'est pas spécifiée correctement, le statut de cette version ne sera pas mis à jour.

## Utilisation du paramètre d'état attendu
<a name="using-expected-status"></a>

La `update-package-versions-status` commande fournit le `--expected-status` paramètre qui permet de spécifier l'état actuel attendu d'une version de package. Si le statut actuel ne correspond pas à la valeur transmise`--expected-status`, le statut de cette version du package ne sera pas mis à jour.

Par exemple, dans*my\$1repo*, les versions 4.0.0 et 4.1.0 du package npm ont `chalk` actuellement un statut de. `Published` Un appel indiquant un statut attendu de `Unlisted` échouera à mettre à jour les deux versions du package en raison de l'incompatibilité des statuts. `update-package-versions-status`

```
aws codeartifact update-package-versions-status --domain my_domain
--domain-owner 111122223333 --repository my_repo --format npm --package chalk 
--versions 4.1.0 4.0.0 --target-status Archived --expected-status Unlisted
```

Exemple de sortie :

```
{
    "successfulVersions": {},
    "failedVersions": {
        "4.0.0": {
            "errorCode": "MISMATCHED_STATUS",
            "errorMessage": "current status: Published, expected status: Unlisted"
        },
        "4.1.0": {
            "errorCode": "MISMATCHED_STATUS",
            "errorMessage": "current status: Published, expected status: Unlisted"
        }
    }
}
```

## Erreurs liées aux différentes versions de package
<a name="update-package-version-status-errors"></a>

Il existe plusieurs raisons pour lesquelles le statut d'une version de package ne sera pas mis à jour lors de l'appel`update-package-versions-status`. Par exemple, la révision de la version du package a peut-être été spécifiée de manière incorrecte ou le statut attendu ne correspond pas à l'état actuel. Dans ces cas, la version sera incluse dans la `failedVersions` carte dans la réponse de l'API. Si une version échoue, les autres versions spécifiées dans le même appel à `update-package-versions-status` peuvent être ignorées et leur statut n'est pas mis à jour. Ces versions seront également incluses dans la `failedVersions` carte avec un `errorCode` de`SKIPPED`.

Dans l'implémentation actuelle de`update-package-versions-status`, si le statut d'une ou de plusieurs versions ne peut pas être modifié, toutes les autres versions seront ignorées. En d'autres termes, soit toutes les versions sont mises à jour avec succès, soit aucune version n'est mise à jour. Ce comportement n'est pas garanti dans le contrat d'API ; à l'avenir, certaines versions pourraient réussir tandis que d'autres échoueront en un seul appel à`update-package-versions-status`.

L'exemple de commande suivant inclut un échec de mise à jour de l'état de version causé par une incompatibilité de version de version de package. Cet échec de mise à jour entraîne l'annulation d'un autre appel de mise à jour de l'état de la version.

```
aws codeartifact update-package-versions-status --domain my_domain
  --domain-owner 111122223333 --repository my_repo 
  --format npm --package chalk 
  --version-revisions "4.1.0=25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ=,4.0.0=E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=" 
  --versions 4.1.0 4.0.0 --target-status Archived
```

Exemple de sortie :

```
{
    "successfulVersions": {},
    "failedVersions": {
        "4.0.0": {
            "errorCode": "SKIPPED",
            "errorMessage": "version 4.0.0 is skipped"
        },
        "4.1.0": {
            "errorCode": "MISMATCHED_REVISION",
            "errorMessage": "current revision: 25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ4=, expected revision: 25/UjBleHs1DZewk+zozoeqH/R80Rc9gL1P8vbzVMJ="
        }
    }
}
```

## Élimination des versions du package
<a name="dispose-package-versions"></a>

Le statut `Disposed` du package a un comportement similaire à celui du package`Archived`, sauf que les actifs du package seront définitivement supprimés, de CodeArtifact sorte que le compte du propriétaire du domaine ne sera plus facturé pour le stockage des actifs. Pour plus d'informations sur le statut de chaque version de package, consultez[État de la version du package](packages-overview.md#package-version-status). Pour modifier le statut d'une version de package en`Disposed`, utilisez la `dispose-package-versions` commande. Cette fonctionnalité est distincte du `update-package-versions-status` fait que la suppression d'une version de package n'est pas réversible. Dans la mesure où les actifs du package seront supprimés, le statut de la version ne peut pas être redéfini sur `Archived``Unlisted`, ou`Published`. La seule action qui peut être entreprise sur une version de package qui a été supprimée est de la supprimer à l'aide de la `delete-package-versions` commande.

Pour que l'appel soit `dispose-package-versions` réussi, le principal IAM appelant doit avoir l'`codeartifact:DisposePackageVersions`autorisation d'accéder à la ressource du package.

Le comportement de la `dispose-package-versions` commande est similaire à `update-package-versions-status` celui des `--expected-status` options `--version-revisions ` et décrites dans les sections sur la [révision de la version](#update-status-specify-package-version-revision) et sur le [statut attendu](#using-expected-status). Par exemple, la commande suivante tente de supprimer une version de package mais échoue en raison d'un état attendu qui ne correspond pas.

```
aws codeartifact dispose-package-versions —domain my_domain --domain-owner 111122223333 
--repository my_repo --format npm --package chalk --versions 4.0.0 
--expected-status Unlisted
```

Exemple de sortie :

```
{
    "successfulVersions": {},
    "failedVersions": {
        "4.0.0": {
            "errorCode": "MISMATCHED_STATUS",
            "errorMessage": "current status: Published, expected status: Unlisted"
        }
    }
}
```

Si la même commande est exécutée à nouveau avec un `--expected-status` de`Published`, la destruction réussira.

```
aws codeartifact dispose-package-versions —domain my_domain --domain-owner 111122223333 
--repository my_repo --format npm --package chalk --versions 4.0.0 
--expected-status Published
```

Exemple de sortie :

```
{
    "successfulVersions": {
        "4.0.0": {
            "revision": "E3lhBp0RObRTut4pkjV5c1AQGkgSA7Oxtil6hMMzelc=",
            "status": "Disposed"
        }
    },
    "failedVersions": {}
}
```