Creating a Project¶
Within an Organization, Projects logically group servers, storage, and networking infrastructure. Many Projects can live inside the same Organization, and all of a Projects usage, monthly charges, and one-time charges roll up into the Organization's Billing Account.
If you signed up for an Equinix Metal account, you may have created a Project when first signing into your new account. If you created an account from being invited to an existing Organization, you may not have any Projects associated with your own Organization.
Owners and Admins of an Organization can create new Projects. To Create a Project:
From an Organization's Projects tab. Click + Add New.
You can create a new Project with the metal project create
command. Specify the name of the new project with the --name
flag. Optionally specify which organization to create the project in with the --organization-id
flag.
metal project create --name <string> --organization-id <org_UUID>
You can create a new Project by sending a POST
request to the /projects
endpoint.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/" \
-d '{
"customdata": { },
"name": "string",
"organization_id": "<uuid>",
"payment_method_id": "<uuid>"
}'
"name"
is the only required field in the body of the request.
Note: starter accounts will not have to option to create more than one project. Reach out to support at https://console.equinix.com/support or support@equinixmetal.com if you need to create multiple projects.
Users and Projects¶
You can manage which users have access to projects from your Organization Settings. Users that are a members of your Organization and, specifically, users that have the Collaborator or Limited Collaborator roles can be assigned access to projects on a project-by-project basis. Collaborators on a Project are permitted to access, provision and manage its servers and other infrastructure.
Inviting a User to a Project¶
You invite a user to become a part of your project when you add them to your organization.
If you invite someone as an Admin, they will be able to access all the Projects in your Organization.
If you invite someone as a Collaborator or Limited Collaborator, you can grant access on a Project-by-Project basis.
If you invite someone as a Billing user, they will not be able to access individual Projects at all.
You can also invite a user to a project through the API, by sending a POST
request to the /organizations/{id}/invitations
endpoint.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/organizations/{id}/invitations" \
-d '{
"invitee": "<valid_email_address>",
"message": "<string>",
"organization_id": "<uuid>",
"roles": [
"<string>"
],
"projects_ids": [
"<uuid>"
]
}'
Body Parameters:
"invitee"
(required) - An email address for the user you are sending an invite to."message"
- Optional message to be included in the email invitation."roles"
- An array containing the role you would like to assign to your invitee. Options are"admin"
,"collaborator"
,"limited_collaborator"
or"billing"
. If you invite someone as an"admin"
, they will be able to access all the Projects in your Organization. If you invite someone as a"collaborator"
or"limited_collaborator"
, you can grant access on a Project-by-Project basis. If you invite someone as a"billing"
user, they will not be able to access individual Projects."projects_ids"
- An array of Project IDs to assign access to Projects on a project-by-project basis for collaborators and limited collaborators.
Documentation on Organizations and Roles is on the Organizations page.