Skip to content
v2.274.0

CustomReason Struct ​

The corresponding Action will only be taken if all of the conditions specified here are met.

Example ​

ts
const jobDefn = new batch.EcsJobDefinition(this, 'JobDefn', {
   container: new batch.EcsEc2ContainerDefinition(this, 'containerDefn', {
    image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
    memory: cdk.Size.mebibytes(2048),
    cpu: 256,
  }),
  retryAttempts: 5,
  retryStrategies: [
    batch.RetryStrategy.of(batch.Action.EXIT, batch.Reason.CANNOT_PULL_CONTAINER),
  ],
});
jobDefn.addRetryStrategy(
  batch.RetryStrategy.of(batch.Action.EXIT, batch.Reason.SPOT_INSTANCE_RECLAIMED),
);
jobDefn.addRetryStrategy(
  batch.RetryStrategy.of(batch.Action.EXIT, batch.Reason.CANNOT_PULL_CONTAINER),
);
jobDefn.addRetryStrategy(
  batch.RetryStrategy.of(batch.Action.EXIT, batch.Reason.custom({
    onExitCode: '40*',
    onReason: 'some reason',
  })),
);

Properties ​

onExitCodeoptionalstringon_exit_codeoptionalstronExitCodeoptionalStringOnExitCodeoptionalstringOnExitCodeoptional*string#
A glob string that will match on the job exit code.

Default: will not match on the exit code

For example, '40*' will match 400, 404, 40123456789012

onReasonoptionalstringon_reasonoptionalstronReasonoptionalStringOnReasonoptionalstringOnReasonoptional*string#
A glob string that will match on the reason returned by the exiting job For example, `'CannotPullContainerError*'` indicates that container needed to start the job could not be pulled.

Default: will not match on the reason

onStatusReasonoptionalstringon_status_reasonoptionalstronStatusReasonoptionalStringOnStatusReasonoptionalstringOnStatusReasonoptional*string#
A glob string that will match on the statusReason returned by the exiting job.

Default: will not match on the status reason

For example, 'Host EC2*' indicates that the spot instance has been reclaimed.