Vantage · Arazzo Workflow

Vantage Review Cost Recommendations Against Providers

Version 1.0.0

List available cost providers, then pull optimization recommendations and branch on whether any exist.

1 workflow 1 source API 1 provider
View Spec View on GitHub BudgetsCloud PricingCost ManagementCostsFinOpsArazzoWorkflows

Provider

vantage

Workflows

review-recommendations-by-provider
List Cost Providers and review cost optimization Recommendations.
Fetches the available Cost Providers, then fetches Recommendations and branches based on whether any recommendations were returned.
2 steps inputs: apiToken, limit outputs: costProviders, recommendations
1
listProviders
getCostProviders
List the Cost Providers Vantage is currently analyzing.
2
getRecommendations
getRecommendations
Retrieve the current cost-optimization Recommendations and branch on whether any were returned.

Source API Descriptions

Arazzo Workflow Specification

vantage-review-recommendations-by-provider-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Vantage Review Cost Recommendations Against Providers
  summary: List available cost providers, then pull optimization recommendations and branch on whether any exist.
  description: >-
    A Vantage savings-review pattern. The workflow first lists the available
    Cost Providers so the caller knows which clouds Vantage is analyzing, then
    retrieves the current cost-optimization Recommendations. It branches: when at
    least one recommendation is returned it ends having surfaced them, and when
    none are returned it falls through to an explicit no-recommendations end.
    Every step spells out its request inline — including the Bearer token — so
    the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: costManagementApi
  url: ../openapi/vantage-cost-management-api-openapi.yml
  type: openapi
workflows:
- workflowId: review-recommendations-by-provider
  summary: List Cost Providers and review cost optimization Recommendations.
  description: >-
    Fetches the available Cost Providers, then fetches Recommendations and
    branches based on whether any recommendations were returned.
  inputs:
    type: object
    required:
    - apiToken
    properties:
      apiToken:
        type: string
        description: Vantage API token used as the Bearer credential.
      limit:
        type: integer
        description: The number of recommendations to return per page.
  steps:
  - stepId: listProviders
    description: List the Cost Providers Vantage is currently analyzing.
    operationId: getCostProviders
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      costProviders: $response.body#/cost_providers
  - stepId: getRecommendations
    description: >-
      Retrieve the current cost-optimization Recommendations and branch on
      whether any were returned.
    operationId: getRecommendations
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiToken
    - name: limit
      in: query
      value: $inputs.limit
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      recommendations: $response.body#/recommendations
    onSuccess:
    - name: hasRecommendations
      type: end
      criteria:
      - context: $response.body
        condition: $.recommendations.length > 0
        type: jsonpath
    - name: noRecommendations
      type: end
      criteria:
      - context: $response.body
        condition: $.recommendations.length == 0
        type: jsonpath
  outputs:
    costProviders: $steps.listProviders.outputs.costProviders
    recommendations: $steps.getRecommendations.outputs.recommendations