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.
4773 4774 4775 |
# File 'lib/infrawrench/client.rb', line 4773 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
4801 4802 4803 4804 4805 4806 4807 4808 4809 |
# File 'lib/infrawrench/client.rb', line 4801 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
4826 4827 4828 4829 4830 4831 4832 4833 |
# File 'lib/infrawrench/client.rb', line 4826 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
4850 4851 4852 4853 4854 4855 4856 4857 |
# File 'lib/infrawrench/client.rb', line 4850 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
4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 |
# File 'lib/infrawrench/client.rb', line 4884 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
4915 4916 4917 4918 4919 4920 4921 4922 |
# File 'lib/infrawrench/client.rb', line 4915 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
4943 4944 4945 4946 4947 4948 4949 4950 4951 |
# File 'lib/infrawrench/client.rb', line 4943 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 |