feat(pipeline): Add Zimmer deployment and lineage step types - #6140
Open
Rishabh0255 wants to merge 3 commits into
Open
feat(pipeline): Add Zimmer deployment and lineage step types#6140Rishabh0255 wants to merge 3 commits into
Rishabh0255 wants to merge 3 commits into
Conversation
Add 8 pipeline step classes for Project Zimmer: - EndpointConfigStep, EndpointStep (SageMaker inference deployment) - InferenceComponentStep (multi-model endpoint support) - BedrockCustomModelStep, BedrockCustomModelDeploymentStep, BedrockModelImportStep, BedrockProvisionedModelThroughputStep - LineageStep (ML governance tracking) Design: each step accepts an opaque 'arguments: Dict[str, Any]' that is passed through to the Tioga service verbatim. This mirrors Tioga's own step definitions in IronmanTiogaPipelineDefinitionRepository — the service validates the Arguments block against the underlying AWS Create*Request model (SageMaker Coral or Bedrock SDK) minus a small exclusion set. The SDK does not duplicate that validation. Excluded fields the service rejects (documented in each step's docstring): EndpointConfig excludes DataCaptureConfig and ExplainerConfig; Endpoint excludes DeploymentConfig; all others: no exclusions. Retryability per Tioga step contract: only EndpointConfigStep is retryable. Cacheability: EndpointConfigStep and EndpointStep are structurally cacheable via cache_config. Bedrock property references use PascalCase field names (matching Tioga's step-property resolver) even though the underlying Bedrock JSON API uses camelCase. sim: https://issues.amazon.com/issues/P424919850 --- X-AI-Prompt: Implement all 8 Zimmer pipeline steps in the Python SDK matching the service's actual accepted Arguments schema (source: Tioga IronmanTiogaPipelineDefinitionRepository) X-AI-Tool: kiro-cli
Rishabh0255
temporarily deployed
to
manual-approval
July 31, 2026 20:57 — with
GitHub Actions
Inactive
Rishabh0255
temporarily deployed
to
manual-approval
July 31, 2026 20:57 — with
GitHub Actions
Inactive
Rishabh0255
temporarily deployed
to
manual-approval
July 31, 2026 20:57 — with
GitHub Actions
Inactive
Address Fortress security scan findings on arguments()/to_request() passthrough: validate top-level argument keys against the public AWS API input shape (botocore service model) at step construction and at serialization, and fail fast on fields SageMaker Pipelines rejects (DataCaptureConfig, ExplainerConfig on EndpointConfig; DeploymentConfig on Endpoint). Bedrock member names are PascalCase-converted before comparison. LineageStep now rejects unrecognized top-level keys. Values are intentionally not validated: they may be pipeline variables resolved at compile time. If the installed botocore does not know an operation, shape validation is skipped and the service remains the authority. Adds 8 validation unit tests (32 total, all passing). --- X-AI-Prompt: Apply explicit field exclusions/validation on Zimmer step request payloads per Fortress scan feedback X-AI-Tool: kiro-cli
Rishabh0255
temporarily deployed
to
manual-approval
August 5, 2026 23:22 — with
GitHub Actions
Inactive
Rishabh0255
temporarily deployed
to
manual-approval
August 5, 2026 23:22 — with
GitHub Actions
Inactive
Rishabh0255
temporarily deployed
to
manual-approval
August 5, 2026 23:22 — with
GitHub Actions
Inactive
Re-trigger the PR check suite (integ tests run issue). --- X-AI-Prompt: Make dummy commits on v2 and v3 branches to fix an integ tests run issue X-AI-Tool: kiro-cli
Rishabh0255
temporarily deployed
to
manual-approval
August 7, 2026 20:37 — with
GitHub Actions
Inactive
Rishabh0255
temporarily deployed
to
manual-approval
August 7, 2026 20:37 — with
GitHub Actions
Inactive
rsareddy0329
pushed a commit
that referenced
this pull request
Aug 8, 2026
* feat: Add Zimmer deployment and lineage step types (v2 backport) Backports the 8 Zimmer pipeline step classes from v3 (PR #6140) to v2: - EndpointConfigStep, EndpointStep (SageMaker inference deployment) - InferenceComponentStep (multi-model endpoint support) - BedrockCustomModelStep, BedrockCustomModelDeploymentStep, BedrockModelImportStep, BedrockProvisionedModelThroughputStep - LineageStep (ML governance tracking) Also adds 8 new values to StepTypeEnum. Design: each step accepts an opaque 'arguments: Dict[str, Any]' that is forwarded to the pipeline service verbatim, mirroring the existing SDK convention used by LambdaStep and CallbackStep. Refer to the corresponding AWS Create* API references for accepted fields. Retryability per Zimmer step contract: only EndpointConfigStep is retryable. Cacheability: EndpointConfigStep and EndpointStep are structurally cacheable via cache_config. sim: https://issues.amazon.com/issues/P424919850 --- X-AI-Prompt: Backport the Zimmer pipeline step types from the v3 PR (#6140) to the v2 SDK on master-v2 X-AI-Tool: kiro-cli * fix(pipeline): Add client-side argument validation for Zimmer steps Mirrors the v3 change (commit fbe6fce on feat/zimmer-pipeline-steps): validate top-level argument keys against the public AWS API input shape (botocore service model) at step construction and at serialization, and fail fast on fields SageMaker Pipelines rejects (DataCaptureConfig, ExplainerConfig on EndpointConfig; DeploymentConfig on Endpoint). Bedrock member names are PascalCase-converted before comparison. LineageStep now rejects unrecognized top-level keys. Values are intentionally not validated: they may be pipeline variables resolved at compile time. If the installed botocore does not know an operation, shape validation is skipped and the service remains the authority. Adds 8 validation unit tests (32 total). --- X-AI-Prompt: Mirror the Fortress-driven argument validation change to the v2 backport branch X-AI-Tool: kiro-cli * chore: empty commit to re-trigger CI Re-trigger the PR check suite (integ tests run issue). --- X-AI-Prompt: Make dummy commits on v2 and v3 branches to fix an integ tests run issue X-AI-Tool: kiro-cli --------- Co-authored-by: Rishabh Devnani <rdevnani@amazon.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds 8 new pipeline step classes for Project Zimmer:
EndpointConfigStep,EndpointStep,InferenceComponentStepBedrockCustomModelStep,BedrockCustomModelDeploymentStep,BedrockModelImportStep,BedrockProvisionedModelThroughputStepLineageStepAlso adds 8 new values to
StepTypeEnumand exports the classes fromsagemaker.mlops.workflow.Design
Each step accepts an opaque
arguments: Dict[str, Any]that is forwarded to the pipeline service verbatim, mirroring the existing SDK convention used byLambdaStepandCallbackStep. Refer to the corresponding AWS API reference (CreateEndpointConfig,CreateEndpoint,CreateInferenceComponent, BedrockCreateCustomModel, etc.) for accepted fields.Retryability follows the Zimmer step contract: only
EndpointConfigStepacceptsretry_policies.EndpointConfigStepandEndpointStepacceptcache_config; nothing else does.Testing
Unit tests (
tests/unit/workflow/test_zimmer_steps.py, 24 tests): construction,to_request()shape, enum values, retry-policy rejection on non-retryable steps, Bedrock properties, LineageStep argument validation.Integration test (
tests/integ/workflow/test_zimmer_lineage_step.py): full end-to-end LineageStep pipeline execution, assertsSucceededand verifies the created action ARN in step metadata.Manual validation performed:
CreatePipeline+DescribePipelineround-trip for all 8 step typesLineageSteppipeline executed toSucceededon gammaCompatibility
No changes to existing step types, no changes to
Pipeline, no changes toStepsCompilerbeyond the enum additions._LocalPipelineExecutioncorrectly rejects the new step types with a clear error message consistent with other unsupported-in-local step types.