Skip to content

Commit 71e3ab4

Browse files
committed
revert(import): restore original duplicate-by-ARN blocking behavior
Bug 6 is not a bug — blocking re-imports of the same cloud resource ARN is correct because allowing it would create duplicate CFN logical resources referencing the same physical resource, causing deploy failures. Reverts the --name re-import allowance while keeping the Bug 5 early name validation fix.
1 parent e2af68c commit 71e3ab4

2 files changed

Lines changed: 20 additions & 30 deletions

File tree

src/cli/commands/import/import-memory.ts

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -222,21 +222,16 @@ export async function handleImportMemory(options: ImportResourceOptions): Promis
222222
const targetName = target.name ?? 'default';
223223
const existingResource = await findResourceInDeployedState(ctx.configIO, targetName, 'memory', memoryId);
224224
if (existingResource) {
225-
if (!options.name) {
226-
const error = `Memory "${memoryId}" is already imported in this project as "${existingResource}". Remove it first before re-importing, or use --name to import under a different name.`;
227-
logger.endStep('error', error);
228-
logger.finalize(false);
229-
return {
230-
success: false,
231-
error,
232-
resourceType: 'memory',
233-
resourceName: localName,
234-
logPath: logger.getRelativeLogPath(),
235-
};
236-
}
237-
onProgress(
238-
`Warning: Memory "${memoryId}" already imported as "${existingResource}". Re-importing as "${localName}".`
239-
);
225+
const error = `Memory "${memoryId}" is already imported in this project as "${existingResource}". Remove it first before re-importing.`;
226+
logger.endStep('error', error);
227+
logger.finalize(false);
228+
return {
229+
success: false,
230+
error,
231+
resourceType: 'memory',
232+
resourceName: localName,
233+
logPath: logger.getRelativeLogPath(),
234+
};
240235
}
241236
logger.endStep('success');
242237

src/cli/commands/import/import-runtime.ts

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -318,21 +318,16 @@ export async function handleImportRuntime(options: ImportResourceOptions): Promi
318318
const targetName = target.name ?? 'default';
319319
const existingResource = await findResourceInDeployedState(ctx.configIO, targetName, 'runtime', runtimeId);
320320
if (existingResource) {
321-
if (!options.name) {
322-
const error = `Runtime "${runtimeId}" is already imported in this project as "${existingResource}". Remove it first before re-importing, or use --name to import under a different name.`;
323-
logger.endStep('error', error);
324-
logger.finalize(false);
325-
return {
326-
success: false,
327-
error,
328-
resourceType: 'runtime',
329-
resourceName: localName,
330-
logPath: logger.getRelativeLogPath(),
331-
};
332-
}
333-
onProgress(
334-
`Warning: Runtime "${runtimeId}" already imported as "${existingResource}". Re-importing as "${localName}".`
335-
);
321+
const error = `Runtime "${runtimeId}" is already imported in this project as "${existingResource}". Remove it first before re-importing.`;
322+
logger.endStep('error', error);
323+
logger.finalize(false);
324+
return {
325+
success: false,
326+
error,
327+
resourceType: 'runtime',
328+
resourceName: localName,
329+
logPath: logger.getRelativeLogPath(),
330+
};
336331
}
337332
logger.endStep('success');
338333

0 commit comments

Comments
 (0)