Documentation
¶
Index ¶
- type APICreateBody
- type APIListResponse
- type APIRequestVX
- type APIResponse
- type BasicKeyAuth
- type Client
- func (k *Client) CheckConnection() error
- func (k *Client) CheckStatus() (map[string]int, error)
- func (k *Client) CreateAPI(payload APICreateBody) (APIResponse, error)
- func (k *Client) CreateConsumer(payload ConsumersCreateBody) (ConsumersResponse, error)
- func (k *Client) CreatePluginOnApi(apiId string, payload PluginsCreateBody) error
- func (k *Client) CreatePluginOnService(serviceId string, payload PluginsCreateBody) error
- func (k *Client) CreateRouteOnService(serviceId string, payload RouteCreateBody) (RouteResponse, error)
- func (k *Client) CreateService(payload ServiceCreateBody) (ServiceResponse, error)
- func (k *Client) DeleteAPI(payload APICreateBody) error
- func (k *Client) DeleteConsumer(payload ConsumersCreateBody) error
- func (k *Client) DeleteRoute(payload RouteCreateBody, serviceId string) error
- func (k *Client) DeleteService(payload ServiceCreateBody) error
- func (k *Client) ExistAPI(apiId string) bool
- func (k *Client) ExistConsumer(consumer string) bool
- func (k *Client) GetApiPlugins(apiId string) (map[string]PluginsResponse, error)
- func (k *Client) GetConsumerKeyAuth(consumer string) (map[string]BasicKeyAuth, error)
- func (k *Client) GetServicePlugins(serviceId string) (map[string]PluginsResponse, error)
- func (k *Client) ListAPIs(param string) (map[string]APIResponse, error)
- func (k *Client) ListConsumer(param string) (map[string]ConsumersResponse, error)
- func (k *Client) ListServiceRoutes(serviceId, routeId string) (map[string]RouteResponse, error)
- func (k *Client) ListServices(param string) (map[string]ServiceResponse, error)
- func (k *Client) NewFromURL(base *url.URL) *Client
- func (k *Client) SetBasicAuth(username, password string)
- func (k *Client) SetConsumerAcl(consumer, group string) error
- func (k *Client) SetConsumerKeyAuth(consumer, apikey string) error
- func (k *Client) StatusCode() int
- func (k *Client) UpdateAPI(payload APICreateBody) (APIResponse, error)
- func (k *Client) UpdateConsumer(payload ConsumersCreateBody) (ConsumersResponse, error)
- func (k *Client) UpdateRoute(payload RouteCreateBody, serviceId string) (RouteResponse, error)
- func (k *Client) UpdateService(payload ServiceCreateBody) (ServiceResponse, error)
- type ClientCertificate
- type ClusterResponse
- type ClusterStatusNew
- type ClusterStatusOld
- type ConsumerAclBody
- type ConsumerAclResponse
- type ConsumerRequestVX
- type ConsumersCreateBody
- type ConsumersListResponse
- type ConsumersResponse
- type EnabledPluginsResponse
- type FailureMessage
- type Headers
- type KeyAuthData
- type PluginsCreateBody
- type PluginsListResponse
- type PluginsResponse
- type RouteCreateBody
- type RouteListResponse
- type RouteResponse
- type Service
- type ServiceCreateBody
- type ServiceListResponse
- type ServiceResponse
- type TimeStamp
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APICreateBody ¶
type APICreateBody struct {
Name string `json:"name,omitempty"`
RequestPath string `json:"request_path,omitempty"`
Upstream string `json:"upstream_url,omitempty"`
Preserve bool `json:"preserve_host,omitempty"`
StripPath bool `json:"strip_request_path,omitempty"`
}
APICreateBody Holds data for Create API requests
type APIListResponse ¶
type APIListResponse struct {
Data []APIResponse `json:"data,omitempty"`
Next string `json:"next,omitempty"`
Total int `json:"total,omitempty"`
}
APIListResponse holds ...
type APIRequestVX ¶
APIRequestVX holds Kong < 0.14.x API Request data
type APIResponse ¶
type APIResponse struct {
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
RequestPath string `json:"request_path,omitempty"`
Upstream string `json:"upstream_url,omitempty"`
Preserve bool `json:"preserve_host,omitempty"`
Created int64 `json:"created_at,omitempty"`
StripPath bool `json:"strip_request_path,omitempty"`
}
APIResponse Holds Kong < v0.14 API Response
type BasicKeyAuth ¶
type BasicKeyAuth struct {
Data []KeyAuthData `json:"data,omitempty"`
Total int `json:"total,omitempty"`
}
BasicKeyAuth holds ...
type Client ¶
type Client struct {
KongVersion int
// contains filtered or unexported fields
}
Client Abstraction, implements all base operations against a Kong's server via a Requist instance
func NewClientFromElements ¶
NewClientFromElements ...
func (*Client) CheckStatus ¶
CheckStatus returns some metrics from KongAPI server
func (*Client) CreateAPI ¶
func (k *Client) CreateAPI(payload APICreateBody) (APIResponse, error)
CreateAPI ...
func (*Client) CreateConsumer ¶
func (k *Client) CreateConsumer(payload ConsumersCreateBody) (ConsumersResponse, error)
func (*Client) CreatePluginOnApi ¶
func (k *Client) CreatePluginOnApi(apiId string, payload PluginsCreateBody) error
CreatePluginOnApi
func (*Client) CreatePluginOnService ¶
func (k *Client) CreatePluginOnService(serviceId string, payload PluginsCreateBody) error
CreatePluginOnService
func (*Client) CreateRouteOnService ¶
func (k *Client) CreateRouteOnService(serviceId string, payload RouteCreateBody) (RouteResponse, error)
CreateRoute
func (*Client) CreateService ¶
func (k *Client) CreateService(payload ServiceCreateBody) (ServiceResponse, error)
CreateService
func (*Client) DeleteConsumer ¶
func (k *Client) DeleteConsumer(payload ConsumersCreateBody) error
func (*Client) DeleteRoute ¶
func (k *Client) DeleteRoute(payload RouteCreateBody, serviceId string) error
DeleteRoute
func (*Client) DeleteService ¶
func (k *Client) DeleteService(payload ServiceCreateBody) error
DeleteService
func (*Client) ExistConsumer ¶
ExistConsumer ...
func (*Client) GetApiPlugins ¶
func (k *Client) GetApiPlugins(apiId string) (map[string]PluginsResponse, error)
GetApiPlugins
func (*Client) GetConsumerKeyAuth ¶
func (k *Client) GetConsumerKeyAuth(consumer string) (map[string]BasicKeyAuth, error)
GetConsumerKeyAuth ...
func (*Client) GetServicePlugins ¶
func (k *Client) GetServicePlugins(serviceId string) (map[string]PluginsResponse, error)
GetServicePlugins
func (*Client) ListAPIs ¶
func (k *Client) ListAPIs(param string) (map[string]APIResponse, error)
ShowAPI ...
func (*Client) ListConsumer ¶
func (k *Client) ListConsumer(param string) (map[string]ConsumersResponse, error)
ShowConsumer ...
func (*Client) ListServiceRoutes ¶
func (k *Client) ListServiceRoutes(serviceId, routeId string) (map[string]RouteResponse, error)
ShowRoute
func (*Client) ListServices ¶
func (k *Client) ListServices(param string) (map[string]ServiceResponse, error)
ShowService
func (*Client) SetBasicAuth ¶
SetBasicAuth update user and pass
func (*Client) SetConsumerAcl ¶
SetConsumerKeyAuth ...
func (*Client) SetConsumerKeyAuth ¶
SetConsumerKeyAuth ...
func (*Client) StatusCode ¶
StatusCode returns resultcode from last request
func (*Client) UpdateAPI ¶
func (k *Client) UpdateAPI(payload APICreateBody) (APIResponse, error)
UpdateAPI ...
func (*Client) UpdateConsumer ¶
func (k *Client) UpdateConsumer(payload ConsumersCreateBody) (ConsumersResponse, error)
func (*Client) UpdateRoute ¶
func (k *Client) UpdateRoute(payload RouteCreateBody, serviceId string) (RouteResponse, error)
UpdateRoute
func (*Client) UpdateService ¶
func (k *Client) UpdateService(payload ServiceCreateBody) (ServiceResponse, error)
UpdateService
type ClientCertificate ¶
type ClientCertificate struct {
ID string `json:"id"`
}
ClientCertificate ..
type ClusterResponse ¶
type ClusterResponse struct {
Hostname string `json:"hostname,omitempty"`
LuaVersion string `json:"lua_version,omitempty"`
Configuration struct {
AdminIP string `json:"admin_ip,omitempty"`
AdminListen interface{} `json:"admin_listen,omitempty"`
AdminPort int `json:"admin_port,omitempty"`
AnonymousReports bool `json:"anonymous_reports,omitempty"`
CassandraConsistency string `json:"cassandra_consistency,omitempty"`
CassandraContactPoints []string `json:"cassandra_contact_points,omitempty"`
CassandraDataCenters []string `json:"cassandra_data_centers,omitempty"`
CassandraKeyspace string `json:"cassandra_keyspace,omitempty"`
CassandraPort int `json:"cassandra_port,omitempty"`
CassandraReplFactor int `json:"cassandra_repl_factor,omitempty"`
CassandraReplStrategy string `json:"cassandra_repl_strategy,omitempty"`
CassandraSsl bool `json:"cassandra_ssl,omitempty"`
CassandraSslVerify bool `json:"cassandra_ssl_verify,omitempty"`
CassandraTimeout int `json:"cassandra_timeout,omitempty"`
CassandraUsername string `json:"cassandra_username,omitempty"`
ClusterListen interface{} `json:"cluster_listen,omitempty"`
ClusterListenRPC string `json:"cluster_listen_rpc,omitempty"`
ClusterProfile string `json:"cluster_profile,omitempty"`
ClusterTTLOnFailure int `json:"cluster_ttl_on_failure,omitempty"`
Database string `json:"database,omitempty"`
Dnsmasq bool `json:"dnsmasq,omitempty"`
DnsmasqPid string `json:"dnsmasq_pid,omitempty"`
DnsmasqPort int `json:"dnsmasq_port,omitempty"`
KongConf string `json:"kong_conf,omitempty"`
LogLevel string `json:"log_level,omitempty"`
LuaCodeCache string `json:"lua_code_cache,omitempty"`
LuaPackageCpath string `json:"lua_package_cpath,omitempty"`
LuaPackagePath string `json:"lua_package_path,omitempty"`
LuaSslVerifyDepth int `json:"lua_ssl_verify_depth,omitempty"`
MemCacheSize string `json:"mem_cache_size,omitempty"`
NginxAccLogs string `json:"nginx_acc_logs,omitempty"`
NginxConf string `json:"nginx_conf,omitempty"`
NginxDaemon string `json:"nginx_daemon,omitempty"`
NginxErrLogs string `json:"nginx_err_logs,omitempty"`
NginxKongConf string `json:"nginx_kong_conf,omitempty"`
NginxOptimizations bool `json:"nginx_optimizations,omitempty"`
NginxPid string `json:"nginx_pid,omitempty"`
NginxWorkerProcesses string `json:"nginx_worker_processes,omitempty"`
PgDatabase string `json:"pg_database,omitempty"`
PgHost string `json:"pg_host,omitempty"`
PgPassword string `json:"pg_password,omitempty"`
PgPort int `json:"pg_port,omitempty"`
PgSsl bool `json:"pg_ssl,omitempty"`
PgSslVerify bool `json:"pg_ssl_verify,omitempty"`
PgUser string `json:"pg_user,omitempty"`
Plugins interface{} `json:"plugins,omitempty"`
Prefix string `json:"prefix,omitempty"`
ProxyIP string `json:"proxy_ip,omitempty"`
ProxyListen interface{} `json:"proxy_listen,omitempty"`
ProxyListenSsl interface{} `json:"proxy_listen_ssl,omitempty"`
ProxyPort int `json:"proxy_port,omitempty"`
ProxySslIP string `json:"proxy_ssl_ip,omitempty"`
ProxySslPort int `json:"proxy_ssl_port,omitempty"`
SerfEvent string `json:"serf_event,omitempty"`
SerfLog string `json:"serf_log,omitempty"`
SerfNodeID string `json:"serf_node_id,omitempty"`
SerfPath string `json:"serf_path,omitempty"`
SerfPid string `json:"serf_pid,omitempty"`
Ssl bool `json:"ssl,omitempty"`
SslCert string `json:"ssl_cert,omitempty"`
SslCertCsrDefault string `json:"ssl_cert_csr_default,omitempty"`
SslCertDefault string `json:"ssl_cert_default,omitempty"`
SslCertKey string `json:"ssl_cert_key,omitempty"`
SslCertKeyDefault string `json:"ssl_cert_key_default,omitempty"`
} `json:"configuration,omitempty"`
Plugins struct {
AvailableOnServer interface{} `json:"available_on_server,omitempty"`
EnabledInCluster []string `json:"enabled_in_cluster,omitempty"`
} `json:"plugins,omitempty"`
Tagline string `json:"tagline,omitempty"`
Timers struct {
Pending int `json:"pending,omitempty"`
Running int `json:"running,omitempty"`
} `json:"timers,omitempty"`
Version string `json:"version,omitempty"`
}
ClusterResponse holds ...
type ClusterStatusNew ¶
type ClusterStatusNew struct {
Database struct {
Reachable bool `json:"reachable,omitempty"`
} `json:"database,omitempty"`
Server struct {
ConnectionsWriting int `json:"connections_writing,omitempty"`
TotalRequests int `json:"total_requests,omitempty"`
ConnectionsHandled int `json:"connections_handled,omitempty"`
ConnectionsAccepted int `json:"connections_accepted,omitempty"`
ConnectionsReading int `json:"connections_reading,omitempty"`
ConnectionsActive int `json:"connections_active,omitempty"`
ConnectionsWaiting int `json:"connections_waiting,omitempty"`
} `json:"server,omitempty"`
}
type ClusterStatusOld ¶
type ClusterStatusOld struct {
Server struct {
ConnectionsHandled int `json:"connections_handled"`
ConnectionsReading int `json:"connections_reading"`
ConnectionsActive int `json:"connections_active"`
TotalRequests int `json:"total_requests"`
ConnectionsAccepted int `json:"connections_accepted"`
ConnectionsWriting int `json:"connections_writing"`
ConnectionsWaiting int `json:"connections_waiting"`
} `json:"server"`
Database struct {
Oauth2Credentials int `json:"oauth2_credentials"`
JwtSecrets int `json:"jwt_secrets"`
ResponseRatelimitingMetrics int `json:"response_ratelimiting_metrics"`
KeyauthCredentials int `json:"keyauth_credentials"`
Oauth2AuthorizationCodes int `json:"oauth2_authorization_codes"`
Acls int `json:"acls"`
Apis int `json:"apis"`
BasicauthCredentials int `json:"basicauth_credentials"`
Consumers int `json:"consumers"`
RatelimitingMetrics int `json:"ratelimiting_metrics"`
Oauth2Tokens int `json:"oauth2_tokens"`
Nodes int `json:"nodes"`
HmacauthCredentials int `json:"hmacauth_credentials"`
Plugins int `json:"plugins"`
} `json:"database"`
}
type ConsumerAclBody ¶
type ConsumerAclBody struct {
Group string `json:"group,omitempty"`
}
ConsumerAclBody
type ConsumerAclResponse ¶
type ConsumerAclResponse struct {
ID string `json:"id,omitempty"`
Group string `json:"group,omitempty"`
Created int64 `json:"created_at,omitempty"`
ConsumerId int64 `json:"consumer_id,omitempty"`
}
ConsumerAclResponse
type ConsumerRequestVX ¶
type ConsumerRequestVX struct {
ID string `json:"id,omitempty"`
Username string `json:"username,omitempty"`
}
ConsumerRequestVX holds Kong < 0.14.x Consumer Request data
type ConsumersCreateBody ¶
type ConsumersCreateBody struct {
Username string `json:"username,omitempty"`
CustomID string `json:"custom_id,omitempty"`
Tags []string `json:"tags,omitempty"`
}
ConsumersCreateBody holds ...
type ConsumersListResponse ¶
type ConsumersListResponse struct {
Data []ConsumersResponse `json:"data,omitempty"`
Next string `json:"next,omitempty"`
Total int `json:"total,omitempty"`
}
ConsumersListResponse holds ...
type ConsumersResponse ¶
type ConsumersResponse struct {
ID string `json:"id,omitempty"`
Username string `json:"username,omitempty"`
CreatedAt int64 `json:"created_at,omitempty"`
CustomID string `json:"custom_id"`
Tags []string `json:"tags"`
}
ConsumersResponse holds ...
type EnabledPluginsResponse ¶
type EnabledPluginsResponse struct {
EnabledPlugins []string `json:"enabled_plugins"`
}
EnabledPluginsResponse holds ...
type FailureMessage ¶
type FailureMessage struct {
Message string `json:"message,omitempty"`
}
FailureMessage ...
type KeyAuthData ¶
type KeyAuthData struct {
CreatedAt int64 `json:"created_at,omitempty"`
ConsumerID string `json:"consumer_id,omitempty"`
Key string `json:"key,omitempty"`
ID string `json:"id,omitempty"`
}
KeyAuthData
type PluginsCreateBody ¶
type PluginsCreateBody struct {
Name string `json:"name,omitempty"`
Config interface{} `json:"config,omitempty"`
Enabled bool `json:"preserve_host,omitempty"`
}
PluginsResponse holds ...
type PluginsListResponse ¶
type PluginsListResponse struct {
Data []PluginsResponse `json:"data,omitempty"`
Next string `json:"next,omitempty"`
Total int `json:"total,omitempty"`
}
PluginsListResponse holds ...
type PluginsResponse ¶
type PluginsResponse struct {
ID string `json:"id"`
APIID string `json:"api_id,omitempty"`
ConsumerID string `json:"consumer_id,omitempty"`
Name string `json:"name,omitempty"`
Config interface{} `json:"config,omitempty"`
Enabled bool `json:"preserve_host,omitempty"`
Created int64 `json:"created_at,omitempty"`
}
PluginsResponse holds ...
type RouteCreateBody ¶
type RouteCreateBody struct {
Name string `json:"name,omitempty"`
Protocols []string `json:"protocols,omitempty"`
Methods []string `json:"methods,omitempty"`
Hosts []string `json:"hosts,omitempty"`
Paths []string `json:"paths,omitempty"`
HTTPSRedirectStatusCode int `json:"https_redirect_status_code,omitempty"`
RegexPriority int `json:"regex_priority,omitempty"`
StripPath bool `json:"strip_path,omitempty"`
PreserveHost bool `json:"preserve_host,omitempty"`
Tags []string `json:"tags,omitempty"`
}
RouteCreateBody ...
type RouteListResponse ¶
type RouteListResponse struct {
Data []RouteResponse `json:"data"`
Next string `json:"next"`
Total int `json:"total"`
}
RouteListResponse ...
type RouteResponse ¶
type RouteResponse struct {
ID string `json:"id,omitempty"`
CreatedAt int `json:"created_at,omitempty"`
UpdatedAt int `json:"updated_at,omitempty"`
Name string `json:"name,omitempty"`
Protocols []string `json:"protocols,omitempty"`
Methods []string `json:"methods,omitempty"`
Hosts []string `json:"hosts,omitempty"`
Paths []string `json:"paths,omitempty"`
Headers Headers `json:"headers,omitempty"`
HTTPSRedirectStatusCode int `json:"https_redirect_status_code,omitempty"`
RegexPriority int `json:"regex_priority,omitempty"`
StripPath bool `json:"strip_path,omitempty"`
PreserveHost bool `json:"preserve_host,omitempty"`
Tags []string `json:"tags,omitempty"`
Service Service `json:"service,omitempty"`
}
RouteResponse ...
type ServiceCreateBody ¶
type ServiceCreateBody struct {
Name string `json:"name,omitempty"`
Url string `json:"url,omitempty"`
Retries int `json:"retries,omitempty"`
Protocol string `json:"protocol,omitempty"`
Host string `json:"host,omitempty"`
Port int `json:"port,omitempty"`
Path string `json:"path,omitempty"`
ConnectTimeout int `json:"connect_timeout,omitempty"`
WriteTimeout int `json:"write_timeout,omitempty"`
ReadTimeout int `json:"read_timeout,omitempty"`
Tags interface{} `json:"tags,omitempty"`
}
ServiceCreateBody
type ServiceListResponse ¶
type ServiceListResponse struct {
Data []ServiceResponse `json:"data"`
Next string `json:"next"`
Total int `json:"total"`
}
ServiceResponse
type ServiceResponse ¶
type ServiceResponse struct {
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
CreatedAt int `json:"created_at,omitempty"`
UpdatedAt int `json:"updated_at,omitempty"`
Retries int `json:"retries,omitempty"`
Protocol string `json:"protocol,omitempty"`
Host string `json:"host,omitempty"`
Port int `json:"port,omitempty"`
Path string `json:"path,omitempty"`
ConnectTimeout int `json:"connect_timeout"`
WriteTimeout int `json:"write_timeout,omitempty"`
ReadTimeout int `json:"read_timeout,omitempty"`
Tags []string `json:"tags,omitempty"`
ClientCertificate ClientCertificate `json:"client_certificate,omitempty"`
}
ServiceResponse