'Create a new trust.
The user creating the trust must be the trustor.'

@controller.protected()
def create_trust(self, request, trust):

    validation.lazy_validate(schema.trust_create, trust)
    redelegated_trust = self._find_redelegated_trust(request)
    if (trust.get('project_id') and (not trust.get('roles'))):
        action = _('At    least    one    role    should    be    specified')
        raise exception.ForbiddenAction(action=action)
    if (request.context.user_id != trust.get('trustor_user_id')):
        action = _('The    authenticated    user    should    match    the    trustor')
        raise exception.ForbiddenAction(action=action)
    self.identity_api.get_user(trust['trustee_user_id'])
    normalized_roles = self._normalize_role_list(trust.get('roles', []))
    trust['roles'] = normalized_roles
    self._require_trustor_has_role_in_project(trust)
    trust['expires_at'] = self._parse_expiration_date(trust.get('expires_at'))
    trust_id = uuid.uuid4().hex
    new_trust = self.trust_api.create_trust(trust_id, trust, normalized_roles, redelegated_trust, initiator=request.audit_initiator)
    self._fill_in_roles(request.context_dict, new_trust)
    return TrustV3.wrap_member(request.context_dict, new_trust)
