Add optional command rate limiter. Fixes #1445

This commit is contained in:
Paul Lorenz
2023-10-19 17:50:30 -04:00
parent 4d00e9a7c2
commit 9bed8a14a8
83 changed files with 3679 additions and 177 deletions
+36
View File
@@ -1,3 +1,37 @@
# Release 0.31.0
## What's New
* Rate limited for model changes
## Rate Limiter for Model Changes
To prevent the controller from being overwhelmed by a flood of changes, a rate limiter
can be enabled in the configuration file. A maximum number of queued changes can also
be configured. The rate limited is disabled by default for now. If not specified the
default number of queued changes is 100.
When the rate limit is hit, an error will be returned. If the request came in from
the REST API, the response will use HTTP status code 429 (too many requests).
The OpenAPI specs have been updated, so if you're using a generated client to make
REST calls, it's recommened that you regenerate your client.
```
commandRateLimiter:
enabled: true
maxQueued: 100
```
## Component Updates and Bug Fixes
* github.com/openziti/agent: [v1.0.15 -> v1.0.16](https://github.com/openziti/agent/compare/v1.0.15...v1.0.16)
* github.com/openziti/ziti: [v0.30.5 -> v0.30.6](https://github.com/openziti/ziti/compare/v0.30.5...v0.30.6)
* [Issue #1445](https://github.com/openziti/ziti/issues/1445) - Add controller update guardrail
* [Issue #1442](https://github.com/openziti/ziti/issues/1442) - Network watchdog not shutting down when controller shuts down
# Release 0.30.5
## What's New
@@ -11,6 +45,7 @@ Currently only HTTP Connect proxies which don't require authentication are suppo
**Example using `host.v1`**
```
{
"address": "192.168.2.50",
"port": 1234,
@@ -20,6 +55,7 @@ Currently only HTTP Connect proxies which don't require authentication are suppo
"type": "http"
}
}
```
## Component Updates and Bug Fixes
+2 -2
View File
@@ -4,10 +4,10 @@ import (
"fmt"
openApiErrors "github.com/go-openapi/errors"
"github.com/michaelquigley/pfxlog"
"github.com/openziti/foundation/v2/errorz"
"github.com/openziti/ziti/controller/api"
apierror2 "github.com/openziti/ziti/controller/apierror"
"github.com/openziti/ziti/controller/rest_model"
"github.com/openziti/foundation/v2/errorz"
"net/http"
)
@@ -124,7 +124,7 @@ func ToRestModel(e *errorz.ApiError, requestId string) *rest_model.APIError {
ret.Code = errorz.CouldNotValidateCode
ret.Message = errorz.CouldNotValidateMessage
} else if genericErr, ok := e.Cause.(apierror2.GenericCauseError); ok {
} else if genericErr, ok := e.Cause.(*apierror2.GenericCauseError); ok {
ret.Cause = &rest_model.APIErrorCause{
APIError: rest_model.APIError{
Data: genericErr.DataMap,
+1 -1
View File
@@ -25,7 +25,7 @@ type GenericCauseError struct {
DataMap map[string]interface{}
}
func (e GenericCauseError) Error() string {
func (e *GenericCauseError) Error() string {
return e.Message
}
+8
View File
@@ -375,3 +375,11 @@ func NewEnrollmentExists(enrollmentMethod string) *errorz.ApiError {
AppendCause: true,
}
}
func NewTooManyUpdatesError() *errorz.ApiError {
return &errorz.ApiError{
Code: ServerTooManyRequestsCode,
Message: ServerTooManyRequestsMessage,
Status: ServerTooManyRequestsStatus,
}
}
+4
View File
@@ -194,4 +194,8 @@ const (
EnrollmentExistsCode string = "ENROLLMENT_EXISTS"
EnrollmentExistsMessage string = "ENROLLMENT_EXISTS"
EnrollmentExistsStatus int = http.StatusConflict
ServerTooManyRequestsCode string = "SERVER_TOO_MANY_REQUESTS"
ServerTooManyRequestsMessage string = "Too many requests to alter state have been issued. Please slow your request rate or try again later."
ServerTooManyRequestsStatus int = http.StatusTooManyRequests
)
+8 -4
View File
@@ -19,9 +19,9 @@ package command
import (
"github.com/michaelquigley/pfxlog"
"github.com/openziti/channel/v2"
"github.com/openziti/ziti/controller/change"
"github.com/openziti/foundation/v2/debugz"
"github.com/openziti/storage/boltz"
"github.com/openziti/ziti/controller/change"
"github.com/sirupsen/logrus"
"reflect"
)
@@ -56,6 +56,7 @@ type Dispatcher interface {
// LocalDispatcher should be used when running a non-clustered system
type LocalDispatcher struct {
EncodeDecodeCommands bool
Limiter RateLimiter
}
func (self *LocalDispatcher) IsLeaderOrLeaderless() bool {
@@ -82,7 +83,7 @@ func (self *LocalDispatcher) Dispatch(command Command) error {
if changeCtx == nil {
changeCtx = change.New().SetSourceType("unattributed").SetChangeAuthorType(change.AuthorTypeUnattributed)
}
ctx := changeCtx.NewMutateContext()
if self.EncodeDecodeCommands {
bytes, err := command.Encode()
if err != nil {
@@ -92,10 +93,13 @@ func (self *LocalDispatcher) Dispatch(command Command) error {
if err != nil {
return err
}
return cmd.Apply(ctx)
command = cmd
}
return command.Apply(ctx)
return self.Limiter.RunRateLimited(func() error {
ctx := changeCtx.NewMutateContext()
return command.Apply(ctx)
})
}
// Decoder instances know how to decode encoded commands
+129
View File
@@ -0,0 +1,129 @@
/*
Copyright NetFoundry Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package command
import (
"github.com/openziti/metrics"
"github.com/openziti/ziti/controller/apierror"
"github.com/pkg/errors"
"sync/atomic"
"time"
)
const (
MetricLimiterCurrentQueuedCount = "command.limiter.queued_count"
MetricLimiterWorkTimer = "command.limiter.work_timer"
DefaultLimiterSize = 100
MinLimiterSize = 10
)
type RateLimiterConfig struct {
Enabled bool
QueueSize uint32
}
func NewRateLimiter(config RateLimiterConfig, registry metrics.Registry, closeNotify <-chan struct{}) RateLimiter {
if !config.Enabled {
return NoOpRateLimiter{}
}
if config.QueueSize < MinLimiterSize {
config.QueueSize = MinLimiterSize
}
result := &DefaultRateLimiter{
queue: make(chan *rateLimitedWork, config.QueueSize),
closeNotify: closeNotify,
workRate: registry.Timer(MetricLimiterWorkTimer),
}
if existing := registry.GetGauge(MetricLimiterCurrentQueuedCount); existing != nil {
existing.Dispose()
}
registry.FuncGauge(MetricLimiterCurrentQueuedCount, func() int64 {
return int64(result.currentSize.Load())
})
go result.run()
return result
}
type RateLimiter interface {
RunRateLimited(func() error) error
}
type NoOpRateLimiter struct{}
func (self NoOpRateLimiter) RunRateLimited(f func() error) error {
return f()
}
type rateLimitedWork struct {
wrapped func() error
result chan error
}
type DefaultRateLimiter struct {
currentSize atomic.Int32
queue chan *rateLimitedWork
closeNotify <-chan struct{}
workRate metrics.Timer
}
func (self *DefaultRateLimiter) RunRateLimited(f func() error) error {
work := &rateLimitedWork{
wrapped: f,
result: make(chan error, 1),
}
select {
case self.queue <- work:
self.currentSize.Add(1)
select {
case result := <-work.result:
return result
case <-self.closeNotify:
return errors.New("rate limiter shutting down")
}
case <-self.closeNotify:
return errors.New("rate limiter shutting down")
default:
return apierror.NewTooManyUpdatesError()
}
}
func (self *DefaultRateLimiter) run() {
defer self.workRate.Dispose()
for {
select {
case work := <-self.queue:
self.currentSize.Add(-1)
startTime := time.Now()
result := work.wrapped()
self.workRate.UpdateSince(startTime)
if result != nil {
work.result <- result
}
close(work.result)
case <-self.closeNotify:
return
}
}
}
+32 -4
View File
@@ -24,18 +24,20 @@ import (
"github.com/hashicorp/go-hclog"
"github.com/michaelquigley/pfxlog"
"github.com/openziti/channel/v2"
"github.com/openziti/identity"
"github.com/openziti/storage/boltz"
"github.com/openziti/transport/v2"
"github.com/openziti/ziti/common/config"
"github.com/openziti/ziti/common/pb/ctrl_pb"
"github.com/openziti/ziti/common/pb/mgmt_pb"
"github.com/openziti/ziti/controller/command"
"github.com/openziti/ziti/controller/db"
"github.com/openziti/ziti/controller/network"
"github.com/openziti/ziti/controller/raft"
"github.com/openziti/ziti/router/xgress"
"github.com/openziti/identity"
"github.com/openziti/storage/boltz"
"github.com/openziti/transport/v2"
"github.com/pkg/errors"
"gopkg.in/yaml.v2"
"math"
"os"
"strings"
"time"
@@ -78,7 +80,8 @@ type Config struct {
InitialDelay time.Duration
}
}
src map[interface{}]interface{}
CommandRateLimiter command.RateLimiterConfig
src map[interface{}]interface{}
}
// CtrlOptions extends channel.Options to include support for additional, non-channel specific options
@@ -459,6 +462,31 @@ func LoadConfig(path string) (*Config, error) {
}
}
controllerConfig.CommandRateLimiter.QueueSize = command.DefaultLimiterSize
if value, found := cfgmap["commandRateLimiter"]; found {
if submap, ok := value.(map[interface{}]interface{}); ok {
if value, found := submap["enabled"]; found {
controllerConfig.CommandRateLimiter.Enabled = strings.EqualFold("true", fmt.Sprintf("%v", value))
}
if value, found := submap["maxQueued"]; found {
if intVal, ok := value.(int); ok {
v := int64(intVal)
if v < command.MinLimiterSize {
return nil, errors.Errorf("invalid value %v for commandRateLimiter, must be at least %v", value, command.MinLimiterSize)
}
if v > math.MaxUint32 {
return nil, errors.Errorf("invalid value %v for commandRateLimiter, must be at most %v", value, int64(math.MaxUint32))
}
controllerConfig.CommandRateLimiter.QueueSize = uint32(v)
} else {
return nil, errors.Errorf("invalid value %v for commandRateLimiter, must be integer value", value)
}
}
}
}
return controllerConfig, nil
}
+21 -7
View File
@@ -22,12 +22,12 @@ import (
"crypto/x509"
"encoding/json"
"fmt"
"github.com/openziti/transport/v2"
"github.com/openziti/ziti/common/capabilities"
"github.com/openziti/ziti/common/config"
"github.com/openziti/ziti/controller/event"
"github.com/openziti/ziti/controller/events"
"github.com/openziti/ziti/controller/handler_peer_ctrl"
"github.com/openziti/transport/v2"
"math/big"
"os"
"sync/atomic"
@@ -39,6 +39,11 @@ import (
"github.com/michaelquigley/pfxlog"
"github.com/openziti/channel/v2"
"github.com/openziti/channel/v2/protobufs"
"github.com/openziti/foundation/v2/versions"
"github.com/openziti/identity"
"github.com/openziti/metrics"
"github.com/openziti/storage/boltz"
"github.com/openziti/xweb/v2"
"github.com/openziti/ziti/common/health"
fabricMetrics "github.com/openziti/ziti/common/metrics"
"github.com/openziti/ziti/common/pb/ctrl_pb"
@@ -55,11 +60,6 @@ import (
"github.com/openziti/ziti/controller/xt_random"
"github.com/openziti/ziti/controller/xt_smartrouting"
"github.com/openziti/ziti/controller/xt_weighted"
"github.com/openziti/foundation/v2/versions"
"github.com/openziti/identity"
"github.com/openziti/metrics"
"github.com/openziti/storage/boltz"
"github.com/openziti/xweb/v2"
"github.com/sirupsen/logrus"
)
@@ -67,6 +67,7 @@ type Controller struct {
config *Config
network *network.Network
raftController *raft.Controller
localDispatcher *command.LocalDispatcher
ctrlConnectHandler *handler_ctrl.ConnectHandler
xctrls []xctrl.Xctrl
xmgmts []xmgmt.Xmgmt
@@ -113,7 +114,16 @@ func (c *Controller) GetOptions() *network.Options {
func (c *Controller) GetCommandDispatcher() command.Dispatcher {
if c.raftController == nil {
return nil
if c.localDispatcher != nil {
return c.localDispatcher
}
devVersion := versions.MustParseSemVer("0.0.0")
version := versions.MustParseSemVer(c.GetVersionProvider().Version())
c.localDispatcher = &command.LocalDispatcher{
EncodeDecodeCommands: devVersion.Equals(version),
Limiter: command.NewRateLimiter(c.config.CommandRateLimiter, c.metricsRegistry, c.shutdownC),
}
return c.localDispatcher
}
return c.raftController
}
@@ -138,6 +148,10 @@ func (c *Controller) GetRaftConfig() *raft.Config {
return c.config.Raft
}
func (c *Controller) GetCommandRateLimiterConfig() command.RateLimiterConfig {
return c.config.CommandRateLimiter
}
func (c *Controller) RenderJsonConfig() (string, error) {
jsonMap, err := config.ToJsonCompatibleMap(c.config.src)
if err != nil {
+3 -3
View File
@@ -18,16 +18,16 @@ package model
import (
"github.com/michaelquigley/pfxlog"
"github.com/openziti/storage/ast"
"github.com/openziti/storage/boltz"
"github.com/openziti/ziti/common/pb/edge_cmd_pb"
"github.com/openziti/ziti/controller/persistence"
"github.com/openziti/ziti/controller/change"
"github.com/openziti/ziti/controller/command"
"github.com/openziti/ziti/controller/db"
"github.com/openziti/ziti/controller/fields"
"github.com/openziti/ziti/controller/models"
"github.com/openziti/ziti/controller/network"
"github.com/openziti/storage/ast"
"github.com/openziti/storage/boltz"
"github.com/openziti/ziti/controller/persistence"
"go.etcd.io/bbolt"
"google.golang.org/protobuf/proto"
)
+8 -6
View File
@@ -7,16 +7,16 @@ import (
"testing"
"time"
"github.com/openziti/ziti/controller/command"
"github.com/openziti/ziti/controller/db"
"github.com/openziti/ziti/controller/models"
"github.com/openziti/ziti/controller/xt"
"github.com/openziti/ziti/common/logcontext"
"github.com/openziti/foundation/v2/versions"
"github.com/openziti/identity"
"github.com/openziti/metrics"
"github.com/openziti/storage/boltz"
"github.com/openziti/transport/v2/tcp"
"github.com/openziti/ziti/common/logcontext"
"github.com/openziti/ziti/controller/command"
"github.com/openziti/ziti/controller/db"
"github.com/openziti/ziti/controller/models"
"github.com/openziti/ziti/controller/xt"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -64,7 +64,9 @@ func (self *testConfig) GetOptions() *Options {
}
func (self *testConfig) GetCommandDispatcher() command.Dispatcher {
return &command.LocalDispatcher{}
return &command.LocalDispatcher{
Limiter: command.NoOpRateLimiter{},
}
}
func (self *testConfig) GetDb() boltz.Db {
+3 -1
View File
@@ -72,7 +72,9 @@ func (self *testConfig) GetOptions() *network.Options {
}
func (self *testConfig) GetCommandDispatcher() command.Dispatcher {
return nil
return &command.LocalDispatcher{
Limiter: command.NoOpRateLimiter{},
}
}
func (self *testConfig) GetDb() boltz.Db {
+31 -13
View File
@@ -21,12 +21,12 @@ import (
"encoding/json"
"fmt"
"github.com/hashicorp/go-hclog"
"github.com/openziti/ziti/common/pb/cmd_pb"
"github.com/openziti/ziti/controller/event"
"github.com/openziti/ziti/controller/peermsg"
"github.com/openziti/foundation/v2/concurrenz"
"github.com/openziti/foundation/v2/versions"
"github.com/openziti/transport/v2"
"github.com/openziti/ziti/common/pb/cmd_pb"
"github.com/openziti/ziti/controller/event"
"github.com/openziti/ziti/controller/peermsg"
"os"
"path"
"reflect"
@@ -39,12 +39,12 @@ import (
raftboltdb "github.com/hashicorp/raft-boltdb"
"github.com/michaelquigley/pfxlog"
"github.com/openziti/channel/v2"
"github.com/openziti/ziti/controller/command"
"github.com/openziti/ziti/controller/raft/mesh"
"github.com/openziti/foundation/v2/errorz"
"github.com/openziti/identity"
"github.com/openziti/metrics"
"github.com/openziti/storage/boltz"
"github.com/openziti/ziti/controller/command"
"github.com/openziti/ziti/controller/raft/mesh"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
)
@@ -192,18 +192,21 @@ func newClusterState(isLeader, isReadWrite bool) ClusterState {
type Env interface {
GetId() *identity.TokenId
GetVersionProvider() versions.VersionProvider
GetCommandRateLimiterConfig() command.RateLimiterConfig
GetRaftConfig() *Config
GetMetricsRegistry() metrics.Registry
GetEventDispatcher() event.Dispatcher
GetCloseNotify() <-chan struct{}
}
func NewController(env Env, migrationMgr MigrationManager) *Controller {
result := &Controller{
env: env,
Config: env.GetRaftConfig(),
indexTracker: NewIndexTracker(),
migrationMgr: migrationMgr,
clusterEvents: make(chan raft.Observation, 16),
env: env,
Config: env.GetRaftConfig(),
indexTracker: NewIndexTracker(),
migrationMgr: migrationMgr,
clusterEvents: make(chan raft.Observation, 16),
commandRateLimiter: command.NewRateLimiter(env.GetCommandRateLimiterConfig(), env.GetMetricsRegistry(), env.GetCloseNotify()),
}
return result
}
@@ -224,6 +227,7 @@ type Controller struct {
clusterStateChangeHandlers concurrenz.CopyOnWriteSlice[func(event ClusterEvent, state ClusterState)]
isLeader atomic.Bool
clusterEvents chan raft.Observation
commandRateLimiter command.RateLimiter
}
func (self *Controller) RegisterClusterEventHandler(f func(event ClusterEvent, state ClusterState)) {
@@ -448,6 +452,7 @@ func (self *Controller) applyCommand(cmd command.Command) (uint64, error) {
if err != nil {
return 0, err
}
return self.ApplyEncodedCommand(encoded)
}
@@ -473,11 +478,24 @@ func (self *Controller) ApplyEncodedCommand(encoded []byte) (uint64, error) {
// ApplyWithTimeout applies the given command to the RAFT distributed log with the given timeout
func (self *Controller) ApplyWithTimeout(log []byte, timeout time.Duration) (interface{}, uint64, error) {
f := self.Raft.Apply(log, timeout)
if err := f.Error(); err != nil {
returnValue := atomic.Value{}
index := atomic.Uint64{}
err := self.commandRateLimiter.RunRateLimited(func() error {
f := self.Raft.Apply(log, timeout)
if err := f.Error(); err != nil {
return err
}
returnValue.Store(f.Response())
index.Store(f.Index())
return nil
})
if err != nil {
return nil, 0, err
}
return f.Response(), f.Index(), nil
return returnValue.Load(), index.Load(), nil
}
// Init sets up the Mesh and Raft instances
+2 -2
View File
@@ -20,9 +20,9 @@ import (
"fmt"
"github.com/go-openapi/errors"
"github.com/openziti/edge-api/rest_model"
"github.com/openziti/foundation/v2/errorz"
"github.com/openziti/ziti/controller/api"
"github.com/openziti/ziti/controller/apierror"
"github.com/openziti/foundation/v2/errorz"
"net/http"
)
@@ -110,7 +110,7 @@ func (self EdgeResponseMapper) toRestModel(e *errorz.ApiError, requestId string)
ret.Code = errorz.CouldNotValidateCode
ret.Message = errorz.CouldNotValidateMessage
} else if genericErr, ok := e.Cause.(apierror.GenericCauseError); ok {
} else if genericErr, ok := e.Cause.(*apierror.GenericCauseError); ok {
ret.Cause = &rest_model.APIErrorCause{
APIError: rest_model.APIError{
Data: genericErr.DataMap,
@@ -71,6 +71,12 @@ func (o *DeleteCircuitReader) ReadResponse(response runtime.ClientResponse, cons
return nil, err
}
return nil, result
case 429:
result := NewDeleteCircuitTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *DeleteCircuitConflict) readResponse(response runtime.ClientResponse, co
return nil
}
// NewDeleteCircuitTooManyRequests creates a DeleteCircuitTooManyRequests with default headers values
func NewDeleteCircuitTooManyRequests() *DeleteCircuitTooManyRequests {
return &DeleteCircuitTooManyRequests{}
}
/* DeleteCircuitTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DeleteCircuitTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DeleteCircuitTooManyRequests) Error() string {
return fmt.Sprintf("[DELETE /circuits/{id}][%d] deleteCircuitTooManyRequests %+v", 429, o.Payload)
}
func (o *DeleteCircuitTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DeleteCircuitTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *DetailCircuitReader) ReadResponse(response runtime.ClientResponse, cons
return nil, err
}
return nil, result
case 429:
result := NewDetailCircuitTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *DetailCircuitNotFound) readResponse(response runtime.ClientResponse, co
return nil
}
// NewDetailCircuitTooManyRequests creates a DetailCircuitTooManyRequests with default headers values
func NewDetailCircuitTooManyRequests() *DetailCircuitTooManyRequests {
return &DetailCircuitTooManyRequests{}
}
/* DetailCircuitTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DetailCircuitTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DetailCircuitTooManyRequests) Error() string {
return fmt.Sprintf("[GET /circuits/{id}][%d] detailCircuitTooManyRequests %+v", 429, o.Payload)
}
func (o *DetailCircuitTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DetailCircuitTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -59,6 +59,12 @@ func (o *ListCircuitsReader) ReadResponse(response runtime.ClientResponse, consu
return nil, err
}
return nil, result
case 429:
result := NewListCircuitsTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -127,3 +133,35 @@ func (o *ListCircuitsUnauthorized) readResponse(response runtime.ClientResponse,
return nil
}
// NewListCircuitsTooManyRequests creates a ListCircuitsTooManyRequests with default headers values
func NewListCircuitsTooManyRequests() *ListCircuitsTooManyRequests {
return &ListCircuitsTooManyRequests{}
}
/* ListCircuitsTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type ListCircuitsTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *ListCircuitsTooManyRequests) Error() string {
return fmt.Sprintf("[GET /circuits][%d] listCircuitsTooManyRequests %+v", 429, o.Payload)
}
func (o *ListCircuitsTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *ListCircuitsTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -59,6 +59,12 @@ func (o *DataIntegrityResultsReader) ReadResponse(response runtime.ClientRespons
return nil, err
}
return nil, result
case 429:
result := NewDataIntegrityResultsTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -127,3 +133,35 @@ func (o *DataIntegrityResultsUnauthorized) readResponse(response runtime.ClientR
return nil
}
// NewDataIntegrityResultsTooManyRequests creates a DataIntegrityResultsTooManyRequests with default headers values
func NewDataIntegrityResultsTooManyRequests() *DataIntegrityResultsTooManyRequests {
return &DataIntegrityResultsTooManyRequests{}
}
/* DataIntegrityResultsTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DataIntegrityResultsTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DataIntegrityResultsTooManyRequests) Error() string {
return fmt.Sprintf("[GET /database/data-integrity-results][%d] dataIntegrityResultsTooManyRequests %+v", 429, o.Payload)
}
func (o *DataIntegrityResultsTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DataIntegrityResultsTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -59,6 +59,12 @@ func (o *InspectReader) ReadResponse(response runtime.ClientResponse, consumer r
return nil, err
}
return nil, result
case 429:
result := NewInspectTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -127,3 +133,35 @@ func (o *InspectUnauthorized) readResponse(response runtime.ClientResponse, cons
return nil
}
// NewInspectTooManyRequests creates a InspectTooManyRequests with default headers values
func NewInspectTooManyRequests() *InspectTooManyRequests {
return &InspectTooManyRequests{}
}
/* InspectTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type InspectTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *InspectTooManyRequests) Error() string {
return fmt.Sprintf("[POST /inspections][%d] inspectTooManyRequests %+v", 429, o.Payload)
}
func (o *InspectTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *InspectTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *DeleteLinkReader) ReadResponse(response runtime.ClientResponse, consume
return nil, err
}
return nil, result
case 429:
result := NewDeleteLinkTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *DeleteLinkUnauthorized) readResponse(response runtime.ClientResponse, c
return nil
}
// NewDeleteLinkTooManyRequests creates a DeleteLinkTooManyRequests with default headers values
func NewDeleteLinkTooManyRequests() *DeleteLinkTooManyRequests {
return &DeleteLinkTooManyRequests{}
}
/* DeleteLinkTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DeleteLinkTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DeleteLinkTooManyRequests) Error() string {
return fmt.Sprintf("[DELETE /links/{id}][%d] deleteLinkTooManyRequests %+v", 429, o.Payload)
}
func (o *DeleteLinkTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DeleteLinkTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *DetailLinkReader) ReadResponse(response runtime.ClientResponse, consume
return nil, err
}
return nil, result
case 429:
result := NewDetailLinkTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *DetailLinkNotFound) readResponse(response runtime.ClientResponse, consu
return nil
}
// NewDetailLinkTooManyRequests creates a DetailLinkTooManyRequests with default headers values
func NewDetailLinkTooManyRequests() *DetailLinkTooManyRequests {
return &DetailLinkTooManyRequests{}
}
/* DetailLinkTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DetailLinkTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DetailLinkTooManyRequests) Error() string {
return fmt.Sprintf("[GET /links/{id}][%d] detailLinkTooManyRequests %+v", 429, o.Payload)
}
func (o *DetailLinkTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DetailLinkTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -59,6 +59,12 @@ func (o *ListLinksReader) ReadResponse(response runtime.ClientResponse, consumer
return nil, err
}
return nil, result
case 429:
result := NewListLinksTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -127,3 +133,35 @@ func (o *ListLinksUnauthorized) readResponse(response runtime.ClientResponse, co
return nil
}
// NewListLinksTooManyRequests creates a ListLinksTooManyRequests with default headers values
func NewListLinksTooManyRequests() *ListLinksTooManyRequests {
return &ListLinksTooManyRequests{}
}
/* ListLinksTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type ListLinksTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *ListLinksTooManyRequests) Error() string {
return fmt.Sprintf("[GET /links][%d] listLinksTooManyRequests %+v", 429, o.Payload)
}
func (o *ListLinksTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *ListLinksTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *PatchLinkReader) ReadResponse(response runtime.ClientResponse, consumer
return nil, err
}
return nil, result
case 429:
result := NewPatchLinkTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *PatchLinkNotFound) readResponse(response runtime.ClientResponse, consum
return nil
}
// NewPatchLinkTooManyRequests creates a PatchLinkTooManyRequests with default headers values
func NewPatchLinkTooManyRequests() *PatchLinkTooManyRequests {
return &PatchLinkTooManyRequests{}
}
/* PatchLinkTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type PatchLinkTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *PatchLinkTooManyRequests) Error() string {
return fmt.Sprintf("[PATCH /links/{id}][%d] patchLinkTooManyRequests %+v", 429, o.Payload)
}
func (o *PatchLinkTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *PatchLinkTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -59,6 +59,12 @@ func (o *RaftListMembersReader) ReadResponse(response runtime.ClientResponse, co
return nil, err
}
return nil, result
case 429:
result := NewRaftListMembersTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -127,3 +133,35 @@ func (o *RaftListMembersUnauthorized) readResponse(response runtime.ClientRespon
return nil
}
// NewRaftListMembersTooManyRequests creates a RaftListMembersTooManyRequests with default headers values
func NewRaftListMembersTooManyRequests() *RaftListMembersTooManyRequests {
return &RaftListMembersTooManyRequests{}
}
/* RaftListMembersTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type RaftListMembersTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *RaftListMembersTooManyRequests) Error() string {
return fmt.Sprintf("[GET /raft/list-members][%d] raftListMembersTooManyRequests %+v", 429, o.Payload)
}
func (o *RaftListMembersTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *RaftListMembersTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *CreateRouterReader) ReadResponse(response runtime.ClientResponse, consu
return nil, err
}
return nil, result
case 429:
result := NewCreateRouterTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *CreateRouterUnauthorized) readResponse(response runtime.ClientResponse,
return nil
}
// NewCreateRouterTooManyRequests creates a CreateRouterTooManyRequests with default headers values
func NewCreateRouterTooManyRequests() *CreateRouterTooManyRequests {
return &CreateRouterTooManyRequests{}
}
/* CreateRouterTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type CreateRouterTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *CreateRouterTooManyRequests) Error() string {
return fmt.Sprintf("[POST /routers][%d] createRouterTooManyRequests %+v", 429, o.Payload)
}
func (o *CreateRouterTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *CreateRouterTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *DeleteRouterReader) ReadResponse(response runtime.ClientResponse, consu
return nil, err
}
return nil, result
case 429:
result := NewDeleteRouterTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *DeleteRouterConflict) readResponse(response runtime.ClientResponse, con
return nil
}
// NewDeleteRouterTooManyRequests creates a DeleteRouterTooManyRequests with default headers values
func NewDeleteRouterTooManyRequests() *DeleteRouterTooManyRequests {
return &DeleteRouterTooManyRequests{}
}
/* DeleteRouterTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DeleteRouterTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DeleteRouterTooManyRequests) Error() string {
return fmt.Sprintf("[DELETE /routers/{id}][%d] deleteRouterTooManyRequests %+v", 429, o.Payload)
}
func (o *DeleteRouterTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DeleteRouterTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *DetailRouterReader) ReadResponse(response runtime.ClientResponse, consu
return nil, err
}
return nil, result
case 429:
result := NewDetailRouterTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *DetailRouterNotFound) readResponse(response runtime.ClientResponse, con
return nil
}
// NewDetailRouterTooManyRequests creates a DetailRouterTooManyRequests with default headers values
func NewDetailRouterTooManyRequests() *DetailRouterTooManyRequests {
return &DetailRouterTooManyRequests{}
}
/* DetailRouterTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DetailRouterTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DetailRouterTooManyRequests) Error() string {
return fmt.Sprintf("[GET /routers/{id}][%d] detailRouterTooManyRequests %+v", 429, o.Payload)
}
func (o *DetailRouterTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DetailRouterTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *ListRouterTerminatorsReader) ReadResponse(response runtime.ClientRespon
return nil, err
}
return nil, result
case 429:
result := NewListRouterTerminatorsTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *ListRouterTerminatorsUnauthorized) readResponse(response runtime.Client
return nil
}
// NewListRouterTerminatorsTooManyRequests creates a ListRouterTerminatorsTooManyRequests with default headers values
func NewListRouterTerminatorsTooManyRequests() *ListRouterTerminatorsTooManyRequests {
return &ListRouterTerminatorsTooManyRequests{}
}
/* ListRouterTerminatorsTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type ListRouterTerminatorsTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *ListRouterTerminatorsTooManyRequests) Error() string {
return fmt.Sprintf("[GET /routers/{id}/terminators][%d] listRouterTerminatorsTooManyRequests %+v", 429, o.Payload)
}
func (o *ListRouterTerminatorsTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *ListRouterTerminatorsTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -59,6 +59,12 @@ func (o *ListRoutersReader) ReadResponse(response runtime.ClientResponse, consum
return nil, err
}
return nil, result
case 429:
result := NewListRoutersTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -127,3 +133,35 @@ func (o *ListRoutersUnauthorized) readResponse(response runtime.ClientResponse,
return nil
}
// NewListRoutersTooManyRequests creates a ListRoutersTooManyRequests with default headers values
func NewListRoutersTooManyRequests() *ListRoutersTooManyRequests {
return &ListRoutersTooManyRequests{}
}
/* ListRoutersTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type ListRoutersTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *ListRoutersTooManyRequests) Error() string {
return fmt.Sprintf("[GET /routers][%d] listRoutersTooManyRequests %+v", 429, o.Payload)
}
func (o *ListRoutersTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *ListRoutersTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *PatchRouterReader) ReadResponse(response runtime.ClientResponse, consum
return nil, err
}
return nil, result
case 429:
result := NewPatchRouterTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *PatchRouterNotFound) readResponse(response runtime.ClientResponse, cons
return nil
}
// NewPatchRouterTooManyRequests creates a PatchRouterTooManyRequests with default headers values
func NewPatchRouterTooManyRequests() *PatchRouterTooManyRequests {
return &PatchRouterTooManyRequests{}
}
/* PatchRouterTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type PatchRouterTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *PatchRouterTooManyRequests) Error() string {
return fmt.Sprintf("[PATCH /routers/{id}][%d] patchRouterTooManyRequests %+v", 429, o.Payload)
}
func (o *PatchRouterTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *PatchRouterTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *UpdateRouterReader) ReadResponse(response runtime.ClientResponse, consu
return nil, err
}
return nil, result
case 429:
result := NewUpdateRouterTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *UpdateRouterNotFound) readResponse(response runtime.ClientResponse, con
return nil
}
// NewUpdateRouterTooManyRequests creates a UpdateRouterTooManyRequests with default headers values
func NewUpdateRouterTooManyRequests() *UpdateRouterTooManyRequests {
return &UpdateRouterTooManyRequests{}
}
/* UpdateRouterTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type UpdateRouterTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *UpdateRouterTooManyRequests) Error() string {
return fmt.Sprintf("[PUT /routers/{id}][%d] updateRouterTooManyRequests %+v", 429, o.Payload)
}
func (o *UpdateRouterTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *UpdateRouterTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *CreateServiceReader) ReadResponse(response runtime.ClientResponse, cons
return nil, err
}
return nil, result
case 429:
result := NewCreateServiceTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *CreateServiceUnauthorized) readResponse(response runtime.ClientResponse
return nil
}
// NewCreateServiceTooManyRequests creates a CreateServiceTooManyRequests with default headers values
func NewCreateServiceTooManyRequests() *CreateServiceTooManyRequests {
return &CreateServiceTooManyRequests{}
}
/* CreateServiceTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type CreateServiceTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *CreateServiceTooManyRequests) Error() string {
return fmt.Sprintf("[POST /services][%d] createServiceTooManyRequests %+v", 429, o.Payload)
}
func (o *CreateServiceTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *CreateServiceTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *DeleteServiceReader) ReadResponse(response runtime.ClientResponse, cons
return nil, err
}
return nil, result
case 429:
result := NewDeleteServiceTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *DeleteServiceConflict) readResponse(response runtime.ClientResponse, co
return nil
}
// NewDeleteServiceTooManyRequests creates a DeleteServiceTooManyRequests with default headers values
func NewDeleteServiceTooManyRequests() *DeleteServiceTooManyRequests {
return &DeleteServiceTooManyRequests{}
}
/* DeleteServiceTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DeleteServiceTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DeleteServiceTooManyRequests) Error() string {
return fmt.Sprintf("[DELETE /services/{id}][%d] deleteServiceTooManyRequests %+v", 429, o.Payload)
}
func (o *DeleteServiceTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DeleteServiceTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *DetailServiceReader) ReadResponse(response runtime.ClientResponse, cons
return nil, err
}
return nil, result
case 429:
result := NewDetailServiceTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *DetailServiceNotFound) readResponse(response runtime.ClientResponse, co
return nil
}
// NewDetailServiceTooManyRequests creates a DetailServiceTooManyRequests with default headers values
func NewDetailServiceTooManyRequests() *DetailServiceTooManyRequests {
return &DetailServiceTooManyRequests{}
}
/* DetailServiceTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DetailServiceTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DetailServiceTooManyRequests) Error() string {
return fmt.Sprintf("[GET /services/{id}][%d] detailServiceTooManyRequests %+v", 429, o.Payload)
}
func (o *DetailServiceTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DetailServiceTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *ListServiceTerminatorsReader) ReadResponse(response runtime.ClientRespo
return nil, err
}
return nil, result
case 429:
result := NewListServiceTerminatorsTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *ListServiceTerminatorsUnauthorized) readResponse(response runtime.Clien
return nil
}
// NewListServiceTerminatorsTooManyRequests creates a ListServiceTerminatorsTooManyRequests with default headers values
func NewListServiceTerminatorsTooManyRequests() *ListServiceTerminatorsTooManyRequests {
return &ListServiceTerminatorsTooManyRequests{}
}
/* ListServiceTerminatorsTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type ListServiceTerminatorsTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *ListServiceTerminatorsTooManyRequests) Error() string {
return fmt.Sprintf("[GET /services/{id}/terminators][%d] listServiceTerminatorsTooManyRequests %+v", 429, o.Payload)
}
func (o *ListServiceTerminatorsTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *ListServiceTerminatorsTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -59,6 +59,12 @@ func (o *ListServicesReader) ReadResponse(response runtime.ClientResponse, consu
return nil, err
}
return nil, result
case 429:
result := NewListServicesTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -127,3 +133,35 @@ func (o *ListServicesUnauthorized) readResponse(response runtime.ClientResponse,
return nil
}
// NewListServicesTooManyRequests creates a ListServicesTooManyRequests with default headers values
func NewListServicesTooManyRequests() *ListServicesTooManyRequests {
return &ListServicesTooManyRequests{}
}
/* ListServicesTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type ListServicesTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *ListServicesTooManyRequests) Error() string {
return fmt.Sprintf("[GET /services][%d] listServicesTooManyRequests %+v", 429, o.Payload)
}
func (o *ListServicesTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *ListServicesTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *PatchServiceReader) ReadResponse(response runtime.ClientResponse, consu
return nil, err
}
return nil, result
case 429:
result := NewPatchServiceTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *PatchServiceNotFound) readResponse(response runtime.ClientResponse, con
return nil
}
// NewPatchServiceTooManyRequests creates a PatchServiceTooManyRequests with default headers values
func NewPatchServiceTooManyRequests() *PatchServiceTooManyRequests {
return &PatchServiceTooManyRequests{}
}
/* PatchServiceTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type PatchServiceTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *PatchServiceTooManyRequests) Error() string {
return fmt.Sprintf("[PATCH /services/{id}][%d] patchServiceTooManyRequests %+v", 429, o.Payload)
}
func (o *PatchServiceTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *PatchServiceTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *UpdateServiceReader) ReadResponse(response runtime.ClientResponse, cons
return nil, err
}
return nil, result
case 429:
result := NewUpdateServiceTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *UpdateServiceNotFound) readResponse(response runtime.ClientResponse, co
return nil
}
// NewUpdateServiceTooManyRequests creates a UpdateServiceTooManyRequests with default headers values
func NewUpdateServiceTooManyRequests() *UpdateServiceTooManyRequests {
return &UpdateServiceTooManyRequests{}
}
/* UpdateServiceTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type UpdateServiceTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *UpdateServiceTooManyRequests) Error() string {
return fmt.Sprintf("[PUT /services/{id}][%d] updateServiceTooManyRequests %+v", 429, o.Payload)
}
func (o *UpdateServiceTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *UpdateServiceTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *CreateTerminatorReader) ReadResponse(response runtime.ClientResponse, c
return nil, err
}
return nil, result
case 429:
result := NewCreateTerminatorTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *CreateTerminatorUnauthorized) readResponse(response runtime.ClientRespo
return nil
}
// NewCreateTerminatorTooManyRequests creates a CreateTerminatorTooManyRequests with default headers values
func NewCreateTerminatorTooManyRequests() *CreateTerminatorTooManyRequests {
return &CreateTerminatorTooManyRequests{}
}
/* CreateTerminatorTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type CreateTerminatorTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *CreateTerminatorTooManyRequests) Error() string {
return fmt.Sprintf("[POST /terminators][%d] createTerminatorTooManyRequests %+v", 429, o.Payload)
}
func (o *CreateTerminatorTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *CreateTerminatorTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *DeleteTerminatorReader) ReadResponse(response runtime.ClientResponse, c
return nil, err
}
return nil, result
case 429:
result := NewDeleteTerminatorTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *DeleteTerminatorConflict) readResponse(response runtime.ClientResponse,
return nil
}
// NewDeleteTerminatorTooManyRequests creates a DeleteTerminatorTooManyRequests with default headers values
func NewDeleteTerminatorTooManyRequests() *DeleteTerminatorTooManyRequests {
return &DeleteTerminatorTooManyRequests{}
}
/* DeleteTerminatorTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DeleteTerminatorTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DeleteTerminatorTooManyRequests) Error() string {
return fmt.Sprintf("[DELETE /terminators/{id}][%d] deleteTerminatorTooManyRequests %+v", 429, o.Payload)
}
func (o *DeleteTerminatorTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DeleteTerminatorTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *DetailTerminatorReader) ReadResponse(response runtime.ClientResponse, c
return nil, err
}
return nil, result
case 429:
result := NewDetailTerminatorTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *DetailTerminatorNotFound) readResponse(response runtime.ClientResponse,
return nil
}
// NewDetailTerminatorTooManyRequests creates a DetailTerminatorTooManyRequests with default headers values
func NewDetailTerminatorTooManyRequests() *DetailTerminatorTooManyRequests {
return &DetailTerminatorTooManyRequests{}
}
/* DetailTerminatorTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type DetailTerminatorTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *DetailTerminatorTooManyRequests) Error() string {
return fmt.Sprintf("[GET /terminators/{id}][%d] detailTerminatorTooManyRequests %+v", 429, o.Payload)
}
func (o *DetailTerminatorTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *DetailTerminatorTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -65,6 +65,12 @@ func (o *ListTerminatorsReader) ReadResponse(response runtime.ClientResponse, co
return nil, err
}
return nil, result
case 429:
result := NewListTerminatorsTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -165,3 +171,35 @@ func (o *ListTerminatorsUnauthorized) readResponse(response runtime.ClientRespon
return nil
}
// NewListTerminatorsTooManyRequests creates a ListTerminatorsTooManyRequests with default headers values
func NewListTerminatorsTooManyRequests() *ListTerminatorsTooManyRequests {
return &ListTerminatorsTooManyRequests{}
}
/* ListTerminatorsTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type ListTerminatorsTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *ListTerminatorsTooManyRequests) Error() string {
return fmt.Sprintf("[GET /terminators][%d] listTerminatorsTooManyRequests %+v", 429, o.Payload)
}
func (o *ListTerminatorsTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *ListTerminatorsTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *PatchTerminatorReader) ReadResponse(response runtime.ClientResponse, co
return nil, err
}
return nil, result
case 429:
result := NewPatchTerminatorTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *PatchTerminatorNotFound) readResponse(response runtime.ClientResponse,
return nil
}
// NewPatchTerminatorTooManyRequests creates a PatchTerminatorTooManyRequests with default headers values
func NewPatchTerminatorTooManyRequests() *PatchTerminatorTooManyRequests {
return &PatchTerminatorTooManyRequests{}
}
/* PatchTerminatorTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type PatchTerminatorTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *PatchTerminatorTooManyRequests) Error() string {
return fmt.Sprintf("[PATCH /terminators/{id}][%d] patchTerminatorTooManyRequests %+v", 429, o.Payload)
}
func (o *PatchTerminatorTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *PatchTerminatorTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
@@ -71,6 +71,12 @@ func (o *UpdateTerminatorReader) ReadResponse(response runtime.ClientResponse, c
return nil, err
}
return nil, result
case 429:
result := NewUpdateTerminatorTooManyRequests()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return nil, result
default:
return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
}
@@ -203,3 +209,35 @@ func (o *UpdateTerminatorNotFound) readResponse(response runtime.ClientResponse,
return nil
}
// NewUpdateTerminatorTooManyRequests creates a UpdateTerminatorTooManyRequests with default headers values
func NewUpdateTerminatorTooManyRequests() *UpdateTerminatorTooManyRequests {
return &UpdateTerminatorTooManyRequests{}
}
/* UpdateTerminatorTooManyRequests describes a response with status code 429, with default header values.
The resource requested is rate limited and the rate limit has been exceeded
*/
type UpdateTerminatorTooManyRequests struct {
Payload *rest_model.APIErrorEnvelope
}
func (o *UpdateTerminatorTooManyRequests) Error() string {
return fmt.Sprintf("[PUT /terminators/{id}][%d] updateTerminatorTooManyRequests %+v", 429, o.Payload)
}
func (o *UpdateTerminatorTooManyRequests) GetPayload() *rest_model.APIErrorEnvelope {
return o.Payload
}
func (o *UpdateTerminatorTooManyRequests) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(rest_model.APIErrorEnvelope)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
File diff suppressed because it is too large Load Diff
@@ -212,3 +212,47 @@ func (o *DeleteCircuitConflict) WriteResponse(rw http.ResponseWriter, producer r
}
}
}
// DeleteCircuitTooManyRequestsCode is the HTTP code returned for type DeleteCircuitTooManyRequests
const DeleteCircuitTooManyRequestsCode int = 429
/*DeleteCircuitTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response deleteCircuitTooManyRequests
*/
type DeleteCircuitTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDeleteCircuitTooManyRequests creates DeleteCircuitTooManyRequests with default headers values
func NewDeleteCircuitTooManyRequests() *DeleteCircuitTooManyRequests {
return &DeleteCircuitTooManyRequests{}
}
// WithPayload adds the payload to the delete circuit too many requests response
func (o *DeleteCircuitTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DeleteCircuitTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the delete circuit too many requests response
func (o *DeleteCircuitTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DeleteCircuitTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *DetailCircuitNotFound) WriteResponse(rw http.ResponseWriter, producer r
}
}
}
// DetailCircuitTooManyRequestsCode is the HTTP code returned for type DetailCircuitTooManyRequests
const DetailCircuitTooManyRequestsCode int = 429
/*DetailCircuitTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response detailCircuitTooManyRequests
*/
type DetailCircuitTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDetailCircuitTooManyRequests creates DetailCircuitTooManyRequests with default headers values
func NewDetailCircuitTooManyRequests() *DetailCircuitTooManyRequests {
return &DetailCircuitTooManyRequests{}
}
// WithPayload adds the payload to the detail circuit too many requests response
func (o *DetailCircuitTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DetailCircuitTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the detail circuit too many requests response
func (o *DetailCircuitTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DetailCircuitTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -124,3 +124,47 @@ func (o *ListCircuitsUnauthorized) WriteResponse(rw http.ResponseWriter, produce
}
}
}
// ListCircuitsTooManyRequestsCode is the HTTP code returned for type ListCircuitsTooManyRequests
const ListCircuitsTooManyRequestsCode int = 429
/*ListCircuitsTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response listCircuitsTooManyRequests
*/
type ListCircuitsTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewListCircuitsTooManyRequests creates ListCircuitsTooManyRequests with default headers values
func NewListCircuitsTooManyRequests() *ListCircuitsTooManyRequests {
return &ListCircuitsTooManyRequests{}
}
// WithPayload adds the payload to the list circuits too many requests response
func (o *ListCircuitsTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *ListCircuitsTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the list circuits too many requests response
func (o *ListCircuitsTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *ListCircuitsTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -124,3 +124,47 @@ func (o *DataIntegrityResultsUnauthorized) WriteResponse(rw http.ResponseWriter,
}
}
}
// DataIntegrityResultsTooManyRequestsCode is the HTTP code returned for type DataIntegrityResultsTooManyRequests
const DataIntegrityResultsTooManyRequestsCode int = 429
/*DataIntegrityResultsTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response dataIntegrityResultsTooManyRequests
*/
type DataIntegrityResultsTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDataIntegrityResultsTooManyRequests creates DataIntegrityResultsTooManyRequests with default headers values
func NewDataIntegrityResultsTooManyRequests() *DataIntegrityResultsTooManyRequests {
return &DataIntegrityResultsTooManyRequests{}
}
// WithPayload adds the payload to the data integrity results too many requests response
func (o *DataIntegrityResultsTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DataIntegrityResultsTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the data integrity results too many requests response
func (o *DataIntegrityResultsTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DataIntegrityResultsTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -124,3 +124,47 @@ func (o *InspectUnauthorized) WriteResponse(rw http.ResponseWriter, producer run
}
}
}
// InspectTooManyRequestsCode is the HTTP code returned for type InspectTooManyRequests
const InspectTooManyRequestsCode int = 429
/*InspectTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response inspectTooManyRequests
*/
type InspectTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewInspectTooManyRequests creates InspectTooManyRequests with default headers values
func NewInspectTooManyRequests() *InspectTooManyRequests {
return &InspectTooManyRequests{}
}
// WithPayload adds the payload to the inspect too many requests response
func (o *InspectTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *InspectTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the inspect too many requests response
func (o *InspectTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *InspectTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *DeleteLinkUnauthorized) WriteResponse(rw http.ResponseWriter, producer
}
}
}
// DeleteLinkTooManyRequestsCode is the HTTP code returned for type DeleteLinkTooManyRequests
const DeleteLinkTooManyRequestsCode int = 429
/*DeleteLinkTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response deleteLinkTooManyRequests
*/
type DeleteLinkTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDeleteLinkTooManyRequests creates DeleteLinkTooManyRequests with default headers values
func NewDeleteLinkTooManyRequests() *DeleteLinkTooManyRequests {
return &DeleteLinkTooManyRequests{}
}
// WithPayload adds the payload to the delete link too many requests response
func (o *DeleteLinkTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DeleteLinkTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the delete link too many requests response
func (o *DeleteLinkTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DeleteLinkTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *DetailLinkNotFound) WriteResponse(rw http.ResponseWriter, producer runt
}
}
}
// DetailLinkTooManyRequestsCode is the HTTP code returned for type DetailLinkTooManyRequests
const DetailLinkTooManyRequestsCode int = 429
/*DetailLinkTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response detailLinkTooManyRequests
*/
type DetailLinkTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDetailLinkTooManyRequests creates DetailLinkTooManyRequests with default headers values
func NewDetailLinkTooManyRequests() *DetailLinkTooManyRequests {
return &DetailLinkTooManyRequests{}
}
// WithPayload adds the payload to the detail link too many requests response
func (o *DetailLinkTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DetailLinkTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the detail link too many requests response
func (o *DetailLinkTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DetailLinkTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -124,3 +124,47 @@ func (o *ListLinksUnauthorized) WriteResponse(rw http.ResponseWriter, producer r
}
}
}
// ListLinksTooManyRequestsCode is the HTTP code returned for type ListLinksTooManyRequests
const ListLinksTooManyRequestsCode int = 429
/*ListLinksTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response listLinksTooManyRequests
*/
type ListLinksTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewListLinksTooManyRequests creates ListLinksTooManyRequests with default headers values
func NewListLinksTooManyRequests() *ListLinksTooManyRequests {
return &ListLinksTooManyRequests{}
}
// WithPayload adds the payload to the list links too many requests response
func (o *ListLinksTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *ListLinksTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the list links too many requests response
func (o *ListLinksTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *ListLinksTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *PatchLinkNotFound) WriteResponse(rw http.ResponseWriter, producer runti
}
}
}
// PatchLinkTooManyRequestsCode is the HTTP code returned for type PatchLinkTooManyRequests
const PatchLinkTooManyRequestsCode int = 429
/*PatchLinkTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response patchLinkTooManyRequests
*/
type PatchLinkTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewPatchLinkTooManyRequests creates PatchLinkTooManyRequests with default headers values
func NewPatchLinkTooManyRequests() *PatchLinkTooManyRequests {
return &PatchLinkTooManyRequests{}
}
// WithPayload adds the payload to the patch link too many requests response
func (o *PatchLinkTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *PatchLinkTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the patch link too many requests response
func (o *PatchLinkTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *PatchLinkTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -124,3 +124,47 @@ func (o *RaftListMembersUnauthorized) WriteResponse(rw http.ResponseWriter, prod
}
}
}
// RaftListMembersTooManyRequestsCode is the HTTP code returned for type RaftListMembersTooManyRequests
const RaftListMembersTooManyRequestsCode int = 429
/*RaftListMembersTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response raftListMembersTooManyRequests
*/
type RaftListMembersTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewRaftListMembersTooManyRequests creates RaftListMembersTooManyRequests with default headers values
func NewRaftListMembersTooManyRequests() *RaftListMembersTooManyRequests {
return &RaftListMembersTooManyRequests{}
}
// WithPayload adds the payload to the raft list members too many requests response
func (o *RaftListMembersTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *RaftListMembersTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the raft list members too many requests response
func (o *RaftListMembersTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *RaftListMembersTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *CreateRouterUnauthorized) WriteResponse(rw http.ResponseWriter, produce
}
}
}
// CreateRouterTooManyRequestsCode is the HTTP code returned for type CreateRouterTooManyRequests
const CreateRouterTooManyRequestsCode int = 429
/*CreateRouterTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response createRouterTooManyRequests
*/
type CreateRouterTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewCreateRouterTooManyRequests creates CreateRouterTooManyRequests with default headers values
func NewCreateRouterTooManyRequests() *CreateRouterTooManyRequests {
return &CreateRouterTooManyRequests{}
}
// WithPayload adds the payload to the create router too many requests response
func (o *CreateRouterTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *CreateRouterTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the create router too many requests response
func (o *CreateRouterTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *CreateRouterTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *DeleteRouterConflict) WriteResponse(rw http.ResponseWriter, producer ru
}
}
}
// DeleteRouterTooManyRequestsCode is the HTTP code returned for type DeleteRouterTooManyRequests
const DeleteRouterTooManyRequestsCode int = 429
/*DeleteRouterTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response deleteRouterTooManyRequests
*/
type DeleteRouterTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDeleteRouterTooManyRequests creates DeleteRouterTooManyRequests with default headers values
func NewDeleteRouterTooManyRequests() *DeleteRouterTooManyRequests {
return &DeleteRouterTooManyRequests{}
}
// WithPayload adds the payload to the delete router too many requests response
func (o *DeleteRouterTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DeleteRouterTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the delete router too many requests response
func (o *DeleteRouterTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DeleteRouterTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *DetailRouterNotFound) WriteResponse(rw http.ResponseWriter, producer ru
}
}
}
// DetailRouterTooManyRequestsCode is the HTTP code returned for type DetailRouterTooManyRequests
const DetailRouterTooManyRequestsCode int = 429
/*DetailRouterTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response detailRouterTooManyRequests
*/
type DetailRouterTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDetailRouterTooManyRequests creates DetailRouterTooManyRequests with default headers values
func NewDetailRouterTooManyRequests() *DetailRouterTooManyRequests {
return &DetailRouterTooManyRequests{}
}
// WithPayload adds the payload to the detail router too many requests response
func (o *DetailRouterTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DetailRouterTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the detail router too many requests response
func (o *DetailRouterTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DetailRouterTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *ListRouterTerminatorsUnauthorized) WriteResponse(rw http.ResponseWriter
}
}
}
// ListRouterTerminatorsTooManyRequestsCode is the HTTP code returned for type ListRouterTerminatorsTooManyRequests
const ListRouterTerminatorsTooManyRequestsCode int = 429
/*ListRouterTerminatorsTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response listRouterTerminatorsTooManyRequests
*/
type ListRouterTerminatorsTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewListRouterTerminatorsTooManyRequests creates ListRouterTerminatorsTooManyRequests with default headers values
func NewListRouterTerminatorsTooManyRequests() *ListRouterTerminatorsTooManyRequests {
return &ListRouterTerminatorsTooManyRequests{}
}
// WithPayload adds the payload to the list router terminators too many requests response
func (o *ListRouterTerminatorsTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *ListRouterTerminatorsTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the list router terminators too many requests response
func (o *ListRouterTerminatorsTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *ListRouterTerminatorsTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -124,3 +124,47 @@ func (o *ListRoutersUnauthorized) WriteResponse(rw http.ResponseWriter, producer
}
}
}
// ListRoutersTooManyRequestsCode is the HTTP code returned for type ListRoutersTooManyRequests
const ListRoutersTooManyRequestsCode int = 429
/*ListRoutersTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response listRoutersTooManyRequests
*/
type ListRoutersTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewListRoutersTooManyRequests creates ListRoutersTooManyRequests with default headers values
func NewListRoutersTooManyRequests() *ListRoutersTooManyRequests {
return &ListRoutersTooManyRequests{}
}
// WithPayload adds the payload to the list routers too many requests response
func (o *ListRoutersTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *ListRoutersTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the list routers too many requests response
func (o *ListRoutersTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *ListRoutersTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *PatchRouterNotFound) WriteResponse(rw http.ResponseWriter, producer run
}
}
}
// PatchRouterTooManyRequestsCode is the HTTP code returned for type PatchRouterTooManyRequests
const PatchRouterTooManyRequestsCode int = 429
/*PatchRouterTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response patchRouterTooManyRequests
*/
type PatchRouterTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewPatchRouterTooManyRequests creates PatchRouterTooManyRequests with default headers values
func NewPatchRouterTooManyRequests() *PatchRouterTooManyRequests {
return &PatchRouterTooManyRequests{}
}
// WithPayload adds the payload to the patch router too many requests response
func (o *PatchRouterTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *PatchRouterTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the patch router too many requests response
func (o *PatchRouterTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *PatchRouterTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *UpdateRouterNotFound) WriteResponse(rw http.ResponseWriter, producer ru
}
}
}
// UpdateRouterTooManyRequestsCode is the HTTP code returned for type UpdateRouterTooManyRequests
const UpdateRouterTooManyRequestsCode int = 429
/*UpdateRouterTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response updateRouterTooManyRequests
*/
type UpdateRouterTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewUpdateRouterTooManyRequests creates UpdateRouterTooManyRequests with default headers values
func NewUpdateRouterTooManyRequests() *UpdateRouterTooManyRequests {
return &UpdateRouterTooManyRequests{}
}
// WithPayload adds the payload to the update router too many requests response
func (o *UpdateRouterTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *UpdateRouterTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the update router too many requests response
func (o *UpdateRouterTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *UpdateRouterTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *CreateServiceUnauthorized) WriteResponse(rw http.ResponseWriter, produc
}
}
}
// CreateServiceTooManyRequestsCode is the HTTP code returned for type CreateServiceTooManyRequests
const CreateServiceTooManyRequestsCode int = 429
/*CreateServiceTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response createServiceTooManyRequests
*/
type CreateServiceTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewCreateServiceTooManyRequests creates CreateServiceTooManyRequests with default headers values
func NewCreateServiceTooManyRequests() *CreateServiceTooManyRequests {
return &CreateServiceTooManyRequests{}
}
// WithPayload adds the payload to the create service too many requests response
func (o *CreateServiceTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *CreateServiceTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the create service too many requests response
func (o *CreateServiceTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *CreateServiceTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *DeleteServiceConflict) WriteResponse(rw http.ResponseWriter, producer r
}
}
}
// DeleteServiceTooManyRequestsCode is the HTTP code returned for type DeleteServiceTooManyRequests
const DeleteServiceTooManyRequestsCode int = 429
/*DeleteServiceTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response deleteServiceTooManyRequests
*/
type DeleteServiceTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDeleteServiceTooManyRequests creates DeleteServiceTooManyRequests with default headers values
func NewDeleteServiceTooManyRequests() *DeleteServiceTooManyRequests {
return &DeleteServiceTooManyRequests{}
}
// WithPayload adds the payload to the delete service too many requests response
func (o *DeleteServiceTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DeleteServiceTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the delete service too many requests response
func (o *DeleteServiceTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DeleteServiceTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *DetailServiceNotFound) WriteResponse(rw http.ResponseWriter, producer r
}
}
}
// DetailServiceTooManyRequestsCode is the HTTP code returned for type DetailServiceTooManyRequests
const DetailServiceTooManyRequestsCode int = 429
/*DetailServiceTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response detailServiceTooManyRequests
*/
type DetailServiceTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDetailServiceTooManyRequests creates DetailServiceTooManyRequests with default headers values
func NewDetailServiceTooManyRequests() *DetailServiceTooManyRequests {
return &DetailServiceTooManyRequests{}
}
// WithPayload adds the payload to the detail service too many requests response
func (o *DetailServiceTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DetailServiceTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the detail service too many requests response
func (o *DetailServiceTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DetailServiceTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *ListServiceTerminatorsUnauthorized) WriteResponse(rw http.ResponseWrite
}
}
}
// ListServiceTerminatorsTooManyRequestsCode is the HTTP code returned for type ListServiceTerminatorsTooManyRequests
const ListServiceTerminatorsTooManyRequestsCode int = 429
/*ListServiceTerminatorsTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response listServiceTerminatorsTooManyRequests
*/
type ListServiceTerminatorsTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewListServiceTerminatorsTooManyRequests creates ListServiceTerminatorsTooManyRequests with default headers values
func NewListServiceTerminatorsTooManyRequests() *ListServiceTerminatorsTooManyRequests {
return &ListServiceTerminatorsTooManyRequests{}
}
// WithPayload adds the payload to the list service terminators too many requests response
func (o *ListServiceTerminatorsTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *ListServiceTerminatorsTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the list service terminators too many requests response
func (o *ListServiceTerminatorsTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *ListServiceTerminatorsTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -124,3 +124,47 @@ func (o *ListServicesUnauthorized) WriteResponse(rw http.ResponseWriter, produce
}
}
}
// ListServicesTooManyRequestsCode is the HTTP code returned for type ListServicesTooManyRequests
const ListServicesTooManyRequestsCode int = 429
/*ListServicesTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response listServicesTooManyRequests
*/
type ListServicesTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewListServicesTooManyRequests creates ListServicesTooManyRequests with default headers values
func NewListServicesTooManyRequests() *ListServicesTooManyRequests {
return &ListServicesTooManyRequests{}
}
// WithPayload adds the payload to the list services too many requests response
func (o *ListServicesTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *ListServicesTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the list services too many requests response
func (o *ListServicesTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *ListServicesTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *PatchServiceNotFound) WriteResponse(rw http.ResponseWriter, producer ru
}
}
}
// PatchServiceTooManyRequestsCode is the HTTP code returned for type PatchServiceTooManyRequests
const PatchServiceTooManyRequestsCode int = 429
/*PatchServiceTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response patchServiceTooManyRequests
*/
type PatchServiceTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewPatchServiceTooManyRequests creates PatchServiceTooManyRequests with default headers values
func NewPatchServiceTooManyRequests() *PatchServiceTooManyRequests {
return &PatchServiceTooManyRequests{}
}
// WithPayload adds the payload to the patch service too many requests response
func (o *PatchServiceTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *PatchServiceTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the patch service too many requests response
func (o *PatchServiceTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *PatchServiceTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *UpdateServiceNotFound) WriteResponse(rw http.ResponseWriter, producer r
}
}
}
// UpdateServiceTooManyRequestsCode is the HTTP code returned for type UpdateServiceTooManyRequests
const UpdateServiceTooManyRequestsCode int = 429
/*UpdateServiceTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response updateServiceTooManyRequests
*/
type UpdateServiceTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewUpdateServiceTooManyRequests creates UpdateServiceTooManyRequests with default headers values
func NewUpdateServiceTooManyRequests() *UpdateServiceTooManyRequests {
return &UpdateServiceTooManyRequests{}
}
// WithPayload adds the payload to the update service too many requests response
func (o *UpdateServiceTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *UpdateServiceTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the update service too many requests response
func (o *UpdateServiceTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *UpdateServiceTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *CreateTerminatorUnauthorized) WriteResponse(rw http.ResponseWriter, pro
}
}
}
// CreateTerminatorTooManyRequestsCode is the HTTP code returned for type CreateTerminatorTooManyRequests
const CreateTerminatorTooManyRequestsCode int = 429
/*CreateTerminatorTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response createTerminatorTooManyRequests
*/
type CreateTerminatorTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewCreateTerminatorTooManyRequests creates CreateTerminatorTooManyRequests with default headers values
func NewCreateTerminatorTooManyRequests() *CreateTerminatorTooManyRequests {
return &CreateTerminatorTooManyRequests{}
}
// WithPayload adds the payload to the create terminator too many requests response
func (o *CreateTerminatorTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *CreateTerminatorTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the create terminator too many requests response
func (o *CreateTerminatorTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *CreateTerminatorTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *DeleteTerminatorConflict) WriteResponse(rw http.ResponseWriter, produce
}
}
}
// DeleteTerminatorTooManyRequestsCode is the HTTP code returned for type DeleteTerminatorTooManyRequests
const DeleteTerminatorTooManyRequestsCode int = 429
/*DeleteTerminatorTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response deleteTerminatorTooManyRequests
*/
type DeleteTerminatorTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDeleteTerminatorTooManyRequests creates DeleteTerminatorTooManyRequests with default headers values
func NewDeleteTerminatorTooManyRequests() *DeleteTerminatorTooManyRequests {
return &DeleteTerminatorTooManyRequests{}
}
// WithPayload adds the payload to the delete terminator too many requests response
func (o *DeleteTerminatorTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DeleteTerminatorTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the delete terminator too many requests response
func (o *DeleteTerminatorTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DeleteTerminatorTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *DetailTerminatorNotFound) WriteResponse(rw http.ResponseWriter, produce
}
}
}
// DetailTerminatorTooManyRequestsCode is the HTTP code returned for type DetailTerminatorTooManyRequests
const DetailTerminatorTooManyRequestsCode int = 429
/*DetailTerminatorTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response detailTerminatorTooManyRequests
*/
type DetailTerminatorTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewDetailTerminatorTooManyRequests creates DetailTerminatorTooManyRequests with default headers values
func NewDetailTerminatorTooManyRequests() *DetailTerminatorTooManyRequests {
return &DetailTerminatorTooManyRequests{}
}
// WithPayload adds the payload to the detail terminator too many requests response
func (o *DetailTerminatorTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *DetailTerminatorTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the detail terminator too many requests response
func (o *DetailTerminatorTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *DetailTerminatorTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -168,3 +168,47 @@ func (o *ListTerminatorsUnauthorized) WriteResponse(rw http.ResponseWriter, prod
}
}
}
// ListTerminatorsTooManyRequestsCode is the HTTP code returned for type ListTerminatorsTooManyRequests
const ListTerminatorsTooManyRequestsCode int = 429
/*ListTerminatorsTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response listTerminatorsTooManyRequests
*/
type ListTerminatorsTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewListTerminatorsTooManyRequests creates ListTerminatorsTooManyRequests with default headers values
func NewListTerminatorsTooManyRequests() *ListTerminatorsTooManyRequests {
return &ListTerminatorsTooManyRequests{}
}
// WithPayload adds the payload to the list terminators too many requests response
func (o *ListTerminatorsTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *ListTerminatorsTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the list terminators too many requests response
func (o *ListTerminatorsTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *ListTerminatorsTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *PatchTerminatorNotFound) WriteResponse(rw http.ResponseWriter, producer
}
}
}
// PatchTerminatorTooManyRequestsCode is the HTTP code returned for type PatchTerminatorTooManyRequests
const PatchTerminatorTooManyRequestsCode int = 429
/*PatchTerminatorTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response patchTerminatorTooManyRequests
*/
type PatchTerminatorTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewPatchTerminatorTooManyRequests creates PatchTerminatorTooManyRequests with default headers values
func NewPatchTerminatorTooManyRequests() *PatchTerminatorTooManyRequests {
return &PatchTerminatorTooManyRequests{}
}
// WithPayload adds the payload to the patch terminator too many requests response
func (o *PatchTerminatorTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *PatchTerminatorTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the patch terminator too many requests response
func (o *PatchTerminatorTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *PatchTerminatorTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
@@ -212,3 +212,47 @@ func (o *UpdateTerminatorNotFound) WriteResponse(rw http.ResponseWriter, produce
}
}
}
// UpdateTerminatorTooManyRequestsCode is the HTTP code returned for type UpdateTerminatorTooManyRequests
const UpdateTerminatorTooManyRequestsCode int = 429
/*UpdateTerminatorTooManyRequests The resource requested is rate limited and the rate limit has been exceeded
swagger:response updateTerminatorTooManyRequests
*/
type UpdateTerminatorTooManyRequests struct {
/*
In: Body
*/
Payload *rest_model.APIErrorEnvelope `json:"body,omitempty"`
}
// NewUpdateTerminatorTooManyRequests creates UpdateTerminatorTooManyRequests with default headers values
func NewUpdateTerminatorTooManyRequests() *UpdateTerminatorTooManyRequests {
return &UpdateTerminatorTooManyRequests{}
}
// WithPayload adds the payload to the update terminator too many requests response
func (o *UpdateTerminatorTooManyRequests) WithPayload(payload *rest_model.APIErrorEnvelope) *UpdateTerminatorTooManyRequests {
o.Payload = payload
return o
}
// SetPayload sets the payload to the update terminator too many requests response
func (o *UpdateTerminatorTooManyRequests) SetPayload(payload *rest_model.APIErrorEnvelope) {
o.Payload = payload
}
// WriteResponse to the client
func (o *UpdateTerminatorTooManyRequests) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {
rw.WriteHeader(429)
if o.Payload != nil {
payload := o.Payload
if err := producer.Produce(rw, payload); err != nil {
panic(err) // let the recovery middleware deal with this
}
}
}
+80
View File
@@ -46,6 +46,9 @@ paths:
$ref: '#/responses/listServices'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
post:
summary: Create a service resource
description: Create a service resource. Requires admin access.
@@ -66,6 +69,9 @@ paths:
$ref: '#/responses/badRequestResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
'/services/{id}':
parameters:
- $ref: '#/parameters/id'
@@ -82,6 +88,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
put:
summary: Update all fields on a service
description: Update all fields on a service by id. Requires admin access.
@@ -104,6 +113,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
patch:
summary: Update the supplied fields on a service
description: Update the supplied fields on a service. Requires admin access.
@@ -126,6 +138,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
delete:
summary: Delete a service
description: Delete a service by id. Requires admin access.
@@ -141,6 +156,8 @@ paths:
$ref: '#/responses/unauthorizedResponse'
'409':
$ref: '#/responses/cannotDeleteReferencedResourceResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
'/services/{id}/terminators':
parameters:
@@ -163,6 +180,8 @@ paths:
$ref: '#/responses/unauthorizedResponse'
'400':
$ref: '#/responses/badRequestResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
###################################################################
# Routers
@@ -184,6 +203,9 @@ paths:
$ref: '#/responses/listRouters'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
post:
summary: Create a router resource
description: Create a router resource. Requires admin access.
@@ -204,6 +226,9 @@ paths:
$ref: '#/responses/badRequestResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
'/routers/{id}':
parameters:
- $ref: '#/parameters/id'
@@ -220,6 +245,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
put:
summary: Update all fields on a router
description: Update all fields on a router by id. Requires admin access.
@@ -242,6 +270,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
patch:
summary: Update the supplied fields on a router
description: Update the supplied fields on a router. Requires admin access.
@@ -264,6 +295,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
delete:
summary: Delete a router
description: Delete a router by id. Requires admin access.
@@ -279,6 +313,8 @@ paths:
$ref: '#/responses/unauthorizedResponse'
'409':
$ref: '#/responses/cannotDeleteReferencedResourceResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
'/routers/{id}/terminators':
parameters:
@@ -301,6 +337,8 @@ paths:
$ref: '#/responses/unauthorizedResponse'
'400':
$ref: '#/responses/badRequestResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
###################################################################
# Terminators
@@ -324,6 +362,9 @@ paths:
$ref: '#/responses/unauthorizedResponse'
'400':
$ref: '#/responses/badRequestResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
post:
summary: Create a terminator resource
description: Create a terminator resource. Requires admin access.
@@ -344,6 +385,9 @@ paths:
$ref: '#/responses/badRequestResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
'/terminators/{id}':
parameters:
- $ref: '#/parameters/id'
@@ -360,6 +404,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
put:
summary: Update all fields on a terminator
description: Update all fields on a terminator by id. Requires admin access.
@@ -382,6 +429,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
patch:
summary: Update the supplied fields on a terminator
description: Update the supplied fields on a terminator. Requires admin access.
@@ -404,6 +454,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
delete:
summary: Delete a terminator
description: Delete a terminator by id. Requires admin access.
@@ -419,6 +472,8 @@ paths:
$ref: '#/responses/unauthorizedResponse'
'409':
$ref: '#/responses/cannotDeleteReferencedResourceResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
###################################################################
# Links
@@ -436,6 +491,9 @@ paths:
$ref: '#/responses/listLinks'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
'/links/{id}':
parameters:
- $ref: '#/parameters/id'
@@ -452,6 +510,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
patch:
summary: Update the supplied fields on a link
description: Update the supplied fields on a link. Requires admin access.
@@ -474,6 +535,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
delete:
summary: Delete a link
description: Delete a link by id. Requires admin access.
@@ -487,6 +551,8 @@ paths:
$ref: '#/responses/badRequestResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
###################################################################
# Circuits
@@ -504,6 +570,9 @@ paths:
$ref: '#/responses/listCircuits'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
'/circuits/{id}':
parameters:
- $ref: '#/parameters/id'
@@ -520,6 +589,9 @@ paths:
$ref: '#/responses/notFoundResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
delete:
summary: Delete a circuit
description: Delete a circuit by id. Requires admin access.
@@ -542,6 +614,8 @@ paths:
$ref: '#/responses/unauthorizedResponse'
'409':
$ref: '#/responses/cannotDeleteReferencedResourceResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
###################################################################
# Inspections
@@ -566,6 +640,8 @@ paths:
$ref: '#/responses/inspectResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
###################################################################
# Database
@@ -653,6 +729,8 @@ paths:
$ref: '#/responses/dataIntegrityCheckResult'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
###################################################################
# Raft
@@ -669,6 +747,8 @@ paths:
$ref: '#/responses/raftListMembersResponse'
'401':
$ref: '#/responses/unauthorizedResponse'
'429':
$ref: '#/responses/rateLimitedResponse'
#######################################################################################################################
#
+4
View File
@@ -232,3 +232,7 @@ web:
options: { }
- binding: edge-client
options: { }
commandRateLimiter:
enabled: true
maxQueued: 100
+10 -11
View File
@@ -24,9 +24,9 @@ require (
github.com/go-openapi/strfmt v0.21.7
github.com/go-openapi/swag v0.22.4
github.com/go-openapi/validate v0.22.1
github.com/go-resty/resty/v2 v2.9.1
github.com/go-resty/resty/v2 v2.10.0
github.com/golang-jwt/jwt/v5 v5.0.0
github.com/google/go-cmp v0.5.9
github.com/google/go-cmp v0.6.0
github.com/google/gopacket v1.1.19
github.com/google/uuid v1.3.1
github.com/gorilla/handlers v1.5.1
@@ -46,15 +46,15 @@ require (
github.com/miekg/dns v1.1.56
github.com/mitchellh/mapstructure v1.5.0
github.com/natefinch/lumberjack v2.0.0+incompatible
github.com/openziti/agent v1.0.15
github.com/openziti/agent v1.0.16
github.com/openziti/channel/v2 v2.0.101
github.com/openziti/edge-api v0.25.38
github.com/openziti/edge-api v0.26.0
github.com/openziti/foundation/v2 v2.0.33
github.com/openziti/identity v1.0.64
github.com/openziti/jwks v1.0.3
github.com/openziti/metrics v1.2.36
github.com/openziti/runzmd v1.0.33
github.com/openziti/sdk-golang v0.20.122
github.com/openziti/sdk-golang v0.20.123
github.com/openziti/secretstream v0.1.12
github.com/openziti/storage v0.2.20
github.com/openziti/transport/v2 v2.0.109
@@ -95,7 +95,7 @@ require (
github.com/MichaelMure/go-term-markdown v0.1.4 // indirect
github.com/MichaelMure/go-term-text v0.3.1 // indirect
github.com/alecthomas/chroma v0.10.0 // indirect
github.com/andybalholm/brotli v1.0.5 // indirect
github.com/andybalholm/brotli v1.0.6 // indirect
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
github.com/armon/go-metrics v0.4.1 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
@@ -109,7 +109,7 @@ require (
github.com/docker/go-units v0.5.0 // indirect
github.com/eliukblau/pixterm/pkg/ansimage v0.0.0-20191210081756-9fb6cf8c2f75 // indirect
github.com/felixge/httpsnoop v1.0.1 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/go-jose/go-jose/v3 v3.0.0 // indirect
github.com/go-logr/logr v1.2.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
@@ -129,15 +129,14 @@ require (
github.com/josharian/intern v1.0.0 // indirect
github.com/josharian/native v1.1.0 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/klauspost/compress v1.17.0 // indirect
github.com/kr/pty v1.1.8 // indirect
github.com/kyokomi/emoji/v2 v2.2.12 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a // indirect
github.com/lufia/plan9stats v0.0.0-20231016141302-07b5767bb0ed // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.19 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.15 // indirect
github.com/mattn/go-tty v0.0.3 // indirect
github.com/mdlayher/socket v0.4.1 // indirect
@@ -187,5 +186,5 @@ require (
google.golang.org/appengine v1.6.7 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
nhooyr.io/websocket v1.8.7 // indirect
nhooyr.io/websocket v1.8.9 // indirect
)
+21 -54
View File
@@ -80,8 +80,8 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuy
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs=
github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI=
github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
@@ -192,16 +192,12 @@ github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiD
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU=
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA=
github.com/getkin/kin-openapi v0.13.0/go.mod h1:WGRs2ZMM1Q8LR1QBEwUxC6RJEfaBcD0s+pcEVXFuAjw=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14=
github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
github.com/go-acme/lego/v4 v4.14.2 h1:/D/jqRgLi8Cbk33sLGtu2pX2jEg3bGJWHyV8kFuUHGM=
github.com/go-acme/lego/v4 v4.14.2/go.mod h1:kBXxbeTg0x9AgaOYjPSwIeJy3Y33zTz+tMD16O4MO6c=
@@ -263,15 +259,8 @@ github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogB
github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
github.com/go-openapi/validate v0.22.1 h1:G+c2ub6q47kfX1sOBLwIQwzBVt8qmOAARyo/9Fqs9NU=
github.com/go-openapi/validate v0.22.1/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q=
github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no=
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY=
github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
github.com/go-resty/resty/v2 v2.9.1 h1:PIgGx4VrHvag0juCJ4dDv3MiFRlDmP0vicBucwf+gLM=
github.com/go-resty/resty/v2 v2.9.1/go.mod h1:4/GYJVjh9nhkhGR6AUNW3XhpDYNUr+Uvy9gV/VGZIy4=
github.com/go-resty/resty/v2 v2.10.0 h1:Qla4W/+TMmv0fOeeRqzEpXPLfTUnR5HZ1+lGs+CkiCo=
github.com/go-resty/resty/v2 v2.10.0/go.mod h1:iiP/OpA0CkcL3IGt1O0+/SIItFUbkkyw5BGXiVdTu+A=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
@@ -297,12 +286,6 @@ github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWe
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0=
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8=
github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo=
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
@@ -363,8 +346,9 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -404,7 +388,6 @@ github.com/gorilla/schema v1.2.0 h1:YufUaxZYCKGFuAq3c96BOhjgd5nmXiOY9NGzF247Tsc=
github.com/gorilla/schema v1.2.0/go.mod h1:kgLaKoK1FELgZqMAVxx/5cbj0kT+57qxUrAlIO2eleU=
github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ=
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
@@ -480,7 +463,6 @@ github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2C
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
@@ -494,10 +476,7 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM=
github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -519,8 +498,6 @@ github.com/kyokomi/emoji/v2 v2.2.12 h1:sSVA5nH9ebR3Zji1o31wu3yOwD1zKXQA2z0zUyeit
github.com/kyokomi/emoji/v2 v2.2.12/go.mod h1:JUcn42DTdsXJo1SWanHh4HKDEyPaR5CqkmoirZZP9qE=
github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g=
github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
github.com/lucas-clemente/quic-go v0.18.0/go.mod h1:yXttHsSNxQi8AWijC/vLP+OJczXqzHSOcJrM5ITUlCg=
github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
@@ -528,8 +505,8 @@ github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i
github.com/lucsky/cuid v1.2.1 h1:MtJrL2OFhvYufUIn48d35QGXyeTC8tn0upumW9WwTHg=
github.com/lucsky/cuid v1.2.1/go.mod h1:QaaJqckboimOmhRSJXSx/+IT+VTfxfPGSo/6mfgUfmE=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a h1:N9zuLhTvBSRt0gWSiJswwQ2HqDmtX/ZCDJURnKUt1Ik=
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a/go.mod h1:JKx41uQRwqlTZabZc+kILPrO/3jlKnQ2Z8b7YiVw5cE=
github.com/lufia/plan9stats v0.0.0-20231016141302-07b5767bb0ed h1:036IscGBfJsFIgJQzlui7nK1Ncm0tp2ktmPj8xO4N/0=
github.com/lufia/plan9stats v0.0.0-20231016141302-07b5767bb0ed/go.mod h1:ilwx/Dta8jXAgpFYFvSWEMwxmbWXyiUHkd5FwyKhb5k=
github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
@@ -567,8 +544,8 @@ github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOA
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
@@ -609,11 +586,9 @@ github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/muhlemmer/gu v0.3.1 h1:7EAqmFrW7n3hETvuAdmFmn4hS8W+z3LgKtrnow+YzNM=
github.com/muhlemmer/gu v0.3.1/go.mod h1:YHtHR+gxM+bKEIIs7Hmi9sPT3ZDUvTN/i88wQpZkrdM=
@@ -639,14 +614,14 @@ github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8=
github.com/openziti/agent v1.0.15 h1:NW4egpS3Mw1RQBZWfUEvrmBh9kn/SU/dU5fndsyyhZ4=
github.com/openziti/agent v1.0.15/go.mod h1:zfm53+PVWoGFzjGGgQdKby5749G6VRYHe+eQJmoVKy4=
github.com/openziti/agent v1.0.16 h1:9Saji+8hFE1NpzP2XzDhsVJbCrDlhixoLHfOpFt5Z+U=
github.com/openziti/agent v1.0.16/go.mod h1:zfm53+PVWoGFzjGGgQdKby5749G6VRYHe+eQJmoVKy4=
github.com/openziti/channel/v2 v2.0.101 h1:UaveW/ogYKVtCQZfwRoMhsZhj/tvs1bD7SvH0aLaYNw=
github.com/openziti/channel/v2 v2.0.101/go.mod h1:b9CBWpH6tnLqCHInDKL6AzMGqXdbEjsul3yVQUGENVU=
github.com/openziti/dilithium v0.3.3 h1:PLgQ6PMNLSTzCFbX/h98cmudgz/cU6TmjdSv5NAPD8k=
github.com/openziti/dilithium v0.3.3/go.mod h1:vsCjI2AU/hon9e+dLhUFbCNGesJDj2ASgkySOcpmvjo=
github.com/openziti/edge-api v0.25.38 h1:aijFEC4pMCi2gR6zL6FYQRkm59SQAwrF0tZS4LZsxi4=
github.com/openziti/edge-api v0.25.38/go.mod h1:5mmcMgqK1MsBb0K8V1CBfGbtRUji5KYdmhJJJkJBMqY=
github.com/openziti/edge-api v0.26.0 h1:082hXjj8rnyMBZHYiB6jb4n7mCXtdMXpF2iCqZOv4IM=
github.com/openziti/edge-api v0.26.0/go.mod h1:/e1pK92L471fvOAwE/hLX5sqBuuo+NwI8vmL04dUHsM=
github.com/openziti/foundation/v2 v2.0.33 h1:8CP+fi4KsmzA4jDi54jibwFWWxKpd0rSiplzN9Z0Isw=
github.com/openziti/foundation/v2 v2.0.33/go.mod h1:dWR0g3NOka3uKz9MgUHq6dmuRLmSvunkyeuOXEW/5qU=
github.com/openziti/identity v1.0.64 h1:HwALRY1J/rNNcIAlr1OwCwTHU/rlMRaUi5TXAfZotjw=
@@ -657,8 +632,8 @@ github.com/openziti/metrics v1.2.36 h1:oW5YM9H8IqtFuxIyo0rMC3mTpl3rdSnDKcHp+ZTn+
github.com/openziti/metrics v1.2.36/go.mod h1:fjYG6sUC/n6VXe0nZbYGEBaopbRThBo/3xt7o9VatRQ=
github.com/openziti/runzmd v1.0.33 h1:tOyjRoUuVXIo1z1pNU32jALWkMmhzsSaDrhLtuOn3Ts=
github.com/openziti/runzmd v1.0.33/go.mod h1:8c/uvZR/XWXQNllTq6LuTpfKL2DTNxfI2X2wYhgRwik=
github.com/openziti/sdk-golang v0.20.122 h1:fuxws2yFEFl4hdq4l96/N23ztC1oUiQIM/lePTI6rBY=
github.com/openziti/sdk-golang v0.20.122/go.mod h1:n6Ft+Gz7e2JO6DQ6Ixc9oIn06I1MjzkI3V9kilkOBIQ=
github.com/openziti/sdk-golang v0.20.123 h1:VD0xmA6fbiHZDtdQqTAKZeJ9prb66gyTVphjHSSoxlo=
github.com/openziti/sdk-golang v0.20.123/go.mod h1:AbQs2gfbVsmL7/xXA2VTqAc84dFeQsyVkWBeWKNd1d4=
github.com/openziti/secretstream v0.1.12 h1:N78CHxtqWzSyNFOsYtYRWNNTfX1ZDAPkFgzHobpodZU=
github.com/openziti/secretstream v0.1.12/go.mod h1:gHMH1REH0r4VlmCtuWx8biU7j5ZfOivFjz9mLgwq7mk=
github.com/openziti/storage v0.2.20 h1:xpLczyF/czIw76M4Rrt2urYn/EvGNor+SPzoixuOkLs=
@@ -858,10 +833,6 @@ github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+F
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
@@ -962,7 +933,6 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1065,7 +1035,6 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1181,7 +1150,6 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -1195,7 +1163,6 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1217,8 +1184,8 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1456,8 +1423,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g=
nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0=
nhooyr.io/websocket v1.8.9 h1:+U/9DCNIH1XnzrWKs7yZp4jO0e/m6mUEh2kRPKRQYeg=
nhooyr.io/websocket v1.8.9/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/goversion v1.2.0 h1:SPn+NLTiAG7w30IRK/DKp1BjvpWabYgxlLp/+kx5J8w=
rsc.io/goversion v1.2.0/go.mod h1:Eih9y/uIBS3ulggl7KNJ09xGSLcuNaLgmvvqa07sgfo=
+1 -1
View File
@@ -1 +1 @@
0.30
0.31
+7 -6
View File
@@ -18,6 +18,7 @@ package edge
import (
"fmt"
"github.com/openziti/ziti/controller/persistence"
"github.com/openziti/ziti/ziti/cmd/api"
cmdhelper "github.com/openziti/ziti/ziti/cmd/helpers"
"github.com/pkg/errors"
@@ -109,9 +110,9 @@ func runCreateIdentity(o *createIdentityOptions) error {
o.username = strings.TrimSpace(o.username)
if o.username != "" {
api.SetJSONValue(entityData, o.username, "enrollment", "updb")
api.SetJSONValue(entityData, o.username, "enrollment", persistence.MethodEnrollUpdb)
} else {
api.SetJSONValue(entityData, true, "enrollment", "ott")
api.SetJSONValue(entityData, true, "enrollment", persistence.MethodEnrollOtt)
}
api.SetJSONValue(entityData, o.isAdmin, "isAdmin")
api.SetJSONValue(entityData, o.roleAttributes, "roleAttributes")
@@ -183,9 +184,9 @@ func runCreateIdentity(o *createIdentityOptions) error {
if o.jwtOutputFile != "" {
id := result.S("data", "id").Data().(string)
enrollmentType := "ott"
enrollmentType := persistence.MethodEnrollOtt
if o.username != "" {
enrollmentType = "updb"
enrollmentType = persistence.MethodEnrollUpdb
}
if err = getIdentityJwt(&o.Options, id, o.jwtOutputFile, enrollmentType, o.Options.Timeout, o.Options.Verbose); err != nil {
return err
@@ -205,9 +206,9 @@ func getIdentityJwt(o *api.Options, id string, outputFile string, enrollmentType
}
var dataContainer *gabs.Container
if enrollmentType == "updb" {
if enrollmentType == persistence.MethodEnrollUpdb {
dataContainer = newIdentity.Path("enrollment.updb.jwt")
} else if enrollmentType == "ott" {
} else if enrollmentType == persistence.MethodEnrollOtt {
dataContainer = newIdentity.Path("enrollment.ott.jwt")
} else {
return errors.Errorf("unsupported enrollment type '%s'", enrollmentType)
+9 -10
View File
@@ -7,15 +7,15 @@ replace github.com/openziti/ziti => ../
require (
github.com/Jeffail/gabs v1.4.0
github.com/Jeffail/gabs/v2 v2.7.0
github.com/google/go-cmp v0.5.9
github.com/google/go-cmp v0.6.0
github.com/google/uuid v1.3.1
github.com/michaelquigley/pfxlog v0.6.10
github.com/openziti/agent v1.0.15
github.com/openziti/agent v1.0.16
github.com/openziti/channel/v2 v2.0.101
github.com/openziti/fablab v0.5.20
github.com/openziti/foundation/v2 v2.0.33
github.com/openziti/identity v1.0.64
github.com/openziti/sdk-golang v0.20.122
github.com/openziti/sdk-golang v0.20.123
github.com/openziti/storage v0.2.20
github.com/openziti/transport/v2 v2.0.109
github.com/openziti/ziti v0.28.3
@@ -36,7 +36,7 @@ require (
github.com/MichaelMure/go-term-markdown v0.1.4 // indirect
github.com/MichaelMure/go-term-text v0.3.1 // indirect
github.com/alecthomas/chroma v0.10.0 // indirect
github.com/andybalholm/brotli v1.0.5 // indirect
github.com/andybalholm/brotli v1.0.6 // indirect
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
github.com/armon/go-metrics v0.4.1 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
@@ -58,7 +58,7 @@ require (
github.com/emirpasic/gods v1.18.1 // indirect
github.com/fatih/color v1.15.0 // indirect
github.com/felixge/httpsnoop v1.0.1 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa // indirect
github.com/go-acme/lego/v4 v4.14.2 // indirect
github.com/go-jose/go-jose/v3 v3.0.0 // indirect
@@ -75,7 +75,7 @@ require (
github.com/go-openapi/strfmt v0.21.7 // indirect
github.com/go-openapi/swag v0.22.4 // indirect
github.com/go-openapi/validate v0.22.1 // indirect
github.com/go-resty/resty/v2 v2.9.1 // indirect
github.com/go-resty/resty/v2 v2.10.0 // indirect
github.com/golang-jwt/jwt/v5 v5.0.0 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/gomarkdown/markdown v0.0.0-20230922112808-5421fefb8386 // indirect
@@ -102,12 +102,11 @@ require (
github.com/josharian/native v1.1.0 // indirect
github.com/kataras/go-events v0.0.3 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/klauspost/compress v1.17.0 // indirect
github.com/kr/fs v0.1.0 // indirect
github.com/kyokomi/emoji/v2 v2.2.12 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/lucsky/cuid v1.2.1 // indirect
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a // indirect
github.com/lufia/plan9stats v0.0.0-20231016141302-07b5767bb0ed // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
@@ -129,7 +128,7 @@ require (
github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/openziti/dilithium v0.3.3 // indirect
github.com/openziti/edge-api v0.25.38 // indirect
github.com/openziti/edge-api v0.26.0 // indirect
github.com/openziti/jwks v1.0.3 // indirect
github.com/openziti/metrics v1.2.36 // indirect
github.com/openziti/runzmd v1.0.33 // indirect
@@ -194,6 +193,6 @@ require (
gopkg.in/resty.v1 v1.12.0 // indirect
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
nhooyr.io/websocket v1.8.7 // indirect
nhooyr.io/websocket v1.8.9 // indirect
rsc.io/goversion v1.2.0 // indirect
)
+19 -52
View File
@@ -80,8 +80,8 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuy
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs=
github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI=
github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
@@ -192,16 +192,12 @@ github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiD
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU=
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA=
github.com/getkin/kin-openapi v0.13.0/go.mod h1:WGRs2ZMM1Q8LR1QBEwUxC6RJEfaBcD0s+pcEVXFuAjw=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14=
github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
github.com/go-acme/lego/v4 v4.14.2 h1:/D/jqRgLi8Cbk33sLGtu2pX2jEg3bGJWHyV8kFuUHGM=
github.com/go-acme/lego/v4 v4.14.2/go.mod h1:kBXxbeTg0x9AgaOYjPSwIeJy3Y33zTz+tMD16O4MO6c=
@@ -263,15 +259,8 @@ github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogB
github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
github.com/go-openapi/validate v0.22.1 h1:G+c2ub6q47kfX1sOBLwIQwzBVt8qmOAARyo/9Fqs9NU=
github.com/go-openapi/validate v0.22.1/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q=
github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no=
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY=
github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
github.com/go-resty/resty/v2 v2.9.1 h1:PIgGx4VrHvag0juCJ4dDv3MiFRlDmP0vicBucwf+gLM=
github.com/go-resty/resty/v2 v2.9.1/go.mod h1:4/GYJVjh9nhkhGR6AUNW3XhpDYNUr+Uvy9gV/VGZIy4=
github.com/go-resty/resty/v2 v2.10.0 h1:Qla4W/+TMmv0fOeeRqzEpXPLfTUnR5HZ1+lGs+CkiCo=
github.com/go-resty/resty/v2 v2.10.0/go.mod h1:iiP/OpA0CkcL3IGt1O0+/SIItFUbkkyw5BGXiVdTu+A=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
@@ -297,12 +286,6 @@ github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWe
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0=
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8=
github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo=
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
@@ -363,8 +346,9 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -402,7 +386,6 @@ github.com/gorilla/schema v1.2.0 h1:YufUaxZYCKGFuAq3c96BOhjgd5nmXiOY9NGzF247Tsc=
github.com/gorilla/schema v1.2.0/go.mod h1:kgLaKoK1FELgZqMAVxx/5cbj0kT+57qxUrAlIO2eleU=
github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ=
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
@@ -484,7 +467,6 @@ github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2C
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
@@ -498,10 +480,7 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM=
github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -523,8 +502,6 @@ github.com/kyokomi/emoji/v2 v2.2.12 h1:sSVA5nH9ebR3Zji1o31wu3yOwD1zKXQA2z0zUyeit
github.com/kyokomi/emoji/v2 v2.2.12/go.mod h1:JUcn42DTdsXJo1SWanHh4HKDEyPaR5CqkmoirZZP9qE=
github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g=
github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
github.com/lucas-clemente/quic-go v0.18.0/go.mod h1:yXttHsSNxQi8AWijC/vLP+OJczXqzHSOcJrM5ITUlCg=
github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
@@ -532,8 +509,8 @@ github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i
github.com/lucsky/cuid v1.2.1 h1:MtJrL2OFhvYufUIn48d35QGXyeTC8tn0upumW9WwTHg=
github.com/lucsky/cuid v1.2.1/go.mod h1:QaaJqckboimOmhRSJXSx/+IT+VTfxfPGSo/6mfgUfmE=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a h1:N9zuLhTvBSRt0gWSiJswwQ2HqDmtX/ZCDJURnKUt1Ik=
github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a/go.mod h1:JKx41uQRwqlTZabZc+kILPrO/3jlKnQ2Z8b7YiVw5cE=
github.com/lufia/plan9stats v0.0.0-20231016141302-07b5767bb0ed h1:036IscGBfJsFIgJQzlui7nK1Ncm0tp2ktmPj8xO4N/0=
github.com/lufia/plan9stats v0.0.0-20231016141302-07b5767bb0ed/go.mod h1:ilwx/Dta8jXAgpFYFvSWEMwxmbWXyiUHkd5FwyKhb5k=
github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
@@ -615,11 +592,9 @@ github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/muhlemmer/gu v0.3.1 h1:7EAqmFrW7n3hETvuAdmFmn4hS8W+z3LgKtrnow+YzNM=
github.com/muhlemmer/gu v0.3.1/go.mod h1:YHtHR+gxM+bKEIIs7Hmi9sPT3ZDUvTN/i88wQpZkrdM=
@@ -649,14 +624,14 @@ github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8=
github.com/openziti/agent v1.0.15 h1:NW4egpS3Mw1RQBZWfUEvrmBh9kn/SU/dU5fndsyyhZ4=
github.com/openziti/agent v1.0.15/go.mod h1:zfm53+PVWoGFzjGGgQdKby5749G6VRYHe+eQJmoVKy4=
github.com/openziti/agent v1.0.16 h1:9Saji+8hFE1NpzP2XzDhsVJbCrDlhixoLHfOpFt5Z+U=
github.com/openziti/agent v1.0.16/go.mod h1:zfm53+PVWoGFzjGGgQdKby5749G6VRYHe+eQJmoVKy4=
github.com/openziti/channel/v2 v2.0.101 h1:UaveW/ogYKVtCQZfwRoMhsZhj/tvs1bD7SvH0aLaYNw=
github.com/openziti/channel/v2 v2.0.101/go.mod h1:b9CBWpH6tnLqCHInDKL6AzMGqXdbEjsul3yVQUGENVU=
github.com/openziti/dilithium v0.3.3 h1:PLgQ6PMNLSTzCFbX/h98cmudgz/cU6TmjdSv5NAPD8k=
github.com/openziti/dilithium v0.3.3/go.mod h1:vsCjI2AU/hon9e+dLhUFbCNGesJDj2ASgkySOcpmvjo=
github.com/openziti/edge-api v0.25.38 h1:aijFEC4pMCi2gR6zL6FYQRkm59SQAwrF0tZS4LZsxi4=
github.com/openziti/edge-api v0.25.38/go.mod h1:5mmcMgqK1MsBb0K8V1CBfGbtRUji5KYdmhJJJkJBMqY=
github.com/openziti/edge-api v0.26.0 h1:082hXjj8rnyMBZHYiB6jb4n7mCXtdMXpF2iCqZOv4IM=
github.com/openziti/edge-api v0.26.0/go.mod h1:/e1pK92L471fvOAwE/hLX5sqBuuo+NwI8vmL04dUHsM=
github.com/openziti/fablab v0.5.20 h1:7Xo85q2S0QpEQXkizjV/5Sh3FJ3w/W4dy+1puN4K8Gs=
github.com/openziti/fablab v0.5.20/go.mod h1:wKw2t0WrOPwVd7mfshGpxqtslC6ffaBeXI1DryPnko4=
github.com/openziti/foundation/v2 v2.0.33 h1:8CP+fi4KsmzA4jDi54jibwFWWxKpd0rSiplzN9Z0Isw=
@@ -669,8 +644,8 @@ github.com/openziti/metrics v1.2.36 h1:oW5YM9H8IqtFuxIyo0rMC3mTpl3rdSnDKcHp+ZTn+
github.com/openziti/metrics v1.2.36/go.mod h1:fjYG6sUC/n6VXe0nZbYGEBaopbRThBo/3xt7o9VatRQ=
github.com/openziti/runzmd v1.0.33 h1:tOyjRoUuVXIo1z1pNU32jALWkMmhzsSaDrhLtuOn3Ts=
github.com/openziti/runzmd v1.0.33/go.mod h1:8c/uvZR/XWXQNllTq6LuTpfKL2DTNxfI2X2wYhgRwik=
github.com/openziti/sdk-golang v0.20.122 h1:fuxws2yFEFl4hdq4l96/N23ztC1oUiQIM/lePTI6rBY=
github.com/openziti/sdk-golang v0.20.122/go.mod h1:n6Ft+Gz7e2JO6DQ6Ixc9oIn06I1MjzkI3V9kilkOBIQ=
github.com/openziti/sdk-golang v0.20.123 h1:VD0xmA6fbiHZDtdQqTAKZeJ9prb66gyTVphjHSSoxlo=
github.com/openziti/sdk-golang v0.20.123/go.mod h1:AbQs2gfbVsmL7/xXA2VTqAc84dFeQsyVkWBeWKNd1d4=
github.com/openziti/secretstream v0.1.12 h1:N78CHxtqWzSyNFOsYtYRWNNTfX1ZDAPkFgzHobpodZU=
github.com/openziti/secretstream v0.1.12/go.mod h1:gHMH1REH0r4VlmCtuWx8biU7j5ZfOivFjz9mLgwq7mk=
github.com/openziti/storage v0.2.20 h1:xpLczyF/czIw76M4Rrt2urYn/EvGNor+SPzoixuOkLs=
@@ -872,10 +847,6 @@ github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+F
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
@@ -976,7 +947,6 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1079,7 +1049,6 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1195,7 +1164,6 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -1209,7 +1177,6 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1231,8 +1198,8 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1470,8 +1437,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g=
nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0=
nhooyr.io/websocket v1.8.9 h1:+U/9DCNIH1XnzrWKs7yZp4jO0e/m6mUEh2kRPKRQYeg=
nhooyr.io/websocket v1.8.9/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/goversion v1.2.0 h1:SPn+NLTiAG7w30IRK/DKp1BjvpWabYgxlLp/+kx5J8w=
rsc.io/goversion v1.2.0/go.mod h1:Eih9y/uIBS3ulggl7KNJ09xGSLcuNaLgmvvqa07sgfo=