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.
3835 3836 3837 |
# File 'lib/infrawrench/client.rb', line 3835 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
3856 3857 3858 3859 3860 3861 3862 3863 3864 |
# File 'lib/infrawrench/client.rb', line 3856 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
3881 3882 3883 3884 3885 3886 3887 3888 |
# File 'lib/infrawrench/client.rb', line 3881 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
3902 3903 3904 3905 3906 3907 3908 3909 3910 |
# File 'lib/infrawrench/client.rb', line 3902 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
3924 3925 3926 3927 3928 3929 3930 3931 |
# File 'lib/infrawrench/client.rb', line 3924 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
3943 3944 3945 3946 3947 3948 3949 3950 |
# File 'lib/infrawrench/client.rb', line 3943 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
3968 3969 3970 3971 3972 3973 3974 3975 3976 |
# File 'lib/infrawrench/client.rb', line 3968 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
3988 3989 3990 3991 3992 3993 3994 3995 |
# File 'lib/infrawrench/client.rb', line 3988 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
4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 |
# File 'lib/infrawrench/client.rb', line 4013 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
4050 4051 4052 4053 4054 4055 4056 4057 4058 |
# File 'lib/infrawrench/client.rb', line 4050 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 |