code: func (c *client) Upsert(ctx context.Context, fieldsToUpdate []string, entity DomainObject) error {
  	return c.createOrUpsert(ctx, fieldsToUpdate, entity, c.connector.Upsert)
  }
docs: // Upsert updates some values of an entity, or creates it if it doesn't exist.
  // The entity provided must contain values for all components of its primary
  // key for the operation to succeed. If `fieldsToUpdate` is provided, only a
  // subset of fields will be updated.