cells_sdk

package module
v3.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2021 License: Apache-2.0 Imports: 0 Imported by: 1

README

Cells API client v3

Rest API Client for Pydio Cells v3.

This SDK assumes that your server is running Pydio Cells 3.x or later.

Overview

This API client was generated by the go-swagger project.

For more information, please visit https://pydio.com

How to use

Simply put the package under your project folder and add the following import:

    "github.com/pydio/cells-sdk-go/v3"

The transport package provides utilitary methods to ease the set up of a communication with your target Cells instance. You might find the commands that are in the example package useful to jump in.

You can also have a look at the Cells client repository (also on Github) to see more working examples.

Migrate from version 2

Between version 2 and 3, we have updated the go-swagger version that we use, to v0.27.0, this has led to a few breaking changes: you might have to adapt your client code.

We have also reworked our error model in the json file: well-known http status are now correctly handled and messages are meaningful.

Here is a short list of the modification you might have to do:

  • client.PydioCellsRest is now client.PydioCellsRestAPI
  • enum objects are managed more cleanly:
    • you have to dereference the pointer to make comparison: *node.Type == models.TreeNodeTypeCOLLECTION
    • you cannot use a string to create a parameter. This won't compile: Type: "COLLECTION" and you must rather write: Type: models.NewTreeNodeType(models.TreeNodeTypeCOLLECTION)
  • Acls param in struc models.RestCell has been renamed ACLs

Versioning policy

As from version 2.2, we release a minor version of the SDK for each minor version of the Pydio Cells Server.

Documentation

Overview

Package cells_sdk provides a ready to use SDK to use the Cells REST API in Go language. It also provides some patterns that ease implementation of Go programs that use the SDK.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type S3Config

type S3Config struct {
	// Bucket name, usually io.
	Bucket string `json:"bucket"`
	// Endpoint overrides the default URL generated by the S3 SDK from the bucket name.
	Endpoint string `json:"enpoint"`
	// Region param, usually us-east-1
	Region string `json:"region"`
	// ApiKey is used by the Cells SDK to transmit the JWT token.
	ApiKey string `json:"apiKey"`
	// ApiSecret identifies this client.
	ApiSecret string `json:"apiSecret"`
	// Set to true to rather use legacy mode (JWT Auth is transmitted via custom 'X-Pydio-Bearer' header).
	UsePydioSpecificHeader bool `json:"usePydioSpecificHeader"`
	// IsDebug is a convenience legacy flag to add some logging to this S3 client.
	// Should be cleaned as soon as we defined the logging strategy for this repo.
	IsDebug bool `json:"isDebug"`
}

S3Config stores connection parameters to a running Cells instance S3 gateway via the AWS SDK for Go.

type SdkConfig

type SdkConfig struct {

	// Url stores domain name or IP & port to the server.
	Url string `json:"url"`
	// Username (login) for the currenly configured Pydio Account
	User string `json:"user"`

	// IdToken might be a personal access Token (generated on your server) or an OAuth2 Token retrieved via the OIDC code flow
	IdToken string `json:"idToken,omitempty"`
	// OIDC Code Flow additional info
	RefreshToken   string `json:"refreshToken,omitempty"`
	TokenExpiresAt int    `json:"tokenExpiresAt,omitempty"`

	// Password for client credential authentification (Legacy, less secure)
	Password string `json:"password,omitempty"`

	// SkipVerify tells the transport to ignore expired or self-signed TLS certificates
	SkipVerify bool `json:"skipVerify"`

	// UseTokenCache flags wether we should rely on a local cache to avoid retrieving a new JWT token at each request.
	// It is useful to *not* use the cache when running connection tests for instance.
	UseTokenCache bool `json:"useTokenCache"`

	// Optional list of headers to override in requests, typically User-Agent
	CustomHeaders map[string]string
}

SdkConfig stores parameters to talk to a running Cells instance REST API via the Go SDK.

Directories

Path Synopsis
cmd
Package cmd implements some basic examples of what can be achieved when combining the use of the Go SDK for Cells with the powerful Cobra framework to implement CLI client applications for Cells.
Package cmd implements some basic examples of what can be achieved when combining the use of the Go SDK for Cells with the powerful Cobra framework to implement CLI client applications for Cells.
s3

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL