Skip to content

Commit 22048eb

Browse files
authored
fix(client-support): apply sparse string list for metadata (#4500)
1 parent aea457a commit 22048eb

File tree

4 files changed

+1118
-1076
lines changed

4 files changed

+1118
-1076
lines changed

clients/client-support/src/endpoint/EndpointParameters.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export const resolveClientEndpointParameters = <T>(
2424
};
2525

2626
export interface EndpointParameters extends __EndpointParameters {
27-
Region: string;
27+
Region?: string;
2828
UseDualStack?: boolean;
2929
UseFIPS?: boolean;
3030
Endpoint?: string;

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

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -6,48 +6,49 @@ import { RuleSetObject } from "@aws-sdk/util-endpoints";
66
or see "smithy.rules#endpointRuleSet"
77
in codegen/sdk-codegen/aws-models/support.json */
88

9-
const E="type",
10-
F="rules",
11-
G="conditions",
12-
H="fn",
13-
I="argv",
14-
J="ref",
15-
K="url",
16-
L="properties",
17-
M="headers",
18-
N="authSchemes",
19-
O="name",
20-
P="signingRegion",
21-
Q="signingName";
22-
const a=true,
23-
b=false,
24-
c="String",
25-
d="PartitionResult",
26-
e="tree",
27-
f="error",
28-
g="endpoint",
29-
h="stringEquals",
30-
i={"required":true,"default":false,[E]:"Boolean"},
31-
j={[J]:"Region"},
32-
k={[J]:"Endpoint"},
33-
l={},
34-
m={[H]:"getAttr",[I]:[{[J]:d},"name"]},
35-
n={[G]:[{[H]:"booleanEquals",[I]:[{[J]:"UseFIPS"},true]},{[H]:"booleanEquals",[I]:[{[J]:"UseDualStack"},true]}],[E]:e,[F]:[{[G]:[{[H]:"booleanEquals",[I]:[true,{[H]:"getAttr",[I]:[{[J]:d},"supportsFIPS"]}]},{[H]:"booleanEquals",[I]:[true,{[H]:"getAttr",[I]:[{[J]:d},"supportsDualStack"]}]}],[E]:e,[F]:[{[g]:{[K]:"https://support-fips.{Region}.api.aws",[L]:{},[M]:{}},[E]:g}]},{[f]:"FIPS and DualStack are enabled, but this partition does not support one or both",[E]:f}]},
36-
o={[f]:"FIPS and DualStack are enabled, but this partition does not support one or both",[E]:f},
37-
p={[G]:[{[H]:"booleanEquals",[I]:[{[J]:"UseFIPS"},true]}],[E]:e,[F]:[{[G]:[{[H]:"booleanEquals",[I]:[true,{[H]:"getAttr",[I]:[{[J]:d},"supportsFIPS"]}]}],[E]:e,[F]:[{[g]:{[K]:"https://support-fips.{Region}.amazonaws.com",[L]:{},[M]:{}},[E]:g}]},{[f]:"FIPS is enabled but this partition does not support FIPS",[E]:f}]},
38-
q={[f]:"FIPS is enabled but this partition does not support FIPS",[E]:f},
39-
r={[G]:[{[H]:"booleanEquals",[I]:[{[J]:"UseDualStack"},true]}],[E]:e,[F]:[{[G]:[{[H]:"booleanEquals",[I]:[true,{[H]:"getAttr",[I]:[{[J]:d},"supportsDualStack"]}]}],[E]:e,[F]:[{[g]:{[K]:"https://support.{Region}.api.aws",[L]:{},[M]:{}},[E]:g}]},{[f]:"DualStack is enabled but this partition does not support DualStack",[E]:f}]},
40-
s={[f]:"DualStack is enabled but this partition does not support DualStack",[E]:f},
41-
t={[K]:"https://support.us-east-1.amazonaws.com",[L]:{[N]:[{[O]:"sigv4",[P]:"us-east-1",[Q]:"support"}]},[M]:{}},
42-
u={[K]:"https://support.cn-north-1.amazonaws.com.cn",[L]:{[N]:[{[O]:"sigv4",[P]:"cn-north-1",[Q]:"support"}]},[M]:{}},
43-
v={[K]:"https://support.us-gov-west-1.amazonaws.com",[L]:{[N]:[{[O]:"sigv4",[P]:"us-gov-west-1",[Q]:"support"}]},[M]:{}},
44-
w={[K]:"https://support.us-iso-east-1.c2s.ic.gov",[L]:{[N]:[{[O]:"sigv4",[P]:"us-iso-east-1",[Q]:"support"}]},[M]:{}},
45-
x={[K]:"https://support.us-isob-east-1.sc2s.sgov.gov",[L]:{[N]:[{[O]:"sigv4",[P]:"us-isob-east-1",[Q]:"support"}]},[M]:{}},
46-
y=[{[H]:"booleanEquals",[I]:[{[J]:"UseFIPS"},true]}],
47-
z=[{[H]:"booleanEquals",[I]:[{[J]:"UseDualStack"},true]}],
48-
A=[{[H]:"booleanEquals",[I]:[{[J]:"UseFIPS"},true]},{[H]:"booleanEquals",[I]:[{[J]:"UseDualStack"},true]}],
49-
B=[{[H]:"booleanEquals",[I]:[true,{[H]:"getAttr",[I]:[{[J]:d},"supportsFIPS"]}]},{[H]:"booleanEquals",[I]:[true,{[H]:"getAttr",[I]:[{[J]:d},"supportsDualStack"]}]}],
50-
C=[{[H]:"booleanEquals",[I]:[true,{[H]:"getAttr",[I]:[{[J]:d},"supportsFIPS"]}]}],
51-
D=[{[H]:"booleanEquals",[I]:[true,{[H]:"getAttr",[I]:[{[J]:d},"supportsDualStack"]}]}];
52-
const _data={version:"1.0",parameters:{Region:{required:a,[E]:c},UseDualStack:i,UseFIPS:i,Endpoint:{required:b,[E]:c}},[F]:[{[G]:[{[H]:"aws.partition",[I]:[j],assign:d}],[E]:e,[F]:[{[G]:[{[H]:"isSet",[I]:[k]}],[E]:e,[F]:[{[G]:y,error:"Invalid Configuration: FIPS and custom endpoint are not supported",[E]:f},{[E]:e,[F]:[{[G]:z,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",[E]:f},{endpoint:{[K]:k,[L]:l,[M]:l},[E]:g}]}]},{[G]:[{[H]:h,[I]:[m,"aws"]}],[E]:e,[F]:[n,p,r,{endpoint:t,[E]:g}]},{[G]:[{[H]:h,[I]:[m,"aws-cn"]}],[E]:e,[F]:[{[G]:A,[E]:e,[F]:[{[G]:B,[E]:e,[F]:[{endpoint:{[K]:"https://support-fips.{Region}.api.amazonwebservices.com.cn",[L]:l,[M]:l},[E]:g}]},o]},{[G]:y,[E]:e,[F]:[{[G]:C,[E]:e,[F]:[{endpoint:{[K]:"https://support-fips.{Region}.amazonaws.com.cn",[L]:l,[M]:l},[E]:g}]},q]},{[G]:z,[E]:e,[F]:[{[G]:D,[E]:e,[F]:[{endpoint:{[K]:"https://support.{Region}.api.amazonwebservices.com.cn",[L]:l,[M]:l},[E]:g}]},s]},{endpoint:u,[E]:g}]},{[G]:[{[H]:h,[I]:[m,"aws-us-gov"]}],[E]:e,[F]:[n,p,r,{endpoint:v,[E]:g}]},{[G]:[{[H]:h,[I]:[m,"aws-iso"]}],[E]:e,[F]:[{[G]:y,[E]:e,[F]:[{[G]:C,[E]:e,[F]:[{endpoint:{[K]:"https://support-fips.{Region}.c2s.ic.gov",[L]:l,[M]:l},[E]:g}]},q]},{endpoint:w,[E]:g}]},{[G]:[{[H]:h,[I]:[m,"aws-iso-b"]}],[E]:e,[F]:[{[G]:y,[E]:e,[F]:[{[G]:C,[E]:e,[F]:[{endpoint:{[K]:"https://support-fips.{Region}.sc2s.sgov.gov",[L]:l,[M]:l},[E]:g}]},q]},{endpoint:x,[E]:g}]},{[G]:A,[E]:e,[F]:[{[G]:B,[E]:e,[F]:[{[E]:e,[F]:[{endpoint:{[K]:"https://support-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",[L]:l,[M]:l},[E]:g}]}]},o]},{[G]:y,[E]:e,[F]:[{[G]:C,[E]:e,[F]:[{[E]:e,[F]:[{endpoint:{[K]:"https://support-fips.{Region}.{PartitionResult#dnsSuffix}",[L]:l,[M]:l},[E]:g}]}]},q]},{[G]:z,[E]:e,[F]:[{[G]:D,[E]:e,[F]:[{[E]:e,[F]:[{endpoint:{[K]:"https://support.{Region}.{PartitionResult#dualStackDnsSuffix}",[L]:l,[M]:l},[E]:g}]}]},s]},{[E]:e,[F]:[{[G]:[{[H]:h,[I]:[j,"aws-global"]}],endpoint:t,[E]:g},{[G]:[{[H]:h,[I]:[j,"aws-cn-global"]}],endpoint:u,[E]:g},{[G]:[{[H]:h,[I]:[j,"aws-us-gov-global"]}],endpoint:v,[E]:g},{[G]:[{[H]:h,[I]:[j,"aws-iso-global"]}],endpoint:w,[E]:g},{[G]:[{[H]:h,[I]:[j,"aws-iso-b-global"]}],endpoint:x,[E]:g},{endpoint:{[K]:"https://support.{Region}.{PartitionResult#dnsSuffix}",[L]:l,[M]:l},[E]:g}]}]}]};
9+
const E="required",
10+
F="type",
11+
G="rules",
12+
H="conditions",
13+
I="fn",
14+
J="argv",
15+
K="ref",
16+
L="url",
17+
M="properties",
18+
N="headers",
19+
O="authSchemes",
20+
P="name",
21+
Q="signingName",
22+
R="signingRegion";
23+
const a="isSet",
24+
b="tree",
25+
c="error",
26+
d="endpoint",
27+
e="PartitionResult",
28+
f="stringEquals",
29+
g={[E]:false,[F]:"String"},
30+
h={[E]:true,"default":false,[F]:"Boolean"},
31+
i={[K]:"Endpoint"},
32+
j={},
33+
k={[K]:"Region"},
34+
l={[I]:"getAttr",[J]:[{[K]:e},"name"]},
35+
m={[H]:[{[I]:"booleanEquals",[J]:[{[K]:"UseFIPS"},true]},{[I]:"booleanEquals",[J]:[{[K]:"UseDualStack"},true]}],[F]:b,[G]:[{[H]:[{[I]:"booleanEquals",[J]:[true,{[I]:"getAttr",[J]:[{[K]:e},"supportsFIPS"]}]},{[I]:"booleanEquals",[J]:[true,{[I]:"getAttr",[J]:[{[K]:e},"supportsDualStack"]}]}],[F]:b,[G]:[{[d]:{[L]:"https://support-fips.{Region}.api.aws",[M]:{},[N]:{}},[F]:d}]},{[c]:"FIPS and DualStack are enabled, but this partition does not support one or both",[F]:c}]},
36+
n={[c]:"FIPS and DualStack are enabled, but this partition does not support one or both",[F]:c},
37+
o={[H]:[{[I]:"booleanEquals",[J]:[{[K]:"UseFIPS"},true]}],[F]:b,[G]:[{[H]:[{[I]:"booleanEquals",[J]:[true,{[I]:"getAttr",[J]:[{[K]:e},"supportsFIPS"]}]}],[F]:b,[G]:[{[d]:{[L]:"https://support-fips.{Region}.amazonaws.com",[M]:{},[N]:{}},[F]:d}]},{[c]:"FIPS is enabled but this partition does not support FIPS",[F]:c}]},
38+
p={[c]:"FIPS is enabled but this partition does not support FIPS",[F]:c},
39+
q={[H]:[{[I]:"booleanEquals",[J]:[{[K]:"UseDualStack"},true]}],[F]:b,[G]:[{[H]:[{[I]:"booleanEquals",[J]:[true,{[I]:"getAttr",[J]:[{[K]:e},"supportsDualStack"]}]}],[F]:b,[G]:[{[d]:{[L]:"https://support.{Region}.api.aws",[M]:{},[N]:{}},[F]:d}]},{[c]:"DualStack is enabled but this partition does not support DualStack",[F]:c}]},
40+
r={[c]:"DualStack is enabled but this partition does not support DualStack",[F]:c},
41+
s={[L]:"https://support.us-east-1.amazonaws.com",[M]:{[O]:[{[P]:"sigv4",[Q]:"support",[R]:"us-east-1"}]},[N]:{}},
42+
t={[L]:"https://support.cn-north-1.amazonaws.com.cn",[M]:{[O]:[{[P]:"sigv4",[Q]:"support",[R]:"cn-north-1"}]},[N]:{}},
43+
u={[L]:"https://support.us-gov-west-1.amazonaws.com",[M]:{[O]:[{[P]:"sigv4",[Q]:"support",[R]:"us-gov-west-1"}]},[N]:{}},
44+
v={[L]:"https://support.us-iso-east-1.c2s.ic.gov",[M]:{[O]:[{[P]:"sigv4",[Q]:"support",[R]:"us-iso-east-1"}]},[N]:{}},
45+
w={[L]:"https://support.us-isob-east-1.sc2s.sgov.gov",[M]:{[O]:[{[P]:"sigv4",[Q]:"support",[R]:"us-isob-east-1"}]},[N]:{}},
46+
x=[{[I]:"booleanEquals",[J]:[{[K]:"UseFIPS"},true]}],
47+
y=[{[I]:"booleanEquals",[J]:[{[K]:"UseDualStack"},true]}],
48+
z=[k],
49+
A=[{[I]:"booleanEquals",[J]:[{[K]:"UseFIPS"},true]},{[I]:"booleanEquals",[J]:[{[K]:"UseDualStack"},true]}],
50+
B=[{[I]:"booleanEquals",[J]:[true,{[I]:"getAttr",[J]:[{[K]:e},"supportsFIPS"]}]},{[I]:"booleanEquals",[J]:[true,{[I]:"getAttr",[J]:[{[K]:e},"supportsDualStack"]}]}],
51+
C=[{[I]:"booleanEquals",[J]:[true,{[I]:"getAttr",[J]:[{[K]:e},"supportsFIPS"]}]}],
52+
D=[{[I]:"booleanEquals",[J]:[true,{[I]:"getAttr",[J]:[{[K]:e},"supportsDualStack"]}]}];
53+
const _data={version:"1.0",parameters:{Region:g,UseDualStack:h,UseFIPS:h,Endpoint:g},[G]:[{[H]:[{[I]:a,[J]:[i]}],[F]:b,[G]:[{[H]:x,error:"Invalid Configuration: FIPS and custom endpoint are not supported",[F]:c},{[F]:b,[G]:[{[H]:y,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",[F]:c},{endpoint:{[L]:i,[M]:j,[N]:j},[F]:d}]}]},{[F]:b,[G]:[{[H]:[{[I]:a,[J]:z}],[F]:b,[G]:[{[H]:[{[I]:"aws.partition",[J]:z,assign:e}],[F]:b,[G]:[{[H]:[{[I]:f,[J]:[l,"aws"]}],[F]:b,[G]:[m,o,q,{endpoint:s,[F]:d}]},{[H]:[{[I]:f,[J]:[l,"aws-cn"]}],[F]:b,[G]:[{[H]:A,[F]:b,[G]:[{[H]:B,[F]:b,[G]:[{endpoint:{[L]:"https://support-fips.{Region}.api.amazonwebservices.com.cn",[M]:j,[N]:j},[F]:d}]},n]},{[H]:x,[F]:b,[G]:[{[H]:C,[F]:b,[G]:[{endpoint:{[L]:"https://support-fips.{Region}.amazonaws.com.cn",[M]:j,[N]:j},[F]:d}]},p]},{[H]:y,[F]:b,[G]:[{[H]:D,[F]:b,[G]:[{endpoint:{[L]:"https://support.{Region}.api.amazonwebservices.com.cn",[M]:j,[N]:j},[F]:d}]},r]},{endpoint:t,[F]:d}]},{[H]:[{[I]:f,[J]:[l,"aws-us-gov"]}],[F]:b,[G]:[m,o,q,{endpoint:u,[F]:d}]},{[H]:[{[I]:f,[J]:[l,"aws-iso"]}],[F]:b,[G]:[{[H]:x,[F]:b,[G]:[{[H]:C,[F]:b,[G]:[{endpoint:{[L]:"https://support-fips.{Region}.c2s.ic.gov",[M]:j,[N]:j},[F]:d}]},p]},{endpoint:v,[F]:d}]},{[H]:[{[I]:f,[J]:[l,"aws-iso-b"]}],[F]:b,[G]:[{[H]:x,[F]:b,[G]:[{[H]:C,[F]:b,[G]:[{endpoint:{[L]:"https://support-fips.{Region}.sc2s.sgov.gov",[M]:j,[N]:j},[F]:d}]},p]},{endpoint:w,[F]:d}]},{[H]:A,[F]:b,[G]:[{[H]:B,[F]:b,[G]:[{[F]:b,[G]:[{endpoint:{[L]:"https://support-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",[M]:j,[N]:j},[F]:d}]}]},n]},{[H]:x,[F]:b,[G]:[{[H]:C,[F]:b,[G]:[{[F]:b,[G]:[{endpoint:{[L]:"https://support-fips.{Region}.{PartitionResult#dnsSuffix}",[M]:j,[N]:j},[F]:d}]}]},p]},{[H]:y,[F]:b,[G]:[{[H]:D,[F]:b,[G]:[{[F]:b,[G]:[{endpoint:{[L]:"https://support.{Region}.{PartitionResult#dualStackDnsSuffix}",[M]:j,[N]:j},[F]:d}]}]},r]},{[F]:b,[G]:[{[H]:[{[I]:f,[J]:[k,"aws-global"]}],endpoint:s,[F]:d},{[H]:[{[I]:f,[J]:[k,"aws-cn-global"]}],endpoint:t,[F]:d},{[H]:[{[I]:f,[J]:[k,"aws-us-gov-global"]}],endpoint:u,[F]:d},{[H]:[{[I]:f,[J]:[k,"aws-iso-global"]}],endpoint:v,[F]:d},{[H]:[{[I]:f,[J]:[k,"aws-iso-b-global"]}],endpoint:w,[F]:d},{endpoint:{[L]:"https://support.{Region}.{PartitionResult#dnsSuffix}",[M]:j,[N]:j},[F]:d}]}]}]},{error:"Invalid Configuration: Missing Region",[F]:c}]}]};
5354
export const ruleSet: RuleSetObject = _data;

clients/client-support/src/protocols/Aws_json1_1.ts

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,11 +1217,12 @@ const serializeAws_json1_1ServiceCodeList = (input: string[], context: __SerdeCo
12171217
};
12181218

12191219
const serializeAws_json1_1StringList = (input: string[], context: __SerdeContext): any => {
1220-
return input
1221-
.filter((e: any) => e != null)
1222-
.map((entry) => {
1223-
return entry;
1224-
});
1220+
return input.map((entry) => {
1221+
if (entry === null) {
1222+
return null as any;
1223+
}
1224+
return entry;
1225+
});
12251226
};
12261227

12271228
const deserializeAws_json1_1AddAttachmentsToSetResponse = (
@@ -1597,14 +1598,12 @@ const deserializeAws_json1_1SeverityLevelsList = (output: any, context: __SerdeC
15971598
};
15981599

15991600
const deserializeAws_json1_1StringList = (output: any, context: __SerdeContext): string[] => {
1600-
const retVal = (output || [])
1601-
.filter((e: any) => e != null)
1602-
.map((entry: any) => {
1603-
if (entry === null) {
1604-
return null as any;
1605-
}
1606-
return __expectString(entry) as any;
1607-
});
1601+
const retVal = (output || []).map((entry: any) => {
1602+
if (entry === null) {
1603+
return null as any;
1604+
}
1605+
return __expectString(entry) as any;
1606+
});
16081607
return retVal;
16091608
};
16101609

0 commit comments

Comments
 (0)