identityapi

package
v1.67.3 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2025 License: Apache-2.0 Imports: 21 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, metadata Metadata) (entity.Identity, backendhttp.RetryPolicy, error)
	ConnectUpdate(entityID entity.Identity, fingerprint fingerprint.Fingerprint, metadata Metadata) (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 Metadata added in v1.67.3

type Metadata map[string]string

type MetadataHarvester added in v1.67.3

type MetadataHarvester interface {
	Harvest() (Metadata, error)
}

type MetadataHarvesterDefault added in v1.67.3

type MetadataHarvesterDefault struct {
	// contains filtered or unexported fields
}

func NewMetadataHarvesterDefault added in v1.67.3

func NewMetadataHarvesterDefault(hostIDProvider hostid.Provider) *MetadataHarvesterDefault

func (*MetadataHarvesterDefault) Harvest added in v1.67.3

func (h *MetadataHarvesterDefault) Harvest() (Metadata, error)

type MetadataHarvesterMock added in v1.67.3

type MetadataHarvesterMock struct {
	mock.Mock
}

func (*MetadataHarvesterMock) Harvest added in v1.67.3

func (m *MetadataHarvesterMock) Harvest() (Metadata, error)

func (*MetadataHarvesterMock) ShouldHarvest added in v1.67.3

func (m *MetadataHarvesterMock) ShouldHarvest(metadata Metadata)

func (*MetadataHarvesterMock) ShouldNotHarvest added in v1.67.3

func (m *MetadataHarvesterMock) ShouldNotHarvest(err error)

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 RegisterClientMock added in v0.1.0

type RegisterClientMock struct {
	mock.Mock
}

func (*RegisterClientMock) RegisterBatchEntities added in v0.1.0

func (r *RegisterClientMock) RegisterBatchEntities(agentEntityID entity.ID, entities []entity.Fields) ([]RegisterEntityResponse, error)

func (*RegisterClientMock) RegisterEntitiesRemoveMe added in v0.1.0

func (r *RegisterClientMock) RegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity) ([]RegisterEntityResponse, time.Duration, error)

func (*RegisterClientMock) RegisterEntity added in v0.1.0

func (r *RegisterClientMock) RegisterEntity(agentEntityID entity.ID, entity entity.Fields) (RegisterEntityResponse, error)

func (*RegisterClientMock) ShouldFailRegisterEntitiesRemoveMe added in v0.1.0

func (r *RegisterClientMock) ShouldFailRegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity, duration time.Duration, err error)

func (*RegisterClientMock) ShouldRegisterBatchEntities added in v0.1.0

func (r *RegisterClientMock) ShouldRegisterBatchEntities(agentEntityID entity.ID, entities []entity.Fields, responses []RegisterEntityResponse)

func (*RegisterClientMock) ShouldRegisterEntitiesRemoveMe added in v0.1.0

func (r *RegisterClientMock) ShouldRegisterEntitiesRemoveMe(agentEntityID entity.ID, entities []RegisterEntity, responses []RegisterEntityResponse, duration time.Duration)

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"`
}

Jump to

Keyboard shortcuts

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