Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/iaasalpha/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ go 1.18

require (
github.com/stackitcloud/stackit-sdk-go/core v0.14.0
github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.8-alpha
github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.10-alpha
)

require (
Expand Down
4 changes: 2 additions & 2 deletions examples/iaasalpha/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/stackitcloud/stackit-sdk-go/core v0.14.0 h1:oBwwzrEHDTlZpRoQwmMQpNA8bWciTrtGkiN29nx14Z0=
github.com/stackitcloud/stackit-sdk-go/core v0.14.0/go.mod h1:mDX1mSTsB3mP+tNBGcFNx6gH1mGBN4T+dVt+lcw7nlw=
github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.8-alpha h1:s7HprLITChqzYk1sO605q0Ivhge7oNmZ4sVBfySlgw8=
github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.8-alpha/go.mod h1:b4KR6r+yWS2hsDkz6ebRqxgadB+ZsAZcG0oDfv5jeaY=
github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.10-alpha h1:kHFq/7lJ6eS8m27zzAhTANttk6dZ2Jp4fb36D3Dsu+M=
github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.10-alpha/go.mod h1:nW/6vvumUHA7o1/JOOqsrEOBNrRHombEKB1U4jmg2wU=
68 changes: 68 additions & 0 deletions examples/iaasalpha/publicip/publicIp.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package main

import (
"context"
"fmt"
"os"

"github.com/stackitcloud/stackit-sdk-go/core/config"
"github.com/stackitcloud/stackit-sdk-go/core/utils"
"github.com/stackitcloud/stackit-sdk-go/services/iaasalpha"
)

func main() {
// Specify the organization ID and project ID
projectId := "PROJECT_ID"

// Create a new API client, that uses default authentication and configuration
iaasalphaClient, err := iaasalpha.NewAPIClient(
config.WithRegion("eu01"),
)
if err != nil {
fmt.Fprintf(os.Stderr, "[iaasalpha API] Creating API client: %v\n", err)
os.Exit(1)
}

publicIps, err := iaasalphaClient.ListPublicIPs(context.Background(), projectId).Execute()

if err != nil {
fmt.Fprintf(os.Stderr, "[iaasalpha API] Error when calling `ListPublicIPs`: %v\n", err)
} else {
fmt.Printf("[iaasalpha API] Number of Public IPs: %v\n", len(*publicIps.Items))
}

// Create a publicIp
createpublicIpPayload := iaasalpha.CreatePublicIPPayload{
NetworkInterface: iaasalpha.NewNullableString(utils.Ptr("NIC_ID")),
}
publicIp, err := iaasalphaClient.CreatePublicIP(context.Background(), projectId).CreatePublicIPPayload(createpublicIpPayload).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "[iaasalpha API] Error when calling `CreatePublicIP`: %v\n", err)
} else {
fmt.Printf("[iaasalpha API] public IP %q has been successfully created.\n", *publicIp.Id)
}

// Update a publicIp
updatepublicIpPayload := iaasalpha.UpdatePublicIPPayload{
NetworkInterface: iaasalpha.NewNullableString(nil),
}
publicIp, err = iaasalphaClient.UpdatePublicIP(context.Background(), projectId, *publicIp.Id).UpdatePublicIPPayload(updatepublicIpPayload).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "[iaasalpha API] Error when calling `UpdatePublicIP`: %v\n", err)
}

fmt.Printf("[iaasalpha API] public IP %q has been successfully updated.\n", *publicIp.Id)
if publicIp.NetworkInterface == nil {
fmt.Printf("[iaasalpha API] Public IP network interface has been successfully removed.\n")
} else {
fmt.Fprintf(os.Stderr, "[iaasalpha API] Public IP network interface has not been removed.\n")
}

// Delete a public IP
err = iaasalphaClient.DeletePublicIP(context.Background(), projectId, *publicIp.Id).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "[iaasalpha API] Error when calling `DeletepublicIp`: %v\n", err)
} else {
fmt.Printf("[iaasalpha API] public IP %q has been successfully deleted.\n", *publicIp.Id)
}
}
Loading