smplkit 2.0.13 → 2.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/account_api.rb +11 -11
  3. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/api_keys_api.rb +18 -18
  4. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/billing_api.rb +21 -21
  5. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/context_types_api.rb +18 -18
  6. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/contexts_api.rb +11 -11
  7. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/environments_api.rb +18 -18
  8. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/metrics_api.rb +2 -2
  9. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/services_api.rb +18 -18
  10. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/users_api.rb +18 -18
  11. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account.rb +14 -31
  12. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_request.rb +165 -0
  13. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_resource.rb +1 -0
  14. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_response.rb +1 -0
  15. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_wipe_request.rb +3 -3
  16. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_attributes.rb +3 -1
  17. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_body.rb +1 -0
  18. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_data.rb +1 -0
  19. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key.rb +15 -16
  20. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_list_response.rb +1 -0
  21. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_request.rb +165 -0
  22. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_resource.rb +1 -0
  23. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_response.rb +1 -0
  24. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/auth_token_response.rb +3 -0
  25. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context.rb +6 -3
  26. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_batch_response.rb +2 -0
  27. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_bulk_item.rb +4 -2
  28. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_bulk_register.rb +2 -0
  29. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_list_response.rb +1 -0
  30. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_request.rb +165 -0
  31. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_resource.rb +1 -0
  32. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_response.rb +1 -0
  33. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type.rb +5 -2
  34. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_list_response.rb +1 -0
  35. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_request.rb +165 -0
  36. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_resource.rb +1 -0
  37. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_response.rb +1 -0
  38. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_attributes.rb +4 -0
  39. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_body.rb +1 -0
  40. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_data.rb +2 -0
  41. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/email.rb +3 -1
  42. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/email_resource.rb +1 -0
  43. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/email_response.rb +1 -0
  44. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment.rb +6 -0
  45. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_list_response.rb +1 -0
  46. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_request.rb +165 -0
  47. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_resource.rb +1 -0
  48. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_response.rb +1 -0
  49. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation.rb +11 -0
  50. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_accept_request.rb +2 -0
  51. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_bulk_create_request.rb +2 -0
  52. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_create_item.rb +3 -0
  53. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_list_response.rb +1 -0
  54. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_resource.rb +1 -0
  55. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_response.rb +1 -0
  56. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice.rb +13 -0
  57. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice_list_response.rb +1 -0
  58. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice_resource.rb +1 -0
  59. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice_single_response.rb +1 -0
  60. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/limit_definition.rb +5 -0
  61. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/login_request.rb +3 -0
  62. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_attributes.rb +7 -0
  63. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_bulk_request.rb +2 -0
  64. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_list_response.rb +1 -0
  65. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_name_item.rb +3 -0
  66. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_names_response.rb +1 -0
  67. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_resource.rb +1 -0
  68. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_rollup_attributes.rb +6 -0
  69. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_rollup_list_response.rb +1 -0
  70. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_rollup_resource.rb +1 -0
  71. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/next_tier_meta.rb +4 -0
  72. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/page_meta.rb +5 -4
  73. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method.rb +9 -1
  74. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_list_response.rb +1 -0
  75. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_request.rb +165 -0
  76. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_resource.rb +1 -0
  77. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_response.rb +1 -0
  78. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan.rb +4 -0
  79. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_change_request.rb +2 -0
  80. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_definition.rb +3 -0
  81. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_list_response.rb +1 -0
  82. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_resource.rb +1 -0
  83. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/product.rb +8 -0
  84. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/product_list_response.rb +1 -0
  85. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/product_resource.rb +1 -0
  86. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/register_request.rb +4 -1
  87. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service.rb +4 -0
  88. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_list_response.rb +1 -0
  89. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_request.rb +165 -0
  90. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_resource.rb +1 -0
  91. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_response.rb +1 -0
  92. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/setup_intent_attributes.rb +2 -0
  93. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/setup_intent_response.rb +1 -0
  94. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_attributes.rb +8 -0
  95. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_list_meta.rb +6 -1
  96. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_list_response.rb +1 -0
  97. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_resource.rb +1 -0
  98. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_response.rb +1 -0
  99. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user.rb +11 -21
  100. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_list_response.rb +1 -0
  101. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_request.rb +165 -0
  102. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_resource.rb +1 -0
  103. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_response.rb +1 -0
  104. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/value.rb +1 -0
  105. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/verify_email_request.rb +2 -0
  106. data/lib/smplkit/_generated/app/lib/smplkit_app_client.rb +8 -0
  107. data/lib/smplkit/_generated/app/spec/api/account_api_spec.rb +2 -2
  108. data/lib/smplkit/_generated/app/spec/api/api_keys_api_spec.rb +2 -2
  109. data/lib/smplkit/_generated/app/spec/api/billing_api_spec.rb +7 -7
  110. data/lib/smplkit/_generated/app/spec/api/context_types_api_spec.rb +2 -2
  111. data/lib/smplkit/_generated/app/spec/api/contexts_api_spec.rb +2 -2
  112. data/lib/smplkit/_generated/app/spec/api/environments_api_spec.rb +2 -2
  113. data/lib/smplkit/_generated/app/spec/api/metrics_api_spec.rb +1 -1
  114. data/lib/smplkit/_generated/app/spec/api/services_api_spec.rb +2 -2
  115. data/lib/smplkit/_generated/app/spec/api/users_api_spec.rb +2 -2
  116. data/lib/smplkit/_generated/app/spec/models/account_request_spec.rb +36 -0
  117. data/lib/smplkit/_generated/app/spec/models/api_key_request_spec.rb +36 -0
  118. data/lib/smplkit/_generated/app/spec/models/api_key_spec.rb +0 -6
  119. data/lib/smplkit/_generated/app/spec/models/context_request_spec.rb +36 -0
  120. data/lib/smplkit/_generated/app/spec/models/context_type_request_spec.rb +36 -0
  121. data/lib/smplkit/_generated/app/spec/models/environment_request_spec.rb +36 -0
  122. data/lib/smplkit/_generated/app/spec/models/payment_method_request_spec.rb +36 -0
  123. data/lib/smplkit/_generated/app/spec/models/service_request_spec.rb +36 -0
  124. data/lib/smplkit/_generated/app/spec/models/user_request_spec.rb +36 -0
  125. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/actions_api.rb +2 -69
  126. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/events_api.rb +17 -17
  127. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/forwarders_api.rb +36 -36
  128. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/functions_api.rb +2 -2
  129. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/resource_types_api.rb +2 -72
  130. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/usage_api.rb +4 -4
  131. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event.rb +12 -2
  132. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_list_response.rb +1 -1
  133. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_request.rb +165 -0
  134. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_resource.rb +2 -18
  135. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_response.rb +1 -1
  136. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder.rb +17 -17
  137. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery.rb +11 -1
  138. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery_list_response.rb +1 -0
  139. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery_resource.rb +1 -0
  140. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery_response.rb +1 -0
  141. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_http.rb +40 -1
  142. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_list_response.rb +1 -0
  143. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_request.rb +165 -0
  144. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_resource.rb +2 -17
  145. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_response.rb +1 -0
  146. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/http_header.rb +3 -1
  147. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/retry_failed_deliveries_summary.rb +4 -0
  148. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/test_forwarder_request.rb +41 -1
  149. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/test_forwarder_response.rb +7 -1
  150. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/usage_attributes.rb +4 -1
  151. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/wipe_response.rb +3 -0
  152. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/wipe_tables_summary.rb +7 -0
  153. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client.rb +2 -0
  154. data/lib/smplkit/_generated/audit/spec/api/actions_api_spec.rb +1 -14
  155. data/lib/smplkit/_generated/audit/spec/api/events_api_spec.rb +5 -5
  156. data/lib/smplkit/_generated/audit/spec/api/forwarders_api_spec.rb +11 -11
  157. data/lib/smplkit/_generated/audit/spec/api/functions_api_spec.rb +1 -1
  158. data/lib/smplkit/_generated/audit/spec/api/resource_types_api_spec.rb +1 -15
  159. data/lib/smplkit/_generated/audit/spec/api/usage_api_spec.rb +2 -2
  160. data/lib/smplkit/_generated/audit/spec/models/event_request_spec.rb +36 -0
  161. data/lib/smplkit/_generated/audit/spec/models/forwarder_http_spec.rb +4 -0
  162. data/lib/smplkit/_generated/audit/spec/models/forwarder_request_spec.rb +36 -0
  163. data/lib/smplkit/_generated/audit/spec/models/forwarder_spec.rb +0 -6
  164. data/lib/smplkit/_generated/audit/spec/models/test_forwarder_request_spec.rb +4 -0
  165. data/lib/smplkit/audit/actions.rb +35 -0
  166. data/lib/smplkit/audit/client.rb +11 -9
  167. data/lib/smplkit/audit/events.rb +8 -45
  168. data/lib/smplkit/audit/models.rb +197 -0
  169. data/lib/smplkit/audit/resource_types.rb +30 -0
  170. data/lib/smplkit/errors.rb +5 -0
  171. data/lib/smplkit/management/audit.rb +111 -0
  172. data/lib/smplkit/management/client.rb +4 -1
  173. data/lib/smplkit.rb +7 -5
  174. metadata +25 -3
  175. data/lib/smplkit/audit/forwarders.rb +0 -282
  176. data/lib/smplkit/audit/functions.rb +0 -58
@@ -0,0 +1,197 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Smplkit
4
+ module Audit
5
+ # Parse the +page[after]+ cursor out of a JSON:API +links.next+
6
+ # URL. Returns nil for non-string input or when the link carries
7
+ # no cursor parameter; trims trailing query params at the next
8
+ # ampersand so they don't leak into the token.
9
+ # Wrap a generated-audit-API call and translate +ApiError+ into the
10
+ # +Smplkit::Error+ hierarchy. Connection-level failures (no
11
+ # response code) become {Smplkit::ConnectionError}; status-coded
12
+ # failures route through {Smplkit::Errors.raise_for_status}, which
13
+ # emits +PaymentRequiredError+ / +NotFoundError+ / +ConflictError+
14
+ # / +ValidationError+ / +Error+ depending on the JSON:API body.
15
+ def self.call_api
16
+ yield
17
+ rescue SmplkitGeneratedClient::Audit::ApiError => e
18
+ raise Smplkit::ConnectionError, e.message.to_s if e.code.nil? || e.code.zero?
19
+
20
+ Smplkit::Errors.raise_for_status(e.code, e.response_body.to_s)
21
+ # raise_for_status only returns on 2xx; if we get here the
22
+ # generated layer raised on a 2xx (shouldn't happen) — re-raise
23
+ # the original so the caller can inspect.
24
+ raise
25
+ end
26
+
27
+ def self.next_cursor(link)
28
+ return nil unless link.is_a?(String)
29
+
30
+ idx = link.index("page[after]=")
31
+ return nil if idx.nil?
32
+
33
+ token = link[(idx + "page[after]=".length)..]
34
+ amp = token.index("&")
35
+ amp ? token[0...amp] : token
36
+ end
37
+
38
+ # Public-facing enum for SIEM streaming destination types.
39
+ #
40
+ # Mirrors the +ForwarderType+ enum the audit OpenAPI spec emits
41
+ # (ADR-047 §2.12). Customers pass these constants — or any string
42
+ # in {VALUES} — to the management +forwarders+ surface. The wrapper
43
+ # validates membership before round-tripping to the wire.
44
+ module ForwarderType
45
+ HTTP = "HTTP"
46
+ DATADOG = "DATADOG"
47
+ SPLUNK_HEC = "SPLUNK_HEC"
48
+ SUMO_LOGIC = "SUMO_LOGIC"
49
+ NEW_RELIC = "NEW_RELIC"
50
+ HONEYCOMB = "HONEYCOMB"
51
+ ELASTIC = "ELASTIC"
52
+
53
+ VALUES = [HTTP, DATADOG, SPLUNK_HEC, SUMO_LOGIC, NEW_RELIC, HONEYCOMB, ELASTIC].freeze
54
+
55
+ def self.coerce(value)
56
+ return nil if value.nil?
57
+
58
+ s = value.to_s
59
+ return s if VALUES.include?(s)
60
+
61
+ raise ArgumentError,
62
+ "Unknown ForwarderType #{value.inspect}; expected one of #{VALUES.inspect}"
63
+ end
64
+ end
65
+
66
+ # Public-facing audit event resource. ADR-047 §2.3.1.
67
+ AuditEvent = Struct.new(
68
+ :id, :action, :resource_type, :resource_id,
69
+ :occurred_at, :created_at,
70
+ :actor_type, :actor_id, :actor_label,
71
+ :data, :idempotency_key, :do_not_forward,
72
+ keyword_init: true
73
+ ) do
74
+ def self.from_resource(resource)
75
+ attrs = resource.attributes
76
+ new(
77
+ id: resource.id,
78
+ action: attrs.action,
79
+ resource_type: attrs.resource_type,
80
+ resource_id: attrs.resource_id,
81
+ occurred_at: attrs.occurred_at,
82
+ created_at: attrs.created_at,
83
+ actor_type: attrs.actor_type,
84
+ actor_id: attrs.actor_id,
85
+ actor_label: attrs.actor_label,
86
+ data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
87
+ idempotency_key: attrs.idempotency_key,
88
+ do_not_forward: attrs.do_not_forward || false
89
+ )
90
+ end
91
+ end
92
+
93
+ # A distinct +resource_type+ slug seen for the account.
94
+ #
95
+ # The +id+ and +resource_type+ are the same value — JSON:API surfaces
96
+ # the customer-facing key as the resource id (ADR-014). The duplication
97
+ # keeps SDK consumers from having to dig into the id field when
98
+ # filtering UI controls; pick whichever name reads better in context.
99
+ ResourceType = Struct.new(:id, :resource_type, :created_at, keyword_init: true) do
100
+ def self.from_resource(resource)
101
+ attrs = resource.attributes
102
+ new(
103
+ id: resource.id,
104
+ resource_type: attrs.resource_type || resource.id,
105
+ created_at: attrs.created_at
106
+ )
107
+ end
108
+ end
109
+
110
+ # A distinct +action+ slug seen for the account.
111
+ #
112
+ # Same shape as {ResourceType} — +id+ and +action+ are the same value.
113
+ # +created_at+ is the earliest sighting; when the parent list call
114
+ # filtered by +resource_type+, this is the first sighting of that
115
+ # specific (action, resource_type) triple, not the action overall.
116
+ Action = Struct.new(:id, :action, :created_at, keyword_init: true) do
117
+ def self.from_resource(resource)
118
+ attrs = resource.attributes
119
+ new(
120
+ id: resource.id,
121
+ action: attrs.action || resource.id,
122
+ created_at: attrs.created_at
123
+ )
124
+ end
125
+ end
126
+
127
+ HttpHeader = Struct.new(:name, :value, keyword_init: true)
128
+
129
+ # rubocop:disable Lint/StructNewOverride -- ``:method`` matches the
130
+ # API attribute and shadowing Struct#method is the expected ergonomics.
131
+ ForwarderHttp = Struct.new(:method, :url, :headers, :body, :success_status, keyword_init: true) do
132
+ def initialize(method: "POST", url: "", headers: nil, body: nil, success_status: "2xx")
133
+ super(method: method, url: url, headers: headers || [], body: body, success_status: success_status)
134
+ end
135
+
136
+ def self.to_wire(src)
137
+ h = src.is_a?(Hash) ? new(**src) : src
138
+ SmplkitGeneratedClient::Audit::ForwarderHttp.new(
139
+ method: h.method,
140
+ url: h.url,
141
+ headers: (h.headers || []).map do |hdr|
142
+ name, value = if hdr.is_a?(Hash)
143
+ [hdr[:name] || hdr["name"],
144
+ hdr[:value] || hdr["value"]]
145
+ else
146
+ [hdr.name, hdr.value]
147
+ end
148
+ SmplkitGeneratedClient::Audit::HttpHeader.new(name: name, value: value)
149
+ end,
150
+ body: h.body,
151
+ success_status: h.success_status
152
+ )
153
+ end
154
+
155
+ def self.from_wire(src)
156
+ return new if src.nil?
157
+
158
+ new(
159
+ method: src.method || "POST",
160
+ url: src.url || "",
161
+ headers: (src.headers || []).map { |h| HttpHeader.new(name: h.name, value: h.value) },
162
+ body: src.body,
163
+ success_status: src.success_status || "2xx"
164
+ )
165
+ end
166
+ end
167
+ # rubocop:enable Lint/StructNewOverride
168
+
169
+ # rubocop:disable Lint/StructNewOverride -- ``:filter`` matches the
170
+ # API attribute and shadowing Struct#filter is the expected ergonomics.
171
+ Forwarder = Struct.new(
172
+ :id, :name, :slug, :forwarder_type, :enabled,
173
+ :filter, :transform, :http,
174
+ :created_at, :updated_at, :deleted_at, :version,
175
+ keyword_init: true
176
+ ) do
177
+ def self.from_resource(resource)
178
+ a = resource.attributes
179
+ new(
180
+ id: resource.id,
181
+ name: a.name,
182
+ slug: a.slug,
183
+ forwarder_type: a.forwarder_type,
184
+ enabled: a.enabled.nil? || a.enabled,
185
+ filter: a.filter.nil? ? nil : Smplkit::Helpers.deep_stringify_keys(a.filter),
186
+ transform: a.transform,
187
+ http: ForwarderHttp.from_wire(a.http),
188
+ created_at: a.created_at,
189
+ updated_at: a.updated_at,
190
+ deleted_at: a.deleted_at,
191
+ version: a.version
192
+ )
193
+ end
194
+ end
195
+ # rubocop:enable Lint/StructNewOverride
196
+ end
197
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Smplkit
4
+ module Audit
5
+ # +client.audit.resource_types.list+ — distinct +resource_type+ slugs
6
+ # seen for the account.
7
+ #
8
+ # Backed by a maintain-by-write side table (ADR-047 §2.5), so the
9
+ # response time is independent of how many years of events the
10
+ # account has accumulated. Sorted alphabetically; cursor pagination
11
+ # via +page_after+.
12
+ class ResourceTypes
13
+ def initialize(api)
14
+ @api = api
15
+ end
16
+
17
+ def list(page_size: nil, page_after: nil)
18
+ opts = {}
19
+ opts[:page_size] = page_size if page_size
20
+ opts[:page_after] = page_after if page_after
21
+
22
+ resp = Smplkit::Audit.call_api { @api.list_resource_types(opts) }
23
+ rows = (resp.data || []).map { |r| ResourceType.from_resource(r) }
24
+ ResourceTypeListPage.new(rows, Smplkit::Audit.next_cursor(resp.links&._next))
25
+ end
26
+ end
27
+
28
+ ResourceTypeListPage = Struct.new(:resource_types, :next_cursor)
29
+ end
30
+ end
@@ -70,6 +70,10 @@ module Smplkit
70
70
  class ConflictError < Error; end
71
71
  class ValidationError < Error; end
72
72
 
73
+ # Raised when the server rejects a request because the account's
74
+ # subscription plan does not include the required entitlement.
75
+ class PaymentRequiredError < Error; end
76
+
73
77
  module Errors
74
78
  module_function
75
79
 
@@ -102,6 +106,7 @@ module Smplkit
102
106
 
103
107
  exc_cls =
104
108
  case status_code
109
+ when 402 then PaymentRequiredError
105
110
  when 404 then NotFoundError
106
111
  when 409 then ConflictError
107
112
  when 400, 422 then ValidationError
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Smplkit
4
+ module Management
5
+ # Audit management surface — accessed via +mgmt.audit.forwarders+.
6
+ #
7
+ # Counterpart to the runtime {Smplkit::Audit::AuditClient}. The
8
+ # runtime client owns event recording and read-side queries; this
9
+ # surface owns SIEM forwarder CRUD. ADR-047 §2.7.
10
+ class AuditNamespace
11
+ attr_reader :forwarders
12
+
13
+ def initialize(api_client)
14
+ @forwarders = ForwardersNamespace.new(
15
+ SmplkitGeneratedClient::Audit::ForwardersApi.new(api_client)
16
+ )
17
+ end
18
+ end
19
+
20
+ # +mgmt.audit.forwarders.*+ — manage the customer's configured SIEM
21
+ # forwarders.
22
+ class ForwardersNamespace
23
+ def initialize(api)
24
+ @api = api
25
+ end
26
+
27
+ # Create a forwarder.
28
+ #
29
+ # @param name [String] Display name. The slug is derived
30
+ # server-side.
31
+ # @param forwarder_type [String, Smplkit::Audit::ForwarderType]
32
+ # One of the published {Smplkit::Audit::ForwarderType} constants
33
+ # (or the equivalent string).
34
+ # @param http [Smplkit::Audit::ForwarderHttp, Hash] Destination
35
+ # configuration. Headers carry credentials and are encrypted at
36
+ # rest server-side; reads return them redacted.
37
+ # @param enabled [Boolean] Whether the forwarder is active.
38
+ # @param filter [Hash, nil] Optional JSON Logic filter; events
39
+ # that don't match are recorded as +filtered_out+ deliveries.
40
+ # @param transform [String, nil] Optional JSONata template
41
+ # applied to the event payload before POST. Nil/empty sends the
42
+ # event as-is.
43
+ def create(name:, forwarder_type:, http:, enabled: true,
44
+ filter: nil, transform: nil)
45
+ body = build_body(nil, name: name, forwarder_type: forwarder_type,
46
+ http: http, enabled: enabled,
47
+ filter: filter, transform: transform)
48
+ resp = Smplkit::Audit.call_api { @api.create_forwarder(body) }
49
+ Smplkit::Audit::Forwarder.from_resource(resp.data)
50
+ end
51
+
52
+ def list(forwarder_type: nil, enabled: nil, page_size: nil, page_after: nil)
53
+ opts = {}
54
+ opts[:filter_forwarder_type] = Smplkit::Audit::ForwarderType.coerce(forwarder_type) if forwarder_type
55
+ opts[:filter_enabled] = enabled unless enabled.nil?
56
+ opts[:page_size] = page_size if page_size
57
+ opts[:page_after] = page_after if page_after
58
+
59
+ resp = Smplkit::Audit.call_api { @api.list_forwarders(opts) }
60
+ forwarders = (resp.data || []).map { |r| Smplkit::Audit::Forwarder.from_resource(r) }
61
+ ForwarderListPage.new(forwarders, Smplkit::Audit.next_cursor(resp.links&._next))
62
+ end
63
+
64
+ def get(forwarder_id)
65
+ resp = Smplkit::Audit.call_api { @api.get_forwarder(forwarder_id) }
66
+ Smplkit::Audit::Forwarder.from_resource(resp.data)
67
+ end
68
+
69
+ # Full-replace update. PUT semantics — every field is overwritten.
70
+ #
71
+ # Header values must be re-supplied as plaintext; the GET path
72
+ # redacts them, so a PUT body containing +"<redacted>"+ would
73
+ # persist that literal. Track real header values client-side and
74
+ # round-trip them on update.
75
+ def update(forwarder_id, name:, forwarder_type:, http:, enabled: true,
76
+ filter: nil, transform: nil)
77
+ body = build_body(forwarder_id, name: name, forwarder_type: forwarder_type,
78
+ http: http, enabled: enabled,
79
+ filter: filter, transform: transform)
80
+ resp = Smplkit::Audit.call_api { @api.update_forwarder(forwarder_id, body) }
81
+ Smplkit::Audit::Forwarder.from_resource(resp.data)
82
+ end
83
+
84
+ def delete(forwarder_id)
85
+ Smplkit::Audit.call_api { @api.delete_forwarder(forwarder_id) }
86
+ nil
87
+ end
88
+
89
+ private
90
+
91
+ def build_body(id, name:, forwarder_type:, http:, enabled:, filter:, transform:)
92
+ attrs = SmplkitGeneratedClient::Audit::Forwarder.new(
93
+ name: name,
94
+ forwarder_type: Smplkit::Audit::ForwarderType.coerce(forwarder_type),
95
+ enabled: enabled,
96
+ http: Smplkit::Audit::ForwarderHttp.to_wire(http),
97
+ filter: filter,
98
+ transform: transform
99
+ )
100
+ resource = SmplkitGeneratedClient::Audit::ForwarderResource.new(
101
+ id: id ? id.to_s : "",
102
+ type: "forwarder",
103
+ attributes: attrs
104
+ )
105
+ SmplkitGeneratedClient::Audit::ForwarderRequest.new(data: resource)
106
+ end
107
+ end
108
+
109
+ ForwarderListPage = Struct.new(:forwarders, :next_cursor)
110
+ end
111
+ end
@@ -28,7 +28,7 @@ module Smplkit
28
28
  # +<resource>_from_resource+ helpers.
29
29
  class ManagementClient
30
30
  attr_reader :contexts, :context_types, :environments, :account_settings,
31
- :config, :flags, :loggers, :log_groups
31
+ :config, :flags, :loggers, :log_groups, :audit
32
32
 
33
33
  def self.from_resolved(resolved, extra_headers: nil)
34
34
  new(_resolved: resolved, extra_headers: extra_headers)
@@ -50,6 +50,7 @@ module Smplkit
50
50
  @config_api_client = build_api_client(SmplkitGeneratedClient::Config, "config", cfg)
51
51
  @flags_api_client = build_api_client(SmplkitGeneratedClient::Flags, "flags", cfg)
52
52
  @logging_api_client = build_api_client(SmplkitGeneratedClient::Logging, "logging", cfg)
53
+ @audit_api_client = build_api_client(SmplkitGeneratedClient::Audit, "audit", cfg)
53
54
 
54
55
  @contexts = ContextsNamespace.new(@app_api_client)
55
56
  @context_types = ContextTypesNamespace.new(@app_api_client)
@@ -59,6 +60,7 @@ module Smplkit
59
60
  @flags = FlagsNamespace.new(@flags_api_client)
60
61
  @loggers = LoggersNamespace.new(@logging_api_client)
61
62
  @log_groups = LogGroupsNamespace.new(@logging_api_client)
63
+ @audit = Management::AuditNamespace.new(@audit_api_client)
62
64
  end
63
65
 
64
66
  def close
@@ -71,6 +73,7 @@ module Smplkit
71
73
  def _config_http = @config_api_client
72
74
  def _flags_http = @flags_api_client
73
75
  def _logging_http = @logging_api_client
76
+ def _audit_http = @audit_api_client
74
77
 
75
78
  SDK_OWNED_HEADERS = %w[authorization content-type user-agent].freeze
76
79
 
data/lib/smplkit.rb CHANGED
@@ -58,15 +58,17 @@ require_relative "smplkit/logging/helpers"
58
58
  require_relative "smplkit/logging/adapters/base"
59
59
  require_relative "smplkit/logging/adapters/stdlib_logger_adapter"
60
60
  require_relative "smplkit/logging/client"
61
+ require_relative "smplkit/audit/models"
62
+ require_relative "smplkit/audit/buffer"
63
+ require_relative "smplkit/audit/events"
64
+ require_relative "smplkit/audit/resource_types"
65
+ require_relative "smplkit/audit/actions"
66
+ require_relative "smplkit/audit/client"
61
67
  require_relative "smplkit/management/types"
62
68
  require_relative "smplkit/management/models"
63
69
  require_relative "smplkit/management/buffer"
70
+ require_relative "smplkit/management/audit"
64
71
  require_relative "smplkit/management/client"
65
- require_relative "smplkit/audit/buffer"
66
- require_relative "smplkit/audit/events"
67
- require_relative "smplkit/audit/forwarders"
68
- require_relative "smplkit/audit/functions"
69
- require_relative "smplkit/audit/client"
70
72
  require_relative "smplkit/client"
71
73
 
72
74
  require_relative "smplkit/railtie" if defined?(Rails::Railtie)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smplkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.13
4
+ version: 2.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Smpl Solutions LLC
@@ -172,6 +172,7 @@ files:
172
172
  - lib/smplkit/_generated/app/lib/smplkit_app_client/api_model_base.rb
173
173
  - lib/smplkit/_generated/app/lib/smplkit_app_client/configuration.rb
174
174
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/account.rb
175
+ - lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_request.rb
175
176
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_resource.rb
176
177
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_response.rb
177
178
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_wipe_request.rb
@@ -180,6 +181,7 @@ files:
180
181
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_data.rb
181
182
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key.rb
182
183
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_list_response.rb
184
+ - lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_request.rb
183
185
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_resource.rb
184
186
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_response.rb
185
187
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/auth_token_response.rb
@@ -189,10 +191,12 @@ files:
189
191
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_bulk_item.rb
190
192
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_bulk_register.rb
191
193
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_list_response.rb
194
+ - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_request.rb
192
195
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_resource.rb
193
196
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_response.rb
194
197
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type.rb
195
198
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_list_response.rb
199
+ - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_request.rb
196
200
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_resource.rb
197
201
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_response.rb
198
202
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_attributes.rb
@@ -203,6 +207,7 @@ files:
203
207
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/email_response.rb
204
208
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment.rb
205
209
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_list_response.rb
210
+ - lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_request.rb
206
211
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_resource.rb
207
212
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_response.rb
208
213
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/error.rb
@@ -234,6 +239,7 @@ files:
234
239
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/page_meta.rb
235
240
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method.rb
236
241
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_list_response.rb
242
+ - lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_request.rb
237
243
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_resource.rb
238
244
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_response.rb
239
245
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan.rb
@@ -247,6 +253,7 @@ files:
247
253
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/register_request.rb
248
254
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/service.rb
249
255
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_list_response.rb
256
+ - lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_request.rb
250
257
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_resource.rb
251
258
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_response.rb
252
259
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/setup_intent_attributes.rb
@@ -260,6 +267,7 @@ files:
260
267
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/user.rb
261
268
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_list_meta.rb
262
269
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_list_response.rb
270
+ - lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_request.rb
263
271
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_resource.rb
264
272
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_response.rb
265
273
  - lib/smplkit/_generated/app/lib/smplkit_app_client/models/value.rb
@@ -280,6 +288,7 @@ files:
280
288
  - lib/smplkit/_generated/app/spec/api/products_api_spec.rb
281
289
  - lib/smplkit/_generated/app/spec/api/services_api_spec.rb
282
290
  - lib/smplkit/_generated/app/spec/api/users_api_spec.rb
291
+ - lib/smplkit/_generated/app/spec/models/account_request_spec.rb
283
292
  - lib/smplkit/_generated/app/spec/models/account_resource_spec.rb
284
293
  - lib/smplkit/_generated/app/spec/models/account_response_spec.rb
285
294
  - lib/smplkit/_generated/app/spec/models/account_spec.rb
@@ -288,6 +297,7 @@ files:
288
297
  - lib/smplkit/_generated/app/spec/models/add_payment_method_body_spec.rb
289
298
  - lib/smplkit/_generated/app/spec/models/add_payment_method_data_spec.rb
290
299
  - lib/smplkit/_generated/app/spec/models/api_key_list_response_spec.rb
300
+ - lib/smplkit/_generated/app/spec/models/api_key_request_spec.rb
291
301
  - lib/smplkit/_generated/app/spec/models/api_key_resource_spec.rb
292
302
  - lib/smplkit/_generated/app/spec/models/api_key_response_spec.rb
293
303
  - lib/smplkit/_generated/app/spec/models/api_key_spec.rb
@@ -297,10 +307,12 @@ files:
297
307
  - lib/smplkit/_generated/app/spec/models/context_bulk_item_spec.rb
298
308
  - lib/smplkit/_generated/app/spec/models/context_bulk_register_spec.rb
299
309
  - lib/smplkit/_generated/app/spec/models/context_list_response_spec.rb
310
+ - lib/smplkit/_generated/app/spec/models/context_request_spec.rb
300
311
  - lib/smplkit/_generated/app/spec/models/context_resource_spec.rb
301
312
  - lib/smplkit/_generated/app/spec/models/context_response_spec.rb
302
313
  - lib/smplkit/_generated/app/spec/models/context_spec.rb
303
314
  - lib/smplkit/_generated/app/spec/models/context_type_list_response_spec.rb
315
+ - lib/smplkit/_generated/app/spec/models/context_type_request_spec.rb
304
316
  - lib/smplkit/_generated/app/spec/models/context_type_resource_spec.rb
305
317
  - lib/smplkit/_generated/app/spec/models/context_type_response_spec.rb
306
318
  - lib/smplkit/_generated/app/spec/models/context_type_spec.rb
@@ -311,6 +323,7 @@ files:
311
323
  - lib/smplkit/_generated/app/spec/models/email_response_spec.rb
312
324
  - lib/smplkit/_generated/app/spec/models/email_spec.rb
313
325
  - lib/smplkit/_generated/app/spec/models/environment_list_response_spec.rb
326
+ - lib/smplkit/_generated/app/spec/models/environment_request_spec.rb
314
327
  - lib/smplkit/_generated/app/spec/models/environment_resource_spec.rb
315
328
  - lib/smplkit/_generated/app/spec/models/environment_response_spec.rb
316
329
  - lib/smplkit/_generated/app/spec/models/environment_spec.rb
@@ -342,6 +355,7 @@ files:
342
355
  - lib/smplkit/_generated/app/spec/models/oidc_provider_spec.rb
343
356
  - lib/smplkit/_generated/app/spec/models/page_meta_spec.rb
344
357
  - lib/smplkit/_generated/app/spec/models/payment_method_list_response_spec.rb
358
+ - lib/smplkit/_generated/app/spec/models/payment_method_request_spec.rb
345
359
  - lib/smplkit/_generated/app/spec/models/payment_method_resource_spec.rb
346
360
  - lib/smplkit/_generated/app/spec/models/payment_method_response_spec.rb
347
361
  - lib/smplkit/_generated/app/spec/models/payment_method_spec.rb
@@ -355,6 +369,7 @@ files:
355
369
  - lib/smplkit/_generated/app/spec/models/product_spec.rb
356
370
  - lib/smplkit/_generated/app/spec/models/register_request_spec.rb
357
371
  - lib/smplkit/_generated/app/spec/models/service_list_response_spec.rb
372
+ - lib/smplkit/_generated/app/spec/models/service_request_spec.rb
358
373
  - lib/smplkit/_generated/app/spec/models/service_resource_spec.rb
359
374
  - lib/smplkit/_generated/app/spec/models/service_response_spec.rb
360
375
  - lib/smplkit/_generated/app/spec/models/service_spec.rb
@@ -368,6 +383,7 @@ files:
368
383
  - lib/smplkit/_generated/app/spec/models/subscription_response_spec.rb
369
384
  - lib/smplkit/_generated/app/spec/models/user_list_meta_spec.rb
370
385
  - lib/smplkit/_generated/app/spec/models/user_list_response_spec.rb
386
+ - lib/smplkit/_generated/app/spec/models/user_request_spec.rb
371
387
  - lib/smplkit/_generated/app/spec/models/user_resource_spec.rb
372
388
  - lib/smplkit/_generated/app/spec/models/user_response_spec.rb
373
389
  - lib/smplkit/_generated/app/spec/models/user_spec.rb
@@ -394,6 +410,7 @@ files:
394
410
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_list_links.rb
395
411
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_list_meta.rb
396
412
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_list_response.rb
413
+ - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_request.rb
397
414
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_resource.rb
398
415
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_response.rb
399
416
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder.rb
@@ -405,6 +422,7 @@ files:
405
422
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_list_links.rb
406
423
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_list_meta.rb
407
424
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_list_response.rb
425
+ - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_request.rb
408
426
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_resource.rb
409
427
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_response.rb
410
428
  - lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_type.rb
@@ -437,6 +455,7 @@ files:
437
455
  - lib/smplkit/_generated/audit/spec/models/event_list_links_spec.rb
438
456
  - lib/smplkit/_generated/audit/spec/models/event_list_meta_spec.rb
439
457
  - lib/smplkit/_generated/audit/spec/models/event_list_response_spec.rb
458
+ - lib/smplkit/_generated/audit/spec/models/event_request_spec.rb
440
459
  - lib/smplkit/_generated/audit/spec/models/event_resource_spec.rb
441
460
  - lib/smplkit/_generated/audit/spec/models/event_response_spec.rb
442
461
  - lib/smplkit/_generated/audit/spec/models/event_spec.rb
@@ -448,6 +467,7 @@ files:
448
467
  - lib/smplkit/_generated/audit/spec/models/forwarder_list_links_spec.rb
449
468
  - lib/smplkit/_generated/audit/spec/models/forwarder_list_meta_spec.rb
450
469
  - lib/smplkit/_generated/audit/spec/models/forwarder_list_response_spec.rb
470
+ - lib/smplkit/_generated/audit/spec/models/forwarder_request_spec.rb
451
471
  - lib/smplkit/_generated/audit/spec/models/forwarder_resource_spec.rb
452
472
  - lib/smplkit/_generated/audit/spec/models/forwarder_response_spec.rb
453
473
  - lib/smplkit/_generated/audit/spec/models/forwarder_spec.rb
@@ -622,11 +642,12 @@ files:
622
642
  - lib/smplkit/_generated/logging/spec/models/usage_list_response_spec.rb
623
643
  - lib/smplkit/_generated/logging/spec/models/usage_resource_spec.rb
624
644
  - lib/smplkit/_generated/logging/spec/spec_helper.rb
645
+ - lib/smplkit/audit/actions.rb
625
646
  - lib/smplkit/audit/buffer.rb
626
647
  - lib/smplkit/audit/client.rb
627
648
  - lib/smplkit/audit/events.rb
628
- - lib/smplkit/audit/forwarders.rb
629
- - lib/smplkit/audit/functions.rb
649
+ - lib/smplkit/audit/models.rb
650
+ - lib/smplkit/audit/resource_types.rb
630
651
  - lib/smplkit/client.rb
631
652
  - lib/smplkit/config/client.rb
632
653
  - lib/smplkit/config/helpers.rb
@@ -651,6 +672,7 @@ files:
651
672
  - lib/smplkit/logging/models.rb
652
673
  - lib/smplkit/logging/normalize.rb
653
674
  - lib/smplkit/logging/sources.rb
675
+ - lib/smplkit/management/audit.rb
654
676
  - lib/smplkit/management/buffer.rb
655
677
  - lib/smplkit/management/client.rb
656
678
  - lib/smplkit/management/models.rb