identityapi

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Copyright 2020 New Relic Corporation. All rights reserved. SPDX-License-Identifier: Apache-2.0

Copyright 2020 New Relic Corporation. All rights reserved. SPDX-License-Identifier: Apache-2.0

Index

Constants

View Source
const (
	// StatusCodeLimitExceed is returned when platform limit for entity registration exeeded.
	StatusCodeLimitExceed int = 503
	// StatusCodeConFailure is returned when there is a connection failure.
	StatusCodeConFailure int = 429
)

Variables

View Source
var (
	EmptyRetryTime = time.Duration(0)

	// Errors
	ErrEmptyAgentID = errors.New("empty agent id")
)

Functions

This section is empty.

Types

type DisconnectReason

type DisconnectReason string

DisconnectReason is sent with disconnect call.

const (
	// ReasonHostShutdown is reported when the host running the agent will shutdown.
	ReasonHostShutdown DisconnectReason = "shutdown"
)

type IdentityConnectClient

type IdentityConnectClient interface {
	Connect(fingerprint fingerprint.Fingerprint) (entity.Identity, backendhttp.RetryPolicy, error)
	ConnectUpdate(entity.Identity, fingerprint.Fingerprint) (backendhttp.RetryPolicy, entity.Identity, error)
	Disconnect(entityID entity.ID, reason DisconnectReason) error
}

func NewIdentityConnectClient

func NewIdentityConnectClient(
	svcUrl, licenseKey, userAgent string,
	compressionLevel int,
	containerizedAgent bool,
	httpClient backendhttp.Client,
) (IdentityConnectClient, error)

type IdentityResponse

type IdentityResponse struct {
	EntityId entity.ID `json:"entityId"`
	GUID     string    `json:"GUID"`
}

func (*IdentityResponse) ToIdentity

func (r *IdentityResponse) ToIdentity() entity.Identity

ToIdentity converts response into entity identity

type RegisterClient

type RegisterClient interface {

	// Deprecated: method to be removed at the end of this completing this feature
	RegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity) ([]RegisterEntityResponse, time.Duration, error)

	// RegisterBatchEntities registers a slice of protocol.Entity. This is done as a batch process
	RegisterBatchEntities(agentEntityID entity.ID, entities []entity.Fields) ([]RegisterEntityResponse, error)

	// RegisterEntity registers a protocol.Entity
	RegisterEntity(agentEntityID entity.ID, entity entity.Fields) (RegisterEntityResponse, error)
}

RegisterClient provides the ability to register either a single entity or a "batch" of entities.

func NewRegisterClient

func NewRegisterClient(
	svcUrl, licenseKey, userAgent string,
	compressionLevel int,
	httpClient *http.Client,
) (RegisterClient, error)

NewRegisterClient returns an implementation of RegisterClient

type RegisterEntity

type RegisterEntity struct {
	Key        entity.Key        `json:"entityKey"`
	Name       string            `json:"entityName,omitempty"`
	Type       string            `json:"entityType,omitempty"`
	Tags       map[string]string `json:"tags,omitempty"`
	Interfaces []string          `json:"interfaces,omitempty"`
}

func NewRegisterEntity

func NewRegisterEntity(key entity.Key) RegisterEntity

type RegisterEntityError

type RegisterEntityError struct {
	Status     string
	StatusCode int
	Err        error
}

RegisterEntityError will wrap the error from entity registration api including req status code.

func NewRegisterEntityError

func NewRegisterEntityError(status string, statusCode int, err error) *RegisterEntityError

NewRegisterEntityError create a new instance of RegisterEntityError.

func (*RegisterEntityError) Error

func (e *RegisterEntityError) Error() string

func (*RegisterEntityError) ShouldRetry

func (e *RegisterEntityError) ShouldRetry() bool

ShouldRetry checks the status code of the error and returns true if the request should be submitted again.

type RegisterEntityResponse

type RegisterEntityResponse struct {
	ID       entity.ID `json:"entityID"`
	Name     string    `json:"entityName"`
	ErrorMsg string    `json:"error"`
	Warnings []string  `json:"warnings"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL