To capture content from an existing Content Management endpoint, you make a POST request. More than one type of content can be captured at the same time.

The following procedure shows how to capture content from a vRealize Operations Manager endpoint and how to list the dependencies of that content.

You list the dependencies because you want to ensure that the package you test or deploy later includes all required content.

Prerequisites

  • Verify that the appliance name and fully qualified domain name of the vRealize Suite Lifecycle Manager instance are available.
  • Verify that the URL variable is assigned.
    url='https://LCM-Hostname'
  • Verify that you have added at least one content endpoint.

Procedure

  1. Assign the reference ID of an existing vRealize Operations Manager endpoint to a variable name.
    vROpsEndpoint = '<referenceID>'
  2. As a developer, capture the content from the vRealize Operations Manager endpoint.
    In this example, the content you are capturing includes:
    • Operations-Alert
    • Operations-Report
    • Parameters to capture dependencies with "includeDependencies":true and to mark the content as production ready with "productionReady":true.
    curl -X POST \
      '$url/lcm/cms/api/v1/contents/pipelines' \
      -H 'Authorization: Basic YWRtaW5AbG9jYWw6Vk13YXJlMSE=' \
      -H 'Content-Type: application/json' \
      -d '{
        "stages": [
          {
            "comment": "test-capture",
            "endpointIds": ["{$vROEndpoint}"],
            "tagNames": ["test-tag"],
            "contents": [
              {
                "contentDetails": [
                  {
                    "contentName": "A PCIe error occurred during system boot, but the error is recoverable - [objId=AlertDefinition-VMWARE-RecoverablePCIeErrorAlert]"
                  }
                ],
                "contentType": "Operations-Alert"
              },
              {
                "contentDetails": [
                  {
                    "contentName": "Capacity Report - Datastores - [objId=59c32c79-adea-4c58-bb6f-56daa23bcb5e]"
                  }
                ],
                "contentType": "Operations-Report"
              }
            ],
            "contentVersionIds": [],
            "stage": "CAPTURE",
            "includeDependencies": true,
            "productionReady": true
          }
        ]
    }' | jq "."
  3. Open the UI and copy the content-version-id from the URL. In this example, the content-version-id is 4b014331-c496-4eef-92a4-4061f69a94a6.

    In this example, the content-version-id is 4b014331-c496-4eef-92a4-4061f69a94a6.

    Capture Content URL for content-version-id
  4. To retrieve the dependencies of your captured content, enter the following command with the content-version-id from the URL.
    curl -X GET \
      '$url/lcm/cms/api/v1/contents/versions/4b014331-c496-4eef-92a4-4061f69a94a6/dependency-artifacts' \
      -H 'Accept: application/json' \
      -H 'Authorization: Basic YWRtaW5AbG9jYWw6Vk13YXJlMSE=' | jq "."
  5. A snippet of the response lists dependencies for the content.
    {
        "contentVersionId": "4b014331-c496-4eef-92a4-4061f69a94a6",
        "dependencyArtifacts": [
            {
                "contentVersionId": "e643b796-f49b-4084-86e9-70be9fd13d14",
                "contentName": "Create Disk-vro",
                "contentType": "Orchestrator-Package",
                "files": [
                    {
                        "file": "/vco/content/Create Disk-vro-manifest.json",
                        "fileId": "659c47a6-99e3-4439-8f6e-17a0be02de22",
                        "sourceControlFile": "Orchestrator-Package/Create Disk-vro/Create Disk-vro-manifest.json",
                        "sourceControlReference": null
                    },
                    {
                        "file": "/vco/content/Workflow/Library/AMQP/Unbind.element_info.xml",
                        "fileId": "5b3d56a5-ec14-4663-b18c-6840fae80259",
                        "sourceControlFile": "Orchestrator-Package/Create Disk-vro/Workflow/Library/AMQP/Unbind.element_info.xml",
                        "sourceControlReference": null
                    },
                    {
                        "file": "/vco/content/Workflow/Library/AMQP/Unbind.xml",
                        "fileId": "5ec353c6-2962-4ff6-a121-37927d446e76",
                        "sourceControlFile": "Orchestrator-Package/Create Disk-vro/Workflow/Library/AMQP/Unbind.xml",
                        "sourceControlReference": null
                    }
                    ...
                    {
                        "file": "/vco/content/Workflow/Content Management Tests/Orchestrator-Package/Common/Check Package Exists.element_info.xml",
                        "fileId": "1b215f31-446f-4ba6-8e92-a9bd8462cd67",
                        "sourceControlFile": "Orchestrator-Package/Create Disk-vro/Workflow/Content Management Tests/Orchestrator-Package/Common/Check Package Exists.element_info.xml",
                        "sourceControlReference": null
                    }
    
                ]
            }
        ]
    }
    The response lists all the additional content required to correctly deploy the captured content to another endpoint of the same type.