influxdb/remote_connection.go

52 lines
2.1 KiB
Go

package influxdb
import (
"github.com/influxdata/influxdb/v2/kit/platform"
)
// RemoteConnection contains all info about a remote InfluxDB instance that should be returned to users.
// Note that the auth token used by the request is *not* included here.
type RemoteConnection struct {
ID platform.ID `json:"id" db:"id"`
OrgID platform.ID `json:"orgID" db:"org_id"`
Name string `json:"name" db:"name"`
Description *string `json:"description,omitempty" db:"description"`
RemoteURL string `json:"remoteURL" db:"remote_url"`
RemoteOrgID *platform.ID `json:"remoteOrgID" db:"remote_org_id"`
AllowInsecureTLS bool `json:"allowInsecureTLS" db:"allow_insecure_tls"`
}
// RemoteConnectionListFilter is a selection filter for listing remote InfluxDB instances.
type RemoteConnectionListFilter struct {
OrgID platform.ID
Name *string
RemoteURL *string
}
// RemoteConnections is a collection of metadata about remote InfluxDB instances.
type RemoteConnections struct {
Remotes []RemoteConnection `json:"remotes"`
}
// CreateRemoteConnectionRequest contains all info needed to establish a new connection to a remote
// InfluxDB instance.
type CreateRemoteConnectionRequest struct {
OrgID platform.ID `json:"orgID"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
RemoteURL string `json:"remoteURL"`
RemoteToken string `json:"remoteAPIToken"`
RemoteOrgID *platform.ID `json:"remoteOrgID"`
AllowInsecureTLS bool `json:"allowInsecureTLS"`
}
// UpdateRemoteConnectionRequest contains a partial update to existing info about a remote InfluxDB instance.
type UpdateRemoteConnectionRequest struct {
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
RemoteURL *string `json:"remoteURL,omitempty"`
RemoteToken *string `json:"remoteAPIToken,omitempty"`
RemoteOrgID *platform.ID `json:"remoteOrgID,omitempty"`
AllowInsecureTLS *bool `json:"allowInsecureTLS,omitempty"`
}