Skip to content

Commit c763e40

Browse files
author
awstools
committed
feat(client-dynamodb-streams): Added support for IPv6 compatible endpoints for DynamoDB Streams.
1 parent dcc6ea3 commit c763e40

File tree

3 files changed

+1997
-2113
lines changed

3 files changed

+1997
-2113
lines changed

clients/client-dynamodb-streams/src/endpoint/EndpointParameters.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import { Endpoint, EndpointParameters as __EndpointParameters, EndpointV2, Provi
55
* @public
66
*/
77
export interface ClientInputEndpointParameters {
8-
region?: string | undefined | Provider<string | undefined>;
98
useDualstackEndpoint?: boolean | undefined | Provider<boolean | undefined>;
109
useFipsEndpoint?: boolean | undefined | Provider<boolean | undefined>;
1110
endpoint?: string | Provider<string> | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>;
11+
region?: string | undefined | Provider<string | undefined>;
1212
}
1313

1414
export type ClientResolvedEndpointParameters = Omit<ClientInputEndpointParameters, "endpoint"> & {
@@ -33,8 +33,8 @@ export const commonParams = {
3333
} as const;
3434

3535
export interface EndpointParameters extends __EndpointParameters {
36-
Region?: string | undefined;
3736
UseDualStack?: boolean | undefined;
3837
UseFIPS?: boolean | undefined;
3938
Endpoint?: string | undefined;
39+
Region?: string | undefined;
4040
}

clients/client-dynamodb-streams/src/endpoint/ruleset.ts

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,36 @@ import { RuleSetObject } from "@smithy/types";
66
or see "smithy.rules#endpointRuleSet"
77
in codegen/sdk-codegen/aws-models/dynamodb-streams.json */
88

9-
const x="required",
10-
y="fn",
11-
z="argv",
12-
A="ref";
9+
const y="required",
10+
z="fn",
11+
A="argv",
12+
B="ref",
13+
C="url",
14+
D="properties",
15+
E="headers";
1316
const a=true,
1417
b="isSet",
1518
c="booleanEquals",
1619
d="error",
1720
e="endpoint",
1821
f="tree",
1922
g="PartitionResult",
20-
h="stringEquals",
21-
i="aws-us-gov",
22-
j={[x]:false,"type":"String"},
23-
k={[x]:true,"default":false,"type":"Boolean"},
24-
l={[A]:"Endpoint"},
25-
m={[y]:c,[z]:[{[A]:"UseFIPS"},true]},
26-
n={[y]:c,[z]:[{[A]:"UseDualStack"},true]},
27-
o={},
28-
p={[A]:"Region"},
29-
q={[y]:"getAttr",[z]:[{[A]:g},"supportsFIPS"]},
30-
r={[y]:c,[z]:[true,{[y]:"getAttr",[z]:[{[A]:g},"supportsDualStack"]}]},
31-
s={[y]:"getAttr",[z]:[{[A]:g},"name"]},
32-
t={"url":"https://streams.dynamodb.{Region}.amazonaws.com","properties":{},"headers":{}},
33-
u=[m],
34-
v=[n],
35-
w=[p];
36-
const _data={version:"1.0",parameters:{Region:j,UseDualStack:k,UseFIPS:k,Endpoint:j},rules:[{conditions:[{[y]:b,[z]:[l]}],rules:[{conditions:u,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:d},{conditions:v,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:d},{endpoint:{url:l,properties:o,headers:o},type:e}],type:f},{conditions:[{[y]:b,[z]:w}],rules:[{conditions:[{[y]:"aws.partition",[z]:w,assign:g}],rules:[{conditions:[m,n],rules:[{conditions:[{[y]:c,[z]:[a,q]},r],rules:[{endpoint:{url:"https://streams.dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:o,headers:o},type:e}],type:f},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:d}],type:f},{conditions:u,rules:[{conditions:[{[y]:c,[z]:[q,a]}],rules:[{conditions:[{[y]:h,[z]:[s,i]}],endpoint:t,type:e},{endpoint:{url:"https://streams.dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}",properties:o,headers:o},type:e}],type:f},{error:"FIPS is enabled but this partition does not support FIPS",type:d}],type:f},{conditions:v,rules:[{conditions:[r],rules:[{endpoint:{url:"https://streams.dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:o,headers:o},type:e}],type:f},{error:"DualStack is enabled but this partition does not support DualStack",type:d}],type:f},{conditions:[{[y]:h,[z]:[p,"local"]}],endpoint:{url:"http://localhost:8000",properties:{authSchemes:[{name:"sigv4",signingName:"dynamodb",signingRegion:"us-east-1"}]},headers:o},type:e},{conditions:[{[y]:h,[z]:["aws",s]}],endpoint:t,type:e},{conditions:[{[y]:h,[z]:["aws-cn",s]}],endpoint:{url:"https://streams.dynamodb.{Region}.amazonaws.com.cn",properties:o,headers:o},type:e},{conditions:[{[y]:h,[z]:[i,s]}],endpoint:t,type:e},{conditions:[{[y]:h,[z]:["aws-iso",s]}],endpoint:{url:"https://streams.dynamodb.{Region}.c2s.ic.gov",properties:o,headers:o},type:e},{conditions:[{[y]:h,[z]:["aws-iso-b",s]}],endpoint:{url:"https://streams.dynamodb.{Region}.sc2s.sgov.gov",properties:o,headers:o},type:e},{endpoint:{url:"https://streams.dynamodb.{Region}.{PartitionResult#dnsSuffix}",properties:o,headers:o},type:e}],type:f}],type:f},{error:"Invalid Configuration: Missing Region",type:d}]};
23+
h={[y]:true,"default":false,"type":"Boolean"},
24+
i={[y]:false,"type":"String"},
25+
j={[B]:"Endpoint"},
26+
k={[z]:c,[A]:[{[B]:"UseFIPS"},true]},
27+
l={[z]:c,[A]:[{[B]:"UseDualStack"},true]},
28+
m={},
29+
n={[z]:"stringEquals",[A]:[{[z]:"getAttr",[A]:[{[B]:g},"name"]},"aws"]},
30+
o={[z]:c,[A]:[{[B]:"UseFIPS"},false]},
31+
p={[C]:"https://streams-dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}",[D]:{},[E]:{}},
32+
q={[C]:"https://streams-dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",[D]:{},[E]:{}},
33+
r={[z]:"stringEquals",[A]:[{[z]:"getAttr",[A]:[{[B]:g},"name"]},"aws-cn"]},
34+
s={[z]:"stringEquals",[A]:[{[z]:"getAttr",[A]:[{[B]:g},"name"]},"aws-us-gov"]},
35+
t={[z]:c,[A]:[{[B]:"UseDualStack"},false]},
36+
u={[C]:"https://streams.dynamodb.{Region}.{PartitionResult#dnsSuffix}",[D]:{},[E]:{}},
37+
v={[z]:"getAttr",[A]:[{[B]:g},"supportsFIPS"]},
38+
w={[z]:c,[A]:[true,{[z]:"getAttr",[A]:[{[B]:g},"supportsDualStack"]}]},
39+
x=[{[B]:"Region"}];
40+
const _data={version:"1.0",parameters:{UseDualStack:h,UseFIPS:h,Endpoint:i,Region:i},rules:[{conditions:[{[z]:b,[A]:[j]}],rules:[{conditions:[k],error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:d},{rules:[{conditions:[l],error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:d},{endpoint:{[C]:j,[D]:m,[E]:m},type:e}],type:f}],type:f},{rules:[{conditions:[{[z]:b,[A]:x}],rules:[{conditions:[{[z]:"aws.partition",[A]:x,assign:g}],rules:[{conditions:[n,o,l],endpoint:p,type:e},{conditions:[n,k,l],endpoint:q,type:e},{conditions:[r,o,l],endpoint:p,type:e},{conditions:[r,k,l],endpoint:q,type:e},{conditions:[s,o,l],endpoint:p,type:e},{conditions:[s,k,l],endpoint:q,type:e},{conditions:[s,k,t],endpoint:u,type:e},{conditions:[k,l],rules:[{conditions:[{[z]:c,[A]:[a,v]},w],rules:[{endpoint:{[C]:"https://streams.dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",[D]:m,[E]:m},type:e}],type:f},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:d}],type:f},{conditions:[k,t],rules:[{conditions:[{[z]:c,[A]:[v,a]}],rules:[{endpoint:{[C]:"https://streams.dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}",[D]:m,[E]:m},type:e}],type:f},{error:"FIPS is enabled but this partition does not support FIPS",type:d}],type:f},{conditions:[o,l],rules:[{conditions:[w],rules:[{endpoint:{[C]:"https://streams.dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}",[D]:m,[E]:m},type:e}],type:f},{error:"DualStack is enabled but this partition does not support DualStack",type:d}],type:f},{endpoint:u,type:e}],type:f}],type:f},{error:"Invalid Configuration: Missing Region",type:d}],type:f}]};
3741
export const ruleSet: RuleSetObject = _data;

0 commit comments

Comments
 (0)