Fix activation URL extraction logic and improve warning message formatting

- Corrected JSON path for error code and activation URL extraction in client error handling.
- Improved readability of the activation warning message with better spacing.
This commit is contained in:
Luis Pater
2025-08-05 23:58:43 +08:00
parent 1483c31c73
commit ebcd4dbf3d

View File

@@ -844,11 +844,11 @@ func (c *Client) CheckCloudAPIIsEnabled() (bool, error) {
if err.StatusCode == 403 {
errJSON := err.Error.Error()
// Check for a specific error code and extract the activation URL.
if gjson.Get(errJSON, "error.code").Int() == 403 {
activationURL := gjson.Get(errJSON, "error.details.0.metadata.activationUrl").String()
if gjson.Get(errJSON, "0.error.code").Int() == 403 {
activationURL := gjson.Get(errJSON, "0.error.details.0.metadata.activationUrl").String()
if activationURL != "" {
log.Warnf(
"\n\nPlease activate your account with this url:\n\n%s\n And execute this command again:\n%s --login --project_id %s",
"\n\nPlease activate your account with this url:\n\n%s\n\n And execute this command again:\n%s --login --project_id %s",
activationURL,
os.Args[0],
c.tokenStorage.ProjectID,