@awsless/cli 0.0.46-next.38 → 0.0.46-next.40

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.
Files changed (2) hide show
  1. package/dist/bin.js +172 -75
  2. package/package.json +12 -12
package/dist/bin.js CHANGED
@@ -163622,8 +163622,7 @@ var authFeature = defineFeature({
163622
163622
  },
163623
163623
  deletionProtection: ctx.appConfig.removal === "retain" ? "ACTIVE" : "INACTIVE"
163624
163624
  }, {
163625
- retainOnDelete: ctx.appConfig.removal === "retain",
163626
- import: ctx.import ? name : undefined
163625
+ retainOnDelete: ctx.appConfig.removal === "retain"
163627
163626
  });
163628
163627
  const client4 = new aws3.cognito.UserPoolClient(group4, "client", {
163629
163628
  userPoolId: userPool.id,
@@ -164420,6 +164419,8 @@ var bundleFeature = defineFeature({
164420
164419
  }
164421
164420
  ]
164422
164421
  })
164422
+ }, {
164423
+ import: ctx.import ? shortName : undefined
164423
164424
  });
164424
164425
  const statements = new Set;
164425
164426
  const statementDeps = new Set;
@@ -164511,7 +164512,8 @@ var bundleFeature = defineFeature({
164511
164512
  }
164512
164513
  };
164513
164514
  const lambda = new aws3.lambda.Function(group4, "function", lambdaProps, {
164514
- dependsOn: [vpcPolicy]
164515
+ dependsOn: [vpcPolicy],
164516
+ import: ctx.import ? name : undefined
164515
164517
  });
164516
164518
  const onFailure = getGlobalOnFailure(ctx);
164517
164519
  const deployment = new DeploymentAlias(group4, "deployment-alias", {
@@ -164562,6 +164564,8 @@ var bundleFeature = defineFeature({
164562
164564
  logGroup = new aws3.cloudwatch.LogGroup(group4, "log", {
164563
164565
  name: `/aws/lambda/${name}`,
164564
164566
  retentionInDays: toDays5(defaults2.log.retention)
164567
+ }, {
164568
+ import: ctx.import ? `/aws/lambda/${name}` : undefined
164565
164569
  });
164566
164570
  addPermission({
164567
164571
  actions: ["logs:PutLogEvents", "logs:CreateLogStream"],
@@ -172752,22 +172756,26 @@ var cronFeature = defineFeature({
172752
172756
  const found = ctx.stackConfigs.find((stackConfig) => Object.keys(stackConfig.crons ?? {}).length > 0);
172753
172757
  if (found) {
172754
172758
  const bundle = ctx.shared.get("bundle", "main");
172759
+ const groupName = formatGlobalResourceName({
172760
+ appName: ctx.app.name,
172761
+ resourceType: "cron",
172762
+ resourceName: "group"
172763
+ });
172755
172764
  const group4 = new aws3.scheduler.ScheduleGroup(ctx.base, "cron", {
172756
- name: formatGlobalResourceName({
172757
- appName: ctx.app.name,
172758
- resourceType: "cron",
172759
- resourceName: "group"
172760
- }),
172765
+ name: groupName,
172761
172766
  tags: {
172762
172767
  app: ctx.app.name
172763
172768
  }
172769
+ }, {
172770
+ import: ctx.import ? groupName : undefined
172771
+ });
172772
+ const roleName = formatGlobalResourceName({
172773
+ appName: ctx.app.name,
172774
+ resourceType: "cron",
172775
+ resourceName: "schedule"
172764
172776
  });
172765
172777
  const role = new aws3.iam.Role(ctx.base, "cron-role", {
172766
- name: formatGlobalResourceName({
172767
- appName: ctx.app.name,
172768
- resourceType: "cron",
172769
- resourceName: "schedule"
172770
- }),
172778
+ name: roleName,
172771
172779
  description: `${ctx.app.name} cron scheduler`,
172772
172780
  assumeRolePolicy: JSON.stringify({
172773
172781
  Version: "2012-10-17",
@@ -172807,6 +172815,8 @@ var cronFeature = defineFeature({
172807
172815
  }))
172808
172816
  }
172809
172817
  ]
172818
+ }, {
172819
+ import: ctx.import ? roleName : undefined
172810
172820
  });
172811
172821
  ctx.shared.set("cron", "group-name", group4.name);
172812
172822
  ctx.shared.set("cron", "role-arn", role.arn);
@@ -172824,6 +172834,11 @@ var cronFeature = defineFeature({
172824
172834
  resourceType: "cron",
172825
172835
  resourceName: shortId(id)
172826
172836
  });
172837
+ const scheduleGroupName = formatGlobalResourceName({
172838
+ appName: ctx.app.name,
172839
+ resourceType: "cron",
172840
+ resourceName: "group"
172841
+ });
172827
172842
  new aws3.scheduler.Schedule(group4, "cron", {
172828
172843
  name,
172829
172844
  state: props.enabled ? "ENABLED" : "DISABLED",
@@ -172843,6 +172858,8 @@ var cronFeature = defineFeature({
172843
172858
  })}`
172844
172859
  } : undefined
172845
172860
  }
172861
+ }, {
172862
+ import: ctx.import ? `${scheduleGroupName}/${name}` : undefined
172846
172863
  });
172847
172864
  }
172848
172865
  }
@@ -172920,6 +172937,8 @@ var domainFeature = defineFeature({
172920
172937
  name: ctx.app.name,
172921
172938
  reputationMetricsEnabled: true,
172922
172939
  sendingEnabled: true
172940
+ }, {
172941
+ import: ctx.import ? ctx.app.name : undefined
172923
172942
  });
172924
172943
  for (const [id, props] of domains) {
172925
172944
  const group5 = new Group(ctx.base, "domain", id);
@@ -172954,6 +172973,8 @@ var domainFeature = defineFeature({
172954
172973
  }
172955
172974
  const identity5 = new aws3.ses.DomainIdentity(group5, "mail", {
172956
172975
  domain: props.domain
172976
+ }, {
172977
+ import: ctx.import ? props.domain : undefined
172957
172978
  });
172958
172979
  const verificationRecord = new aws3.route53.Record(group5, `verification`, {
172959
172980
  zoneId: zone.id,
@@ -172964,6 +172985,8 @@ var domainFeature = defineFeature({
172964
172985
  });
172965
172986
  const dkim = new aws3.ses.DomainDkim(group5, "dkim", {
172966
172987
  domain: props.domain
172988
+ }, {
172989
+ import: ctx.import ? props.domain : undefined
172967
172990
  });
172968
172991
  for (let i15 = 0;i15 < 3; i15++) {
172969
172992
  new aws3.route53.Record(group5, `dkim-${i15}`, {
@@ -172978,6 +173001,8 @@ var domainFeature = defineFeature({
172978
173001
  domain: identity5.domain,
172979
173002
  mailFromDomain: `mail.${props.domain}`,
172980
173003
  behaviorOnMxFailure: "UseDefaultValue"
173004
+ }, {
173005
+ import: ctx.import ? props.domain : undefined
172981
173006
  });
172982
173007
  new aws3.route53.Record(group5, `MX`, {
172983
173008
  zoneId: zone.id,
@@ -173222,6 +173247,8 @@ var createLambdaFunction = (ctx, id, local) => {
173222
173247
  }
173223
173248
  ]
173224
173249
  })
173250
+ }, {
173251
+ import: ctx.import ? roleName : undefined
173225
173252
  });
173226
173253
  const statements = [];
173227
173254
  const statementDeps = new Set;
@@ -173314,7 +173341,8 @@ var createLambdaFunction = (ctx, id, local) => {
173314
173341
  systemLogLevel: props.log.format === "json" ? props.log.system?.toUpperCase() : undefined
173315
173342
  }
173316
173343
  }, {
173317
- dependsOn
173344
+ dependsOn,
173345
+ import: ctx.import ? name : undefined
173318
173346
  });
173319
173347
  const onFailure = getGlobalOnFailure(ctx);
173320
173348
  const { deployment } = createDeploymentAliases(group4, ctx, {
@@ -173413,6 +173441,8 @@ var createLambdaFunction = (ctx, id, local) => {
173413
173441
  const logGroup = new aws3.cloudwatch.LogGroup(group4, "log", {
173414
173442
  name: `/aws/lambda/${name}`,
173415
173443
  retentionInDays: toDays6(props.log.retention)
173444
+ }, {
173445
+ import: ctx.import ? `/aws/lambda/${name}` : undefined
173416
173446
  });
173417
173447
  addPermission({
173418
173448
  actions: ["logs:PutLogEvents", "logs:CreateLogStream"],
@@ -173499,6 +173529,8 @@ var createLambdaFunctionFromZip = (parentGroup, ctx, ns, id, props) => {
173499
173529
  }
173500
173530
  ]
173501
173531
  })
173532
+ }, {
173533
+ import: ctx.import ? roleName : undefined
173502
173534
  });
173503
173535
  const statements = [];
173504
173536
  const statementDeps = new Set;
@@ -173579,7 +173611,8 @@ var createLambdaFunctionFromZip = (parentGroup, ctx, ns, id, props) => {
173579
173611
  systemLogLevel: (props.log?.format ?? "json") === "json" ? props.log?.system?.toUpperCase() : undefined
173580
173612
  }
173581
173613
  }, {
173582
- dependsOn
173614
+ dependsOn,
173615
+ import: ctx.import ? name : undefined
173583
173616
  });
173584
173617
  const onFailure = getGlobalOnFailure(ctx);
173585
173618
  if (onFailure) {
@@ -173620,6 +173653,8 @@ var createLambdaFunctionFromZip = (parentGroup, ctx, ns, id, props) => {
173620
173653
  const logGroup = new aws3.cloudwatch.LogGroup(group4, "log", {
173621
173654
  name: `/aws/lambda/${name}`,
173622
173655
  retentionInDays: toDays6(retention)
173656
+ }, {
173657
+ import: ctx.import ? `/aws/lambda/${name}` : undefined
173623
173658
  });
173624
173659
  addPermission({
173625
173660
  actions: ["logs:PutLogEvents", "logs:CreateLogStream"],
@@ -173809,21 +173844,25 @@ var onFailureFeature = defineFeature({
173809
173844
  return;
173810
173845
  }
173811
173846
  const group4 = new Group(ctx.base, "on-failure", "main");
173847
+ const deadletterName = formatGlobalResourceName({
173848
+ appName: ctx.app.name,
173849
+ resourceType: "on-failure",
173850
+ resourceName: "deadletter"
173851
+ });
173812
173852
  const deadletter = new aws3.sqs.Queue(group4, "deadletter", {
173813
- name: formatGlobalResourceName({
173814
- appName: ctx.app.name,
173815
- resourceType: "on-failure",
173816
- resourceName: "deadletter"
173817
- }),
173853
+ name: deadletterName,
173818
173854
  messageRetentionSeconds: toSeconds5(days10(14))
173855
+ }, {
173856
+ import: ctx.import ? `https://sqs.${ctx.appConfig.region}.amazonaws.com/${ctx.accountId}/${deadletterName}` : undefined
173819
173857
  });
173820
173858
  const handlerTimeout = toSeconds5(props.consumer.timeout ?? ctx.appConfig.defaults.function.timeout);
173859
+ const queueName = formatGlobalResourceName({
173860
+ appName: ctx.app.name,
173861
+ resourceType: "on-failure",
173862
+ resourceName: "failure"
173863
+ });
173821
173864
  const queue2 = new aws3.sqs.Queue(group4, "on-failure", {
173822
- name: formatGlobalResourceName({
173823
- appName: ctx.app.name,
173824
- resourceType: "on-failure",
173825
- resourceName: "failure"
173826
- }),
173865
+ name: queueName,
173827
173866
  visibilityTimeoutSeconds: handlerTimeout * 2,
173828
173867
  redrivePolicy: deadletter.arn.pipe((deadLetterTargetArn) => {
173829
173868
  return JSON.stringify({
@@ -173831,14 +173870,17 @@ var onFailureFeature = defineFeature({
173831
173870
  maxReceiveCount: 3
173832
173871
  });
173833
173872
  })
173873
+ }, {
173874
+ import: ctx.import ? `https://sqs.${ctx.appConfig.region}.amazonaws.com/${ctx.accountId}/${queueName}` : undefined
173875
+ });
173876
+ const bucketName = formatGlobalResourceName({
173877
+ appName: ctx.app.name,
173878
+ resourceType: "on-failure",
173879
+ resourceName: "failure",
173880
+ postfix: ctx.appId
173834
173881
  });
173835
173882
  const bucket = new aws3.s3.Bucket(group4, "bucket", {
173836
- bucket: formatGlobalResourceName({
173837
- appName: ctx.app.name,
173838
- resourceType: "on-failure",
173839
- resourceName: "failure",
173840
- postfix: ctx.appId
173841
- }),
173883
+ bucket: bucketName,
173842
173884
  lifecycleRule: [
173843
173885
  {
173844
173886
  id: "ttl",
@@ -173848,6 +173890,8 @@ var onFailureFeature = defineFeature({
173848
173890
  }
173849
173891
  }
173850
173892
  ]
173893
+ }, {
173894
+ import: ctx.import ? bucketName : undefined
173851
173895
  });
173852
173896
  ctx.shared.set("on-failure", "resources", {
173853
173897
  group: group4,
@@ -173856,12 +173900,15 @@ var onFailureFeature = defineFeature({
173856
173900
  });
173857
173901
  const notify = props.notify;
173858
173902
  if (notify) {
173903
+ const topicName = formatGlobalResourceName({
173904
+ appName: ctx.app.name,
173905
+ resourceType: "on-failure",
173906
+ resourceName: "deadletter"
173907
+ });
173859
173908
  const topic = new aws3.sns.Topic(group4, "deadletter-topic", {
173860
- name: formatGlobalResourceName({
173861
- appName: ctx.app.name,
173862
- resourceType: "on-failure",
173863
- resourceName: "deadletter"
173864
- })
173909
+ name: topicName
173910
+ }, {
173911
+ import: ctx.import ? `arn:aws:sns:${ctx.appConfig.region}:${ctx.accountId}:${topicName}` : undefined
173865
173912
  });
173866
173913
  for (const email of notify) {
173867
173914
  new aws3.sns.TopicSubscription(group4, email, {
@@ -173870,12 +173917,13 @@ var onFailureFeature = defineFeature({
173870
173917
  endpoint: email
173871
173918
  });
173872
173919
  }
173920
+ const roleName = formatGlobalResourceName({
173921
+ appName: ctx.app.name,
173922
+ resourceType: "on-failure",
173923
+ resourceName: "pipe"
173924
+ });
173873
173925
  const role = new aws3.iam.Role(group4, "deadletter-topic-role", {
173874
- name: formatGlobalResourceName({
173875
- appName: ctx.app.name,
173876
- resourceType: "on-failure",
173877
- resourceName: "pipe"
173878
- }),
173926
+ name: roleName,
173879
173927
  description: `${ctx.app.name} on-failure deadletter notification pipe`,
173880
173928
  assumeRolePolicy: JSON.stringify({
173881
173929
  Version: "2012-10-17",
@@ -173914,13 +173962,16 @@ var onFailureFeature = defineFeature({
173914
173962
  })))
173915
173963
  }
173916
173964
  ]
173965
+ }, {
173966
+ import: ctx.import ? roleName : undefined
173967
+ });
173968
+ const pipeName = formatGlobalResourceName({
173969
+ appName: ctx.app.name,
173970
+ resourceType: "on-failure",
173971
+ resourceName: "notify"
173917
173972
  });
173918
173973
  new aws3.pipes.Pipe(group4, "deadletter-topic-pipe", {
173919
- name: formatGlobalResourceName({
173920
- appName: ctx.app.name,
173921
- resourceType: "on-failure",
173922
- resourceName: "notify"
173923
- }),
173974
+ name: pipeName,
173924
173975
  roleArn: role.arn,
173925
173976
  source: deadletter.arn,
173926
173977
  target: topic.arn,
@@ -173940,6 +173991,8 @@ var onFailureFeature = defineFeature({
173940
173991
  ].join(`
173941
173992
  `)
173942
173993
  }
173994
+ }, {
173995
+ import: ctx.import ? pipeName : undefined
173943
173996
  });
173944
173997
  }
173945
173998
  },
@@ -174163,6 +174216,8 @@ var createPubSubService = (parentGroup, ctx, id, props, inputs) => {
174163
174216
  ]
174164
174217
  }),
174165
174218
  managedPolicyArns: ["arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy"]
174219
+ }, {
174220
+ import: ctx.import ? shortId(`${shortName}:execution-role`) : undefined
174166
174221
  });
174167
174222
  const role = new aws3.iam.Role(group4, "task-role", {
174168
174223
  name: shortId(`${shortName}:task-role`),
@@ -174197,7 +174252,8 @@ var createPubSubService = (parentGroup, ctx, id, props, inputs) => {
174197
174252
  }
174198
174253
  ]
174199
174254
  }, {
174200
- dependsOn: [code]
174255
+ dependsOn: [code],
174256
+ import: ctx.import ? shortId(`${shortName}:task-role`) : undefined
174201
174257
  });
174202
174258
  const statements = [];
174203
174259
  const statementDeps = new Set;
@@ -174223,6 +174279,8 @@ var createPubSubService = (parentGroup, ctx, id, props, inputs) => {
174223
174279
  logGroup = new aws3.cloudwatch.LogGroup(group4, "log", {
174224
174280
  name: `/aws/ecs/${name}`,
174225
174281
  retentionInDays: toDays7(props.log.retention)
174282
+ }, {
174283
+ import: ctx.import ? `/aws/ecs/${name}` : undefined
174226
174284
  });
174227
174285
  if (ctx.shared.has("on-error-log", "subscriber-arn")) {
174228
174286
  new aws3.cloudwatch.LogSubscriptionFilter(group4, "on-error-log", {
@@ -174458,7 +174516,8 @@ var pubsubFeature = defineFeature({
174458
174516
  const cluster = new aws3.ecs.Cluster(clusterGroup, "cluster", {
174459
174517
  name: `${ctx.app.name}-pubsub`
174460
174518
  }, {
174461
- replaceOnChanges: ["name"]
174519
+ replaceOnChanges: ["name"],
174520
+ import: ctx.import ? `arn:aws:ecs:${ctx.appConfig.region}:${ctx.accountId}:cluster/${ctx.app.name}-pubsub` : undefined
174462
174521
  });
174463
174522
  for (const [id, props] of pubsubs) {
174464
174523
  const group4 = new Group(ctx.base, "pubsub", id);
@@ -174477,6 +174536,8 @@ var pubsubFeature = defineFeature({
174477
174536
  });
174478
174537
  const topic = new aws3.sns.Topic(group4, "events", {
174479
174538
  name: topicName
174539
+ }, {
174540
+ import: ctx.import ? `arn:aws:sns:${ctx.appConfig.region}:${ctx.accountId}:${topicName}` : undefined
174480
174541
  });
174481
174542
  ctx.shared.add("pubsub", "events-topic-arn", id, topic.arn);
174482
174543
  const events = pubsubEventTypes.filter((event) => {
@@ -174775,6 +174836,8 @@ var queueFeature = defineFeature({
174775
174836
  fifoQueue: true,
174776
174837
  deduplicationScope: "messageGroup",
174777
174838
  fifoThroughputLimit: "perMessageGroupId"
174839
+ }, {
174840
+ import: ctx.import ? `https://sqs.${ctx.appConfig.region}.amazonaws.com/${ctx.accountId}/${baseName}.fifo` : undefined
174778
174841
  });
174779
174842
  if (local.consumer) {
174780
174843
  const bundle = registerBundleFunction(ctx, formatRouteKey(ctx.stack.name, "queue", id), local.consumer);
@@ -174962,12 +175025,13 @@ var rpcFeature = defineFeature({
174962
175025
  exportName: "default"
174963
175026
  });
174964
175027
  bundle.addEnv(formatRouteEnvName2(serverRouteKey, "TIMEOUT"), toSeconds7(ctx.appConfig.defaults.function.timeout).toString());
175028
+ const lockTableName = formatGlobalResourceName({
175029
+ appName: ctx.app.name,
175030
+ resourceType: "rpc-lock",
175031
+ resourceName: id
175032
+ });
174965
175033
  const lockTable = new aws3.dynamodb.Table(group4, "lock", {
174966
- name: formatGlobalResourceName({
174967
- appName: ctx.app.name,
174968
- resourceType: "rpc-lock",
174969
- resourceName: id
174970
- }),
175034
+ name: lockTableName,
174971
175035
  hashKey: "key",
174972
175036
  billingMode: "PAY_PER_REQUEST",
174973
175037
  ttl: {
@@ -174980,6 +175044,8 @@ var rpcFeature = defineFeature({
174980
175044
  type: "S"
174981
175045
  }
174982
175046
  ]
175047
+ }, {
175048
+ import: ctx.import ? lockTableName : undefined
174983
175049
  });
174984
175050
  bundle.addEnv(formatRouteEnvName2(serverRouteKey, "LOCK_TABLE"), lockTable.name);
174985
175051
  bundle.addPermission({
@@ -175689,13 +175755,16 @@ var taskFeature = defineFeature({
175689
175755
  tags: {
175690
175756
  app: ctx.app.name
175691
175757
  }
175758
+ }, {
175759
+ import: ctx.import ? scheduleGroupName : undefined
175760
+ });
175761
+ const roleName = formatGlobalResourceName({
175762
+ appName: ctx.app.name,
175763
+ resourceType: "task",
175764
+ resourceName: "schedule"
175692
175765
  });
175693
175766
  const role = new aws3.iam.Role(group4, "schedule", {
175694
- name: formatGlobalResourceName({
175695
- appName: ctx.app.name,
175696
- resourceType: "task",
175697
- resourceName: "schedule"
175698
- }),
175767
+ name: roleName,
175699
175768
  description: `Task schedule ${ctx.app.name}`,
175700
175769
  assumeRolePolicy: JSON.stringify({
175701
175770
  Version: "2012-10-17",
@@ -175729,6 +175798,8 @@ var taskFeature = defineFeature({
175729
175798
  })
175730
175799
  }
175731
175800
  ]
175801
+ }, {
175802
+ import: ctx.import ? roleName : undefined
175732
175803
  });
175733
175804
  ctx.addPermission({
175734
175805
  actions: ["scheduler:CreateSchedule"],
@@ -175820,6 +175891,8 @@ var topicFeature = defineFeature({
175820
175891
  });
175821
175892
  const topic = new aws3.sns.Topic(group4, "topic", {
175822
175893
  name
175894
+ }, {
175895
+ import: ctx.import ? `arn:aws:sns:${ctx.appConfig.region}:${ctx.accountId}:${name}` : undefined
175823
175896
  });
175824
175897
  const subscribed = ctx.stackConfigs.some((stack) => stack.subscribers?.[id]);
175825
175898
  if (subscribed) {
@@ -176019,6 +176092,8 @@ var alertFeature = defineFeature({
176019
176092
  });
176020
176093
  const topic = new aws3.sns.Topic(group4, "topic", {
176021
176094
  name
176095
+ }, {
176096
+ import: ctx.import ? `arn:aws:sns:${ctx.appConfig.region}:${ctx.accountId}:${name}` : undefined
176022
176097
  });
176023
176098
  for (const endpoint4 of endpoints2) {
176024
176099
  if (isConfigRef(endpoint4)) {
@@ -176472,6 +176547,8 @@ var createFargateJob = (parentGroup, ctx, ns, id, local) => {
176472
176547
  ]
176473
176548
  }),
176474
176549
  managedPolicyArns: ["arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy"]
176550
+ }, {
176551
+ import: ctx.import ? shortId(`${shortName}:execution-role`) : undefined
176475
176552
  });
176476
176553
  const role = new aws3.iam.Role(group4, "task-role", {
176477
176554
  name: shortId(`${shortName}:task-role`),
@@ -176509,7 +176586,8 @@ var createFargateJob = (parentGroup, ctx, ns, id, local) => {
176509
176586
  }
176510
176587
  ]
176511
176588
  }, {
176512
- dependsOn: [code]
176589
+ dependsOn: [code],
176590
+ import: ctx.import ? shortId(`${shortName}:task-role`) : undefined
176513
176591
  });
176514
176592
  const statements = [];
176515
176593
  const statementDeps = new Set;
@@ -176535,6 +176613,8 @@ var createFargateJob = (parentGroup, ctx, ns, id, local) => {
176535
176613
  logGroup = new aws3.cloudwatch.LogGroup(group4, "log", {
176536
176614
  name: `/aws/ecs/${name}`,
176537
176615
  retentionInDays: toDays11(props.log.retention)
176616
+ }, {
176617
+ import: ctx.import ? `/aws/ecs/${name}` : undefined
176538
176618
  });
176539
176619
  if (ctx.shared.has("on-error-log", "subscriber-arn")) {
176540
176620
  new aws3.cloudwatch.LogSubscriptionFilter(group4, "on-error-log", {
@@ -176767,7 +176847,8 @@ var jobFeature = defineFeature({
176767
176847
  const cluster = new aws3.ecs.Cluster(group4, "cluster", {
176768
176848
  name: `${ctx.app.name}-job`
176769
176849
  }, {
176770
- replaceOnChanges: ["name"]
176850
+ replaceOnChanges: ["name"],
176851
+ import: ctx.import ? `arn:aws:ecs:${ctx.appConfig.region}:${ctx.accountId}:cluster/${ctx.app.name}-job` : undefined
176771
176852
  });
176772
176853
  ctx.shared.set("job", "cluster-name", cluster.name);
176773
176854
  ctx.shared.set("job", "cluster-arn", cluster.arn);
@@ -176921,6 +177002,8 @@ var createFargateTask = (parentGroup, ctx, ns, id, local) => {
176921
177002
  ]
176922
177003
  }),
176923
177004
  managedPolicyArns: ["arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy"]
177005
+ }, {
177006
+ import: ctx.import ? shortId(`${shortName}:execution-role`) : undefined
176924
177007
  });
176925
177008
  const role = new aws3.iam.Role(group4, "task-role", {
176926
177009
  name: shortId(`${shortName}:task-role`),
@@ -176955,7 +177038,8 @@ var createFargateTask = (parentGroup, ctx, ns, id, local) => {
176955
177038
  }
176956
177039
  ]
176957
177040
  }, {
176958
- dependsOn: [code]
177041
+ dependsOn: [code],
177042
+ import: ctx.import ? shortId(`${shortName}:task-role`) : undefined
176959
177043
  });
176960
177044
  const statements = [];
176961
177045
  const statementDeps = new Set;
@@ -176981,6 +177065,8 @@ var createFargateTask = (parentGroup, ctx, ns, id, local) => {
176981
177065
  logGroup = new aws3.cloudwatch.LogGroup(group4, "log", {
176982
177066
  name: `/aws/ecs/${name}`,
176983
177067
  retentionInDays: toDays12(props.log.retention)
177068
+ }, {
177069
+ import: ctx.import ? `/aws/ecs/${name}` : undefined
176984
177070
  });
176985
177071
  if (ctx.shared.has("on-error-log", "subscriber-arn")) {
176986
177072
  new aws3.cloudwatch.LogSubscriptionFilter(group4, "on-error-log", {
@@ -177226,7 +177312,8 @@ var instanceFeature = defineFeature({
177226
177312
  const cluster = new aws3.ecs.Cluster(group4, "cluster", {
177227
177313
  name: `${ctx.app.name}-instance`
177228
177314
  }, {
177229
- replaceOnChanges: ["name"]
177315
+ replaceOnChanges: ["name"],
177316
+ import: ctx.import ? `arn:aws:ecs:${ctx.appConfig.region}:${ctx.accountId}:cluster/${ctx.app.name}-instance` : undefined
177230
177317
  });
177231
177318
  ctx.shared.set("instance", "cluster-name", cluster.name);
177232
177319
  ctx.shared.set("instance", "cluster-arn", cluster.arn);
@@ -177241,6 +177328,8 @@ var instanceFeature = defineFeature({
177241
177328
  messageRetentionSeconds: toSeconds11(days11(4)),
177242
177329
  maxMessageSize: toBytes(kibibytes(256)),
177243
177330
  receiveWaitTimeSeconds: toSeconds11(seconds6(20))
177331
+ }, {
177332
+ import: ctx.import ? `https://sqs.${ctx.appConfig.region}.amazonaws.com/${ctx.accountId}/${task2.name}` : undefined
177244
177333
  });
177245
177334
  task2.addPermission({
177246
177335
  actions: [
@@ -177340,13 +177429,16 @@ var metricFeature = defineFeature({
177340
177429
  let alarmAction;
177341
177430
  let invokesBundle = false;
177342
177431
  if (Array.isArray(alarmProps.trigger)) {
177432
+ const topicName = formatLocalResourceName({
177433
+ appName: ctx.app.name,
177434
+ stackName: ctx.stack.name,
177435
+ resourceType: "metric",
177436
+ resourceName: alarmName
177437
+ });
177343
177438
  const topic = new aws3.sns.Topic(alarmGroup, "alarm-trigger", {
177344
- name: formatLocalResourceName({
177345
- appName: ctx.app.name,
177346
- stackName: ctx.stack.name,
177347
- resourceType: "metric",
177348
- resourceName: alarmName
177349
- })
177439
+ name: topicName
177440
+ }, {
177441
+ import: ctx.import ? `arn:aws:sns:${ctx.appConfig.region}:${ctx.accountId}:${topicName}` : undefined
177350
177442
  });
177351
177443
  alarmAction = topic.arn;
177352
177444
  for (const email of alarmProps.trigger) {
@@ -177850,17 +177942,19 @@ var routerFeature = defineFeature({
177850
177942
  let routeStore;
177851
177943
  let sharedGroup;
177852
177944
  if (routers.length > 0) {
177945
+ const storeName = formatGlobalResourceName({
177946
+ appName: ctx.app.name,
177947
+ resourceType: "router",
177948
+ resourceName: "store"
177949
+ });
177853
177950
  sharedGroup = new Group(ctx.base, "router", "shared");
177854
177951
  routeStore = new aws3.cloudfront.KeyValueStore(sharedGroup, "routes", {
177855
- name: formatGlobalResourceName({
177856
- appName: ctx.app.name,
177857
- resourceType: "router",
177858
- resourceName: "store"
177859
- }),
177952
+ name: storeName,
177860
177953
  comment: "Store for routes"
177861
177954
  }, {
177862
177955
  replaceOnChanges: ["name"],
177863
- createBeforeReplace: true
177956
+ createBeforeReplace: true,
177957
+ import: ctx.import ? storeName : undefined
177864
177958
  });
177865
177959
  }
177866
177960
  for (const [id, props] of routers) {
@@ -177870,8 +177964,9 @@ var routerFeature = defineFeature({
177870
177964
  resourceType: "router",
177871
177965
  resourceName: id
177872
177966
  });
177967
+ const productionFunctionName = `${name.slice(0, 52)}--production`;
177873
177968
  const productionFunction = new aws3.cloudfront.Function(group4, "production-function", {
177874
- name: `${name.slice(0, 52)}--production`,
177969
+ name: productionFunctionName,
177875
177970
  runtime: "cloudfront-js-2.0",
177876
177971
  code: getViewerRequestFunctionCode({
177877
177972
  router: id,
@@ -177882,6 +177977,8 @@ var routerFeature = defineFeature({
177882
177977
  }),
177883
177978
  publish: true,
177884
177979
  keyValueStoreAssociations: [routeStore.arn]
177980
+ }, {
177981
+ import: ctx.import ? productionFunctionName : undefined
177885
177982
  });
177886
177983
  ctx.shared.add("router", "addRoutes", id, (newRoutes, options) => {
177887
177984
  for (const [key, route] of Object.entries(newRoutes)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/cli",
3
- "version": "0.0.46-next.38",
3
+ "version": "0.0.46-next.40",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -32,8 +32,8 @@
32
32
  "@awsless/lambda": "^0.0.47",
33
33
  "@awsless/s3": "^0.0.22",
34
34
  "@awsless/validate": "^0.1.7",
35
- "awsless": "^0.0.15-next.9",
36
- "@awsless/weak-cache": "^0.0.1"
35
+ "@awsless/weak-cache": "^0.0.1",
36
+ "awsless": "^0.0.15-next.9"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@aws-sdk/client-cloudformation": "^3.369.0",
@@ -102,25 +102,25 @@
102
102
  "zip-a-folder": "^3.1.6",
103
103
  "zod": "^3.24.2",
104
104
  "zod-to-json-schema": "^3.24.3",
105
- "@awsless/big-float": "^0.1.7",
106
105
  "@awsless/cloudwatch": "^0.0.1",
106
+ "@awsless/big-float": "^0.1.7",
107
107
  "@awsless/clui": "^0.0.9",
108
108
  "@awsless/duration": "^0.0.4",
109
109
  "@awsless/dynamodb": "^0.3.22",
110
+ "@awsless/json": "^0.0.11",
110
111
  "@awsless/lambda": "^0.0.47",
111
- "@awsless/redis": "^0.1.13",
112
+ "@awsless/iot": "^0.0.5",
112
113
  "@awsless/open-search": "^0.0.25",
113
- "@awsless/size": "^0.0.2",
114
114
  "@awsless/scheduler": "^0.0.5",
115
- "@awsless/sqs": "^0.0.24",
115
+ "@awsless/redis": "^0.1.13",
116
116
  "@awsless/s3": "^0.0.22",
117
- "@awsless/iot": "^0.0.5",
117
+ "@awsless/size": "^0.0.2",
118
+ "@awsless/sns": "^0.0.11",
119
+ "@awsless/sqs": "^0.0.24",
118
120
  "@awsless/ssm": "^0.0.8",
121
+ "@awsless/weak-cache": "^0.0.1",
119
122
  "@awsless/validate": "^0.1.7",
120
- "@awsless/json": "^0.0.11",
121
- "awsless": "^0.0.15-next.9",
122
- "@awsless/sns": "^0.0.11",
123
- "@awsless/weak-cache": "^0.0.1"
123
+ "awsless": "^0.0.15-next.9"
124
124
  },
125
125
  "scripts": {
126
126
  "test": "bun cli/build-handlers.ts && pnpm vitest",