fix(drivers): implement ResourceDriver.SensitiveKeys stub#3
Merged
Conversation
…closes pre-existing gap from workflow#499 SensitiveKeys interface addition Adds the SensitiveKeys() []string method (returning nil) to all 13 ResourceDriver implementations: ACMDriver, ALBDriver, APIGatewayDriver, ECRDriver, ECSDriver, EKSDriver, ElastiCacheDriver, IAMDriver, RDSDriver, Route53Driver, S3Driver, SecurityGroupDriver, VPCDriver. The interfaces.ResourceDriver method was added to GoCodeAlone/workflow on 2026-04-08 (commit 4853126); this plugin's drivers never adopted it. Surfaced by workflow PR #534's new cross-plugin-build CI gate. Returning nil is the standard "no sensitive outputs" stub. Per-driver review of which output keys (if any) genuinely warrant masking is a follow-up activity, not this PR's scope. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the AWS plugin’s resource drivers to satisfy the newer interfaces.ResourceDriver contract by adding a SensitiveKeys() []string stub to each resource-driver implementation. It keeps the plugin compatible with the workflow interface change without changing existing resource output shapes.
Changes:
- Add
SensitiveKeys() []string { return nil }to all 13 AWSResourceDriverimplementations. - Document each new method as the log/plan masking hook for resource outputs.
- Preserve the existing per-driver interface satisfaction checks with the new method now implemented.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
drivers/acm.go |
Adds SensitiveKeys stub for ACM certificate resources. |
drivers/alb.go |
Adds SensitiveKeys stub for load balancer resources. |
drivers/apigateway.go |
Adds SensitiveKeys stub for API Gateway resources. |
drivers/ecr.go |
Adds SensitiveKeys stub for container registry resources. |
drivers/ecs.go |
Adds SensitiveKeys stub for ECS service resources. |
drivers/eks.go |
Adds SensitiveKeys stub for EKS cluster resources. |
drivers/elasticache.go |
Adds SensitiveKeys stub for cache resources. |
drivers/iam.go |
Adds SensitiveKeys stub for IAM role resources. |
drivers/rds.go |
Adds SensitiveKeys stub for RDS database resources. |
drivers/route53.go |
Adds SensitiveKeys stub for DNS resources. |
drivers/s3.go |
Adds SensitiveKeys stub for S3 storage resources. |
drivers/sg.go |
Adds SensitiveKeys stub for security group resources. |
drivers/vpc.go |
Adds SensitiveKeys stub for VPC resources. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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 the
SensitiveKeys() []stringmethod (returningnil) to all 13ResourceDriverimplementations in this plugin.Why
The
SensitiveKeys()method was added tointerfaces.ResourceDriverinGoCodeAlone/workflowon 2026-04-08 (commit4853126). This plugin's drivers never adopted the new method, leaving an interface-implementation gap that the pinnedworkflow v0.3.56masked. The gap is now surfaced by workflow PR #534's new cross-plugin-build CI gate, which compiles each plugin against currentworkflowmain.What
13 driver types affected (one stub each):
ACMDriver,ALBDriver,APIGatewayDriver,ECRDriver,ECSDriver,EKSDriver,ElastiCacheDriver,IAMDriver,RDSDriver,Route53Driver,S3Driver,SecurityGroupDriver,VPCDriverEach gains:
nilis the standard "no sensitive outputs" stub. Per-driver review of which output keys (if any) actually warrant masking is a follow-up activity outside this PR's scope.Test plan
go build ./...clean against pinnedworkflow v0.3.56go test ./...passes (drivers+providerpackages green)workflow v0.20.5locally: all 13ResourceDriverinterface satisfaction errors disappear (a separateIaCProvider.BootstrapStateBackendgap remains, out of scope for this PR)Follow-ups
IaCProvider.BootstrapStateBackendmissing on*AWSProvider— separate interface-gap PR needed.Outputskeys merit a non-nilSensitiveKeysreturn.