BMC Discovery

BMC Discovery is a SaaS-based, cloud-native discovery and dependency modeling system that provides instant visibility into hardware, software, and service dependencies across multi-cloud, hybrid, and on-premises environments.

Endpoint · BMC Discovery

Details

IDBMC Discovery
ProviderBMC Software Inc
CategoryEndpoint
From Version6.0.0
Docker Imagedemisto/python3:3.12.13.10116658
Supported ModulesAgentix XSIAM

README

BMC Discovery is a SaaS-based, cloud-native discovery and dependency modeling system that provides instant visibility into hardware, software, and service dependencies across multi-cloud, hybrid, and on-premises environments.
This integration was integrated and tested with BMC Discovery v.22.1.

Configure BMC Discovery Integration in Cortex

Parameter Description Required
Server URL BMC Discovery URL True
API Token BMC Discovery user API token* True
Use system proxy settings   False
Trust any certificate (not secure)   False
  • The BMC Discovery user must have the following permissions: admin, api-access, discovery, system

Commands

You can execute these commands from the CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.

bmc-discovery-scan-status-list

Get status of all currently running scans (runs) or a specific scan (run)

Base Command

bmc-discovery-scan-status-list

Input

Argument Name Description Required
run_id ID of a specific scan (run) Optional

Context Output

Path Type Description
BmcDiscovery.Scan.Status.uuid String Scan UUID
BmcDiscovery.Scan.Status.blocked Boolean Is blocked
BmcDiscovery.Scan.Status.done Number Number of scanned hosts
BmcDiscovery.Scan.Status.total Number Number of hosts to scan
BmcDiscovery.Scan.Status.finished Boolean Is finished
BmcDiscovery.Scan.Status.label String Scan name
BmcDiscovery.Scan.Status.scan_kind String IP/Cloud/API
BmcDiscovery.Scan.Status.scan_level String Full discovery/Sweep scan
BmcDiscovery.Scan.Status.scan_type String Snapshot/scheduled
BmcDiscovery.Scan.Status.user String Initiating user
BmcDiscovery.Scan.Status.valid_ranges String IP ranges to scan
BmcDiscovery.Scan.Status.cancelled String Is canceled
BmcDiscovery.Scan.Status.key String Scan key
BmcDiscovery.Scan.Status.outpost_id String Outpost id
BmcDiscovery.Scan.Status.scope String Scan scope
BmcDiscovery.Scan.Status.scan_params.provider String Scan provider
BmcDiscovery.Scan.Status.scan_options.NO_PING Boolean Is NO-PING option set
BmcDiscovery.Scan.Status.scan_options.SESSION_LOGGING Boolean Is SESSION_LOGGING option set
BmcDiscovery.Scan.Status.scan_options.SKIP_IMPLICIT_SCANS Boolean Is SKIP_IMPLICIT_SCANS option set
BmcDiscovery.Scan.Status.scan_options.MAX_START_SSM_SESSIONS Boolean Is MAX_START_SSM_SESSIONS option set
BmcDiscovery.Scan.Status.scan_options.MAX_ACTIVE_SSM_SESSIONS Boolean Is MAX_ACTIVE_SSM_SESSIONS option set
BmcDiscovery.Scan.Status.scanning Number Number of entities in scanning status
BmcDiscovery.Scan.Status.pre_scanning Number Number of entities in pre_scanning status
BmcDiscovery.Scan.Status.starttime Date Scan start time
BmcDiscovery.Scan.Status.waiting Number Number of entities in waiting status
BmcDiscovery.Scan.Status.uri String Scan URI
BmcDiscovery.Scan.Status.inferred String Scan inferred URI
BmcDiscovery.Scan.Status.results String Scan results URI
BmcDiscovery.Scan.Status.consolidating Boolean Is consolidating
BmcDiscovery.Scan.Status.consolidation_source String Consolidation source

bmc-discovery-scan-create

Create a new snapshot scan (run)

Base Command

bmc-discovery-scan-create

Input

Argument Name Description Required
label Scan (run) name Yes
ranges IP range Yes

Note: The following run parameters are predefined:

  • Kind = IP
  • Level = Full Discovery
  • Type = Snapshot

Context Output

Path Type Description
BmcDiscovery.Scan.Create.url String New scan URI
BmcDiscovery.Scan.Create.uuid String New scan UUID

bmc-discovery-scan-summary

Retrieve scan (run) results summary

Base Command

bmc-discovery-scan-summary

Input

Argument Name Description Required
run_id An ID of the scan Yes

Note: The following run parameters are predefined:

  • Kind = IP
  • Level = Full Discovery
  • Type = Snapshot

Context Output

Path Type Description
BmcDiscovery.Scan.Summary.Success Number Number of successfully scanned entities
BmcDiscovery.Scan.Summary.Skipped Number Number of skipped entities
BmcDiscovery.Scan.Summary.NoAccess Number Number of entities with no access
BmcDiscovery.Scan.Summary.NoResponse Number Number of entities with no response
BmcDiscovery.Scan.Summary.Error Number Number of entities in error
BmcDiscovery.Scan.Summary.Dropped Number Number of dropped entities

bmc-discovery-scan-stop

Cancel a currently running scan

Base Command

bmc-discovery-scan-stop

Input

Argument Name Description Required
run_id An ID of the scan Yes

Note: The following run parameters are predefined:

  • Kind = IP
  • Level = Full Discovery
  • Type = Snapshot

Context Output

Path Type Description
BmcDiscovery.Scan.Stop.cancelled Boolean Scan cancel status

bmc-discovery-scan-results-list

Get a list of hosts by specific result type

Base Command

bmc-discovery-scan-results-list

Input

Argument Name Description Required
run_id   Yes
result_type “Available options: Success, Skipped, NoAccess, NoResponse, Error, Dropped” Yes
offset Search results offset Optional
limit Search results limit Optional
results_id Search results id Optional

Context Output

Path Type Description
BmcDiscovery.Scan.Result.count Number Number of hosts of the result type
BmcDiscovery.Scan.Result.kind String Result kind type
BmcDiscovery.Scan.Result.next_offset Number Next offset to be used
BmcDiscovery.Scan.Result.offset Number Current offset value
BmcDiscovery.Scan.Result.results_id String Current result id
BmcDiscovery.Scan.Result.results Unknown The actual scan result data

bmc-discovery-search

Search for a node by IP address or hostname

Base Command

bmc-discovery-search

Input

Argument name Description Required
ip IP address Optional
hostname Hostname Optional
kind “Node kind (Host, NetWorkDevice, SNMPManagedDevice)” Single Select
name Search name Optional

Context Output

Path Type Description
BmcDiscovery.Search.count Number Number of returned results
BmcDiscovery.Search.data Unknown Search results
BmcDiscovery.Search.name String Name of the search

bmc-discovery-search-custom

Run a user defined query

Base Command

bmc-discovery-search-custom

Input

Argument name Description Required
query Full search query* Yes
offset Search results offset Optional
limit Search resuluts limit Optional
results_id Search results id Optional

*See the documentation for reference

Context Output

Path Type Description
BmcDiscovery.Search.count Number Number of returned results
BmcDiscovery.Search.data Unknown Search results

Configuration parameters

  • url — Server URL (required)
  • api_token — (required)
  • proxy — Use system proxy settings
  • insecure — Trust any certificate (not secure)

Commands (7)

  • bmc-discovery-scan-create

    Create a new Discovery scan (run) with pre-defined parameters (Kind: IP; Level: Full Discovery; Type: Snapshot)

  • bmc-discovery-scan-results-list

    Get detailed scan (run) results

  • bmc-discovery-scan-status-list

    Get status of all currently running scans (no arguments) or a specific scan (provide a run_id argument)

  • bmc-discovery-scan-stop

    Stop a Discovery scan (run)

  • bmc-discovery-scan-summary

    Get scan (run) results summary

  • bmc-discovery-search

    Search for a node by hostname or IP address. If not found, repeat the search with a different node kind.

  • bmc-discovery-search-custom

    Run a user-defined search

category: Endpoint
provider: BMC Software Inc
commonfields:
  id: BMC Discovery
  version: -1
configuration:
- display: Server URL
  name: url
  required: true
  type: 0
- display: ""
  displaypassword: API Token
  name: api_token
  type: 9
  required: true
  hiddenusername: true
- display: Use system proxy settings
  name: proxy
  type: 8
  required: false
- display: Trust any certificate (not secure)
  name: insecure
  type: 8
  required: false
description: BMC Discovery is a SaaS-based, cloud-native discovery and dependency modeling system that provides instant visibility into hardware, software, and service dependencies across multi-cloud, hybrid, and on-premises environments.
detaileddescription: ''
display: BMC Discovery
name: BMC Discovery
script:
  commands:
  - arguments:
    - description: UUID of a specific scan (run).
      name: run_id
    description: Get status of all currently running scans (no arguments) or a specific scan (provide a run_id argument)
    name: bmc-discovery-scan-status-list
    outputs:
    - contextPath: BmcDiscovery.Scan.Status.cancelled
      type: String
      description: Is canceled.
    - contextPath: BmcDiscovery.Scan.Status.blocked
      type: Boolean
      description: Is blocked.
    - contextPath: BmcDiscovery.Scan.Status.done
      type: Number
      description: Number of scanned hosts.
    - contextPath: BmcDiscovery.Scan.Status.key
      type: String
      description: Scan key.
    - contextPath: BmcDiscovery.Scan.Status.label
      type: String
      description: Scan name.
    - contextPath: BmcDiscovery.Scan.Status.scan_kind
      type: String
      description: IP/Cloud/API.
    - contextPath: BmcDiscovery.Scan.Status.outpost_id
      type: String
      description: Outpost id.
    - contextPath: BmcDiscovery.Scan.Status.scope
      type: String
      description: Scan scope.
    - contextPath: BmcDiscovery.Scan.Status.scan_level
      type: String
      description: Full discovery / Sweep scan.
    - contextPath: BmcDiscovery.Scan.Status.scan_params.provider
      type: String
      description: Scan provider.
    - contextPath: BmcDiscovery.Scan.Status.scan_options.NO_PING
      type: Boolean
      description: Is NO_PING option set.
    - contextPath: BmcDiscovery.Scan.Status.scan_options.SESSION_LOGGING
      type: Boolean
      description: Is SESSION_LOGGING option set.
    - contextPath: BmcDiscovery.Scan.Status.scan_options.SKIP_IMPLICIT_SCANS
      type: Boolean
      description: Is SKIP_IMPLICIT_SCANS option set.
    - contextPath: BmcDiscovery.Scan.Status.scan_options.MAX_START_SSM_SESSIONS
      type: Number
      description: Is MAX_START_SSM_SESSIONS option set.
    - contextPath: BmcDiscovery.Scan.Status.scan_options.MAX_ACTIVE_SSM_SESSIONS
      type: Number
      description: Is MAX_ACTIVE_SSM_SESSIONS option set.
    - contextPath: BmcDiscovery.Scan.Status.scan_type
      type: String
      description: Snapshot / Scheduled.
    - contextPath: BmcDiscovery.Scan.Status.scanning
      type: Number
      description: Number of entities in scanning status.
    - contextPath: BmcDiscovery.Scan.Status.pre_scanning
      type: Number
      description: Number of entities in pre_scanning status.
    - contextPath: BmcDiscovery.Scan.Status.starttime
      type: Date
      description: Scan start time.
    - contextPath: BmcDiscovery.Scan.Status.total
      type: Number
      description: Number of hosts to scan.
    - contextPath: BmcDiscovery.Scan.Status.user
      type: String
      description: Initiating user.
    - contextPath: BmcDiscovery.Scan.Status.valid_ranges
      type: String
      description: IP ranges to scan.
    - contextPath: BmcDiscovery.Scan.Status.waiting
      type: Number
      description: Number of entities in waiting status.
    - contextPath: BmcDiscovery.Scan.Status.uuid
      type: String
      description: Scan UUID.
    - contextPath: BmcDiscovery.Scan.Status.uri
      type: String
      description: Scan URI.
    - contextPath: BmcDiscovery.Scan.Status.finished
      type: Boolean
      description: Is finished.
    - contextPath: BmcDiscovery.Scan.Status.inferred
      type: String
      description: Scan inferred URI.
    - contextPath: BmcDiscovery.Scan.Status.results
      type: String
      description: Scan results URI.
    - contextPath: BmcDiscovery.Scan.Status.consolidating
      type: Boolean
      description: Is consolidating.
    - contextPath: BmcDiscovery.Scan.Status.consolidation_source
      type: String
      description: Consolidation Source.

  - arguments:
    - auto: PREDEFINED
      defaultValue: Host
      name: kind
      predefined:
      - Host
      - NetworkDevice
      - SNMPManagedDevice
      required: true
      description: Type (kind) of BMC Discovery nodes.
    - description: IP address.
      name: ip
    - description: Hostname.
      name: hostname
    - description: Name of the search.
      name: name
    description: Search for a node by hostname or IP address. If not found, repeat the search with a different node kind.
    name: bmc-discovery-search
    outputs:
    - contextPath: BmcDiscovery.Search.count
      description: Number of search results.
      type: Number
    - contextPath: BmcDiscovery.Search.data
      description: Search results.
      type: Unknown
    - contextPath: BmcDiscovery.Search.name
      description: Name of the search.
      type: String

  - name: bmc-discovery-search-custom
    description: Run a user-defined search
    arguments:
    - name: query
      required: true
      description: 'Full search query. Documentation for reference: https://docs.bmc.com/docs/discovery/113/using-the-query-language-788111625.html'
    - name: offset
      description: Search results offset.
    - name: limit
      description: Search limit.
      defaultValue: "50"
    - name: results_id
      description: Search results id.
    - description: Name of the search.
      name: name
    outputs:
    - contextPath: BmcDiscovery.CustomSearch.data
      description: Search results.
      type: Unknown
    - contextPath: BmcDiscovery.CustomSearch.name
      description: Name of the search.
      type: String

  - name: bmc-discovery-scan-create
    description: 'Create a new Discovery scan (run) with pre-defined parameters (Kind: IP; Level: Full Discovery; Type: Snapshot)'
    arguments:
    - name: ranges
      required: true
      isArray: true
      description: IP ranges to scan (comma-separated).
    - name: label
      required: true
      description: New scan (run) label.
    outputs:
    - contextPath: BmcDiscovery.Scan.Create.uri
      description: New scan (run) URI.
      type: String
    - contextPath: BmcDiscovery.Scan.Create.uuid
      description: New scan (run) UUID.
      type: String

  - name: bmc-discovery-scan-stop
    arguments:
    - name: run_id
      required: true
      description: UUID of a specific scan (run).
    outputs:
    - contextPath: BmcDiscovery.Scan.Stop.cancelled
      description: Scan cancelation status.
      type: Boolean
    description: Stop a Discovery scan (run)

  - name: bmc-discovery-scan-summary
    arguments:
    - name: run_id
      required: true
      description: UUID of a specific scan (run).
    outputs:
    - contextPath: BmcDiscovery.Scan.Summary.Success
      description: Number of successfully scanned addresses.
      type: Number
    - contextPath: BmcDiscovery.Scan.Summary.Skipped
      description: Number of skipped addresses.
      type: Number
    - contextPath: BmcDiscovery.Scan.Summary.NoAccess
      description: Number of addresses with no access.
      type: Number
    - contextPath: BmcDiscovery.Scan.Summary.NoResponse
      description: Number of addresses with no response.
      type: Number
    - contextPath: BmcDiscovery.Scan.Summary.Error
      description: Number of addresses in error state.
      type: Number
    - contextPath: BmcDiscovery.Scan.Summary.Dropped
      description: Number of dropped addresses.
      type: Number
    description: Get scan (run) results summary

  - name: bmc-discovery-scan-results-list
    arguments:
    - name: run_id
      required: true
      description: UUID of a specific scan (run).
    - name: result_type
      required: true
      description: Type of scan (run) results.
      auto: PREDEFINED
      predefined:
      - Success
      - Skipped
      - NoAccess
      - NoResponse
      - Error
      - Dropped
      defaultValue: Success
    - name: offset
      description: Search results offset.
    - name: limit
      description: Search limit.
      defaultValue: "50"
    - name: results_id
      description: Search results id.
    outputs:
    - contextPath: BmcDiscovery.Scan.Result.count
      description: Number of hosts of the result type.
      type: Number
    - contextPath: BmcDiscovery.Scan.Result.kind
      description: Result kind type.
      type: String
    - contextPath: BmcDiscovery.Scan.Result.next_offset
      description: Next offset to be used.
      type: Number
    - contextPath: BmcDiscovery.Scan.Result.offset
      description: Current offset value.
      type: Number
    - contextPath: BmcDiscovery.Scan.Result.results_id
      description: Current result id.
      type: String
    - contextPath: BmcDiscovery.Scan.Result.results
      description: The actual scan result data.
      type: Unknown
    description: Get detailed scan (run) results

  dockerimage: demisto/python3:3.12.13.10116658
  runonce: false
  script: '-'
  subtype: python3
  type: python
fromversion: 6.0.0
tests:
- No tests (auto formatted)