Class: Infrawrench::CostReportsNotificationsNamespace
- Inherits:
-
Object
- Object
- Infrawrench::CostReportsNotificationsNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.cost_reports.notifications
Instance Method Summary collapse
-
#create(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Create a delivery schedule.
-
#delete(id:, notification_id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a delivery schedule.
-
#initialize(transport) ⇒ CostReportsNotificationsNamespace
constructor
private
A new instance of CostReportsNotificationsNamespace.
-
#list(id:, org_id: nil, request_options: nil) ⇒ Array<Hash>
List a report's delivery schedules.
-
#post_org_org_id_cost_reports_id_notifications_notification_id_send(id:, notification_id:, org_id: nil, request_options: nil) ⇒ Hash
Send a schedule's report now.
-
#targets(id:, org_id: nil, request_options: nil) ⇒ Hash
List the destinations a schedule can deliver to.
-
#update(id:, notification_id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update a delivery schedule.
Constructor Details
#initialize(transport) ⇒ CostReportsNotificationsNamespace
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 CostReportsNotificationsNamespace.
4247 4248 4249 |
# File 'lib/infrawrench/client.rb', line 4247 def initialize(transport) @transport = transport end |
Instance Method Details
#create(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Create a delivery schedule
On its cadence the server runs the report and sends a composed text summary — period total (converted to the org's display currency where configured, with the conversion caveat), change vs the previous period, top groups, and a deep link. No chart images. An empty result still sends, saying so.
Requires permission: org:settings:write.
POST /api/org/orgId/cost-reports/id/notifications
Raises on 400: Bad request
Raises on 404: Not found
4275 4276 4277 4278 4279 4280 4281 4282 4283 |
# File 'lib/infrawrench/client.rb', line 4275 def create(id:, body:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/cost-reports/{id}/notifications", path_params: { "orgId" => org_id, "id" => id }, body: body, request_options: ) end |
#delete(id:, notification_id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a delivery schedule
Requires permission: org:settings:write.
DELETE /api/org/orgId/cost-reports/id/notifications/notificationId
Raises on 404: Not found
4300 4301 4302 4303 4304 4305 4306 4307 |
# File 'lib/infrawrench/client.rb', line 4300 def delete(id:, notification_id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/cost-reports/{id}/notifications/{notificationId}", path_params: { "orgId" => org_id, "id" => id, "notificationId" => notification_id }, request_options: ) end |
#list(id:, org_id: nil, request_options: nil) ⇒ Array<Hash>
List a report's delivery schedules
Requires permission: costs:read.
GET /api/org/orgId/cost-reports/id/notifications
Raises on 404: Not found
4324 4325 4326 4327 4328 4329 4330 4331 |
# File 'lib/infrawrench/client.rb', line 4324 def list(id:, org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/cost-reports/{id}/notifications", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#post_org_org_id_cost_reports_id_notifications_notification_id_send(id:, notification_id:, org_id: nil, request_options: nil) ⇒ Hash
Send a schedule's report now
Runs the report and delivers it to this schedule's destinations immediately, ignoring the schedule and its enabled flag. Fails with a 400 naming the reason when nothing could be delivered. A successful manual send clears a parked failure — it is the documented recovery for a partial delivery.
Requires permission: org:settings:write.
POST /api/org/orgId/cost-reports/id/notifications/notificationId/send
Raises on 400: Bad request
Raises on 404: Not found
4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 |
# File 'lib/infrawrench/client.rb', line 4358 def post_org_org_id_cost_reports_id_notifications_notification_id_send( id:, notification_id:, org_id: nil, request_options: nil ) @transport.request( http_method: "POST", path: "/api/org/{orgId}/cost-reports/{id}/notifications/{notificationId}/send", path_params: { "orgId" => org_id, "id" => id, "notificationId" => notification_id }, request_options: ) end |
#targets(id:, org_id: nil, request_options: nil) ⇒ Hash
List the destinations a schedule can deliver to
The org's live Slack channels and Teams webhooks, and whether this deployment can send mail. Destinations are picked from here — a schedule can only point at surfaces the org already connected.
Requires permission: org:settings:write.
GET /api/org/orgId/cost-reports/id/notifications/targets
4389 4390 4391 4392 4393 4394 4395 4396 |
# File 'lib/infrawrench/client.rb', line 4389 def targets(id:, org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/cost-reports/{id}/notifications/targets", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#update(id:, notification_id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update a delivery schedule
Requires permission: org:settings:write.
PUT /api/org/orgId/cost-reports/id/notifications/notificationId
Raises on 400: Bad request
Raises on 404: Not found
4417 4418 4419 4420 4421 4422 4423 4424 4425 |
# File 'lib/infrawrench/client.rb', line 4417 def update(id:, notification_id:, body:, org_id: nil, request_options: nil) @transport.request( http_method: "PUT", path: "/api/org/{orgId}/cost-reports/{id}/notifications/{notificationId}", path_params: { "orgId" => org_id, "id" => id, "notificationId" => notification_id }, body: body, request_options: ) end |