> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nebius.com/llms.txt
> Use this file to discover all available pages before exploring further.

# set-unhealthy

<div>
  <h2>Name</h2>

  <p style={{ paddingLeft: "4ch" }}>
    <code>nebius compute node set-unhealthy</code>
  </p>

  <p style={{ paddingLeft: "7ch" }}>
    SetUnhealthy marks the node underlying the Compute VM as unhealthy, which has the following effect:<br />

    <br />

    1. Scheduler makes the best effort not to assign new VMs to the unhealthy node,<br />
       but in case of no capacity, the VM can be assigned to an unhealthy node.<br />
    2. The existing VMs continue to work on the node, but after stop/start via<br />
       Compute API they most probably will be assigned to a different node.<br />
           <br />

    To use this rpc one needs to obtain `compute.node.setUnhealthy` permission<br />
    for the VM's parent container. The permission is granted to the TSA inside the VM.
  </p>
</div>

<div>
  <h2>Synopsis</h2>

  <p style={{ paddingLeft: "4ch" }}>
    ```
    nebius compute node set-unhealthy
      --dry-run
      --health-check-info-check-id [required]
      --health-check-info-description [required]
      --health-check-info-observed-at [required]
      --instance-id [required]
    ```
  </p>
</div>

<div>
  <h2>Options</h2>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--dry-run` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      If set to true, the call performs the authorization and limit checks, but does not mark node unhealthy.<br />
      False by default.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--health-check-info-check-id` (string)<em> \[required]</em>
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Identifies specific GPU check that failed in soperator (key for observability).
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--health-check-info-description` (string)<em> \[required]</em>
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Human-readable description of the error for further investigation.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--health-check-info-observed-at` (timestamp: 1970-01-31T02:30:59Z)<em> \[required]</em>
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Time when the unhealthy node was observed.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--instance-id` (string)<em> \[required]</em>
    </p>
  </div>
</div>

<div>
  <h2>Global Options</h2>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-h, --help` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Show this message.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-p, --profile` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set a profile for interacting with the cloud.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--format` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Output format. Supported values: yaml|json|jsonpath|table|text.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-f, --file` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Input file. For 'update' commands automatically set --full=true.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `-c, --config` (string)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Provide path to config file.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--debug` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Enable debug logs.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--color` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Enable colored output.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--no-browser` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Do not open browser automatically on auth.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--insecure` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Disable transport security.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--auth-timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the timeout for the request including authentication process, default is 15m0s.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--per-retry-timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the timeout for each retry attempt, default is 20s.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--retries` (uint)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the number of retry attempts, 1 is disable retries, default is 3.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--timeout` (duration: 2h30m10s)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Set the timeout for the main request, default is 1m0s.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--no-check-update` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Suppress check for updates.
    </p>
  </div>

  <div style={{ paddingLeft: "4ch" }}>
    <p>
      `--no-progress` (bool)
    </p>

    <p style={{ paddingLeft: "4ch" }}>
      Suppress progress indicators and spinners.
    </p>
  </div>
</div>

<Expandable title="Input argument JSON Schema">
  <Tabs>
    <Tab title="Full">
      ```json theme={null}
      {                       
        "dry_run": bool,       // If set to true, the call performs the authorization and limit checks, but does not mark node unhealthy.
                               // False by default.
        "health_check_info": {                   // [required]
          "check_id": string,                    // [required]
                                                 // Identifies specific GPU check that failed in soperator (key for observability).
          "description": string,                 // [required]
                                                 // Human-readable description of the error for further investigation.
          "observed_at": "1970-01-31T02:30:59Z"  // [required] [google.protobuf.Timestamp]
                                                 // Time when the unhealthy node was observed.
        },
        "instance_id": string  // [required]
      }
      ```
    </Tab>

    <Tab title="CopyPaste Friendly">
      ```json theme={null}
      nebius compute node set-unhealthy '
      {                       
        "dry_run": false,     
        "health_check_info": {                  
          "check_id": "",                       
          "description": "",                    
          "observed_at": "1970-01-31T02:30:59Z" 
        },
        "instance_id": ""     
      }
      '
      ```
    </Tab>
  </Tabs>
</Expandable>

<strong>Auto generated on 7-May-2026</strong>
