

# Projects
<a name="projects"></a>

Projects form a boundary for virtual desktops, teams, and budgets. When you create a project, you define its settings, such as the name, description, and environment configuration. Projects typically include one or more environments, which can be customized to meet the specific requirements of your project, such as the type and size of the compute resources, the software stack, and the networking configuration. 

**Topics**
+ [View projects](view-projects.md)
+ [Create a project](create-project.md)
+ [Edit a project](edit-project.md)
+ [Disable a project](disable-project.md)
+ [Delete a project](delete-project.md)
+ [Add or remove tags from a project](tag-project.md)
+ [View file systems associated with a project](view-project-file-systems.md)
+ [Add a launch template](project-launch-template.md)

# View projects
<a name="view-projects"></a>

![\[Projects\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-projects.jpg)


The Projects dashboard provides a list of projects available to you. From the Projects dashboard, you can:

1. You can use the search field to find projects.

1. When a project is selected, you can use the **Actions** menu to: 

   1. Edit a project

   1. Disable or enable a project

   1. Update project tags

   1. Delete a project

1. You can choose **Create Project** to create a new project.

# Create a project
<a name="create-project"></a>

1. Choose **Create Project**.

1. Enter project details.

   The Project ID is a resource tag that can be used to track cost allocation in AWS Cost Explorer Service. For more information, see [Activating user-defined cost allocation tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html).
**Important**  
The project ID cannot be changed after creation.

   For information on **Advanced Options**, see [Add a launch template](project-launch-template.md).

1. (Optional) Turn on budgets for the project. For more information on budgets, see [Cost monitoring and control](cost-management.md). 

1. The home directory filesystem may either use the Shared Home Filesystem (default), EFS, FSx for Lustre, FSx NetApp ONTAP, or EBS volume storage.

   It is important to note that the shared home filesystem, EFS, FSx for Lustre, and FSx NetApp ONTAP can be shared across multiple projects and VDIs. However, the EBS volume storage option will require every VDI in that project to have their own home directory that is not shared between other VDIs or projects.  
![\[Create a new project with resource configurations\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-create-new-project.png)

1. Assign users and/or groups the appropriate role ("Project Member" or "Project Owner"). See [Default permissions profiles](permission-matrix.md) for the actions each role can take.

1. Choose **Submit**. 

# Edit a project
<a name="edit-project"></a>

1. Select a project in the project list.

1. From the **Actions** menu, choose **Edit Project**.

1. Enter your updates.

   If you intend to enable budgets, see [Cost monitoring and control](cost-management.md) for more information. When you choose a budget for the project, there could be a few seconds delay for the budget dropdown options to load— if you do not see the budget you just created, please select the refresh button next to the dropdown.

   For information on **Advanced Options**, see [Add a launch template](project-launch-template.md).

1. Choose **Submit**.   
![\[Edit a project\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-editproject.png)

# Disable a project
<a name="disable-project"></a>

To disable a project:

1. Select a project in the project list.

1. From the **Actions** menu, choose **Disable Project**.  
![\[alt text not found\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-disable-project1.png)

1. If a project is disabled, all VDI sessions associated with that project are stopped. Those sessions cannot be restarted while the project is disabled.   
![\[alt text not found\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-disable-project2.png)

# Delete a project
<a name="delete-project"></a>

To delete a project:

1. Select a project in the project list.

1. From the **Actions** menu, choose **Delete Project**.  
![\[alt text not found\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-delete-project1.png)

1. A confirmation pop-up appears. Enter the name of the project, then choose **Yes** to delete it.  
![\[alt text not found\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-delete-project-confirm.png)

1. If a project is deleted, all VDI sessions associated with that project are terminated.  
![\[alt text not found\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-delete-project3.png)

# Add or remove tags from a project
<a name="tag-project"></a>

Project tags will assign tags to all instances created under that project.

1. Select a project in the project list.

1. From the **Actions** menu, choose **Update Tags**.

1. Choose **Add Tags** and enter a value for **Key**.

1. To remove tags, choose **Remove** next to the tag you want to remove.

# View file systems associated with a project
<a name="view-project-file-systems"></a>

When a project is selected, you can expand the **File Systems** pane at the bottom of the screen to view file systems associated with the project.

![\[View file systems associated with a project\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-projectfilesystems.jpg)


# Add a launch template
<a name="project-launch-template"></a>

When creating or editing a project, you can add launch templates using the **Advanced Options** within the project configuration. Launch templates provide additional configurations, such as security groups, IAM policies, and launch scripts to all VDI instances within the project. 

## Add policies
<a name="add-policies"></a>

You can add an IAM policy to control VDI access for all instances deployed under your project. To onboard a policy, tag the policy with the following key-value pair:

```
res:Resource/vdi-host-policy
```

For more information on IAM roles, see [Policies and permissions in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).

### Add security groups
<a name="add-security-groups"></a>

You can add a security group to control the egress and ingress data for all VDI instances under your project. To onboard a security group, tag the security group with the following key-value pair:

```
res:Resource/vdi-security-group
```

For more information on security groups, see [Control traffic to your AWS resources using security groups](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) in the *Amazon VPC User Guide*.

### Add launch scripts
<a name="project-launch-scripts"></a>

You can add launch scripts that will initiate on all VDI sessions within your project. RES supports script initiation for Linux and Windows. For script initiation, you can choose either:

**Run Script When VDI Starts**  
This option initiates the script at the beginning of a VDI instance before any RES configurations or installations run.

**Run Script when VDI is Configured**  
This option initiates the script after RES configurations complete.

Scripts support the following options:


| Script configuration | Example | 
| --- | --- | 
| S3 URI | s3://bucketname/script.sh | 
| HTTPS URL | https://sample.samplecontent.com/sample | 
| Local file | file:///user/scripts/example.sh | 

For **Arguments**, provide any arguments separated by a comma.

![\[Example of a project configuration\]](http://docs.aws.amazon.com/res/archive/release-minus-4/ug/images/res-projectconfigexample.png)
