Skip to content

Commit 9b4e37d

Browse files
feat(api): Updated go-sdk to adopt Code Engine API specification changes
1 parent e1821f8 commit 9b4e37d

File tree

7 files changed

+111
-21
lines changed

7 files changed

+111
-21
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
44

5-
# IBM Cloud Code Engine Go SDK 4.16.3
5+
# IBM Cloud Code Engine Go SDK 4.16.6
66
Go client library to interact with the [Code Engine API](https://cloud.ibm.com/apidocs/codeengine).
77

88
## Table of Contents
@@ -18,7 +18,7 @@ Go client library to interact with the [Code Engine API](https://cloud.ibm.com/a
1818

1919
<!-- toc -->
2020

21-
- [IBM Cloud Code Engine Go SDK 4.16.3](#ibm-cloud-code-engine-go-sdk-310)
21+
- [IBM Cloud Code Engine Go SDK 4.16.6](#ibm-cloud-code-engine-go-sdk-310)
2222
- [Table of Contents](#table-of-contents)
2323
- [Overview](#overview)
2424
- [Prerequisites](#prerequisites)
@@ -53,7 +53,7 @@ Service Name | Package name
5353
* Go version 1.21 or above.
5454

5555
## Installation
56-
The current version of this SDK: 4.16.3
56+
The current version of this SDK: 4.16.6
5757

5858
There are a few different ways to download and install the Code Engine Go SDK project for use by your
5959
Go application:
@@ -86,7 +86,7 @@ to your `Gopkg.toml` file. Here is an example:
8686
```
8787
[[constraint]]
8888
name = "github.com/IBM/code-engine-go-sdk"
89-
version = "4.16.3"
89+
version = "4.16.6"
9090
9191
```
9292

common/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
package common
1818

1919
// Version of the SDK
20-
const Version = "4.16.3"
20+
const Version = "4.16.6"

example/v2/example_v2.go

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package main
22

33
import (
44
"encoding/json"
5+
"errors"
56
"fmt"
67
"os"
78
"strings"
@@ -56,10 +57,14 @@ func main() {
5657
}
5758
fmt.Printf("Using Code Engine API endpoint: '%s'\n", codeEngineApiEndpoint)
5859

60+
// Set version versioning url param
61+
versionDate := "2024-05-13"
62+
5963
// Setup a Code Engine client
6064
codeEngineServiceOptions := &codeenginev2.CodeEngineV2Options{
6165
Authenticator: authenticator,
6266
URL: codeEngineApiEndpoint,
67+
Version: &versionDate,
6368
}
6469
codeEngineService, err := codeenginev2.NewCodeEngineV2UsingExternalConfig(codeEngineServiceOptions)
6570
if err != nil {
@@ -450,6 +455,56 @@ func main() {
450455
}
451456
fmt.Printf("Created app '%s'\n", *createdApp.Name)
452457

458+
envVarValue := "TESTVALUE"
459+
envVarType := "literal"
460+
envVarName := "TESTNAME"
461+
462+
var jobEnvVariables = []codeenginev2.EnvVarPrototype{
463+
{
464+
Value: &envVarValue,
465+
Type: &envVarType,
466+
Name: &envVarName,
467+
},
468+
}
469+
470+
// Create job
471+
createJobOpts := codeEngineService.NewCreateJobOptions(
472+
*createdProject.ID,
473+
"icr.io/codeengine/helloworld",
474+
"job-1",
475+
)
476+
477+
createJobOpts.RunEnvVariables = jobEnvVariables
478+
479+
createdJob, _, err := codeEngineService.CreateJob(createJobOpts)
480+
if err != nil {
481+
fmt.Printf("CreateJob error: %s\n", err.Error())
482+
os.Exit(1)
483+
return
484+
}
485+
fmt.Printf("Created job '%s'\n", *createdJob.Name)
486+
if createdJob.ComputedEnvVariables != nil {
487+
fmt.Printf("Created job contains 'ComputedEnvVariables\n")
488+
for _, envVar := range createdJob.ComputedEnvVariables {
489+
fmt.Println(*envVar.Name + ":" + *envVar.Value)
490+
}
491+
} else {
492+
err := errors.New("no computed environment variables found")
493+
fmt.Printf("CreateJob error: %s\n", err.Error())
494+
os.Exit(1)
495+
return
496+
}
497+
498+
if createdJob.RunEnvVariables != nil {
499+
fmt.Printf("Created job contains 'RunEnvVariables\n")
500+
fmt.Println(*createdJob.RunEnvVariables[0].Name + " " + *createdJob.RunEnvVariables[0].Value)
501+
} else {
502+
err := errors.New("no run environment variables found")
503+
fmt.Printf("CreateJob error: %s\n", err.Error())
504+
os.Exit(1)
505+
return
506+
}
507+
453508
// Create tls secret
454509
createTLSSecretOpts := codeEngineService.NewCreateSecretOptions(
455510
*createdProject.ID,
@@ -738,6 +793,41 @@ func main() {
738793
*createdProject.ID,
739794
)
740795

796+
// Get job
797+
getJobOpts := codeEngineService.NewGetJobOptions(
798+
*createdProject.ID,
799+
"job-1",
800+
)
801+
802+
obtainedJob, _, err := codeEngineService.GetJob(getJobOpts)
803+
if err != nil {
804+
fmt.Printf("GetJob error: %s\n", err.Error())
805+
os.Exit(1)
806+
return
807+
}
808+
fmt.Printf("Obtained job '%s'\n", *obtainedJob.Name)
809+
if obtainedJob.ComputedEnvVariables != nil {
810+
fmt.Printf("Obtained job contains 'ComputedEnvVariables\n")
811+
for _, envVar := range obtainedJob.ComputedEnvVariables {
812+
fmt.Println(*envVar.Name + ":" + *envVar.Value)
813+
}
814+
} else {
815+
err := errors.New("no computed environment variables found")
816+
fmt.Printf("GetJob error: %s\n", err.Error())
817+
os.Exit(1)
818+
return
819+
}
820+
821+
if obtainedJob.RunEnvVariables != nil {
822+
fmt.Printf("Obtained job contains 'RunEnvVariables\n")
823+
fmt.Println(*obtainedJob.RunEnvVariables[0].Name + " " + *obtainedJob.RunEnvVariables[0].Value)
824+
} else {
825+
err := errors.New("no run environment variables found")
826+
fmt.Printf("Getjob error: %s\n", err.Error())
827+
os.Exit(1)
828+
return
829+
}
830+
741831
resp, err = codeEngineService.DeleteProject(deleteProjectOptions)
742832
if err != nil {
743833
fmt.Printf("DeleteProject error: %s (transaction-id: '%s')\n", err.Error(), resp.Headers.Get("X-Transaction-Id"))

example/v2/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ require (
2727
github.com/oklog/ulid v1.3.1 // indirect
2828
go.mongodb.org/mongo-driver v1.14.0 // indirect
2929
golang.org/x/crypto v0.31.0 // indirect
30-
golang.org/x/net v0.32.0 // indirect
30+
golang.org/x/net v0.33.0 // indirect
3131
golang.org/x/sys v0.28.0 // indirect
3232
golang.org/x/text v0.21.0 // indirect
3333
gopkg.in/yaml.v2 v2.4.0 // indirect

example/v2/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd
6262
go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
6363
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
6464
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
65-
golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI=
66-
golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs=
65+
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
66+
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
6767
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
6868
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
6969
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
github.com/IBM/go-sdk-core/v5 v5.18.3
99
github.com/go-openapi/strfmt v0.23.0
1010
github.com/onsi/ginkgo v1.16.5
11-
github.com/onsi/ginkgo/v2 v2.22.0
11+
github.com/onsi/ginkgo/v2 v2.22.1
1212
github.com/onsi/gomega v1.36.1
1313
github.com/stretchr/testify v1.10.0
1414
)
@@ -25,7 +25,7 @@ require (
2525
github.com/go-playground/validator/v10 v10.19.0 // indirect
2626
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
2727
github.com/google/go-cmp v0.6.0 // indirect
28-
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db // indirect
28+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
2929
github.com/google/uuid v1.6.0 // indirect
3030
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
3131
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
@@ -36,10 +36,10 @@ require (
3636
github.com/pmezard/go-difflib v1.0.0 // indirect
3737
go.mongodb.org/mongo-driver v1.14.0 // indirect
3838
golang.org/x/crypto v0.31.0 // indirect
39-
golang.org/x/net v0.32.0 // indirect
39+
golang.org/x/net v0.33.0 // indirect
4040
golang.org/x/sys v0.28.0 // indirect
4141
golang.org/x/text v0.21.0 // indirect
42-
golang.org/x/tools v0.26.0 // indirect
42+
golang.org/x/tools v0.28.0 // indirect
4343
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
4444
gopkg.in/yaml.v2 v2.4.0 // indirect
4545
gopkg.in/yaml.v3 v3.0.1 // indirect
@@ -49,7 +49,7 @@ replace (
4949
// Replace golang.org/x/crypto, thereby logically excluding vulnerable versions
5050
golang.org/x/crypto => golang.org/x/crypto v0.31.0
5151
// Replace golang.org/x/net, thereby logically excluding vulnerable versions
52-
golang.org/x/net => golang.org/x/net v0.32.0
52+
golang.org/x/net => golang.org/x/net v0.33.0
5353
// Replace golang.org/x/text, thereby logically excluding vulnerable versions
5454
golang.org/x/text => golang.org/x/text v0.21.0
5555
)

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
4343
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
4444
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
4545
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
46-
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db h1:097atOisP2aRj7vFgYQBbFN4U4JNXUNYpxael3UzMyo=
47-
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
46+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
47+
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
4848
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
4949
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
5050
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
@@ -76,8 +76,8 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
7676
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
7777
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
7878
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
79-
github.com/onsi/ginkgo/v2 v2.22.0 h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg=
80-
github.com/onsi/ginkgo/v2 v2.22.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
79+
github.com/onsi/ginkgo/v2 v2.22.1 h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM=
80+
github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM=
8181
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
8282
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
8383
github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw=
@@ -99,8 +99,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91
9999
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
100100
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
101101
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
102-
golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI=
103-
golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs=
102+
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
103+
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
104104
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
105105
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
106106
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -130,8 +130,8 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f
130130
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
131131
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
132132
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
133-
golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
134-
golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
133+
golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=
134+
golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
135135
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
136136
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
137137
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

0 commit comments

Comments
 (0)