types

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: Apache-2.0 Imports: 13 Imported by: 24

Documentation

Overview

Package types contains the required base types used for both client and server side for Calyptia Cloud API.

Index

Constants

View Source
const (
	// CoreInstanceNextPing is the time between pings to a core instance.
	CoreInstanceNextPing = time.Second * 30
	// CoreInstanceNextPingDelta is the extra time acceptable for a ping to be delayed.
	CoreInstanceNextPingDelta = time.Second * 5
	// CoreInstanceNextPingTimeout is the time after a core instance is considered "unreachable".
	CoreInstanceNextPingTimeout = CoreInstanceNextPing + CoreInstanceNextPingDelta
)

CoreInstance ping constants.

View Source
const (
	// IngestCheckDefaultTimeout default timeout for an ingest check.
	IngestCheckDefaultTimeout = CoreInstanceNextPingTimeout
	// IngestCheckMaxLogSize maximum size for the log attribute of an ingest check.
	IngestCheckMaxLogSize = 10 << 20 // 10MiB

)
View Source
const (
	SectionKindServiceOrdinal int = iota + 1
	SectionKindInputOrdinal
	SectionKindFilterOrdinal
	SectionKindOutputOrdinal
)
View Source
const (
	// ResourceProfileHighPerformanceGuaranteedDelivery is one of the 3 default resource profiles created with an aggregator.
	ResourceProfileHighPerformanceGuaranteedDelivery = "high-performance-guaranteed-delivery"
	// ResourceProfileHighPerformanceOptimalThroughput is one of the 3 default resource profiles created with an aggregator.
	ResourceProfileHighPerformanceOptimalThroughput = "high-performance-optimal-throughput"
	// ResourceProfileBestEffortLowResource is one of the 3 default resource profiles created with an aggregator. This is the default one.
	ResourceProfileBestEffortLowResource = "best-effort-low-resource"
)
View Source
const (
	DefaultCoreInstanceVersion = "v2.0-dev"
)
View Source
const DefaultHealthCheckPipelinePort = 2020
View Source
const DefaultResourceProfileName = ResourceProfileBestEffortLowResource

DefaultResourceProfileName is the default resource profile used when creating pipelines.

Variables

View Source
var (
	DefaultDeploymentStrategy    = DeploymentStrategyRecreate
	AllValidDeploymentStrategies = [...]DeploymentStrategy{
		DeploymentStrategyRecreate,
		DeploymentStrategyHotReload,
	}
)

AllPipelineKindTypes all valid pipeline kinds.

View Source
var AllPipelinePortProtocols = [...]PipelinePortProtocol{
	PipelineProtocolTCP,
	PipelineProtocolUDP,
}

AllPipelinePortProtocols all valid protocol types for a pipeline.

AllValidCheckProtocols all valid protocols for checks.

AllValidCheckStatuses all valid statuses for checks.

View Source
var AllValidPipelineLogStatuses = [...]PipelineLogStatus{
	PipelineLogStatusNew,
	PipelineLogStatusDone,
}

Functions

func ValidCheckProtocol added in v0.9.1

func ValidCheckProtocol(p PipelinePortProtocol) bool

ValidCheckProtocol checks if the given status is a valid check protocol.

func ValidCheckStatus added in v0.9.1

func ValidCheckStatus(s CheckStatus) bool

ValidCheckStatus checks if the given string is a valid check status.

func ValidClusterObjectKind added in v0.17.2

func ValidClusterObjectKind(t ClusterObjectKind) bool

ValidClusterObjectKind checks if the given status is a valid cluster object type.

Types

type AWSCustomer added in v1.2.0

type AWSCustomer struct {
	AccountID   string `json:"accountID" yaml:"accountID"`
	Identifier  string `json:"identifier" yaml:"identifier"`
	ProductCode string `json:"productCode" yaml:"productCode"`
}

type AWSMarketplaceSubscriptionNotification added in v1.4.7

type AWSMarketplaceSubscriptionNotification struct {
	Action                 AWSMarketplaceSubscriptionNotificationAction `json:"action"`
	CustomerIdentifier     string                                       `json:"customer-identifier"`
	ProductCode            string                                       `json:"product-code"`
	OfferIdentifier        string                                       `json:"offer-identifier"`
	IsFreeTrialTermPresent bool                                         `json:"isFreeTrialTermPresent"`
}

type AWSMarketplaceSubscriptionNotificationAction added in v1.4.7

type AWSMarketplaceSubscriptionNotificationAction string
const (
	AWSMarketplaceSubscriptionNotificationActionSubscribeSuccess   AWSMarketplaceSubscriptionNotificationAction = "subscribe-success"
	AWSMarketplaceSubscriptionNotificationActionSubscribeFail      AWSMarketplaceSubscriptionNotificationAction = "subscribe-fail"
	AWSMarketplaceSubscriptionNotificationActionUnsubscribePending AWSMarketplaceSubscriptionNotificationAction = "unsubscribe-pending"
	AWSMarketplaceSubscriptionNotificationActionUnsubscribeSuccess AWSMarketplaceSubscriptionNotificationAction = "unsubscribe-success"
)

type AcceptInvitation

type AcceptInvitation struct {
	Token string `json:"token"`
}

AcceptInvitation request payload for accepting a project invitation.

type Agent

type Agent struct {
	ID                  string           `json:"id" yaml:"id"`
	ProjectID           string           `json:"projectID" yaml:"projectID"`
	FleetID             *string          `json:"fleetID" yaml:"fleetID"`
	Token               string           `json:"token" yaml:"token"`
	Name                string           `json:"name" yaml:"name"`
	MachineID           string           `json:"machineID" yaml:"machineID"`
	EnvironmentName     string           `json:"environmentName" yaml:"environmentName"`
	Type                AgentType        `json:"type" yaml:"type"`
	Status              AgentStatus      `json:"status" yaml:"status"`
	Version             string           `json:"version" yaml:"version"`
	Edition             AgentEdition     `json:"edition" yaml:"edition"`
	OperatingSystem     AgentOS          `json:"os" yaml:"os"`
	Architecture        AgentArch        `json:"arch" yaml:"arch"`
	Flags               []string         `json:"flags" yaml:"flags"`
	RawConfig           string           `json:"rawConfig" yaml:"rawConfig"`
	Metadata            *json.RawMessage `json:"metadata" yaml:"metadata"`
	Tags                []string         `json:"tags" yaml:"tags"`
	FirstMetricsAddedAt *time.Time       `json:"firstMetricsAddedAt" yaml:"firstMetricsAddedAt"`
	LastMetricsAddedAt  *time.Time       `json:"lastMetricsAddedAt" yaml:"lastMetricsAddedAt"`
	MetricsCount        uint             `json:"metricsCount" yaml:"metricsCount"`
	CreatedAt           time.Time        `json:"createdAt" yaml:"createdAt"`
	UpdatedAt           time.Time        `json:"updatedAt" yaml:"updatedAt"`
}

Agent model.

type AgentArch added in v1.7.0

type AgentArch string

AgentArch is set to the architecture an agent is running on.

const (
	// AgentArchUnknown is the default value for architecture.
	AgentArchUnknown AgentArch = "unknown"
	// AgentArchX86 is for intel i686 machines.
	AgentArchX86 AgentArch = "x86"
	// AgentArchX86_64 is for intel x86_64 machines.
	AgentArchX86_64 AgentArch = "x86_64"
	// AgentArchArm is for arm machines.
	AgentArchArm AgentArch = "arm"
	// AgentArchArm64 is for arm64 machines.
	AgentArchArm64 AgentArch = "arm64"
)

type AgentConfig

type AgentConfig struct {
	ID        string    `json:"id" yaml:"id"`
	RawConfig string    `json:"rawConfig" yaml:"rawConfig"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
}

AgentConfig model.

type AgentConfigHistory added in v0.0.8

type AgentConfigHistory struct {
	Items     []AgentConfig
	EndCursor *string
}

AgentConfigHistory paginated list.

type AgentConfigHistoryParams

type AgentConfigHistoryParams struct {
	Last   *uint
	Before *string
}

AgentConfigHistoryParams request payload for querying the agent config history.

type AgentEdition

type AgentEdition string

AgentEdition declares the fluent agent edition (community/enterprise).

const (
	// AgentEditionCommunity fluent community edition.
	AgentEditionCommunity AgentEdition = "community"
	// AgentEditionEnterprise fluent enterprise edition.
	AgentEditionEnterprise AgentEdition = "enterprise"
)

type AgentError added in v1.2.0

type AgentError struct {
	ID            string     `json:"id" yaml:"id" db:"id"`
	AgentID       string     `json:"agentID" yaml:"agentID" db:"agent_id"`
	Error         string     `json:"error" yaml:"error" db:"error"`
	DismissedAt   *time.Time `json:"dismissedAt" yaml:"dismissedAt" db:"dismissed_at"`
	DismissReason *string    `json:"dismissReason" yaml:"dismissReason" db:"dismiss_reason"`
	CreatedAt     time.Time  `json:"createdAt" yaml:"createdAt" db:"created_at"`
}

AgentError represent an error that occurred on an agent. It can be an invalid configuration, or a malfunctioning plugin. These come directly from agents. Any agent that has errors since the last time it was updated will be marked as "errored". Errors can be dismissed by the user.

type AgentErrors added in v1.2.0

type AgentErrors struct {
	Items     []AgentError `json:"items" yaml:"items"`
	EndCursor *string      `json:"endCursor" yaml:"endCursor"`
}

type AgentOS added in v1.7.0

type AgentOS string

AgentOS is set to the operating system the agent is running on.

const (
	// AgentOSUnknown is the default value for the operating system.
	AgentOSUnknown AgentOS = "unknown"
	// AgentOSWindows is for Win32 machines.
	AgentOSWindows AgentOS = "windows"
	// AgentOSMacOS is for macOS machines.
	AgentOSMacOS AgentOS = "macos"
	// AgentOSLinux is for Win32 machines.
	AgentOSLinux AgentOS = "linux"
	// AgentOSFreeBSD is for FreeBSD machines.
	AgentOSFreeBSD AgentOS = "freebsd"
	// AgentOSOpenBSD is for OpenBSD machines.
	AgentOSOpenBSD AgentOS = "openbsd"
	// AgentOSNetBSD is for NetBSD machines.
	AgentOSNetBSD AgentOS = "netbsd"
)

type AgentStatus added in v1.7.0

type AgentStatus string
const (
	AgentStatusHealthy   AgentStatus = "healthy"
	AgentStatusUnhealthy AgentStatus = "unhealthy"
)

type AgentType

type AgentType string

AgentType declares the fluent agent type (fluentbit/fluentd).

const (
	// AgentTypeFluentBit fluentbit agent type.
	AgentTypeFluentBit AgentType = "fluentbit"
	// AgentTypeFluentd fluentd agent type.
	AgentTypeFluentd AgentType = "fluentd"
)

type Agents added in v0.0.8

type Agents struct {
	Items     []Agent
	EndCursor *string
}

Agents paginated list.

type AgentsParams

type AgentsParams struct {
	Last          *uint
	Before        *string
	Name          *string
	FleetID       *string
	EnvironmentID *string
	TagsQuery     *string
	// contains filtered or unexported fields
}

AgentsParams request payload for querying agents.

func (*AgentsParams) SetTags added in v1.4.7

func (in *AgentsParams) SetTags(tags []string)

func (AgentsParams) Tags added in v0.0.10

func (in AgentsParams) Tags() []string

type Check added in v0.9.1

type Check struct {
	Protocol PipelinePortProtocol `json:"protocol"`
	Status   CheckStatus          `json:"status"`
	Retries  uint                 `json:"retries"`
	Port     uint                 `json:"port"`
	Host     string               `json:"host"`
}

Check base check model.

type CheckStatus added in v0.9.1

type CheckStatus string

CheckStatus possible status of a check.

const (
	CheckStatusOK      CheckStatus = "ok"
	CheckStatusFailed  CheckStatus = "failed"
	CheckStatusNew     CheckStatus = "new"
	CheckStatusRunning CheckStatus = "running"
)

type ClusterObject added in v0.17.2

type ClusterObject struct {
	ID        string            `json:"id" yaml:"id" db:"id"`
	Name      string            `json:"name" yaml:"name" db:"name"`
	Kind      ClusterObjectKind `json:"kind" yaml:"kind" db:"kind"`
	CreatedAt time.Time         `json:"createdAt" yaml:"createdAt" db:"created_at"`
	UpdatedAt time.Time         `json:"updatedAt" yaml:"updatedAt" db:"updated_at"`
}

ClusterObject type for core_instance cluster objects.

type ClusterObjectKind added in v0.17.2

type ClusterObjectKind string
var (
	ClusterObjectKindNamespace ClusterObjectKind = "namespace"
	AllValidClusterObjectKinds                   = [...]ClusterObjectKind{
		ClusterObjectKindNamespace,
	}
)

type ClusterObjectParams added in v0.17.2

type ClusterObjectParams struct {
	Last   *uint
	Name   *string
	Kind   *ClusterObjectKind
	Before *string
}

ClusterObjectParams request payload for querying the core_instance cluster objects.

type ClusterObjectRegex added in v1.4.7

type ClusterObjectRegex struct {
	ID          string    `json:"id" yaml:"id" db:"id"`
	PipelineID  string    `json:"pipelineID" yaml:"pipelineID" db:"pipeline_id"`
	Regex       string    `json:"regex" yaml:"regex" db:"regex"`
	Description string    `json:"description" yaml:"description" db:"description"`
	CreatedAt   time.Time `json:"createdAt" yaml:"createdAt" db:"created_at"`
	UpdatedAt   time.Time `json:"updatedAt" yaml:"updatedAt" db:"updated_at"`

	ClusterObjects *[]ClusterObject `json:"clusterObjects,omitempty" yaml:"clusterObjects,omitempty" db:"-"`
}

type ClusterObjectRegexes added in v1.4.7

type ClusterObjectRegexes struct {
	Items     []ClusterObjectRegex `json:"items"`
	EndCursor *string              `json:"endCursor"`
}

type ClusterObjects added in v0.17.2

type ClusterObjects struct {
	Items     []ClusterObject `json:"items" yaml:"items"`
	EndCursor *string         `json:"endCursor" yaml:"endCursor"`
}

ClusterObjects paginated list.

type ConfigFormat added in v0.2.0

type ConfigFormat string
const (
	ConfigFormatINI  ConfigFormat = "ini"
	ConfigFormatJSON ConfigFormat = "json"
	ConfigFormatYAML ConfigFormat = "yaml"
)

type ConfigSection added in v0.9.1

type ConfigSection struct {
	ID               string            `json:"id" yaml:"id"`
	ProjectID        string            `json:"projectID" yaml:"projectID"`
	Kind             ConfigSectionKind `json:"kind" yaml:"kind"`
	Properties       Pairs             `json:"properties" yaml:"properties"`
	ProcessingRuleID *string           `json:"processingRuleID" yaml:"processingRuleID"`
	CreatedAt        time.Time         `json:"createdAt" yaml:"createdAt"`
	UpdatedAt        time.Time         `json:"updatedAt" yaml:"updatedAt"`
}

ConfigSection model represents a fluent-bit config section that can be reused across pipelines on a project.

func (ConfigSection) Name added in v1.6.7

func (s ConfigSection) Name() string

type ConfigSectionKind added in v0.9.1

type ConfigSectionKind string

ConfigSectionKind enum with known fluent-bit section types.

const (
	SectionKindService ConfigSectionKind = "service"
	SectionKindInput   ConfigSectionKind = "input"
	SectionKindFilter  ConfigSectionKind = "filter"
	SectionKindOutput  ConfigSectionKind = "output"
)

func (ConfigSectionKind) OK added in v0.18.0

func (k ConfigSectionKind) OK() bool

type ConfigSections added in v0.9.1

type ConfigSections struct {
	Items     []ConfigSection `json:"items" yaml:"items"`
	EndCursor *string         `json:"endCursor" yaml:"endCursor"`
}

ConfigSections paginated list.

type ConfigSectionsParams added in v0.9.1

type ConfigSectionsParams struct {
	Last                   *uint
	Before                 *string
	IncludeProcessingRules bool
}

ConfigSectionsParams request payload for querying the fluent-bit config sections.

type ConfigValidity

type ConfigValidity struct {
	Runtime []string            `json:"runtime" `
	Input   map[string][]string `json:"input"`
	Output  map[string][]string `json:"output"`
	Filter  map[string][]string `json:"filter"`
}

ConfigValidity details.

type ConfigValidityV2

type ConfigValidityV2 struct {
	Runtime []ConfigValidityV2Runtime             `json:"runtime" `
	Input   map[string][]ConfigValidityV2Property `json:"input"`
	Output  map[string][]ConfigValidityV2Property `json:"output"`
	Filter  map[string][]ConfigValidityV2Property `json:"filter"`
}

ConfigValidityV2 details.

type ConfigValidityV2Property

type ConfigValidityV2Property struct {
	ID       string   `json:"id"`
	Property string   `json:"property"`
	Text     string   `json:"text"`
	Errors   []string `json:"errors"`
}

ConfigValidityV2Property property details.

type ConfigValidityV2Runtime

type ConfigValidityV2Runtime struct {
	ID     string   `json:"id"`
	Errors []string `json:"errors"`
}

ConfigValidityV2Runtime runtime details.

type CoreInstance added in v0.19.0

type CoreInstance struct {
	ID                    string               `json:"id" yaml:"id"`
	Token                 string               `json:"token" yaml:"token"`
	Name                  string               `json:"name" yaml:"name"`
	ClusterLoggingEnabled bool                 `json:"clusterLoggingEnabled" yaml:"clusterLoggingEnabled"`
	EnvironmentName       string               `json:"environmentName" yaml:"environmentName"`
	Version               string               `json:"version" yaml:"version"`
	PipelinesCount        uint                 `json:"pipelinesCount" yaml:"pipelinesCount"`
	Tags                  []string             `json:"tags" yaml:"tags"`
	Metadata              CoreInstanceMetadata `json:"metadata" yaml:"metadata"`
	Status                CoreInstanceStatus   `json:"status" yaml:"status"`
	SkipServiceCreation   bool                 `json:"skipServiceCreation" yaml:"skipServiceCreation"`
	//  Pointer to a string (*string) allows the value to be nullable, which means it can be assigned a NULL value from the database.
	//  If a value is not nullable, such as a regular string, it cannot be assigned a NULL value from the database and would result in the error "cannot scan NULL into string."
	Image     *string   `json:"image" yaml:"image"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`
}

CoreInstance model.

func (*CoreInstance) ApplyStatus added in v1.4.7

func (in *CoreInstance) ApplyStatus(lastPing *time.Time)

ApplyStatus based on its last ping timestamp. If time since last ping = nil, wantedCoreInstanceStatus = waiting If time since last ping <= CoreInstanceNextPingTimeout wantedCoreInstanceStatus = running If time since last ping > CoreInstanceNextPingTimeout wantedCoreInstanceStatus = unreachable.

type CoreInstanceCheck added in v0.9.1

type CoreInstanceCheck struct {
	Check
	ID        string    `json:"id" yaml:"id"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`
}

CoreInstanceCheck type for pipeline level checks.

type CoreInstanceChecks added in v0.9.1

type CoreInstanceChecks struct {
	Items     []CoreInstanceCheck `json:"items" yaml:"items"`
	EndCursor *string             `json:"endCursor" yaml:"endCursor"`
}

CoreInstanceChecks paginated list.

type CoreInstanceChecksParams added in v0.9.1

type CoreInstanceChecksParams struct {
	Last   *uint
	Before *string
}

CoreInstanceChecksParams request payload for querying the core_instance checks.

type CoreInstanceFile added in v1.5.2

type CoreInstanceFile struct {
	ID             string    `json:"id" yaml:"id" db:"id"`
	CoreInstanceID string    `json:"coreInstanceID" yaml:"coreInstanceID" db:"core_instance_id"`
	Name           string    `json:"name" yaml:"name" db:"name"`
	Contents       []byte    `json:"contents" yaml:"contents" db:"contents"`
	Encrypted      bool      `json:"encrypted" yaml:"encrypted" db:"encrypted"`
	CreatedAt      time.Time `json:"createdAt" yaml:"createdAt" db:"created_at"`
	UpdatedAt      time.Time `json:"updatedAt" yaml:"updatedAt" db:"updated_at"`
}

type CoreInstanceFiles added in v1.5.2

type CoreInstanceFiles struct {
	Items     []CoreInstanceFile `json:"items" yaml:"items"`
	Count     int                `json:"count" yaml:"count"`
	EndCursor *string            `json:"endCursor" yaml:"endCursor"`
}

type CoreInstanceMetadata added in v0.19.0

type CoreInstanceMetadata struct {
	// Notice that all of these are embedded on purpose since
	// metadata is flattened.
	MetadataK8S
	MetadataAWS
	MetadataGCP
}

CoreInstanceMetadata See: https://github.com/fluent/fluent-bit/blob/d059a5a5dca6aff4ff5d0694887355480d6f2c1d/plugins/out_calyptia/calyptia.c#L206-L229 Those are the only supported metadata fields that will be marshaled by the Calyptia Cloud API, please send a PR if further fields are required. This represents a blob of JSON that will be stored as it is in the Cloud database. That's why all fields have an omitempty json tag; to avoid filling the blob with empty data.

func (*CoreInstanceMetadata) UnmarshalJSON added in v1.2.0

func (m *CoreInstanceMetadata) UnmarshalJSON(data []byte) error

UnmarshalJSON deserializes JSON data into a CoreInstanceMetadata struct. Implements the json.Unmarshaler interface.

If the input data is nil, UnmarshalJSON returns nil without modifying the receiver.

If the input data is "null", an empty CoreInstanceMetadata struct is assigned to the receiver.

If the input data is an empty JSON object "{}", an empty CoreInstanceMetadata struct is assigned to the receiver.

If the input data is any other valid JSON object, it is first unmarshalled into a copy of CoreInstanceMetadata using the standard library's json.Unmarshal function, and then the copy is assigned to the receiver.

type CoreInstancePingResponse added in v0.19.0

type CoreInstancePingResponse struct {
	NextPing time.Duration `json:"nextPing"`
}

CoreInstancePingResponse response from a core instance ping call.

type CoreInstanceSecret added in v1.5.2

type CoreInstanceSecret struct {
	ID             string    `json:"id" yaml:"id" db:"id"`
	CoreInstanceID string    `json:"coreInstanceID" yaml:"coreInstanceID" db:"core_instance_id"`
	Key            string    `json:"key" yaml:"key" db:"key"`
	Value          []byte    `json:"value" yaml:"value" db:"value"`
	CreatedAt      time.Time `json:"createdAt" yaml:"createdAt" db:"created_at"`
	UpdatedAt      time.Time `json:"updatedAt" yaml:"updatedAt" db:"updated_at"`
}

type CoreInstanceSecrets added in v1.5.2

type CoreInstanceSecrets struct {
	Items     []CoreInstanceSecret `json:"items" yaml:"items"`
	Count     int                  `json:"count" yaml:"count"`
	EndCursor *string              `json:"endCursor" yaml:"endCursor"`
}

type CoreInstanceStatus added in v0.19.0

type CoreInstanceStatus string
const (
	CoreInstanceStatusWaiting     CoreInstanceStatus = "waiting"
	CoreInstanceStatusRunning     CoreInstanceStatus = "running"
	CoreInstanceStatusUnreachable CoreInstanceStatus = "unreachable"
)

type CoreInstances added in v0.19.0

type CoreInstances struct {
	Items     []CoreInstance `json:"items"`
	EndCursor *string        `json:"endCursor"`
	Count     int            `json:"count"`
}

CoreInstances paginated list.

type CoreInstancesParams added in v0.19.0

type CoreInstancesParams struct {
	Last          *uint
	Before        *string
	Name          *string
	TagsQuery     *string
	EnvironmentID *string
	// contains filtered or unexported fields
}

CoreInstancesParams request payload for querying core instances.

func (*CoreInstancesParams) SetTags added in v1.4.7

func (in *CoreInstancesParams) SetTags(tags []string)

func (CoreInstancesParams) Tags added in v0.19.0

func (in CoreInstancesParams) Tags() []string

type CountMembers added in v1.6.7

type CountMembers struct {
	ProjectID string
	Role      *MembershipRole
}

type CreateAWSContractFromToken added in v1.2.0

type CreateAWSContractFromToken struct {
	ProjectID              string `json:"-"`
	AmazonMarketplaceToken string `json:"amazonMarketplaceToken"`
}

type CreateAgentError added in v1.2.0

type CreateAgentError struct {
	AgentID string `json:"-"`
	Error   string `json:"error"`
}

type CreateClusterObject added in v0.17.2

type CreateClusterObject struct {
	Name string            `json:"name" yaml:"name"`
	Kind ClusterObjectKind `json:"kind" yaml:"kind"`
}

CreateClusterObject request payload for creating a core_instance cluster object.

type CreateClusterObjectRegex added in v1.4.7

type CreateClusterObjectRegex struct {
	PipelineID  string `json:"-"`
	Regex       string `json:"regex"`
	Description string `json:"description"`
}

type CreateConfigSection added in v0.9.1

type CreateConfigSection struct {
	Kind                       ConfigSectionKind `json:"kind"`
	Properties                 Pairs             `json:"properties"`
	ProcessingRuleID           *string           `json:"-"`
	PipelineClusterObjectSetID *string           `json:"-"`
	SkipConfigValidation       bool              `json:"skipConfigValidation"`
}

CreateConfigSection request payload for creating a new fluent-bit config section on a project.

type CreateCoreInstance added in v0.19.0

type CreateCoreInstance struct {
	Name                        string               `json:"name"`
	Version                     string               `json:"version"`
	AddHealthCheckPipeline      bool                 `json:"addHealthCheckPipeline"`
	HealthCheckPipelinePort     uint                 `json:"healthCheckPipelinePort"`
	HealthCheckPipelinePortKind PipelinePortKind     `json:"healthCheckPipelinePortKind"`
	ClusterLogging              bool                 `json:"clusterLogging"`
	Tags                        []string             `json:"tags"`
	Image                       *string              `json:"image"`
	Metadata                    CoreInstanceMetadata `json:"metadata"`
	EnvironmentID               string               `json:"environmentID"`
	SkipServiceCreation         bool                 `json:"skipServiceCreation"`
	// contains filtered or unexported fields
}

CreateCoreInstance request payload for creating a new core instance.

func (CreateCoreInstance) ID added in v1.4.7

func (in CreateCoreInstance) ID() string

func (CreateCoreInstance) PublicRSAKey added in v1.4.7

func (in CreateCoreInstance) PublicRSAKey() []byte

func (*CreateCoreInstance) SetID added in v1.4.7

func (in *CreateCoreInstance) SetID(id string)

func (*CreateCoreInstance) SetPublicRSAKey added in v1.4.7

func (in *CreateCoreInstance) SetPublicRSAKey(publicRSAKey []byte)

func (*CreateCoreInstance) SetSigningKey added in v1.4.7

func (in *CreateCoreInstance) SetSigningKey(signingKey []byte)

func (*CreateCoreInstance) SetToken added in v1.4.7

func (in *CreateCoreInstance) SetToken(token string)

func (CreateCoreInstance) SigningKey added in v1.4.7

func (in CreateCoreInstance) SigningKey() []byte

func (CreateCoreInstance) Token added in v1.4.7

func (in CreateCoreInstance) Token() string

type CreateCoreInstanceCheck added in v0.9.1

type CreateCoreInstanceCheck = Check

CreateCoreInstanceCheck request payload for creating a core_instance check.

type CreateCoreInstanceFile added in v1.5.2

type CreateCoreInstanceFile struct {
	CoreInstanceID string `json:"-"`
	Name           string `json:"name"`
	Contents       []byte `json:"contents"`
	Encrypted      bool   `json:"encrypted"`
}

type CreateCoreInstanceSecret added in v1.5.2

type CreateCoreInstanceSecret struct {
	CoreInstanceID string `json:"-"`
	Key            string `json:"key"`
	Value          []byte `json:"value"`
}

type CreateEnvironment added in v0.0.11

type CreateEnvironment struct {
	Name string `json:"name"`
	// contains filtered or unexported fields
}

func (CreateEnvironment) Internal added in v1.4.7

func (in CreateEnvironment) Internal() bool

func (*CreateEnvironment) SetInternal added in v1.4.7

func (in *CreateEnvironment) SetInternal(internal bool)

type CreateFleet added in v1.1.0

type CreateFleet struct {
	ProjectID           string       `json:"-"`
	Name                string       `json:"name"`
	MinFluentBitVersion string       `json:"minFluentBitVersion"`
	RawConfig           string       `json:"rawConfig"`
	ConfigFormat        ConfigFormat `json:"configFormat"`
	Tags                []string     `json:"tags"`
	Files               []CreateFleetFile

	SkipConfigValidation bool `json:"skipConfigValidation"`
}

type CreateFleetFile added in v1.5.6

type CreateFleetFile struct {
	Name     string `json:"name"`
	Contents []byte `json:"contents"`
}

CreateFleetFile request payload for creating a new fleet file.

type CreateFluentBitPluginConfig added in v0.9.1

type CreateFluentBitPluginConfig struct {
	Kind       FluentBitPluginKind    `json:"kind"`
	Name       string                 `json:"name"`
	Properties map[string]interface{} `json:"properties"`
}

CreateFluentBitPluginConfig request payload for creating a new fluent-bit plugin config on a project.

type CreateIngestCheck added in v0.15.0

type CreateIngestCheck struct {
	Status          CheckStatus    `json:"status"`
	Retries         uint           `json:"retries"`
	ConfigSectionID string         `json:"configSectionID"`
	CollectLogs     bool           `json:"collectLogs"`
	Logs            []FluentBitLog `json:"logs"`
}

CreateIngestCheck request payload for creating a core_instance ingestion check.

type CreateInvitation

type CreateInvitation struct {
	Email       string   `json:"email"`
	RedirectURI string   `json:"redirectURI"`
	Permissions []string `json:"permissions"`
	// contains filtered or unexported fields
}

CreateInvitation request payload for creating a project invitation.

func (CreateInvitation) ID added in v1.4.7

func (in CreateInvitation) ID() string

func (*CreateInvitation) SetID added in v1.4.7

func (in *CreateInvitation) SetID(id string)

func (*CreateInvitation) SetSigningKey added in v1.4.7

func (in *CreateInvitation) SetSigningKey(signingKey []byte)

func (CreateInvitation) SigningKey added in v1.4.7

func (in CreateInvitation) SigningKey() []byte

type CreateMetrics added in v1.8.0

type CreateMetrics struct {
	// AgentID is set internally by the server and is not part of the request body.
	AgentID string `json:"-" msgpack:"-"`
	// ProjectID is set internally by the server and is not part of the request body.
	ProjectID string `json:"-" msgpack:"-"`
	// FleetID is set internally by the server and is not part of the request body.
	FleetID *string `json:"-" msgpack:"-"`
	// PipelineID is set internally by the server and is not part of the request body.
	PipelineID *string `json:"-" msgpack:"-"`
	// CoreInstanceID is set internally by the server and is not part of the request body.
	CoreInstanceID *string `json:"-" msgpack:"-"`

	Meta    CreateMetricsMeta `json:"meta" msgpack:"meta"`
	Metrics []Metric          `json:"metrics" msgpack:"metrics"`
}

CreateMetrics types defined by fluent-bit cmetrics v0.5.x.

type CreateMetricsMeta added in v1.8.0

type CreateMetricsMeta struct {
	// Cmetrics   struct{}                    `json:"cmetrics" msgpack:"cmetrics"`
	// External   struct{}                    `json:"external" msgpack:"external"`
	Processing CreateMetricsMetaProcessing `json:"processing" msgpack:"processing"`
}

type CreateMetricsMetaProcessing added in v1.8.0

type CreateMetricsMetaProcessing struct {
	StaticLabels [][2]string `json:"static_abels" msgpack:"static_labels"` // example: [["foo", "bar"], ["my-label", "my-value"]]
}

type CreatePipeline

type CreatePipeline struct {
	Name                 string                 `json:"name"`
	Kind                 PipelineKind           `json:"kind"`
	ReplicasCount        uint                   `json:"replicasCount"`
	RawConfig            string                 `json:"rawConfig"`
	ConfigFormat         ConfigFormat           `json:"configFormat"`
	DeploymentStrategy   DeploymentStrategy     `json:"deploymentStrategy"`
	Secrets              []CreatePipelineSecret `json:"secrets"`
	Files                []CreatePipelineFile   `json:"files"`
	ResourceProfileName  string                 `json:"resourceProfile"`
	Image                *string                `json:"image"`
	SkipConfigValidation bool                   `json:"skipConfigValidation"`
	Metadata             *json.RawMessage       `json:"metadata"`
	Tags                 []string               `json:"tags"`

	// Deprecated: in favor of NoAutoCreateEndpointsFromConfig
	AutoCreatePortsFromConfig bool `json:"autoCreatePortsFromConfig"`
	// Deprecated: in favor of NoAutoCreateChecksFromConfig
	AutoCreateChecksFromConfig bool `json:"autoCreateChecksFromConfig"`

	// no automatically create endpoints from config
	NoAutoCreateEndpointsFromConfig bool `json:"noAutoCreateEndpointsFromConfig"`
	// no automatically create checks based on the output configuration.
	NoAutoCreateChecksFromConfig bool `json:"noAutoCreateChecksFromConfig"`

	// WaitForChecksBeforeDeploying is a conditional variable that defines behavior on the
	// pipeline deployment
	//
	// If set to true:
	//
	// If all checks associated with the pipeline run successfully, the status of
	// the pipeline will be switched to CHECKS_OK and the deployment will be executed.
	//
	// If any of the checks associated with the pipeline fails, the status of
	// the pipeline will be switched to CHECKS_FAILED and the deployment of the pipeline
	// will be blocked.
	//
	// If set to false (default):
	//
	// If all checks associated with the pipeline run successfully, the status of
	// the pipeline will be switched to CHECKS_OK and the deployment will be executed.
	//
	// If any of the checks associated with the pipeline fails, the status of
	// the pipeline will be switched to CHECKS_FAILED and the deployment of the pipeline
	// will be executed.
	WaitForChecksBeforeDeploying bool `json:"waitForChecksBeforeDeploying"`

	// The default portKind to be used for input ports that belongs to this pipeline.
	PortKind PipelinePortKind `json:"portKind"`
	// contains filtered or unexported fields
}

CreatePipeline request payload for creating a new pipeline.

func (CreatePipeline) ClusterLogging added in v1.4.7

func (in CreatePipeline) ClusterLogging() bool

func (CreatePipeline) Internal added in v1.4.7

func (in CreatePipeline) Internal() bool

func (*CreatePipeline) SetClusterLogging added in v1.4.7

func (in *CreatePipeline) SetClusterLogging(clusterLogging bool)

func (*CreatePipeline) SetInternal added in v1.4.7

func (in *CreatePipeline) SetInternal(internal bool)

func (*CreatePipeline) SetStatus added in v1.4.7

func (in *CreatePipeline) SetStatus(status PipelineStatusKind)

func (CreatePipeline) Status added in v1.4.7

func (in CreatePipeline) Status() PipelineStatusKind

type CreatePipelineCheck added in v0.9.1

type CreatePipelineCheck Check

CreatePipelineCheck request payload for creating a core_instance check.

type CreatePipelineConfig added in v1.4.7

type CreatePipelineConfig struct {
	RawConfig    string       `json:"rawConfig"`
	ConfigFormat ConfigFormat `json:"configFormat"`
}

type CreatePipelineFile

type CreatePipelineFile struct {
	Name      string `json:"name"`
	Contents  []byte `json:"contents"`
	Encrypted bool   `json:"encrypted"`
	// contains filtered or unexported fields
}

CreatePipelineFile request payload for creating a new pipeline file.

func (CreatePipelineFile) Internal added in v1.4.7

func (in CreatePipelineFile) Internal() bool

func (CreatePipelineFile) ProcessingRuleID added in v1.4.7

func (in CreatePipelineFile) ProcessingRuleID() *string

func (*CreatePipelineFile) SetInternal added in v1.4.7

func (in *CreatePipelineFile) SetInternal(internal bool)

func (*CreatePipelineFile) SetProcessingRuleID added in v1.4.7

func (in *CreatePipelineFile) SetProcessingRuleID(processingRuleID string)

type CreatePipelineLog added in v1.6.2

type CreatePipelineLog struct {
	PipelineID string `json:"pipelineID"`
	Logs       string `json:"logs"`
	Lines      int    `json:"lines"`
}

type CreatePipelinePort

type CreatePipelinePort struct {
	Protocol     string           `json:"protocol"`
	FrontendPort uint             `json:"frontendPort"`
	BackendPort  uint             `json:"backendPort"`
	Endpoint     string           `json:"endpoint"`
	Kind         PipelinePortKind `json:"kind"`
	// contains filtered or unexported fields
}

CreatePipelinePort request payload for creating a pipeline port.

func CreatePipelinePortWithOpts added in v1.4.7

func CreatePipelinePortWithOpts(base CreatePipelinePort, pluginID, pluginName, pluginAlias *string) CreatePipelinePort

func (CreatePipelinePort) PluginAlias added in v1.4.7

func (in CreatePipelinePort) PluginAlias() *string

func (CreatePipelinePort) PluginID added in v1.4.7

func (in CreatePipelinePort) PluginID() *string

func (CreatePipelinePort) PluginName added in v1.4.7

func (in CreatePipelinePort) PluginName() *string

func (*CreatePipelinePort) SetPluginAlias added in v1.4.7

func (in *CreatePipelinePort) SetPluginAlias(pluginAlias string)

func (*CreatePipelinePort) SetPluginID added in v1.4.7

func (in *CreatePipelinePort) SetPluginID(pluginID string)

func (*CreatePipelinePort) SetPluginName added in v1.4.7

func (in *CreatePipelinePort) SetPluginName(pluginName string)

func (*CreatePipelinePort) SetPortKind added in v1.5.8

func (in *CreatePipelinePort) SetPortKind(kind PipelinePortKind)

type CreatePipelineSecret

type CreatePipelineSecret struct {
	Key   string `json:"key"`
	Value []byte `json:"value"`
}

CreatePipelineSecret request payload for creating a new pipeline secret.

type CreatePipelineStatus added in v1.4.7

type CreatePipelineStatus struct {
	Status PipelineStatusKind `json:"status"`
}

type CreateProcessingRule added in v0.9.1

type CreateProcessingRule struct {
	PipelineID    string                 `json:"-"`
	Match         string                 `json:"match"`
	IsMatchRegexp bool                   `json:"isMatchRegexp"`
	Language      ProcessingRuleLanguage `json:"language"`
	Actions       []RuleAction           `json:"actions"`
}

CreateProcessingRule request payload.

type CreateProcessingRuleTemplate added in v1.4.7

type CreateProcessingRuleTemplate struct {
	ProjectID       string            `json:"-"`
	Name            string            `json:"name"`
	Definition      ProcessingRuleDef `json:"definition"`
	PipelineVersion string            `json:"pipelineVersion"`
	Input           string            `json:"input"`
	IsRawInput      bool              `json:"isRawInput"`
}

type CreateProject

type CreateProject struct {
	Name string `json:"name"`
}

CreateProject request payload for creating a project.

type CreateResourceProfile

type CreateResourceProfile struct {
	Name                   string `json:"name"`
	StorageMaxChunksUp     uint   `json:"storageMaxChunksUp"`
	StorageSyncFull        bool   `json:"storageSyncFull"`
	StorageBacklogMemLimit string `json:"storageBacklogMemLimit"`
	StorageVolumeSize      string `json:"storageVolumeSize"`
	StorageMaxChunksPause  bool   `json:"storageMaxChunksPause"`
	CPUBufferWorkers       uint   `json:"cpuBufferWorkers"`
	CPULimit               string `json:"cpuLimit"`
	CPURequest             string `json:"cpuRequest"`
	MemoryLimit            string `json:"memoryLimit"`
	MemoryRequest          string `json:"memoryRequest"`
}

CreateResourceProfile request payload for creating a resource profile.

type CreateToken

type CreateToken struct {
	Name        string   `json:"name"`
	Permissions []string `json:"permissions"`
	// contains filtered or unexported fields
}

CreateToken request payload for creating a new token.

func (CreateToken) ID added in v1.4.7

func (in CreateToken) ID() string

func (*CreateToken) SetID added in v1.4.7

func (in *CreateToken) SetID(id string)

func (*CreateToken) SetSigningKey added in v1.4.7

func (in *CreateToken) SetSigningKey(signingKey []byte)

func (*CreateToken) SetToken added in v1.4.7

func (in *CreateToken) SetToken(token string)

func (CreateToken) SigningKey added in v1.4.7

func (in CreateToken) SigningKey() []byte

func (CreateToken) Token added in v1.4.7

func (in CreateToken) Token() string

type CreateTraceRecord added in v0.5.0

type CreateTraceRecord struct {
	Kind    TraceRecordKind `json:"type"`
	TraceID string          `json:"trace_id"`
	// StartTime in unix seconds.
	StartTime int64 `json:"start_time"`
	// EndTime in unix seconds.
	EndTime        int64  `json:"end_time"`
	PluginInstance string `json:"plugin_instance"`
	PluginAlias    string `json:"plugin_alias"`
	ReturnCode     int    `json:"return_code"`
	// Records array, each record is a JSON object,
	// warranted to have a flb_time `timestamp` field and a record
	// field with the actual record's values.
	Records json.RawMessage `json:"records"`
}

CreateTraceRecord payload for a single record in trace records.

type CreateTraceSession added in v0.5.0

type CreateTraceSession struct {
	Plugins  []string `json:"plugins"`
	Lifespan Duration `json:"lifespan"`
}

CreateTraceSession request payload for creating a new trace session.

type Created added in v1.4.7

type Created struct {
	ID        string    `json:"id" yaml:"id" db:"id"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt" db:"created_at"`
}

type CreatedCoreInstance added in v0.19.0

type CreatedCoreInstance struct {
	ID                     string            `json:"id"`
	Token                  string            `json:"token"`
	PrivateRSAKey          []byte            `json:"privateRSAKey"`
	PublicRSAKey           []byte            `json:"publicRSAKey"`
	Name                   string            `json:"name"`
	Version                string            `json:"version"`
	Image                  string            `json:"image"`
	CreatedAt              time.Time         `json:"createdAt"`
	Tags                   []string          `json:"tags"`
	HealthCheckPipeline    *Pipeline         `json:"healthCheckPipeline"`
	ClusterLoggingPipeline *Pipeline         `json:"clusterLoggingPipeline"`
	ResourceProfiles       []ResourceProfile `json:"resourceProfiles"`
	EnvironmentName        string            `json:"environmentName"`
	SkipServiceCreation    bool              `json:"skipServiceCreation"`
}

CreatedCoreInstance response payload after creating a core instance successfully.

type CreatedEnvironment added in v0.0.11

type CreatedEnvironment struct {
	ID         string     `json:"id" yaml:"id"`
	CreatedAt  time.Time  `json:"createdAt" yaml:"createdAt"`
	Membership Membership `json:"membership" yaml:"membership"`
}

type CreatedFluentBitPluginConfig added in v0.9.1

type CreatedFluentBitPluginConfig struct {
	ID        string    `json:"id" yaml:"id"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
}

CreatedFluentBitPluginConfig response payload after creating a fluent-bit plugin config successfully.

type CreatedMetrics added in v1.8.0

type CreatedMetrics struct {
	TotalInserted uint `json:"totalInserted"`
}

CreatedMetrics response model for created agent metrics.

type CreatedPipeline

type CreatedPipeline struct {
	ID                           string             `json:"id"`
	Name                         string             `json:"name"`
	Kind                         PipelineKind       `json:"kind"`
	Config                       PipelineConfig     `json:"config"`
	DeploymentStrategy           DeploymentStrategy `json:"deploymentStrategy"`
	Secrets                      []PipelineSecret   `json:"secrets"`
	Files                        []PipelineFile     `json:"files"`
	Status                       PipelineStatus     `json:"status"`
	ResourceProfile              ResourceProfile    `json:"resourceProfile"`
	Checks                       []PipelineCheck    `json:"checks"`
	ReplicasCount                uint               `json:"replicasCount"`
	WaitForChecksBeforeDeploying bool               `json:"waitForChecksBeforeDeploying"`
	CreatedAt                    time.Time          `json:"createdAt"`
}

CreatedPipeline response payload after creating a pipeline successfully.

type CreatedPipelinePort

type CreatedPipelinePort struct {
	ID          string    `json:"id"`
	PluginID    *string   `json:"pluginID" yaml:"pluginID"`
	PluginName  *string   `json:"pluginName" yaml:"pluginName"`
	PluginAlias *string   `json:"pluginAlias" yaml:"pluginAlias"`
	CreatedAt   time.Time `json:"createdAt"`
}

CreatedPipelinePort response payload after creating a pipeline port successfully.

type CreatedProcessingRule added in v0.9.1

type CreatedProcessingRule struct {
	ID              string    `json:"id" yaml:"id"`
	ConfigSectionID string    `json:"configSectionID" yaml:"configSectionID"`
	FileID          string    `json:"fileID" yaml:"fileID"`
	CreatedAt       time.Time `json:"createdAt" yaml:"createdAt"`
}

CreatedProcessingRule response payload.

type CreatedProject

type CreatedProject struct {
	ID         string     `json:"id"`
	Token      string     `json:"token"`
	CreatedAt  time.Time  `json:"createdAt"`
	Membership Membership `json:"membership"`
}

CreatedProject response payload after creating a project successfully.

type CreatedTraceRecord added in v0.6.1

type CreatedTraceRecord struct {
	ID        string    `json:"id" yaml:"id"`
	SessionID string    `json:"sessionID" yaml:"sessionID"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
}

CreatedTraceRecord response payload after creating an session record successfully.

type Deleted added in v1.4.7

type Deleted struct {
	Deleted   bool       `json:"deleted" yaml:"deleted" db:"deleted"`
	DeletedAt *time.Time `json:"deletedAt" yaml:"deletedAt" db:"deleted_at"`
}

type DeploymentStrategy added in v1.5.1

type DeploymentStrategy string
const (
	DeploymentStrategyRecreate  DeploymentStrategy = "recreate"
	DeploymentStrategyHotReload DeploymentStrategy = "hotReload"
)

type DismissAgentError added in v1.2.0

type DismissAgentError struct {
	AgentErrorID string `json:"-"`
	Reason       string `json:"reason"`
}

type DismissedAgentError added in v1.2.0

type DismissedAgentError struct {
	DismissedAt time.Time `json:"dismissedAt" yaml:"dismissedAt"`
}

type Duration added in v0.5.0

type Duration time.Duration

Duration is a time.Duration wrapper that adds support for encoding/json.

func (Duration) AsDuration added in v0.6.1

func (d Duration) AsDuration() time.Duration

func (Duration) MarshalJSON added in v0.5.0

func (d Duration) MarshalJSON() ([]byte, error)

func (*Duration) UnmarshalJSON added in v0.5.0

func (d *Duration) UnmarshalJSON(b []byte) error

type Environment added in v0.0.11

type Environment struct {
	ID        string    `json:"id" yaml:"id" `
	Name      string    `json:"name" yaml:"name" `
	ProjectID string    `json:"-" yaml:"-"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`
}

type Environments added in v0.0.11

type Environments struct {
	Items     []Environment
	EndCursor *string
}

type EnvironmentsParams added in v0.0.11

type EnvironmentsParams struct {
	Last   *uint
	Before *string
	Name   *string
}

type Error

type Error struct {
	Msg            string  `json:"error"`
	Detail         *string `json:"detail,omitempty"`
	Index          *uint   `json:"index,omitempty"`
	QuotaLimit     *uint   `json:"quotaLimit,omitempty"`
	QuotaRemaining *uint   `json:"quotaRemaining,omitempty"`
}

Error returned by the API.

func (*Error) Error

func (e *Error) Error() string

type Fleet added in v1.1.0

type Fleet struct {
	ID                  string           `json:"id" yaml:"id"`
	ProjectID           string           `json:"projectID" yaml:"projectID"`
	Name                string           `json:"name" yaml:"name"`
	MinFluentBitVersion string           `json:"minFluentBitVersion" yaml:"minFluentBitVersion"`
	RawConfig           string           `json:"rawConfig" yaml:"rawConfig"`
	ConfigFormat        ConfigFormat     `json:"configFormat" yaml:"configFormat"`
	Tags                []string         `json:"tags" yaml:"tags"`
	AgentsCount         FleetAgentsCount `json:"agentsCount" yaml:"agentsCount"`
	CreatedAt           time.Time        `json:"createdAt" yaml:"createdAt"`
	UpdatedAt           time.Time        `json:"updatedAt" yaml:"updatedAt"`
}

type FleetAgentsCount added in v1.4.7

type FleetAgentsCount struct {
	Active     uint `json:"active" yaml:"active"`
	Inactive   uint `json:"inactive" yaml:"inactive"`
	WithErrors uint `json:"errors" yaml:"withErrors"`
}

type FleetConfigParams added in v1.2.0

type FleetConfigParams struct {
	ConfigFormat *ConfigFormat
}

type FleetFile added in v1.5.6

type FleetFile struct {
	ID        string    `json:"id" yaml:"id"`
	Name      string    `json:"name" yaml:"name"`
	Contents  []byte    `json:"contents" yaml:"contents"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`
}

FleetFile model.

type FleetFiles added in v1.5.6

type FleetFiles struct {
	Items     []FleetFile
	EndCursor *string
}

FleetFiles paginated list.

type FleetFilesParams added in v1.5.6

type FleetFilesParams struct {
	Last   *uint
	Before *string
}

FleetFilesParams request payload for querying the fleet files.

type FleetParams added in v1.4.7

type FleetParams struct {
	FleetID      string
	ConfigFormat *ConfigFormat
}

FleetParams request payload for querying a single fleet.

type FleetStatusParams added in v1.6.1

type FleetStatusParams struct {
	FleetID string
}

type Fleets added in v1.1.0

type Fleets struct {
	Items     []Fleet `json:"items" yaml:"items"`
	EndCursor *string `json:"endCursor" yaml:"endCursor"`
}

type FleetsParams added in v1.1.0

type FleetsParams struct {
	ProjectID    string
	Name         *string
	TagsQuery    *string
	Last         *uint
	Before       *string
	ConfigFormat *ConfigFormat
	// contains filtered or unexported fields
}

func (*FleetsParams) SetTags added in v1.1.0

func (p *FleetsParams) SetTags(tt []string)

func (FleetsParams) Tags added in v1.1.0

func (p FleetsParams) Tags() ([]string, bool)

type FleetsStatus added in v1.6.1

type FleetsStatus struct {
	Managed    int `json:"managed"`
	Healthy    int `json:"healthy"`
	InProgress int `json:"inProgress"`
	Unhealthy  int `json:"unhealthy"`
}

type FleetsStatusParams added in v1.6.1

type FleetsStatusParams struct {
	ProjectID string
}

type FluentBitLog added in v0.9.1

type FluentBitLog struct {
	Timestamp FluentBitTime
	Attrs     FluentBitLogAttrs
}

FluentBitLog is the Go representation of a fluent-bit log record. Normally, the format is an array of mixed types. [timestamp, attrs] Where timestamp is a float with seconds and nanoseconds as fraction. And attrs being an object with string key and values.

func (FluentBitLog) AsSlice added in v0.9.1

func (l FluentBitLog) AsSlice() []any

func (FluentBitLog) MarshalJSON added in v0.9.1

func (l FluentBitLog) MarshalJSON() ([]byte, error)

MarshalJSON into fluent-bit json representation of [timestamp, attrs].

func (*FluentBitLog) UnmarshalJSON added in v0.9.1

func (l *FluentBitLog) UnmarshalJSON(b []byte) error

UnmarshalJSON parses fluent-big json representation of [timestamp, attrs].

type FluentBitLogAttrs added in v0.9.1

type FluentBitLogAttrs map[string]any

FluentBitLogAttrs wrapper.

type FluentBitPluginConfig added in v0.9.1

type FluentBitPluginConfig struct {
	ID         string                 `json:"id" yaml:"id"`
	ProjectID  string                 `json:"projectID" yaml:"projectID"`
	Kind       FluentBitPluginKind    `json:"kind" yaml:"kind"`
	Name       string                 `json:"name" yaml:"name"`
	Properties map[string]interface{} `json:"properties" yaml:"properties"`
	CreatedAt  time.Time              `json:"createdAt" yaml:"createdAt"`
	UpdatedAt  time.Time              `json:"updatedAt" yaml:"updatedAt"`
}

FluentBitPluginConfig model represents a fluent-bit plugin that can be reused across pipelines on a project.

type FluentBitPluginConfigs added in v0.9.1

type FluentBitPluginConfigs struct {
	Items     []FluentBitPluginConfig `json:"items" yaml:"items"`
	EndCursor *string                 `json:"endCursor" yaml:"endCursor"`
}

FluentBitPluginConfigs paginated list.

type FluentBitPluginConfigsParams added in v0.9.1

type FluentBitPluginConfigsParams struct {
	Last   *uint
	Before *string
}

FluentBitPluginConfigsParams request payload for querying the fluent-bit plugin configs.

type FluentBitPluginKind added in v0.9.1

type FluentBitPluginKind string

FluentBitPluginKind enum with known fluent-bit plugin types.

const (
	FluentBitPluginKindInput  FluentBitPluginKind = "input"
	FluentBitPluginKindFilter FluentBitPluginKind = "filter"
	FluentBitPluginKindOutput FluentBitPluginKind = "output"
)

type FluentBitTime added in v0.9.1

type FluentBitTime float64

FluentBitTime wrapper.

type Health added in v1.2.0

type Health struct {
	Version  string         `json:"version"`
	Postgres HealthPostgres `json:"postgres"`
}

type HealthPostgres added in v1.2.0

type HealthPostgres struct {
	OK bool `json:"ok"`
}

type IngestCheck added in v0.15.0

type IngestCheck struct {
	ID              string      `json:"id" yaml:"id"`
	ConfigSectionID string      `json:"-" yaml:"-"`
	Config          string      `json:"config" yaml:"config"`
	Status          CheckStatus `json:"status" yaml:"status"`
	CollectLogs     bool        `json:"collectLogs" yaml:"collectLogs"`
	Logs            []byte      `json:"logs" yaml:"logs"`
	Retries         uint        `json:"retries" yaml:"retries"`
	CreatedAt       time.Time   `json:"createdAt" yaml:"createdAt"`
	UpdatedAt       time.Time   `json:"updatedAt" yaml:"updatedAt"`
}

IngestCheck type for core_instance ingestion checks.

type IngestChecks added in v0.15.0

type IngestChecks struct {
	Items     []IngestCheck `json:"items" yaml:"items"`
	EndCursor *string       `json:"endCursor" yaml:"endCursor"`
}

IngestChecks paginated list.

type IngestChecksParams added in v0.15.0

type IngestChecksParams struct {
	Last   *uint
	Before *string
}

IngestChecksParams request payload for querying the core_instance ingestion checks.

type Invitation added in v1.4.7

type Invitation struct {
	ID          string    `json:"id"`
	ProjectID   string    `json:"-"`
	SigningKey  []byte    `json:"-"`
	Email       string    `json:"email"`
	Permissions []string  `json:"permissions"`
	CreatedAt   time.Time `json:"createdAt"`
}

type Label added in v1.8.0

type Label struct {
	Name  string `json:"name" msgpack:"name"`
	Value string `json:"value" msgpack:"value"`
}

Label model used internally for metrics.

type ListAgentErrors added in v1.2.0

type ListAgentErrors struct {
	AgentID   *string
	FleetID   *string
	Dismissed *bool
	Last      *uint
	Before    *string
}

type ListClusterObjectRegexes added in v1.4.7

type ListClusterObjectRegexes struct {
	PipelineID string
	Last       *uint
	Before     *string
}

type ListCoreInstanceFiles added in v1.5.2

type ListCoreInstanceFiles struct {
	CoreInstanceID string
	Last           *uint
	Before         *string
}

type ListCoreInstanceSecrets added in v1.5.2

type ListCoreInstanceSecrets struct {
	CoreInstanceID string
	Last           *uint
	Before         *string
}

type ListPipelineLogs added in v1.6.2

type ListPipelineLogs struct {
	PipelineID string
	Status     *PipelineLogStatus
	Last       *uint
	Before     *string
}

type ListProcessingRuleTemplates added in v1.4.7

type ListProcessingRuleTemplates struct {
	ProjectID string
	Last      *uint
	Before    *string
	Name      *string
}

type LogAttr added in v0.9.1

type LogAttr struct {
	Key   string `json:"key" yaml:"key"`
	Value string `json:"value" yaml:"value"`
}

LogAttr its the key-value pair in a log record.

type LogSelector added in v0.9.1

type LogSelector struct {
	Kind LogSelectorKind   `json:"kind" yaml:"kind"`
	Op   LogSelectorOpKind `json:"op" yaml:"op"`
	Expr string            `json:"expr" yaml:"expr"`
}

LogSelector used to match a log entry. Example:

  • Source.kind=key Op=equal Target=foo matches a log with a key equal to "foo" on it.
  • Source.kind=value Op=equal Target=bar matches a log with a value equal to "bar" on it.

type LogSelectorKind added in v0.9.1

type LogSelectorKind string

LogSelectorKind enum.

const (
	// LogSelectorKindKey matches a log using some of its keys.
	LogSelectorKindKey LogSelectorKind = "key"
)

type LogSelectorOpKind added in v0.9.1

type LogSelectorOpKind string

LogSelectorOpKind enum of the supported operations a selector.

const (
	// LogSelectorOpKindEqual matches a log key/value equally.
	LogSelectorOpKindEqual LogSelectorOpKind = "equal"
)

type MembersParams

type MembersParams struct {
	Last   *uint
	Before *string
}

MembersParams request payload for querying members.

type Membership

type Membership struct {
	ID          string           `json:"id" yaml:"id" db:"id"`
	UserID      string           `json:"userID" yaml:"userID" db:"user_id"`
	ProjectID   string           `json:"projectID" yaml:"projectID" db:"project_id"`
	Roles       []MembershipRole `json:"roles" yaml:"roles" db:"roles"`
	Permissions []string         `json:"permissions" yaml:"permissions" db:"permissions"`
	CreatedAt   time.Time        `json:"createdAt" yaml:"createdAt" db:"created_at"`

	User *User `json:"user" yaml:"user"`
}

Membership model.

func (Membership) CanManageMembership added in v1.6.7

func (m Membership) CanManageMembership(target Membership) bool

CanManageMembership checks if the current member has authority over the target member.

func (Membership) HasRole added in v1.6.7

func (m Membership) HasRole(role MembershipRole) bool

type MembershipRole

type MembershipRole string

MembershipRole type of membership role (creator/admin).

const (
	// MembershipRoleCreator creator membership role.
	MembershipRoleCreator MembershipRole = "creator"
	// MembershipRoleAdmin admin membership role.
	MembershipRoleAdmin MembershipRole = "admin"
)

type Memberships added in v0.0.8

type Memberships struct {
	Items     []Membership
	EndCursor *string
}

Memberships paginated list.

type MetadataAWS added in v0.3.8

type MetadataAWS struct {
	AMIID           string `json:"aws.ami_id,omitempty"`
	AccountID       string `json:"aws.account_id,omitempty"`
	Hostname        string `json:"aws.hostname,omitempty"`
	VPCID           string `json:"aws.vpc_id,omitempty"`
	PrivateIPv4     string `json:"aws.private_ipv4,omitempty"`
	PublicIPv4      string `json:"aws.public_ipv4,omitempty"`
	EC2InstanceID   string `json:"aws.ec2_instance_id,omitempty"`
	EC2InstanceType string `json:"aws.ec2_instance_type,omitempty"`
	AZ              string `json:"aws.az,omitempty"`
}

MetadataAWS See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html

type MetadataGCP added in v0.3.8

type MetadataGCP struct {
	ProjectNumber uint64 `json:"gcp.project_number,omitempty"`
	ProjectID     string `json:"gcp.project_id,omitempty"`
	InstanceID    uint64 `json:"gcp.instance_id,omitempty"`
	InstanceImage string `json:"gcp.instance_image,omitempty"`
	MachineType   string `json:"gcp.machine_type,omitempty"`
	InstanceName  string `json:"gcp.instance_name,omitempty"`
	Zone          string `json:"gcp.zone,omitempty"`
}

MetadataGCP See: https://cloud.google.com/compute/docs/metadata/default-metadata-values

type MetadataK8S added in v0.3.8

type MetadataK8S struct {
	Namespace       string `json:"k8s.namespace,omitempty"`
	ClusterName     string `json:"k8s.cluster_name,omitempty"`
	Zone            string `json:"k8s.zone,omitempty"`
	ClusterVersion  string `json:"k8s.cluster_version,omitempty"`
	ClusterPlatform string `json:"k8s.cluster_platform,omitempty"`
}

MetadataK8S See: https://github.com/kubernetes/website/blob/60390ff3c0ef0043a58568ad2e4c2b7634028074/content/en/examples/pods/inject/dapi-volume.yaml#L5 For further cluster information data that can be included check: https://pkg.go.dev/k8s.io/client-go/discovery#DiscoveryClient.

type Metric added in v1.5.1

type Metric struct {
	Meta   MetricMeta    `json:"meta" msgpack:"meta"`
	Values []MetricValue `json:"values" msgpack:"values"`
}

type MetricAggregationType added in v1.8.0

type MetricAggregationType int
const (
	MetricAggregationTypeUnspecified MetricAggregationType = iota
	MetricAggregationTypeDelta
	MetricAggregationTypeCumulative
)

https://github.com/fluent/fluent-bit/blob/9d9ac68a2b45a4cedeafbf7c5aba513f494eced6/lib/cmetrics/include/cmetrics/cmetrics.h#L32-L34

func (MetricAggregationType) GoString added in v1.8.0

func (t MetricAggregationType) GoString() string

func (MetricAggregationType) String added in v1.8.0

func (t MetricAggregationType) String() string

type MetricMeta added in v1.8.0

type MetricMeta struct {
	// AggregationType MetricAggregationType `json:"aggregation_type" msgpack:"aggregation_type"`
	// Labels contains only the label keys.
	Labels []string       `json:"labels" msgpack:"labels"` // ex: ["hostname", "name"]
	Opts   MetricMetaOpts `json:"opts" msgpack:"opts"`
	Type   MetricType     `json:"type" msgpack:"type"`
}

type MetricMetaOpts added in v1.8.0

type MetricMetaOpts struct {
	Desc      string `json:"desc" msgpack:"desc"`
	Name      string `json:"name" msgpack:"name"` // ex: bytes_total
	Namespace string `json:"ns" msgpack:"ns"`     // ex: fluentbit
	Subsystem string `json:"ss" msgpack:"ss"`     // ex: input
}

type MetricOverTime added in v0.15.0

type MetricOverTime struct {
	Time  time.Time `json:"time"`
	Value float64   `json:"value"`
}

type MetricType added in v1.8.0

type MetricType int
const (
	MetricTypeCounter MetricType = iota
	MetricTypeGauge
	MetricTypeHistogram
	MetricTypeSummary
	MetricTypeUntyped
)

https://github.com/fluent/fluent-bit/blob/9d9ac68a2b45a4cedeafbf7c5aba513f494eced6/lib/cmetrics/include/cmetrics/cmetrics.h#L26-L30

func (MetricType) GoString added in v1.8.0

func (t MetricType) GoString() string

func (MetricType) String added in v1.8.0

func (t MetricType) String() string

type MetricValue added in v1.8.0

type MetricValue struct {
	// Hash int64 `json:"hash" msgpack:"hash"`
	// Labels contains the label values from the metric meta label keys.
	// It should match the length of the metric meta label keys.
	Labels []string `json:"labels" msgpack:"labels"` // ex: ["dummy.0"]
	TS     int64    `json:"ts" msgpack:"ts"`         // nanoseconds
	Value  float64  `json:"value" msgpack:"value"`
}

func (MetricValue) Time added in v1.8.0

func (v MetricValue) Time() time.Time

type MetricsFilter added in v0.15.0

type MetricsFilter struct {
	Records     float64 `json:"records"`
	Bytes       float64 `json:"bytes"`
	AddRecords  float64 `json:"addRecords"`
	DropRecords float64 `json:"dropRecords"`
	EmitRecords float64 `json:"emitRecords"`
}

MetricsFilter stores totals for a core instance filter.

type MetricsFilterPlugin added in v0.15.0

type MetricsFilterPlugin struct {
	Instance string        `json:"instance"`
	Metrics  MetricsFilter `json:"metrics"`
}

type MetricsInput added in v0.15.0

type MetricsInput struct {
	Bytes   float64 `json:"bytes"`
	Records float64 `json:"records"`
}

MetricsInput stores totals for a core instance input.

type MetricsInputPlugin added in v0.15.0

type MetricsInputPlugin struct {
	Instance string       `json:"instance"`
	Metrics  MetricsInput `json:"metrics"`
}

type MetricsOutput added in v0.15.0

type MetricsOutput struct {
	Bytes          float64 `json:"bytes"`
	Records        float64 `json:"records"`
	Errors         float64 `json:"errors"`
	Retries        float64 `json:"retries"`
	RetriedRecords float64 `json:"retriedRecords"`
	RetriesFailed  float64 `json:"retriesFailed"`
	DroppedRecords float64 `json:"droppedRecords"`

	// Deprecated: `load` is not a valid counter metric.
	// TODO: review `load` output metrics as they might not even exists in the first place.
	Loads float64 `json:"loads"`
}

MetricsOutput stores totals for a core instance output.

type MetricsOutputPlugin added in v0.15.0

type MetricsOutputPlugin struct {
	Instance string        `json:"instance"`
	Metrics  MetricsOutput `json:"metrics"`
}

type MetricsOverTime added in v0.15.0

type MetricsOverTime struct {
	Input  MetricsOverTimeInput  `json:"input"`
	Filter MetricsOverTimeFilter `json:"filter"`
	Output MetricsOverTimeOutput `json:"output"`
}

MetricsOverTime stores a list of metrics over time for a core instance.

type MetricsOverTimeByPlugin added in v0.15.0

type MetricsOverTimeByPlugin struct {
	Inputs  []MetricsOverTimeByPluginInput  `json:"inputs"`
	Filters []MetricsOverTimeByPluginFilter `json:"filters"`
	Outputs []MetricsOverTimeByPluginOutput `json:"outputs"`
}

MetricsOverTimeByPlugin stores a list of metrics over time for a core instance for a specific plugin.

type MetricsOverTimeByPluginFilter added in v0.15.0

type MetricsOverTimeByPluginFilter struct {
	Instance string                `json:"instance"`
	Metrics  MetricsOverTimeFilter `json:"metrics"`
}

MetricsOverTimeByPluginFilter stores a list of metrics over time for core instance filters organized by plugin.

type MetricsOverTimeByPluginInput added in v0.15.0

type MetricsOverTimeByPluginInput struct {
	Instance string               `json:"instance"`
	Metrics  MetricsOverTimeInput `json:"metrics"`
}

MetricsOverTimeByPluginInput stores a list of metrics over time for core instance inputs organized by plugin.

type MetricsOverTimeByPluginOutput added in v0.15.0

type MetricsOverTimeByPluginOutput struct {
	Instance string                `json:"instance"`
	Metrics  MetricsOverTimeOutput `json:"metrics"`
}

MetricsOverTimeByPluginOutput stores a list of metrics over time for core instance outputs organized by plugin.

type MetricsOverTimeFilter added in v0.15.0

type MetricsOverTimeFilter struct {
	Bytes       []MetricOverTime `json:"bytes"`
	Records     []MetricOverTime `json:"records"`
	AddRecords  []MetricOverTime `json:"addRecords"`
	DropRecords []MetricOverTime `json:"dropRecords"`
	EmitRecords []MetricOverTime `json:"emitRecords"`
}

MetricsOverTimeFilter stores a list of metrics over time for a core instance filter.

type MetricsOverTimeInput added in v0.15.0

type MetricsOverTimeInput struct {
	Bytes   []MetricOverTime `json:"bytes"`
	Records []MetricOverTime `json:"records"`
}

MetricsOverTimeInput stores a list of metrics over time for a core instance input.

type MetricsOverTimeOutput added in v0.15.0

type MetricsOverTimeOutput struct {
	Bytes          []MetricOverTime `json:"bytes"`
	Records        []MetricOverTime `json:"records"`
	Errors         []MetricOverTime `json:"errors"`
	Retries        []MetricOverTime `json:"retries"`
	RetriedRecords []MetricOverTime `json:"retriedRecords"`
	RetriesFailed  []MetricOverTime `json:"retriesFailed"`
	DroppedRecords []MetricOverTime `json:"droppedRecords"`

	// Deprecated: `load` is not a valid counter metric.
	// TODO: review `load` output metrics as they might not even exists in the first place.
	Loads []MetricOverTime `json:"loads"`
}

MetricsOverTimeOutput stores a list of metrics over time for a core instance output.

type MetricsParams

type MetricsParams struct {
	Start    time.Duration
	Interval time.Duration
}

MetricsParams parameters to filtering metrics by.

type MetricsSummary added in v0.15.0

type MetricsSummary struct {
	Input  MetricsInput  `json:"input"`
	Filter MetricsFilter `json:"filter"`
	Output MetricsOutput `json:"output"`
}

MetricsSummary is the rate of metrics per second. For example, the amount of input records per second, or the amount of output bytes per second. It returns the current (last) value of the metric.

type MetricsSummaryPlugin added in v0.15.0

type MetricsSummaryPlugin struct {
	Inputs  []MetricsInputPlugin  `json:"inputs"`
	Filters []MetricsFilterPlugin `json:"filters"`
	Outputs []MetricsOutputPlugin `json:"outputs"`
}

MetricsSummaryPlugin stores a list of totals for a core instance for a specific plugin.

type Pair added in v0.9.1

type Pair struct {
	Key   string `json:"key" yaml:"key"`
	Value any    `json:"value" yaml:"value"`
}

Pair struct. It can be used to define any sorted key value pairs. For example fluent-bit config section properties.

type Pairs added in v0.9.1

type Pairs []Pair

Pairs list.

func (Pairs) AsMap added in v0.9.1

func (pp Pairs) AsMap() map[string]any

func (Pairs) AsProperties added in v0.18.0

func (pp Pairs) AsProperties() property.Properties

func (Pairs) FixFloats added in v0.9.1

func (pp Pairs) FixFloats()

FixFloats handles JSON side-effect of converting numbers into float64 when using `any` type. This tries to convert them back into int when possible. Call this method after json unmarshalling.

func (Pairs) Get added in v0.9.1

func (pp Pairs) Get(key string) (any, bool)

Get a value matching its key case-insensitively.

func (Pairs) Has added in v0.9.1

func (pp Pairs) Has(key string) bool

Has checks whether the key exists (case-insensitively).

func (*Pairs) Remove added in v0.9.1

func (pp *Pairs) Remove(key string)

Remove a value using the given key (case-insensitively).

func (*Pairs) Set added in v0.9.1

func (pp *Pairs) Set(key string, value any)

Set a value, overriding any axisting key (case-insensitively).

type Pipeline

type Pipeline struct {
	ID                           string             `json:"id" yaml:"id"`
	Name                         string             `json:"name" yaml:"name"`
	Kind                         PipelineKind       `json:"kind" yaml:"kind"`
	Config                       PipelineConfig     `json:"config" yaml:"config"`
	ConfigSections               []ConfigSection    `json:"configSections" yaml:"configSections"`
	Image                        *string            `json:"image" yaml:"image"`
	Status                       PipelineStatus     `json:"status" yaml:"status"`
	ResourceProfile              ResourceProfile    `json:"resourceProfile" yaml:"resourceProfile"`
	DeploymentStrategy           DeploymentStrategy `json:"deploymentStrategy,omitempty" yaml:"deploymentStrategy,omitempty"`
	TracingEnabled               bool               `json:"tracingEnabled" yaml:"tracingEnabled"`
	WaitForChecksBeforeDeploying bool               `json:"waitForChecksBeforeDeploying" yaml:"waitForChecksBeforeDeploying"`
	ReplicasCount                uint               `json:"replicasCount" yaml:"replicasCount"`
	ReplicasCountPrev            uint               `json:"replicasCountPrev" yaml:"replicasCountPrev"`
	Tags                         []string           `json:"tags" yaml:"tags"`
	Metadata                     *json.RawMessage   `json:"metadata" yaml:"metadata"`
	ChecksTotal                  uint               `json:"checksTotal" yaml:"checksTotal"`
	ChecksOK                     uint               `json:"checksOK" yaml:"checksOK"`
	ChecksRunning                uint               `json:"checksRunning" yaml:"checksRunning"`
	CreatedAt                    time.Time          `json:"createdAt" yaml:"createdAt"`
	UpdatedAt                    time.Time          `json:"updatedAt" yaml:"updatedAt"`
	Ports                        []PipelinePort     `json:"ports,omitempty" yaml:"ports,omitempty"`
	Files                        []PipelineFile     `json:"files,omitempty" yaml:"files,omitempty"`
	Secrets                      []PipelineSecret   `json:"secrets,omitempty" yaml:"secrets,omitempty"`
}

Pipeline model.

func (*Pipeline) ApplyConfigSections added in v1.4.7

func (p *Pipeline) ApplyConfigSections() error

type PipelineCheck added in v0.9.1

type PipelineCheck struct {
	Check
	ID        string    `json:"id" yaml:"id"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`
}

PipelineCheck type for pipeline level checks.

type PipelineChecks added in v0.9.1

type PipelineChecks struct {
	Items     []PipelineCheck `json:"items" yaml:"items"`
	EndCursor *string         `json:"endCursor" yaml:"endCursor"`
}

PipelineChecks paginated list.

type PipelineChecksParams added in v0.9.1

type PipelineChecksParams struct {
	Last   *uint
	Before *string
}

PipelineChecksParams request payload for querying the core_instance checks.

type PipelineClusterObjectsParams added in v0.19.0

type PipelineClusterObjectsParams struct {
	Last   *uint
	Before *string
}

PipelineClusterObjectsParams request payload to filter cluster objects belonging to a pipeline.

type PipelineConfig

type PipelineConfig struct {
	ID           string       `json:"id" yaml:"id"`
	RawConfig    string       `json:"rawConfig" yaml:"rawConfig"`
	ConfigFormat ConfigFormat `json:"configFormat"`
	CreatedAt    time.Time    `json:"createdAt" yaml:"createdAt"`
}

PipelineConfig model.

func (*PipelineConfig) ApplyFormat added in v1.4.7

func (c *PipelineConfig) ApplyFormat(format ConfigFormat) error

type PipelineConfigHistory added in v0.0.8

type PipelineConfigHistory struct {
	Items     []PipelineConfig
	EndCursor *string
}

PipelineConfigHistory paginated list.

type PipelineConfigHistoryParams

type PipelineConfigHistoryParams struct {
	Last         *uint
	Before       *string
	ConfigFormat *ConfigFormat
}

PipelineConfigHistoryParams request payload for querying the pipeline config history.

type PipelineEvent added in v0.9.1

type PipelineEvent struct {
	Source   PipelineEventSource `json:"source" yaml:"source"`
	Reason   string              `json:"reason" yaml:"reason"`
	Message  string              `json:"message" yaml:"message"`
	LoggedAt time.Time           `json:"loggedAt" yaml:"loggedAt"`
}

PipelineEvent model.

type PipelineEventSource added in v0.9.1

type PipelineEventSource string
const (
	PipelineEventSourceDeployment PipelineEventSource = "k8s:deployment"
	PipelineEventSourcePod        PipelineEventSource = "k8s:pod"
)

type PipelineFile

type PipelineFile struct {
	ID              string    `json:"id" yaml:"id"`
	Name            string    `json:"name" yaml:"name"`
	Contents        []byte    `json:"contents" yaml:"contents"`
	Encrypted       bool      `json:"encrypted" yaml:"encrypted"`
	ProcesingRuleID *string   `json:"procesingRuleID" yaml:"procesingRuleID"`
	CreatedAt       time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt       time.Time `json:"updatedAt" yaml:"updatedAt"`
}

PipelineFile model.

type PipelineFiles added in v0.0.8

type PipelineFiles struct {
	Items     []PipelineFile
	EndCursor *string
}

PipelineFiles paginated list.

type PipelineFilesParams

type PipelineFilesParams struct {
	Last   *uint
	Before *string
}

PipelineFilesParams request payload for querying the pipeline files.

type PipelineKind added in v0.9.1

type PipelineKind string
const (
	PipelineKindDaemonSet  PipelineKind = "daemonSet"
	PipelineKindDeployment PipelineKind = "deployment"
)

type PipelineLog added in v1.6.2

type PipelineLog struct {
	ID         string            `json:"id" yaml:"id" db:"id"`
	PipelineID string            `json:"pipelineID" yaml:"pipelineID" db:"pipeline_id"`
	Status     PipelineLogStatus `json:"status" yaml:"status" db:"status"`
	Lines      int               `json:"lines" yaml:"lines" db:"lines"`
	Logs       string            `json:"logs" yaml:"logs" db:"logs"`
	CreatedAt  time.Time         `json:"createdAt" yaml:"createdAt" db:"created_at"`
	UpdatedAt  time.Time         `json:"updatedAt" yaml:"updatedAt" db:"updated_at"`
}

type PipelineLogStatus added in v1.6.5

type PipelineLogStatus string
const (
	PipelineLogStatusNew  PipelineLogStatus = "NEW"
	PipelineLogStatusDone PipelineLogStatus = "DONE"
)

type PipelineLogs added in v1.6.2

type PipelineLogs struct {
	Items     []PipelineLog `json:"items" yaml:"items"`
	EndCursor *string       `json:"endCursor" yaml:"endCursor"`
	Count     uint          `json:"count" yaml:"count"`
}

type PipelineMetadata added in v1.4.7

type PipelineMetadata map[string]any

PipelineMetadata is the default metadata format for a pipeline.

type PipelineMetadataParams added in v1.4.7

type PipelineMetadataParams struct {
	Keys *[]string
}

PipelineMetadataParams request payload for listing metadata from keys.

type PipelineObjectsParams added in v1.2.4

type PipelineObjectsParams struct {
	Files   bool // include files in the response.
	Secrets bool // include secrets in the response.
	Ports   bool // include ports in the response.
}

PipelineObjectsParams represents the options for including different types of pipeline objects in the response.

func NewPipelineObjectsParams added in v1.2.4

func NewPipelineObjectsParams(r *http.Request) *PipelineObjectsParams

NewPipelineObjectsParams creates and returns a new PipelineObjectsParams object based on the "include" parameter in the given request.

type PipelineParams added in v0.3.0

type PipelineParams struct {
	ConfigFormat             *ConfigFormat
	RenderWithConfigSections bool
}

PipelineParams request payload for querying a single pipeline.

type PipelinePort

type PipelinePort struct {
	ID           string           `json:"id" yaml:"id"`
	Protocol     string           `json:"protocol" yaml:"protocol"`
	FrontendPort uint             `json:"frontendPort" yaml:"frontendPort"`
	BackendPort  uint             `json:"backendPort" yaml:"backendPort"`
	Kind         PipelinePortKind `json:"kind" yaml:"kind"`
	Endpoint     string           `json:"endpoint" yaml:"endpoint"`
	PluginID     *string          `json:"pluginID" yaml:"pluginID"`
	PluginName   *string          `json:"pluginName" yaml:"pluginName"`
	PluginAlias  *string          `json:"pluginAlias" yaml:"pluginAlias"`
	CreatedAt    time.Time        `json:"createdAt" yaml:"createdAt"`
	UpdatedAt    time.Time        `json:"updatedAt" yaml:"updatedAt"`
}

PipelinePort model.

type PipelinePortKind added in v1.5.8

type PipelinePortKind string
const (
	PipelinePortKindClusterIP    PipelinePortKind = "ClusterIP"
	PipelinePortKindLoadBalancer PipelinePortKind = "LoadBalancer"
	PipelinePortKindNodePort     PipelinePortKind = "NodePort"
)

type PipelinePortProtocol added in v0.9.1

type PipelinePortProtocol string

PipelinePortProtocol valid protocol types defined for a pipeline.

const (
	PipelineProtocolTCP PipelinePortProtocol = "tcp"
	PipelineProtocolUDP PipelinePortProtocol = "udp"
)

type PipelinePorts added in v0.0.8

type PipelinePorts struct {
	Items     []PipelinePort `json:"items" yaml:"items"`
	EndCursor *string        `json:"endCursor" yaml:"endCursor"`
}

PipelinePorts paginated list.

type PipelinePortsParams

type PipelinePortsParams struct {
	Last   *uint
	Before *string
}

PipelinePortsParams request payload for querying the pipeline ports.

type PipelineSecret

type PipelineSecret struct {
	ID        string    `json:"id" yaml:"id"`
	Key       string    `json:"key" yaml:"key"`
	Value     []byte    `json:"value" yaml:"value"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`
}

PipelineSecret model.

type PipelineSecrets added in v0.0.8

type PipelineSecrets struct {
	Items     []PipelineSecret
	EndCursor *string
}

PipelineSecrets paginated list.

type PipelineSecretsParams

type PipelineSecretsParams struct {
	Last   *uint
	Before *string
}

PipelineSecretsParams request payload for querying the pipeline secrets.

type PipelineStatus

type PipelineStatus struct {
	ID        string             `json:"id" yaml:"id"`
	Config    PipelineConfig     `json:"config" yaml:"config"`
	Status    PipelineStatusKind `json:"status" yaml:"status"`
	Events    []PipelineEvent    `json:"events" yaml:"events"`
	CreatedAt time.Time          `json:"createdAt" yaml:"createdAt"`
}

PipelineStatus model.

type PipelineStatusHistory added in v0.0.8

type PipelineStatusHistory struct {
	Items     []PipelineStatus
	EndCursor *string
}

PipelineStatusHistory paginated list.

type PipelineStatusHistoryParams

type PipelineStatusHistoryParams struct {
	Last         *uint
	Before       *string
	Status       *PipelineStatusKind
	ConfigFormat *ConfigFormat
}

PipelineStatusHistoryParams request payload for querying the pipeline status history.

type PipelineStatusKind

type PipelineStatusKind string

PipelineStatusKind enum.

const (
	// PipelineStatusNew is the default status right after a pipeline is created.
	PipelineStatusNew PipelineStatusKind = "NEW"
	// PipelineStatusFailed is the status when a pipeline fails.
	PipelineStatusFailed PipelineStatusKind = "FAILED"
	// PipelineStatusStarting is the status of a starting pipeline.
	PipelineStatusStarting PipelineStatusKind = "STARTING"
	// PipelineStatusStarted is the status of a started pipeline.
	PipelineStatusStarted PipelineStatusKind = "STARTED"
	// PipelineStatusScaling is the status of a pipeline while scaling up/down.
	PipelineStatusScaling PipelineStatusKind = "SCALING"
	// PipelineStatusChecksOK is the status marked when all the checks associated
	// with a pipeline are OK. Must be a temporary status before deployment.
	PipelineStatusChecksOK PipelineStatusKind = "CHECKS_OK"
	// PipelineStatusChecksFailed PipelineStatusCheckFailed is the status marked when any of the checks associated
	// with a pipeline FAIL. Must be a temporary status before deployment.
	PipelineStatusChecksFailed PipelineStatusKind = "CHECKS_FAILED"
)

type Pipelines added in v0.0.8

type Pipelines struct {
	Items     []Pipeline `json:"items"`
	EndCursor *string    `json:"endCursor"`
	Count     int        `json:"count"`
}

Pipelines paginated list.

type PipelinesMetricsParams added in v0.6.2

type PipelinesMetricsParams struct {
	MetricsParams
	PipelineIDs []string
}

PipelinesMetricsParams request payload for bulk querying pipeline metrics for a given aggregator.

type PipelinesParams

type PipelinesParams struct {
	ProjectID      *string
	CoreInstanceID *string

	Last                     *uint
	Before                   *string
	Kind                     *PipelineKind
	Name                     *string
	TagsQuery                *string
	ConfigFormat             *ConfigFormat
	IncludeObjects           *PipelineObjectsParams
	RenderWithConfigSections bool
}

PipelinesParams represents the request payload for querying pipelines.

func (PipelinesParams) Tags added in v0.0.10

func (p PipelinesParams) Tags() *[]string

type PreviewProcessingRule added in v0.9.1

type PreviewProcessingRule struct {
	Language ProcessingRuleLanguage `json:"language"`
	Actions  []RuleAction           `json:"actions"`
	Logs     []FluentBitLog         `json:"logs"`
}

PreviewProcessingRule request payload to run and preview the input/output of a processing rule. Given some sample logs, and some actions, it shows the output log records.

type ProcessingRule added in v0.9.1

type ProcessingRule struct {
	ID              string                 `json:"id" yaml:"id"`
	PipelineID      string                 `json:"pipelineID" yaml:"pipelineID"`
	ConfigSectionID string                 `json:"configSectionID" yaml:"configSectionID"`
	FileID          string                 `json:"fileID" yaml:"fileID"`
	Match           string                 `json:"match" yaml:"match"`
	IsMatchRegexp   bool                   `json:"isMatchRegexp" yaml:"isMatchRegexp"`
	Language        ProcessingRuleLanguage `json:"language" yaml:"language"`
	Actions         []RuleAction           `json:"actions" yaml:"actions"`
	CreatedAt       time.Time              `json:"createdAt" yaml:"createdAt"`
	UpdatedAt       time.Time              `json:"updatedAt" yaml:"updatedAt"`
}

ProcessingRule defines a set of actions that eventually will get translated into a single fluent-bif filter. This filter is stored as a config section associated with a pipeline.

type ProcessingRuleDef added in v1.4.7

type ProcessingRuleDef struct {
	Name  string `json:"name" yaml:"name"`
	Match string `json:"match" yaml:"match"`
	Code  string `json:"code" yaml:"code"`
	Call  string `json:"call" yaml:"call"`
}

type ProcessingRuleLanguage added in v0.9.1

type ProcessingRuleLanguage string

ProcessingRuleLanguage enum of scripting languages a processing rule supports.

const ProcessingRuleLanguageLua ProcessingRuleLanguage = "lua"

ProcessingRuleLanguageLua will produce a filter in Lua.

type ProcessingRuleTemplate added in v1.4.7

type ProcessingRuleTemplate struct {
	ID              string            `json:"id" yaml:"id" db:"id"`
	ProjectID       string            `json:"projectID" yaml:"projectID" db:"project_id"`
	Name            string            `json:"name" yaml:"name" db:"name"`
	Definition      ProcessingRuleDef `json:"definition" yaml:"definition" db:"definition"`
	PipelineVersion string            `json:"pipelineVersion" yaml:"pipelineVersion" db:"pipeline_version"`
	Input           string            `json:"input" yaml:"input" db:"input"`
	IsRawInput      bool              `json:"isRawInput" yaml:"isRawInput" db:"is_raw_input"`
	CreatedAt       time.Time         `json:"createdAt" yaml:"createdAt" db:"created_at"`
	UpdatedAt       time.Time         `json:"updatedAt" yaml:"updatedAt" db:"updated_at"`
}

type ProcessingRuleTemplates added in v1.4.7

type ProcessingRuleTemplates struct {
	Items     []ProcessingRuleTemplate       `json:"items" yaml:"items"`
	EndCursor *string                        `json:"endCursor" yaml:"endCursor"`
	Count     uint                           `json:"count" yaml:"count"`
	Static    []StaticProcessingRuleTemplate `json:"static" yaml:"static"`
}

type ProcessingRules added in v0.9.1

type ProcessingRules struct {
	Items     []ProcessingRule `json:"items" yaml:"items"`
	EndCursor *string          `json:"endCursor" yaml:"endCursor"`
}

ProcessingRules paginated list.

type ProcessingRulesParams added in v0.9.1

type ProcessingRulesParams struct {
	PipelineID string
	Last       *uint
	Before     *string
}

ProcessingRulesParams request payload for querying processing rules.

type Project

type Project struct {
	ID                 string    `json:"id" yaml:"id"`
	Name               string    `json:"name" yaml:"name"`
	MembersCount       uint      `json:"membersCount" yaml:"membersCount"`
	AgentsCount        uint      `json:"agentsCount" yaml:"agentsCount"`
	CoreInstancesCount uint      `json:"aggregatorsCount" yaml:"aggregatorsCount"`
	CreatedAt          time.Time `json:"createdAt" yaml:"createdAt"`

	Membership *Membership `json:"membership" yaml:"membership"`
}

Project model.

type Projects added in v0.0.8

type Projects struct {
	Items     []Project
	EndCursor *string
}

Projects paginated list.

type ProjectsParams

type ProjectsParams struct {
	Last   *uint
	Before *string
	Name   *string
}

ProjectsParams request payload for querying projects.

type Quotas added in v1.4.7

type Quotas struct {
	Agents          uint
	CoreInstances   uint
	Pipelines       uint
	PipelineFiles   uint
	PipelineSecrets uint
	Fleets          uint
	FleetFiles      uint
}

type RegisterAgent

type RegisterAgent struct {
	EnvironmentID   string           `json:"environmentID"`
	FleetID         *string          `json:"fleetID"`
	Name            string           `json:"name"`
	MachineID       string           `json:"machineID"`
	Type            AgentType        `json:"type"`
	Version         string           `json:"version"`
	Edition         AgentEdition     `json:"edition"`
	OperatingSystem *AgentOS         `json:"os"`
	Architecture    *AgentArch       `json:"arch"`
	Flags           []string         `json:"flags"`
	RawConfig       string           `json:"rawConfig"`
	Metadata        *json.RawMessage `json:"metadata"`
	Tags            []string         `json:"tags"`
	// contains filtered or unexported fields
}

RegisterAgent request payload for registering a new agent.

func (RegisterAgent) ID added in v1.4.7

func (in RegisterAgent) ID() string

func (*RegisterAgent) SetID added in v1.4.7

func (in *RegisterAgent) SetID(id string)

func (*RegisterAgent) SetSigningKey added in v1.4.7

func (in *RegisterAgent) SetSigningKey(signingKey []byte)

func (*RegisterAgent) SetToken added in v1.4.7

func (in *RegisterAgent) SetToken(token string)

func (RegisterAgent) SigningKey added in v1.4.7

func (in RegisterAgent) SigningKey() []byte

func (RegisterAgent) Token added in v1.4.7

func (in RegisterAgent) Token() string

type RegisteredAgent

type RegisteredAgent struct {
	ID              string    `json:"id"`
	Token           string    `json:"token"`
	Name            string    `json:"name"`
	CreatedAt       time.Time `json:"createdAt"`
	EnvironmentName string    `json:"environmentName"`
}

RegisteredAgent response payload after registering an agent successfully.

type ResourceProfile

type ResourceProfile struct {
	ID                     string    `json:"id" yaml:"id"`
	Name                   string    `json:"name" yaml:"name"`
	StorageMaxChunksUp     int       `json:"storageMaxChunksUp" yaml:"storageMaxChunksUp"`
	StorageSyncFull        bool      `json:"storageSyncFull" yaml:"storageSyncFull"`
	StorageBacklogMemLimit string    `json:"storageBacklogMemLimit" yaml:"storageBacklogMemLimit"`
	StorageVolumeSize      string    `json:"storageVolumeSize" yaml:"storageVolumeSize"`
	StorageMaxChunksPause  bool      `json:"storageMaxChunksPause" yaml:"storageMaxChunksPause"`
	CPUBufferWorkers       int       `json:"cpuBufferWorkers" yaml:"cpuBufferWorkers"`
	CPULimit               string    `json:"cpuLimit" yaml:"cpuLimit"`
	CPURequest             string    `json:"cpuRequest" yaml:"cpuRequest"`
	MemoryLimit            string    `json:"memoryLimit" yaml:"memoryLimit"`
	MemoryRequest          string    `json:"memoryRequest" yaml:"memoryRequest"`
	CreatedAt              time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt              time.Time `json:"updatedAt" yaml:"updatedAt"`
}

ResourceProfile model.

type ResourceProfiles added in v0.0.8

type ResourceProfiles struct {
	Items     []ResourceProfile
	EndCursor *string
}

ResourceProfiles paginated list.

type ResourceProfilesParams

type ResourceProfilesParams struct {
	Last   *uint
	Before *string
}

ResourceProfilesParams request payload for querying resource profiles.

type RuleAction added in v0.9.1

type RuleAction struct {
	Kind        RuleActionKind `json:"kind" yaml:"kind"`
	Description string         `json:"description" yaml:"description"`
	Enabled     bool           `json:"enabled" yaml:"enabled"`

	Selectors []LogSelector `json:"selectors" yaml:"selectors"`

	Add      *LogAttr `json:"add,omitempty" yaml:"add,omitempty"`
	RenameTo *string  `json:"renameTo,omitempty" yaml:"renameTo,omitempty"`
	CopyAs   *string  `json:"copyAs,omitempty" yaml:"copyAs,omitempty"`
	MaskWith *string  `json:"maskWith,omitempty" yaml:"maskWith,omitempty"`
}

RuleAction within a processing rule. Each action is processed in order.

type RuleActionKind added in v0.9.1

type RuleActionKind string

RuleActionKind enum of the different action kinds a processing rule can have.

const (
	// RuleActionKindAdd adds a key-value pair to the log record.
	RuleActionKindAdd RuleActionKind = "add"
	// RuleActionKindRename renames the matching key into the new key.
	RuleActionKindRename RuleActionKind = "rename"
	// RuleActionKindCopy copies the matching key into the new key.
	// Conserving both.
	RuleActionKindCopy RuleActionKind = "copy"
	// RuleActionKindMask causes the value associated
	// with the matching key to be replaced with `redacted`.
	RuleActionKindMask RuleActionKind = "mask"
	// RuleActionKindRemove removes a key-value pair
	// from the log record using its key.
	RuleActionKindRemove RuleActionKind = "remove"
	// RuleActionKindSkip causes a log record to be skipped entirely
	// using its key.
	RuleActionKindSkip RuleActionKind = "skip"
)

type SearchQuery added in v1.2.0

type SearchQuery struct {
	ProjectID string
	Resource  SearchResource
	Term      string
}

type SearchResource added in v1.2.0

type SearchResource string
const (
	SearchResourceCoreInstance    SearchResource = "core_instance"
	SearchResourceResourceProfile SearchResource = "resource_profile"
	SearchResourcePipeline        SearchResource = "pipeline"
	SearchResourceFleet           SearchResource = "fleet"
	SearchResourceAgent           SearchResource = "agent"
	SearchResourceClusterObject   SearchResource = "cluster_object"
)

type SearchResult added in v1.2.0

type SearchResult struct {
	ID   string
	Name string
}

type StaticProcessingRuleTemplate added in v1.4.7

type StaticProcessingRuleTemplate struct {
	Name       string            `json:"name" yaml:"name"`
	Definition ProcessingRuleDef `json:"definition" yaml:"definition"`
}

type TerminatedTraceSession added in v0.6.1

type TerminatedTraceSession struct {
	ID        string    `json:"id" yaml:"id"`
	Lifespan  Duration  `json:"lifespan" yaml:"lifespan"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`
}

TerminatedTraceSession response payload after terminating the active trace session successfully.

type Token

type Token struct {
	ID          string    `json:"id" yaml:"id"`
	Token       string    `json:"token" yaml:"token"`
	Name        string    `json:"name" yaml:"name"`
	Permissions []string  `json:"permissions" yaml:"permissions"`
	CreatedAt   time.Time `json:"createdAt" yaml:"createdAt"`
}

Token model.

type Tokens added in v0.0.8

type Tokens struct {
	Items     []Token
	EndCursor *string
}

Tokens paginated list.

type TokensParams

type TokensParams struct {
	Last   *uint
	Before *string
	Name   *string
}

TokensParams request payload for querying tokens.

type TraceRecord added in v0.5.0

type TraceRecord struct {
	ID        string    `json:"id" yaml:"id"`
	SessionID string    `json:"sessionID" yaml:"sessionID"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`

	// fluent-bit data from here on.
	Kind           TraceRecordKind `json:"type" yaml:"type"`
	TraceID        string          `json:"trace_id" yaml:"trace_id"`
	StartTime      time.Time       `json:"start_time" yaml:"start_time"`
	EndTime        time.Time       `json:"end_time" yaml:"end_time"`
	PluginInstance string          `json:"plugin_instance" yaml:"plugin_instance"`
	PluginAlias    string          `json:"plugin_alias" yaml:"plugin_alias"`
	ReturnCode     int             `json:"return_code" yaml:"return_code"`
	// Records array, each record is a JSON object,
	// warranted to have a flb_time `timestamp` field.
	Records json.RawMessage `json:"records" yaml:"records"`
}

TraceRecord model.

type TraceRecordKind added in v0.5.0

type TraceRecordKind uint

TraceRecordKind enum.

const (
	TraceRecordKindInput TraceRecordKind = iota + 1
	TraceRecordKindFilter
	TraceRecordKindPreOutput
	TraceRecordKindOutput
)

func (TraceRecordKind) GoString added in v0.6.1

func (k TraceRecordKind) GoString() string

GoString implements fmt.GoStringer.

func (TraceRecordKind) String added in v0.6.1

func (k TraceRecordKind) String() string

String implements fmt.Stringer.

type TraceRecords added in v0.5.0

type TraceRecords struct {
	Items     []TraceRecord `json:"items"`
	EndCursor *string       `json:"endCursor"`
}

TraceRecords paginated list.

type TraceRecordsParams added in v0.5.0

type TraceRecordsParams struct {
	Last   *uint
	Before *string
}

TraceRecordsParams request payload for querying trace records.

type TraceSession added in v0.5.0

type TraceSession struct {
	ID         string `json:"id" yaml:"id"`
	PipelineID string `json:"pipelineID" yaml:"pipelineID"`
	// Plugins list of fluent-bit plugin IDs or aliases. Example ["forward.0", "myplugin"]
	Plugins   []string  `json:"plugins" yaml:"plugins"`
	Lifespan  Duration  `json:"lifespan" yaml:"lifespan"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`
}

TraceSession model.

func (TraceSession) Active added in v0.5.0

func (ts TraceSession) Active() bool

Active tells whether a session is still within its lifespan.

func (TraceSession) EndTime added in v0.6.1

func (ts TraceSession) EndTime() time.Time

EndTime returns the time when the session will stop being active.

type TraceSessions added in v0.5.0

type TraceSessions struct {
	Items     []TraceSession `json:"items"`
	EndCursor *string        `json:"endCursor"`
}

TraceSessions paginated list.

type TraceSessionsParams added in v0.5.0

type TraceSessionsParams struct {
	Last   *uint
	Before *string
}

TraceSessionsParams request payload for querying trace sessions.

type UpdateAgent

type UpdateAgent struct {
	FleetID         *string          `json:"fleetID"`
	EnvironmentID   *string          `json:"environmentID"`
	Name            *string          `json:"name"`
	Version         *string          `json:"version"`
	Edition         *AgentEdition    `json:"edition"`
	OperatingSystem *AgentOS         `json:"os"`
	Architecture    *AgentArch       `json:"arch"`
	Flags           *[]string        `json:"flags"`
	RawConfig       *string          `json:"rawConfig"`
	Metadata        *json.RawMessage `json:"metadata"`
	// contains filtered or unexported fields
}

UpdateAgent request payload for updating an agent.

func (UpdateAgent) FirstMetricsAddedAt added in v1.4.7

func (in UpdateAgent) FirstMetricsAddedAt() *time.Time

func (UpdateAgent) LastMetricsAddedAt added in v1.4.7

func (in UpdateAgent) LastMetricsAddedAt() *time.Time

func (UpdateAgent) NewMetricsCount added in v1.4.7

func (in UpdateAgent) NewMetricsCount() *uint

func (*UpdateAgent) SetFirstMetricsAddedAt added in v1.4.7

func (in *UpdateAgent) SetFirstMetricsAddedAt(firstMetricsAddedAt *time.Time)

func (*UpdateAgent) SetLastMetricsAddedAt added in v1.4.7

func (in *UpdateAgent) SetLastMetricsAddedAt(lastMetricsAddedAt *time.Time)

func (*UpdateAgent) SetNewMetricsCount added in v1.4.7

func (in *UpdateAgent) SetNewMetricsCount(newMetricsCount *uint)

type UpdateClusterObject added in v0.17.2

type UpdateClusterObject struct {
	Name *string            `json:"name" yaml:"name"`
	Kind *ClusterObjectKind `json:"kind" yaml:"kind"`
}

UpdateClusterObject request payload for updating a core_instance cluster object.

type UpdateClusterObjectRegex added in v1.4.7

type UpdateClusterObjectRegex struct {
	RegexID     string  `json:"-"`
	Regex       *string `json:"regex"`
	Description *string `json:"description"`
}

type UpdateConfigSection added in v0.9.1

type UpdateConfigSection struct {
	Properties           *Pairs `json:"properties"`
	SkipConfigValidation bool   `json:"skipConfigValidation"`
}

UpdateConfigSection request payload for updating a fluent-bit config section on a project.

type UpdateCoreInstance added in v0.19.0

type UpdateCoreInstance struct {
	Name                *string               `json:"name"`
	Version             *string               `json:"version"`
	EnvironmentID       *string               `json:"environmentID"`
	ClusterLogging      *bool                 `json:"clusterLogging"`
	Tags                *[]string             `json:"tags"`
	Metadata            *CoreInstanceMetadata `json:"metadata"`
	SkipServiceCreation *bool                 `json:"skipServiceCreation"`
	Image               *string               `json:"image"`
	// contains filtered or unexported fields
}

UpdateCoreInstance request payload for updating a core instance.

func (UpdateCoreInstance) LastPing added in v1.4.7

func (in UpdateCoreInstance) LastPing() *time.Time

func (*UpdateCoreInstance) SetLastPing added in v1.4.7

func (in *UpdateCoreInstance) SetLastPing(lastPing *time.Time)

type UpdateCoreInstanceCheck added in v0.9.1

type UpdateCoreInstanceCheck struct {
	Protocol *PipelinePortProtocol `json:"protocol"`
	Status   *CheckStatus          `json:"status"`
	Host     *string               `json:"host"`
	Retries  *uint                 `json:"retries"`
	Port     *uint                 `json:"port"`
}

UpdateCoreInstanceCheck request payload for updating a core_instance check.

type UpdateCoreInstanceFile added in v1.5.2

type UpdateCoreInstanceFile struct {
	ID        string  `json:"-"`
	Name      *string `json:"name"`
	Contents  *[]byte `json:"contents"`
	Encrypted *bool   `json:"encrypted"`
}

type UpdateCoreInstanceSecret added in v1.5.2

type UpdateCoreInstanceSecret struct {
	ID    string  `json:"-"`
	Key   *string `json:"key"`
	Value *[]byte `json:"value"`
}

type UpdateEnvironment added in v0.0.11

type UpdateEnvironment struct {
	Name *string `json:"name"`
}

type UpdateFleet added in v1.1.0

type UpdateFleet struct {
	ID           string        `json:"-"`
	Name         *string       `json:"name"`
	RawConfig    *string       `json:"rawConfig"`
	ConfigFormat *ConfigFormat `json:"configFormat"`
	Tags         *[]string     `json:"tags"`

	SkipConfigValidation bool `json:"skipConfigValidation"`
}

type UpdateFleetFile added in v1.5.6

type UpdateFleetFile struct {
	Name     *string `json:"name"`
	Contents *[]byte `json:"contents"`
}

UpdateFleetFile request payload for updating a fleet file.

type UpdateIngestCheck added in v0.15.0

type UpdateIngestCheck struct {
	Status *CheckStatus `json:"status"`
	Logs   *[]byte      `json:"logs"`
	// contains filtered or unexported fields
}

UpdateIngestCheck request payload for updating a core_instance ingestion check.

func (UpdateIngestCheck) ConfigSectionID added in v0.15.0

func (in UpdateIngestCheck) ConfigSectionID() *string

func (UpdateIngestCheck) Retries added in v0.15.0

func (in UpdateIngestCheck) Retries() *uint

func (*UpdateIngestCheck) SetConfigSectionID added in v1.4.7

func (in *UpdateIngestCheck) SetConfigSectionID(configSectionID string)

func (*UpdateIngestCheck) SetRetries added in v1.4.7

func (in *UpdateIngestCheck) SetRetries(retries uint)

type UpdateMember added in v1.2.6

type UpdateMember struct {
	MemberID    string    `json:"-"`
	Permissions *[]string `json:"permissions"`
}

UpdateMember request body.

type UpdatePipeline

type UpdatePipeline struct {
	Name               *string             `json:"name"`
	Kind               *PipelineKind       `json:"kind"`
	Status             *PipelineStatusKind `json:"status"`
	ConfigFormat       *ConfigFormat       `json:"configFormat"`
	DeploymentStrategy *DeploymentStrategy `json:"deploymentStrategy"`
	PortKind           *PipelinePortKind   `json:"portKind"`
	ReplicasCount      *uint               `json:"replicasCount"`
	RawConfig          *string             `json:"rawConfig"`
	ResourceProfile    *string             `json:"resourceProfile"`
	Image              *string             `json:"image"`
	// Deprecated: in favor of NoAutoCreateEndpointsFromConfig
	AutoCreatePortsFromConfig *bool `json:"autoCreatePortsFromConfig"`
	// Deprecated: in favor of NoAutoCreateChecksFromConfig
	AutoCreateChecksFromConfig *bool `json:"autoCreateChecksFromConfig"`

	// no automatically create endpoints from config
	NoAutoCreateEndpointsFromConfig bool `json:"noAutoCreateEndpointsFromConfig"`
	// no automatically create checks based on the output configuration.
	NoAutoCreateChecksFromConfig bool `json:"noAutoCreateChecksFromConfig"`

	// this defines behavior; await for checks to complete before reporting the status back.
	WaitForChecksBeforeDeploying *bool `json:"waitForChecksBeforeDeploying"`

	SkipConfigValidation bool                   `json:"skipConfigValidation"`
	Metadata             *json.RawMessage       `json:"metadata"`
	Secrets              []UpdatePipelineSecret `json:"secrets"`
	Files                []UpdatePipelineFile   `json:"files"`
	Events               []PipelineEvent        `json:"events"`
	// contains filtered or unexported fields
}

UpdatePipeline request payload for updating a pipeline.

func (UpdatePipeline) ClusterLogging added in v1.4.7

func (in UpdatePipeline) ClusterLogging() *bool

func (UpdatePipeline) ResourceProfileID added in v1.4.7

func (in UpdatePipeline) ResourceProfileID() *string

func (*UpdatePipeline) SetClusterLogging added in v1.4.7

func (in *UpdatePipeline) SetClusterLogging(clusterLogging bool)

func (*UpdatePipeline) SetResourceProfileID added in v1.4.7

func (in *UpdatePipeline) SetResourceProfileID(resourceProfileID string)

type UpdatePipelineCheck added in v0.9.1

type UpdatePipelineCheck struct {
	Protocol *PipelinePortProtocol `json:"protocol"`
	Status   *CheckStatus          `json:"status"`
	Retries  *uint                 `json:"retries"`
	Host     *string               `json:"host"`
	Port     *uint                 `json:"port"`
}

UpdatePipelineCheck request payload for updating a core_instance check.

type UpdatePipelineClusterObjects added in v0.19.0

type UpdatePipelineClusterObjects struct {
	ClusterObjectsIDs []string `json:"clusterObjectsIDs"`
}

UpdatePipelineClusterObjects update cluster objects associated to a pipeline.

type UpdatePipelineFile

type UpdatePipelineFile struct {
	Name      *string `json:"name"`
	Contents  *[]byte `json:"contents"`
	Encrypted *bool   `json:"encrypted"`
}

UpdatePipelineFile request payload for updating a pipeline file.

type UpdatePipelineLog added in v1.6.2

type UpdatePipelineLog struct {
	ID     string             `json:"id"`
	Logs   *string            `json:"logs"`
	Lines  *int               `json:"lines"`
	Status *PipelineLogStatus `json:"status"`
}

type UpdatePipelineMetadata added in v1.4.7

type UpdatePipelineMetadata struct {
	Key   *string          `json:"key"`
	Value *json.RawMessage `json:"value"`
}

UpdatePipelineMetadata request payload to store a key on the metadata field with the given value (json serializable).

type UpdatePipelinePort

type UpdatePipelinePort struct {
	Protocol     *string           `json:"protocol"`
	FrontendPort *uint             `json:"frontendPort"`
	BackendPort  *uint             `json:"backendPort"`
	Endpoint     *string           `json:"endpoint"`
	Kind         *PipelinePortKind `json:"kind"`
}

UpdatePipelinePort request payload for updating a pipeline port.

type UpdatePipelineSecret

type UpdatePipelineSecret struct {
	Key   *string `json:"name"`
	Value *[]byte `json:"value"`
}

UpdatePipelineSecret request payload for updating a pipeline secret.

type UpdateProcessingRule added in v0.9.1

type UpdateProcessingRule struct {
	ProcessingRuleID string                  `json:"-"`
	Match            *string                 `json:"match,omitempty"`
	IsMatchRegexp    *bool                   `json:"isMatchRegexp,omitempty"`
	Language         *ProcessingRuleLanguage `json:"language,omitempty"`
	Actions          *[]RuleAction           `json:"actions,omitempty"`
}

UpdateProcessingRule request payload.

type UpdateProcessingRuleTemplate added in v1.4.7

type UpdateProcessingRuleTemplate struct {
	TemplateID      string             `json:"-"`
	Name            *string            `json:"name"`
	Definition      *ProcessingRuleDef `json:"definition"`
	PipelineVersion *string            `json:"pipelineVersion"`
	Input           *string            `json:"input"`
	IsRawInput      *bool              `json:"isRawInput"`
}

type UpdateProject

type UpdateProject struct {
	Name *string `json:"name"`
}

UpdateProject request payload for updating a project.

type UpdateResourceProfile

type UpdateResourceProfile struct {
	Name                   *string `json:"name"`
	StorageMaxChunksUp     *uint   `json:"storageMaxChunksUp"`
	StorageSyncFull        *bool   `json:"storageSyncFull"`
	StorageMaxChunksPause  *bool   `json:"storageMaxChunksPause"`
	StorageBacklogMemLimit *string `json:"storageBacklogMemLimit"`
	StorageVolumeSize      *string `json:"storageVolumeSize"`
	CPUBufferWorkers       *uint   `json:"cpuBufferWorkers"`
	CPULimit               *string `json:"cpuLimit"`
	CPURequest             *string `json:"cpuRequest"`
	MemoryLimit            *string `json:"memoryLimit"`
	MemoryRequest          *string `json:"memoryRequest"`
}

UpdateResourceProfile request payload for updating a resource profile.

type UpdateToken

type UpdateToken struct {
	TokenID     string    `json:"-"`
	Name        *string   `json:"name"`
	Permissions *[]string `json:"permissions"`
}

UpdateToken request payload for updating a token.

type UpdateTraceSession added in v0.5.0

type UpdateTraceSession struct {
	Plugins  *[]string `json:"plugins"`
	Lifespan *Duration `json:"lifespan"`
}

UpdateTraceSession request payload for updating a trace session.

type Updated added in v1.4.7

type Updated struct {
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt" db:"updated_at"`
}

type UpdatedPipeline

type UpdatedPipeline struct {
	AddedPorts   []PipelinePort `json:"addedPorts"`
	RemovedPorts []PipelinePort `json:"removedPorts"`

	// Pipeline checks that have been created/updated based on AutoCreatePreChecksFromConfig changes.
	AddedChecks   []PipelineCheck `json:"addedChecks"`
	RemovedChecks []PipelineCheck `json:"removedChecks"`
}

UpdatedPipeline response payload after updating a pipeline successfully.

type UpdatedWithID added in v1.4.7

type UpdatedWithID struct {
	ID        string    `json:"id" yaml:"id" db:"id"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt" db:"updated_at"`
}

type UpsertUser added in v1.4.7

type UpsertUser struct {
	Email     string
	Name      string
	AvatarURL *string
}

type User

type User struct {
	ID        string    `json:"id" yaml:"id"`
	Email     string    `json:"email" yaml:"email"`
	Name      string    `json:"name" yaml:"name"`
	AvatarURL *string   `json:"avatarURL" yaml:"avatarURL"`
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`
}

User model.

func (*User) RedactEmail added in v1.4.7

func (u *User) RedactEmail() string

type ValidatedConfig

type ValidatedConfig struct {
	Errors ConfigValidity `json:"errors"`
}

ValidatedConfig response body after validating an agent config successfully.

type ValidatedConfigV2

type ValidatedConfigV2 struct {
	Errors ConfigValidityV2 `json:"errors"`
}

ValidatedConfigV2 response body after validating an agent config successfully against the v2 endpoint.

type ValidatingConfig

type ValidatingConfig struct {
	Configs []ValidatingConfigEntry `json:"config"`
}

ValidatingConfig request body for validating a config.

type ValidatingConfigEntry

type ValidatingConfigEntry struct {
	Command  string            `json:"command"`
	Name     string            `json:"name"`
	Optional map[string]string `json:"optional,omitempty"`
	ID       string            `json:"id"`
}

ValidatingConfigEntry defines a single config to the validated. See `ValidatingConfig`.

Directories

Path Synopsis
Package errs provides common error types that can be used across the application.
Package errs provides common error types that can be used across the application.
Package legacy provides types for legacy/deprecated APIs.
Package legacy provides types for legacy/deprecated APIs.
Package metric03 holds the structure for the old mskpack cmetrics version 0.3.x.
Package metric03 holds the structure for the old mskpack cmetrics version 0.3.x.

Jump to

Keyboard shortcuts

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