Create a Project with the Project Service
API
Using the Project Service API, you can create a project. You can also modify or
delete a project and list all projects in an organization.
- Verify that all general prerequisites and prerequisites for the Project service have been satisfied. See Prerequisites for API Use Case Examples.
- Verify that the project roles that you plan to assign have sufficient permissions to perform project-related tasks.A user with the project administrator or project member role can perform a limited number of project-related tasks. For a complete list of tasks and roles required, see Organization and service user roles inVMware Aria Automation.
- Prepare parameters including the project name, description, and email addresses for administrators, members, or viewers.
Before creating a project, it is a
good practice to get a list of projects so that you can verify that the project you plan
to create does not exist. Then you create the project with users assigned to project
roles.
- Get a list of projects.curl -X GET -H 'Accept: application/json' -H "Authorization: Bearer $access_token" "$url/project-service/api/projects?apiVersion=$api_version" | jq "."
- To verify that the project you plan to create is not already listed, examine the response.
- Assign the project name variable.project_name='<your_project_name>'your_project_nameis a name that you choose.
- Create a project.curl -X POST \ "$url/project-service/api/projects?apiVersion=$api_version" \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $access_token" \ -d '{ "name" : "'$project_name'", "description" : "your-description", "administrators" : [{ "email" : "<admin_email>", ["type" : <"user" | "group">]}], "members" : [{ "email" : "<member_email>", ["type" : <"user" | "group">]}], "viewers" : [{ "email" : "<viewer_email>", ["type" : <"user" | "group">]}], }' | jq "."
- admin_email,member_email, andviewer_emailare email addresses of an administrator, member, and viewer user or name of the group in the project.
- The type parameter is optional. It assigns the administrator, member, or viewer to a user or group type. If unspecified, the value defaults touser.
Create a Project
Create a project named
Example-project
with administrators, members, and viewers
at mycompany.com
. This example assumes that
Example-project
does not exist. $ url='https://appliance.domain.com' $ api_version='15-01-2019' $ project_name='Example-project'
Create a project with an administrator,
member, and viewer assigned to user type roles.
$ curl -X POST \ "$url/project-service/api/projects?apiVersion=$api_version" \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $access_token" \ -d '{ "name" : "'$project_name'", "description" : "This is an example project", "administrators" : [{"email" : "adminX@mycompany.com", "type" : "user"}], "members" : [{"email" : "memberX@mycompany.com", "type" : "user"}], "viewers" : [{"email" : "viewerX@mycompany.com", "type" : "user"}] }' | jq "."
The response shows the administrators, members, and viewers related to the project
and the project ID.
{ "id": "094a2fab-7715-4844-94f9-71b45452da27", "name": "Example-project", "description": "This is an example project", "orgId": "f670fdfc-66d6-4689-9793-d524e7066d1e", "administrators": [ { "email": "adminX@mycompany.com", "type": "user" } "members": [ { "email": "memberX@mycompany.com", "type": "user" }, ], "viewers": [ { "email": "viewerX@mycompany.com", "type": "user" } ] "supervisors": [], "constraints": { "network": { "conditions": [] } }, "properties": {}, "cost": { "cost": 0, "costSyncTime": "2019-05-13T12:47:10.624Z", "costUnit": "USD" }, "operationTimeout": 0, "sharedResources": true }, ...