# Projects

<a id="iam-projects-ref"></a>

## Creating Projects

If you want to divide your virtual resources among numerous users within each
account, you may create different projects within the account. A **Tenant Admin**
user can create projects only in their own account.

**To create a project:**

1. In the zCompute UI, go to the **Identity & Access** > **Accounts**
   view. Select the account for which you wish to create a project.
2. In the lower half of the account view, select the **Projects** tab and
   click **Create Project**. The **Create Project** dialog is displayed.
3. Enter the following information:
   1. **Project Name** – enter a name for the new project. The name must be
      unique within the account. Project names are not case-sensitive.
   2. **Project Description** [Optional] – enter a description of the new project.
   3. **Type** - select the type of project:
      * **VPC** - Virtual Private Cloud project type.
      * **DVS** - Distributed Virtual Switch project type.
   4. **IP Pool** (VPC-type projects) - select one of the IP pools.
      If there is no available IP pool,
      request an administrator to create a shared edge network available
      in your Zadara Cloud Services region.
   5. **Grant Permissions** - leave the checkbox selected (default) to grant
      yourself permissions on the new project.
4. Click **OK** to create the new project. The new project is created and is
   displayed in the **Projects** tab of the specific account.

## Enabling or Disabling Projects

**To enable or disable a project:**

1. In the zCompute UI, go to the **Identity & Access** > **Accounts**
   view. Select the account containing the project that you wish to enable
   or disable.
2. In the lower half of the account view, select the **Projects** tab.
3. From the displayed project list, select the desired project.
4. If the project is currently disabled, click **Enable** in the toolbar
   to enable it.
5. If the project is currently enabled, click **Disable** in the toolabr
   to disable it.

## Renaming Projects

**To rename a project:**

1. In the zCompute UI, go to the **Identity & Access** > **Accounts**
   view. Select the account containing the project that you wish to rename.
2. In the lower half of the account view, select the **Projects** tab.
3. From the displayed project list, select the desired project.
4. In the toolbar, click **Rename**.
5. In the **Rename Project** dialog, enter the desired changes in
   the project name and description.
6. Click **OK**.

## Deleting Projects

**To delete a project:**

1. In the zCompute UI, go to the **Identity & Access** > **Accounts**
   view. Select the account containing the project that you wish to delete.
2. In the lower half of the account view, select the **Projects** tab.
3. From the displayed project list, select the desired project.
4. In the toolbar, click **Delete**.
5. In the **Delete Project** confirmation dialog, click
   **Delete**. A message confirming the deletion of the project will pop-up
   in the upper right-hand corner of the screen.

## Assigning a User to a Project

**To assign a user to a project:**

1. In the zCompute UI, go to the **Identity & Access** > **Accounts**
   view. Select the account containing the project for which you wish to
   assign a user.
2. In the lower half of the account view, select the **Projects** tab.
3. From the displayed project list, select the desired project.
4. In the toolbar, click  **Assign User**.
5. In the **Assign User** dialog, enter the followng:
   1. **User** - select a user from the drop-down list which will display
      all users associated with the account.
   2. **Project Roles** - select **Member** or **Tenant Admin**.
   3. **Policies**
   4. **AWS API Policies**
   5. Click **OK**.
6. A new user will be created with the selected Zadara Cloud Services role
   and the default Zadara Cloud Services Policy ‘FullAccess’.

## Project Limits

### Project Limits Overview

Zadara Cloud Services allows you to set limits on the amount of virtual compute,
service, storage and network resources each project can use. It is recommended
that each account **Tenant Admin** user set the available resource
limits for each of the projects within their account.

<a id="projectlimitsoverview-projectlimits"></a>

### Project Limits

**To view existing project virtual resources:**

1. Navigate to the **Identity & Access** > **Accounts** > view for the specific
   account containing the project for which the limits should be set.
2. In the lower half of the account view, select the **Projects** tab.
3. From the displayed project list, select the desired project.
4. In the bottom half of the project view, select the **Limits** tab.
   Existing limits, if any, will be displayed for the following resources:
   1. Compute:
      - Number of cores
      - Number of images
      - Number of instances
      - Number of key-pairs
      - RAM
   2. Services
      - Number of Kubernetes clusters
      - Number of database instances
      - Number of load balancers
      - Number of registries
   3. Storage
      - Number of snapshots
      - Number of volumes
      - Volume capacity
   4. Network
      - Floating IPs
      - Networks
      - Routers
      - Security Groups
      - Security Group Rules
      - Subnets

**To add new project compute, services, storage resource limits:**

1. Navigate to the project **Limits** tab as described above.
2. Select the resource category (compute, services, storage) to be limited.
3. Click **Add**.
4. In the **Add Limit** dialog, select the resource to be
   limited.  Note the current usage of the resource will also be displayed.
5. Enter the resource limit to be added. Verify that the limit exceeds the
   current usage.
6. Click **OK**.

**To modify existing project compute, services, storage resource limits:**

1. Navigate to the project **Limits** tab as described above.
2. Select the resource category (compute, services, storage) to be modified.
3. On the row with the specific limit to be modified, click on the modify
   icon (pencil).
4. In the **Edit Limit** dialog, note the current resource
   usage and limit.
5. Enter the new resource limit. Verify that the new limit exceeds the
   current usage.
6. Click **OK**.

**To remove existing project compute, services, storage resource limits:**

1. Navigate to the project **Limits** tab as described above.
2. Select the resource category (compute, services, storage) with limit to
   be deleted.
3. On the row with the specific limit to be removed, click on the delete
   icon. The existing limit will be deleted.

### Managing Project Virtual Network Resource Limits

**To limit project network resources**:

1. Navigate to the project **Limits** tab as described above.
2. Click on the **Edit** button on the top-right of the **Network** list.
3. For each virtual network resource, either check the **Unlimited** box, or
   uncheck it and enter a limit.
4. Click **OK**. The network resource limit list will be updated accordingly.
