sm

package
v0.1.20 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2022 License: Apache-2.0 Imports: 18 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildOperationURL

func BuildOperationURL(operationID, resourceID, resourceURL string) string

func BuildURL

func BuildURL(baseURL string, q *Parameters) string

BuildURL builds the url with provided query parameters

func ExtractBindingID

func ExtractBindingID(operationURL string) string

func ExtractInstanceID

func ExtractInstanceID(operationURL string) string

Types

type Client

type Client interface {
	ListInstances(*Parameters) (*types.ServiceInstances, error)
	GetInstanceByID(string, *Parameters) (*types.ServiceInstance, error)
	UpdateInstance(id string, updatedInstance *types.ServiceInstance, serviceName string, planName string, q *Parameters, user string) (*types.ServiceInstance, string, error)
	Provision(instance *types.ServiceInstance, serviceName string, planName string, q *Parameters, user string) (*ProvisionResponse, error)
	Deprovision(id string, q *Parameters, user string) (string, error)

	ListBindings(*Parameters) (*types.ServiceBindings, error)
	GetBindingByID(string, *Parameters) (*types.ServiceBinding, error)
	Bind(binding *types.ServiceBinding, q *Parameters, user string) (*types.ServiceBinding, string, error)
	Unbind(id string, q *Parameters, user string) (string, error)

	ListOfferings(*Parameters) (*types.ServiceOfferings, error)
	ListPlans(*Parameters) (*types.ServicePlans, error)

	Status(string, *Parameters) (*types.Operation, error)

	// Call makes HTTP request to the Service Manager server with authentication.
	// It should be used only in case there is no already implemented method for such an operation
	Call(method string, smpath string, body io.Reader, q *Parameters) (*http.Response, error)
}

Client should be implemented by SM clients

func NewClient

func NewClient(ctx context.Context, config *ClientConfig, httpClient auth.HTTPClient) (Client, error)

NewClientWithAuth returns new SM Client configured with the provided configuration

type ClientConfig

type ClientConfig struct {
	URL            string
	TokenURL       string
	ClientID       string
	ClientSecret   string
	TokenURLSuffix string
	TLSCertKey     string
	TLSPrivateKey  string
	SSLDisabled    bool
}

ClientConfig contains the configuration of the Service Manager client

type Parameters

type Parameters struct {
	FieldQuery    []string
	LabelQuery    []string
	GeneralParams []string
}

Parameters holds common query parameters

func (*Parameters) Encode

func (p *Parameters) Encode() string

Encode encodes the parameters as URL query parameters

type ProvisionResponse added in v0.1.12

type ProvisionResponse struct {
	InstanceID string
	PlanID     string
	Location   string
	Tags       json.RawMessage
}

type ServiceManagerError

type ServiceManagerError struct {
	Message    string
	StatusCode int
}

func (*ServiceManagerError) Error

func (e *ServiceManagerError) Error() string

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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