Skip to content

Comments

feat(batch): add Batch service basic implementation#226

Merged
sivchari merged 4 commits intomainfrom
feat/batch-basic-implementation
Feb 17, 2026
Merged

feat(batch): add Batch service basic implementation#226
sivchari merged 4 commits intomainfrom
feat/batch-basic-implementation

Conversation

@sivchari
Copy link
Owner

Summary

Implement AWS Batch service with the following operations:

  • CreateComputeEnvironment / DeleteComputeEnvironment / DescribeComputeEnvironments
  • CreateJobQueue / DeleteJobQueue / DescribeJobQueues
  • RegisterJobDefinition
  • SubmitJob / DescribeJobs / TerminateJob

Uses AWS JSON 1.1 protocol with X-Amz-Target header routing.

Changes

  • Add internal/service/batch/ with service implementation
  • Add integration tests using AWS SDK v2
  • Register batch service in main.go
  • Add tagliatelle exclusion for batch/types.go

Test plan

  • make lint passes
  • make test passes
  • Integration tests pass with awsim server

Closes #38

@sivchari sivchari force-pushed the feat/batch-basic-implementation branch 4 times, most recently from b181686 to 785acc3 Compare February 13, 2026 07:03
Implement AWS Batch service with the following operations:
- CreateComputeEnvironment
- DeleteComputeEnvironment
- DescribeComputeEnvironments
- CreateJobQueue
- DeleteJobQueue
- DescribeJobQueues
- RegisterJobDefinition
- SubmitJob
- DescribeJobs
- TerminateJob

Uses AWS JSON 1.1 protocol with X-Amz-Target header routing.
Includes in-memory storage and integration tests using AWS SDK v2.

Closes #38
- Add missing AWS SDK batch package dependency
- Fix createBatchClient helper to use inline config loading
- Remove dependency on non-existent loadAWSConfig and testEndpoint
@sivchari sivchari force-pushed the feat/batch-basic-implementation branch from 785acc3 to 510fa71 Compare February 13, 2026 15:29
AWS SDK v2 Batch client uses REST JSON protocol with paths like
/v1/createcomputeenvironment instead of X-Amz-Target header routing.

- Remove JSONProtocolService interface methods (TargetPrefix, JSONProtocol)
- Register REST JSON routes in RegisterRoutes
- Remove DispatchAction and target constants from handlers
- Add SDK-based unit tests

Fixes integration test failures where XML was returned instead of JSON.
Fix test assertion comparing int32 value to *int32 pointer.
The AWS SDK v2 RegisterJobDefinitionOutput.Revision field is *int32,
so it needs to be dereferenced in the assertion.
@github-actions
Copy link
Contributor

📊 Integration Test Coverage Report

Total Coverage: 65.5%

@sivchari sivchari marked this pull request as ready for review February 17, 2026 02:29
@sivchari sivchari merged commit 8daf658 into main Feb 17, 2026
3 checks passed
@sivchari sivchari deleted the feat/batch-basic-implementation branch February 17, 2026 02:30
@github-actions github-actions bot mentioned this pull request Feb 13, 2026
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.

Batch: Service implementation

1 participant