@aws-cdk/region-info 2.9.0 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +31 -28
- package/.jsii.tabl.json +123 -115
- package/README.md +15 -15
- package/build-tools/fact-tables.js +2 -1
- package/lib/aws-entities.d.ts +10 -10
- package/lib/aws-entities.js +10 -10
- package/lib/built-ins.generated.d.ts +1 -1
- package/lib/built-ins.generated.js +6 -6
- package/lib/default.d.ts +6 -11
- package/lib/default.js +75 -64
- package/lib/fact.d.ts +30 -71
- package/lib/fact.js +34 -64
- package/lib/region-info.d.ts +24 -48
- package/lib/region-info.js +26 -50
- package/package.json +11 -4
- package/rosetta/default.ts-fixture +11 -0
package/lib/default.d.ts
CHANGED
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Provides default values for certain regional information points.
|
|
3
|
-
*
|
|
4
|
-
* @stability stable
|
|
5
3
|
*/
|
|
6
4
|
export declare class Default {
|
|
7
5
|
/**
|
|
8
|
-
* The default value for a VPC Endpoint Service name prefix, useful if you do
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* The default value for a VPC Endpoint Service name prefix, useful if you do
|
|
7
|
+
* not have a synthesize-time region literal available (all you have is
|
|
8
|
+
* `{ "Ref": "AWS::Region" }`)
|
|
11
9
|
*/
|
|
12
10
|
static readonly VPC_ENDPOINT_SERVICE_NAME_PREFIX = "com.amazonaws.vpce";
|
|
13
11
|
/**
|
|
14
|
-
* Computes a "standard" AWS Service principal for a given service, region and suffix.
|
|
15
|
-
*
|
|
16
|
-
* This is useful for example when
|
|
12
|
+
* Computes a "standard" AWS Service principal for a given service, region and suffix. This is useful for example when
|
|
17
13
|
* you need to compute a service principal name, but you do not have a synthesize-time region literal available (so
|
|
18
14
|
* all you have is `{ "Ref": "AWS::Region" }`). This way you get the same defaulting behavior that is normally used
|
|
19
15
|
* for built-in data.
|
|
20
16
|
*
|
|
21
|
-
* @param serviceFqn the name of the service (s3, s3.amazonaws.com, ...)
|
|
22
|
-
* @param region
|
|
17
|
+
* @param serviceFqn the name of the service (s3, s3.amazonaws.com, ...)
|
|
18
|
+
* @param region the region in which the service principal is needed.
|
|
23
19
|
* @param urlSuffix deprecated and ignored.
|
|
24
|
-
* @stability stable
|
|
25
20
|
*/
|
|
26
21
|
static servicePrincipal(serviceFqn: string, region: string, urlSuffix: string): string;
|
|
27
22
|
private constructor();
|
package/lib/default.js
CHANGED
|
@@ -6,27 +6,22 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
6
6
|
const aws_entities_1 = require("./aws-entities");
|
|
7
7
|
/**
|
|
8
8
|
* Provides default values for certain regional information points.
|
|
9
|
-
*
|
|
10
|
-
* @stability stable
|
|
11
9
|
*/
|
|
12
10
|
class Default {
|
|
13
11
|
constructor() { }
|
|
14
12
|
/**
|
|
15
|
-
* Computes a "standard" AWS Service principal for a given service, region and suffix.
|
|
16
|
-
*
|
|
17
|
-
* This is useful for example when
|
|
13
|
+
* Computes a "standard" AWS Service principal for a given service, region and suffix. This is useful for example when
|
|
18
14
|
* you need to compute a service principal name, but you do not have a synthesize-time region literal available (so
|
|
19
15
|
* all you have is `{ "Ref": "AWS::Region" }`). This way you get the same defaulting behavior that is normally used
|
|
20
16
|
* for built-in data.
|
|
21
17
|
*
|
|
22
|
-
* @param serviceFqn the name of the service (s3, s3.amazonaws.com, ...)
|
|
23
|
-
* @param region
|
|
18
|
+
* @param serviceFqn the name of the service (s3, s3.amazonaws.com, ...)
|
|
19
|
+
* @param region the region in which the service principal is needed.
|
|
24
20
|
* @param urlSuffix deprecated and ignored.
|
|
25
|
-
* @stability stable
|
|
26
21
|
*/
|
|
27
22
|
static servicePrincipal(serviceFqn, region, urlSuffix) {
|
|
28
|
-
const
|
|
29
|
-
if (!
|
|
23
|
+
const serviceName = extractSimpleName(serviceFqn);
|
|
24
|
+
if (!serviceName) {
|
|
30
25
|
// Return "service" if it does not look like any of the following:
|
|
31
26
|
// - s3
|
|
32
27
|
// - s3.amazonaws.com
|
|
@@ -35,74 +30,90 @@ class Default {
|
|
|
35
30
|
// - s3.sc2s.sgov.gov
|
|
36
31
|
return serviceFqn;
|
|
37
32
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
33
|
+
function determineConfiguration(service) {
|
|
34
|
+
function universal(s) { return `${s}.amazonaws.com`; }
|
|
35
|
+
;
|
|
36
|
+
function partitional(s, _, u) { return `${s}.${u}`; }
|
|
37
|
+
;
|
|
38
|
+
function regional(s, r) { return `${s}.${r}.amazonaws.com`; }
|
|
39
|
+
;
|
|
40
|
+
function regionalPartitional(s, r, u) { return `${s}.${r}.${u}`; }
|
|
41
|
+
;
|
|
42
|
+
// Exceptions for Service Principals in us-iso-*
|
|
43
|
+
const US_ISO_EXCEPTIONS = new Set([
|
|
44
|
+
'cloudhsm',
|
|
45
|
+
'config',
|
|
46
|
+
'states',
|
|
47
|
+
'workspaces',
|
|
48
|
+
]);
|
|
49
|
+
// Account for idiosyncratic Service Principals in `us-iso-*` regions
|
|
50
|
+
if (region.startsWith('us-iso-') && US_ISO_EXCEPTIONS.has(service)) {
|
|
51
|
+
switch (service) {
|
|
52
|
+
// Services with universal principal
|
|
53
|
+
case ('states'):
|
|
54
|
+
return universal;
|
|
55
|
+
// Services with a partitional principal
|
|
56
|
+
default:
|
|
57
|
+
return partitional;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Exceptions for Service Principals in us-isob-*
|
|
61
|
+
const US_ISOB_EXCEPTIONS = new Set([
|
|
62
|
+
'dms',
|
|
63
|
+
'states',
|
|
64
|
+
]);
|
|
65
|
+
// Account for idiosyncratic Service Principals in `us-isob-*` regions
|
|
66
|
+
if (region.startsWith('us-isob-') && US_ISOB_EXCEPTIONS.has(service)) {
|
|
67
|
+
switch (service) {
|
|
68
|
+
// Services with universal principal
|
|
69
|
+
case ('states'):
|
|
70
|
+
return universal;
|
|
71
|
+
// Services with a partitional principal
|
|
72
|
+
default:
|
|
73
|
+
return partitional;
|
|
74
|
+
}
|
|
54
75
|
}
|
|
55
|
-
}
|
|
56
|
-
// Exceptions for Service Principals in us-isob-*
|
|
57
|
-
const US_ISOB_EXCEPTIONS = new Set([
|
|
58
|
-
'dms',
|
|
59
|
-
'states',
|
|
60
|
-
]);
|
|
61
|
-
// Account for idiosyncratic Service Principals in `us-isob-*` regions
|
|
62
|
-
if (region.startsWith('us-isob-') && US_ISOB_EXCEPTIONS.has(service)) {
|
|
63
76
|
switch (service) {
|
|
64
|
-
//
|
|
65
|
-
case
|
|
66
|
-
return
|
|
77
|
+
// SSM turned from global to regional at some point
|
|
78
|
+
case 'ssm':
|
|
79
|
+
return aws_entities_1.before(region, aws_entities_1.RULE_SSM_PRINCIPALS_ARE_REGIONAL)
|
|
80
|
+
? universal
|
|
81
|
+
: regional;
|
|
82
|
+
// CodeDeploy is regional+partitional in CN, only regional everywhere else
|
|
83
|
+
case 'codedeploy':
|
|
84
|
+
return region.startsWith('cn-')
|
|
85
|
+
? regionalPartitional
|
|
86
|
+
: regional;
|
|
87
|
+
// Services with a regional AND partitional principal
|
|
88
|
+
case 'logs':
|
|
89
|
+
return regionalPartitional;
|
|
90
|
+
// Services with a regional principal
|
|
91
|
+
case 'states':
|
|
92
|
+
return regional;
|
|
67
93
|
// Services with a partitional principal
|
|
94
|
+
case 'ec2':
|
|
95
|
+
return partitional;
|
|
96
|
+
// Services with a universal principal across all regions/partitions (the default case)
|
|
68
97
|
default:
|
|
69
|
-
return
|
|
98
|
+
return universal;
|
|
70
99
|
}
|
|
71
100
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
? `${service}.amazonaws.com`
|
|
76
|
-
: `${service}.${region}.amazonaws.com`;
|
|
77
|
-
}
|
|
78
|
-
switch (service) {
|
|
79
|
-
// Services with a regional AND partitional principal
|
|
80
|
-
case 'codedeploy':
|
|
81
|
-
case 'logs':
|
|
82
|
-
return `${service}.${region}.${urlSuffix}`;
|
|
83
|
-
// Services with a regional principal
|
|
84
|
-
case 'states':
|
|
85
|
-
return `${service}.${region}.amazonaws.com`;
|
|
86
|
-
// Services with a partitional principal
|
|
87
|
-
case 'ec2':
|
|
88
|
-
return `${service}.${urlSuffix}`;
|
|
89
|
-
// Services with a universal principal across all regions/partitions (the default case)
|
|
90
|
-
default:
|
|
91
|
-
return `${service}.amazonaws.com`;
|
|
92
|
-
}
|
|
101
|
+
;
|
|
102
|
+
const configuration = determineConfiguration(serviceName);
|
|
103
|
+
return configuration(serviceName, region, urlSuffix);
|
|
93
104
|
}
|
|
94
105
|
}
|
|
95
106
|
exports.Default = Default;
|
|
96
107
|
_a = JSII_RTTI_SYMBOL_1;
|
|
97
|
-
Default[_a] = { fqn: "@aws-cdk/region-info.Default", version: "2.
|
|
108
|
+
Default[_a] = { fqn: "@aws-cdk/region-info.Default", version: "2.13.0" };
|
|
98
109
|
/**
|
|
99
|
-
* The default value for a VPC Endpoint Service name prefix, useful if you do
|
|
100
|
-
*
|
|
101
|
-
*
|
|
110
|
+
* The default value for a VPC Endpoint Service name prefix, useful if you do
|
|
111
|
+
* not have a synthesize-time region literal available (all you have is
|
|
112
|
+
* `{ "Ref": "AWS::Region" }`)
|
|
102
113
|
*/
|
|
103
114
|
Default.VPC_ENDPOINT_SERVICE_NAME_PREFIX = 'com.amazonaws.vpce';
|
|
104
115
|
function extractSimpleName(serviceFqn) {
|
|
105
116
|
const matches = serviceFqn.match(/^([^.]+)(?:(?:\.amazonaws\.com(?:\.cn)?)|(?:\.c2s\.ic\.gov)|(?:\.sc2s\.sgov\.gov))?$/);
|
|
106
117
|
return matches ? matches[1] : undefined;
|
|
107
118
|
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBMEU7QUFFMUU7O0dBRUc7QUFDSCxNQUFhLE9BQU87SUFpSGxCLGlCQUF5QjtJQXhHekI7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsTUFBYyxFQUFFLFNBQWlCO1FBQ2xGLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsa0VBQWtFO1lBQ2xFLE9BQU87WUFDUCxxQkFBcUI7WUFDckIsd0JBQXdCO1lBQ3hCLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxTQUFTLHNCQUFzQixDQUFDLE9BQWU7WUFDN0MsU0FBUyxTQUFTLENBQUMsQ0FBUyxJQUFJLE9BQU8sR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUFBLENBQUM7WUFDL0QsU0FBUyxXQUFXLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDO1lBQzlFLFNBQVMsUUFBUSxDQUFDLENBQVMsRUFBRSxDQUFTLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUFBLENBQUM7WUFDOUUsU0FBUyxtQkFBbUIsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDO1lBRTNGLGdEQUFnRDtZQUNoRCxNQUFNLGlCQUFpQixHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNoQyxVQUFVO2dCQUNWLFFBQVE7Z0JBQ1IsUUFBUTtnQkFDUixZQUFZO2FBQ2IsQ0FBQyxDQUFDO1lBRUgscUVBQXFFO1lBQ3JFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2xFLFFBQVEsT0FBTyxFQUFFO29CQUNmLG9DQUFvQztvQkFDcEMsS0FBSyxDQUFDLFFBQVEsQ0FBQzt3QkFDYixPQUFPLFNBQVMsQ0FBQztvQkFFbkIsd0NBQXdDO29CQUN4Qzt3QkFDRSxPQUFPLFdBQVcsQ0FBQztpQkFDdEI7YUFDRjtZQUVELGlEQUFpRDtZQUNqRCxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNqQyxLQUFLO2dCQUNMLFFBQVE7YUFDVCxDQUFDLENBQUM7WUFFSCxzRUFBc0U7WUFDdEUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDcEUsUUFBUSxPQUFPLEVBQUU7b0JBQ2Ysb0NBQW9DO29CQUNwQyxLQUFLLENBQUMsUUFBUSxDQUFDO3dCQUNiLE9BQU8sU0FBUyxDQUFDO29CQUVuQix3Q0FBd0M7b0JBQ3hDO3dCQUNFLE9BQU8sV0FBVyxDQUFDO2lCQUN0QjthQUNGO1lBRUQsUUFBUSxPQUFPLEVBQUU7Z0JBQ2YsbURBQW1EO2dCQUNuRCxLQUFLLEtBQUs7b0JBQ1IsT0FBTyxxQkFBTSxDQUFDLE1BQU0sRUFBRSwrQ0FBZ0MsQ0FBQzt3QkFDckQsQ0FBQyxDQUFDLFNBQVM7d0JBQ1gsQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFFZiwwRUFBMEU7Z0JBQzFFLEtBQUssWUFBWTtvQkFDZixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO3dCQUM3QixDQUFDLENBQUMsbUJBQW1CO3dCQUNyQixDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUVmLHFEQUFxRDtnQkFDckQsS0FBSyxNQUFNO29CQUNULE9BQU8sbUJBQW1CLENBQUM7Z0JBRTdCLHFDQUFxQztnQkFDckMsS0FBSyxRQUFRO29CQUNYLE9BQU8sUUFBUSxDQUFDO2dCQUVsQix3Q0FBd0M7Z0JBQ3hDLEtBQUssS0FBSztvQkFDUixPQUFPLFdBQVcsQ0FBQztnQkFFckIsdUZBQXVGO2dCQUN2RjtvQkFDRSxPQUFPLFNBQVMsQ0FBQzthQUVwQjtRQUNILENBQUM7UUFBQSxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsT0FBTyxhQUFhLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztLQUN0RDs7QUEvR0gsMEJBa0hDOzs7QUFoSEM7Ozs7R0FJRztBQUNvQix3Q0FBZ0MsR0FBRyxvQkFBb0IsQ0FBQztBQTZHakYsU0FBUyxpQkFBaUIsQ0FBQyxVQUFrQjtJQUMzQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLHNGQUFzRixDQUFDLENBQUM7SUFDekgsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiZWZvcmUsIFJVTEVfU1NNX1BSSU5DSVBBTFNfQVJFX1JFR0lPTkFMIH0gZnJvbSAnLi9hd3MtZW50aXRpZXMnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGRlZmF1bHQgdmFsdWVzIGZvciBjZXJ0YWluIHJlZ2lvbmFsIGluZm9ybWF0aW9uIHBvaW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIERlZmF1bHQge1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBWUEMgRW5kcG9pbnQgU2VydmljZSBuYW1lIHByZWZpeCwgdXNlZnVsIGlmIHlvdSBkb1xuICAgKiBub3QgaGF2ZSBhIHN5bnRoZXNpemUtdGltZSByZWdpb24gbGl0ZXJhbCBhdmFpbGFibGUgKGFsbCB5b3UgaGF2ZSBpc1xuICAgKiBgeyBcIlJlZlwiOiBcIkFXUzo6UmVnaW9uXCIgfWApXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZQQ19FTkRQT0lOVF9TRVJWSUNFX05BTUVfUFJFRklYID0gJ2NvbS5hbWF6b25hd3MudnBjZSc7XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIGEgXCJzdGFuZGFyZFwiIEFXUyBTZXJ2aWNlIHByaW5jaXBhbCBmb3IgYSBnaXZlbiBzZXJ2aWNlLCByZWdpb24gYW5kIHN1ZmZpeC4gVGhpcyBpcyB1c2VmdWwgZm9yIGV4YW1wbGUgd2hlblxuICAgKiB5b3UgbmVlZCB0byBjb21wdXRlIGEgc2VydmljZSBwcmluY2lwYWwgbmFtZSwgYnV0IHlvdSBkbyBub3QgaGF2ZSBhIHN5bnRoZXNpemUtdGltZSByZWdpb24gbGl0ZXJhbCBhdmFpbGFibGUgKHNvXG4gICAqIGFsbCB5b3UgaGF2ZSBpcyBgeyBcIlJlZlwiOiBcIkFXUzo6UmVnaW9uXCIgfWApLiBUaGlzIHdheSB5b3UgZ2V0IHRoZSBzYW1lIGRlZmF1bHRpbmcgYmVoYXZpb3IgdGhhdCBpcyBub3JtYWxseSB1c2VkXG4gICAqIGZvciBidWlsdC1pbiBkYXRhLlxuICAgKlxuICAgKiBAcGFyYW0gc2VydmljZUZxbiB0aGUgbmFtZSBvZiB0aGUgc2VydmljZSAoczMsIHMzLmFtYXpvbmF3cy5jb20sIC4uLilcbiAgICogQHBhcmFtIHJlZ2lvbiAgICB0aGUgcmVnaW9uIGluIHdoaWNoIHRoZSBzZXJ2aWNlIHByaW5jaXBhbCBpcyBuZWVkZWQuXG4gICAqIEBwYXJhbSB1cmxTdWZmaXggZGVwcmVjYXRlZCBhbmQgaWdub3JlZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2VydmljZVByaW5jaXBhbChzZXJ2aWNlRnFuOiBzdHJpbmcsIHJlZ2lvbjogc3RyaW5nLCB1cmxTdWZmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VydmljZU5hbWUgPSBleHRyYWN0U2ltcGxlTmFtZShzZXJ2aWNlRnFuKTtcbiAgICBpZiAoIXNlcnZpY2VOYW1lKSB7XG4gICAgICAvLyBSZXR1cm4gXCJzZXJ2aWNlXCIgaWYgaXQgZG9lcyBub3QgbG9vayBsaWtlIGFueSBvZiB0aGUgZm9sbG93aW5nOlxuICAgICAgLy8gLSBzM1xuICAgICAgLy8gLSBzMy5hbWF6b25hd3MuY29tXG4gICAgICAvLyAtIHMzLmFtYXpvbmF3cy5jb20uY25cbiAgICAgIC8vIC0gczMuYzJzLmljLmdvdlxuICAgICAgLy8gLSBzMy5zYzJzLnNnb3YuZ292XG4gICAgICByZXR1cm4gc2VydmljZUZxbjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBkZXRlcm1pbmVDb25maWd1cmF0aW9uKHNlcnZpY2U6IHN0cmluZyk6IChzZXJ2aWNlOiBzdHJpbmcsIHJlZ2lvbjogc3RyaW5nLCB1cmxTdWZmaXg6IHN0cmluZykgPT4gc3RyaW5nIHtcbiAgICAgIGZ1bmN0aW9uIHVuaXZlcnNhbChzOiBzdHJpbmcpIHsgcmV0dXJuIGAke3N9LmFtYXpvbmF3cy5jb21gOyB9O1xuICAgICAgZnVuY3Rpb24gcGFydGl0aW9uYWwoczogc3RyaW5nLCBfOiBzdHJpbmcsIHU6IHN0cmluZykgeyByZXR1cm4gYCR7c30uJHt1fWA7IH07XG4gICAgICBmdW5jdGlvbiByZWdpb25hbChzOiBzdHJpbmcsIHI6IHN0cmluZykgeyByZXR1cm4gYCR7c30uJHtyfS5hbWF6b25hd3MuY29tYDsgfTtcbiAgICAgIGZ1bmN0aW9uIHJlZ2lvbmFsUGFydGl0aW9uYWwoczogc3RyaW5nLCByOiBzdHJpbmcsIHU6IHN0cmluZykgeyByZXR1cm4gYCR7c30uJHtyfS4ke3V9YDsgfTtcblxuICAgICAgLy8gRXhjZXB0aW9ucyBmb3IgU2VydmljZSBQcmluY2lwYWxzIGluIHVzLWlzby0qXG4gICAgICBjb25zdCBVU19JU09fRVhDRVBUSU9OUyA9IG5ldyBTZXQoW1xuICAgICAgICAnY2xvdWRoc20nLFxuICAgICAgICAnY29uZmlnJyxcbiAgICAgICAgJ3N0YXRlcycsXG4gICAgICAgICd3b3Jrc3BhY2VzJyxcbiAgICAgIF0pO1xuXG4gICAgICAvLyBBY2NvdW50IGZvciBpZGlvc3luY3JhdGljIFNlcnZpY2UgUHJpbmNpcGFscyBpbiBgdXMtaXNvLSpgIHJlZ2lvbnNcbiAgICAgIGlmIChyZWdpb24uc3RhcnRzV2l0aCgndXMtaXNvLScpICYmIFVTX0lTT19FWENFUFRJT05TLmhhcyhzZXJ2aWNlKSkge1xuICAgICAgICBzd2l0Y2ggKHNlcnZpY2UpIHtcbiAgICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIHVuaXZlcnNhbCBwcmluY2lwYWxcbiAgICAgICAgICBjYXNlICgnc3RhdGVzJyk6XG4gICAgICAgICAgICByZXR1cm4gdW5pdmVyc2FsO1xuXG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHBhcnRpdGlvbmFsIHByaW5jaXBhbFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gcGFydGl0aW9uYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gRXhjZXB0aW9ucyBmb3IgU2VydmljZSBQcmluY2lwYWxzIGluIHVzLWlzb2ItKlxuICAgICAgY29uc3QgVVNfSVNPQl9FWENFUFRJT05TID0gbmV3IFNldChbXG4gICAgICAgICdkbXMnLFxuICAgICAgICAnc3RhdGVzJyxcbiAgICAgIF0pO1xuXG4gICAgICAvLyBBY2NvdW50IGZvciBpZGlvc3luY3JhdGljIFNlcnZpY2UgUHJpbmNpcGFscyBpbiBgdXMtaXNvYi0qYCByZWdpb25zXG4gICAgICBpZiAocmVnaW9uLnN0YXJ0c1dpdGgoJ3VzLWlzb2ItJykgJiYgVVNfSVNPQl9FWENFUFRJT05TLmhhcyhzZXJ2aWNlKSkge1xuICAgICAgICBzd2l0Y2ggKHNlcnZpY2UpIHtcbiAgICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIHVuaXZlcnNhbCBwcmluY2lwYWxcbiAgICAgICAgICBjYXNlICgnc3RhdGVzJyk6XG4gICAgICAgICAgICByZXR1cm4gdW5pdmVyc2FsO1xuXG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHBhcnRpdGlvbmFsIHByaW5jaXBhbFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gcGFydGl0aW9uYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3dpdGNoIChzZXJ2aWNlKSB7XG4gICAgICAgIC8vIFNTTSB0dXJuZWQgZnJvbSBnbG9iYWwgdG8gcmVnaW9uYWwgYXQgc29tZSBwb2ludFxuICAgICAgICBjYXNlICdzc20nOlxuICAgICAgICAgIHJldHVybiBiZWZvcmUocmVnaW9uLCBSVUxFX1NTTV9QUklOQ0lQQUxTX0FSRV9SRUdJT05BTClcbiAgICAgICAgICAgID8gdW5pdmVyc2FsXG4gICAgICAgICAgICA6IHJlZ2lvbmFsO1xuXG4gICAgICAgIC8vIENvZGVEZXBsb3kgaXMgcmVnaW9uYWwrcGFydGl0aW9uYWwgaW4gQ04sIG9ubHkgcmVnaW9uYWwgZXZlcnl3aGVyZSBlbHNlXG4gICAgICAgIGNhc2UgJ2NvZGVkZXBsb3knOlxuICAgICAgICAgIHJldHVybiByZWdpb24uc3RhcnRzV2l0aCgnY24tJylcbiAgICAgICAgICAgID8gcmVnaW9uYWxQYXJ0aXRpb25hbFxuICAgICAgICAgICAgOiByZWdpb25hbDtcblxuICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIGEgcmVnaW9uYWwgQU5EIHBhcnRpdGlvbmFsIHByaW5jaXBhbFxuICAgICAgICBjYXNlICdsb2dzJzpcbiAgICAgICAgICByZXR1cm4gcmVnaW9uYWxQYXJ0aXRpb25hbDtcblxuICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIGEgcmVnaW9uYWwgcHJpbmNpcGFsXG4gICAgICAgIGNhc2UgJ3N0YXRlcyc6XG4gICAgICAgICAgcmV0dXJuIHJlZ2lvbmFsO1xuXG4gICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSBwYXJ0aXRpb25hbCBwcmluY2lwYWxcbiAgICAgICAgY2FzZSAnZWMyJzpcbiAgICAgICAgICByZXR1cm4gcGFydGl0aW9uYWw7XG5cbiAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHVuaXZlcnNhbCBwcmluY2lwYWwgYWNyb3NzIGFsbCByZWdpb25zL3BhcnRpdGlvbnMgKHRoZSBkZWZhdWx0IGNhc2UpXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHVuaXZlcnNhbDtcblxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gZGV0ZXJtaW5lQ29uZmlndXJhdGlvbihzZXJ2aWNlTmFtZSk7XG4gICAgcmV0dXJuIGNvbmZpZ3VyYXRpb24oc2VydmljZU5hbWUsIHJlZ2lvbiwgdXJsU3VmZml4KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7IH1cbn1cblxuZnVuY3Rpb24gZXh0cmFjdFNpbXBsZU5hbWUoc2VydmljZUZxbjogc3RyaW5nKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBzZXJ2aWNlRnFuLm1hdGNoKC9eKFteLl0rKSg/Oig/OlxcLmFtYXpvbmF3c1xcLmNvbSg/OlxcLmNuKT8pfCg/OlxcLmMyc1xcLmljXFwuZ292KXwoPzpcXC5zYzJzXFwuc2dvdlxcLmdvdikpPyQvKTtcbiAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzWzFdIDogdW5kZWZpbmVkO1xufVxuIl19
|
package/lib/fact.d.ts
CHANGED
|
@@ -1,50 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A database of regional information.
|
|
3
|
-
*
|
|
4
|
-
* @stability stable
|
|
5
3
|
*/
|
|
6
4
|
export declare class Fact {
|
|
7
5
|
/**
|
|
8
6
|
* @returns the list of names of AWS regions for which there is at least one registered fact. This
|
|
9
|
-
*
|
|
10
|
-
* @stability stable
|
|
7
|
+
* may not be an exhaustive list of all available AWS regions.
|
|
11
8
|
*/
|
|
12
9
|
static get regions(): string[];
|
|
13
10
|
/**
|
|
14
11
|
* Retrieves a fact from this Fact database.
|
|
15
12
|
*
|
|
16
|
-
* @param region the name of the region (e.g: `us-east-1`)
|
|
17
|
-
* @param name
|
|
13
|
+
* @param region the name of the region (e.g: `us-east-1`)
|
|
14
|
+
* @param name the name of the fact being looked up (see the `FactName` class for details)
|
|
15
|
+
*
|
|
18
16
|
* @returns the fact value if it is known, and `undefined` otherwise.
|
|
19
|
-
* @stability stable
|
|
20
17
|
*/
|
|
21
18
|
static find(region: string, name: string): string | undefined;
|
|
22
19
|
/**
|
|
23
|
-
* Retrieve a fact from the Fact database.
|
|
24
|
-
*
|
|
25
|
-
* (retrieval will fail if the specified region or
|
|
20
|
+
* Retrieve a fact from the Fact database. (retrieval will fail if the specified region or
|
|
26
21
|
* fact name does not exist.)
|
|
27
22
|
*
|
|
28
|
-
* @param region the name of the region (e.g: `us-east-1`)
|
|
29
|
-
* @param name the name of the fact being looked up (see the `FactName` class for details)
|
|
30
|
-
* @stability stable
|
|
23
|
+
* @param region the name of the region (e.g: `us-east-1`)
|
|
24
|
+
* @param name the name of the fact being looked up (see the `FactName` class for details)
|
|
31
25
|
*/
|
|
32
26
|
static requireFact(region: string, name: string): string;
|
|
33
27
|
/**
|
|
34
28
|
* Registers a new fact in this Fact database.
|
|
35
29
|
*
|
|
36
|
-
* @param fact
|
|
30
|
+
* @param fact the new fact to be registered.
|
|
37
31
|
* @param allowReplacing whether new facts can replace existing facts or not.
|
|
38
|
-
* @stability stable
|
|
39
32
|
*/
|
|
40
33
|
static register(fact: IFact, allowReplacing?: boolean): void;
|
|
41
34
|
/**
|
|
42
35
|
* Removes a fact from the database.
|
|
43
|
-
*
|
|
44
36
|
* @param region the region for which the fact is to be removed.
|
|
45
|
-
* @param name
|
|
46
|
-
* @param value
|
|
47
|
-
*
|
|
37
|
+
* @param name the name of the fact to remove.
|
|
38
|
+
* @param value the value that should be removed (removal will fail if the value is specified, but does not match the
|
|
39
|
+
* current stored value).
|
|
48
40
|
*/
|
|
49
41
|
static unregister(region: string, name: string, value?: string): void;
|
|
50
42
|
private static readonly database;
|
|
@@ -52,117 +44,84 @@ export declare class Fact {
|
|
|
52
44
|
}
|
|
53
45
|
/**
|
|
54
46
|
* A fact that can be registered about a particular region.
|
|
55
|
-
*
|
|
56
|
-
* @stability stable
|
|
57
47
|
*/
|
|
58
48
|
export interface IFact {
|
|
59
49
|
/**
|
|
60
50
|
* The region for which this fact applies.
|
|
61
|
-
*
|
|
62
|
-
* @stability stable
|
|
63
51
|
*/
|
|
64
52
|
readonly region: string;
|
|
65
53
|
/**
|
|
66
|
-
* The name of this fact.
|
|
67
|
-
*
|
|
68
|
-
* Standardized values are provided by the `Facts` class.
|
|
69
|
-
*
|
|
70
|
-
* @stability stable
|
|
54
|
+
* The name of this fact. Standardized values are provided by the `Facts` class.
|
|
71
55
|
*/
|
|
72
56
|
readonly name: string;
|
|
73
57
|
/**
|
|
74
58
|
* The value of this fact.
|
|
75
|
-
*
|
|
76
|
-
* @stability stable
|
|
77
59
|
*/
|
|
78
60
|
readonly value: string | undefined;
|
|
79
61
|
}
|
|
80
62
|
/**
|
|
81
63
|
* All standardized fact names.
|
|
82
|
-
*
|
|
83
|
-
* @stability stable
|
|
84
64
|
*/
|
|
85
65
|
export declare class FactName {
|
|
86
66
|
/**
|
|
87
|
-
* The name of the partition for a region (e.g: 'aws', 'aws-cn', ...)
|
|
88
|
-
*
|
|
89
|
-
* @stability stable
|
|
67
|
+
* The name of the partition for a region (e.g: 'aws', 'aws-cn', ...)
|
|
90
68
|
*/
|
|
91
69
|
static readonly PARTITION = "partition";
|
|
92
70
|
/**
|
|
93
|
-
* The domain suffix for a region (e.g: 'amazonaws.com`)
|
|
94
|
-
*
|
|
95
|
-
* @stability stable
|
|
71
|
+
* The domain suffix for a region (e.g: 'amazonaws.com`)
|
|
96
72
|
*/
|
|
97
73
|
static readonly DOMAIN_SUFFIX = "domainSuffix";
|
|
98
74
|
/**
|
|
99
|
-
* Whether the AWS::CDK::Metadata CloudFormation Resource is available in-region or not.
|
|
100
|
-
*
|
|
101
|
-
* The value is a boolean
|
|
75
|
+
* Whether the AWS::CDK::Metadata CloudFormation Resource is available in-region or not. The value is a boolean
|
|
102
76
|
* modelled as `YES` or `NO`.
|
|
103
|
-
*
|
|
104
|
-
* @stability stable
|
|
105
77
|
*/
|
|
106
78
|
static readonly CDK_METADATA_RESOURCE_AVAILABLE = "cdk:metadata-resource:available";
|
|
107
79
|
/**
|
|
108
|
-
* The endpoint used for hosting S3 static websites
|
|
109
|
-
*
|
|
110
|
-
* @stability stable
|
|
80
|
+
* The endpoint used for hosting S3 static websites
|
|
111
81
|
*/
|
|
112
82
|
static readonly S3_STATIC_WEBSITE_ENDPOINT = "s3-static-website:endpoint";
|
|
113
83
|
/**
|
|
114
|
-
* The endpoint used for aliasing S3 static websites in Route 53
|
|
115
|
-
*
|
|
116
|
-
* @stability stable
|
|
84
|
+
* The endpoint used for aliasing S3 static websites in Route 53
|
|
117
85
|
*/
|
|
118
86
|
static readonly S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID = "s3-static-website:route-53-hosted-zone-id";
|
|
119
87
|
/**
|
|
120
|
-
* The hosted zone ID used by Route 53 to alias a EBS environment endpoint in this region (e.g: Z2O1EMRO9K5GLX)
|
|
121
|
-
*
|
|
122
|
-
* @stability stable
|
|
88
|
+
* The hosted zone ID used by Route 53 to alias a EBS environment endpoint in this region (e.g: Z2O1EMRO9K5GLX)
|
|
123
89
|
*/
|
|
124
90
|
static readonly EBS_ENV_ENDPOINT_HOSTED_ZONE_ID = "ebs-environment:route-53-hosted-zone-id";
|
|
125
91
|
/**
|
|
126
|
-
* The prefix for VPC Endpoint Service names,
|
|
127
|
-
*
|
|
128
|
-
*
|
|
92
|
+
* The prefix for VPC Endpoint Service names,
|
|
93
|
+
* cn.com.amazonaws.vpce for China regions,
|
|
94
|
+
* com.amazonaws.vpce otherwise.
|
|
129
95
|
*/
|
|
130
96
|
static readonly VPC_ENDPOINT_SERVICE_NAME_PREFIX = "vpcEndpointServiceNamePrefix";
|
|
131
97
|
/**
|
|
132
|
-
* The account for ELBv2 in this region
|
|
133
|
-
*
|
|
134
|
-
* @stability stable
|
|
98
|
+
* The account for ELBv2 in this region
|
|
135
99
|
*/
|
|
136
100
|
static readonly ELBV2_ACCOUNT = "elbv2Account";
|
|
137
101
|
/**
|
|
138
|
-
* The ID of the AWS account that owns the public ECR repository that contains the
|
|
139
|
-
*
|
|
140
|
-
* @stability stable
|
|
102
|
+
* The ID of the AWS account that owns the public ECR repository that contains the
|
|
103
|
+
* AWS Deep Learning Containers images in a given region.
|
|
141
104
|
*/
|
|
142
105
|
static readonly DLC_REPOSITORY_ACCOUNT = "dlcRepositoryAccount";
|
|
143
106
|
/**
|
|
144
|
-
* The ID of the AWS account that owns the public ECR repository that contains the
|
|
145
|
-
*
|
|
146
|
-
* @stability stable
|
|
107
|
+
* The ID of the AWS account that owns the public ECR repository that contains the
|
|
108
|
+
* AWS App Mesh Envoy Proxy images in a given region.
|
|
147
109
|
*/
|
|
148
110
|
static readonly APPMESH_ECR_ACCOUNT = "appMeshRepositoryAccount";
|
|
149
111
|
/**
|
|
150
112
|
* The CIDR block used by Kinesis Data Firehose servers.
|
|
151
|
-
*
|
|
152
|
-
* @stability stable
|
|
153
113
|
*/
|
|
154
114
|
static readonly FIREHOSE_CIDR_BLOCK = "firehoseCidrBlock";
|
|
155
115
|
/**
|
|
156
|
-
* The ARN of CloudWatch Lambda Insights for a version (e.g. 1.0.98.0)
|
|
157
|
-
*
|
|
158
|
-
* @stability stable
|
|
116
|
+
* The ARN of CloudWatch Lambda Insights for a version (e.g. 1.0.98.0)
|
|
159
117
|
*/
|
|
160
118
|
static cloudwatchLambdaInsightsVersion(version: string, arch?: string): string;
|
|
161
119
|
/**
|
|
162
120
|
* The name of the regional service principal for a given service.
|
|
163
121
|
*
|
|
164
|
-
* @param service the service name, either simple (e.g: `s3`, `codedeploy`) or qualified (e.g: `s3.amazonaws.com`).
|
|
165
|
-
*
|
|
122
|
+
* @param service the service name, either simple (e.g: `s3`, `codedeploy`) or qualified (e.g: `s3.amazonaws.com`).
|
|
123
|
+
* The `.amazonaws.com` and `.amazonaws.com.cn` domains are stripped from service names, so they are
|
|
124
|
+
* canonicalized in that respect.
|
|
166
125
|
*/
|
|
167
126
|
static servicePrincipal(service: string): string;
|
|
168
127
|
}
|