Categorygithub.com/onecer/polaris-go-sdk
repositorypackage
0.0.2
Repository: https://github.com/onecer/polaris-go-sdk.git
Documentation: pkg.go.dev

# README

Go API client for polaris

一个支持多语言、多框架的云原生服务发现和治理中心

提供高性能SDK和无侵入Sidecar两种接入方式

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: v0.1.0
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://polarismesh.cn/

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import sw "./polaris"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value sw.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), sw.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), sw.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices and sw.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), sw.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), sw.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to http://localhost

ClassMethodHTTP requestDescription
AuthApiAuthStatusGet /core/v1/auth/status查询鉴权开关信息
AuthApiCreateStrategyPost /core/v1/auth/strategy创建鉴权策略
AuthApiDeleteStrategiesPost /core/v1/auth/strategies/delete删除鉴权策略
AuthApiGetPrincipalResourcesGet /core/v1/auth/principal/resources获取鉴权策略详细
AuthApiGetStrategiesGet /core/v1/auth/strategies查询鉴权策略列表
AuthApiGetStrategyGet /core/v1/auth/strategy/detail获取鉴权策略详细
AuthApiUpdateStrategiesPut /core/v1/auth/strategies更新鉴权策略
CircuitBreakersApiCreateCircuitBreakerVersionsPost /naming/v1/circuitbreakers/version创建熔断规则版本
CircuitBreakersApiCreateCircuitBreakersPost /naming/v1/circuitbreakers创建熔断规则
CircuitBreakersApiDeleteCircuitBreakersPost /naming/v1/circuitbreakers/delete删除熔断规则
CircuitBreakersApiGetCircuitBreakerGet /naming/v1/circuitbreaker查询熔断规则
CircuitBreakersApiGetCircuitBreakerTokenGet /naming/v1/circuitbreaker/token查询熔断规则Token
CircuitBreakersApiGetCircuitBreakerVersionsGet /naming/v1/circuitbreaker/versions查询熔断规则版本
CircuitBreakersApiGetMasterCircuitBreakersGet /naming/v1/circuitbreakers/master查询熔断规则Master版本
CircuitBreakersApiGetReleaseCircuitBreakersGet /naming/v1/circuitbreakers/release根据规则id查询已发布的熔断规则
CircuitBreakersApiReleaseCircuitBreakersPost /naming/v1/circuitbreakers/release发布熔断规则
CircuitBreakersApiUnBindCircuitBreakersPost /naming/v1/circuitbreakers/unbind解绑熔断规则
CircuitBreakersApiUpdateCircuitBreakersPut /naming/v1/circuitbreakers更新熔断规则
ConfigClientApiGetConfigFileGet /config/v1/GetConfigFile拉取配置
ConfigClientApiWatchConfigFilePost /config/v1/WatchConfigFile监听配置
ConfigConsoleApiBatchDeleteConfigFilePost /config/v1/configfiles/batchdelete批量删除配置文件
ConfigConsoleApiCreateConfigFilePost /config/v1/configfiles创建配置文件
ConfigConsoleApiCreateConfigFileGroupPost /config/v1/configfilegroups创建配置文件组
ConfigConsoleApiCreateConfigFileTemplatePost /config/v1/configfiletemplates创建配置模板
ConfigConsoleApiDeleteConfigFileDelete /config/v1/configfiles创建配置文件
ConfigConsoleApiDeleteConfigFileGroupDelete /config/v1/configfilegroups删除配置文件
ConfigConsoleApiGetAllConfigFileTemplatesGet /config/v1/configfiletemplates获取配置模板
ConfigConsoleApiGetConfigFileGet /config/v1/configfiles拉取配置
ConfigConsoleApiGetConfigFileReleaseGet /config/v1/configfiles/release获取配置文件最后一次全量发布信息
ConfigConsoleApiGetConfigFileReleaseHistoryGet /config/v1/configfiles/releasehistory获取配置文件发布历史记录
ConfigConsoleApiPublishConfigFilePost /config/v1/configfiles/release发布配置文件
ConfigConsoleApiQueryConfigFileGroupsGet /config/v1/configfilegroups搜索配置文件组
ConfigConsoleApiQueryConfigFilesByGroupGet /config/v1/configfiles/by-group搜索配置文件
ConfigConsoleApiSearchConfigFileGet /config/v1/configfiles/search搜索配置文件
ConfigConsoleApiUpdateConfigFilePut /config/v1/configfiles创建配置文件
ConfigConsoleApiUpdateConfigFileGroupPut /config/v1/configfilegroups更新配置文件组
InstancesApiCreateInstancesPost /naming/v1/instances创建实例
InstancesApiDeleteInstancesPost /naming/v1/instances/delete删除实例(根据实例ID)
InstancesApiDeleteInstancesByHostPost /naming/v1/instances/delete/host删除实例(根据主机)
InstancesApiGetInstanceLabelsGet /naming/v1/instances/labels查询某个服务下所有实例的标签信息
InstancesApiGetInstancesGet /naming/v1/instances查询服务实例
InstancesApiGetInstancesCountGet /naming/v1/instances/count查询服务实例数量
InstancesApiUpdateInstancesPut /naming/v1/instances更新实例
InstancesApiUpdateInstancesIsolatePut /naming/v1/instances/isolate/host修改服务实例的隔离状态
MaintainApiCleanInstancePost /maintain/v1/instance/clean彻底清理flag=1的实例
MaintainApiCloseConnectionsPost /maintain/v1/apiserver/conn/close关闭指定client ip的连接
MaintainApiFreeOSMemoryPost /maintain/v1/memory/free释放系统内存
MaintainApiGetLastHeartbeatGet /maintain/v1/instance/heartbeat获取上一次心跳的时间
MaintainApiGetLogOutputLevelGet /maintain/v1/log/outputlevel获取日志输出级别
MaintainApiGetServerConnStatsGet /maintain/v1/apiserver/conn/stats获取服务端连接统计信息
MaintainApiGetServerConnectionsGet /maintain/v1/apiserver/conn获取服务端连接数
MaintainApiSetLogOutputLevelPut /maintain/v1/log/outputlevel设置日志输出级别
NamespacesApiCoreCreateNamespacesPost /core/v1/namespaces创建命名空间
NamespacesApiCoreDeleteNamespacesPost /core/v1/namespaces/delete删除命名空间
NamespacesApiCoreGetNamespaceTokenGet /core/v1/namespaces/token查询命名空间Token
NamespacesApiCoreGetNamespacesGet /core/v1/namespaces查询命名空间列表
NamespacesApiCoreUpdateNamespaceTokenPut /core/v1/namespaces/token更新命名空间Token
NamespacesApiCoreUpdateNamespacesPut /core/v1/namespaces更新命名空间
NamespacesApiCreateNamespacesPost /naming/v1/namespaces创建命名空间
NamespacesApiDeleteNamespacesPost /naming/v1/namespaces/delete删除命名空间
NamespacesApiGetNamespaceTokenGet /naming/v1/namespace/token查询命名空间Token
NamespacesApiGetNamespacesGet /naming/v1/namespaces获取命名空间列表
NamespacesApiUpdateNamespaceTokenPut /naming/v1/namespace/token更新命名空间Token
NamespacesApiUpdateNamespacesPut /naming/v1/namespaces更新命名空间
RateLimitsApiCreateRateLimitsPost /naming/v1/ratelimits创建限流规则
RateLimitsApiDeleteRateLimitsPost /naming/v1/ratelimits/delete删除限流规则
RateLimitsApiEnableRateLimitsPut /naming/v1/ratelimits/enable启用限流规则
RateLimitsApiGetRateLimitsGet /naming/v1/ratelimits查询限流规则
RateLimitsApiUpdateRateLimitsPut /naming/v1/ratelimits更新限流规则
RegisterInstanceApiDeregisterInstancePost /v1/DeregisterInstance注销实例
RegisterInstanceApiDiscoverPost /v1/Discover服务发现
RegisterInstanceApiHeartbeatPost /v1/Heartbeat上报心跳
RegisterInstanceApiRegisterInstancePost /v1/RegisterInstance注册实例
RegisterInstanceApiReportClientPost /v1/ReportClient上报客户端
RegisterInstanceApiV2DiscoverPost /v2/Discover服务发现
RoutingRulesApiCreateRoutingsPost /naming/v1/routings创建路由规则
RoutingRulesApiDeleteRoutingsPost /naming/v1/routings/delete删除路由规则
RoutingRulesApiGetRoutingsGet /naming/v1/routings查询路由规则
RoutingRulesApiUpdateRoutingsPut /naming/v1/routings更新路由规则
RoutingRulesApiV2CreateRoutingsPost /naming/v2/routings创建路由规则
RoutingRulesApiV2DeleteRoutingsPost /naming/v2/routings/delete删除路由规则
RoutingRulesApiV2EnableRoutingsPut /naming/v2/routings/enable启用路由规则
RoutingRulesApiV2GetRoutingsGet /naming/v2/routings获取路由规则
RoutingRulesApiV2UpdateRoutingsPut /naming/v2/routings更新路由规则
ServicesApiCreateServiceAliasPost /naming/v1/service/alias创建服务别名
ServicesApiCreateServicesPost /naming/v1/services创建服务
ServicesApiDeleteServiceAliasesPost /naming/v1/service/aliases/delete删除服务别名
ServicesApiDeleteServicesPost /naming/v1/services/delete删除服务
ServicesApiGetCircuitBreakerByServiceGet /naming/v1/service/circuitbreaker根据服务查询熔断规则
ServicesApiGetServiceAliasesGet /naming/v1/service/aliases查询服务别名
ServicesApiGetServiceOwnerPost /naming/v1/service/owner根据服务获取服务负责人
ServicesApiGetServiceTokenGet /naming/v1/service/token查询服务Token
ServicesApiGetServicesGet /naming/v1/services获取服务列表
ServicesApiGetServicesCountGet /naming/v1/services/count获取服务数量
ServicesApiUpdateServiceAliasPut /naming/v1/service/alias更新服务别名
ServicesApiUpdateServiceTokenPut /naming/v1/service/token更新服务Token
ServicesApiUpdateServicesPut /naming/v1/services更新服务
UserGroupApiCreateGroupPost /core/v1/usergroup创建用户组
UserGroupApiDeleteGroupsPost /core/v1/usergroups/delete删除用户组
UserGroupApiGetGroupGet /core/v1/usergroup/detail获取用户组详情
UserGroupApiGetGroupTokenGet /core/v1/usergroup/token获取用户组 token
UserGroupApiGetGroupsGet /core/v1/usergroups查询用户组列表
UserGroupApiResetGroupTokenPut /core/v1/usergroup/token/refresh重置用户组 token
UserGroupApiUpdateGroupTokenPut /core/v1/usergroup/token/status更新用户组 token
UserGroupApiUpdateGroupsPut /core/v1/usergroups更新用户组
UsersApiCreateUsersPost /core/v1/users创建用户
UsersApiDeleteUsersPost /core/v1/users/delete删除用户
UsersApiGetUserTokenGet /core/v1/user/token获取用户Token
UsersApiGetUsersGet /core/v1/users获取用户
UsersApiLoginPost /core/v1/user/login用户登录
UsersApiResetUserTokenPut /core/v1/user/token/refresh重置用户Token
UsersApiUpdateUserPut /core/v1/user更新用户
UsersApiUpdateUserPasswordPut /core/v1/user/password更新用户密码
UsersApiUpdateUserTokenPut /core/v1/user/token/status更新用户Token

Documentation For Models

Documentation For Authorization

api_key

  • Type: API key
  • API key parameter name: X-Polaris-Token
  • Location: HTTP header

Note, each API key must be added to a map of map[string]APIKey where the key is: X-Polaris-Token and passed in as the auth context for each request.

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author