SAP Integration Suite · Arazzo Workflow

SAP Integration Suite Package Deployment Drift

Version 1.0.0

Compare a package's design-time artifacts against what is deployed in the runtime to surface drift.

1 workflow 1 source API 1 provider
View Spec View on GitHub API ManagementCloud IntegrationEnterprise IntegrationEvent MeshiPaaSSAPSAP BTPArazzoWorkflows

Provider

sap-integration-suite

Workflows

package-deployment-drift
Read a package's design-time artifact version and compare it to runtime artifacts.
Resolves a package and a design-time artifact version, then lists runtime artifacts so the deployed version can be compared against the design-time version.
4 steps inputs: artifactId, artifactVersion, packageId outputs: deployedVersion, designVersion, runtimeArtifacts
1
getPackage
getIntegrationPackage
Read the integration package to confirm it exists.
2
listDesignArtifacts
listIntegrationDesigntimeArtifacts
List the design-time artifacts within the package.
3
getDesignArtifact
getIntegrationDesigntimeArtifact
Read the specific design-time artifact to capture its design-time version.
4
listRuntimeArtifacts
listRuntimeArtifacts
List runtime artifacts, scoped by id, so the deployed version can be compared against the design-time version.

Source API Descriptions

Arazzo Workflow Specification

sap-integration-suite-package-deployment-drift-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: SAP Integration Suite Package Deployment Drift
  summary: Compare a package's design-time artifacts against what is deployed in the runtime to surface drift.
  description: >-
    A governance workflow that surfaces drift between what is designed and what
    is running. It reads the target integration package, lists the design-time
    artifacts it contains, reads a specific design-time artifact to capture its
    current version, and then lists the runtime artifacts so a caller can
    compare the deployed version against the design-time version. 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: cloudIntegrationApi
  url: ../openapi/sap-integration-suite-cloud-integration-openapi.yml
  type: openapi
workflows:
- workflowId: package-deployment-drift
  summary: Read a package's design-time artifact version and compare it to runtime artifacts.
  description: >-
    Resolves a package and a design-time artifact version, then lists runtime
    artifacts so the deployed version can be compared against the design-time
    version.
  inputs:
    type: object
    required:
    - packageId
    - artifactId
    - artifactVersion
    properties:
      packageId:
        type: string
        description: Identifier of the integration package to inspect.
      artifactId:
        type: string
        description: Identifier of the design-time artifact to compare.
      artifactVersion:
        type: string
        description: Version of the design-time artifact (e.g. "active").
  steps:
  - stepId: getPackage
    description: Read the integration package to confirm it exists.
    operationId: getIntegrationPackage
    parameters:
    - name: Id
      in: path
      value: $inputs.packageId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      packageName: $response.body#/d/Name
  - stepId: listDesignArtifacts
    description: List the design-time artifacts within the package.
    operationId: listIntegrationDesigntimeArtifacts
    parameters:
    - name: Id
      in: path
      value: $inputs.packageId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      designArtifacts: $response.body#/d/results
  - stepId: getDesignArtifact
    description: Read the specific design-time artifact to capture its design-time version.
    operationId: getIntegrationDesigntimeArtifact
    parameters:
    - name: Id
      in: path
      value: $inputs.artifactId
    - name: Version
      in: path
      value: $inputs.artifactVersion
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      designVersion: $response.body#/d/Version
  - stepId: listRuntimeArtifacts
    description: >-
      List runtime artifacts, scoped by id, so the deployed version can be
      compared against the design-time version.
    operationId: listRuntimeArtifacts
    parameters:
    - name: $filter
      in: query
      value: "Id eq '$inputs.artifactId'"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      runtimeArtifacts: $response.body#/d/results
      deployedVersion: $response.body#/d/results/0/Version
  outputs:
    designVersion: $steps.getDesignArtifact.outputs.designVersion
    deployedVersion: $steps.listRuntimeArtifacts.outputs.deployedVersion
    runtimeArtifacts: $steps.listRuntimeArtifacts.outputs.runtimeArtifacts