Categorygithub.com/fnproject/fn_go
modulepackage
0.8.10
Repository: https://github.com/fnproject/fn_go.git
Documentation: pkg.go.dev

# README

FnProject SDK

This is a golang SDK for accessing the Fn API - it allows you to create and modify applications and functions programmatically.

Most of the code in the repository is automatically generated from the latest Fn project API Swagger.

To generate a new client manually:

  • Clone a local copy of fn, this will be used to provide a path to the swagger spec into your go path (e.g. ../fn from this repo)

Run the following commands:

./regenerate.sh

Example:

package main

import (
	"github.com/fnproject/fn_go/provider"
	"github.com/fnproject/fn_go"
	"github.com/fnproject/fn_go/client/apps"
	"context"
	"fmt"
)

func main() {

	config := provider.NewConfigSourceFromMap(map[string]string{
		"api-url": "http://localhost:8080",
	})

	currentProvider, err := fn_go.DefaultProviders.ProviderFromConfig("default", config, &provider.NopPassPhraseSource{})

	if err != nil {
		panic(err.Error())
	}

	appClient := currentProvider.APIClient().Apps

	ctx := context.Background()

	var cursor string
	for {
		params := &apps.GetAppsParams{
			Context: ctx,
		}
		if cursor != "" {
			params.Cursor = &cursor
		}

		gotApps, err := appClient.GetApps(params)
		if err != nil {
			panic(err.Error())
		}

		for _, app := range gotApps.Payload.Apps {
			fmt.Printf("App %s\n", app.Name)
		}

		if gotApps.Payload.NextCursor == "" {
			break
		}
		cursor = gotApps.Payload.NextCursor
	}
}

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

provider names.
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

DefaultProviders includes the bundled providers available in the client.