Skip to content

Commit b85b1f2

Browse files
author
awstools
committed
feat(client-eventbridge): Added support for EventBridge Dualstack endpoints in AWS GovCloud (US) regions (us-gov-east-1 and us-gov-west-1). The dualstack endpoints are identical for both FIPS and non-FIPS configurations, following the format: events.{region}.api.aws
1 parent cffa711 commit b85b1f2

File tree

2 files changed

+203
-74
lines changed

2 files changed

+203
-74
lines changed

clients/client-eventbridge/src/endpoint/ruleset.ts

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,40 @@ import { RuleSetObject } from "@smithy/types";
66
or see "smithy.rules#endpointRuleSet"
77
in codegen/sdk-codegen/aws-models/eventbridge.json */
88

9-
const B="required",
10-
C="type",
11-
D="fn",
12-
E="argv",
13-
F="ref";
9+
const E="required",
10+
F="type",
11+
G="fn",
12+
H="argv",
13+
I="ref";
1414
const a=false,
1515
b=true,
1616
c="isSet",
17-
d="booleanEquals",
18-
e="endpoint",
19-
f="tree",
20-
g="error",
21-
h="stringEquals",
22-
i={[B]:false,[C]:"String"},
23-
j={[B]:true,"default":false,[C]:"Boolean"},
24-
k={[F]:"EndpointId"},
25-
l={[D]:c,[E]:[{[F]:"Region"}]},
26-
m={[F]:"Region"},
27-
n={[D]:"aws.partition",[E]:[m],"assign":"PartitionResult"},
28-
o={[F]:"UseFIPS"},
29-
p={[F]:"Endpoint"},
30-
q={"authSchemes":[{"name":"sigv4a","signingName":"events","signingRegionSet":["*"]}]},
31-
r={},
32-
s={[D]:d,[E]:[{[F]:"UseDualStack"},true]},
33-
t={[D]:d,[E]:[true,{[D]:"getAttr",[E]:[{[F]:"PartitionResult"},"supportsDualStack"]}]},
34-
u={[g]:"DualStack is enabled but this partition does not support DualStack",[C]:g},
35-
v={[D]:d,[E]:[o,true]},
36-
w={[D]:"getAttr",[E]:[{[F]:"PartitionResult"},"supportsFIPS"]},
37-
x=[{[D]:c,[E]:[p]}],
38-
y=[s],
39-
z=[t],
40-
A=[v];
41-
const _data={version:"1.0",parameters:{Region:i,UseDualStack:j,UseFIPS:j,Endpoint:i,EndpointId:i},rules:[{conditions:[{[D]:c,[E]:[k]},l,n],rules:[{conditions:[{[D]:"isValidHostLabel",[E]:[k,b]}],rules:[{conditions:[{[D]:d,[E]:[o,a]}],rules:[{conditions:x,endpoint:{url:p,properties:q,headers:r},[C]:e},{conditions:y,rules:[{conditions:z,rules:[{endpoint:{url:"https://{EndpointId}.endpoint.events.{PartitionResult#dualStackDnsSuffix}",properties:q,headers:r},[C]:e}],[C]:f},u],[C]:f},{endpoint:{url:"https://{EndpointId}.endpoint.events.{PartitionResult#dnsSuffix}",properties:q,headers:r},[C]:e}],[C]:f},{error:"Invalid Configuration: FIPS is not supported with EventBridge multi-region endpoints.",[C]:g}],[C]:f},{error:"EndpointId must be a valid host label.",[C]:g}],[C]:f},{conditions:x,rules:[{conditions:A,error:"Invalid Configuration: FIPS and custom endpoint are not supported",[C]:g},{conditions:y,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",[C]:g},{endpoint:{url:p,properties:r,headers:r},[C]:e}],[C]:f},{conditions:[l],rules:[{conditions:[n],rules:[{conditions:[v,s],rules:[{conditions:[{[D]:d,[E]:[b,w]},t],rules:[{endpoint:{url:"https://events-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:r,headers:r},[C]:e}],[C]:f},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",[C]:g}],[C]:f},{conditions:A,rules:[{conditions:[{[D]:d,[E]:[w,b]}],rules:[{conditions:[{[D]:h,[E]:[m,"us-gov-east-1"]}],endpoint:{url:"https://events.us-gov-east-1.amazonaws.com",properties:r,headers:r},[C]:e},{conditions:[{[D]:h,[E]:[m,"us-gov-west-1"]}],endpoint:{url:"https://events.us-gov-west-1.amazonaws.com",properties:r,headers:r},[C]:e},{endpoint:{url:"https://events-fips.{Region}.{PartitionResult#dnsSuffix}",properties:r,headers:r},[C]:e}],[C]:f},{error:"FIPS is enabled but this partition does not support FIPS",[C]:g}],[C]:f},{conditions:y,rules:[{conditions:z,rules:[{endpoint:{url:"https://events.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:r,headers:r},[C]:e}],[C]:f},u],[C]:f},{endpoint:{url:"https://events.{Region}.{PartitionResult#dnsSuffix}",properties:r,headers:r},[C]:e}],[C]:f}],[C]:f},{error:"Invalid Configuration: Missing Region",[C]:g}]};
17+
d="stringEquals",
18+
e="getAttr",
19+
f="booleanEquals",
20+
g="endpoint",
21+
h="tree",
22+
i="error",
23+
j={[E]:false,[F]:"String"},
24+
k={[E]:true,"default":false,[F]:"Boolean"},
25+
l={[I]:"Endpoint"},
26+
m={[G]:c,[H]:[{[I]:"Region"}]},
27+
n={[I]:"Region"},
28+
o={[G]:"aws.partition",[H]:[n],"assign":"PartitionResult"},
29+
p={[I]:"PartitionResult"},
30+
q={[G]:f,[H]:[{[I]:"UseFIPS"},true]},
31+
r={[I]:"UseFIPS"},
32+
s={[G]:f,[H]:[{[I]:"UseDualStack"},true]},
33+
t={"url":"https://events.{Region}.{PartitionResult#dualStackDnsSuffix}","properties":{},"headers":{}},
34+
u={},
35+
v={[I]:"EndpointId"},
36+
w={"authSchemes":[{"name":"sigv4a","signingName":"events","signingRegionSet":["*"]}]},
37+
x={[G]:f,[H]:[true,{[G]:e,[H]:[p,"supportsDualStack"]}]},
38+
y={[i]:"DualStack is enabled but this partition does not support DualStack",[F]:i},
39+
z={[G]:e,[H]:[p,"supportsFIPS"]},
40+
A=[{[G]:c,[H]:[l]}],
41+
B=[s],
42+
C=[x],
43+
D=[q];
44+
const _data={version:"1.0",parameters:{Region:j,UseDualStack:k,UseFIPS:k,Endpoint:j,EndpointId:j},rules:[{conditions:[{[G]:"not",[H]:A},m,o,{[G]:d,[H]:[{[G]:e,[H]:[p,"name"]},"aws-us-gov"]},q,s],endpoint:t,[F]:g},{conditions:[{[G]:c,[H]:[v]},m,o],rules:[{conditions:[{[G]:"isValidHostLabel",[H]:[v,b]}],rules:[{conditions:[{[G]:f,[H]:[r,a]}],rules:[{conditions:A,endpoint:{url:l,properties:w,headers:u},[F]:g},{conditions:B,rules:[{conditions:C,rules:[{endpoint:{url:"https://{EndpointId}.endpoint.events.{PartitionResult#dualStackDnsSuffix}",properties:w,headers:u},[F]:g}],[F]:h},y],[F]:h},{endpoint:{url:"https://{EndpointId}.endpoint.events.{PartitionResult#dnsSuffix}",properties:w,headers:u},[F]:g}],[F]:h},{error:"Invalid Configuration: FIPS is not supported with EventBridge multi-region endpoints.",[F]:i}],[F]:h},{error:"EndpointId must be a valid host label.",[F]:i}],[F]:h},{conditions:A,rules:[{conditions:D,error:"Invalid Configuration: FIPS and custom endpoint are not supported",[F]:i},{conditions:B,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",[F]:i},{endpoint:{url:l,properties:u,headers:u},[F]:g}],[F]:h},{conditions:[m],rules:[{conditions:[o],rules:[{conditions:[q,s],rules:[{conditions:[{[G]:f,[H]:[b,z]},x],rules:[{endpoint:{url:"https://events-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:u,headers:u},[F]:g}],[F]:h},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",[F]:i}],[F]:h},{conditions:D,rules:[{conditions:[{[G]:f,[H]:[z,b]}],rules:[{conditions:[{[G]:d,[H]:[n,"us-gov-east-1"]}],endpoint:{url:"https://events.us-gov-east-1.amazonaws.com",properties:u,headers:u},[F]:g},{conditions:[{[G]:d,[H]:[n,"us-gov-west-1"]}],endpoint:{url:"https://events.us-gov-west-1.amazonaws.com",properties:u,headers:u},[F]:g},{endpoint:{url:"https://events-fips.{Region}.{PartitionResult#dnsSuffix}",properties:u,headers:u},[F]:g}],[F]:h},{error:"FIPS is enabled but this partition does not support FIPS",[F]:i}],[F]:h},{conditions:B,rules:[{conditions:C,rules:[{endpoint:t,[F]:g}],[F]:h},y],[F]:h},{endpoint:{url:"https://events.{Region}.{PartitionResult#dnsSuffix}",properties:u,headers:u},[F]:g}],[F]:h}],[F]:h},{error:"Invalid Configuration: Missing Region",[F]:i}]};
4245
export const ruleSet: RuleSetObject = _data;

codegen/sdk-codegen/aws-models/eventbridge.json

Lines changed: 170 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,79 @@
258258
}
259259
},
260260
"rules": [
261+
{
262+
"conditions": [
263+
{
264+
"fn": "not",
265+
"argv": [
266+
{
267+
"fn": "isSet",
268+
"argv": [
269+
{
270+
"ref": "Endpoint"
271+
}
272+
]
273+
}
274+
]
275+
},
276+
{
277+
"fn": "isSet",
278+
"argv": [
279+
{
280+
"ref": "Region"
281+
}
282+
]
283+
},
284+
{
285+
"fn": "aws.partition",
286+
"argv": [
287+
{
288+
"ref": "Region"
289+
}
290+
],
291+
"assign": "PartitionResult"
292+
},
293+
{
294+
"fn": "stringEquals",
295+
"argv": [
296+
{
297+
"fn": "getAttr",
298+
"argv": [
299+
{
300+
"ref": "PartitionResult"
301+
},
302+
"name"
303+
]
304+
},
305+
"aws-us-gov"
306+
]
307+
},
308+
{
309+
"fn": "booleanEquals",
310+
"argv": [
311+
{
312+
"ref": "UseFIPS"
313+
},
314+
true
315+
]
316+
},
317+
{
318+
"fn": "booleanEquals",
319+
"argv": [
320+
{
321+
"ref": "UseDualStack"
322+
},
323+
true
324+
]
325+
}
326+
],
327+
"endpoint": {
328+
"url": "https://events.{Region}.{PartitionResult#dualStackDnsSuffix}",
329+
"properties": {},
330+
"headers": {}
331+
},
332+
"type": "endpoint"
333+
},
261334
{
262335
"conditions": [
263336
{
@@ -1202,19 +1275,6 @@
12021275
"UseDualStack": false
12031276
}
12041277
},
1205-
{
1206-
"documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
1207-
"expect": {
1208-
"endpoint": {
1209-
"url": "https://events.us-gov-east-1.amazonaws.com"
1210-
}
1211-
},
1212-
"params": {
1213-
"Region": "us-gov-east-1",
1214-
"UseFIPS": true,
1215-
"UseDualStack": false
1216-
}
1217-
},
12181278
{
12191279
"documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled",
12201280
"expect": {
@@ -1228,32 +1288,6 @@
12281288
"UseDualStack": false
12291289
}
12301290
},
1231-
{
1232-
"documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled",
1233-
"expect": {
1234-
"endpoint": {
1235-
"url": "https://events.us-gov-west-1.amazonaws.com"
1236-
}
1237-
},
1238-
"params": {
1239-
"Region": "us-gov-west-1",
1240-
"UseFIPS": true,
1241-
"UseDualStack": false
1242-
}
1243-
},
1244-
{
1245-
"documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
1246-
"expect": {
1247-
"endpoint": {
1248-
"url": "https://events-fips.us-gov-east-1.api.aws"
1249-
}
1250-
},
1251-
"params": {
1252-
"Region": "us-gov-east-1",
1253-
"UseFIPS": true,
1254-
"UseDualStack": true
1255-
}
1256-
},
12571291
{
12581292
"documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
12591293
"expect": {
@@ -1570,15 +1604,107 @@
15701604
}
15711605
},
15721606
{
1573-
"documentation": "Valid EndpointId with DualStack enabled and partition does not support DualStack",
1607+
"documentation": "legacy fips endpoint @ us-gov-east-1",
15741608
"expect": {
1575-
"error": "DualStack is enabled but this partition does not support DualStack"
1609+
"endpoint": {
1610+
"url": "https://events.us-gov-east-1.amazonaws.com"
1611+
}
15761612
},
15771613
"params": {
1578-
"EndpointId": "abc123.456def",
1614+
"Region": "us-gov-east-1",
1615+
"UseDualStack": false,
1616+
"UseFIPS": true
1617+
}
1618+
},
1619+
{
1620+
"documentation": "legacy non-fips endpoint @ us-gov-east-1",
1621+
"expect": {
1622+
"endpoint": {
1623+
"url": "https://events.us-gov-east-1.amazonaws.com"
1624+
}
1625+
},
1626+
"params": {
1627+
"Region": "us-gov-east-1",
1628+
"UseDualStack": false,
1629+
"UseFIPS": false
1630+
}
1631+
},
1632+
{
1633+
"documentation": "Dualstack fips endpoint @ us-gov-east-1",
1634+
"expect": {
1635+
"endpoint": {
1636+
"url": "https://events.us-gov-east-1.api.aws"
1637+
}
1638+
},
1639+
"params": {
1640+
"Region": "us-gov-east-1",
15791641
"UseDualStack": true,
1580-
"UseFIPS": false,
1581-
"Region": "us-isob-east-1"
1642+
"UseFIPS": true
1643+
}
1644+
},
1645+
{
1646+
"documentation": "Dualstack non-fips endpoint @ us-gov-east-1",
1647+
"expect": {
1648+
"endpoint": {
1649+
"url": "https://events.us-gov-east-1.api.aws"
1650+
}
1651+
},
1652+
"params": {
1653+
"Region": "us-gov-east-1",
1654+
"UseDualStack": true,
1655+
"UseFIPS": false
1656+
}
1657+
},
1658+
{
1659+
"documentation": "legacy fips endpoint @ us-gov-west-1",
1660+
"expect": {
1661+
"endpoint": {
1662+
"url": "https://events.us-gov-west-1.amazonaws.com"
1663+
}
1664+
},
1665+
"params": {
1666+
"Region": "us-gov-west-1",
1667+
"UseDualStack": false,
1668+
"UseFIPS": true
1669+
}
1670+
},
1671+
{
1672+
"documentation": "legacy non-fips endpoint @ us-gov-west-1",
1673+
"expect": {
1674+
"endpoint": {
1675+
"url": "https://events.us-gov-west-1.amazonaws.com"
1676+
}
1677+
},
1678+
"params": {
1679+
"Region": "us-gov-west-1",
1680+
"UseDualStack": false,
1681+
"UseFIPS": false
1682+
}
1683+
},
1684+
{
1685+
"documentation": "Dualstack fips endpoint @ us-gov-west-1",
1686+
"expect": {
1687+
"endpoint": {
1688+
"url": "https://events.us-gov-west-1.api.aws"
1689+
}
1690+
},
1691+
"params": {
1692+
"Region": "us-gov-west-1",
1693+
"UseDualStack": true,
1694+
"UseFIPS": true
1695+
}
1696+
},
1697+
{
1698+
"documentation": "Dualstack non-fips endpoint @ us-gov-west-1",
1699+
"expect": {
1700+
"endpoint": {
1701+
"url": "https://events.us-gov-west-1.api.aws"
1702+
}
1703+
},
1704+
"params": {
1705+
"Region": "us-gov-west-1",
1706+
"UseDualStack": true,
1707+
"UseFIPS": false
15821708
}
15831709
}
15841710
],

0 commit comments

Comments
 (0)