Project Management
The Ash Console is currently in beta and not production-ready. It is under active development and subject to breaking changes.
The first step for an Ash Console user is to create a project: a logical set of resources that are deployed in cloud regions.
List projects
- Using the Ash Console
- Using the Ash CLI
- Using the Ash Console API
To list projects, navigate to the Ash Console home page:
The Ash CLI displays information in a table format by default. To get a more detailed output (or for scripting), use the --json
flag.
To list projects you have access to, run:
ash console project list
+--------------+------------+---------+---------------+-----------+------------+
| Project name | Project ID | Network | Cloud regions | Resources | Created at |
+==============+============+=========+===============+===========+============+
+--------------+------------+---------+---------------+-----------+------------+
See Authentication for more information on how to get an access token.
The project API endpoint is /projects
.:
curl https://api.console.ash.center/projects \
-H "Authorization: Bearer ${access_token}"
[]
Create a project
- Using the Ash Console
- Using the Ash CLI
- Using the Ash Console API
To create a project, navigate to the Ash Console home page and click on the Create a project
button:
To create a new project, use the create project
command and provide the required project properties as JSON:
ash console project create '{name: my-devnet-project, network: local}'
Project created successfully!
+-------------------+-------------+---------+---------------+-----------+------------------+
| Project name | Project ID | Network | Cloud regions | Resources | Created at |
+===================+=============+=========+===============+===========+==================+
| my-devnet-project | d11f...453e | Local | | | 2024-04-04T15:04 |
+-------------------+-------------+---------+---------------+-----------+------------------+
Switched to project 'my-devnet-project' (d11ff0c8-8f09-4991-9832-bd79df9b453e)!
To create a new project, you have to send a POST
request with the required project properties as JSON:
curl -X POST https://api.console.ash.center/projects \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json" \
-d '{"name": "my-devnet-project", "network": "local"}'
{
"id": "5064c6a6-1542-43d9-b8bb-9ce9502347ff",
"ownerId": "4d4dee2d-e943-432c-91ee-678975615caa",
"name": "my-devnet-project",
"network": "local",
"sharedResourceConfig": {"avalancheNodeConfig": {}},
"created": "2024-04-04T15:15:10.022849",
"cloudRegionsIds": {},
"resourcesIds": {}
}
Select the current project (CLI only)
- Using the Ash CLI
- Using the Ash Console API
The Ash CLI stores the current project in a configuration file. This project will be used by default for all the commands that require a project (e.g. console region ...
).
To show the current project, run:
ash console project show
Current project: 'my-devnet-project' (5064c6a6-1542-43d9-b8bb-9ce9502347ff)
You can switch between projects:
ash console project select my-devnet-project
Switched to project 'my-devnet-project' (5064c6a6-1542-43d9-b8bb-9ce9502347ff)!
This feature does not exist in the Ash Console API.
Update a project
You can also provide the project name instead of its ID.
- Using the Ash Console
- Using the Ash CLI
- Using the Ash Console API
To update a project's configuration, navigate to the Project overview
page and click on the Project Settings
button:
Edit the configuration as needed and click on the Update
button.
The only propery that can be updated is the project name:
ash console project update 5064c6a6-1542-43d9-b8bb-9ce9502347ff '{name: my-devnet-project-updated}'
Project updated successfully!
+---------------------------+-------------+---------+---------------+-----------+------------------+
| Project name | Project ID | Network | Cloud regions | Resources | Created at |
+===========================+=============+=========+===============+===========+==================+
| my-devnet-project-updated | 5064...47ff | Local | | | 2024-04-04T15:15 |
+---------------------------+-------------+---------+---------------+-----------+------------------+
The only propery that can be updated is the project name by sending a PATCH
to the projects/${projectId}
endpoint:
curl -X PATCH https://api.console.ash.center/projects/5064c6a6-1542-43d9-b8bb-9ce9502347ff \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json" \
-d '{"name": "my-devnet-project-updated"}'
{
"id": "5064c6a6-1542-43d9-b8bb-9ce9502347ff",
"ownerId": "4d4dee2d-e943-432c-91ee-678975615caa",
"name": "my-devnet-project-updated",
"network": "local",
"sharedResourceConfig": {"avalancheNodeConfig": {}},
"created": "2024-04-04T15:15:10.022849",
"cloudRegionsIds": {},
"resourcesIds": {}
}
Delete a project
Deleting a project will recursively delete all the cloud regions and resources that belong to it!
- Using the Ash Console
- Using the Ash CLI
- Using the Ash Console API
To delete a project, navigate to the Project overview
page and click on the Project Settings
button:
You can delete the project by clicking on the Delete
button.
ash console project delete my-devnet-project-updated
> Are you sure you want to delete this project? Yes
Project deleted successfully!
curl -X DELETE https://api.console.ash.center/projects/my-devnet-project-updated \
-H "Authorization: Bearer ${access_token}"
{
"id": "5064c6a6-1542-43d9-b8bb-9ce9502347ff",
"ownerId": "4d4dee2d-e943-432c-91ee-678975615caa",
"name": "my-devnet-project-updated",
"network": "local",
"sharedResourceConfig": {"avalancheNodeConfig": {}},
"created": "2024-04-04T15:15:10.022849",
"cloudRegionsIds": {},
"resourcesIds": {}
}