arazzo: 1.0.1 info: title: Amazon QuickSight Describe a Dashboard summary: List the dashboards in an account, then fetch the full detail for one of them. description: >- A foundational read pattern for QuickSight business intelligence. The workflow lists every dashboard in an AWS account, selects the first dashboard returned (or any dashboard the caller pins by id), and then retrieves the full dashboard detail including its current version number and publish status. 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: describe-dashboard summary: Resolve a dashboard from the account list and describe it in full. description: >- Lists the dashboards available in an AWS account and then describes a single dashboard, defaulting to the first one returned when the caller does not pin a specific dashboard id. inputs: type: object required: - AwsAccountId properties: AwsAccountId: type: string description: The AWS account id that contains the QuickSight dashboards. DashboardId: type: string description: >- Optional dashboard id to describe. When omitted the workflow falls back to the first dashboard returned by the list step. steps: - stepId: listDashboards description: >- List the dashboards in the AWS account so a dashboard id can be resolved for the describe step. operationId: ListDashboards parameters: - name: AwsAccountId in: path value: $inputs.AwsAccountId successCriteria: - condition: $statusCode == 200 outputs: dashboardSummaryList: $response.body#/DashboardSummaryList firstDashboardId: $response.body#/DashboardSummaryList/0/DashboardId - stepId: describeDashboard description: >- Describe the resolved dashboard, returning its arn, name, current version number and publish status. operationId: DescribeDashboard parameters: - name: AwsAccountId in: path value: $inputs.AwsAccountId - name: DashboardId in: path value: $steps.listDashboards.outputs.firstDashboardId successCriteria: - condition: $statusCode == 200 outputs: dashboardId: $response.body#/DashboardId dashboardArn: $response.body#/Arn dashboardName: $response.body#/Name versionNumber: $response.body#/Version/VersionNumber versionStatus: $response.body#/Version/Status outputs: dashboardId: $steps.describeDashboard.outputs.dashboardId dashboardArn: $steps.describeDashboard.outputs.dashboardArn versionStatus: $steps.describeDashboard.outputs.versionStatus