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.
9903 9904 9905 |
# File 'lib/infrawrench/client.rb', line 9903 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
9924 9925 9926 9927 9928 9929 9930 9931 9932 |
# File 'lib/infrawrench/client.rb', line 9924 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
9949 9950 9951 9952 9953 9954 9955 9956 |
# File 'lib/infrawrench/client.rb', line 9949 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
9970 9971 9972 9973 9974 9975 9976 9977 9978 |
# File 'lib/infrawrench/client.rb', line 9970 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
9992 9993 9994 9995 9996 9997 9998 9999 |
# File 'lib/infrawrench/client.rb', line 9992 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
10011 10012 10013 10014 10015 10016 10017 10018 |
# File 'lib/infrawrench/client.rb', line 10011 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
10036 10037 10038 10039 10040 10041 10042 10043 10044 |
# File 'lib/infrawrench/client.rb', line 10036 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
10056 10057 10058 10059 10060 10061 10062 10063 |
# File 'lib/infrawrench/client.rb', line 10056 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
10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 |
# File 'lib/infrawrench/client.rb', line 10081 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
10118 10119 10120 10121 10122 10123 10124 10125 10126 |
# File 'lib/infrawrench/client.rb', line 10118 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 |