An organization administrator can share a catalog to make it visible to the administrators in all other organizations in a cloud.

The owner of a catalog can make it available to other users in the containing organization. See Update Catalog Access Controls. If you are an organization administrator, you can also share catalogs with all other organizations in your cloud if your organization's CanPublishCatalogs element has a value of true. The value of this element is controlled by the system administrator. To share a catalog, make a POST request to the catalog’s action/publish URL and supply a PublishCatalogParams body that sets the value of the catalog’s IsPublished element to true.

Prerequisites

This operation requires the rights included in the predefined Organization Administrator role or an equivalent set of rights. Verify that you are logged in to the vCloud Air Compute Service as an Account Administrator.

Procedure

  1. Retrieve the XML representation of the catalog to share.
    Use a request like this one, where id is the identifier of the catalog:
    GET https://vcloud.example.com/api/admin/catalog/id
  2. Examine the response to locate the Link element that contains the URL for publishing the catalog.
    This element has a rel attribute value of publish and a type attribute value of application/vnd.vmware.admin.publishCatalogParams+xml, as this example shows:
    <Link
       rel="publish"
       type="application/vnd.vmware.admin.publishCatalogParams+xml"
       href="https://vcloud.example.com/api/admin/catalog/32/action/publish" />
  3. Create a PublishCatalogParams element that contains an IsPublished element with a value of true.
  4. POST the PublishCatalogParams body to the catalog's rel="publish" URL.

Results

The catalog is shared and becomes available to members of all other organizations in the cloud.

Example: Share a Catalog With All Organizations in a Cloud

Request:
POST https://vcloud.example.com/api/admin/catalog/32/action/publish
Content-Type: application/vnd.vmware.admin.publishCatalogParams+xml
...
<?xml version="1.0" encoding="UTF-8"?>
<PublishCatalogParams
   xmlns="http://www.vmware.com/vcloud/v1.5">
   <IsPublished>true</IsPublished>
</PublishCatalogParams>
Response:
204 No Content