Skip to content

Commit b2a1603

Browse files
author
awstools
committed
feat(client-ecr): Add Amazon ECR FIPS PrivateLink endpoint support
1 parent 326e5dd commit b2a1603

File tree

3 files changed

+9661
-9316
lines changed

3 files changed

+9661
-9316
lines changed

clients/client-ecr/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-ecr/src/endpoint/ruleset.ts

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

9-
const B="required",
10-
C="fn",
11-
D="argv",
12-
E="ref",
13-
F="url",
14-
G="properties",
15-
H="headers";
9+
const E="required",
10+
F="fn",
11+
G="argv",
12+
H="ref",
13+
I="url",
14+
J="properties",
15+
K="headers";
1616
const a=true,
1717
b="isSet",
1818
c="booleanEquals",
1919
d="error",
2020
e="endpoint",
2121
f="tree",
2222
g="PartitionResult",
23-
h="stringEquals",
24-
i="aws",
25-
j="aws-us-gov",
26-
k={[B]:false,"type":"string"},
27-
l={[B]:true,"default":false,"type":"boolean"},
28-
m={[E]:"Endpoint"},
29-
n={[C]:c,[D]:[{[E]:"UseFIPS"},true]},
30-
o={[C]:c,[D]:[{[E]:"UseDualStack"},true]},
31-
p={},
32-
q={[C]:"getAttr",[D]:[{[E]:g},"supportsFIPS"]},
33-
r={[C]:c,[D]:[true,{[C]:"getAttr",[D]:[{[E]:g},"supportsDualStack"]}]},
34-
s={[C]:"getAttr",[D]:[{[E]:g},"name"]},
35-
t={[F]:"https://ecr-fips.{Region}.api.aws",[G]:{},[H]:{}},
36-
u={[F]:"https://ecr-fips.{Region}.amazonaws.com",[G]:{},[H]:{}},
37-
v={[F]:"https://ecr.{Region}.api.aws",[G]:{},[H]:{}},
38-
w=[n],
39-
x=[o],
40-
y=[{[E]:"Region"}],
41-
z=[{[C]:h,[D]:[i,s]}],
42-
A=[{[C]:h,[D]:[j,s]}];
43-
const _data={version:"1.0",parameters:{Region:k,UseDualStack:l,UseFIPS:l,Endpoint:k},rules:[{conditions:[{[C]:b,[D]:[m]}],rules:[{conditions:w,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:d},{conditions:x,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:d},{endpoint:{[F]:m,[G]:p,[H]:p},type:e}],type:f},{conditions:[{[C]:b,[D]:y}],rules:[{conditions:[{[C]:"aws.partition",[D]:y,assign:g}],rules:[{conditions:[n,o],rules:[{conditions:[{[C]:c,[D]:[a,q]},r],rules:[{conditions:z,endpoint:t,type:e},{conditions:A,endpoint:t,type:e},{endpoint:{[F]:"https://api.ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",[G]:p,[H]:p},type:e}],type:f},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:d}],type:f},{conditions:w,rules:[{conditions:[{[C]:c,[D]:[q,a]}],rules:[{conditions:[{[C]:h,[D]:[s,i]}],endpoint:u,type:e},{conditions:[{[C]:h,[D]:[s,j]}],endpoint:u,type:e},{endpoint:{[F]:"https://api.ecr-fips.{Region}.{PartitionResult#dnsSuffix}",[G]:p,[H]:p},type:e}],type:f},{error:"FIPS is enabled but this partition does not support FIPS",type:d}],type:f},{conditions:x,rules:[{conditions:[r],rules:[{conditions:z,endpoint:v,type:e},{conditions:[{[C]:h,[D]:["aws-cn",s]}],endpoint:{[F]:"https://ecr.{Region}.api.amazonwebservices.com.cn",[G]:p,[H]:p},type:e},{conditions:A,endpoint:v,type:e},{endpoint:{[F]:"https://api.ecr.{Region}.{PartitionResult#dualStackDnsSuffix}",[G]:p,[H]:p},type:e}],type:f},{error:"DualStack is enabled but this partition does not support DualStack",type:d}],type:f},{endpoint:{[F]:"https://api.ecr.{Region}.{PartitionResult#dnsSuffix}",[G]:p,[H]:p},type:e}],type:f}],type:f},{error:"Invalid Configuration: Missing Region",type:d}]};
23+
h={[E]:true,"default":false,"type":"boolean"},
24+
i={[E]:false,"type":"string"},
25+
j={[H]:"Endpoint"},
26+
k={[F]:c,[G]:[{[H]:"UseFIPS"},true]},
27+
l={[F]:c,[G]:[{[H]:"UseDualStack"},true]},
28+
m={},
29+
n={[F]:"stringEquals",[G]:[{[F]:"getAttr",[G]:[{[H]:g},"name"]},"aws"]},
30+
o={[F]:c,[G]:[{[H]:"UseFIPS"},false]},
31+
p={[F]:c,[G]:[{[H]:"UseDualStack"},false]},
32+
q={[I]:"https://api.ecr.{Region}.{PartitionResult#dnsSuffix}",[J]:{},[K]:{}},
33+
r={[I]:"https://ecr.{Region}.{PartitionResult#dualStackDnsSuffix}",[J]:{},[K]:{}},
34+
s={[I]:"https://api.ecr-fips.{Region}.{PartitionResult#dnsSuffix}",[J]:{},[K]:{}},
35+
t={[I]:"https://ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",[J]:{},[K]:{}},
36+
u={[F]:"stringEquals",[G]:[{[F]:"getAttr",[G]:[{[H]:g},"name"]},"aws-us-gov"]},
37+
v={[F]:"stringEquals",[G]:[{[F]:"getAttr",[G]:[{[H]:g},"name"]},"aws-cn"]},
38+
w={[F]:"stringEquals",[G]:[{[F]:"getAttr",[G]:[{[H]:g},"name"]},"aws-iso"]},
39+
x={[F]:"stringEquals",[G]:[{[F]:"getAttr",[G]:[{[H]:g},"name"]},"aws-iso-b"]},
40+
y={[F]:"stringEquals",[G]:[{[F]:"getAttr",[G]:[{[H]:g},"name"]},"aws-iso-e"]},
41+
z={[F]:"stringEquals",[G]:[{[F]:"getAttr",[G]:[{[H]:g},"name"]},"aws-iso-f"]},
42+
A={[F]:"stringEquals",[G]:[{[F]:"getAttr",[G]:[{[H]:g},"name"]},"aws-eusc"]},
43+
B={[F]:"getAttr",[G]:[{[H]:g},"supportsFIPS"]},
44+
C={[F]:c,[G]:[true,{[F]:"getAttr",[G]:[{[H]:g},"supportsDualStack"]}]},
45+
D=[{[H]:"Region"}];
46+
const _data={version:"1.0",parameters:{UseDualStack:h,UseFIPS:h,Endpoint:i,Region:i},rules:[{conditions:[{[F]:b,[G]:[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:{[I]:j,[J]:m,[K]:m},type:e}],type:f}],type:f},{rules:[{conditions:[{[F]:b,[G]:D}],rules:[{conditions:[{[F]:"aws.partition",[G]:D,assign:g}],rules:[{conditions:[n,o,p],endpoint:q,type:e},{conditions:[n,o,l],endpoint:r,type:e},{conditions:[n,k,p],endpoint:s,type:e},{conditions:[n,k,l],endpoint:t,type:e},{conditions:[u,o,p],endpoint:q,type:e},{conditions:[u,o,l],endpoint:r,type:e},{conditions:[u,k,p],endpoint:s,type:e},{conditions:[u,k,l],endpoint:t,type:e},{conditions:[v,o,p],endpoint:q,type:e},{conditions:[v,o,l],endpoint:r,type:e},{conditions:[v,k,p],endpoint:s,type:e},{conditions:[v,k,l],endpoint:t,type:e},{conditions:[w,o,p],endpoint:q,type:e},{conditions:[w,o,l],endpoint:r,type:e},{conditions:[w,k,p],endpoint:s,type:e},{conditions:[w,k,l],endpoint:t,type:e},{conditions:[x,o,p],endpoint:q,type:e},{conditions:[x,o,l],endpoint:r,type:e},{conditions:[x,k,p],endpoint:s,type:e},{conditions:[x,k,l],endpoint:t,type:e},{conditions:[y,o,p],endpoint:q,type:e},{conditions:[y,o,l],endpoint:r,type:e},{conditions:[y,k,p],endpoint:s,type:e},{conditions:[y,k,l],endpoint:t,type:e},{conditions:[z,o,p],endpoint:q,type:e},{conditions:[z,o,l],endpoint:r,type:e},{conditions:[z,k,p],endpoint:s,type:e},{conditions:[z,k,l],endpoint:t,type:e},{conditions:[A,o,p],endpoint:q,type:e},{conditions:[A,o,l],endpoint:r,type:e},{conditions:[A,k,p],endpoint:s,type:e},{conditions:[A,k,l],endpoint:t,type:e},{conditions:[k,l],rules:[{conditions:[{[F]:c,[G]:[a,B]},C],rules:[{endpoint:{[I]:"https://api.ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",[J]:m,[K]: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,p],rules:[{conditions:[{[F]:c,[G]:[B,a]}],rules:[{endpoint:s,type:e}],type:f},{error:"FIPS is enabled but this partition does not support FIPS",type:d}],type:f},{conditions:[o,l],rules:[{conditions:[C],rules:[{endpoint:{[I]:"https://api.ecr.{Region}.{PartitionResult#dualStackDnsSuffix}",[J]:m,[K]:m},type:e}],type:f},{error:"DualStack is enabled but this partition does not support DualStack",type:d}],type:f},{endpoint:q,type:e}],type:f}],type:f},{error:"Invalid Configuration: Missing Region",type:d}],type:f}]};
4447
export const ruleSet: RuleSetObject = _data;

0 commit comments

Comments
 (0)