Utilisation des réclamations de ressource

Vous pouvez utiliser l'interface de ligne de commande IBM Cloud® ou l'API du contrôleur de ressources IBM Cloud® pour gérer le processus de réclamation de ressources spécifiques. Pour plus d'informations, voir FAQ sur les ressources

Affichage de la liste des ressources réclamées à l'aide de l'interface de ligne de commande

Pour répertorier les ressources réclamées pouvant être restaurés ou supprimées à l'aide de l'interface de ligne de commande, exécutez la commande suivante :

ibmcloud resource reclamations [--resource-instance-id INSTANCE_ID]

Entrez l'option de commande suivante :

  • --resource-instance-id : identificateur global unique (GUID) de l'instance de ressource.

L'exemple suivant permet d'afficher la liste des réclamations d'une instance de service particulière :

ibmcloud resource reclamations --resource-instance-id abcd1234-ef56-486e-b293-22d6c7eb6699

Affichage de la liste des ressources réclamées à l'aide de l'API

Pour répertorier les ressources réclamées pouvant être restaurés ou supprimées, appelez l'API du contrôleur de ressourceIBM Cloud®, comme illustré dans l'exemple suivant :

Utilisez ListReclamationsOptions.Builder pour créer un objet ListReclamationsOptions qui contient les valeurs de paramètre de la méthode listReclamations.

Instanciez la structure ListReclamationsOptions et définissez les zones pour fournir des valeurs de paramètres pour la méthode ListReclamations.

curl -X GET https://resource-controller.cloud.ibm.com/v1/reclamations?account_id=b80a8b513ae24e178438b7a18bd8d609 -H 'Authorization: Bearer <IAM_TOKEN>'
ListReclamationsOptions listReclamationsOptions = new ListReclamationsOptions.Builder()
  .accountId(accountId)
  .build();

Response<ReclamationsList> response = service.listReclamations(listReclamationsOptions).execute();
ReclamationsList reclamationsList = response.getResult();

System.out.printf("listReclamations() response:\n%s\n", reclamationsList.toString());
const params = {
  accountId: accountId,
};

resourceControllerService.listReclamations(params)
  .then(res => {
    var resources = res.result.resources;
    resources.forEach(reclaim => {
      if (reclaim.resource_instance_id.toString() === instanceGuid) {
        reclamationId = reclaim.id;
      }
    });
    console.log('listReclamations() response:\n' + JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
reclamations_list = resource_controller_service.list_reclamations(
    account_id=account_id
).get_result()

print('\nlist_reclamations() response:\n',
      json.dumps(reclamations_list, indent=2))
listReclamationsOptions := resourceControllerService.NewListReclamationsOptions()
listReclamationsOptions = listReclamationsOptions.SetAccountID(accountID)
reclamationsList, response, err := resourceControllerService.ListReclamations(listReclamationsOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(reclamationsList, "", "  ")
fmt.Printf("\nListReclamations() response:\n%s\n", string(b))

Suppression d'une ressource réclamée à l'aide de l'interface de ligne de commande

Pour supprimer une ressource réclamée à l'aide de l'interface de ligne de commande, exécutez la commande suivante :

ibmcloud resource reclamation-delete ID [--comment COMMENT] [--f, --force]

Entrez les options de commande suivantes :

  • ID : ID de la réclamation de ressource. Il s'agit de l'ID de réclamation et non de l'ID de l'instance de ressource. (Obligatoire).
  • --comment : commentaires sur l'action.
  • -f, --force : forcer la suppression sans confirmation.

L'exemple suivant montre comment supprimer une réclamation de ressource dont l'ID est d9fendfwlw :

ibmcloud resource reclamation-delete "d9fendfwlw"

L'exemple suivant montre comment supprimer une réclamation de ressource dont l'ID est d9fendfwlw et laisser le commentaire no longer needed sans confirmation :

ibmcloud resource reclamation-delete "d9fendfwlw" --comment "no longer needed" -f

Suppression d'une ressource à l'aide de l'API

Pour réclamer (provisoirement supprimer) une ressource, appelez l'API du contrôleur de ressourceIBM Cloud®, comme illustré dans l'exemple suivant. Indiquez reclaim pour supprimer une ressource. id est l'ID de récupération et non l'ID d'instance de ressource.

curl -X POST https://resource-controller.cloud.ibm.com/v1/reclamations/0114be9024c6eede47d08a85ac0c5c43/actions/reclaim -H 'Authorization: Bearer <IAM_TOKEN>' -H 'Content-Type: application/json' -d '{
    "request_by": "bar",
    "comment": "reclaim resource instance 614fc866-1d4f-4c9e-973e-637f1089a6a1"
  }'
RunReclamationActionOptions runReclamationActionOptions = new RunReclamationActionOptions.Builder()
  .id(reclamationId)
  .actionName("reclaim")
  .build();

Response<Reclamation> response = service.runReclamationAction(runReclamationActionOptions).execute();
Reclamation reclamation = response.getResult();

System.out.printf("runReclamationAction() response:\n%s\n", reclamation.toString());
const params = {
  id: reclamationId,
  actionName: 'reclaim',
};

resourceControllerService.runReclamationAction(params)
  .then(res => {
    console.log('runReclamationAction() response:\n' + JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
reclamation = resource_controller_service.run_reclamation_action(
    id=reclamation_id,
    action_name='reclaim'
).get_result()

print('\nrun_reclamation_action() response:\n',
      json.dumps(reclamation, indent=2))
runReclamationActionOptions := resourceControllerService.NewRunReclamationActionOptions(
  reclamationID,
  "reclaim",
)

reclamation, response, err := resourceControllerService.RunReclamationAction(runReclamationActionOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(reclamation, "", "  ")
fmt.Printf("\nRunReclamationAction() response:\n%s\n", string(b))

Restauration d'une ressource à l'aide de l'interface de ligne de commande

Les ressources peuvent généralement être restaurées dans les trois jours suivant leur suppression. Toutefois, les périodes de restauration peuvent varier en fonction du service, car chacun suit sa propre politique de conservation. Pour plus d'informations, se référer à la documentation du service individuel.

Toutes les ressources ne peuvent pas être restaurées. La commande ibmcloud resource reclamations permet d'identifier les ressources restaurables.

Pour restaurer une ressource à l'aide de l'interface de ligne de commande, exécutez la commande suivante :

ibmcloud resource reclamation-restore ID [--comment COMMENT]

Entrez les options de commande suivantes :

  • ID : ID de la réclamation de ressource. Il s'agit de l'ID de réclamation et non de l'ID de l'instance de ressource.  (obligatoire)
  • --comment : commentaires sur l'action.

L'exemple suivant montre comment restaurer une ressource avec l'ID d9fendfwlw :

ibmcloud resource reclamation-restore "d9fendfwlw"

Pour plus d'informations, voir la référence de la commande ibmcloud resource reclamations.

Restauration d'une ressource à l'aide de l'API

Les ressources peuvent généralement être restaurées dans les trois jours suivant leur suppression. Toutefois, les périodes de restauration peuvent varier en fonction du service, car chacun suit sa propre politique de conservation. Pour plus d'informations, se référer à la documentation du service individuel.

Toutes les ressources ne peuvent pas être restaurées. Obtenez une liste de toutes les réclamations pour vérifier les ressources que vous pouvez restaurer.

Pour restaurer une ressource à l'aide de l'API, appelez l'API du contrôleur de ressourceIBM Cloud®, comme illustré dans l'exemple suivant. Indiquez restore pour restaurer une ressource. id est l'ID de récupération et non l'ID d'instance de ressource.

curl -X POST https://resource-controller.cloud.ibm.com/v1/reclamations/0114be9024c6eede47d08a85ac0c5c43/actions/restore -H 'Authorization: Bearer <IAM_TOKEN>' -H 'Content-Type: application/json' -d '{
    "request_by": "bar",
    "comment": "restore resource instance 614fc866-1d4f-4c9e-973e-637f1089a6a1"
  }'
RunReclamationActionOptions runReclamationActionOptions = new RunReclamationActionOptions.Builder()
  .id(reclamationId)
  .actionName("restore")
  .build();

Response<Reclamation> response = service.runReclamationAction(runReclamationActionOptions).execute();
Reclamation reclamation = response.getResult();

System.out.printf("runReclamationAction() response:\n%s\n", reclamation.toString());
const params = {
  id: reclamationId,
  actionName: 'restore',
};

resourceControllerService.runReclamationAction(params)
  .then(res => {
    console.log('runReclamationAction() response:\n' + JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
reclamation = resource_controller_service.run_reclamation_action(
    id=reclamation_id,
    action_name='restore'
).get_result()

print('\nrun_reclamation_action() response:\n',
      json.dumps(reclamation, indent=2))
runReclamationActionOptions := resourceControllerService.NewRunReclamationActionOptions(
  reclamationID,
  "restore",
)

reclamation, response, err := resourceControllerService.RunReclamationAction(runReclamationActionOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(reclamation, "", "  ")
fmt.Printf("\nRunReclamationAction() response:\n%s\n", string(b))