7.2
Table Of Contents
- Programming Guide
- Contents
- vRealize Automation Programming Guide
- Overview of the vRealize Automation REST API
- REST API Authentication
- REST API Use Cases
- Create a Tenant
- Syntax for Displaying Your Current Tenants
- Syntax for Requesting a New Tenant
- Syntax for Listing All Tenant Identity Stores
- Syntax for Linking an Identity Store to the Tenant
- Syntax for Searching LDAP or Active Directory for a User
- Syntax for Assigning a User to a Role
- Syntax for Displaying all Roles Assigned to a User
- Request a Machine
- Approve a Machine Request
- List Provisioned Resources
- Manage Provisioned Deployments
- Working with Reservations
- Create a Reservation
- Display a List of Supported Reservation Types
- Displaying a Schema Definition for a Reservation
- Get the Business Group ID for a Reservation
- Get a Compute Resource for the Reservation
- Getting a Resources Schema by Reservation Type
- Creating a Reservation By Type
- Verify a Reservation and Get Reservation Details
- Display a List of Reservations
- Update a Reservation
- Delete a Reservation
- Create a Reservation
- Working with Reservation Policies
- Working with Key Pairs
- Working with Network Profiles
- Get a List of Available IP Ranges for an IPAM Provider
- Import and Export Content
- Syntax for Listing Supported Content Types
- Syntax for Listing Available Content
- Syntax for Filtering Content by Content Type
- Syntax for Creating a Package for Export
- Syntax for Listing Packages in the Content Service
- Syntax for Exporting a Package
- Syntax for Validating a Content Bundle Before Importing
- Syntax for Importing a Package
- Understanding Blueprint Schema
- Manage XaaS Content with Import and Export
- Create a Tenant
- Related Tools and Documentation
- Filtering and Formatting REST API Information
- Index
2 Display a list of available content in vRealize Automation.
Content includes published artifacts such as blueprints, software, properties etc.
$curl --insecure -s -H"Content-Type: application/json" -H "Authorization: Bearer $token"
https://$host/content-management-service/api/contents
3 If applicable, you can also apply ltering by content type.
This example sets the contentTypeId to composite-blueprint.
$curl --insecure -s -H "Content-Type: application/json" -H "Authorization: Bearer $token"
https://$host/content-management-service/api/contents?%24filter=contentTypeId+eq+
%27composite-blueprint%27
4 Create a package that contains the desired content.
The following command creates a package named Demo Package with a content ID of
9b348c29-88-4fa8-b93e-f80bc7c3e723.
$curl --insecure -s -H "Content-Type: application/json" -H "Authorization: Bearer $token"
https://$host/content-management-service/api/packages-d'{"name" : "Demo Package",
"description" : "Package for demo purposes", "contents" : [ "9b348c29-88ff-4fa8-b93e-
f80bc7c3e723" ]}'
5 (Optional) List the packages within the content service. Use this step if you need to conrm the contents
of the package you created.
$curl --insecure -s -H "Content-Type: application/json" -H "Authorization: Bearer $token"
https://$host/content-management-service/api/packages
6 Export the specied package as a .zip le.
The example species the Accept header as application/zip and the output le as package.zip.
$curl --insecure -s -H "Accept: application/zip"-H "Authorization: Bearer $token"
https://$host/content-management-service/api/packages/54f627bb-2277-48af-9fa0-7d7366b498f3-o
package.zip
7 Validate the package prior to importing it.
The example uses the 'DukesBankApp.zip' which is out-of-box content provided on the
vRealize Automation virtual appliance. You can copy the le from /usr/lib/vcac/tools/initial-
config/sample-oob-content/DukesBankApp.zip using WinSCP (Windows) or scp (Mac).
$curl --insecure -s -H "Content-Type: multipart/form-data"-H "Authorization: Bearer $token"
https://$host/content-management-service/api/packages/validate-F" file=@DukesBankApp.zip"
The validation output shows the status of each content item within the package.
8 Import the package.
This example imports the DukesBankApp.zip package.
$curl --insecure -s -H "Content-Type: multipart/form-data"-H "Authorization: Bearer $token"
https://$host/content-management-service/api/packages-F" file=@DukesBankApp.zip"
Syntax for Listing Supported Content Types
You can use the REST API content management service to display a list of supported content types.
Supported Content Types
A content type describes content that you can import or export using the content management service.
Content types contain metadata about the content provider and the content itself, such as type information
or service type ID. Usually the content provider supplies this information.
Chapter 3 REST API Use Cases
VMware, Inc. 335