Skip to content

Commit 5738642

Browse files
author
awstools
committed
feat(client-ecr-public): Add support for Dualstack Endpoints
1 parent c7c525a commit 5738642

File tree

2 files changed

+69
-29
lines changed

2 files changed

+69
-29
lines changed

Diff for: clients/client-ecr-public/src/endpoint/ruleset.ts

+18-16
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,29 @@ import { RuleSetObject } from "@smithy/types";
66
or see "smithy.rules#endpointRuleSet"
77
in codegen/sdk-codegen/aws-models/ecr-public.json */
88

9-
const s="required",
10-
t="fn",
11-
u="argv",
12-
v="ref";
9+
const u="required",
10+
v="fn",
11+
w="argv",
12+
x="ref";
1313
const a=true,
1414
b="isSet",
1515
c="booleanEquals",
1616
d="error",
1717
e="endpoint",
1818
f="tree",
1919
g="PartitionResult",
20-
h={[s]:false,"type":"String"},
21-
i={[s]:true,"default":false,"type":"Boolean"},
22-
j={[v]:"Endpoint"},
23-
k={[t]:c,[u]:[{[v]:"UseFIPS"},true]},
24-
l={[t]:c,[u]:[{[v]:"UseDualStack"},true]},
25-
m={},
26-
n={[t]:"getAttr",[u]:[{[v]:g},"supportsFIPS"]},
27-
o={[t]:c,[u]:[true,{[t]:"getAttr",[u]:[{[v]:g},"supportsDualStack"]}]},
28-
p=[k],
29-
q=[l],
30-
r=[{[v]:"Region"}];
31-
const _data={version:"1.0",parameters:{Region:h,UseDualStack:i,UseFIPS:i,Endpoint:h},rules:[{conditions:[{[t]:b,[u]:[j]}],rules:[{conditions:p,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:d},{conditions:q,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:d},{endpoint:{url:j,properties:m,headers:m},type:e}],type:f},{conditions:[{[t]:b,[u]:r}],rules:[{conditions:[{[t]:"aws.partition",[u]:r,assign:g}],rules:[{conditions:[k,l],rules:[{conditions:[{[t]:c,[u]:[a,n]},o],rules:[{endpoint:{url:"https://api.ecr-public-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:m,headers: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:p,rules:[{conditions:[{[t]:c,[u]:[n,a]}],rules:[{endpoint:{url:"https://api.ecr-public-fips.{Region}.{PartitionResult#dnsSuffix}",properties:m,headers:m},type:e}],type:f},{error:"FIPS is enabled but this partition does not support FIPS",type:d}],type:f},{conditions:q,rules:[{conditions:[o],rules:[{endpoint:{url:"https://api.ecr-public.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:m,headers:m},type:e}],type:f},{error:"DualStack is enabled but this partition does not support DualStack",type:d}],type:f},{endpoint:{url:"https://api.ecr-public.{Region}.{PartitionResult#dnsSuffix}",properties:m,headers:m},type:e}],type:f}],type:f},{error:"Invalid Configuration: Missing Region",type:d}]};
20+
h="getAttr",
21+
i={[u]:false,"type":"String"},
22+
j={[u]:true,"default":false,"type":"Boolean"},
23+
k={[x]:"Endpoint"},
24+
l={[v]:c,[w]:[{[x]:"UseFIPS"},true]},
25+
m={[v]:c,[w]:[{[x]:"UseDualStack"},true]},
26+
n={},
27+
o={[v]:h,[w]:[{[x]:g},"supportsFIPS"]},
28+
p={[x]:g},
29+
q={[v]:c,[w]:[true,{[v]:h,[w]:[p,"supportsDualStack"]}]},
30+
r=[l],
31+
s=[m],
32+
t=[{[x]:"Region"}];
33+
const _data={version:"1.0",parameters:{Region:i,UseDualStack:j,UseFIPS:j,Endpoint:i},rules:[{conditions:[{[v]:b,[w]:[k]}],rules:[{conditions:r,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:d},{conditions:s,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:d},{endpoint:{url:k,properties:n,headers:n},type:e}],type:f},{conditions:[{[v]:b,[w]:t}],rules:[{conditions:[{[v]:"aws.partition",[w]:t,assign:g}],rules:[{conditions:[l,m],rules:[{conditions:[{[v]:c,[w]:[a,o]},q],rules:[{endpoint:{url:"https://api.ecr-public-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:n,headers:n},type:e}],type:f},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:d}],type:f},{conditions:r,rules:[{conditions:[{[v]:c,[w]:[o,a]}],rules:[{endpoint:{url:"https://api.ecr-public-fips.{Region}.{PartitionResult#dnsSuffix}",properties:n,headers:n},type:e}],type:f},{error:"FIPS is enabled but this partition does not support FIPS",type:d}],type:f},{conditions:s,rules:[{conditions:[q],rules:[{conditions:[{[v]:"stringEquals",[w]:["aws",{[v]:h,[w]:[p,"name"]}]}],endpoint:{url:"https://ecr-public.{Region}.api.aws",properties:n,headers:n},type:e},{endpoint:{url:"https://api.ecr-public.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:n,headers:n},type:e}],type:f},{error:"DualStack is enabled but this partition does not support DualStack",type:d}],type:f},{endpoint:{url:"https://api.ecr-public.{Region}.{PartitionResult#dnsSuffix}",properties:n,headers:n},type:e}],type:f}],type:f},{error:"Invalid Configuration: Missing Region",type:d}]};
3234
export const ruleSet: RuleSetObject = _data;

Diff for: codegen/sdk-codegen/aws-models/ecr-public.json

+51-13
Original file line numberDiff line numberDiff line change
@@ -3131,6 +3131,31 @@
31313131
}
31323132
],
31333133
"rules": [
3134+
{
3135+
"conditions": [
3136+
{
3137+
"fn": "stringEquals",
3138+
"argv": [
3139+
"aws",
3140+
{
3141+
"fn": "getAttr",
3142+
"argv": [
3143+
{
3144+
"ref": "PartitionResult"
3145+
},
3146+
"name"
3147+
]
3148+
}
3149+
]
3150+
}
3151+
],
3152+
"endpoint": {
3153+
"url": "https://ecr-public.{Region}.api.aws",
3154+
"properties": {},
3155+
"headers": {}
3156+
},
3157+
"type": "endpoint"
3158+
},
31343159
{
31353160
"conditions": [],
31363161
"endpoint": {
@@ -3176,54 +3201,67 @@
31763201
"smithy.rules#endpointTests": {
31773202
"testCases": [
31783203
{
3179-
"documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
3204+
"documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
31803205
"expect": {
31813206
"endpoint": {
3182-
"url": "https://api.ecr-public-fips.us-east-1.api.aws"
3207+
"url": "https://api.ecr-public.us-east-1.amazonaws.com"
31833208
}
31843209
},
31853210
"params": {
31863211
"Region": "us-east-1",
3187-
"UseFIPS": true,
3188-
"UseDualStack": true
3212+
"UseFIPS": false,
3213+
"UseDualStack": false
31893214
}
31903215
},
31913216
{
3192-
"documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
3217+
"documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
31933218
"expect": {
31943219
"endpoint": {
3195-
"url": "https://api.ecr-public-fips.us-east-1.amazonaws.com"
3220+
"url": "https://ecr-public.us-east-1.api.aws"
31963221
}
31973222
},
31983223
"params": {
31993224
"Region": "us-east-1",
3200-
"UseFIPS": true,
3225+
"UseFIPS": false,
3226+
"UseDualStack": true
3227+
}
3228+
},
3229+
{
3230+
"documentation": "For region us-west-2 with FIPS disabled and DualStack disabled",
3231+
"expect": {
3232+
"endpoint": {
3233+
"url": "https://api.ecr-public.us-west-2.amazonaws.com"
3234+
}
3235+
},
3236+
"params": {
3237+
"Region": "us-west-2",
3238+
"UseFIPS": false,
32013239
"UseDualStack": false
32023240
}
32033241
},
32043242
{
3205-
"documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
3243+
"documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
32063244
"expect": {
32073245
"endpoint": {
3208-
"url": "https://api.ecr-public.us-east-1.api.aws"
3246+
"url": "https://api.ecr-public-fips.us-east-1.api.aws"
32093247
}
32103248
},
32113249
"params": {
32123250
"Region": "us-east-1",
3213-
"UseFIPS": false,
3251+
"UseFIPS": true,
32143252
"UseDualStack": true
32153253
}
32163254
},
32173255
{
3218-
"documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
3256+
"documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
32193257
"expect": {
32203258
"endpoint": {
3221-
"url": "https://api.ecr-public.us-east-1.amazonaws.com"
3259+
"url": "https://api.ecr-public-fips.us-east-1.amazonaws.com"
32223260
}
32233261
},
32243262
"params": {
32253263
"Region": "us-east-1",
3226-
"UseFIPS": false,
3264+
"UseFIPS": true,
32273265
"UseDualStack": false
32283266
}
32293267
},

0 commit comments

Comments
 (0)