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.
4895 4896 4897 |
# File 'lib/infrawrench/client.rb', line 4895 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
4923 4924 4925 4926 4927 4928 4929 4930 4931 |
# File 'lib/infrawrench/client.rb', line 4923 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
4948 4949 4950 4951 4952 4953 4954 4955 |
# File 'lib/infrawrench/client.rb', line 4948 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
4972 4973 4974 4975 4976 4977 4978 4979 |
# File 'lib/infrawrench/client.rb', line 4972 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
5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 |
# File 'lib/infrawrench/client.rb', line 5006 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
5037 5038 5039 5040 5041 5042 5043 5044 |
# File 'lib/infrawrench/client.rb', line 5037 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
5065 5066 5067 5068 5069 5070 5071 5072 5073 |
# File 'lib/infrawrench/client.rb', line 5065 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 |