Documentation
¶
Overview ¶
Package cloudwatch provides a basic emulation of Amazon CloudWatch (metrics + alarms).
Implemented operations: PutMetricAlarm, DescribeAlarms, DeleteAlarms, PutMetricData, GetMetricStatistics, GetMetricData, ListMetrics, ListTagsForResource, TagResource, UntagResource.
Enough for CDK stacks that reference AWS::CloudWatch::Alarm resources.
Index ¶
- type Dimension
- type Metric
- type MetricAlarm
- type MetricDataPoint
- type Service
- func (s *Service) Dispatch(w http.ResponseWriter, r *http.Request)
- func (s *Service) DispatchQuery(w http.ResponseWriter, r *http.Request)
- func (s *Service) Name() string
- func (s *Service) OwnsVersion(version string) bool
- func (s *Service) RegisterRoutes(_ chi.Router)
- func (s *Service) Stop(ctx context.Context)
- func (s *Service) TargetPrefix() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Metric ¶
type Metric struct {
Namespace string `json:"Namespace"`
MetricName string `json:"MetricName"`
Dimensions []Dimension `json:"Dimensions,omitempty"`
}
Metric represents a CloudWatch metric entry.
type MetricAlarm ¶
type MetricAlarm struct {
AlarmName string `json:"AlarmName"`
AlarmArn string `json:"AlarmArn"`
MetricName string `json:"MetricName,omitempty"`
Namespace string `json:"Namespace,omitempty"`
Statistic string `json:"Statistic,omitempty"`
Period int `json:"Period,omitempty"`
EvaluationPeriods int `json:"EvaluationPeriods,omitempty"`
Threshold float64 `json:"Threshold,omitempty"`
ComparisonOperator string `json:"ComparisonOperator,omitempty"`
ActionsEnabled bool `json:"ActionsEnabled"`
AlarmActions []string `json:"AlarmActions,omitempty"`
OKActions []string `json:"OKActions,omitempty"`
StateValue string `json:"StateValue"`
StateReason string `json:"StateReason"`
AlarmDescription string `json:"AlarmDescription,omitempty"`
TreatMissingData string `json:"TreatMissingData,omitempty"`
StateUpdatedTimestamp string `json:"StateUpdatedTimestamp,omitempty"`
AlarmConfigurationUpdatedTimestamp string `json:"AlarmConfigurationUpdatedTimestamp,omitempty"`
}
MetricAlarm represents a CloudWatch alarm.
type MetricDataPoint ¶
type MetricDataPoint struct {
Namespace string `json:"Namespace"`
MetricName string `json:"MetricName"`
Dimensions []Dimension `json:"Dimensions,omitempty"`
Timestamp time.Time `json:"Timestamp"`
Unit string `json:"Unit,omitempty"`
SampleCount float64 `json:"SampleCount"`
Sum float64 `json:"Sum"`
Minimum float64 `json:"Minimum"`
Maximum float64 `json:"Maximum"`
}
MetricDataPoint stores a single published datapoint.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service implements router.Service and router.QueryDispatcher for CloudWatch.
func (*Service) Dispatch ¶
func (s *Service) Dispatch(w http.ResponseWriter, r *http.Request)
Dispatch satisfies router.TargetDispatcher.
func (*Service) DispatchQuery ¶
func (s *Service) DispatchQuery(w http.ResponseWriter, r *http.Request)
DispatchQuery satisfies router.QueryDispatcher.
func (*Service) OwnsVersion ¶
OwnsVersion satisfies router.QueryVersionOwner.
func (*Service) RegisterRoutes ¶
func (*Service) TargetPrefix ¶
TargetPrefix satisfies router.TargetDispatcher for AWS SDK JSON protocol. The JS/TS AWS SDK sends CloudWatch calls as x-amz-json-1.0 with this target prefix.