# openstack.identity.v3.project

## The Project Class

The `Project` class inherits from `Resource`.

class openstack.identity.v3.project.Project(_synchronized=False, connection=None, **attrs)

  The base resource

  Parameters:

    - _synchronized (bool) – This is not intended to be used directly. See `new()` and `existing()`.

    - connection (openstack.connection.Connection) – Reference to the Connection being used. Defaults to None to allow Resource objects to be used without an active Connection, such as in unit tests. Use of `self._connection` in Resource code should protect itself with a check for None.

  resource_key = 'project'

    Singular form of key for resource.

  resources_key = 'projects'

    Plural form of key for resource.

  base_path = '/projects'

    The base part of the URI for this resource.

  allow_create = True

    Allow create operation for this resource.

  allow_fetch = True

    Allow get operation for this resource.

  allow_commit = True

    Allow update operation for this resource.

  allow_delete = True

    Allow delete operation for this resource.

  allow_list = True

    Allow list operation for this resource.

  commit_method = 'PATCH'

    Method for committing a resource (PUT, PATCH, POST)

  description

    The description of the project. Type: string

  domain_id

    References the domain ID which owns the project; if a domain ID is not specified by the client, the Identity service implementation will default it to the domain ID to which the client’s token is scoped. Type: string

  is_domain

    Indicates whether the project also acts as a domain. If set to True, the project acts as both a project and a domain. Default is False. New in version 3.6

  is_enabled

    Setting this attribute to `False` prevents users from authorizing against this project. Additionally, all pre-existing tokens authorized for the project are immediately invalidated. Re-enabling a project does not re-enable pre-existing tokens. Type: bool

  options

    The resource options for the project. Available resource options are immutable.

  parent_id

    The ID of the parent of the project. New in version 3.4

  links

    The links related to the project resource.

  assign_role_to_user(session, user, role, inherited)

    Assign role to user on project

  validate_user_has_role(session, user, role, inherited)

    Validates that a user has a role on a project

  unassign_role_from_user(session, user, role, inherited)

    Unassigns a role from a user on a project

  assign_role_to_group(session, group, role, inherited)

    Assign role to group on project

  validate_group_has_role(session, group, role, inherited)

    Validates that a group has a role on a project

  unassign_role_from_group(session, group, role, inherited)

    Unassigns a role from a group on a project

  associate_endpoint(session, endpoint_id)

    Associate endpoint with project.

    Parameters:

      - session – The session to use for making this request.

      - endpoint_id – The ID of an endpoint.

    Returns:

      None

  disassociate_endpoint(session, endpoint_id)

    Disassociate endpoint from project.

    Parameters:

      - session – The session to use for making this request.

      - endpoint_id – The ID of an endpoint.

    Returns:

      None

this page last updated: 2026-01-16 23:06:19

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.