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.
4301 4302 4303 |
# File 'lib/infrawrench/client.rb', line 4301 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
4329 4330 4331 4332 4333 4334 4335 4336 4337 |
# File 'lib/infrawrench/client.rb', line 4329 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
4354 4355 4356 4357 4358 4359 4360 4361 |
# File 'lib/infrawrench/client.rb', line 4354 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
4378 4379 4380 4381 4382 4383 4384 4385 |
# File 'lib/infrawrench/client.rb', line 4378 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
4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 |
# File 'lib/infrawrench/client.rb', line 4412 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
4443 4444 4445 4446 4447 4448 4449 4450 |
# File 'lib/infrawrench/client.rb', line 4443 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
4471 4472 4473 4474 4475 4476 4477 4478 4479 |
# File 'lib/infrawrench/client.rb', line 4471 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 |