Class: Infrawrench::MetricAlertsNamespace
- Inherits:
-
Object
- Object
- Infrawrench::MetricAlertsNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.metric_alerts
Instance Method Summary collapse
-
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create a metric alert rule.
-
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a metric alert rule.
-
#events(org_id: nil, rule_id: nil, limit: nil, request_options: nil) ⇒ Array<Hash>
Recent metric alert firings.
-
#get(id:, org_id: nil, request_options: nil) ⇒ Hash
Get a metric alert rule.
-
#initialize(transport) ⇒ MetricAlertsNamespace
constructor
private
A new instance of MetricAlertsNamespace.
-
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List metric alert rules with live firing status.
-
#metric_keys(org_id: nil, plugin_id: nil, resource_type_id: nil, request_options: nil) ⇒ Array<Hash>
List metric series that actually exist.
-
#selector_options(org_id: nil, request_options: nil) ⇒ Hash
List what the organization's resources offer to select on.
-
#selector_preview(org_id: nil, plugin_id: nil, resource_type_id: nil, tag_key: nil, tag_value: nil, request_options: nil) ⇒ Hash
Preview which resources a selector matches right now.
-
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update a metric alert rule.
Constructor Details
#initialize(transport) ⇒ MetricAlertsNamespace
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of MetricAlertsNamespace.
3838 3839 3840 |
# File 'lib/infrawrench/client.rb', line 3838 def initialize(transport) @transport = transport end |
Instance Method Details
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create a metric alert rule
Rules select resources by query (plugin + resource type + tag), never by id list, so a rule automatically covers resources created after it was written. The poller evaluates enabled rules about once a minute and alerts when the condition held for the whole trailing window.
POST /api/org/orgId/metric-alerts
Raises on 400: Bad request
3859 3860 3861 3862 3863 3864 3865 3866 3867 |
# File 'lib/infrawrench/client.rb', line 3859 def create(body:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/metric-alerts", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a metric alert rule
Soft delete. The rule's firing history stays readable via /metric-alerts/events.
DELETE /api/org/orgId/metric-alerts/id
Raises on 404: Not found
3884 3885 3886 3887 3888 3889 3890 3891 |
# File 'lib/infrawrench/client.rb', line 3884 def delete(id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/metric-alerts/{id}", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#events(org_id: nil, rule_id: nil, limit: nil, request_options: nil) ⇒ Array<Hash>
Recent metric alert firings
GET /api/org/orgId/metric-alerts/events
3905 3906 3907 3908 3909 3910 3911 3912 3913 |
# File 'lib/infrawrench/client.rb', line 3905 def events(org_id: nil, rule_id: nil, limit: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/metric-alerts/events", path_params: { "orgId" => org_id }, query: { "ruleId" => rule_id, "limit" => limit }, request_options: ) end |
#get(id:, org_id: nil, request_options: nil) ⇒ Hash
Get a metric alert rule
GET /api/org/orgId/metric-alerts/id
Raises on 404: Not found
3927 3928 3929 3930 3931 3932 3933 3934 |
# File 'lib/infrawrench/client.rb', line 3927 def get(id:, org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/metric-alerts/{id}", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List metric alert rules with live firing status
GET /api/org/orgId/metric-alerts
3946 3947 3948 3949 3950 3951 3952 3953 |
# File 'lib/infrawrench/client.rb', line 3946 def list(org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/metric-alerts", path_params: { "orgId" => org_id }, request_options: ) end |
#metric_keys(org_id: nil, plugin_id: nil, resource_type_id: nil, request_options: nil) ⇒ Array<Hash>
List metric series that actually exist
The series labels resources reported in the last 7 days, optionally narrowed to one plugin and resource type — what the rule builder's metric picker is fed from.
GET /api/org/orgId/metric-alerts/metric-keys
3971 3972 3973 3974 3975 3976 3977 3978 3979 |
# File 'lib/infrawrench/client.rb', line 3971 def metric_keys(org_id: nil, plugin_id: nil, resource_type_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/metric-alerts/metric-keys", path_params: { "orgId" => org_id }, query: { "pluginId" => plugin_id, "resourceTypeId" => resource_type_id }, request_options: ) end |
#selector_options(org_id: nil, request_options: nil) ⇒ Hash
List what the organization's resources offer to select on
GET /api/org/orgId/metric-alerts/selector-options
3991 3992 3993 3994 3995 3996 3997 3998 |
# File 'lib/infrawrench/client.rb', line 3991 def (org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/metric-alerts/selector-options", path_params: { "orgId" => org_id }, request_options: ) end |
#selector_preview(org_id: nil, plugin_id: nil, resource_type_id: nil, tag_key: nil, tag_value: nil, request_options: nil) ⇒ Hash
Preview which resources a selector matches right now
GET /api/org/orgId/metric-alerts/selector-preview
Raises on 400: Bad request
4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 |
# File 'lib/infrawrench/client.rb', line 4016 def selector_preview( org_id: nil, plugin_id: nil, resource_type_id: nil, tag_key: nil, tag_value: nil, request_options: nil ) @transport.request( http_method: "GET", path: "/api/org/{orgId}/metric-alerts/selector-preview", path_params: { "orgId" => org_id }, query: { "pluginId" => plugin_id, "resourceTypeId" => resource_type_id, "tagKey" => tag_key, "tagValue" => tag_value }, request_options: ) end |
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update a metric alert rule
PUT /api/org/orgId/metric-alerts/id
Raises on 400: Bad request
Raises on 404: Not found
4053 4054 4055 4056 4057 4058 4059 4060 4061 |
# File 'lib/infrawrench/client.rb', line 4053 def update(id:, body:, org_id: nil, request_options: nil) @transport.request( http_method: "PUT", path: "/api/org/{orgId}/metric-alerts/{id}", path_params: { "orgId" => org_id, "id" => id }, body: body, request_options: ) end |