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.
- checksums.yaml +4 -4
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/account_api.rb +11 -11
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/api_keys_api.rb +18 -18
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/billing_api.rb +21 -21
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/context_types_api.rb +18 -18
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/contexts_api.rb +11 -11
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/environments_api.rb +18 -18
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/metrics_api.rb +2 -2
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/services_api.rb +18 -18
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/users_api.rb +18 -18
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account.rb +14 -31
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_wipe_request.rb +3 -3
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_attributes.rb +3 -1
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_body.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_data.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key.rb +15 -16
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/auth_token_response.rb +3 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context.rb +6 -3
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_batch_response.rb +2 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_bulk_item.rb +4 -2
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_bulk_register.rb +2 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type.rb +5 -2
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_attributes.rb +4 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_body.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_data.rb +2 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/email.rb +3 -1
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/email_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/email_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment.rb +6 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation.rb +11 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_accept_request.rb +2 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_bulk_create_request.rb +2 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_create_item.rb +3 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice.rb +13 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice_single_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/limit_definition.rb +5 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/login_request.rb +3 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_attributes.rb +7 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_bulk_request.rb +2 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_name_item.rb +3 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_names_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_rollup_attributes.rb +6 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_rollup_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_rollup_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/next_tier_meta.rb +4 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/page_meta.rb +5 -4
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method.rb +9 -1
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan.rb +4 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_change_request.rb +2 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_definition.rb +3 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/product.rb +8 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/product_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/product_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/register_request.rb +4 -1
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service.rb +4 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/setup_intent_attributes.rb +2 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/setup_intent_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_attributes.rb +8 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_list_meta.rb +6 -1
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user.rb +11 -21
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_list_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_request.rb +165 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_resource.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_response.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/value.rb +1 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/verify_email_request.rb +2 -0
- data/lib/smplkit/_generated/app/lib/smplkit_app_client.rb +8 -0
- data/lib/smplkit/_generated/app/spec/api/account_api_spec.rb +2 -2
- data/lib/smplkit/_generated/app/spec/api/api_keys_api_spec.rb +2 -2
- data/lib/smplkit/_generated/app/spec/api/billing_api_spec.rb +7 -7
- data/lib/smplkit/_generated/app/spec/api/context_types_api_spec.rb +2 -2
- data/lib/smplkit/_generated/app/spec/api/contexts_api_spec.rb +2 -2
- data/lib/smplkit/_generated/app/spec/api/environments_api_spec.rb +2 -2
- data/lib/smplkit/_generated/app/spec/api/metrics_api_spec.rb +1 -1
- data/lib/smplkit/_generated/app/spec/api/services_api_spec.rb +2 -2
- data/lib/smplkit/_generated/app/spec/api/users_api_spec.rb +2 -2
- data/lib/smplkit/_generated/app/spec/models/account_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/api_key_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/api_key_spec.rb +0 -6
- data/lib/smplkit/_generated/app/spec/models/context_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/context_type_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/environment_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/payment_method_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/service_request_spec.rb +36 -0
- data/lib/smplkit/_generated/app/spec/models/user_request_spec.rb +36 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/actions_api.rb +2 -69
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/events_api.rb +17 -17
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/forwarders_api.rb +36 -36
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/functions_api.rb +2 -2
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/resource_types_api.rb +2 -72
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/usage_api.rb +4 -4
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event.rb +12 -2
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_list_response.rb +1 -1
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_request.rb +165 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_resource.rb +2 -18
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event_response.rb +1 -1
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder.rb +17 -17
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery.rb +11 -1
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery_list_response.rb +1 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery_resource.rb +1 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery_response.rb +1 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_http.rb +40 -1
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_list_response.rb +1 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_request.rb +165 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_resource.rb +2 -17
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_response.rb +1 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/http_header.rb +3 -1
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/retry_failed_deliveries_summary.rb +4 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/test_forwarder_request.rb +41 -1
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/test_forwarder_response.rb +7 -1
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/usage_attributes.rb +4 -1
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/wipe_response.rb +3 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/wipe_tables_summary.rb +7 -0
- data/lib/smplkit/_generated/audit/lib/smplkit_audit_client.rb +2 -0
- data/lib/smplkit/_generated/audit/spec/api/actions_api_spec.rb +1 -14
- data/lib/smplkit/_generated/audit/spec/api/events_api_spec.rb +5 -5
- data/lib/smplkit/_generated/audit/spec/api/forwarders_api_spec.rb +11 -11
- data/lib/smplkit/_generated/audit/spec/api/functions_api_spec.rb +1 -1
- data/lib/smplkit/_generated/audit/spec/api/resource_types_api_spec.rb +1 -15
- data/lib/smplkit/_generated/audit/spec/api/usage_api_spec.rb +2 -2
- data/lib/smplkit/_generated/audit/spec/models/event_request_spec.rb +36 -0
- data/lib/smplkit/_generated/audit/spec/models/forwarder_http_spec.rb +4 -0
- data/lib/smplkit/_generated/audit/spec/models/forwarder_request_spec.rb +36 -0
- data/lib/smplkit/_generated/audit/spec/models/forwarder_spec.rb +0 -6
- data/lib/smplkit/_generated/audit/spec/models/test_forwarder_request_spec.rb +4 -0
- data/lib/smplkit/audit/actions.rb +35 -0
- data/lib/smplkit/audit/client.rb +11 -9
- data/lib/smplkit/audit/events.rb +8 -45
- data/lib/smplkit/audit/models.rb +197 -0
- data/lib/smplkit/audit/resource_types.rb +30 -0
- data/lib/smplkit/errors.rb +5 -0
- data/lib/smplkit/management/audit.rb +111 -0
- data/lib/smplkit/management/client.rb +4 -1
- data/lib/smplkit.rb +7 -5
- metadata +25 -3
- data/lib/smplkit/audit/forwarders.rb +0 -282
- data/lib/smplkit/audit/functions.rb +0 -58
|
@@ -27,6 +27,7 @@ require 'smplkit_audit_client/models/event'
|
|
|
27
27
|
require 'smplkit_audit_client/models/event_list_links'
|
|
28
28
|
require 'smplkit_audit_client/models/event_list_meta'
|
|
29
29
|
require 'smplkit_audit_client/models/event_list_response'
|
|
30
|
+
require 'smplkit_audit_client/models/event_request'
|
|
30
31
|
require 'smplkit_audit_client/models/event_resource'
|
|
31
32
|
require 'smplkit_audit_client/models/event_response'
|
|
32
33
|
require 'smplkit_audit_client/models/forwarder'
|
|
@@ -38,6 +39,7 @@ require 'smplkit_audit_client/models/forwarder_http'
|
|
|
38
39
|
require 'smplkit_audit_client/models/forwarder_list_links'
|
|
39
40
|
require 'smplkit_audit_client/models/forwarder_list_meta'
|
|
40
41
|
require 'smplkit_audit_client/models/forwarder_list_response'
|
|
42
|
+
require 'smplkit_audit_client/models/forwarder_request'
|
|
41
43
|
require 'smplkit_audit_client/models/forwarder_resource'
|
|
42
44
|
require 'smplkit_audit_client/models/forwarder_response'
|
|
43
45
|
require 'smplkit_audit_client/models/forwarder_type'
|
|
@@ -34,7 +34,7 @@ describe 'ActionsApi' do
|
|
|
34
34
|
|
|
35
35
|
# unit tests for list_actions
|
|
36
36
|
# List Actions
|
|
37
|
-
# List the distinct `
|
|
37
|
+
# List the distinct `action` slugs recorded for this account. Without `filter[resource_type]`, returns one row per distinct action. With `filter[resource_type]`, returns the actions recorded for that specific resource type.
|
|
38
38
|
# @param [Hash] opts the optional parameters
|
|
39
39
|
# @option opts [String] :filter_resource_type
|
|
40
40
|
# @option opts [Integer] :page_size
|
|
@@ -46,17 +46,4 @@ describe 'ActionsApi' do
|
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
# unit tests for list_resource_types
|
|
50
|
-
# List Resource Types
|
|
51
|
-
# List the distinct ``resource_type`` slugs seen in the account. Each row's ``id`` is the slug itself, mirroring the smplkit convention of using customer-provided identifiers as the public-facing resource id (ADR-014).
|
|
52
|
-
# @param [Hash] opts the optional parameters
|
|
53
|
-
# @option opts [Integer] :page_size
|
|
54
|
-
# @option opts [String] :page_after
|
|
55
|
-
# @return [ResourceTypeListResponse]
|
|
56
|
-
describe 'list_resource_types test' do
|
|
57
|
-
it 'should work' do
|
|
58
|
-
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
|
|
62
49
|
end
|
|
@@ -34,7 +34,7 @@ describe 'EventsApi' do
|
|
|
34
34
|
|
|
35
35
|
# unit tests for get_event
|
|
36
36
|
# Get Event
|
|
37
|
-
# Retrieve a single audit event by id.
|
|
37
|
+
# Retrieve a single audit event by id.
|
|
38
38
|
# @param event_id
|
|
39
39
|
# @param [Hash] opts the optional parameters
|
|
40
40
|
# @return [EventResponse]
|
|
@@ -46,7 +46,7 @@ describe 'EventsApi' do
|
|
|
46
46
|
|
|
47
47
|
# unit tests for list_events
|
|
48
48
|
# List Events
|
|
49
|
-
# List audit events for
|
|
49
|
+
# List audit events for this account. Default sort is newest first. Filters are exact-match except `filter[occurred_at]`, which uses interval notation (e.g. `[2026-01-01T00:00:00Z,*)`), and `filter[search]`, which is a case-insensitive substring match against `resource_id`.
|
|
50
50
|
# @param [Hash] opts the optional parameters
|
|
51
51
|
# @option opts [String] :filter_occurred_at
|
|
52
52
|
# @option opts [String] :filter_actor_type
|
|
@@ -54,7 +54,7 @@ describe 'EventsApi' do
|
|
|
54
54
|
# @option opts [String] :filter_action
|
|
55
55
|
# @option opts [String] :filter_resource_type
|
|
56
56
|
# @option opts [String] :filter_resource_id
|
|
57
|
-
# @option opts [String] :filter_search Case-insensitive substring match
|
|
57
|
+
# @option opts [String] :filter_search Case-insensitive substring match against `resource_id`. Use `filter[resource_id]` for an exact match.
|
|
58
58
|
# @option opts [Integer] :page_size
|
|
59
59
|
# @option opts [String] :page_after
|
|
60
60
|
# @return [EventListResponse]
|
|
@@ -66,8 +66,8 @@ describe 'EventsApi' do
|
|
|
66
66
|
|
|
67
67
|
# unit tests for record_event
|
|
68
68
|
# Record Event
|
|
69
|
-
# Record an audit event for
|
|
70
|
-
# @param
|
|
69
|
+
# Record an audit event for this account. Returns `201 Created` on first write, `200 OK` if the request was a duplicate (matched by `Idempotency-Key` or a key derived from the event's content). `resource_type` values beginning with `smpl.` are reserved for events that smplkit emits about its own resources and cannot be used here.
|
|
70
|
+
# @param event_request
|
|
71
71
|
# @param [Hash] opts the optional parameters
|
|
72
72
|
# @option opts [String] :idempotency_key
|
|
73
73
|
# @return [EventResponse]
|
|
@@ -34,8 +34,8 @@ describe 'ForwardersApi' do
|
|
|
34
34
|
|
|
35
35
|
# unit tests for create_forwarder
|
|
36
36
|
# Create Forwarder
|
|
37
|
-
# Create a forwarder
|
|
38
|
-
# @param
|
|
37
|
+
# Create a forwarder for this account.
|
|
38
|
+
# @param forwarder_request
|
|
39
39
|
# @param [Hash] opts the optional parameters
|
|
40
40
|
# @return [ForwarderResponse]
|
|
41
41
|
describe 'create_forwarder test' do
|
|
@@ -46,7 +46,7 @@ describe 'ForwardersApi' do
|
|
|
46
46
|
|
|
47
47
|
# unit tests for delete_forwarder
|
|
48
48
|
# Delete Forwarder
|
|
49
|
-
#
|
|
49
|
+
# Delete a forwarder. Past delivery log entries are retained. A new forwarder may be created later under the same name.
|
|
50
50
|
# @param forwarder_id
|
|
51
51
|
# @param [Hash] opts the optional parameters
|
|
52
52
|
# @return [nil]
|
|
@@ -58,7 +58,7 @@ describe 'ForwardersApi' do
|
|
|
58
58
|
|
|
59
59
|
# unit tests for execute_test_forwarder
|
|
60
60
|
# Execute Test Forwarder
|
|
61
|
-
#
|
|
61
|
+
# Send a test HTTP request to a forwarder destination and return the result. Useful for verifying a destination URL, credentials, or transform before saving the forwarder. The same network-safety rules that apply to live deliveries (private/internal address blocking, port allowlist) apply here.
|
|
62
62
|
# @param test_forwarder_request
|
|
63
63
|
# @param [Hash] opts the optional parameters
|
|
64
64
|
# @return [TestForwarderResponse]
|
|
@@ -70,7 +70,7 @@ describe 'ForwardersApi' do
|
|
|
70
70
|
|
|
71
71
|
# unit tests for get_forwarder
|
|
72
72
|
# Get Forwarder
|
|
73
|
-
# Retrieve a single forwarder by id.
|
|
73
|
+
# Retrieve a single forwarder by id. Header values are returned in plaintext so the resource can be round-tripped with `GET`, mutate, `PUT` without re-entering secrets.
|
|
74
74
|
# @param forwarder_id
|
|
75
75
|
# @param [Hash] opts the optional parameters
|
|
76
76
|
# @return [ForwarderResponse]
|
|
@@ -82,7 +82,7 @@ describe 'ForwardersApi' do
|
|
|
82
82
|
|
|
83
83
|
# unit tests for list_forwarder_deliveries
|
|
84
84
|
# List Forwarder Deliveries
|
|
85
|
-
# List delivery
|
|
85
|
+
# List delivery log entries for a forwarder. Default sort is newest first. Filter by `status` (one of `SUCCEEDED`, `FAILED`, `FILTERED_OUT`, `SKIPPED_DO_NOT_FORWARD` — case-insensitive), by `event_id`, or by a `created_at` range using interval notation (e.g. `[2026-01-01T00:00:00Z,*)`).
|
|
86
86
|
# @param forwarder_id
|
|
87
87
|
# @param [Hash] opts the optional parameters
|
|
88
88
|
# @option opts [String] :filter_status
|
|
@@ -99,7 +99,7 @@ describe 'ForwardersApi' do
|
|
|
99
99
|
|
|
100
100
|
# unit tests for list_forwarders
|
|
101
101
|
# List Forwarders
|
|
102
|
-
# List forwarders for
|
|
102
|
+
# List forwarders for this account.
|
|
103
103
|
# @param [Hash] opts the optional parameters
|
|
104
104
|
# @option opts [String] :filter_forwarder_type
|
|
105
105
|
# @option opts [Boolean] :filter_enabled
|
|
@@ -114,7 +114,7 @@ describe 'ForwardersApi' do
|
|
|
114
114
|
|
|
115
115
|
# unit tests for retry_failed_forwarder_deliveries
|
|
116
116
|
# Retry Failed Forwarder Deliveries
|
|
117
|
-
# Retry every failed delivery for
|
|
117
|
+
# Retry every failed delivery for this forwarder. Each failed delivery is re-attempted using the forwarder's current configuration and the original event. Returns the counts.
|
|
118
118
|
# @param forwarder_id
|
|
119
119
|
# @param [Hash] opts the optional parameters
|
|
120
120
|
# @return [RetryFailedDeliveriesSummary]
|
|
@@ -126,7 +126,7 @@ describe 'ForwardersApi' do
|
|
|
126
126
|
|
|
127
127
|
# unit tests for retry_forwarder_delivery
|
|
128
128
|
# Retry Forwarder Delivery
|
|
129
|
-
# Retry a single failed delivery.
|
|
129
|
+
# Retry a single failed delivery. Returns the new delivery log entry. The prior entry is left in place.
|
|
130
130
|
# @param forwarder_id
|
|
131
131
|
# @param delivery_id
|
|
132
132
|
# @param [Hash] opts the optional parameters
|
|
@@ -139,9 +139,9 @@ describe 'ForwardersApi' do
|
|
|
139
139
|
|
|
140
140
|
# unit tests for update_forwarder
|
|
141
141
|
# Update Forwarder
|
|
142
|
-
#
|
|
142
|
+
# Replace an existing forwarder. Every writable field is overwritten.
|
|
143
143
|
# @param forwarder_id
|
|
144
|
-
# @param
|
|
144
|
+
# @param forwarder_request
|
|
145
145
|
# @param [Hash] opts the optional parameters
|
|
146
146
|
# @return [ForwarderResponse]
|
|
147
147
|
describe 'update_forwarder test' do
|
|
@@ -34,7 +34,7 @@ describe 'FunctionsApi' do
|
|
|
34
34
|
|
|
35
35
|
# unit tests for execute_wipe
|
|
36
36
|
# Execute Wipe
|
|
37
|
-
# Delete every audit
|
|
37
|
+
# Delete every audit record this account has stored. Atomic: either every record is deleted, or none is. Returns the per-table counts and the completion timestamp. The request body must be `{}`.
|
|
38
38
|
# @param body
|
|
39
39
|
# @param [Hash] opts the optional parameters
|
|
40
40
|
# @return [WipeResponse]
|
|
@@ -32,23 +32,9 @@ describe 'ResourceTypesApi' do
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
# unit tests for list_actions
|
|
36
|
-
# List Actions
|
|
37
|
-
# List the distinct ``action`` slugs seen in the account. Without ``filter[resource_type]``, returns one row per distinct action — the same action may have been recorded with multiple resource types and the unfiltered dropdown shows it once. With ``filter[resource_type]``, returns the actions seen with that specific resource type, powering the Activity tab's cascading filter behavior.
|
|
38
|
-
# @param [Hash] opts the optional parameters
|
|
39
|
-
# @option opts [String] :filter_resource_type
|
|
40
|
-
# @option opts [Integer] :page_size
|
|
41
|
-
# @option opts [String] :page_after
|
|
42
|
-
# @return [ActionListResponse]
|
|
43
|
-
describe 'list_actions test' do
|
|
44
|
-
it 'should work' do
|
|
45
|
-
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
35
|
# unit tests for list_resource_types
|
|
50
36
|
# List Resource Types
|
|
51
|
-
# List the distinct `
|
|
37
|
+
# List the distinct `resource_type` slugs recorded for this account. The resource `id` is the slug itself. Useful for populating filter dropdowns in a UI.
|
|
52
38
|
# @param [Hash] opts the optional parameters
|
|
53
39
|
# @option opts [Integer] :page_size
|
|
54
40
|
# @option opts [String] :page_after
|
|
@@ -34,8 +34,8 @@ describe 'UsageApi' do
|
|
|
34
34
|
|
|
35
35
|
# unit tests for list_usage
|
|
36
36
|
# List Usage
|
|
37
|
-
#
|
|
38
|
-
# @param filter_period
|
|
37
|
+
# Report the current-period usage counters for this account.
|
|
38
|
+
# @param filter_period Period to report. `current` is the only supported value.
|
|
39
39
|
# @param [Hash] opts the optional parameters
|
|
40
40
|
# @return [UsageResponse]
|
|
41
41
|
describe 'list_usage test' do
|
|
@@ -0,0 +1,36 @@
|
|
|
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 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SmplkitGeneratedClient::Audit::EventRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SmplkitGeneratedClient::Audit::EventRequest do
|
|
21
|
+
#let(:instance) { SmplkitGeneratedClient::Audit::EventRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of EventRequest' do
|
|
24
|
+
it 'should create an instance of EventRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SmplkitGeneratedClient::Audit::EventRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "data"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -30,6 +30,10 @@ describe SmplkitGeneratedClient::Audit::ForwarderHttp do
|
|
|
30
30
|
describe 'test attribute "method"' do
|
|
31
31
|
it 'should work' do
|
|
32
32
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["GET", "POST", "PUT", "PATCH", "DELETE"])
|
|
34
|
+
# validator.allowable_values.each do |value|
|
|
35
|
+
# expect { instance.method = value }.not_to raise_error
|
|
36
|
+
# end
|
|
33
37
|
end
|
|
34
38
|
end
|
|
35
39
|
|
|
@@ -0,0 +1,36 @@
|
|
|
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 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SmplkitGeneratedClient::Audit::ForwarderRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SmplkitGeneratedClient::Audit::ForwarderRequest do
|
|
21
|
+
#let(:instance) { SmplkitGeneratedClient::Audit::ForwarderRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ForwarderRequest' do
|
|
24
|
+
it 'should create an instance of ForwarderRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SmplkitGeneratedClient::Audit::ForwarderRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "data"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -30,6 +30,10 @@ describe SmplkitGeneratedClient::Audit::TestForwarderRequest do
|
|
|
30
30
|
describe 'test attribute "method"' do
|
|
31
31
|
it 'should work' do
|
|
32
32
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["GET", "POST", "PUT", "PATCH", "DELETE"])
|
|
34
|
+
# validator.allowable_values.each do |value|
|
|
35
|
+
# expect { instance.method = value }.not_to raise_error
|
|
36
|
+
# end
|
|
33
37
|
end
|
|
34
38
|
end
|
|
35
39
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Smplkit
|
|
4
|
+
module Audit
|
|
5
|
+
# +client.audit.actions.list+ — distinct +action+ slugs seen for
|
|
6
|
+
# the account.
|
|
7
|
+
#
|
|
8
|
+
# Without +filter_resource_type+, returns one row per distinct
|
|
9
|
+
# action — an action recorded with multiple resource_types appears
|
|
10
|
+
# once. With the filter, returns the actions seen with that
|
|
11
|
+
# specific resource_type, powering the cascading-filter behavior
|
|
12
|
+
# on the Activity tab.
|
|
13
|
+
#
|
|
14
|
+
# ADR-047 §2.5. Sorted alphabetically; cursor pagination via
|
|
15
|
+
# +page_after+.
|
|
16
|
+
class Actions
|
|
17
|
+
def initialize(api)
|
|
18
|
+
@api = api
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def list(filter_resource_type: nil, page_size: nil, page_after: nil)
|
|
22
|
+
opts = {}
|
|
23
|
+
opts[:filter_resource_type] = filter_resource_type if filter_resource_type
|
|
24
|
+
opts[:page_size] = page_size if page_size
|
|
25
|
+
opts[:page_after] = page_after if page_after
|
|
26
|
+
|
|
27
|
+
resp = Smplkit::Audit.call_api { @api.list_actions(opts) }
|
|
28
|
+
rows = (resp.data || []).map { |r| Action.from_resource(r) }
|
|
29
|
+
ActionListPage.new(rows, Smplkit::Audit.next_cursor(resp.links&._next))
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
ActionListPage = Struct.new(:actions, :next_cursor)
|
|
34
|
+
end
|
|
35
|
+
end
|
data/lib/smplkit/audit/client.rb
CHANGED
|
@@ -4,11 +4,15 @@ module Smplkit
|
|
|
4
4
|
module Audit
|
|
5
5
|
# Audit-product entry point — accessed via +client.audit+.
|
|
6
6
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
7
|
+
# Owns event recording and read-side queries: fire-and-forget
|
|
8
|
+
# +#events.record+, plus the audit-log +list+ / +get+ and the
|
|
9
|
+
# distinct-value listings that back the Activity tab filter
|
|
10
|
+
# dropdowns. ADR-047 §2.7.
|
|
11
|
+
#
|
|
12
|
+
# SIEM forwarder CRUD lives on {Smplkit::ManagementClient} under
|
|
13
|
+
# +mgmt.audit.forwarders.*+.
|
|
10
14
|
class AuditClient
|
|
11
|
-
attr_reader :events, :
|
|
15
|
+
attr_reader :events, :resource_types, :actions
|
|
12
16
|
|
|
13
17
|
SDK_OWNED_HEADERS = %w[authorization content-type user-agent].freeze
|
|
14
18
|
|
|
@@ -23,11 +27,9 @@ module Smplkit
|
|
|
23
27
|
extra_headers&.each do |k, v|
|
|
24
28
|
api_client.default_headers[k] = v unless SDK_OWNED_HEADERS.include?(k.downcase)
|
|
25
29
|
end
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@
|
|
29
|
-
@forwarders = Forwarders.new(forwarders_api)
|
|
30
|
-
@functions = Functions.new(forwarders_api)
|
|
30
|
+
@events = Events.new(SmplkitGeneratedClient::Audit::EventsApi.new(api_client))
|
|
31
|
+
@resource_types = ResourceTypes.new(SmplkitGeneratedClient::Audit::ResourceTypesApi.new(api_client))
|
|
32
|
+
@actions = Actions.new(SmplkitGeneratedClient::Audit::ActionsApi.new(api_client))
|
|
31
33
|
end
|
|
32
34
|
|
|
33
35
|
def _close
|
data/lib/smplkit/audit/events.rb
CHANGED
|
@@ -4,9 +4,9 @@ module Smplkit
|
|
|
4
4
|
module Audit
|
|
5
5
|
# Audit events surface — accessed via +client.audit.events+.
|
|
6
6
|
#
|
|
7
|
-
# +#
|
|
7
|
+
# +#record+ is fire-and-forget per ADR-047 §2.6 — the call enqueues
|
|
8
8
|
# the event onto an in-memory bounded buffer and returns
|
|
9
|
-
# immediately. +#list+ and +#get+ are synchronous.
|
|
9
|
+
# immediately. +#list+ and +#get+ are synchronous reads.
|
|
10
10
|
class Events
|
|
11
11
|
def initialize(api)
|
|
12
12
|
@api = api
|
|
@@ -53,16 +53,16 @@ module Smplkit
|
|
|
53
53
|
type: "event",
|
|
54
54
|
attributes: attrs
|
|
55
55
|
)
|
|
56
|
-
body = SmplkitGeneratedClient::Audit::
|
|
56
|
+
body = SmplkitGeneratedClient::Audit::EventRequest.new(data: resource)
|
|
57
57
|
@buffer.enqueue(body, idempotency_key)
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
# Single-event retrieval.
|
|
61
61
|
#
|
|
62
|
-
# Raises
|
|
63
|
-
#
|
|
62
|
+
# Raises {Smplkit::NotFoundError} when no event with that id
|
|
63
|
+
# exists in the caller's account.
|
|
64
64
|
def get(event_id)
|
|
65
|
-
resp = @api.get_event(event_id)
|
|
65
|
+
resp = Smplkit::Audit.call_api { @api.get_event(event_id) }
|
|
66
66
|
AuditEvent.from_resource(resp.data)
|
|
67
67
|
end
|
|
68
68
|
|
|
@@ -88,19 +88,9 @@ module Smplkit
|
|
|
88
88
|
opts[:page_size] = page_size if page_size
|
|
89
89
|
opts[:page_after] = page_after if page_after
|
|
90
90
|
|
|
91
|
-
resp = @api.list_events(opts)
|
|
91
|
+
resp = Smplkit::Audit.call_api { @api.list_events(opts) }
|
|
92
92
|
events = (resp.data || []).map { |r| AuditEvent.from_resource(r) }
|
|
93
|
-
next_cursor
|
|
94
|
-
if resp.links&._next.is_a?(String)
|
|
95
|
-
next_link = resp.links._next
|
|
96
|
-
if (idx = next_link.index("page[after]="))
|
|
97
|
-
next_cursor = next_link[(idx + "page[after]=".length)..]
|
|
98
|
-
if (amp = next_cursor.index("&"))
|
|
99
|
-
next_cursor = next_cursor[0...amp]
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
ListEventsPage.new(events, next_cursor)
|
|
93
|
+
ListEventsPage.new(events, Smplkit::Audit.next_cursor(resp.links&._next))
|
|
104
94
|
end
|
|
105
95
|
|
|
106
96
|
# Block until the in-memory buffer is drained or the timeout elapses.
|
|
@@ -114,33 +104,6 @@ module Smplkit
|
|
|
114
104
|
end
|
|
115
105
|
end
|
|
116
106
|
|
|
117
|
-
# Public-facing audit event resource. ADR-047 §2.3.1.
|
|
118
|
-
AuditEvent = Struct.new(
|
|
119
|
-
:id, :action, :resource_type, :resource_id,
|
|
120
|
-
:occurred_at, :created_at,
|
|
121
|
-
:actor_type, :actor_id, :actor_label,
|
|
122
|
-
:data, :idempotency_key, :do_not_forward,
|
|
123
|
-
keyword_init: true
|
|
124
|
-
) do
|
|
125
|
-
def self.from_resource(resource)
|
|
126
|
-
attrs = resource.attributes
|
|
127
|
-
new(
|
|
128
|
-
id: resource.id,
|
|
129
|
-
action: attrs.action,
|
|
130
|
-
resource_type: attrs.resource_type,
|
|
131
|
-
resource_id: attrs.resource_id,
|
|
132
|
-
occurred_at: attrs.occurred_at,
|
|
133
|
-
created_at: attrs.created_at,
|
|
134
|
-
actor_type: attrs.actor_type,
|
|
135
|
-
actor_id: attrs.actor_id,
|
|
136
|
-
actor_label: attrs.actor_label,
|
|
137
|
-
data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
|
|
138
|
-
idempotency_key: attrs.idempotency_key,
|
|
139
|
-
do_not_forward: attrs.do_not_forward || false
|
|
140
|
-
)
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
|
-
|
|
144
107
|
# One page of events plus a cursor for the next page (nil on the last page).
|
|
145
108
|
ListEventsPage = Struct.new(:events, :next_cursor)
|
|
146
109
|
end
|