code: func NewClient(endpoint, apiKey, apiSecret string) *Client {
  	timeout := 60 * time.Second
  	expiration := 10 * time.Minute
  
  	httpClient := &http.Client{
  		Transport: http.DefaultTransport,
  	}
  
  	client := &Client{
  		HTTPClient:    httpClient,
  		Endpoint:      endpoint,
  		APIKey:        apiKey,
  		apiSecret:     apiSecret,
  		PageSize:      50,
  		Timeout:       timeout,
  		Expiration:    expiration,
  		RetryStrategy: MonotonicRetryStrategyFunc(2),
  		Logger:        log.New(ioutil.Discard, "", 0),
  	}
  
  	if prefix, ok := os.LookupEnv("EXOSCALE_TRACE"); ok {
  		client.Logger = log.New(os.Stderr, prefix, log.LstdFlags)
  		client.TraceOn()
  	}
  
  	return client
  }
docs: // NewClient creates an API client with default timeout (60)
  //
  // Timeout is set to both the HTTP client and the client itself.