Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix examples v1 #905

Open
wants to merge 14 commits into
base: v1
Choose a base branch
from
4 changes: 4 additions & 0 deletions .github/scripts/check-creds-settings.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,8 @@ if [ -z "$OSC_REGION" ]; then
echo "OSC_REGION var is not set, please fix"
exit_code=1
fi
if [ -z "$OMI_ID" ]; then
echo "OMI_ID var is not set, please fix"
exit_code=1
fi
exit $exit_code
1 change: 1 addition & 0 deletions .github/workflows/pull-request-v1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ jobs:
OSC_ACCESS_KEY: ${{ secrets.OSC_ACCESS_KEY }}
OSC_SECRET_KEY: ${{ secrets.OSC_SECRET_KEY }}
OSC_REGION: ${{ secrets.OSC_REGION }}
OMI_ID: ${{ secrets.OMI_ID }}
run: make go-test
regeneration-test:
runs-on: ubuntu-20.04
Expand Down
28 changes: 28 additions & 0 deletions .osc-patches/23.03.01-Fix-BasePath-region.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
From 53fc47b4030cc7d24eeaea67adef3c280b495c0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Jutteau?= <[email protected]>
Date: Wed, 1 Mar 2023 12:32:28 +0100
Subject: [PATCH 1/2] Fix BasePath region
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Jérôme Jutteau <[email protected]>
---
osc/config_file.go | 1 +
1 file changed, 1 insertion(+)

diff --git a/osc/config_file.go b/osc/config_file.go
index b35e9537..66efe5bf 100644
--- a/osc/config_file.go
+++ b/osc/config_file.go
@@ -139,6 +139,7 @@ func (configFile *ConfigFile) Configuration(profileName string) (*Configuration,
}

config := NewConfiguration()
+ config.BasePath = fmt.Sprintf("https://api.%s.outscale.com/api/v1", region)
config.Servers = []ServerConfiguration{
{
Url: url,
--
2.38.1

38 changes: 38 additions & 0 deletions .osc-patches/23.03.01-Fix-config-env-BasePath.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
From d9039cddadd92d851831912529e1545c5883e5cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Jutteau?= <[email protected]>
Date: Wed, 1 Mar 2023 12:39:48 +0100
Subject: [PATCH 2/2] Fix config env BasePath
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Jérôme Jutteau <[email protected]>
---
osc/config_env.go | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/osc/config_env.go b/osc/config_env.go
index 9fcd634f..1d4af8ce 100644
--- a/osc/config_env.go
+++ b/osc/config_env.go
@@ -29,6 +29,7 @@ package osc
import (
"context"
"errors"
+ "fmt"
"os"
)

@@ -74,6 +75,9 @@ func (configEnv *ConfigEnv) Configuration() (*Configuration, error) {
}
} else {
config = NewConfiguration()
+ if configEnv.Region != nil {
+ config.BasePath = fmt.Sprintf("https://api.%s.outscale.com/api/v1", *configEnv.Region)
+ }
default_region := "eu-west-2"
config.Servers = []ServerConfiguration{
{
--
2.38.1

24 changes: 16 additions & 8 deletions examples/debug_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,9 @@ package osc_test
import (
"context"
"fmt"
"github.com/outscale/osc-sdk-go/osc"
"os"

"github.com/outscale/osc-sdk-go/osc"
)

/*
Expand All @@ -45,17 +46,24 @@ A quick example which show how to enable SDK debuging in case you have to see wh
This examples just list existing volumes and shows HTTP details.
*/
func ExampleDebug() {
config := osc.NewConfiguration()
configEnv := osc.NewConfigEnv()
config, err := configEnv.Configuration()
fmt.Fprintf(os.Stderr, "BasePath: %s\n", config.BasePath)

config.Debug = true // <-- may be useful
if err != nil {
fmt.Fprintln(os.Stderr, "Cannot load configuration from environement variables")
os.Exit(1)
}
ctx, err := configEnv.Context(context.Background())
if err != nil {
fmt.Fprintln(os.Stderr, "Cannot set context from environement variables")
os.Exit(1)
}

config.Debug = true
client := osc.NewAPIClient(config)
auth := context.WithValue(context.Background(), osc.ContextAWSv4, osc.AWSv4{
AccessKey: os.Getenv("OSC_ACCESS_KEY"),
SecretKey: os.Getenv("OSC_SECRET_KEY"),
})

read, httpRes, err := client.VolumeApi.ReadVolumes(auth, nil)
read, httpRes, err := client.VolumeApi.ReadVolumes(ctx, nil)
if err != nil {
fmt.Fprintln(os.Stderr, "Error while reading volumes")
if httpRes != nil {
Expand Down
22 changes: 16 additions & 6 deletions examples/image_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,23 @@ import (

/* Image Example: list machine images and get details */
func ExampleImage() {
client := osc.NewAPIClient(osc.NewConfiguration())
auth := context.WithValue(context.Background(), osc.ContextAWSv4, osc.AWSv4{
AccessKey: os.Getenv("OSC_ACCESS_KEY"),
SecretKey: os.Getenv("OSC_SECRET_KEY"),
})
configEnv := osc.NewConfigEnv()
config, err := configEnv.Configuration()

read, httpRes, err := client.ImageApi.ReadImages(auth, nil)
if err != nil {
fmt.Fprintln(os.Stderr, "Cannot load configuration from environement variables")
os.Exit(1)
}
ctx, err := configEnv.Context(context.Background())
if err != nil {
fmt.Fprintln(os.Stderr, "Cannot set context from environement variables")
os.Exit(1)
}

config.Debug = true
client := osc.NewAPIClient(config)

read, httpRes, err := client.ImageApi.ReadImages(ctx, nil)
if err != nil {
fmt.Fprintln(os.Stderr, "Error while reading images")
if httpRes != nil {
Expand Down
24 changes: 16 additions & 8 deletions examples/keypair_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,21 @@ import (
- Delete keypair
*/
func ExampleKeypair() {
client := osc.NewAPIClient(osc.NewConfiguration())
auth := context.WithValue(context.Background(), osc.ContextAWSv4, osc.AWSv4{
AccessKey: os.Getenv("OSC_ACCESS_KEY"),
SecretKey: os.Getenv("OSC_SECRET_KEY"),
})
configEnv := osc.NewConfigEnv()
config, err := configEnv.Configuration()

read, httpRes, err := client.KeypairApi.ReadKeypairs(auth, nil)
if err != nil {
fmt.Fprintln(os.Stderr, "Cannot load configuration from environement variables")
os.Exit(1)
}
ctx, err := configEnv.Context(context.Background())
if err != nil {
fmt.Fprintln(os.Stderr, "Cannot set context from environement variables")
os.Exit(1)
}
client := osc.NewAPIClient(config)

read, httpRes, err := client.KeypairApi.ReadKeypairs(ctx, nil)
if err != nil {
fmt.Fprintln(os.Stderr, "Error while reading keypairs")
if httpRes != nil {
Expand All @@ -79,7 +87,7 @@ func ExampleKeypair() {
//PublicKey: publicKey,
}),
}
creation, httpRes, err := client.KeypairApi.CreateKeypair(auth, &creationOpts)
creation, httpRes, err := client.KeypairApi.CreateKeypair(ctx, &creationOpts)
if err != nil {
fmt.Fprint(os.Stderr, "Error while creating keypair ")
if httpRes != nil {
Expand All @@ -98,7 +106,7 @@ func ExampleKeypair() {
KeypairName: keypairName,
}),
}
_, httpRes, err = client.KeypairApi.DeleteKeypair(auth, &deletionOpts)
_, httpRes, err = client.KeypairApi.DeleteKeypair(ctx, &deletionOpts)
if err != nil {
fmt.Fprint(os.Stderr, "Error while deleting keypair ")
if httpRes != nil {
Expand Down
31 changes: 19 additions & 12 deletions examples/load_balancer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,24 @@ import (
- Delete new load balancer
*/
func ExampleLoadBalancer() {
loadBalancerName := "OscSdkExample-" + RandomString(10)
loadBalancerSubRegion := "eu-west-2a"
config := osc.NewConfiguration()
config.Debug = false
configEnv := osc.NewConfigEnv()
config, err := configEnv.Configuration()

if err != nil {
fmt.Fprintln(os.Stderr, "Cannot load configuration from environement variables")
os.Exit(1)
}
ctx, err := configEnv.Context(context.Background())
if err != nil {
fmt.Fprintln(os.Stderr, "Cannot set context from environement variables")
os.Exit(1)
}
client := osc.NewAPIClient(config)
auth := context.WithValue(context.Background(), osc.ContextAWSv4, osc.AWSv4{
AccessKey: os.Getenv("OSC_ACCESS_KEY"),
SecretKey: os.Getenv("OSC_SECRET_KEY"),
})

read, httpRes, err := client.LoadBalancerApi.ReadLoadBalancers(auth, nil)
loadBalancerName := "OscSdkExample-" + RandomString(10)
loadBalancerSubRegion := fmt.Sprintf("%sa", os.Getenv("OSC_REGION"))

read, httpRes, err := client.LoadBalancerApi.ReadLoadBalancers(ctx, nil)
if err != nil {
fmt.Fprintln(os.Stderr, "Error while reading load balancers")
if httpRes != nil {
Expand Down Expand Up @@ -91,7 +98,7 @@ func ExampleLoadBalancer() {
SubregionNames: []string{loadBalancerSubRegion},
}),
}
creation, httpRes, err := client.LoadBalancerApi.CreateLoadBalancer(auth, &creationOpts)
creation, httpRes, err := client.LoadBalancerApi.CreateLoadBalancer(ctx, &creationOpts)
if err != nil {
fmt.Fprint(os.Stderr, "Error while creating load balancer ")
if httpRes != nil {
Expand All @@ -110,7 +117,7 @@ func ExampleLoadBalancer() {
},
}),
}
read, httpRes, err = client.LoadBalancerApi.ReadLoadBalancers(auth, &readOpts)
read, httpRes, err = client.LoadBalancerApi.ReadLoadBalancers(ctx, &readOpts)
if err != nil {
fmt.Fprint(os.Stderr, "Error while reading load balancers ")
if httpRes != nil {
Expand All @@ -130,7 +137,7 @@ func ExampleLoadBalancer() {
LoadBalancerName: creation.LoadBalancer.LoadBalancerName,
}),
}
_, httpRes, err = client.LoadBalancerApi.DeleteLoadBalancer(auth, &deletionOpts)
_, httpRes, err = client.LoadBalancerApi.DeleteLoadBalancer(ctx, &deletionOpts)
if err != nil {
fmt.Fprint(os.Stderr, "Error while deleting load balancer ")
if httpRes != nil {
Expand Down
28 changes: 18 additions & 10 deletions examples/public_ip_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,10 @@ package osc_test
import (
"context"
"fmt"
"os"

"github.com/antihax/optional"
"github.com/outscale/osc-sdk-go/osc"
"os"
)

/*
Expand All @@ -48,13 +49,20 @@ import (
- Delete Public IP
*/
func ExamplePublicIp() {
client := osc.NewAPIClient(osc.NewConfiguration())
auth := context.WithValue(context.Background(), osc.ContextAWSv4, osc.AWSv4{
AccessKey: os.Getenv("OSC_ACCESS_KEY"),
SecretKey: os.Getenv("OSC_SECRET_KEY"),
})
configEnv := osc.NewConfigEnv()
config, err := configEnv.Configuration()
if err != nil {
fmt.Fprintln(os.Stderr, "Cannot load configuration from environement variables")
os.Exit(1)
}
ctx, err := configEnv.Context(context.Background())
if err != nil {
fmt.Fprintln(os.Stderr, "Cannot set context from environement variables")
os.Exit(1)
}
client := osc.NewAPIClient(config)

read, httpRes, err := client.PublicIpApi.ReadPublicIps(auth, nil)
read, httpRes, err := client.PublicIpApi.ReadPublicIps(ctx, nil)
if err != nil {
fmt.Fprintln(os.Stderr, "Error while reading public ips")
if httpRes != nil {
Expand All @@ -70,7 +78,7 @@ func ExamplePublicIp() {

println("Creating new Public Ip")
creationOpts := osc.CreatePublicIpOpts{}
creation, httpRes, err := client.PublicIpApi.CreatePublicIp(auth, &creationOpts)
creation, httpRes, err := client.PublicIpApi.CreatePublicIp(ctx, &creationOpts)
if err != nil {
fmt.Fprint(os.Stderr, "Error while creating Public IP ")
if httpRes != nil {
Expand All @@ -90,7 +98,7 @@ func ExamplePublicIp() {
},
}),
}
read, httpRes, err = client.PublicIpApi.ReadPublicIps(auth, &readOpts)
read, httpRes, err = client.PublicIpApi.ReadPublicIps(ctx, &readOpts)
if err != nil {
fmt.Fprint(os.Stderr, "Error while reading public ip ")
if httpRes != nil {
Expand All @@ -110,7 +118,7 @@ func ExamplePublicIp() {
PublicIpId: creation.PublicIp.PublicIpId,
}),
}
_, httpRes, err = client.PublicIpApi.DeletePublicIp(auth, &deletionOpts)
_, httpRes, err = client.PublicIpApi.DeletePublicIp(ctx, &deletionOpts)
if err != nil {
fmt.Fprint(os.Stderr, "Error while deleting public ip ")
if httpRes != nil {
Expand Down
Loading