Skip to content

Commit 51f11f3

Browse files
committed
set networkConfiguration to null when using bridge network mode
1 parent fd6bd3e commit 51f11f3

File tree

3 files changed

+37
-7
lines changed

3 files changed

+37
-7
lines changed

dist/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ async function runTask(ecs, clusterName, taskDefArn, waitForMinutes) {
4848
awsvpcConfiguration["securityGroups"] = securityGroupIds.split(',')
4949
}
5050

51-
if(assignPublicIP != ""){
51+
if(assignPublicIP != "" && (subnetIds != "" || securityGroupIds != "")){
5252
awsvpcConfiguration["assignPublicIp"] = assignPublicIP
5353
}
54-
54+
5555
const runTaskResponse = await ecs.runTask({
5656
startedBy: startedBy,
5757
cluster: clusterName,
@@ -60,7 +60,7 @@ async function runTask(ecs, clusterName, taskDefArn, waitForMinutes) {
6060
containerOverrides: containerOverrides
6161
},
6262
launchType: launchType,
63-
networkConfiguration: Object.keys(awsvpcConfiguration).length === 0 ? {} : { awsvpcConfiguration: awsvpcConfiguration }
63+
networkConfiguration: Object.keys(awsvpcConfiguration).length === 0 ? null : { awsvpcConfiguration: awsvpcConfiguration }
6464
});
6565

6666
core.debug(`Run task response ${JSON.stringify(runTaskResponse)}`)

index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ async function runTask(ecs, clusterName, taskDefArn, waitForMinutes) {
4242
awsvpcConfiguration["securityGroups"] = securityGroupIds.split(',')
4343
}
4444

45-
if(assignPublicIP != ""){
45+
if(assignPublicIP != "" && (subnetIds != "" || securityGroupIds != "")){
4646
awsvpcConfiguration["assignPublicIp"] = assignPublicIP
4747
}
48-
48+
4949
const runTaskResponse = await ecs.runTask({
5050
startedBy: startedBy,
5151
cluster: clusterName,
@@ -54,7 +54,7 @@ async function runTask(ecs, clusterName, taskDefArn, waitForMinutes) {
5454
containerOverrides: containerOverrides
5555
},
5656
launchType: launchType,
57-
networkConfiguration: Object.keys(awsvpcConfiguration).length === 0 ? {} : { awsvpcConfiguration: awsvpcConfiguration }
57+
networkConfiguration: Object.keys(awsvpcConfiguration).length === 0 ? null : { awsvpcConfiguration: awsvpcConfiguration }
5858
});
5959

6060
core.debug(`Run task response ${JSON.stringify(runTaskResponse)}`)

index.test.js

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1129,7 +1129,7 @@ describe('Deploy to ECS', () => {
11291129
launchType: 'FARGATE',
11301130
taskDefinition: 'task:def:arn',
11311131
overrides: {"containerOverrides": []},
1132-
networkConfiguration: {awsvpcConfiguration: {assignPublicIp: "DISABLED" }}
1132+
networkConfiguration: null
11331133
});
11341134

11351135
expect(core.setOutput).toHaveBeenNthCalledWith(2, 'run-task-arn', ["arn:aws:ecs:fake-region:account_id:task/arn"]);
@@ -1236,6 +1236,36 @@ describe('Deploy to ECS', () => {
12361236
expect(waitUntilTasksStopped).toHaveBeenCalledTimes(1);
12371237
});
12381238

1239+
test('run task in bridge network mode', async () => {
1240+
core.getInput = jest
1241+
.fn()
1242+
.mockReturnValueOnce('task-definition.json') // task-definition
1243+
.mockReturnValueOnce('service-456') // service
1244+
.mockReturnValueOnce('somecluster') // cluster
1245+
.mockReturnValueOnce('true') // wait-for-service-stability
1246+
.mockReturnValueOnce('') // wait-for-minutes
1247+
.mockReturnValueOnce('') // force-new-deployment
1248+
.mockReturnValueOnce('') // desired-count
1249+
.mockReturnValueOnce('true') // run-task
1250+
.mockReturnValueOnce('true') // wait-for-task-stopped
1251+
.mockReturnValueOnce('someJoe') // run-task-started-by
1252+
.mockReturnValueOnce('EC2') // run-task-launch-type
1253+
.mockReturnValueOnce('') // run-task-subnet-ids
1254+
.mockReturnValueOnce('') // run-task-security-group-ids
1255+
.mockReturnValueOnce('') // run-task-container-overrides
1256+
.mockReturnValueOnce('') // run-task-assign-public-IP
1257+
1258+
await run();
1259+
expect(mockRunTask).toHaveBeenCalledWith({
1260+
startedBy: 'someJoe',
1261+
cluster: 'somecluster',
1262+
taskDefinition: 'task:def:arn',
1263+
launchType: 'EC2',
1264+
overrides: { containerOverrides: [] },
1265+
networkConfiguration: null
1266+
});
1267+
});
1268+
12391269
test('error is caught if run task fails with (wait-for-task-stopped: true)', async () => {
12401270
core.getInput = jest
12411271
.fn()

0 commit comments

Comments
 (0)