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.
9302 9303 9304 |
# File 'lib/infrawrench/client.rb', line 9302 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
9323 9324 9325 9326 9327 9328 9329 9330 9331 |
# File 'lib/infrawrench/client.rb', line 9323 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
9348 9349 9350 9351 9352 9353 9354 9355 |
# File 'lib/infrawrench/client.rb', line 9348 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
9369 9370 9371 9372 9373 9374 9375 9376 9377 |
# File 'lib/infrawrench/client.rb', line 9369 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
9391 9392 9393 9394 9395 9396 9397 9398 |
# File 'lib/infrawrench/client.rb', line 9391 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
9410 9411 9412 9413 9414 9415 9416 9417 |
# File 'lib/infrawrench/client.rb', line 9410 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
9435 9436 9437 9438 9439 9440 9441 9442 9443 |
# File 'lib/infrawrench/client.rb', line 9435 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
9455 9456 9457 9458 9459 9460 9461 9462 |
# File 'lib/infrawrench/client.rb', line 9455 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
9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 |
# File 'lib/infrawrench/client.rb', line 9480 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
9517 9518 9519 9520 9521 9522 9523 9524 9525 |
# File 'lib/infrawrench/client.rb', line 9517 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 |