Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- func (c *Client) CreateNode(ctx context.Context, req *CreateNodeRequest) (*CreateNodeResponse, error)
- func (c *Client) DeleteNode(ctx context.Context, nodeID string) error
- func (c *Client) GetNode(ctx context.Context, nodeID string) (*NodeItem, error)
- func (c *Client) ListAllNodes(ctx context.Context) ([]*NodeItem, error)
- func (c *Client) UpdateNode(ctx context.Context, nodeID string, req *UpdateNodeRequest) (*UpdateNodeResponse, error)
- type CompatibilityIssue
- type CompatibilityState
- type CompatibilityStatus
- type CreateNodeRequest
- type CreateNodeResponse
- type IngressControllerState
- type KongResource
- type ListNodeResponse
- type NodeItem
- type PaginationInfo
- type UpdateNodeRequest
- type UpdateNodeResponse
Constants ¶
View Source
const ( // NodeTypeIngressController is the type of nodes representing KIC instances. NodeTypeIngressController = "ingress-controller" // NodeTypeKongProxy is the type of nodes representing kong gateway instances. NodeTypeKongProxy = "kong-proxy" )
Variables ¶
View Source
var KicNodeAPIPathPattern = "%s/kic/api/control-planes/%s/v1/kic-nodes"
KicNodeAPIPathPattern is the path pattern for KIC node operations.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is used for sending requests to Konnect Node API. It can be used to register Nodes in Konnect's Control Planes.
func NewClient ¶
func NewClient(cfg adminapi.KonnectConfig) (*Client, error)
NewClient creates a Node API Konnect client.
func (*Client) CreateNode ¶
func (c *Client) CreateNode(ctx context.Context, req *CreateNodeRequest) (*CreateNodeResponse, error)
func (*Client) ListAllNodes ¶
ListAllNodes call ListNodes() repeatedly to get all nodes in a control plane.
func (*Client) UpdateNode ¶
func (c *Client) UpdateNode(ctx context.Context, nodeID string, req *UpdateNodeRequest) (*UpdateNodeResponse, error)
type CompatibilityIssue ¶
type CompatibilityIssue struct { Code string `json:"code"` Severity string `json:"severity"` Description string `json:"description"` Resolution string `json:"resolution"` AffectedResources []*KongResource `json:"affected_resources"` }
type CompatibilityState ¶
type CompatibilityState string
const ( CompatibilityStateUnspecified CompatibilityState = "COMPATIBILITY_STATE_UNSPECIFIED" CompatibilityStateFullyCompatible CompatibilityState = "COMPATIBILITY_STATE_FULLY_COMPATIBLE" CompatibilityStateInconpatible CompatibilityState = "COMPATIBILITY_STATE_INCOMPATIBLE" CompatibilityStateUnknown CompatibilityState = "COMPATIBILITY_STATE_UNKNOWN" )
type CompatibilityStatus ¶
type CompatibilityStatus struct { State CompatibilityState `json:"state"` Issues []*CompatibilityIssue `json:"issues,omitempty"` }
type CreateNodeRequest ¶
type CreateNodeRequest struct { ID string `json:"id,omitempty"` Hostname string `json:"hostname"` Type string `json:"type"` LastPing int64 `json:"last_ping"` Version string `json:"version"` CompatabilityStatus *CompatibilityStatus `json:"compatibility_status,omitempty"` Status string `json:"status,omitempty"` ConfigHash string `json:"config_hash,omitempty"` }
type CreateNodeResponse ¶
type CreateNodeResponse struct {
Item *NodeItem `json:"item"`
}
type IngressControllerState ¶
type IngressControllerState string
const ( IngressControllerStateUnspecified IngressControllerState = "INGRESS_CONTROLLER_STATE_UNSPECIFIED" IngressControllerStateOperational IngressControllerState = "INGRESS_CONTROLLER_STATE_OPERATIONAL" IngressControllerStatePartialConfigFail IngressControllerState = "INGRESS_CONTROLLER_STATE_PARTIAL_CONFIG_FAIL" IngressControllerStateInoperable IngressControllerState = "INGRESS_CONTROLLER_STATE_INOPERABLE" IngressControllerStateOperationalKonnectOutOfSync IngressControllerState = "INGRESS_CONTROLLER_STATE_OPERATIONAL_KONNECT_OUT_OF_SYNC" IngressControllerStatePartialConfigFailKonnectOutOfSync IngressControllerState = "INGRESS_CONTROLLER_STATE_PARTIAL_CONFIG_FAIL_KONNECT_OUT_OF_SYNC" IngressControllerStateInoperableKonnectOutOfSync IngressControllerState = "INGRESS_CONTROLLER_STATE_INOPERABLE_KONNECT_OUT_OF_SYNC" IngressControllerStateUnknown IngressControllerState = "INGRESS_CONTROLLER_STATE_UNKNOWN" )
type KongResource ¶
type ListNodeResponse ¶
type ListNodeResponse struct { Items []*NodeItem `json:"items"` Page *PaginationInfo `json:"page"` }
type NodeItem ¶
type NodeItem struct { ID string `json:"id"` Version string `json:"version"` Hostname string `json:"hostname"` LastPing int64 `json:"last_ping"` Type string `json:"type"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` ConfigHash string `json:"config_hash"` CompatibilityStatus *CompatibilityStatus `json:"compatibility_status,omitempty"` Status string `json:"status,omitempty"` }
type PaginationInfo ¶
type UpdateNodeRequest ¶
type UpdateNodeRequest struct { Hostname string `json:"hostname"` Type string `json:"type"` LastPing int64 `json:"last_ping"` Version string `json:"version"` ConfigHash string `json:"config_hash,omitempty"` CompatabilityStatus *CompatibilityStatus `json:"compatibility_status,omitempty"` Status string `json:"status,omitempty"` }
type UpdateNodeResponse ¶
type UpdateNodeResponse struct {
Item *NodeItem `json:"item"`
}
Click to show internal directories.
Click to hide internal directories.