Sysdig · Arazzo Workflow

Sysdig Clone Dashboard

Version 1.0.0

Read a source dashboard and create a copy of it under a new name.

1 workflow 1 source API 1 provider
View Spec View on GitHub Cloud SecurityContainersKubernetesRuntime SecuritySecurityVulnerability ManagementMonitoringObservabilityCSPMComplianceArazzoWorkflows

Provider

sysdig

Workflows

clone-dashboard
Duplicate an existing dashboard under a new name.
Reads a source dashboard, creates a new dashboard from its panels and sharing settings, and verifies the copy by id.
3 steps inputs: bearerToken, newName, sourceDashboardId outputs: clonedDashboardId, clonedName, sourceDashboardId
1
getSource
getDashboard
Retrieve the source dashboard definition by id.
2
createClone
createDashboard
Create a new dashboard from the source panels under the new name.
3
verifyClone
getDashboard
Read the cloned dashboard back by id to confirm it persisted.

Source API Descriptions

Arazzo Workflow Specification

sysdig-clone-dashboard-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Sysdig Clone Dashboard
  summary: Read a source dashboard and create a copy of it under a new name.
  description: >-
    A dashboard duplication flow for Sysdig Monitor. It fetches a source
    dashboard by id, carries its panels and sharing settings forward, and
    creates a new dashboard from that definition under a caller-supplied name.
    The new dashboard is then read back to confirm it persisted. Every step
    spells out its request inline so the flow can be read and executed without
    opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: sysdigMonitor
  url: ../openapi/sysdig-monitor-openapi.yml
  type: openapi
workflows:
- workflowId: clone-dashboard
  summary: Duplicate an existing dashboard under a new name.
  description: >-
    Reads a source dashboard, creates a new dashboard from its panels and
    sharing settings, and verifies the copy by id.
  inputs:
    type: object
    required:
    - bearerToken
    - sourceDashboardId
    - newName
    properties:
      bearerToken:
        type: string
        description: Sysdig API bearer token used for Authorization.
      sourceDashboardId:
        type: string
        description: The id of the dashboard to clone.
      newName:
        type: string
        description: Name for the cloned dashboard.
  steps:
  - stepId: getSource
    description: Retrieve the source dashboard definition by id.
    operationId: getDashboard
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.bearerToken
    - name: dashboardId
      in: path
      value: $inputs.sourceDashboardId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      description: $response.body#/dashboard/description
      shared: $response.body#/dashboard/shared
      panels: $response.body#/dashboard/panels
  - stepId: createClone
    description: Create a new dashboard from the source panels under the new name.
    operationId: createDashboard
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.bearerToken
    requestBody:
      contentType: application/json
      payload:
        dashboard:
          name: $inputs.newName
          description: $steps.getSource.outputs.description
          shared: $steps.getSource.outputs.shared
          panels: $steps.getSource.outputs.panels
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      dashboardId: $response.body#/dashboard/id
  - stepId: verifyClone
    description: Read the cloned dashboard back by id to confirm it persisted.
    operationId: getDashboard
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.bearerToken
    - name: dashboardId
      in: path
      value: $steps.createClone.outputs.dashboardId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dashboardId: $response.body#/dashboard/id
      name: $response.body#/dashboard/name
  outputs:
    sourceDashboardId: $inputs.sourceDashboardId
    clonedDashboardId: $steps.verifyClone.outputs.dashboardId
    clonedName: $steps.verifyClone.outputs.name