Skip to content

Commit 97c0c10

Browse files
tas50claude
andauthored
✨ Add Batch, Lightsail, CloudFormation, and EventBridge Pipes/Scheduler resources (#6907)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b298954 commit 97c0c10

File tree

12 files changed

+5721
-2
lines changed

12 files changed

+5721
-2
lines changed

.github/actions/spelling/expect.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ Utc
254254
valkey
255255
vertexai
256256
VAULTNAME
257+
Vcpus
257258
vdcs
258259
vdev
259260
VGeneration

providers/aws/connection/clients.go

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import (
1515
"github.com/aws/aws-sdk-go-v2/service/athena"
1616
"github.com/aws/aws-sdk-go-v2/service/autoscaling"
1717
"github.com/aws/aws-sdk-go-v2/service/backup"
18+
"github.com/aws/aws-sdk-go-v2/service/batch"
19+
"github.com/aws/aws-sdk-go-v2/service/cloudformation"
1820
"github.com/aws/aws-sdk-go-v2/service/cloudfront"
1921
"github.com/aws/aws-sdk-go-v2/service/cloudtrail"
2022
"github.com/aws/aws-sdk-go-v2/service/cloudwatch"
@@ -52,20 +54,23 @@ import (
5254
"github.com/aws/aws-sdk-go-v2/service/kinesis"
5355
"github.com/aws/aws-sdk-go-v2/service/kms"
5456
"github.com/aws/aws-sdk-go-v2/service/lambda"
57+
"github.com/aws/aws-sdk-go-v2/service/lightsail"
5558
"github.com/aws/aws-sdk-go-v2/service/macie2"
5659
"github.com/aws/aws-sdk-go-v2/service/memorydb"
5760
"github.com/aws/aws-sdk-go-v2/service/mq"
5861
"github.com/aws/aws-sdk-go-v2/service/neptune"
5962
"github.com/aws/aws-sdk-go-v2/service/networkfirewall"
6063
"github.com/aws/aws-sdk-go-v2/service/opensearch"
6164
"github.com/aws/aws-sdk-go-v2/service/organizations"
65+
"github.com/aws/aws-sdk-go-v2/service/pipes"
6266
"github.com/aws/aws-sdk-go-v2/service/rds"
6367
"github.com/aws/aws-sdk-go-v2/service/redshift"
6468
"github.com/aws/aws-sdk-go-v2/service/route53"
6569
"github.com/aws/aws-sdk-go-v2/service/route53domains"
6670
"github.com/aws/aws-sdk-go-v2/service/s3"
6771
"github.com/aws/aws-sdk-go-v2/service/s3control"
6872
"github.com/aws/aws-sdk-go-v2/service/sagemaker"
73+
"github.com/aws/aws-sdk-go-v2/service/scheduler"
6974
"github.com/aws/aws-sdk-go-v2/service/secretsmanager"
7075
"github.com/aws/aws-sdk-go-v2/service/securityhub"
7176
"github.com/aws/aws-sdk-go-v2/service/shield"
@@ -1801,3 +1806,103 @@ func (t *AwsConnection) ElasticBeanstalk(region string) *elasticbeanstalk.Client
18011806
t.clientcache.Store(cacheVal, &CacheEntry{Data: client})
18021807
return client
18031808
}
1809+
1810+
func (t *AwsConnection) Batch(region string) *batch.Client {
1811+
if len(region) == 0 {
1812+
region = t.cfg.Region
1813+
}
1814+
cacheVal := "_batch_" + region
1815+
1816+
c, ok := t.clientcache.Load(cacheVal)
1817+
if ok {
1818+
log.Debug().Msg("use cached batch client")
1819+
return c.Data.(*batch.Client)
1820+
}
1821+
1822+
cfg := t.cfg.Copy()
1823+
cfg.Region = region
1824+
client := batch.NewFromConfig(cfg)
1825+
1826+
t.clientcache.Store(cacheVal, &CacheEntry{Data: client})
1827+
return client
1828+
}
1829+
1830+
func (t *AwsConnection) CloudFormation(region string) *cloudformation.Client {
1831+
if len(region) == 0 {
1832+
region = t.cfg.Region
1833+
}
1834+
cacheVal := "_cloudformation_" + region
1835+
1836+
c, ok := t.clientcache.Load(cacheVal)
1837+
if ok {
1838+
log.Debug().Msg("use cached cloudformation client")
1839+
return c.Data.(*cloudformation.Client)
1840+
}
1841+
1842+
cfg := t.cfg.Copy()
1843+
cfg.Region = region
1844+
client := cloudformation.NewFromConfig(cfg)
1845+
1846+
t.clientcache.Store(cacheVal, &CacheEntry{Data: client})
1847+
return client
1848+
}
1849+
1850+
func (t *AwsConnection) Lightsail(region string) *lightsail.Client {
1851+
if len(region) == 0 {
1852+
region = t.cfg.Region
1853+
}
1854+
cacheVal := "_lightsail_" + region
1855+
1856+
c, ok := t.clientcache.Load(cacheVal)
1857+
if ok {
1858+
log.Debug().Msg("use cached lightsail client")
1859+
return c.Data.(*lightsail.Client)
1860+
}
1861+
1862+
cfg := t.cfg.Copy()
1863+
cfg.Region = region
1864+
client := lightsail.NewFromConfig(cfg)
1865+
1866+
t.clientcache.Store(cacheVal, &CacheEntry{Data: client})
1867+
return client
1868+
}
1869+
1870+
func (t *AwsConnection) Pipes(region string) *pipes.Client {
1871+
if len(region) == 0 {
1872+
region = t.cfg.Region
1873+
}
1874+
cacheVal := "_pipes_" + region
1875+
1876+
c, ok := t.clientcache.Load(cacheVal)
1877+
if ok {
1878+
log.Debug().Msg("use cached pipes client")
1879+
return c.Data.(*pipes.Client)
1880+
}
1881+
1882+
cfg := t.cfg.Copy()
1883+
cfg.Region = region
1884+
client := pipes.NewFromConfig(cfg)
1885+
1886+
t.clientcache.Store(cacheVal, &CacheEntry{Data: client})
1887+
return client
1888+
}
1889+
1890+
func (t *AwsConnection) Scheduler(region string) *scheduler.Client {
1891+
if len(region) == 0 {
1892+
region = t.cfg.Region
1893+
}
1894+
cacheVal := "_scheduler_" + region
1895+
1896+
c, ok := t.clientcache.Load(cacheVal)
1897+
if ok {
1898+
log.Debug().Msg("use cached scheduler client")
1899+
return c.Data.(*scheduler.Client)
1900+
}
1901+
1902+
cfg := t.cfg.Copy()
1903+
cfg.Region = region
1904+
client := scheduler.NewFromConfig(cfg)
1905+
1906+
t.clientcache.Store(cacheVal, &CacheEntry{Data: client})
1907+
return client
1908+
}

providers/aws/go.mod

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ require (
1818
github.com/aws/aws-sdk-go-v2/service/athena v1.57.3
1919
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.64.3
2020
github.com/aws/aws-sdk-go-v2/service/backup v1.54.9
21+
github.com/aws/aws-sdk-go-v2/service/batch v1.61.2
22+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.71.8
2123
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.60.3
2224
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.55.8
2325
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.55.2
@@ -55,20 +57,23 @@ require (
5557
github.com/aws/aws-sdk-go-v2/service/kinesis v1.43.3
5658
github.com/aws/aws-sdk-go-v2/service/kms v1.50.3
5759
github.com/aws/aws-sdk-go-v2/service/lambda v1.88.3
60+
github.com/aws/aws-sdk-go-v2/service/lightsail v1.50.14
5861
github.com/aws/aws-sdk-go-v2/service/macie2 v1.50.12
5962
github.com/aws/aws-sdk-go-v2/service/memorydb v1.33.13
6063
github.com/aws/aws-sdk-go-v2/service/mq v1.34.18
6164
github.com/aws/aws-sdk-go-v2/service/neptune v1.44.2
6265
github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.59.6
6366
github.com/aws/aws-sdk-go-v2/service/opensearch v1.60.1
6467
github.com/aws/aws-sdk-go-v2/service/organizations v1.50.5
68+
github.com/aws/aws-sdk-go-v2/service/pipes v1.23.19
6569
github.com/aws/aws-sdk-go-v2/service/rds v1.116.3
6670
github.com/aws/aws-sdk-go-v2/service/redshift v1.62.4
6771
github.com/aws/aws-sdk-go-v2/service/route53 v1.62.4
6872
github.com/aws/aws-sdk-go-v2/service/route53domains v1.34.18
6973
github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1
7074
github.com/aws/aws-sdk-go-v2/service/s3control v1.68.3
7175
github.com/aws/aws-sdk-go-v2/service/sagemaker v1.236.1
76+
github.com/aws/aws-sdk-go-v2/service/scheduler v1.17.21
7277
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.4
7378
github.com/aws/aws-sdk-go-v2/service/securityhub v1.68.2
7479
github.com/aws/aws-sdk-go-v2/service/shield v1.34.20

providers/aws/go.sum

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,10 @@ github.com/aws/aws-sdk-go-v2/service/autoscaling v1.64.3 h1:YBBu7ZhnMkHjBCFVa50N
183183
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.64.3/go.mod h1:wRRzL5slhAzg/F8SwmTgIl3XXFB4V+X1t5qmuJf+O6k=
184184
github.com/aws/aws-sdk-go-v2/service/backup v1.54.9 h1:4ljBhnCcrhtpt/0dK3NOHzP4DnrdQx/yo0fQfoWzGZE=
185185
github.com/aws/aws-sdk-go-v2/service/backup v1.54.9/go.mod h1:WTHh7IUlJVDA2JFm4ERgQ1hQ6QXtiHVFcyjvBj+57V0=
186+
github.com/aws/aws-sdk-go-v2/service/batch v1.61.2 h1:0PZZHRCD+loUufL2bawAiyWCRa7yzqRqJiaeRUXnB68=
187+
github.com/aws/aws-sdk-go-v2/service/batch v1.61.2/go.mod h1:nzRjG8jjDCzXiP3nuQuqdFGazWCRcZIFtnnE2UxiGFs=
188+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.71.8 h1:HUrv48rEM3iPu1o58cUoPFNKiENQgbt6JRqyHP9RylE=
189+
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.71.8/go.mod h1:cFUls2LH2i5ixoLk+uEvbLQ0bb0+UhKJysHAlFEmr28=
186190
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.60.3 h1:RB1bsGTqfbLymRdVDqHoomyZ6XfPcXtBP041qHLtlv4=
187191
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.60.3/go.mod h1:hF/cipBvnkoCnN0v+lw1ZnKTj6LyDfSX7yZW2d9buJQ=
188192
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.55.8 h1:m8K+38xc7Hns3qR1uyMLOwZ//CGuTzo4oOh6Alxrzc0=
@@ -269,6 +273,8 @@ github.com/aws/aws-sdk-go-v2/service/kms v1.50.3 h1:s/zDSG/a/Su9aX+v0Ld9cimUCdkr
269273
github.com/aws/aws-sdk-go-v2/service/kms v1.50.3/go.mod h1:/iSgiUor15ZuxFGQSTf3lA2FmKxFsQoc2tADOarQBSw=
270274
github.com/aws/aws-sdk-go-v2/service/lambda v1.88.3 h1:VlSZQKfbHSjeKJaTpBfp3WVxPH7qa2SbneFtjT9vft8=
271275
github.com/aws/aws-sdk-go-v2/service/lambda v1.88.3/go.mod h1:/C3/ZU9bR0pjMwIYivZVpdcj4HjvOfk+OTPiiXKoTSE=
276+
github.com/aws/aws-sdk-go-v2/service/lightsail v1.50.14 h1:eVAXKM8ULqkkdA+Dok2pe0pczgrqpVqsSqOjeP+PxUw=
277+
github.com/aws/aws-sdk-go-v2/service/lightsail v1.50.14/go.mod h1:YvX7hjUWecrKX8fBkbEncyddEW85xjNH+u5JHioITOw=
272278
github.com/aws/aws-sdk-go-v2/service/macie2 v1.50.12 h1:a9DbBWqsbu+wyiO7YWx1DvC5oLgQF+eYnjsZKXaoTKs=
273279
github.com/aws/aws-sdk-go-v2/service/macie2 v1.50.12/go.mod h1:h0n7EaY6ZTC4zRxOuSpXUJD/wPp5fBohPqO9MaDy48U=
274280
github.com/aws/aws-sdk-go-v2/service/memorydb v1.33.13 h1:09GT2ebneZH2MNpLJBGNE3v6BBJl/wazfveOn6j1nGQ=
@@ -283,6 +289,8 @@ github.com/aws/aws-sdk-go-v2/service/opensearch v1.60.1 h1:QAi6CqC2U03SIxyWmoXIv
283289
github.com/aws/aws-sdk-go-v2/service/opensearch v1.60.1/go.mod h1:7XWoG2/GxmdXCmqEUL39kknKvPU3GKl79xsGiCXuZM4=
284290
github.com/aws/aws-sdk-go-v2/service/organizations v1.50.5 h1:V0skJdwjmwcaxtGy2ws1WdBhG5Nkz6A/Ghvl6HXwzNc=
285291
github.com/aws/aws-sdk-go-v2/service/organizations v1.50.5/go.mod h1:GIRcFyaju2WCHMsO1JkoSxBUGgXplULEXIJYdevIba4=
292+
github.com/aws/aws-sdk-go-v2/service/pipes v1.23.19 h1:cMezVSuM1hFUQCT3kPv69aZ2LQGhAbhjcHk/wzzqOG0=
293+
github.com/aws/aws-sdk-go-v2/service/pipes v1.23.19/go.mod h1:afcjV0gwldzfVED3cAR4xhqbVDCk/l9OrE/gMeSdhrU=
286294
github.com/aws/aws-sdk-go-v2/service/rds v1.116.3 h1:H/ZYZ6QR4EXJAYElI5xkIM/yCz+A4uHIvWpzl+IfJks=
287295
github.com/aws/aws-sdk-go-v2/service/rds v1.116.3/go.mod h1:QbXW4coAMakHQhf1qhE0eVVCen9gwB/Kvn+HHHKhpGY=
288296
github.com/aws/aws-sdk-go-v2/service/redshift v1.62.4 h1:PpPM+T4ZyyTH52zda5GwrvSYlT7MEdPUGsMKKFGPQGQ=
@@ -297,6 +305,8 @@ github.com/aws/aws-sdk-go-v2/service/s3control v1.68.3 h1:qXGxPra1Z5tMujoSgt3W3Z
297305
github.com/aws/aws-sdk-go-v2/service/s3control v1.68.3/go.mod h1:Fv7MC8Noma/3xLjV6jDhiHuSgVnyB2+CnbI5PZ5LBbw=
298306
github.com/aws/aws-sdk-go-v2/service/sagemaker v1.236.1 h1:IxE2S/0VBMpZfv8b6qA7LlOD3gCFuxjhLCTT9Nw6czQ=
299307
github.com/aws/aws-sdk-go-v2/service/sagemaker v1.236.1/go.mod h1:isB1qPK5Nms0/Mseyx9sibaps51bu9nk01c6ltFGUoA=
308+
github.com/aws/aws-sdk-go-v2/service/scheduler v1.17.21 h1:PXsWg8Shok6JwNQ2ImU9kQbsj4PkE3FH/7v86XxJftQ=
309+
github.com/aws/aws-sdk-go-v2/service/scheduler v1.17.21/go.mod h1:RXpd3Unqzl4PxmAur766LbHn2pZHK+gtf5ElvIFf+ik=
300310
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.4 h1:9aZbO86sraeCIHHCpZhxwN9tnVy9POkSKzi4/TpT54A=
301311
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.4/go.mod h1:cxiXDhEzIq7Xx1BtmC4lGBK3SwAZ79+EUWiKawYHo14=
302312
github.com/aws/aws-sdk-go-v2/service/securityhub v1.68.2 h1:FqGvGaRzvB6JLJvzNoBpyHkqe0pDzsan5FXLYvdfRi8=

0 commit comments

Comments
 (0)