Skip to content

Commit 45991aa

Browse files
authored
Add single execution history endpoint, refactor copy paste code for j… (#23816)
* Add single execution history endpoint, refactor copy paste code for jobName and jobExecutionName path parameters * Fix validation errors from ARM * Fix validation errors * Code review comments * Fix validation error * code review comments from Anand
1 parent 719fee7 commit 45991aa

File tree

2 files changed

+123
-67
lines changed

2 files changed

+123
-67
lines changed

specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/Jobs.json

Lines changed: 74 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,7 @@
111111
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
112112
},
113113
{
114-
"name": "jobName",
115-
"in": "path",
116-
"description": "Name of the Container Apps Job.",
117-
"required": true,
118-
"type": "string",
119-
"pattern": "^[-\\w\\._\\(\\)]+$"
114+
"$ref": "#/parameters/JobNameParameter"
120115
},
121116
{
122117
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
@@ -157,11 +152,7 @@
157152
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
158153
},
159154
{
160-
"name": "jobName",
161-
"in": "path",
162-
"description": "Name of the Container Apps Job.",
163-
"required": true,
164-
"type": "string"
155+
"$ref": "#/parameters/JobNameParameter"
165156
},
166157
{
167158
"name": "JobEnvelope",
@@ -224,11 +215,7 @@
224215
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
225216
},
226217
{
227-
"name": "jobName",
228-
"in": "path",
229-
"description": "Name of the Container Apps Job.",
230-
"required": true,
231-
"type": "string"
218+
"$ref": "#/parameters/JobNameParameter"
232219
},
233220
{
234221
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
@@ -281,11 +268,7 @@
281268
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
282269
},
283270
{
284-
"name": "jobName",
285-
"in": "path",
286-
"description": "Name of the Container Apps Job.",
287-
"required": true,
288-
"type": "string"
271+
"$ref": "#/parameters/JobNameParameter"
289272
},
290273
{
291274
"name": "JobEnvelope",
@@ -345,12 +328,7 @@
345328
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
346329
},
347330
{
348-
"name": "jobName",
349-
"in": "path",
350-
"description": "Name of the Container Apps Job.",
351-
"required": true,
352-
"type": "string",
353-
"pattern": "^[-\\w\\._\\(\\)]+$"
331+
"$ref": "#/parameters/JobNameParameter"
354332
},
355333
{
356334
"name": "template",
@@ -416,20 +394,10 @@
416394
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
417395
},
418396
{
419-
"name": "jobName",
420-
"in": "path",
421-
"description": "Name of the Container Apps Job.",
422-
"required": true,
423-
"type": "string",
424-
"pattern": "^[-\\w\\._\\(\\)]+$"
397+
"$ref": "#/parameters/JobNameParameter"
425398
},
426399
{
427-
"name": "jobExecutionName",
428-
"in": "path",
429-
"description": "Job execution name.",
430-
"required": true,
431-
"type": "string",
432-
"pattern": "^[-\\w\\._\\(\\)]+$"
400+
"$ref": "#/parameters/JobExecutionNameParameter"
433401
}
434402
],
435403
"responses": {
@@ -480,21 +448,7 @@
480448
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
481449
},
482450
{
483-
"name": "jobName",
484-
"in": "path",
485-
"description": "Name of the Container Apps Job.",
486-
"required": true,
487-
"type": "string",
488-
"pattern": "^[-\\w\\._\\(\\)]+$"
489-
},
490-
{
491-
"name": "jobExecutionName",
492-
"in": "body",
493-
"description": "List of all job executions that should be stopped.",
494-
"required": true,
495-
"schema": {
496-
"$ref": "#/definitions/JobExecutionNamesCollection"
497-
}
451+
"$ref": "#/parameters/JobNameParameter"
498452
}
499453
],
500454
"responses": {
@@ -545,12 +499,7 @@
545499
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
546500
},
547501
{
548-
"name": "jobName",
549-
"in": "path",
550-
"description": "Name of the Container Apps Job.",
551-
"required": true,
552-
"type": "string",
553-
"pattern": "^[-\\w\\._\\(\\)]+$"
502+
"$ref": "#/parameters/JobNameParameter"
554503
},
555504
{
556505
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
@@ -587,6 +536,51 @@
587536
}
588537
}
589538
},
539+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/executions/{jobExecutionName}": {
540+
"get": {
541+
"tags": [
542+
"Jobs"
543+
],
544+
"summary": "Get details of a single job execution",
545+
"operationId": "JobExecution",
546+
"parameters": [
547+
{
548+
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
549+
},
550+
{
551+
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
552+
},
553+
{
554+
"$ref": "#/parameters/JobNameParameter"
555+
},
556+
{
557+
"$ref": "#/parameters/JobExecutionNameParameter"
558+
},
559+
{
560+
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
561+
}
562+
],
563+
"responses": {
564+
"200": {
565+
"description": "OK",
566+
"schema": {
567+
"$ref": "#/definitions/JobExecution"
568+
}
569+
},
570+
"default": {
571+
"description": "Common error response.",
572+
"schema": {
573+
"$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse"
574+
}
575+
}
576+
},
577+
"x-ms-examples": {
578+
"Get a single Job Execution": {
579+
"$ref": "./examples/Job_Execution_Get.json"
580+
}
581+
}
582+
}
583+
},
590584
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/listSecrets": {
591585
"post": {
592586
"tags": [
@@ -605,12 +599,7 @@
605599
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
606600
},
607601
{
608-
"name": "jobName",
609-
"in": "path",
610-
"description": "Name of the Container Apps Job.",
611-
"required": true,
612-
"type": "string",
613-
"pattern": "^[-\\w\\._\\(\\)]+$"
602+
"$ref": "#/parameters/JobNameParameter"
614603
}
615604
],
616605
"responses": {
@@ -635,6 +624,24 @@
635624
}
636625
}
637626
},
627+
"parameters": {
628+
"JobNameParameter": {
629+
"name": "jobName",
630+
"in": "path",
631+
"description": "Job Name",
632+
"required": true,
633+
"type": "string",
634+
"pattern": "^[-\\w\\._\\(\\)]+$"
635+
},
636+
"JobExecutionNameParameter": {
637+
"name": "jobExecutionName",
638+
"in": "path",
639+
"description": "Job execution name.",
640+
"required": true,
641+
"type": "string",
642+
"pattern": "^[-\\w\\._\\(\\)]+$"
643+
}
644+
},
638645
"definitions": {
639646
"JobConfiguration": {
640647
"description": "Non versioned Container Apps Job configuration properties",
@@ -1008,7 +1015,7 @@
10081015
}
10091016
},
10101017
"JobExecution": {
1011-
"description": "Container Apps Jobs execution.",
1018+
"description": "Container Apps Job execution.",
10121019
"type": "object",
10131020
"properties": {
10141021
"name": {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"parameters": {
3+
"subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
4+
"resourceGroupName": "rg",
5+
"jobName": "testcontainerAppsJob0",
6+
"jobExecutionName": "jobExecution1",
7+
"api-version": "2023-04-01-preview"
8+
},
9+
"responses": {
10+
"200": {
11+
"headers": {},
12+
"body": {
13+
"name": "jobExecution1",
14+
"status": "Running",
15+
"startTime": "2023-02-13T20:37:30+00:00",
16+
"endTime": "2023-02-13T20:47:30+00:00",
17+
"template": {
18+
"containers": [
19+
{
20+
"image": "repo/testcontainerAppsJob0:v4",
21+
"name": "testcontainerAppsJob0",
22+
"resources": {
23+
"cpu": 0.2,
24+
"memory": "100Mi"
25+
}
26+
}
27+
],
28+
"initContainers": [
29+
{
30+
"image": "repo/testcontainerAppsJob0:v4",
31+
"name": "testinitcontainerAppsJob0",
32+
"resources": {
33+
"cpu": 0.2,
34+
"memory": "100Mi"
35+
},
36+
"command": [
37+
"/bin/sh"
38+
],
39+
"args": [
40+
"-c",
41+
"while true; do echo hello; sleep 10;done"
42+
]
43+
}
44+
]
45+
}
46+
}
47+
}
48+
}
49+
}

0 commit comments

Comments
 (0)