Class: Smplkit::Audit::AuditEvent

Inherits:
Struct
  • Object
show all
Defined in:
lib/smplkit/audit/models.rb

Overview

A single audit event as returned by the audit service (ADR-047 §2.3.1).

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#actor_idString?

Returns Customer-supplied free-form actor identifier — nil when not provided.

Returns:

  • (String, nil)

    Customer-supplied free-form actor identifier — nil when not provided.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#actor_labelString?

Returns Customer-supplied display label for the actor — typically a name or email.

Returns:

  • (String, nil)

    Customer-supplied display label for the actor — typically a name or email.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#actor_typeString?

Returns Customer-supplied free-form actor type string — nil when not provided.

Returns:

  • (String, nil)

    Customer-supplied free-form actor type string — nil when not provided.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#created_atString

Returns ISO-8601 timestamp of when the audit service first ingested this event.

Returns:

  • (String)

    ISO-8601 timestamp of when the audit service first ingested this event.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#dataHash{String => Object}

Returns Free-form per-event payload defined by the customer.

Returns:

  • (Hash{String => Object})

    Free-form per-event payload defined by the customer.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#do_not_forwardBoolean

Returns When true, skip SIEM forwarder delivery regardless of any matching filter.

Returns:

  • (Boolean)

    When true, skip SIEM forwarder delivery regardless of any matching filter.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#environmentString?

Returns The environment the event was recorded in. Read-only and always present on reads — the audit service resolves it when the event is recorded (from a single-environment credential, or from the runtime SDK’s configured environment, which the SDK sends on every recording call). Never set on the recording request body.

Returns:

  • (String, nil)

    The environment the event was recorded in. Read-only and always present on reads — the audit service resolves it when the event is recorded (from a single-environment credential, or from the runtime SDK’s configured environment, which the SDK sends on every recording call). Never set on the recording request body.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#event_typeString

Returns Event type slug — e.g. “user.created”, “invoice.paid”.

Returns:

  • (String)

    Event type slug — e.g. “user.created”, “invoice.paid”.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#idString

Returns Server-assigned UUID for this event.

Returns:

  • (String)

    Server-assigned UUID for this event.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#idempotency_keyString?

Returns Customer-supplied dedupe key, nil if not provided.

Returns:

  • (String, nil)

    Customer-supplied dedupe key, nil if not provided.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#occurred_atString

Returns ISO-8601 timestamp of when the event happened, as reported by the source.

Returns:

  • (String)

    ISO-8601 timestamp of when the event happened, as reported by the source.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#resource_idString

Returns Customer-facing id of the resource the event operated on.

Returns:

  • (String)

    Customer-facing id of the resource the event operated on.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

#resource_typeString

Returns Type of resource the event operated on — e.g. “invoice”.

Returns:

  • (String)

    Type of resource the event operated on — e.g. “invoice”.



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/smplkit/audit/models.rb', line 174

AuditEvent = Struct.new(
  :id, :event_type, :resource_type, :resource_id,
  :occurred_at, :created_at,
  :actor_type, :actor_id, :actor_label,
  :data, :idempotency_key, :do_not_forward, :environment,
  keyword_init: true
) do
  def self.from_resource(resource)
    attrs = resource.attributes
    new(
      id: resource.id,
      event_type: attrs.event_type,
      resource_type: attrs.resource_type,
      resource_id: attrs.resource_id,
      occurred_at: attrs.occurred_at,
      created_at: attrs.created_at,
      actor_type: attrs.actor_type,
      actor_id: attrs.actor_id,
      actor_label: attrs.actor_label,
      data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
      idempotency_key: attrs.idempotency_key,
      do_not_forward: attrs.do_not_forward || false,
      environment: attrs.environment
    )
  end
end

Class Method Details

.from_resource(resource) ⇒ Object



181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# File 'lib/smplkit/audit/models.rb', line 181

def self.from_resource(resource)
  attrs = resource.attributes
  new(
    id: resource.id,
    event_type: attrs.event_type,
    resource_type: attrs.resource_type,
    resource_id: attrs.resource_id,
    occurred_at: attrs.occurred_at,
    created_at: attrs.created_at,
    actor_type: attrs.actor_type,
    actor_id: attrs.actor_id,
    actor_label: attrs.actor_label,
    data: Smplkit::Helpers.deep_stringify_keys(attrs.data || {}),
    idempotency_key: attrs.idempotency_key,
    do_not_forward: attrs.do_not_forward || false,
    environment: attrs.environment
  )
end