async function preemptionHistory()

in compute/instances/preemptible/preemptionHistory.js [36:65]


  async function preemptionHistory() {
    const zoneOperationsClient = new compute.ZoneOperationsClient();

    let filter;

    if (customFilter !== '') {
      filter = customFilter;
    } else {
      filter = 'operationType="compute.instances.preempted"';

      if (instanceName !== '') {
        filter += ` AND targetLink="https://www.googleapis.com/compute/v1/projects/${projectId}/zones/${zone}/instances/${instanceName}"`;
      }
    }

    const [operationsList] = await zoneOperationsClient.list({
      project: projectId,
      zone,
      filter,
    });

    for (const operation of operationsList) {
      const thisInstanceName = operation.targetLink.split('/').pop();
      if (thisInstanceName === instanceName) {
        // The filter used is not 100% accurate, it's `contains` not `equals`
        // So we need to check the name to make sure it's the one we want.
        console.log(`- ${instanceName} ${operation.insertTime}`);
      }
    }
  }