@cloud-copilot/iam-data 0.11.202508251 → 0.12.202508251
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/dist/cjs/findConditionKey.d.ts.map +1 -1
- package/dist/cjs/findConditionKey.js +7 -13
- package/dist/cjs/findConditionKey.js.map +1 -1
- package/dist/esm/findConditionKey.d.ts.map +1 -1
- package/dist/esm/findConditionKey.js +8 -14
- package/dist/esm/findConditionKey.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findConditionKey.d.ts","sourceRoot":"","sources":["../../src/findConditionKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiD,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"findConditionKey.d.ts","sourceRoot":"","sources":["../../src/findConditionKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiD,MAAM,oBAAoB,CAAA;AA2BhG;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAkE9F"}
|
|
@@ -35,22 +35,18 @@ async function findConditionKey(conditionKey) {
|
|
|
35
35
|
// If it starts with 'aws', check global condition keys
|
|
36
36
|
if (normalizedConditionKey.startsWith('aws:')) {
|
|
37
37
|
// First check for exact match in global condition keys
|
|
38
|
-
const exactGlobalMatch = globalConditionKeys_js_1.
|
|
38
|
+
const exactGlobalMatch = globalConditionKeys_js_1.globalConditionKeysByName[normalizedConditionKey];
|
|
39
39
|
if (exactGlobalMatch) {
|
|
40
40
|
return exactGlobalMatch;
|
|
41
41
|
}
|
|
42
42
|
// Then check global condition keys with variables (like aws:PrincipalTag/tag-key)
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return
|
|
43
|
+
const slashIndex = normalizedConditionKey.indexOf('/');
|
|
44
|
+
if (slashIndex !== -1) {
|
|
45
|
+
const prefix = normalizedConditionKey.substring(0, slashIndex);
|
|
46
|
+
const variableGlobalMatch = globalConditionKeys_js_1.globalVariableConditionKeysByPrefix[prefix];
|
|
47
|
+
if (variableGlobalMatch && conditionKey.length > prefix.length + 1) {
|
|
48
|
+
return variableGlobalMatch;
|
|
49
49
|
}
|
|
50
|
-
return false;
|
|
51
|
-
});
|
|
52
|
-
if (variableGlobalMatch) {
|
|
53
|
-
return variableGlobalMatch;
|
|
54
50
|
}
|
|
55
51
|
return undefined;
|
|
56
52
|
}
|
|
@@ -79,8 +75,6 @@ async function findConditionKey(conditionKey) {
|
|
|
79
75
|
if (servicePatterns) {
|
|
80
76
|
for (const [patternStr, templateKey] of Object.entries(servicePatterns)) {
|
|
81
77
|
const regex = new RegExp(`^${patternStr}$`, 'i');
|
|
82
|
-
console.log(patternStr);
|
|
83
|
-
console.log(normalizedConditionKey);
|
|
84
78
|
if (regex.test(normalizedConditionKey)) {
|
|
85
79
|
// Found a pattern match, try to get the template condition key
|
|
86
80
|
const hasTemplateKey = await (0, conditionKeys_js_1.iamConditionKeyExists)(servicePrefix, templateKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findConditionKey.js","sourceRoot":"","sources":["../../src/findConditionKey.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"findConditionKey.js","sourceRoot":"","sources":["../../src/findConditionKey.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findConditionKey.d.ts","sourceRoot":"","sources":["../../src/findConditionKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiD,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"findConditionKey.d.ts","sourceRoot":"","sources":["../../src/findConditionKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiD,MAAM,oBAAoB,CAAA;AA2BhG;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAkE9F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { iamConditionKeyDetails, iamConditionKeyExists } from './conditionKeys.js';
|
|
2
2
|
import { readConditionPatterns, readUnassociatedConditions } from './data.js';
|
|
3
|
-
import {
|
|
3
|
+
import { globalConditionKeysByName, globalVariableConditionKeysByPrefix } from './globalConditionKeys.js';
|
|
4
4
|
import { iamServiceExists } from './services.js';
|
|
5
5
|
/**
|
|
6
6
|
* Get the service prefixes to search for a condition key
|
|
@@ -32,22 +32,18 @@ export async function findConditionKey(conditionKey) {
|
|
|
32
32
|
// If it starts with 'aws', check global condition keys
|
|
33
33
|
if (normalizedConditionKey.startsWith('aws:')) {
|
|
34
34
|
// First check for exact match in global condition keys
|
|
35
|
-
const exactGlobalMatch =
|
|
35
|
+
const exactGlobalMatch = globalConditionKeysByName[normalizedConditionKey];
|
|
36
36
|
if (exactGlobalMatch) {
|
|
37
37
|
return exactGlobalMatch;
|
|
38
38
|
}
|
|
39
39
|
// Then check global condition keys with variables (like aws:PrincipalTag/tag-key)
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return
|
|
40
|
+
const slashIndex = normalizedConditionKey.indexOf('/');
|
|
41
|
+
if (slashIndex !== -1) {
|
|
42
|
+
const prefix = normalizedConditionKey.substring(0, slashIndex);
|
|
43
|
+
const variableGlobalMatch = globalVariableConditionKeysByPrefix[prefix];
|
|
44
|
+
if (variableGlobalMatch && conditionKey.length > prefix.length + 1) {
|
|
45
|
+
return variableGlobalMatch;
|
|
46
46
|
}
|
|
47
|
-
return false;
|
|
48
|
-
});
|
|
49
|
-
if (variableGlobalMatch) {
|
|
50
|
-
return variableGlobalMatch;
|
|
51
47
|
}
|
|
52
48
|
return undefined;
|
|
53
49
|
}
|
|
@@ -76,8 +72,6 @@ export async function findConditionKey(conditionKey) {
|
|
|
76
72
|
if (servicePatterns) {
|
|
77
73
|
for (const [patternStr, templateKey] of Object.entries(servicePatterns)) {
|
|
78
74
|
const regex = new RegExp(`^${patternStr}$`, 'i');
|
|
79
|
-
console.log(patternStr);
|
|
80
|
-
console.log(normalizedConditionKey);
|
|
81
75
|
if (regex.test(normalizedConditionKey)) {
|
|
82
76
|
// Found a pattern match, try to get the template condition key
|
|
83
77
|
const hasTemplateKey = await iamConditionKeyExists(servicePrefix, templateKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findConditionKey.js","sourceRoot":"","sources":["../../src/findConditionKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"findConditionKey.js","sourceRoot":"","sources":["../../src/findConditionKey.ts"],"names":[],"mappings":"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"}
|