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