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
@@ -14,32 +14,41 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
- # Public-facing forwarder resource. Attribute set on POST /api/v1/forwarders: - name (required) - forwarder_type (required) - http (required) - enabled (optional, defaults true) - filter (optional, JSON Logic) - transform (optional, JSONata) The slug is server-derived from name on create; it is immutable on update because consumers (UI, observability) key off it.
17
+ # A destination that receives audit events recorded for the account. Each event recorded for the account is evaluated against every enabled forwarder. If the filter expression evaluates truthy or is absent — the event is delivered to the destination using the configured HTTP request. The slug, derived from `name` at create time, is the stable identifier used by the console and other tooling.
18
18
  class Forwarder < ApiModelBase
19
+ # Human-readable name for the forwarder.
19
20
  attr_accessor :name
20
21
 
22
+ # Destination type.
21
23
  attr_accessor :forwarder_type
22
24
 
25
+ # Whether the forwarder is currently delivering events. Set to `false` to pause deliveries without deleting the forwarder.
23
26
  attr_accessor :enabled
24
27
 
28
+ # JSON Logic expression evaluated against each event. The event is delivered only if the expression returns truthy. Omit to deliver every event.
25
29
  attr_accessor :filter
26
30
 
31
+ # JSONata template applied to each event before delivery. Omit to deliver the event unchanged.
27
32
  attr_accessor :transform
28
33
 
34
+ # HTTP request used to deliver each event to the destination.
29
35
  attr_accessor :http
30
36
 
37
+ # URL-safe identifier derived from `name` at create time. Stable for the lifetime of the forwarder.
31
38
  attr_accessor :slug
32
39
 
40
+ # When the forwarder was created.
33
41
  attr_accessor :created_at
34
42
 
43
+ # When the forwarder was last modified.
35
44
  attr_accessor :updated_at
36
45
 
46
+ # When the forwarder was deleted. `null` for active forwarders.
37
47
  attr_accessor :deleted_at
38
48
 
49
+ # Monotonic counter incremented on every update, starting at 1.
39
50
  attr_accessor :version
40
51
 
41
- attr_accessor :data
42
-
43
52
  class EnumAttributeValidator
44
53
  attr_reader :datatype
45
54
  attr_reader :allowable_values
@@ -75,8 +84,7 @@ module SmplkitGeneratedClient::Audit
75
84
  :'created_at' => :'created_at',
76
85
  :'updated_at' => :'updated_at',
77
86
  :'deleted_at' => :'deleted_at',
78
- :'version' => :'version',
79
- :'data' => :'data'
87
+ :'version' => :'version'
80
88
  }
81
89
  end
82
90
 
@@ -103,8 +111,7 @@ module SmplkitGeneratedClient::Audit
103
111
  :'created_at' => :'Time',
104
112
  :'updated_at' => :'Time',
105
113
  :'deleted_at' => :'Time',
106
- :'version' => :'Integer',
107
- :'data' => :'Hash<String, Object>'
114
+ :'version' => :'Integer'
108
115
  }
109
116
  end
110
117
 
@@ -117,7 +124,7 @@ module SmplkitGeneratedClient::Audit
117
124
  :'created_at',
118
125
  :'updated_at',
119
126
  :'deleted_at',
120
- :'version',
127
+ :'version'
121
128
  ])
122
129
  end
123
130
 
@@ -190,12 +197,6 @@ module SmplkitGeneratedClient::Audit
190
197
  if attributes.key?(:'version')
191
198
  self.version = attributes[:'version']
192
199
  end
193
-
194
- if attributes.key?(:'data')
195
- if (value = attributes[:'data']).is_a?(Hash)
196
- self.data = value
197
- end
198
- end
199
200
  end
200
201
 
201
202
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -306,8 +307,7 @@ module SmplkitGeneratedClient::Audit
306
307
  created_at == o.created_at &&
307
308
  updated_at == o.updated_at &&
308
309
  deleted_at == o.deleted_at &&
309
- version == o.version &&
310
- data == o.data
310
+ version == o.version
311
311
  end
312
312
 
313
313
  # @see the `==` method
@@ -319,7 +319,7 @@ module SmplkitGeneratedClient::Audit
319
319
  # Calculates hash code according to all attributes.
320
320
  # @return [Integer] Hash code
321
321
  def hash
322
- [name, forwarder_type, enabled, filter, transform, http, slug, created_at, updated_at, deleted_at, version, data].hash
322
+ [name, forwarder_type, enabled, filter, transform, http, slug, created_at, updated_at, deleted_at, version].hash
323
323
  end
324
324
 
325
325
  # Builds the object from hash
@@ -14,26 +14,36 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
- # Read-only delivery log row. All fields are server-populated. Headers in ``request`` always show redacted values, regardless of who configured them.
17
+ # A log entry for one attempt to deliver an event to a forwarder.
18
18
  class ForwarderDelivery < ApiModelBase
19
+ # Forwarder the delivery belongs to.
19
20
  attr_accessor :forwarder_id
20
21
 
22
+ # Event that was being delivered.
21
23
  attr_accessor :event_id
22
24
 
25
+ # 1 for the initial delivery, incremented for each retry.
23
26
  attr_accessor :attempt_number
24
27
 
28
+ # Delivery outcome. `SUCCEEDED` and `FAILED` are the live-delivery outcomes; `FILTERED_OUT` is recorded when the forwarder's filter rejected the event; `SKIPPED_DO_NOT_FORWARD` is recorded when the event was emitted with `do_not_forward=true`.
25
29
  attr_accessor :status
26
30
 
31
+ # The HTTP request as it was sent to the destination. Header values are redacted.
27
32
  attr_accessor :request
28
33
 
34
+ # HTTP status code returned by the destination.
29
35
  attr_accessor :response_status
30
36
 
37
+ # Response body returned by the destination.
31
38
  attr_accessor :response_body
32
39
 
40
+ # Elapsed time of the delivery attempt in milliseconds.
33
41
  attr_accessor :latency_ms
34
42
 
43
+ # Error message if the delivery did not complete.
35
44
  attr_accessor :error
36
45
 
46
+ # When the delivery attempt was recorded.
37
47
  attr_accessor :created_at
38
48
 
39
49
  class EnumAttributeValidator
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
+ # JSON:API collection response for forwarder deliveries.
17
18
  class ForwarderDeliveryListResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
+ # JSON:API resource envelope for a forwarder delivery log entry.
17
18
  class ForwarderDeliveryResource < ApiModelBase
18
19
  attr_accessor :id
19
20
 
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
+ # JSON:API single-resource response for a forwarder delivery.
17
18
  class ForwarderDeliveryResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -14,18 +14,45 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
- # The destination HTTP request shape stored encrypted on a forwarder. ``success_status`` is a string: either a single status code (e.g. ``\"200\"``, ``\"204\"``) or a class (e.g. ``\"2xx\"``, ``\"3xx\"``). The string-only contract is intentional — a Pydantic ``int | str`` union confused several SDK code generators (Java in particular wrote the default ``\"2xx\"`` unquoted into a typed enum). String covers both shapes universally with a single wire type.
17
+ # HTTP request configuration used to deliver an event to the destination.
18
18
  class ForwarderHttp < ApiModelBase
19
+ # HTTP method used when delivering an event.
19
20
  attr_accessor :method
20
21
 
22
+ # Destination URL.
21
23
  attr_accessor :url
22
24
 
25
+ # HTTP headers attached to each delivery request.
23
26
  attr_accessor :headers
24
27
 
28
+ # Request body sent to the destination. If omitted, the event JSON is sent as the body.
25
29
  attr_accessor :body
26
30
 
31
+ # HTTP response status that indicates a successful delivery. Either a specific status code (e.g. `200`, `204`) or a status class (`1xx`, `2xx`, `3xx`, `4xx`, `5xx`).
27
32
  attr_accessor :success_status
28
33
 
34
+ class EnumAttributeValidator
35
+ attr_reader :datatype
36
+ attr_reader :allowable_values
37
+
38
+ def initialize(datatype, allowable_values)
39
+ @allowable_values = allowable_values.map do |value|
40
+ case datatype.to_s
41
+ when /Integer/i
42
+ value.to_i
43
+ when /Float/i
44
+ value.to_f
45
+ else
46
+ value
47
+ end
48
+ end
49
+ end
50
+
51
+ def valid?(value)
52
+ !value || allowable_values.include?(value)
53
+ end
54
+ end
55
+
29
56
  # Attribute mapping from ruby-style variable name to JSON key.
30
57
  def self.attribute_map
31
58
  {
@@ -142,6 +169,8 @@ module SmplkitGeneratedClient::Audit
142
169
  # @return true if the model is valid
143
170
  def valid?
144
171
  warn '[DEPRECATED] the `valid?` method is obsolete'
172
+ method_validator = EnumAttributeValidator.new('String', ["GET", "POST", "PUT", "PATCH", "DELETE"])
173
+ return false unless method_validator.valid?(@method)
145
174
  return false if @url.nil?
146
175
  return false if @url.to_s.length > 2048
147
176
  return false if @url.to_s.length < 1
@@ -150,6 +179,16 @@ module SmplkitGeneratedClient::Audit
150
179
  true
151
180
  end
152
181
 
182
+ # Custom attribute writer method checking allowed values (enum).
183
+ # @param [Object] method Object to be assigned
184
+ def method=(method)
185
+ validator = EnumAttributeValidator.new('String', ["GET", "POST", "PUT", "PATCH", "DELETE"])
186
+ unless validator.valid?(method)
187
+ fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
188
+ end
189
+ @method = method
190
+ end
191
+
153
192
  # Custom attribute writer method with validation
154
193
  # @param [Object] url Value to be assigned
155
194
  def url=(url)
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
+ # JSON:API collection response for forwarders.
17
18
  class ForwarderListResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -0,0 +1,165 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module SmplkitGeneratedClient::Audit
17
+ # JSON:API request envelope for creating or updating a forwarder.
18
+ class ForwarderRequest < ApiModelBase
19
+ attr_accessor :data
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'data' => :'data'
25
+ }
26
+ end
27
+
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ acceptable_attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'ForwarderResource'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SmplkitGeneratedClient::Audit::ForwarderRequest` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ acceptable_attribute_map = self.class.acceptable_attribute_map
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!acceptable_attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SmplkitGeneratedClient::Audit::ForwarderRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
66
+
67
+ if attributes.key?(:'data')
68
+ self.data = attributes[:'data']
69
+ else
70
+ self.data = nil
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
+ invalid_properties = Array.new
79
+ if @data.nil?
80
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
81
+ end
82
+
83
+ invalid_properties
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ def valid?
89
+ warn '[DEPRECATED] the `valid?` method is obsolete'
90
+ return false if @data.nil?
91
+ true
92
+ end
93
+
94
+ # Custom attribute writer method with validation
95
+ # @param [Object] data Value to be assigned
96
+ def data=(data)
97
+ if data.nil?
98
+ fail ArgumentError, 'data cannot be nil'
99
+ end
100
+
101
+ @data = data
102
+ end
103
+
104
+ # Checks equality by comparing each attribute.
105
+ # @param [Object] Object to be compared
106
+ def ==(o)
107
+ return true if self.equal?(o)
108
+ self.class == o.class &&
109
+ data == o.data
110
+ end
111
+
112
+ # @see the `==` method
113
+ # @param [Object] Object to be compared
114
+ def eql?(o)
115
+ self == o
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Integer] Hash code
120
+ def hash
121
+ [data].hash
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def self.build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ attributes = attributes.transform_keys(&:to_sym)
130
+ transformed_hash = {}
131
+ openapi_types.each_pair do |key, type|
132
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
133
+ transformed_hash["#{key}"] = nil
134
+ elsif type =~ /\AArray<(.*)>/i
135
+ # check to ensure the input is an array given that the attribute
136
+ # is documented as an array but the input is not
137
+ if attributes[attribute_map[key]].is_a?(Array)
138
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
139
+ end
140
+ elsif !attributes[attribute_map[key]].nil?
141
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
142
+ end
143
+ end
144
+ new(transformed_hash)
145
+ end
146
+
147
+ # Returns the object in the form of hash
148
+ # @return [Hash] Returns the object in the form of hash
149
+ def to_hash
150
+ hash = {}
151
+ self.class.attribute_map.each_pair do |attr, param|
152
+ value = self.send(attr)
153
+ if value.nil?
154
+ is_nullable = self.class.openapi_nullable.include?(attr)
155
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
156
+ end
157
+
158
+ hash[param] = _to_hash(value)
159
+ end
160
+ hash
161
+ end
162
+
163
+ end
164
+
165
+ end
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
+ # JSON:API resource envelope for a forwarder. `id` must not be specified for create requests (the server assigns it).
17
18
  class ForwarderResource < ApiModelBase
18
19
  attr_accessor :id
19
20
 
@@ -52,6 +53,7 @@ module SmplkitGeneratedClient::Audit
52
53
  # List of attributes with nullable: true
53
54
  def self.openapi_nullable
54
55
  Set.new([
56
+ :'id',
55
57
  ])
56
58
  end
57
59
 
@@ -73,8 +75,6 @@ module SmplkitGeneratedClient::Audit
73
75
 
74
76
  if attributes.key?(:'id')
75
77
  self.id = attributes[:'id']
76
- else
77
- self.id = nil
78
78
  end
79
79
 
80
80
  if attributes.key?(:'type')
@@ -95,10 +95,6 @@ module SmplkitGeneratedClient::Audit
95
95
  def list_invalid_properties
96
96
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
97
97
  invalid_properties = Array.new
98
- if @id.nil?
99
- invalid_properties.push('invalid value for "id", id cannot be nil.')
100
- end
101
-
102
98
  if @attributes.nil?
103
99
  invalid_properties.push('invalid value for "attributes", attributes cannot be nil.')
104
100
  end
@@ -110,21 +106,10 @@ module SmplkitGeneratedClient::Audit
110
106
  # @return true if the model is valid
111
107
  def valid?
112
108
  warn '[DEPRECATED] the `valid?` method is obsolete'
113
- return false if @id.nil?
114
109
  return false if @attributes.nil?
115
110
  true
116
111
  end
117
112
 
118
- # Custom attribute writer method with validation
119
- # @param [Object] id Value to be assigned
120
- def id=(id)
121
- if id.nil?
122
- fail ArgumentError, 'id cannot be nil'
123
- end
124
-
125
- @id = id
126
- end
127
-
128
113
  # Custom attribute writer method with validation
129
114
  # @param [Object] attributes Value to be assigned
130
115
  def attributes=(attributes)
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
+ # JSON:API single-resource response envelope for a forwarder.
17
18
  class ForwarderResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -14,10 +14,12 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
- # A single header on a forwarder's HTTP destination.
17
+ # A single HTTP header attached to a forwarder delivery request.
18
18
  class HttpHeader < ApiModelBase
19
+ # Header name.
19
20
  attr_accessor :name
20
21
 
22
+ # Header value.
21
23
  attr_accessor :value
22
24
 
23
25
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,11 +14,15 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
+ # Counts returned by the retry-failed-deliveries action.
17
18
  class RetryFailedDeliveriesSummary < ApiModelBase
19
+ # Number of failed deliveries that were re-attempted.
18
20
  attr_accessor :attempted
19
21
 
22
+ # Number of re-attempts that succeeded.
20
23
  attr_accessor :succeeded
21
24
 
25
+ # Number of re-attempts that failed again.
22
26
  attr_accessor :failed
23
27
 
24
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,20 +14,48 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
- # Plain-JSON body for the test_forwarder execute action. Mirrors the encrypted ``ForwarderHttp`` shape with one addition — ``timeout_ms``, capped server-side.
17
+ # Inputs to the test-forwarder action. Mirrors a forwarder's HTTP destination configuration with one addition: `timeout_ms`, applied per-request and capped server-side.
18
18
  class TestForwarderRequest < ApiModelBase
19
+ # HTTP method used for the test request.
19
20
  attr_accessor :method
20
21
 
22
+ # Destination URL.
21
23
  attr_accessor :url
22
24
 
25
+ # HTTP headers attached to the test request.
23
26
  attr_accessor :headers
24
27
 
28
+ # Request body. If omitted, an empty body is sent.
25
29
  attr_accessor :body
26
30
 
31
+ # HTTP response status that indicates success. Either a specific status code (e.g. `200`, `204`) or a status class (`1xx`, `2xx`, `3xx`, `4xx`, `5xx`).
27
32
  attr_accessor :success_status
28
33
 
34
+ # Per-request timeout in milliseconds. Capped at 30 seconds.
29
35
  attr_accessor :timeout_ms
30
36
 
37
+ class EnumAttributeValidator
38
+ attr_reader :datatype
39
+ attr_reader :allowable_values
40
+
41
+ def initialize(datatype, allowable_values)
42
+ @allowable_values = allowable_values.map do |value|
43
+ case datatype.to_s
44
+ when /Integer/i
45
+ value.to_i
46
+ when /Float/i
47
+ value.to_f
48
+ else
49
+ value
50
+ end
51
+ end
52
+ end
53
+
54
+ def valid?(value)
55
+ !value || allowable_values.include?(value)
56
+ end
57
+ end
58
+
31
59
  # Attribute mapping from ruby-style variable name to JSON key.
32
60
  def self.attribute_map
33
61
  {
@@ -159,6 +187,8 @@ module SmplkitGeneratedClient::Audit
159
187
  # @return true if the model is valid
160
188
  def valid?
161
189
  warn '[DEPRECATED] the `valid?` method is obsolete'
190
+ method_validator = EnumAttributeValidator.new('String', ["GET", "POST", "PUT", "PATCH", "DELETE"])
191
+ return false unless method_validator.valid?(@method)
162
192
  return false if @url.nil?
163
193
  return false if @url.to_s.length > 2048
164
194
  return false if @url.to_s.length < 1
@@ -169,6 +199,16 @@ module SmplkitGeneratedClient::Audit
169
199
  true
170
200
  end
171
201
 
202
+ # Custom attribute writer method checking allowed values (enum).
203
+ # @param [Object] method Object to be assigned
204
+ def method=(method)
205
+ validator = EnumAttributeValidator.new('String', ["GET", "POST", "PUT", "PATCH", "DELETE"])
206
+ unless validator.valid?(method)
207
+ fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
208
+ end
209
+ @method = method
210
+ end
211
+
172
212
  # Custom attribute writer method with validation
173
213
  # @param [Object] url Value to be assigned
174
214
  def url=(url)
@@ -14,18 +14,24 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
- # Plain-JSON response body. Headers are echoed back unredacted because the caller already supplied them — the response is for the caller, not persisted into the delivery log.
17
+ # Result of a test-forwarder execution.
18
18
  class TestForwarderResponse < ApiModelBase
19
+ # True if the destination responded with a status matching `success_status`.
19
20
  attr_accessor :succeeded
20
21
 
22
+ # HTTP status code returned by the destination.
21
23
  attr_accessor :response_status
22
24
 
25
+ # Headers returned by the destination.
23
26
  attr_accessor :response_headers
24
27
 
28
+ # Response body returned by the destination.
25
29
  attr_accessor :response_body
26
30
 
31
+ # Elapsed time of the request in milliseconds.
27
32
  attr_accessor :latency_ms
28
33
 
34
+ # Error message if the request did not complete.
29
35
  attr_accessor :error
30
36
 
31
37
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,12 +14,15 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
- # Attribute set for a usage resource. The shape mirrors the ``/api/v1/usage`` contract used by config, flags, and logging — three fields, no per-product extras. Per-period limits live in the product catalog (``GET /api/v1/products``); the usage endpoint reports counts only.
17
+ # Usage counter for a single metered limit.
18
18
  class UsageAttributes < ApiModelBase
19
+ # Identifier of the metered limit, e.g. `audit.customer_events_per_month`.
19
20
  attr_accessor :limit_key
20
21
 
22
+ # Period the counter covers. `current` is the only supported value.
21
23
  attr_accessor :period
22
24
 
25
+ # Count for the period.
23
26
  attr_accessor :value
24
27
 
25
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,11 +14,14 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
+ # Summary of a completed wipe action.
17
18
  class WipeResponse < ApiModelBase
19
+ # Always `true` for a successful wipe.
18
20
  attr_accessor :wiped
19
21
 
20
22
  attr_accessor :tables
21
23
 
24
+ # When the wipe completed.
22
25
  attr_accessor :completed_at
23
26
 
24
27
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,17 +14,24 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Audit
17
+ # Counts of records deleted, broken down by record kind.
17
18
  class WipeTablesSummary < ApiModelBase
19
+ # Number of audit events deleted.
18
20
  attr_accessor :audit_event
19
21
 
22
+ # Number of monthly usage-quota counters deleted.
20
23
  attr_accessor :audit_event_quota
21
24
 
25
+ # Number of forwarders deleted.
22
26
  attr_accessor :forwarder
23
27
 
28
+ # Number of forwarder delivery log entries deleted.
24
29
  attr_accessor :forwarder_delivery
25
30
 
31
+ # Number of distinct `resource_type` entries deleted.
26
32
  attr_accessor :resource_type
27
33
 
34
+ # Number of distinct `action` entries deleted.
28
35
  attr_accessor :action
29
36
 
30
37
  # Attribute mapping from ruby-style variable name to JSON key.