code: func (t *TeleportStaticTokensMarshaler) Unmarshal(bytes []byte, opts ...MarshalOption) (StaticTokens, error) {
  	var staticTokens StaticTokensV2
  
  	if len(bytes) == 0 {
  		return nil, trace.BadParameter("missing resource data")
  	}
  
  	cfg, err := collectOptions(opts)
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	if cfg.SkipValidation {
  		if err := utils.FastUnmarshal(bytes, &staticTokens); err != nil {
  			return nil, trace.BadParameter(err.Error())
  		}
  	} else {
  		err = utils.UnmarshalWithSchema(GetStaticTokensSchema(""), &staticTokens, bytes)
  		if err != nil {
  			return nil, trace.BadParameter(err.Error())
  		}
  	}
  
  	err = staticTokens.CheckAndSetDefaults()
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	if cfg.ID != 0 {
  		staticTokens.SetResourceID(cfg.ID)
  	}
  	if !cfg.Expires.IsZero() {
  		staticTokens.SetExpiry(cfg.Expires)
  	}
  	return &staticTokens, nil
  }
docs: // Unmarshal unmarshals StaticTokens from JSON.