def create(context, namespace_name, values, session):
    """Create an association, raise if already exists or ns not found."""

    namespace = namespace_api.get(
        context, namespace_name, session)

    # if the resource_type does not exist, create it
    resource_type_name = values['name']
    metadef_utils.drop_protected_attrs(
        models.MetadefNamespaceResourceType, values)
    try:
        resource_type = resource_type_api.get(
            context, resource_type_name, session)
    except exc.NotFound:
        resource_type = None
        LOG.debug("Creating resource-type %s" % resource_type_name)

    if resource_type is None:
        resource_type_dict = {'name': resource_type_name, 'protected': False}
        resource_type = resource_type_api.create(
            context, resource_type_dict, session)

    # Create the association record, set the field values
    ns_resource_type_dict = _to_db_dict(
        namespace['id'], resource_type['id'], values)
    new_rec = _create_association(context, namespace_name, resource_type_name,
                                  ns_resource_type_dict, session)

    return _to_model_dict(resource_type_name, new_rec)
Beispiel #2
0
def create(context, namespace_name, values, session):
    """Create an association, raise if already exists or ns not found."""

    namespace = namespace_api.get(context, namespace_name, session)

    # if the resource_type does not exist, create it
    resource_type_name = values['name']
    metadef_utils.drop_protected_attrs(models.MetadefNamespaceResourceType,
                                       values)
    try:
        resource_type = resource_type_api.get(context, resource_type_name,
                                              session)
    except exc.NotFound:
        resource_type = None
        LOG.debug("Creating resource-type %s", resource_type_name)

    if resource_type is None:
        resource_type_dict = {'name': resource_type_name, 'protected': False}
        resource_type = resource_type_api.create(context, resource_type_dict,
                                                 session)

    # Create the association record, set the field values
    ns_resource_type_dict = _to_db_dict(namespace['id'], resource_type['id'],
                                        values)
    new_rec = _create_association(context, namespace_name, resource_type_name,
                                  ns_resource_type_dict, session)

    return _to_model_dict(resource_type_name, new_rec)
Beispiel #3
0
def get(context, namespace_name, resource_type_name, session):
    """Get a resource_type associations; raise if not found"""
    namespace = namespace_api.get(context, namespace_name, session)

    resource_type = resource_type_api.get(context, resource_type_name, session)

    found = _get(context, namespace_name, resource_type_name, namespace['id'],
                 resource_type['id'], session)

    return _to_model_dict(resource_type_name, found)
Beispiel #4
0
def delete(context, namespace_name, resource_type_name, session):
    """Delete an association or raise if not found"""

    namespace = namespace_api.get(context, namespace_name, session)

    resource_type = resource_type_api.get(context, resource_type_name, session)

    deleted = _delete(context, namespace_name, resource_type_name,
                      namespace['id'], resource_type['id'], session)

    return _to_model_dict(resource_type_name, deleted)
def get(context, namespace_name, resource_type_name, session):
    """Get a resource_type associations; raise if not found"""
    namespace = namespace_api.get(
        context, namespace_name, session)

    resource_type = resource_type_api.get(
        context, resource_type_name, session)

    found = _get(context, namespace_name, resource_type_name,
                 namespace['id'], resource_type['id'], session)

    return _to_model_dict(resource_type_name, found)
def delete(context, namespace_name, resource_type_name, session):
    """Delete an association or raise if not found"""

    namespace = namespace_api.get(
        context, namespace_name, session)

    resource_type = resource_type_api.get(
        context, resource_type_name, session)

    deleted = _delete(context, namespace_name, resource_type_name,
                      namespace['id'], resource_type['id'], session)

    return _to_model_dict(resource_type_name, deleted)