Skip to content

Commit 81c1b10

Browse files
committed
Tag only running instances
1 parent 28e0272 commit 81c1b10

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {EC2} from 'aws-sdk';
2-
import {exactTag, except, flatten, instanceAge, namedTag} from 'utils';
2+
import {exactTag, except, flatten, instanceAge, namedTag, instanceState} from 'utils';
33

44
import {EC2Facade} from './ec2-facade';
55

@@ -56,6 +56,7 @@ class CreateTags {
5656
(reservations.Reservations ?? []).map(r => r.Instances)
5757
.filter((i): i is EC2.InstanceList => !!i)
5858
.reduce(flatten, [])
59+
.filter(instanceState("running"))
5960
.sort(instanceAge);
6061

6162
const [oldest, ...rest] = instances;

src/utils.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ export function flatten<T>(acc: T[], item: T[]): T[] {
44
return [...acc, ...item];
55
}
66

7+
export function instanceState(state: EC2.InstanceStateName): (item: EC2.Instance) => boolean {
8+
return (item) => item.State?.Name === state;
9+
}
10+
711
export function instanceAge(a: EC2.Instance, b: EC2.Instance): number {
812
// ?? is not formatted correctly
913
// clang-format off

0 commit comments

Comments
 (0)