Amazon QuickSight · Arazzo Workflow

Amazon QuickSight Find a Dashboard by Name

Version 1.0.0

Search the account dashboard list for a name match and describe the match.

1 workflow 1 source API 1 provider
View Spec View on GitHub AnalyticsBIBusiness IntelligenceDashboardsMachine LearningReportingVisualizationArazzoWorkflows

Provider

amazon-quicksight

Workflows

find-dashboard-by-name
Locate a dashboard by display name and describe it when found.
Lists the dashboards in an account, branches on the presence of a name match, and describes the matched dashboard.
2 steps inputs: AwsAccountId, DashboardName outputs: dashboardSummaryList, matchedDashboardArn, matchedVersionStatus
1
listDashboards
ListDashboards
List the dashboards in the account and branch on whether any of them carry the requested display name.
2
describeMatch
DescribeDashboard
Describe the dashboard that matched the requested name to return its arn, version number and publish status.

Source API Descriptions

Arazzo Workflow Specification

amazon-quicksight-find-dashboard-by-name-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon QuickSight Find a Dashboard by Name
  summary: Search the account dashboard list for a name match and describe the match.
  description: >-
    Resolves a dashboard from a human-friendly name rather than an id. The
    workflow lists the dashboards in an account, branches on whether the list
    contains a dashboard whose name equals the supplied value, and when a match
    exists it describes that dashboard to return its full detail. When no match
    is found the workflow ends without describing anything. Each 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: quicksightApi
  url: ../openapi/amazon-quicksight-openapi.yml
  type: openapi
workflows:
- workflowId: find-dashboard-by-name
  summary: Locate a dashboard by display name and describe it when found.
  description: >-
    Lists the dashboards in an account, branches on the presence of a name
    match, and describes the matched dashboard.
  inputs:
    type: object
    required:
    - AwsAccountId
    - DashboardName
    properties:
      AwsAccountId:
        type: string
        description: The AWS account id that contains the dashboards.
      DashboardName:
        type: string
        description: The dashboard display name to search the account list for.
  steps:
  - stepId: listDashboards
    description: >-
      List the dashboards in the account and branch on whether any of them carry
      the requested display name.
    operationId: ListDashboards
    parameters:
    - name: AwsAccountId
      in: path
      value: $inputs.AwsAccountId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dashboardSummaryList: $response.body#/DashboardSummaryList
      matchedDashboardId: $response.body#/DashboardSummaryList/0/DashboardId
    onSuccess:
    - name: nameMatched
      type: goto
      stepId: describeMatch
      criteria:
      - context: $response.body
        condition: $.DashboardSummaryList[?(@.Name == '$inputs.DashboardName')]
        type: jsonpath
    - name: noMatch
      type: end
      criteria:
      - context: $response.body
        condition: $.DashboardSummaryList[?(@.Name == '$inputs.DashboardName')].length == 0
        type: jsonpath
  - stepId: describeMatch
    description: >-
      Describe the dashboard that matched the requested name to return its arn,
      version number and publish status.
    operationId: DescribeDashboard
    parameters:
    - name: AwsAccountId
      in: path
      value: $inputs.AwsAccountId
    - name: DashboardId
      in: path
      value: $steps.listDashboards.outputs.matchedDashboardId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dashboardId: $response.body#/DashboardId
      dashboardArn: $response.body#/Arn
      versionStatus: $response.body#/Version/Status
  outputs:
    dashboardSummaryList: $steps.listDashboards.outputs.dashboardSummaryList
    matchedDashboardArn: $steps.describeMatch.outputs.dashboardArn
    matchedVersionStatus: $steps.describeMatch.outputs.versionStatus