code: func removeConfigUnknowns(cfg map[string]interface{}) {
  	for k, v := range cfg {
  		switch v := v.(type) {
  		case string:
  			if v == config.UnknownVariableValue {
  				delete(cfg, k)
  			}
  		case []interface{}:
  			for _, i := range v {
  				if m, ok := i.(map[string]interface{}); ok {
  					removeConfigUnknowns(m)
  				}
  			}
  		case map[string]interface{}:
  			removeConfigUnknowns(v)
  		}
  	}
  }
docs: // During apply the only unknown values are those which are to be computed by
  // the resource itself. These may have been marked as unknown config values, and
  // need to be removed to prevent the UnknownVariableValue from appearing the diff.