dpsctl import

dpsctl import Usage Guide

Overview

dpsctl import includes commands for importing entities from external sources into DPS.

Entity import uses an asynchronous workflow:

  1. Start importdpsctl import entity initiates entity generation from the specified source (BCM or Nautobot). The server runs generation in the background and returns a request ID immediately.
  2. Check statusdpsctl import entity-status polls the server with the request ID, waits for completion, and then streams the generated entities.

Generation runs with a server default timeout of 10 minutes (maximum 30 minutes). Request state is cleaned up 30 minutes after the request is created.

Supported Sources

Source --source value Description
Base Command Manager (BCM) bcm Generate entities from BCM cluster inventory
Nautobot nautobot Generate entities from Nautobot DCIM inventory via the Topology Management gRPC service

Usage

dpsctl import entity --source=<bcm|nautobot> [flags]

Flags

Includes global dpsctl options.

Flag Source Description
--source value both Entity source: bcm or nautobot (required)
--url value BCM BCM server URL (required when --source=bcm)
--username value BCM Authentication username (required when --source=bcm)
--password value BCM Authentication password (required when --source=bcm)
--tls-insecure-skip-verify BCM Skip TLS certificate verification
--locations value Nautobot Comma-separated locations (UUIDs or names) to filter import
--racks value Nautobot Comma-separated racks (UUIDs or names) to filter import
--device-types value Nautobot Comma-separated device types (UUIDs or names) to filter import
--request-string value Nautobot Free-form URL param string; defined filter flags take precedence over overlapping keys
--help, -h both Show help

When --source=nautobot, BCM flags (--url, --username, --password, --tls-insecure-skip-verify) are ignored. When --source=bcm, Nautobot filter flags are ignored.

Examples

Generate Entities from BCM

$ dpsctl import entity \
  --source bcm \
  --url https://bcm.example.com:8443 \
  --username admin \
  --password secretpassword
{
  "request_id": "abc123-def456-ghi789"
}

The command returns a request_id that you use to retrieve the generated entities.

Retrieve Entities Using Request ID

After starting entity generation, use the request ID with import entity-status:

$ dpsctl import entity-status --request-id abc123-def456-ghi789

See dpsctl import entity-status for full details.

Generate Entities with TLS Skip Verify

$ dpsctl import entity \
  --source bcm \
  --url https://bcm.example.com:8443 \
  --username admin \
  --password secretpassword \
  --tls-insecure-skip-verify

Generate Entities from Nautobot with Filters

$ dpsctl import entity \
  --source nautobot \
  --locations "dc1,dc2" \
  --racks "rack-a" \
  --device-types "server-type-1" \
  --request-string "status=active"
{
  "request_id": "abc123-def456-ghi789"
}

Nautobot connects to the Topology Management gRPC service (configured via dpsctl login/connection).

Notes

  • The --source flag is required. Supported values are bcm and nautobot.
  • BCM: --url, --username, and --password are required. BCM source requires BCM version 11 or later. BCM credentials must have sufficient privileges to read cluster inventory.
  • Nautobot: Uses the Topology Management gRPC service. No BCM credentials are needed. Filters (--locations, --racks, --device-types, --request-string) scope the import to a subset of Nautobot DCIM inventory. At least one filter is required.
  • Entity generation runs asynchronously on the server. The command returns immediately with a request ID.
  • Use dpsctl import entity-status with the returned request ID to poll for and retrieve the generated entities.