Ressourcenrückforderungen verwenden

Sie können die Befehlszeilenschnittstelle (CLI) von IBM Cloud® oder die IBM Cloud® Resource Controller-API verwenden, um den Prozess zur Rückforderung bestimmter Ressourcen zu verwalten. Weitere Informationen finden Sie in den FAQ zu Ressourcen

Zurückgeforderte Ressourcen über die Befehlszeilenschnittstelle (CLI) auflisten

Führen Sie den folgenden Befehl aus, um zurückgeforderte Ressourcen aufzulisten, die mithilfe der Befehlszeilenschnittstelle wiederhergestellt oder gelöscht werden können:

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

Geben Sie die folgende Befehlsoption ein:

  • --resource-instance-id: Die global eindeutige ID (GUID) der Ressourceninstanz.

Das folgende Beispiel veranschaulicht das Auflisten der Rückforderungen für eine bestimmte Serviceinstanz:

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

Zurückgeforderte Ressourcen über die Anwendungsprogrammierschnittstelle (API) auflisten

Sie können zurückgeforderte Ressourcen auflisten, die wiederhergestellt oder gelöscht werden können, indem Sie die IBM Cloud® Resource Controller-API aufrufen, wie im folgenden Beispiel dargestellt:

Verwenden Sie ListReclamationsOptions.Builder, um ein Objekt ListReclamationsOptions zu erstellen, das die Parameterwerte für die Methode listReclamations enthält.

Instanziieren Sie die Struktur ListReclamationsOptions und legen Sie in den Feldern Parameterwerte für die Methode ListReclamations fest.

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

Zurückgeforderte Ressource über die Befehlszeilenschnittstelle (CLI) löschen

Führen Sie den folgenden Befehl aus, um eine zurückgeforderte Ressource mithilfe der Befehlszeilenschnittstelle zu löschen:

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

Geben Sie die folgenden Befehlsoptionen ein:

  • ID: Die ID der Ressourcenrückforderungen. Hierbei handelt es sich um die Rückforderungs-ID, nicht um die ID der Ressourceninstanz. (Erforderlich).
  • --comment: Kommentare zur Aktion.
  • -f, --force: Löschen ohne Bestätigung erzwingen.

Das folgende Beispiel zeigt, wie eine Ressourcenrückforderung mit der ID d9fendfwlw gelöscht wird:

ibmcloud resource reclamation-delete "d9fendfwlw"

Das folgende Beispiel zeigt, wie eine Ressourcenrückforderung mit der ID d9fendfwlw gelöscht und der Kommentar no longer needed ohne Bestätigung hinterlassen wird:

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

Ressource über die Anwendungsprogrammierschnittstelle (API) löschen

Sie können eine Ressource zurückfordern (vorläufig löschen), indem Sie die IBM Cloud® Resource Controller-API aufrufen, wie im folgenden Beispiel dargestellt. Geben Sie reclaim an, um eine Ressource zu löschen. id ist die Reklamations-ID und nicht die Ressourceninstanz-ID.

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

Ressource über die Befehlszeilenschnittstelle (CLI) wiederherstellen

Ressourcen können in der Regel innerhalb von 3 Tagen nach der Löschung wiederhergestellt werden. Die Wiederherstellungszeiträume können jedoch je nach Dienst variieren, da jeder Dienst seine eigene Aufbewahrungspolitik verfolgt. Weitere Informationen finden Sie in den Unterlagen zu den einzelnen Diensten.

Nicht alle Ressourcen können wiederhergestellt werden. Sie können den Befehl ibmcloud resource reclamations ausführen, um zu überprüfen, welche Ressourcen wiederhergestellt werden können.

Führen Sie den folgenden Befehl aus, um eine Ressource über die Befehlszeilenschnittstelle wiederherzustellen:

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

Geben Sie die folgenden Befehlsoptionen ein:

  • ID: Die ID der Ressourcenrückforderungen. Hierbei handelt es sich um die Rückforderungs-ID, nicht um die ID der Ressourceninstanz.  (Erforderlich)
  • --comment: Kommentare zur Aktion.

Das folgende Beispiel veranschaulicht die Wiederherstellung einer Ressource mit der ID d9fendfwlw:

ibmcloud resource reclamation-restore "d9fendfwlw"

Weitere Informationen finden Sie in der Befehlsreferenz zum Befehl ibmcloud resource reclamations.

Ressource über die Anwendungsprogrammierschnittstelle (API) wiederherstellen

Ressourcen können in der Regel innerhalb von 3 Tagen nach der Löschung wiederhergestellt werden. Die Wiederherstellungszeiträume können jedoch je nach Dienst variieren, da jeder Dienst seine eigene Aufbewahrungspolitik verfolgt. Weitere Informationen finden Sie in den Unterlagen zu den einzelnen Diensten.

Nicht alle Ressourcen können wiederhergestellt werden. Rufen Sie eine Liste aller Rückforderungen ab, um zu überprüfen, welche Ressourcen wiederhergestellt werden können.

Sie können eine Ressource mithilfe der API wiederherstellen, indem Sie die IBM Cloud® Resource Controller-API aufrufen, wie im folgenden Beispiel dargestellt. Geben Sie restore an, um eine Ressource wiederherzustellen. id ist die Reklamations-ID und nicht die Ressourceninstanz-ID.

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