model

package
v0.56.0 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultPeriodSeconds = int64(300)
	DefaultLengthSeconds = int64(300)
	DefaultDelaySeconds  = int64(300)
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CloudwatchData

type CloudwatchData struct {
	ID                      *string
	MetricID                *string
	Metric                  *string
	Namespace               *string
	Statistics              []string
	Points                  []*Datapoint
	GetMetricDataPoint      *float64
	GetMetricDataTimestamps time.Time
	NilToZero               *bool
	AddCloudwatchTimestamp  *bool
	Tags                    []Tag
	Dimensions              []*Dimension
	Period                  int64
}

CloudwatchData is an internal representation of a CloudWatch metric with attached data points, metric and resource information.

type CloudwatchMetricResult added in v0.55.0

type CloudwatchMetricResult struct {
	Context *JobContext
	Data    []*CloudwatchData
}

type CustomNamespaceJob added in v0.56.0

type CustomNamespaceJob struct {
	Regions                   []string
	Name                      string
	Namespace                 string
	RecentlyActiveOnly        bool
	Roles                     []Role
	Metrics                   []*MetricConfig
	CustomTags                []Tag
	DimensionNameRequirements []string
	RoundingPeriod            *int64
	JobLevelMetricFields
}

type Datapoint added in v0.52.0

type Datapoint struct {
	// The average of the metric values that correspond to the data point.
	Average *float64

	// The percentile statistic for the data point.
	ExtendedStatistics map[string]*float64

	// The maximum metric value for the data point.
	Maximum *float64

	// The minimum metric value for the data point.
	Minimum *float64

	// The number of metric values that contributed to the aggregate value of this
	// data point.
	SampleCount *float64

	// The sum of the metric values for the data point.
	Sum *float64

	// The time stamp used for the data point.
	Timestamp *time.Time
}

type Dimension added in v0.52.0

type Dimension struct {
	Name  string
	Value string
}

type DiscoveryJob added in v0.56.0

type DiscoveryJob struct {
	Regions                   []string
	Type                      string
	Roles                     []Role
	SearchTags                []Tag
	CustomTags                []Tag
	DimensionNameRequirements []string
	Metrics                   []*MetricConfig
	RoundingPeriod            *int64
	RecentlyActiveOnly        bool
	ExportedTagsOnMetrics     []string
	JobLevelMetricFields
}

type JobContext added in v0.55.0

type JobContext struct {
	Region     string
	AccountID  string
	CustomTags []Tag
}

type JobLevelMetricFields added in v0.56.0

type JobLevelMetricFields struct {
	Statistics             []string
	Period                 int64
	Length                 int64
	Delay                  int64
	NilToZero              *bool
	AddCloudwatchTimestamp *bool
}

type JobsConfig added in v0.56.0

type JobsConfig struct {
	StsRegion           string
	DiscoveryJobs       []DiscoveryJob
	StaticJobs          []StaticJob
	CustomNamespaceJobs []CustomNamespaceJob
}

type LabelSet

type LabelSet map[string]struct{}

type Metric added in v0.52.0

type Metric struct {
	// The dimensions for the metric.
	Dimensions []*Dimension
	MetricName string
	Namespace  string
}

type MetricConfig added in v0.56.0

type MetricConfig struct {
	Name                   string
	Statistics             []string
	Period                 int64
	Length                 int64
	Delay                  int64
	NilToZero              *bool
	AddCloudwatchTimestamp *bool
}

type Role added in v0.56.0

type Role struct {
	RoleArn    string
	ExternalID string
}

type StaticJob added in v0.56.0

type StaticJob struct {
	Name       string
	Regions    []string
	Roles      []Role
	Namespace  string
	CustomTags []Tag
	Dimensions []Dimension
	Metrics    []*MetricConfig
}

type Tag

type Tag struct {
	Key   string
	Value string
}

type TaggedResource

type TaggedResource struct {
	// ARN is the unique AWS ARN (Amazon Resource Name) of the resource
	ARN string

	// Namespace identifies the resource type (e.g. EC2)
	Namespace string

	// Region is the AWS regions that the resource belongs to
	Region string

	// Tags is a set of tags associated to the resource
	Tags []Tag
}

TaggedResource is an AWS resource with tags

func (TaggedResource) FilterThroughTags

func (r TaggedResource) FilterThroughTags(filterTags []Tag) bool

filterThroughTags returns true if all filterTags match with tags of the TaggedResource, returns false otherwise.

func (TaggedResource) MetricTags

func (r TaggedResource) MetricTags(exportedTags []string) []Tag

MetricTags returns a list of tags built from the tags of TaggedResource, if exportedTags is not empty.

Returned tags have as key the key from exportedTags, and as value the value from the corresponding tag of the resource, if it exists (otherwise an empty string).

Jump to

Keyboard shortcuts

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