IBM Cloud Docs
Utilización de reclamaciones de recursos

Utilización de reclamaciones de recursos

Puede utilizar la CLI de IBM Cloud® o la API del controlador de recursos de IBM Cloud® para gestionar el proceso de reclamación de recursos específicos. Para más información, consulte las Preguntas frecuentes sobre recursos

Listado de recursos reclamados mediante la CLI

Para realizar una lista de recursos reclamados que se pueden restaurar o suprimir utilizando la CLI, ejecute el mandato siguiente:

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

Especifique la siguiente opción de mandato:

  • --resource-instance-id: el ID exclusivo globalmente (GUID) de la instancia de recurso.

En el ejemplo siguiente se muestra cómo listar las reclamaciones de una instancia de servicio determinada:

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

Listado de recursos reclamados mediante la API

Para realizar una lista de recursos reclamados que se pueden restaurar o suprimir, llame a la API del controlador de recursos de IBM Cloud®, tal como se muestra en el ejemplo siguiente:

Utilice ListReclamationsOptions.Builder para crear un objeto ListReclamationsOptions que contenga los valores de parámetro para el método listReclamations.

Cree una instancia de la estructura ListReclamationsOptions y establezca los campos para proporcionar valores de parámetro para el método 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))

Supresión de un recurso reclamado mediante la CLI

Para suprimir un recurso reclamado utilizando la CLI, ejecute el mandato siguiente:

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

Especifique las siguientes opciones del mandato:

  • ID: el ID de la reclamación del recurso. Este es el ID de reclamación y no el ID de instancia de recurso. (Necesario).
  • --comment: comentarios sobre la acción.
  • -f, --force: forzar la supresión sin confirmación.

En el ejemplo siguiente se muestra cómo suprimir una reclamación de recursos con el ID d9fendfwlw:

ibmcloud resource reclamation-delete "d9fendfwlw"

El ejemplo siguiente muestra cómo suprimir una reclamación de recursos con el ID d9fendfwlw y dejar un comentario de no longer needed sin confirmación:

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

Supresión de recursos mediante la API

Para reclamar (suprimir provisionalmente) un recurso, llame a la API del controlador de recursos de IBM Cloud®, tal como se muestra en el ejemplo siguiente. Especifique reclaim para suprimir un recurso. id es el ID de reclamación y no el ID de instancia de recurso.

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))

Restauración de un recurso mediante la CLI

Puede restaurar un recurso en un plazo de 7 días después de suprimirlo.

No todos los recursos se pueden restaurar. Puede ejecutar el mandato ibmcloud resource reclamations para comprobar los recursos que puede restaurar.

Para restaurar un recurso mediante la CLI, ejecute el mandato siguiente:

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

Especifique las siguientes opciones del mandato:

  • ID: el ID de la reclamación del recurso. Este es el ID de reclamación y no el ID de instancia de recurso.  (Obligatorio)
  • --comment: comentarios sobre la acción.

En el siguiente ejemplo se muestra cómo restaurar un recurso con el ID d9fendfwlw:

ibmcloud resource reclamation-restore "d9fendfwlw"

Para obtener más información, consulte la referencia del mandato ibmcloud resource reclamations.

Restauración de un recurso mediante la API

Puede restaurar un recurso en un plazo de 7 días después de suprimirlo.

No todos los recursos se pueden restaurar. Obtenga una lista de todas las reclamaciones para comprobar los recursos que puede restaurar.

Para restaurar un recurso mediante la API, llame a la API del controlador de recursos de IBM Cloud®, tal como se muestra en el ejemplo siguiente. Especifique restore para restaurar un recurso. id es el ID de reclamación y no el ID de instancia de recurso.

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))