# Cloudstation Configuration The Cloudstation Configuration feature will allow admins to configure multiple Cloudstation configurations, giving users the flexibility to select their preferred default configurations. It will also enable users to start a Cloudstation with a specific configuration and set an inactivity timeout. Additionally, pricing-related properties will be visible to admins when choosing a configuration and to users when selecting a configuration. The "Start Cloudstation" action will have its own dedicated page, accessible from the same menu as "User Settings". ## Stories ### Admins * As an admin, I want to create multiple Cloudstation configurations to provide users with options that meet their needs. * As an admin, I want to view pricing-related properties for each configuration to make informed decisions when setting up configurations. * As an admin, I want to enable a limited number of Cloudstation configurations so that there can be sufficient hot standbys for each configuration, without excessive overhead. ### Users * As a user, I want to select my preferred default Cloudstation configuration for an optimized experience. * As a user, I want to start a Cloudstation with a specific configuration to meet my requirements for a particular task. * As a user, I want to be able to set an inactivity timeout for my Cloudstation to balance between convenience and conserving resources and managing costs. * As a user, I want to view pricing-related properties for each configuration to make an informed decision when selecting my preferred Cloudstation configuration. ## Pages ### Admin Cloudstation Configurations Page * Admins can selet which of all possible Cloudstation configurations are enabled. * Admins can view pricing-related properties for each configuration (included hours per month and price per additional hour). * Admins can set a default inactivity timeout for all users. The possible configurations will be presented in a large table with the following columns: - Enabled (editable: checkmark) - Instance type - Threads - Memory - Included hours/month (tier: Team/L2 only) - Price per additional hour - Standby count (editable: text box) Here is an example instance of this table with all `r6i` instance types: | Enabled | Instance | Threads | Memory | Included | Additional | Standbys | |:-------:|:------------:|:-------:|:-------:|:--------:|:----------:|:--------:| | ✓ | r6i.large | 2 | 16 GB | 200 hrs | $0.30/hr | [ 6 ] | | | r6i.xlarge | 4 | 32 GB | 100 hrs | $0.60/hr | [ 4 ] | | ✓ | r6i.2xlarge | 8 | 64 GB | 50 hrs | $1.20/hr | [ 4 ] | | | r6i.4xlarge | 16 | 128 GB | 25 hrs | $2.40/hr | [ 2 ] | | | r6i.8xlarge | 32 | 256 GB | 12 hrs | $4.80/hr | [ 2 ] | | ✓ | r6i.16xlarge | 64 | 512 GB | 6 hrs | $9.60/hr | [ 3 ] | | | r6i.24xlarge | 96 | 786 GB | 4 hrs | $12.80/hr | [ 2 ] | | | r6i.32xlarge | 128 | 1024 GB | 3 hrs | $19.20/hr | [ 2 ] | The "Included" column should only be present for the Team tier: - On the Basic tier, free hours only apply to `r6i.large` instances, there are no included hours—only free ours for low-end instances and paid-as-you-go for more capable instances. - On the Enterprise tier, the customer pays AWS costs directly, and interactive usage is included in the negotiated base platform price. The "Default inactivity timeout" input will be an editable text box below the table. Note that prices will be different on the Basic, Team and Enterprise tiers. Exact pricing remains to be determined. ### User Settings Cloudstation Page * Users can select their preferred default Cloudstation configuration from the available options, presented as a table. * Users can set an inactivity timeout for their default Cloudstation. The user will be able to select an enabled Cloudstation configuration from the set of profiles enabled by the admin, presented as a table with the following columns: - Select (editable: radio button) - Threads - Memory - Included hours/month (tier: Team/L2 only) - Price per additional hour - Standby count Here is an example table for the Team tier: | Select | Threads | Memory | Included | Additional | Standbys | |:-------:|:-------:|:-------:|:--------:|:----------:|:--------:| | ○ | 2 | 16 GB | 200 hrs | $0.30/hr | 6 | | ● | 8 | 64 GB | 50 hrs | $1.20/hr | 4 | | ○ | 64 | 512 GB | 6 hrs | $9.60/hr | 3 | The "Select" column is a radio button, allowing the user to select exactly one Cloudstation configuration. None of the other fields are editable in the user view. As before, the "Included" column should only be present for the Team tier for the same reasons. The "Inactivity timeout" input will be an editable text box below the table. ### Start Cloudstation Page * This page is accessible from the main menu near the "User Settings" menu item. * Users can start a Cloudstation with a specific configuration, selected from the same table as appears on "User Settings". * Users can set an inactivity timeout for the started Cloudstation. * A checkbox at the bottom of the page will allow users to make the selected configuration their default Cloudstation configuration. This checkbox will be unchecked by default. This page presents the same table as the User Settings page, but is used to immediately start a specific Cloudstation configuration. The default selection in the table should be the users' default Cloudstation configuration, so that if they just want to start their default, all they have to do is visit this page and click the "Start" button. When the user has selected a different option than thee one that is already their default, the checkbox next to "Make this my default" will be enable, but remain unchecked by default. If the user checks this box and presses "Start" then the configuration they selected will both be started and become their default. If the user has entered an inactivity timeout other than the default, it will pertain only to the started instance unless the "Make this my default" box is checked, in which case that setting will also replace the default.