Skip to content

feat(networkmonitor): implement CloudWatch Network Monitor service (go-3wm1)#2235

Merged
agbishop merged 9 commits into
mainfrom
polecat/jasper/go-3wm1@mqbqeccj
Jun 13, 2026
Merged

feat(networkmonitor): implement CloudWatch Network Monitor service (go-3wm1)#2235
agbishop merged 9 commits into
mainfrom
polecat/jasper/go-3wm1@mqbqeccj

Conversation

@agbishop

Copy link
Copy Markdown
Collaborator

Implement new services/networkmonitor with full AWS parity.

Implementation

  • CloudWatch Network Monitor service (previously missing)
  • Stateful InMemoryBackend with region-isolated context-based handling
  • Complete Monitor and Probe resource lifecycle
  • Full CRUD operations: Create/Get/Update/Delete/List for Monitors and Probes
  • Tagging support for Monitors

API Coverage

  • AWS-accurate shapes and ARNs
  • AWS-compliant error codes
  • Pagination support
  • Full validation matching AWS behavior

Testing

  • isolation_test.go for region isolation verification
  • Table-driven tests for all operations
  • Terraform provider-aws networkmonitor compatibility
  • 2000+ lines of implementation and tests

Verification

  • go build ./... ✓
  • go vet ./... (with -tags=e2e, -tags=integration) ✓
  • go test ./services/networkmonitor/... ✓
  • golangci-lint clean (0 issues) ✓
  • gofmt ✓

…— full AWS parity) (go-3wm1)

Add CloudWatch Network Monitor service with full CRUD lifecycle for Monitors
and Probes, context-based region isolation, tagging support, pagination, and
SDK completeness verification.

- Monitor: Create/Get/Update/Delete/List with aggregation period validation
- Probe: Create/Get/Update/Delete with TCP port validation and address family detection
- Tagging: ListTagsForResource/TagResource/UntagResource for monitors and probes
- REST handler at /monitors and /tags/{resourceArn} paths
- InMemoryBackend with region-isolated storage (regionContextKey pattern)
- Snapshot/Restore persistence
- sdk_completeness_test.go against aws-sdk-go-v2 networkmonitor client
- Table-driven tests for backend and handler layers
- Provider registered in cli.go and teststack.go
@agbishop agbishop enabled auto-merge (squash) June 13, 2026 02:39
@agbishop

agbishop commented Jun 13, 2026

Copy link
Copy Markdown
Collaborator Author

📊 Code Coverage Report

Metric Value Status
Total Coverage 0.0%
82.7%
New Code Coverage N/A (0/0 stmts)

Tip

This project maintains a minimum coverage threshold of 85%. Maintain or improve coverage on new code to ensure long-term stability.


Last updated: Sat, 13 Jun 2026 08:07:54 GMT

amber added 4 commits June 12, 2026 22:43
- Apply goimports import ordering
- Apply golines line-length formatting
- Remove verbose comments on constants (godot lint)
- Move arnSplitParts to backend, rename arnColonParts (avoid handler unused)
- Merge latest main
Move mediastoredata provider to getLatestServiceProviders helper to bring
getServiceProviders below the 100-line funlen limit.
@agbishop agbishop merged commit 6796096 into main Jun 13, 2026
26 checks passed
@agbishop agbishop deleted the polecat/jasper/go-3wm1@mqbqeccj branch June 13, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant