An organization administrator in an organization that has permission to publish externally can update an existing catalog to make its contents available to external consumers on a subscription basis.

Organizations that are permitted to publish externally can enable any of their local catalogs for external publication. A catalog that is enabled for external publication becomes accessible at a URL assigned by the system, and can be protected by a password. A catalog in another instance of VMware Cloud Director can subscribe to an externally published catalog and maintain an up-to-date set of catalog items. See Synchronization.

Prerequisites

  • This operation requires the rights included in the predefined Catalog Author role or an equivalent set of rights.Verify that you are logged in to the vCloud Air Compute Service as a Virtual Infrastructure Administrator.

  • Verify that your organization has permission to publish externally.
    Verify that the OrgGeneralSettings in the AdminOrg element that represents your organization has a CanPublishExternally element with a value of true.
    <CanPublishExternally>true</CanPublishExternally>
  • Verify that the catalog you want to enable for external publication does not have an external subscription.

Procedure

  1. In the admin view, retrieve the XML representation of the catalog.
    Use a request like this one:
    GET https://vcloud.example.com/api/admin/catalog/32
  2. Examine the AdminCatalog element to find the publishToExternalOrganizations link it contains.
    This link has the following form:
    <Link
       rel="publishToExternalOrganizations"
       type="application/vnd.vmware.admin.publishExternalCatalogParams+xml"
       href="https://vcloud.example.com/api/admin/catalog/32/action/publishToExternalOrganizations" />
  3. Create a PublishExternalCatalogParams element.
  4. POST the PublishExternalCatalogParams element to the publishToExternalOrganizations URL.

Example: Publish an Existing Catalog

This request updates the catalog created in Create a Catalog to publish it externally.

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