Skip to content

Commit 76dce29

Browse files
author
awstools
committed
feat(client-marketplace-metering): Add support for Marketplace Metering Service dual-stack endpoints.
1 parent 06a1cb5 commit 76dce29

File tree

3 files changed

+368
-553
lines changed

3 files changed

+368
-553
lines changed

clients/client-marketplace-metering/src/endpoint/EndpointParameters.ts

+2-2
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 | Provider<string>;
98
useDualstackEndpoint?: boolean | Provider<boolean>;
109
useFipsEndpoint?: boolean | Provider<boolean>;
1110
endpoint?: string | Provider<string> | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>;
11+
region?: string | Provider<string>;
1212
}
1313

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

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

clients/client-marketplace-metering/src/endpoint/ruleset.ts

+19-19
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,25 @@ w="fn",
1111
x="argv",
1212
y="ref";
1313
const a=true,
14-
b="isSet",
15-
c="booleanEquals",
16-
d="error",
17-
e="endpoint",
18-
f="tree",
19-
g="PartitionResult",
20-
h="stringEquals",
21-
i={[v]:false,"type":"String"},
14+
b=false,
15+
c="isSet",
16+
d="booleanEquals",
17+
e="error",
18+
f="endpoint",
19+
g="tree",
20+
h="PartitionResult",
21+
i="getAttr",
2222
j={[v]:true,"default":false,"type":"Boolean"},
23-
k={[y]:"Endpoint"},
24-
l={[w]:c,[x]:[{[y]:"UseFIPS"},true]},
25-
m={[w]:c,[x]:[{[y]:"UseDualStack"},true]},
26-
n={},
27-
o={[w]:"getAttr",[x]:[{[y]:g},"supportsFIPS"]},
28-
p={[w]:c,[x]:[true,{[w]:"getAttr",[x]:[{[y]:g},"supportsDualStack"]}]},
29-
q={[w]:"getAttr",[x]:[{[y]:g},"name"]},
30-
r={"url":"https://metering.marketplace.{Region}.amazonaws.com","properties":{},"headers":{}},
31-
s=[l],
32-
t=[m],
23+
k={[v]:false,"type":"String"},
24+
l={[y]:"Endpoint"},
25+
m={[w]:d,[x]:[{[y]:"UseFIPS"},true]},
26+
n={[w]:d,[x]:[{[y]:"UseDualStack"},true]},
27+
o={[y]:"UseDualStack"},
28+
p={},
29+
q={[y]:h},
30+
r={[w]:d,[x]:[{[y]:"UseFIPS"},false]},
31+
s={[w]:i,[x]:[q,"supportsFIPS"]},
32+
t={[w]:d,[x]:[true,{[w]:i,[x]:[q,"supportsDualStack"]}]},
3333
u=[{[y]:"Region"}];
34-
const _data={version:"1.0",parameters:{Region:i,UseDualStack:j,UseFIPS:j,Endpoint:i},rules:[{conditions:[{[w]:b,[x]:[k]}],rules:[{conditions:s,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:d},{conditions:t,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:d},{endpoint:{url:k,properties:n,headers:n},type:e}],type:f},{conditions:[{[w]:b,[x]:u}],rules:[{conditions:[{[w]:"aws.partition",[x]:u,assign:g}],rules:[{conditions:[l,m],rules:[{conditions:[{[w]:c,[x]:[a,o]},p],rules:[{endpoint:{url:"https://metering.marketplace-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:s,rules:[{conditions:[{[w]:c,[x]:[o,a]}],rules:[{endpoint:{url:"https://metering.marketplace-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:t,rules:[{conditions:[p],rules:[{endpoint:{url:"https://metering.marketplace.{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},{conditions:[{[w]:h,[x]:["aws",q]}],endpoint:r,type:e},{conditions:[{[w]:h,[x]:["aws-us-gov",q]}],endpoint:r,type:e},{endpoint:{url:"https://metering.marketplace.{Region}.{PartitionResult#dnsSuffix}",properties:n,headers:n},type:e}],type:f}],type:f},{error:"Invalid Configuration: Missing Region",type:d}]};
34+
const _data={version:"1.0",parameters:{UseDualStack:j,UseFIPS:j,Endpoint:k,Region:k},rules:[{conditions:[{[w]:c,[x]:[l]}],rules:[{conditions:[m],error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:e},{rules:[{conditions:[n],error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:e},{endpoint:{url:l,properties:p,headers:p},type:f}],type:g}],type:g},{rules:[{conditions:[{[w]:c,[x]:u}],rules:[{conditions:[{[w]:"aws.partition",[x]:u,assign:h}],rules:[{conditions:[{[w]:"stringEquals",[x]:[{[w]:i,[x]:[q,"name"]},"aws"]},r,n],endpoint:{url:"https://metering-marketplace.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:p,headers:p},type:f},{conditions:[m,n],rules:[{conditions:[{[w]:d,[x]:[a,s]},t],rules:[{endpoint:{url:"https://metering.marketplace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:p,headers:p},type:f}],type:g},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:e}],type:g},{conditions:[m,{[w]:d,[x]:[o,b]}],rules:[{conditions:[{[w]:d,[x]:[s,a]}],rules:[{endpoint:{url:"https://metering.marketplace-fips.{Region}.{PartitionResult#dnsSuffix}",properties:p,headers:p},type:f}],type:g},{error:"FIPS is enabled but this partition does not support FIPS",type:e}],type:g},{conditions:[r,n],rules:[{conditions:[t],rules:[{endpoint:{url:"https://metering.marketplace.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:p,headers:p},type:f}],type:g},{error:"DualStack is enabled but this partition does not support DualStack",type:e}],type:g},{endpoint:{url:"https://metering.marketplace.{Region}.{PartitionResult#dnsSuffix}",properties:p,headers:p},type:f}],type:g}],type:g},{error:"Invalid Configuration: Missing Region",type:e}],type:g}]};
3535
export const ruleSet: RuleSetObject = _data;

0 commit comments

Comments
 (0)