@jcoreio/aws-ecr-utils 2.0.0 → 2.1.1
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/ImageManifestSchema.d.mts +59 -0
- package/ImageManifestSchema.d.mts.map +1 -0
- package/ImageManifestSchema.d.ts +50 -49
- package/ImageManifestSchema.d.ts.map +1 -0
- package/ImageManifestSchema.js +2 -1
- package/ImageManifestSchema.js.map +1 -0
- package/ImageManifestSchema.mjs +2 -1
- package/ImageManifestSchema.mjs.map +1 -0
- package/checkECRImageAccess.d.mts +25 -0
- package/checkECRImageAccess.d.mts.map +1 -0
- package/checkECRImageAccess.d.ts +25 -17
- package/checkECRImageAccess.d.ts.map +1 -0
- package/checkECRImageAccess.js +46 -47
- package/checkECRImageAccess.js.map +1 -0
- package/checkECRImageAccess.mjs +9 -7
- package/checkECRImageAccess.mjs.map +1 -0
- package/checkECRRepositoryPolicy.d.mts +28 -0
- package/checkECRRepositoryPolicy.d.mts.map +1 -0
- package/checkECRRepositoryPolicy.d.ts +21 -12
- package/checkECRRepositoryPolicy.d.ts.map +1 -0
- package/checkECRRepositoryPolicy.js +20 -19
- package/checkECRRepositoryPolicy.js.map +1 -0
- package/checkECRRepositoryPolicy.mjs +5 -5
- package/checkECRRepositoryPolicy.mjs.map +1 -0
- package/copyECRImage.d.mts +17 -0
- package/copyECRImage.d.mts.map +1 -0
- package/copyECRImage.d.ts +17 -12
- package/copyECRImage.d.ts.map +1 -0
- package/copyECRImage.js +21 -20
- package/copyECRImage.js.map +1 -0
- package/copyECRImage.mjs +2 -1
- package/copyECRImage.mjs.map +1 -0
- package/ecrImageExists.d.mts +17 -0
- package/ecrImageExists.d.mts.map +1 -0
- package/ecrImageExists.d.ts +17 -8
- package/ecrImageExists.d.ts.map +1 -0
- package/ecrImageExists.js +13 -12
- package/ecrImageExists.js.map +1 -0
- package/ecrImageExists.mjs +2 -1
- package/ecrImageExists.mjs.map +1 -0
- package/formatECRImageUri.d.mts +12 -0
- package/formatECRImageUri.d.mts.map +1 -0
- package/formatECRImageUri.d.ts +12 -5
- package/formatECRImageUri.d.ts.map +1 -0
- package/formatECRImageUri.js +2 -1
- package/formatECRImageUri.js.map +1 -0
- package/formatECRImageUri.mjs +2 -1
- package/formatECRImageUri.mjs.map +1 -0
- package/formatECRRepositoryHostname.d.mts +10 -0
- package/formatECRRepositoryHostname.d.mts.map +1 -0
- package/formatECRRepositoryHostname.d.ts +10 -4
- package/formatECRRepositoryHostname.d.ts.map +1 -0
- package/formatECRRepositoryHostname.js +2 -1
- package/formatECRRepositoryHostname.js.map +1 -0
- package/formatECRRepositoryHostname.mjs +2 -1
- package/formatECRRepositoryHostname.mjs.map +1 -0
- package/index.d.mts +12 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +12 -11
- package/index.d.ts.map +1 -0
- package/index.js +2 -1
- package/index.js.map +1 -0
- package/index.mjs +2 -1
- package/index.mjs.map +1 -0
- package/isInteractive.d.mts +2 -0
- package/isInteractive.d.mts.map +1 -0
- package/isInteractive.d.ts +2 -0
- package/isInteractive.d.ts.map +1 -0
- package/isInteractive.js +8 -0
- package/isInteractive.js.map +1 -0
- package/isInteractive.mjs +2 -0
- package/isInteractive.mjs.map +1 -0
- package/loginToECR.d.mts +11 -0
- package/loginToECR.d.mts.map +1 -0
- package/loginToECR.d.ts +11 -4
- package/loginToECR.d.ts.map +1 -0
- package/loginToECR.js +106 -28
- package/loginToECR.js.map +1 -0
- package/loginToECR.mjs +42 -9
- package/loginToECR.mjs.map +1 -0
- package/package.json +17 -8
- package/parseECRImageUri.d.mts +7 -0
- package/parseECRImageUri.d.mts.map +1 -0
- package/parseECRImageUri.d.ts +7 -5
- package/parseECRImageUri.d.ts.map +1 -0
- package/parseECRImageUri.js +2 -1
- package/parseECRImageUri.js.map +1 -0
- package/parseECRImageUri.mjs +2 -1
- package/parseECRImageUri.mjs.map +1 -0
- package/parseECRRepositoryHostname.d.mts +6 -0
- package/parseECRRepositoryHostname.d.mts.map +1 -0
- package/parseECRRepositoryHostname.d.ts +6 -4
- package/parseECRRepositoryHostname.d.ts.map +1 -0
- package/parseECRRepositoryHostname.js +2 -1
- package/parseECRRepositoryHostname.js.map +1 -0
- package/parseECRRepositoryHostname.mjs +2 -1
- package/parseECRRepositoryHostname.mjs.map +1 -0
- package/src/ImageManifestSchema.ts +19 -0
- package/src/checkECRImageAccess.ts +193 -0
- package/src/checkECRRepositoryPolicy.ts +153 -0
- package/src/copyECRImage.ts +76 -0
- package/src/ecrImageExists.ts +48 -0
- package/src/formatECRImageUri.ts +19 -0
- package/src/formatECRRepositoryHostname.ts +11 -0
- package/src/index.ts +11 -0
- package/src/isInteractive.ts +2 -0
- package/src/loginToECR.ts +93 -0
- package/src/parseECRImageUri.ts +13 -0
- package/src/parseECRRepositoryHostname.ts +12 -0
- package/src/tagECRImage.ts +57 -0
- package/src/upsertECRRepository.ts +40 -0
- package/tagECRImage.d.mts +16 -0
- package/tagECRImage.d.mts.map +1 -0
- package/tagECRImage.d.ts +13 -6
- package/tagECRImage.d.ts.map +1 -0
- package/tagECRImage.js +40 -39
- package/tagECRImage.js.map +1 -0
- package/tagECRImage.mjs +3 -3
- package/tagECRImage.mjs.map +1 -0
- package/upsertECRRepository.d.mts +11 -0
- package/upsertECRRepository.d.mts.map +1 -0
- package/upsertECRRepository.d.ts +11 -5
- package/upsertECRRepository.d.ts.map +1 -0
- package/upsertECRRepository.js +21 -20
- package/upsertECRRepository.js.map +1 -0
- package/upsertECRRepository.mjs +3 -2
- package/upsertECRRepository.mjs.map +1 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
|
|
1
|
+
import { ECRClient, type ECRClientConfig } from '@aws-sdk/client-ecr';
|
|
2
2
|
/**
|
|
3
3
|
* Checks if the given ECR repository has a sufficient repository
|
|
4
4
|
* policy to allow the given AWS principal to access docker images.
|
|
@@ -6,15 +6,24 @@ import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
|
|
|
6
6
|
* If not, prints a warning, and if the terminal is interactive, asks the user if they
|
|
7
7
|
* would like to add/update the repository policy.
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
declare function checkECRRepositoryPolicy({
|
|
10
|
+
ecr,
|
|
11
|
+
awsConfig,
|
|
12
|
+
repositoryName,
|
|
13
|
+
awsPrincipal,
|
|
14
|
+
Action,
|
|
15
|
+
log
|
|
16
|
+
}: {
|
|
17
|
+
ecr?: ECRClient;
|
|
18
|
+
awsConfig?: ECRClientConfig;
|
|
19
|
+
repositoryName: string;
|
|
20
|
+
awsPrincipal: string;
|
|
21
|
+
Action?: string[];
|
|
22
|
+
log?: {
|
|
23
|
+
info: (...args: any[]) => void;
|
|
24
|
+
warn: (...args: any[]) => void;
|
|
25
|
+
error: (...args: any[]) => void;
|
|
26
|
+
};
|
|
20
27
|
}): Promise<boolean>;
|
|
28
|
+
export = checkECRRepositoryPolicy;
|
|
29
|
+
//# sourceMappingURL=checkECRRepositoryPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkECRRepositoryPolicy.d.ts","names":["ECRClient","ECRClientConfig","checkECRRepositoryPolicy","ecr","awsConfig","repositoryName","awsPrincipal","Action","log","info","args","warn","error","Promise"],"sources":["src/checkECRRepositoryPolicy.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,SAAS,EACT,KAAKC,eAAe,QAGf,qBAAqB;AAI5B;;;;;;;AAOA,iBAA8BC,wBAAwBA,CAAC;EACrDC,GAAG;EACHC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAIC;EACDC;CACD,EAAE;EACDL,GAAG,CAAC,EAAEH,SAAS;EACfI,SAAS,CAAC,EAAEH,eAAe;EAC3BI,cAAc,EAAE,MAAM;EACtBC,YAAY,EAAE,MAAM;EACpBC,MAAM,CAAC,EAAE,MAAM,EAAE;EACjBC,GAAG,CAAC,EAAE;IACJC,IAAI,EAAE,CAAC,GAAGC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAC9BC,IAAI,EAAE,CAAC,GAAGD,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAC9BE,KAAK,EAAE,CAAC,GAAGF,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;GAChC;CACF,GAAGG,OAAO,CAAC,OAAO,CAAC;AAkHnB,SAAAX,wBAAA","ignoreList":[]}
|
|
@@ -7,11 +7,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports["default"] = checkECRRepositoryPolicy;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
13
|
var _clientEcr = require("@aws-sdk/client-ecr");
|
|
13
14
|
var _inquirer = _interopRequireDefault(require("inquirer"));
|
|
14
|
-
var _isInteractive =
|
|
15
|
+
var _isInteractive = require("./isInteractive.js");
|
|
15
16
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
17
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
18
|
/**
|
|
@@ -25,10 +26,10 @@ function checkECRRepositoryPolicy(_x) {
|
|
|
25
26
|
return _checkECRRepositoryPolicy.apply(this, arguments);
|
|
26
27
|
}
|
|
27
28
|
function _checkECRRepositoryPolicy() {
|
|
28
|
-
_checkECRRepositoryPolicy = (0, _asyncToGenerator2["default"])(
|
|
29
|
+
_checkECRRepositoryPolicy = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
|
|
29
30
|
var _policy$Statement, _statementForAction$P;
|
|
30
31
|
var ecr, awsConfig, repositoryName, awsPrincipal, _ref$Action, Action, _ref$log, log, rootUserMatch, principalAliases, _yield$ecr$send$catch, policyText, policy, statementForAction, statementPrincipal, _yield$inquirer$promp, update, _statementForAction$A, finalPolicy;
|
|
31
|
-
return _regenerator["default"].wrap(function
|
|
32
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
32
33
|
while (1) switch (_context.prev = _context.next) {
|
|
33
34
|
case 0:
|
|
34
35
|
ecr = _ref.ecr, awsConfig = _ref.awsConfig, repositoryName = _ref.repositoryName, awsPrincipal = _ref.awsPrincipal, _ref$Action = _ref.Action, Action = _ref$Action === void 0 ? ['ecr:GetDownloadUrlForLayer', 'ecr:BatchCheckLayerAvailability', 'ecr:BatchGetImage'] : _ref$Action, _ref$log = _ref.log, log = _ref$log === void 0 ? console : _ref$log;
|
|
@@ -36,14 +37,14 @@ function _checkECRRepositoryPolicy() {
|
|
|
36
37
|
if (rootUserMatch) awsPrincipal = rootUserMatch[1];
|
|
37
38
|
principalAliases = /^(\d+)$/.test(awsPrincipal) ? [awsPrincipal, "arn:aws:iam::".concat(awsPrincipal, ":root")] : [awsPrincipal];
|
|
38
39
|
if (!ecr) ecr = new _clientEcr.ECRClient(_objectSpread({}, awsConfig));
|
|
39
|
-
_context.next =
|
|
40
|
+
_context.next = 1;
|
|
40
41
|
return ecr.send(new _clientEcr.GetRepositoryPolicyCommand({
|
|
41
42
|
repositoryName: repositoryName
|
|
42
43
|
}))["catch"](function (error) {
|
|
43
|
-
if (error.name === 'RepositoryPolicyNotFoundException') return {};
|
|
44
|
+
if (error && (0, _typeof2["default"])(error) === 'object' && 'name' in error && error.name === 'RepositoryPolicyNotFoundException') return {};
|
|
44
45
|
throw error;
|
|
45
46
|
});
|
|
46
|
-
case
|
|
47
|
+
case 1:
|
|
47
48
|
_yield$ecr$send$catch = _context.sent;
|
|
48
49
|
policyText = _yield$ecr$send$catch.policyText;
|
|
49
50
|
policy = JSON.parse(policyText || '{}');
|
|
@@ -57,13 +58,12 @@ function _checkECRRepositoryPolicy() {
|
|
|
57
58
|
if (!(statementPrincipal && typeof statementPrincipal === 'string' && principalAliases.includes(statementPrincipal) || Array.isArray(statementPrincipal) && statementPrincipal.some(function (s) {
|
|
58
59
|
return principalAliases.includes(s);
|
|
59
60
|
}))) {
|
|
60
|
-
_context.next =
|
|
61
|
+
_context.next = 2;
|
|
61
62
|
break;
|
|
62
63
|
}
|
|
63
|
-
// eslint-disable-next-line no-console
|
|
64
64
|
log.info("Found policy on ECR repository ".concat(repositoryName, " to allow access for AWS Principal ").concat(awsPrincipal, "."));
|
|
65
65
|
return _context.abrupt("return", true);
|
|
66
|
-
case
|
|
66
|
+
case 2:
|
|
67
67
|
// eslint-disable-next-line no-console
|
|
68
68
|
console.warn("Missing policy on ECR repository ".concat(repositoryName, " to allow access for AWS Principal ").concat(awsPrincipal, ".\n\nThe policy should include:\n\n ").concat(JSON.stringify({
|
|
69
69
|
Version: '2012-10-17',
|
|
@@ -75,22 +75,22 @@ function _checkECRRepositoryPolicy() {
|
|
|
75
75
|
Action: Action
|
|
76
76
|
}]
|
|
77
77
|
}, null, 2).replace(/\n/gm, '\n '), "\n"));
|
|
78
|
-
if (!
|
|
79
|
-
_context.next =
|
|
78
|
+
if (!_isInteractive.isInteractive) {
|
|
79
|
+
_context.next = 5;
|
|
80
80
|
break;
|
|
81
81
|
}
|
|
82
|
-
_context.next =
|
|
82
|
+
_context.next = 3;
|
|
83
83
|
return _inquirer["default"].prompt([{
|
|
84
84
|
name: 'update',
|
|
85
85
|
message: 'Do you want to add/update the policy?',
|
|
86
86
|
type: 'confirm',
|
|
87
87
|
"default": false
|
|
88
88
|
}]);
|
|
89
|
-
case
|
|
89
|
+
case 3:
|
|
90
90
|
_yield$inquirer$promp = _context.sent;
|
|
91
91
|
update = _yield$inquirer$promp.update;
|
|
92
92
|
if (!update) {
|
|
93
|
-
_context.next =
|
|
93
|
+
_context.next = 5;
|
|
94
94
|
break;
|
|
95
95
|
}
|
|
96
96
|
finalPolicy = policy;
|
|
@@ -111,17 +111,17 @@ function _checkECRRepositoryPolicy() {
|
|
|
111
111
|
}])
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
|
-
_context.next =
|
|
114
|
+
_context.next = 4;
|
|
115
115
|
return ecr.send(new _clientEcr.SetRepositoryPolicyCommand({
|
|
116
116
|
repositoryName: repositoryName,
|
|
117
117
|
policyText: JSON.stringify(finalPolicy, null, 2)
|
|
118
118
|
}));
|
|
119
|
-
case
|
|
119
|
+
case 4:
|
|
120
120
|
log.info("updated policy on ECR repository ".concat(repositoryName));
|
|
121
121
|
return _context.abrupt("return", true);
|
|
122
|
-
case
|
|
122
|
+
case 5:
|
|
123
123
|
return _context.abrupt("return", false);
|
|
124
|
-
case
|
|
124
|
+
case 6:
|
|
125
125
|
case "end":
|
|
126
126
|
return _context.stop();
|
|
127
127
|
}
|
|
@@ -129,4 +129,5 @@ function _checkECRRepositoryPolicy() {
|
|
|
129
129
|
}));
|
|
130
130
|
return _checkECRRepositoryPolicy.apply(this, arguments);
|
|
131
131
|
}
|
|
132
|
-
module.exports = exports.default;
|
|
132
|
+
module.exports = exports.default;
|
|
133
|
+
//# sourceMappingURL=checkECRRepositoryPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkECRRepositoryPolicy.js","names":["_clientEcr","require","_inquirer","_interopRequireDefault","_isInteractive","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","checkECRRepositoryPolicy","_x","_checkECRRepositoryPolicy","_asyncToGenerator2","_regenerator","mark","_callee","_ref","_policy$Statement","_statementForAction$P","ecr","awsConfig","repositoryName","awsPrincipal","_ref$Action","Action","_ref$log","log","rootUserMatch","principalAliases","_yield$ecr$send$catch","policyText","policy","statementForAction","statementPrincipal","_yield$inquirer$promp","update","_statementForAction$A","finalPolicy","wrap","_context","prev","next","console","exec","test","concat","ECRClient","send","GetRepositoryPolicyCommand","error","_typeof2","name","sent","JSON","parse","Statement","find","s","Effect","Array","isArray","every","a","_s$Action","includes","Principal","AWS","some","info","abrupt","warn","stringify","Version","replace","isInteractive","inquirer","prompt","message","type","_toConsumableArray2","SetRepositoryPolicyCommand","stop","module","exports","default"],"sources":["src/checkECRRepositoryPolicy.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ECRClient, GetRepositoryPolicyCommand, SetRepositoryPolicyCommand } from '@aws-sdk/client-ecr';
|
|
2
2
|
import inquirer from 'inquirer';
|
|
3
|
-
import isInteractive from
|
|
3
|
+
import { isInteractive } from "./isInteractive.mjs";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Checks if the given ECR repository has a sufficient repository
|
|
@@ -29,7 +29,7 @@ export default async function checkECRRepositoryPolicy({
|
|
|
29
29
|
} = await ecr.send(new GetRepositoryPolicyCommand({
|
|
30
30
|
repositoryName
|
|
31
31
|
})).catch(error => {
|
|
32
|
-
if (error.name === 'RepositoryPolicyNotFoundException') return {};
|
|
32
|
+
if (error && typeof error === 'object' && 'name' in error && error.name === 'RepositoryPolicyNotFoundException') return {};
|
|
33
33
|
throw error;
|
|
34
34
|
});
|
|
35
35
|
const policy = JSON.parse(policyText || '{}');
|
|
@@ -39,7 +39,6 @@ export default async function checkECRRepositoryPolicy({
|
|
|
39
39
|
}));
|
|
40
40
|
const statementPrincipal = statementForAction === null || statementForAction === void 0 || (_statementForAction$P = statementForAction.Principal) === null || _statementForAction$P === void 0 ? void 0 : _statementForAction$P.AWS;
|
|
41
41
|
if (statementPrincipal && typeof statementPrincipal === 'string' && principalAliases.includes(statementPrincipal) || Array.isArray(statementPrincipal) && statementPrincipal.some(s => principalAliases.includes(s))) {
|
|
42
|
-
// eslint-disable-next-line no-console
|
|
43
42
|
log.info(`Found policy on ECR repository ${repositoryName} to allow access for AWS Principal ${awsPrincipal}.`);
|
|
44
43
|
return true;
|
|
45
44
|
}
|
|
@@ -60,7 +59,7 @@ The policy should include:
|
|
|
60
59
|
}]
|
|
61
60
|
}, null, 2).replace(/\n/gm, '\n ')}
|
|
62
61
|
`);
|
|
63
|
-
if (isInteractive
|
|
62
|
+
if (isInteractive) {
|
|
64
63
|
const {
|
|
65
64
|
update
|
|
66
65
|
} = await inquirer.prompt([{
|
|
@@ -99,4 +98,5 @@ The policy should include:
|
|
|
99
98
|
}
|
|
100
99
|
}
|
|
101
100
|
return false;
|
|
102
|
-
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=checkECRRepositoryPolicy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkECRRepositoryPolicy.mjs","names":["ECRClient","GetRepositoryPolicyCommand","SetRepositoryPolicyCommand","inquirer","isInteractive","checkECRRepositoryPolicy","ecr","awsConfig","repositoryName","awsPrincipal","Action","log","console","_policy$Statement","_statementForAction$P","rootUserMatch","exec","principalAliases","test","policyText","send","catch","error","name","policy","JSON","parse","statementForAction","Statement","find","s","Effect","Array","isArray","every","a","_s$Action","includes","statementPrincipal","Principal","AWS","some","info","warn","stringify","Version","replace","update","prompt","message","type","default","_statementForAction$A","finalPolicy","length"],"sources":["src/checkECRRepositoryPolicy.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ECRClient, type ECRClientConfig } from '@aws-sdk/client-ecr';
|
|
2
|
+
export default function copyECRImage({
|
|
3
|
+
from,
|
|
4
|
+
to
|
|
5
|
+
}: {
|
|
6
|
+
from: {
|
|
7
|
+
imageUri: string;
|
|
8
|
+
ecr?: ECRClient;
|
|
9
|
+
awsConfig?: ECRClientConfig;
|
|
10
|
+
};
|
|
11
|
+
to: {
|
|
12
|
+
imageUri: string;
|
|
13
|
+
ecr?: ECRClient;
|
|
14
|
+
awsConfig?: ECRClientConfig;
|
|
15
|
+
};
|
|
16
|
+
}): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=copyECRImage.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyECRImage.d.mts","names":["ECRClient","ECRClientConfig","copyECRImage","from","to","imageUri","ecr","awsConfig","Promise"],"sources":["src/copyECRImage.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,SAAS,EAAE,KAAKC,eAAe,QAAQ,qBAAqB;AAErE,wBAA8BC,YAAYA,CAAC;EACzCC,IAAI;EACJC;CACD,EAAE;EACDD,IAAI,EAAE;IACJE,QAAQ,EAAE,MAAM;IAChBC,GAAG,CAAC,EAAEN,SAAS;IACfO,SAAS,CAAC,EAAEN,eAAe;GAC5B;EACDG,EAAE,EAAE;IACFC,QAAQ,EAAE,MAAM;IAChBC,GAAG,CAAC,EAAEN,SAAS;IACfO,SAAS,CAAC,EAAEN,eAAe;GAC5B;CACF,GAAGO,OAAO,CAAC,IAAI,CAAC","ignoreList":[]}
|
package/copyECRImage.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { ECRClient, type ECRClientConfig } from '@aws-sdk/client-ecr';
|
|
2
|
+
declare function copyECRImage({
|
|
3
|
+
from,
|
|
4
|
+
to
|
|
5
|
+
}: {
|
|
6
|
+
from: {
|
|
7
|
+
imageUri: string;
|
|
8
|
+
ecr?: ECRClient;
|
|
9
|
+
awsConfig?: ECRClientConfig;
|
|
10
|
+
};
|
|
11
|
+
to: {
|
|
12
|
+
imageUri: string;
|
|
13
|
+
ecr?: ECRClient;
|
|
14
|
+
awsConfig?: ECRClientConfig;
|
|
15
|
+
};
|
|
13
16
|
}): Promise<void>;
|
|
17
|
+
export = copyECRImage;
|
|
18
|
+
//# sourceMappingURL=copyECRImage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyECRImage.d.ts","names":["ECRClient","ECRClientConfig","copyECRImage","from","to","imageUri","ecr","awsConfig","Promise"],"sources":["src/copyECRImage.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,SAAS,EAAE,KAAKC,eAAe,QAAQ,qBAAqB;AAErE,iBAA8BC,YAAYA,CAAC;EACzCC,IAAI;EACJC;CACD,EAAE;EACDD,IAAI,EAAE;IACJE,QAAQ,EAAE,MAAM;IAChBC,GAAG,CAAC,EAAEN,SAAS;IACfO,SAAS,CAAC,EAAEN,eAAe;GAC5B;EACDG,EAAE,EAAE;IACFC,QAAQ,EAAE,MAAM;IAChBC,GAAG,CAAC,EAAEN,SAAS;IACfO,SAAS,CAAC,EAAEN,eAAe;GAC5B;CACF,GAAGO,OAAO,CAAC,IAAI,CAAC;AAuDhB,SAAAN,YAAA","ignoreList":[]}
|
package/copyECRImage.js
CHANGED
|
@@ -18,23 +18,23 @@ function copyECRImage(_x) {
|
|
|
18
18
|
return _copyECRImage.apply(this, arguments);
|
|
19
19
|
}
|
|
20
20
|
function _copyECRImage() {
|
|
21
|
-
_copyECRImage = (0, _asyncToGenerator2["default"])(
|
|
21
|
+
_copyECRImage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
|
|
22
22
|
var from, to, srcRepositoryUri, repositoryUri, _parseECRImageUri, fromRegion, _parseECRImageUri2, toRegion, repositoryName, imageTag;
|
|
23
|
-
return _regenerator["default"].wrap(function
|
|
23
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
24
24
|
while (1) switch (_context.prev = _context.next) {
|
|
25
25
|
case 0:
|
|
26
26
|
from = _ref.from, to = _ref.to;
|
|
27
27
|
if (!(from.imageUri === to.imageUri)) {
|
|
28
|
-
_context.next =
|
|
28
|
+
_context.next = 1;
|
|
29
29
|
break;
|
|
30
30
|
}
|
|
31
31
|
return _context.abrupt("return");
|
|
32
|
-
case
|
|
32
|
+
case 1:
|
|
33
33
|
srcRepositoryUri = from.imageUri.replace(/:.+/, '');
|
|
34
34
|
repositoryUri = to.imageUri.replace(/:.+/, '');
|
|
35
35
|
_parseECRImageUri = (0, _parseECRImageUri3["default"])(from.imageUri), fromRegion = _parseECRImageUri.region;
|
|
36
36
|
_parseECRImageUri2 = (0, _parseECRImageUri3["default"])(to.imageUri), toRegion = _parseECRImageUri2.region, repositoryName = _parseECRImageUri2.repositoryName, imageTag = _parseECRImageUri2.imageTag;
|
|
37
|
-
_context.next =
|
|
37
|
+
_context.next = 2;
|
|
38
38
|
return (0, _ecrImageExists["default"])({
|
|
39
39
|
awsConfig: _objectSpread(_objectSpread({}, to.awsConfig), {}, {
|
|
40
40
|
region: toRegion
|
|
@@ -43,55 +43,55 @@ function _copyECRImage() {
|
|
|
43
43
|
repositoryName: repositoryName,
|
|
44
44
|
imageTag: imageTag
|
|
45
45
|
});
|
|
46
|
-
case
|
|
46
|
+
case 2:
|
|
47
47
|
if (!_context.sent) {
|
|
48
|
-
_context.next =
|
|
48
|
+
_context.next = 3;
|
|
49
49
|
break;
|
|
50
50
|
}
|
|
51
51
|
// eslint-disable-next-line no-console
|
|
52
52
|
console.error("Clarity image already exists in your ECR: ".concat(repositoryName, ":").concat(imageTag));
|
|
53
|
-
_context.next =
|
|
53
|
+
_context.next = 8;
|
|
54
54
|
break;
|
|
55
|
-
case
|
|
55
|
+
case 3:
|
|
56
56
|
// eslint-disable-next-line no-console
|
|
57
57
|
console.error("Logging into source ECR: ".concat(srcRepositoryUri.replace(/\/.*/, ''), "..."));
|
|
58
|
-
_context.next =
|
|
58
|
+
_context.next = 4;
|
|
59
59
|
return (0, _loginToECR["default"])({
|
|
60
60
|
ecr: from.ecr,
|
|
61
61
|
awsConfig: _objectSpread(_objectSpread({}, from.awsConfig), {}, {
|
|
62
62
|
region: fromRegion
|
|
63
63
|
})
|
|
64
64
|
});
|
|
65
|
-
case
|
|
65
|
+
case 4:
|
|
66
66
|
// eslint-disable-next-line no-console
|
|
67
67
|
console.error("Pulling ".concat(from.imageUri, "..."));
|
|
68
|
-
_context.next =
|
|
68
|
+
_context.next = 5;
|
|
69
69
|
return (0, _promisifyChildProcess.spawn)('docker', ['pull', from.imageUri], {
|
|
70
70
|
stdio: 'inherit'
|
|
71
71
|
});
|
|
72
|
-
case
|
|
72
|
+
case 5:
|
|
73
73
|
// eslint-disable-next-line no-console
|
|
74
74
|
console.error("Logging into dest ECR: ".concat(repositoryUri.replace(/\/.*/, ''), "..."));
|
|
75
|
-
_context.next =
|
|
75
|
+
_context.next = 6;
|
|
76
76
|
return (0, _loginToECR["default"])({
|
|
77
77
|
ecr: to.ecr,
|
|
78
78
|
awsConfig: _objectSpread(_objectSpread({}, to.awsConfig), {}, {
|
|
79
79
|
region: toRegion
|
|
80
80
|
})
|
|
81
81
|
});
|
|
82
|
-
case
|
|
82
|
+
case 6:
|
|
83
83
|
// eslint-disable-next-line no-console
|
|
84
84
|
console.error("Pushing ".concat(to.imageUri, "..."));
|
|
85
|
-
_context.next =
|
|
85
|
+
_context.next = 7;
|
|
86
86
|
return (0, _promisifyChildProcess.spawn)('docker', ['tag', from.imageUri, to.imageUri], {
|
|
87
87
|
stdio: 'inherit'
|
|
88
88
|
});
|
|
89
|
-
case
|
|
90
|
-
_context.next =
|
|
89
|
+
case 7:
|
|
90
|
+
_context.next = 8;
|
|
91
91
|
return (0, _promisifyChildProcess.spawn)('docker', ['push', to.imageUri], {
|
|
92
92
|
stdio: 'inherit'
|
|
93
93
|
});
|
|
94
|
-
case
|
|
94
|
+
case 8:
|
|
95
95
|
case "end":
|
|
96
96
|
return _context.stop();
|
|
97
97
|
}
|
|
@@ -99,4 +99,5 @@ function _copyECRImage() {
|
|
|
99
99
|
}));
|
|
100
100
|
return _copyECRImage.apply(this, arguments);
|
|
101
101
|
}
|
|
102
|
-
module.exports = exports.default;
|
|
102
|
+
module.exports = exports.default;
|
|
103
|
+
//# sourceMappingURL=copyECRImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyECRImage.js","names":["_promisifyChildProcess","require","_loginToECR","_interopRequireDefault","_ecrImageExists","_parseECRImageUri3","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","copyECRImage","_x","_copyECRImage","_asyncToGenerator2","_regenerator","mark","_callee","_ref","from","to","srcRepositoryUri","repositoryUri","_parseECRImageUri","fromRegion","_parseECRImageUri2","toRegion","repositoryName","imageTag","wrap","_context","prev","next","imageUri","abrupt","replace","parseECRImageUri","region","ecrImageExists","awsConfig","ecr","sent","console","error","concat","loginToECR","spawn","stdio","stop","module","exports","default"],"sources":["src/copyECRImage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/copyECRImage.mjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyECRImage.mjs","names":["spawn","loginToECR","ecrImageExists","parseECRImageUri","copyECRImage","from","to","imageUri","srcRepositoryUri","replace","repositoryUri","region","fromRegion","toRegion","repositoryName","imageTag","awsConfig","ecr","console","error","stdio"],"sources":["src/copyECRImage.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,yBAAyB;AAC/C,OAAOC,UAAU;AACjB,OAAOC,cAAc;AACrB,OAAOC,gBAAgB;AAGvB,eAAe,eAAeC,YAAYA,CAAC;EACzCC,IAAI;EACJC;AAYF,CAAC,EAAiB;EAChB,IAAID,IAAI,CAACE,QAAQ,KAAKD,EAAE,CAACC,QAAQ,EAAE;EACnC,MAAMC,gBAAgB,GAAGH,IAAI,CAACE,QAAQ,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACzD,MAAMC,aAAa,GAAGJ,EAAE,CAACC,QAAQ,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EAEpD,MAAM;IAAEE,MAAM,EAAEC;EAAW,CAAC,GAAGT,gBAAgB,CAACE,IAAI,CAACE,QAAQ,CAAC;EAC9D,MAAM;IACJI,MAAM,EAAEE,QAAQ;IAChBC,cAAc;IACdC;EACF,CAAC,GAAGZ,gBAAgB,CAACG,EAAE,CAACC,QAAQ,CAAC;EAEjC,IACE,MAAML,cAAc,CAAC;IACnBc,SAAS,EAAE;MAAE,GAAGV,EAAE,CAACU,SAAS;MAAEL,MAAM,EAAEE;IAAS,CAAC;IAChDI,GAAG,EAAEX,EAAE,CAACW,GAAG;IACXH,cAAc;IACdC;EACF,CAAC,CAAC,EACF;IACA;IACAG,OAAO,CAACC,KAAK,CACX,6CAA6CL,cAAc,IAAIC,QAAQ,EACzE,CAAC;EACH,CAAC,MAAM;IACL;IACAG,OAAO,CAACC,KAAK,CACX,4BAA4BX,gBAAgB,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAClE,CAAC;IAED,MAAMR,UAAU,CAAC;MACfgB,GAAG,EAAEZ,IAAI,CAACY,GAAG;MACbD,SAAS,EAAE;QAAE,GAAGX,IAAI,CAACW,SAAS;QAAEL,MAAM,EAAEC;MAAW;IACrD,CAAC,CAAC;;IAEF;IACAM,OAAO,CAACC,KAAK,CAAC,WAAWd,IAAI,CAACE,QAAQ,KAAK,CAAC;IAC5C,MAAMP,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAEK,IAAI,CAACE,QAAQ,CAAC,EAAE;MAAEa,KAAK,EAAE;IAAU,CAAC,CAAC;;IAEpE;IACAF,OAAO,CAACC,KAAK,CACX,0BAA0BT,aAAa,CAACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAC7D,CAAC;IACD,MAAMR,UAAU,CAAC;MACfgB,GAAG,EAAEX,EAAE,CAACW,GAAG;MACXD,SAAS,EAAE;QAAE,GAAGV,EAAE,CAACU,SAAS;QAAEL,MAAM,EAAEE;MAAS;IACjD,CAAC,CAAC;;IAEF;IACAK,OAAO,CAACC,KAAK,CAAC,WAAWb,EAAE,CAACC,QAAQ,KAAK,CAAC;IAC1C,MAAMP,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAEK,IAAI,CAACE,QAAQ,EAAED,EAAE,CAACC,QAAQ,CAAC,EAAE;MACzDa,KAAK,EAAE;IACT,CAAC,CAAC;IACF,MAAMpB,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAEM,EAAE,CAACC,QAAQ,CAAC,EAAE;MAAEa,KAAK,EAAE;IAAU,CAAC,CAAC;EACpE;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ECRClient, type ECRClientConfig } from '@aws-sdk/client-ecr';
|
|
2
|
+
export default function ecrImageExists({
|
|
3
|
+
ecr,
|
|
4
|
+
awsConfig,
|
|
5
|
+
imageUri,
|
|
6
|
+
registryId,
|
|
7
|
+
repositoryName,
|
|
8
|
+
imageTag
|
|
9
|
+
}: {
|
|
10
|
+
ecr?: ECRClient;
|
|
11
|
+
awsConfig?: ECRClientConfig;
|
|
12
|
+
imageUri?: string;
|
|
13
|
+
registryId?: string;
|
|
14
|
+
repositoryName?: string;
|
|
15
|
+
imageTag?: string;
|
|
16
|
+
}): Promise<boolean>;
|
|
17
|
+
//# sourceMappingURL=ecrImageExists.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecrImageExists.d.mts","names":["ECRClient","ECRClientConfig","ecrImageExists","ecr","awsConfig","imageUri","registryId","repositoryName","imageTag","Promise"],"sources":["src/ecrImageExists.ts"],"sourcesContent":[null],"mappings":"AAAA,SAEEA,SAAS,EACT,KAAKC,eAAe,QACf,qBAAqB;AAE5B,wBAA8BC,cAAcA,CAAC;EAC3CC,GAAG;EACHC,SAAS;EACTC,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdC;CACD,EAAE;EACDL,GAAG,CAAC,EAAEH,SAAS;EACfI,SAAS,CAAC,EAAEH,eAAe;EAC3BI,QAAQ,CAAC,EAAE,MAAM;EACjBC,UAAU,CAAC,EAAE,MAAM;EACnBC,cAAc,CAAC,EAAE,MAAM;EACvBC,QAAQ,CAAC,EAAE,MAAM;CAClB,GAAGC,OAAO,CAAC,OAAO,CAAC","ignoreList":[]}
|
package/ecrImageExists.d.ts
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { ECRClient, type ECRClientConfig } from '@aws-sdk/client-ecr';
|
|
2
|
+
declare function ecrImageExists({
|
|
3
|
+
ecr,
|
|
4
|
+
awsConfig,
|
|
5
|
+
imageUri,
|
|
6
|
+
registryId,
|
|
7
|
+
repositoryName,
|
|
8
|
+
imageTag
|
|
9
|
+
}: {
|
|
10
|
+
ecr?: ECRClient;
|
|
11
|
+
awsConfig?: ECRClientConfig;
|
|
12
|
+
imageUri?: string;
|
|
13
|
+
registryId?: string;
|
|
14
|
+
repositoryName?: string;
|
|
15
|
+
imageTag?: string;
|
|
9
16
|
}): Promise<boolean>;
|
|
17
|
+
export = ecrImageExists;
|
|
18
|
+
//# sourceMappingURL=ecrImageExists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecrImageExists.d.ts","names":["ECRClient","ECRClientConfig","ecrImageExists","ecr","awsConfig","imageUri","registryId","repositoryName","imageTag","Promise"],"sources":["src/ecrImageExists.ts"],"sourcesContent":[null],"mappings":"AAAA,SAEEA,SAAS,EACT,KAAKC,eAAe,QACf,qBAAqB;AAE5B,iBAA8BC,cAAcA,CAAC;EAC3CC,GAAG;EACHC,SAAS;EACTC,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdC;CACD,EAAE;EACDL,GAAG,CAAC,EAAEH,SAAS;EACfI,SAAS,CAAC,EAAEH,eAAe;EAC3BI,QAAQ,CAAC,EAAE,MAAM;EACjBC,UAAU,CAAC,EAAE,MAAM;EACnBC,cAAc,CAAC,EAAE,MAAM;EACvBC,QAAQ,CAAC,EAAE,MAAM;CAClB,GAAGC,OAAO,CAAC,OAAO,CAAC;AA2BnB,SAAAP,cAAA","ignoreList":[]}
|
package/ecrImageExists.js
CHANGED
|
@@ -16,40 +16,40 @@ function ecrImageExists(_x) {
|
|
|
16
16
|
return _ecrImageExists.apply(this, arguments);
|
|
17
17
|
}
|
|
18
18
|
function _ecrImageExists() {
|
|
19
|
-
_ecrImageExists = (0, _asyncToGenerator2["default"])(
|
|
19
|
+
_ecrImageExists = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
|
|
20
20
|
var ecr, awsConfig, imageUri, registryId, repositoryName, imageTag, region, match, _match;
|
|
21
|
-
return _regenerator["default"].wrap(function
|
|
21
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
22
22
|
while (1) switch (_context.prev = _context.next) {
|
|
23
23
|
case 0:
|
|
24
24
|
ecr = _ref.ecr, awsConfig = _ref.awsConfig, imageUri = _ref.imageUri, registryId = _ref.registryId, repositoryName = _ref.repositoryName, imageTag = _ref.imageTag;
|
|
25
25
|
if (!imageUri) {
|
|
26
|
-
_context.next =
|
|
26
|
+
_context.next = 2;
|
|
27
27
|
break;
|
|
28
28
|
}
|
|
29
29
|
match = /(\d+)\.dkr\.ecr\.(.+?)\.amazonaws\.com\/(.+?):(.+)/.exec(imageUri);
|
|
30
30
|
if (match) {
|
|
31
|
-
_context.next =
|
|
31
|
+
_context.next = 1;
|
|
32
32
|
break;
|
|
33
33
|
}
|
|
34
34
|
throw new Error("failed to parse imageUri: ".concat(imageUri));
|
|
35
|
-
case
|
|
35
|
+
case 1:
|
|
36
36
|
_match = (0, _slicedToArray2["default"])(match, 5);
|
|
37
37
|
registryId = _match[1];
|
|
38
38
|
region = _match[2];
|
|
39
39
|
repositoryName = _match[3];
|
|
40
40
|
imageTag = _match[4];
|
|
41
|
-
case
|
|
41
|
+
case 2:
|
|
42
42
|
if (!region) region = awsConfig === null || awsConfig === void 0 ? void 0 : awsConfig.region;
|
|
43
43
|
if (!ecr) ecr = new _clientEcr.ECRClient(_objectSpread(_objectSpread({}, awsConfig), {}, {
|
|
44
44
|
region: region
|
|
45
45
|
}));
|
|
46
46
|
if (!(!repositoryName || !imageTag)) {
|
|
47
|
-
_context.next =
|
|
47
|
+
_context.next = 3;
|
|
48
48
|
break;
|
|
49
49
|
}
|
|
50
50
|
throw new Error("missing repositoryName/imageTag or imageUri");
|
|
51
|
-
case
|
|
52
|
-
_context.next =
|
|
51
|
+
case 3:
|
|
52
|
+
_context.next = 4;
|
|
53
53
|
return ecr.send(new _clientEcr.DescribeImagesCommand({
|
|
54
54
|
registryId: registryId,
|
|
55
55
|
repositoryName: repositoryName,
|
|
@@ -61,9 +61,9 @@ function _ecrImageExists() {
|
|
|
61
61
|
}, function () {
|
|
62
62
|
return false;
|
|
63
63
|
});
|
|
64
|
-
case
|
|
64
|
+
case 4:
|
|
65
65
|
return _context.abrupt("return", _context.sent);
|
|
66
|
-
case
|
|
66
|
+
case 5:
|
|
67
67
|
case "end":
|
|
68
68
|
return _context.stop();
|
|
69
69
|
}
|
|
@@ -71,4 +71,5 @@ function _ecrImageExists() {
|
|
|
71
71
|
}));
|
|
72
72
|
return _ecrImageExists.apply(this, arguments);
|
|
73
73
|
}
|
|
74
|
-
module.exports = exports.default;
|
|
74
|
+
module.exports = exports.default;
|
|
75
|
+
//# sourceMappingURL=ecrImageExists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecrImageExists.js","names":["_clientEcr","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","ecrImageExists","_x","_ecrImageExists","_asyncToGenerator2","_regenerator","mark","_callee","_ref","ecr","awsConfig","imageUri","registryId","repositoryName","imageTag","region","match","_match","wrap","_context","prev","next","exec","Error","concat","_slicedToArray2","ECRClient","send","DescribeImagesCommand","imageIds","then","abrupt","sent","stop","module","exports","default"],"sources":["src/ecrImageExists.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/ecrImageExists.mjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecrImageExists.mjs","names":["DescribeImagesCommand","ECRClient","ecrImageExists","ecr","awsConfig","imageUri","registryId","repositoryName","imageTag","region","match","exec","Error","send","imageIds","then"],"sources":["src/ecrImageExists.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,qBAAqB,EACrBC,SAAS,QAEJ,qBAAqB;AAE5B,eAAe,eAAeC,cAAcA,CAAC;EAC3CC,GAAG;EACHC,SAAS;EACTC,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdC;AAQF,CAAC,EAAoB;EACnB,IAAIC,MAAM;EACV,IAAIJ,QAAQ,EAAE;IACZ,MAAMK,KAAK,GAAG,oDAAoD,CAACC,IAAI,CACrEN,QACF,CAAC;IACD,IAAI,CAACK,KAAK,EAAE,MAAM,IAAIE,KAAK,CAAC,6BAA6BP,QAAQ,EAAE,CAAC;IACnE,GAAGC,UAAU,EAAEG,MAAM,EAAEF,cAAc,EAAEC,QAAQ,CAAC,GAAGE,KAAK;EAC3D;EACA,IAAI,CAACD,MAAM,EAAEA,MAAM,GAAGL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,MAAM;EACvC,IAAI,CAACN,GAAG,EAAEA,GAAG,GAAG,IAAIF,SAAS,CAAC;IAAE,GAAGG,SAAS;IAAEK;EAAO,CAAC,CAAC;EAEvD,IAAI,CAACF,cAAc,IAAI,CAACC,QAAQ,EAAE;IAChC,MAAM,IAAII,KAAK,CAAC,6CAA6C,CAAC;EAChE;EACA,OAAO,MAAMT,GAAG,CACbU,IAAI,CACH,IAAIb,qBAAqB,CAAC;IACxBM,UAAU;IACVC,cAAc;IACdO,QAAQ,EAAE,CAAC;MAAEN;IAAS,CAAC;EACzB,CAAC,CACH,CAAC,CACAO,IAAI,CACH,MAAM,IAAI,EACV,MAAM,KACR,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default function formatECRImageUri({
|
|
2
|
+
registryId,
|
|
3
|
+
region,
|
|
4
|
+
repositoryName,
|
|
5
|
+
imageTag
|
|
6
|
+
}: {
|
|
7
|
+
registryId: string;
|
|
8
|
+
region: string;
|
|
9
|
+
repositoryName: string;
|
|
10
|
+
imageTag: string;
|
|
11
|
+
}): string;
|
|
12
|
+
//# sourceMappingURL=formatECRImageUri.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatECRImageUri.d.mts","names":["formatECRImageUri","registryId","region","repositoryName","imageTag"],"sources":["src/formatECRImageUri.ts"],"sourcesContent":[null],"mappings":"AAEA,eAAc,SAAUA,iBAAiBA,CAAC;EACxCC,UAAU;EACVC,MAAM;EACNC,cAAc;EACdC;CACD,EAAE;EACDH,UAAU,EAAE,MAAM;EAClBC,MAAM,EAAE,MAAM;EACdC,cAAc,EAAE,MAAM;EACtBC,QAAQ,EAAE,MAAM;CACjB,GAAG,MAAM","ignoreList":[]}
|
package/formatECRImageUri.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
declare function formatECRImageUri({
|
|
2
|
+
registryId,
|
|
3
|
+
region,
|
|
4
|
+
repositoryName,
|
|
5
|
+
imageTag
|
|
6
|
+
}: {
|
|
7
|
+
registryId: string;
|
|
8
|
+
region: string;
|
|
9
|
+
repositoryName: string;
|
|
10
|
+
imageTag: string;
|
|
6
11
|
}): string;
|
|
12
|
+
export = formatECRImageUri;
|
|
13
|
+
//# sourceMappingURL=formatECRImageUri.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatECRImageUri.d.ts","names":["formatECRImageUri","registryId","region","repositoryName","imageTag"],"sources":["src/formatECRImageUri.ts"],"sourcesContent":[null],"mappings":"AAEc,iBAAUA,iBAAiBA,CAAC;EACxCC,UAAU;EACVC,MAAM;EACNC,cAAc;EACdC;CACD,EAAE;EACDH,UAAU,EAAE,MAAM;EAClBC,MAAM,EAAE,MAAM;EACdC,cAAc,EAAE,MAAM;EACtBC,QAAQ,EAAE,MAAM;CACjB,GAAG,MAAM;AAMT,SAAAJ,iBAAA","ignoreList":[]}
|
package/formatECRImageUri.js
CHANGED