ucloud

package
v0.7.0-alpha Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2019 License: Apache-2.0 Imports: 15 Imported by: 95

Documentation

Overview

Package ucloud is a package of utilities to setup ucloud sdk and improve using experience

Index

Constants

View Source
const Version = version.Version

Version is the version of sdk

Variables

This section is empty.

Functions

func Bool

func Bool(val bool) *bool

Bool will return a pointer to bool

func BoolValue

func BoolValue(ptr *bool) bool

BoolValue will return a bool from bool pointer

func Float64

func Float64(val float64) *float64

Float64 will return a pointer to float64

func Float64Value

func Float64Value(ptr *float64) float64

Float64Value will return a float64 from float64 pointer

func Int

func Int(val int) *int

Int will return a pointer to int

func IntValue

func IntValue(ptr *int) int

IntValue will return a int from int pointer

func String

func String(val string) *string

String will return a pointer to string

func StringValue

func StringValue(ptr *string) string

StringValue will return a string from string pointer

func TimeDuration

func TimeDuration(val time.Duration) *time.Duration

TimeDuration will return a pointer to time.Duration

func TimeDurationValue

func TimeDurationValue(ptr *time.Duration) time.Duration

TimeDurationValue will return a time.Duration from a time.Duration pointer

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client 客户端

func NewClient

func NewClient(config *Config, credential *auth.Credential) *Client

NewClient will create an client of ucloud sdk

func (*Client) AddHttpRequestHandler added in v0.7.0

func (c *Client) AddHttpRequestHandler(h HttpRequestHandler) error

AddHttpRequestHandler will append a reponse handler to client

func (*Client) AddHttpResponseHandler added in v0.7.0

func (c *Client) AddHttpResponseHandler(h HttpReponseHandler) error

AddHttpResponseHandler will append a http reponse handler to client

func (*Client) AddRequestHandler added in v0.7.0

func (c *Client) AddRequestHandler(h RequestHandler) error

AddRequestHandler will append a reponse handler to client

func (*Client) AddResponseHandler added in v0.7.0

func (c *Client) AddResponseHandler(h ReponseHandler) error

AddResponseHandler will append a reponse handler to client

func (*Client) GetConfig

func (c *Client) GetConfig() *Config

GetConfig will return the config of client.

func (*Client) GetCredential

func (c *Client) GetCredential() *auth.Credential

GetCredential will return the creadential config of client.

func (*Client) InvokeAction

func (c *Client) InvokeAction(action string, req request.Common, resp response.Common) error

InvokeAction will do an action request from a request struct and set response value into res struct pointer

func (*Client) InvokeActionWithPatcher

func (c *Client) InvokeActionWithPatcher(action string, req request.Common, resp response.Common, patches ...utils.Patch) error

InvokeActionWithPatcher will invoke action by patchers

func (*Client) SetHttpClient added in v0.7.0

func (c *Client) SetHttpClient(httpClient http.Client) error

SetHttpClient will setup a http client

func (*Client) SetupRequest

func (c *Client) SetupRequest(req request.Common) request.Common

SetupRequest will init request by client configuration

type Config

type Config struct {
	// Region is the region of backend service
	// See also <https://docs.ucloud.cn/api/summary/regionlist> ...
	Region string `default:""`

	// Zone is the zone of backend service
	// See also <https://docs.ucloud.cn/api/summary/regionlist> ...
	Zone string `default:""`

	// ProjectId is the unique identify of project, used for organize resources,
	// Most of resources should belong to a project.
	// Sub-Account must have an project id.
	// See also <https://docs.ucloud.cn/api/summary/get_project_list> ...
	ProjectId string `default:""`

	// BaseUrl is the url of backend api
	// See also <doc link> ...
	BaseUrl string `default:"https://api.ucloud.cn"`

	// UserAgent is an attribute for sdk client, used for distinguish who is using sdk.
	// See also https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent
	// It will be appended to the end of sdk user-agent.
	// eg. "Terraform/0.10.1" -> "GO/1.9.1 GO-SDK/0.1.0 Terraform/0.10.1"
	// NOTE: it will conflict with the User-Agent of HTTPHeaders
	UserAgent string `default:""`

	// Timeout is timeout for every request.
	Timeout time.Duration `default:"30s"`

	// MaxRetries is the number of max retry times.
	// Set MaxRetries more than 0 to enable auto-retry for network and service availability problem
	// if auto-retry is enabled, it will enable default retry policy using exponential backoff.
	MaxRetries int `default:"0"`

	// LogLevel is equal to logrus level,
	// if logLevel not be set, use INFO level as default.
	LogLevel log.Level `default:"log.InfoLevel"`
	// contains filtered or unexported fields
}

Config is the config of ucloud sdk, use for setting up client

func NewConfig

func NewConfig() Config

NewConfig will return a new client config with default options.

func (*Config) GetActionLevel added in v0.6.7

func (c *Config) GetActionLevel(action string) log.Level

GetActionLevel will return the log level of action

func (*Config) SetActionLevel added in v0.6.7

func (c *Config) SetActionLevel(action string, level log.Level)

SetActionLevel will return the log level of action

type HttpReponseHandler

type HttpReponseHandler func(c *Client, req *http.HttpRequest, resp *http.HttpResponse, err error) (*http.HttpResponse, error)

HttpReponseHandler receive http response and return a new http response

type HttpRequestHandler added in v0.7.0

type HttpRequestHandler func(c *Client, req *http.HttpRequest) (*http.HttpRequest, error)

HttpRequestHandler receive http request and return a new http request

type ReponseHandler

type ReponseHandler func(c *Client, req request.Common, resp response.Common, err error) (response.Common, error)

ReponseHandler receive response and write data into this response memory area

type RequestHandler added in v0.7.0

type RequestHandler func(c *Client, req request.Common) (request.Common, error)

RequestHandler receive request and write data into this request memory area

Directories

Path Synopsis
Package auth is the credential utilities of sdk
Package auth is the credential utilities of sdk
Package uerr is the error definition of service and sdk
Package uerr is the error definition of service and sdk
helpers
waiter
Package waiter is a helper package use for waiting remote state is transformed into target state.
Package waiter is a helper package use for waiting remote state is transformed into target state.
Package log is the log utilities of sdk
Package log is the log utilities of sdk
Package request is the request of service
Package request is the request of service
Package response is the response of service
Package response is the response of service
Package version is the version of sdk
Package version is the version of sdk

Jump to

Keyboard shortcuts

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