Skip to content

Commit fa1c102

Browse files
authored
CR-8697 (#107)
* feat: get artifact by manifest Signed-off-by: Noam Gal <[email protected]>
1 parent e874ec1 commit fa1c102

File tree

12 files changed

+1290
-674
lines changed

12 files changed

+1290
-674
lines changed

api/jsonschema/schema.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4138,6 +4138,17 @@
41384138
],
41394139
"type": "object"
41404140
},
4141+
"io.argoproj.workflow.v1alpha1.ArtifactByManifestRequest": {
4142+
"properties": {
4143+
"workflow": {
4144+
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Workflow"
4145+
}
4146+
},
4147+
"required": [
4148+
"workflow"
4149+
],
4150+
"type": "object"
4151+
},
41414152
"io.argoproj.workflow.v1alpha1.ArtifactLocation": {
41424153
"description": "ArtifactLocation describes a location for a single or multiple artifacts. It is used as single artifact in the context of inputs/outputs (e.g. outputs.artifacts.artname). It is also used to describe the location of multiple artifacts such as the archive location of a single workflow step, which the executor will use as a default location to store its files.",
41434154
"properties": {

api/openapi-spec/swagger.json

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3985,6 +3985,48 @@
39853985
}
39863986
}
39873987
},
3988+
"/artifacts-by-manifest/{podName}/{artifactName}": {
3989+
"post": {
3990+
"tags": [
3991+
"ArtifactService"
3992+
],
3993+
"summary": "Get an output artifact by a full workflow manifest.",
3994+
"operationId": "ArtifactService_GetOutputArtifactByManifest",
3995+
"parameters": [
3996+
{
3997+
"name": "body",
3998+
"in": "body",
3999+
"required": true,
4000+
"schema": {
4001+
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.ArtifactByManifestRequest"
4002+
}
4003+
},
4004+
{
4005+
"type": "string",
4006+
"name": "podName",
4007+
"in": "path",
4008+
"required": true
4009+
},
4010+
{
4011+
"type": "string",
4012+
"name": "artifactName",
4013+
"in": "path",
4014+
"required": true
4015+
}
4016+
],
4017+
"responses": {
4018+
"200": {
4019+
"description": "An artifact file."
4020+
},
4021+
"default": {
4022+
"description": "An unexpected error response.",
4023+
"schema": {
4024+
"$ref": "#/definitions/grpc.gateway.runtime.Error"
4025+
}
4026+
}
4027+
}
4028+
}
4029+
},
39884030
"/artifacts-by-uid/{uid}/{podName}/{artifactName}": {
39894031
"get": {
39904032
"tags": [
@@ -4071,6 +4113,48 @@
40714113
}
40724114
}
40734115
},
4116+
"/input-artifacts-by-manifest/{podName}/{artifactName}": {
4117+
"post": {
4118+
"tags": [
4119+
"ArtifactService"
4120+
],
4121+
"summary": "Get an output artifact by a full workflow manifest.",
4122+
"operationId": "ArtifactService_GetInputArtifactByManifest",
4123+
"parameters": [
4124+
{
4125+
"name": "body",
4126+
"in": "body",
4127+
"required": true,
4128+
"schema": {
4129+
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.ArtifactByManifestRequest"
4130+
}
4131+
},
4132+
{
4133+
"type": "string",
4134+
"name": "podName",
4135+
"in": "path",
4136+
"required": true
4137+
},
4138+
{
4139+
"type": "string",
4140+
"name": "artifactName",
4141+
"in": "path",
4142+
"required": true
4143+
}
4144+
],
4145+
"responses": {
4146+
"200": {
4147+
"description": "An artifact file."
4148+
},
4149+
"default": {
4150+
"description": "An unexpected error response.",
4151+
"schema": {
4152+
"$ref": "#/definitions/grpc.gateway.runtime.Error"
4153+
}
4154+
}
4155+
}
4156+
}
4157+
},
40744158
"/input-artifacts-by-uid/{uid}/{podName}/{artifactName}": {
40754159
"get": {
40764160
"tags": [
@@ -8301,6 +8385,17 @@
83018385
}
83028386
}
83038387
},
8388+
"io.argoproj.workflow.v1alpha1.ArtifactByManifestRequest": {
8389+
"type": "object",
8390+
"required": [
8391+
"workflow"
8392+
],
8393+
"properties": {
8394+
"workflow": {
8395+
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Workflow"
8396+
}
8397+
}
8398+
},
83048399
"io.argoproj.workflow.v1alpha1.ArtifactLocation": {
83058400
"description": "ArtifactLocation describes a location for a single or multiple artifacts. It is used as single artifact in the context of inputs/outputs (e.g. outputs.artifacts.artname). It is also used to describe the location of multiple artifacts such as the archive location of a single workflow step, which the executor will use as a default location to store its files.",
83068401
"type": "object",

pkg/apiclient/_.primary.swagger.json

Lines changed: 96 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,90 @@
2929
}
3030
},
3131
"paths": {
32+
"/artifacts-by-manifest/{podName}/{artifactName}": {
33+
"post": {
34+
"tags": [
35+
"ArtifactService"
36+
],
37+
"summary": "Get an output artifact by a full workflow manifest.",
38+
"operationId": "ArtifactService_GetOutputArtifactByManifest",
39+
"parameters": [
40+
{
41+
"name": "body",
42+
"in": "body",
43+
"required": true,
44+
"schema": {
45+
"$ref": "#/definitions/github.com.argoproj.argo_workflows.v3.pkg.apis.workflow.v1alpha1.ArtifactByManifestRequest"
46+
}
47+
},
48+
{
49+
"type": "string",
50+
"name": "podName",
51+
"in": "path",
52+
"required": true
53+
},
54+
{
55+
"type": "string",
56+
"name": "artifactName",
57+
"in": "path",
58+
"required": true
59+
}
60+
],
61+
"responses": {
62+
"200": {
63+
"description": "An artifact file."
64+
},
65+
"default": {
66+
"description": "An unexpected error response.",
67+
"schema": {
68+
"$ref": "#/definitions/grpc.gateway.runtime.Error"
69+
}
70+
}
71+
}
72+
}
73+
},
74+
"/input-artifacts-by-manifest/{podName}/{artifactName}": {
75+
"post": {
76+
"tags": [
77+
"ArtifactService"
78+
],
79+
"summary": "Get an output artifact by a full workflow manifest.",
80+
"operationId": "ArtifactService_GetInputArtifactByManifest",
81+
"parameters": [
82+
{
83+
"name": "body",
84+
"in": "body",
85+
"required": true,
86+
"schema": {
87+
"$ref": "#/definitions/github.com.argoproj.argo_workflows.v3.pkg.apis.workflow.v1alpha1.ArtifactByManifestRequest"
88+
}
89+
},
90+
{
91+
"type": "string",
92+
"name": "podName",
93+
"in": "path",
94+
"required": true
95+
},
96+
{
97+
"type": "string",
98+
"name": "artifactName",
99+
"in": "path",
100+
"required": true
101+
}
102+
],
103+
"responses": {
104+
"200": {
105+
"description": "An artifact file."
106+
},
107+
"default": {
108+
"description": "An unexpected error response.",
109+
"schema": {
110+
"$ref": "#/definitions/grpc.gateway.runtime.Error"
111+
}
112+
}
113+
}
114+
}
115+
},
32116
"/artifacts/{namespace}/{name}/{podName}/{artifactName}": {
33117
"get": {
34118
"tags": [
@@ -237,6 +321,17 @@
237321
}
238322
},
239323
"definitions": {
324+
"github.com.argoproj.argo_workflows.v3.pkg.apis.workflow.v1alpha1.ArtifactByManifestRequest": {
325+
"type": "object",
326+
"required": [
327+
"workflow"
328+
],
329+
"properties": {
330+
"workflow": {
331+
"$ref": "#/definitions/github.com.argoproj.argo_workflows.v3.pkg.apis.workflow.v1alpha1.Workflow"
332+
}
333+
}
334+
},
240335
"io.k8s.apimachinery.pkg.runtime.Object": {
241336
"title": "This is a hack do deal with this problem: https://github.com/kubernetes/kube-openapi/issues/174"
242337
},
@@ -247,4 +342,4 @@
247342
}
248343
}
249344
}
250-
}
345+
}

0 commit comments

Comments
 (0)