smplkit 2.0.11 → 2.0.13

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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/api/flag_sources_api.rb +4 -4
  3. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/api/flags_api.rb +28 -28
  4. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/api/functions_api.rb +2 -2
  5. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/api/usage_api.rb +2 -2
  6. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag.rb +40 -10
  7. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_bulk_item.rb +34 -9
  8. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_bulk_request.rb +2 -0
  9. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_bulk_response.rb +2 -0
  10. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_environment.rb +4 -0
  11. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_list_response.rb +1 -0
  12. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_request.rb +165 -0
  13. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_resource.rb +1 -0
  14. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_response.rb +1 -0
  15. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_rule.rb +3 -0
  16. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_source.rb +65 -13
  17. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_source_list_response.rb +1 -0
  18. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_source_resource.rb +1 -0
  19. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_value.rb +2 -0
  20. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/manual_review_item.rb +5 -0
  21. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/remove_references_attributes.rb +4 -0
  22. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/remove_references_request.rb +3 -0
  23. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/remove_references_result_envelope.rb +1 -0
  24. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/remove_references_result_resource.rb +1 -0
  25. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/usage_attributes.rb +4 -0
  26. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/usage_list_response.rb +1 -0
  27. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/usage_resource.rb +1 -0
  28. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client.rb +1 -0
  29. data/lib/smplkit/_generated/flags/spec/api/flag_sources_api_spec.rb +2 -2
  30. data/lib/smplkit/_generated/flags/spec/api/flags_api_spec.rb +7 -7
  31. data/lib/smplkit/_generated/flags/spec/api/functions_api_spec.rb +1 -1
  32. data/lib/smplkit/_generated/flags/spec/api/usage_api_spec.rb +1 -1
  33. data/lib/smplkit/_generated/flags/spec/models/flag_bulk_item_spec.rb +4 -0
  34. data/lib/smplkit/_generated/flags/spec/models/flag_request_spec.rb +36 -0
  35. data/lib/smplkit/_generated/flags/spec/models/flag_source_spec.rb +13 -3
  36. data/lib/smplkit/_generated/flags/spec/models/flag_spec.rb +4 -0
  37. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/api/log_groups_api.rb +28 -28
  38. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/api/logger_sources_api.rb +4 -4
  39. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/api/loggers_api.rb +19 -19
  40. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/api/services_api.rb +2 -2
  41. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/api/usage_api.rb +2 -2
  42. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/log_group.rb +36 -10
  43. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/log_group_list_response.rb +1 -0
  44. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/log_group_request.rb +165 -0
  45. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/log_group_resource.rb +1 -0
  46. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/log_group_response.rb +1 -0
  47. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger.rb +39 -10
  48. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_bulk_item.rb +6 -5
  49. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_bulk_request.rb +2 -0
  50. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_bulk_response.rb +2 -0
  51. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_list_response.rb +1 -0
  52. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_request.rb +165 -0
  53. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_resource.rb +1 -0
  54. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_response.rb +1 -0
  55. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_source.rb +9 -0
  56. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_source_list_response.rb +1 -0
  57. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/logger_source_resource.rb +1 -0
  58. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/service_list_response.rb +1 -0
  59. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/service_resource.rb +2 -0
  60. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/usage_attributes.rb +4 -0
  61. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/usage_list_response.rb +1 -0
  62. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client/models/usage_resource.rb +1 -0
  63. data/lib/smplkit/_generated/logging/lib/smplkit_logging_client.rb +2 -0
  64. data/lib/smplkit/_generated/logging/spec/api/log_groups_api_spec.rb +7 -7
  65. data/lib/smplkit/_generated/logging/spec/api/logger_sources_api_spec.rb +2 -2
  66. data/lib/smplkit/_generated/logging/spec/api/loggers_api_spec.rb +6 -6
  67. data/lib/smplkit/_generated/logging/spec/api/services_api_spec.rb +1 -1
  68. data/lib/smplkit/_generated/logging/spec/api/usage_api_spec.rb +1 -1
  69. data/lib/smplkit/_generated/logging/spec/models/log_group_request_spec.rb +36 -0
  70. data/lib/smplkit/_generated/logging/spec/models/log_group_spec.rb +4 -0
  71. data/lib/smplkit/_generated/logging/spec/models/logger_request_spec.rb +36 -0
  72. data/lib/smplkit/_generated/logging/spec/models/logger_spec.rb +4 -0
  73. metadata +7 -1
@@ -20,7 +20,7 @@ module SmplkitGeneratedClient::Logging
20
20
  @api_client = api_client
21
21
  end
22
22
  # List All Logger Sources
23
- # List all logger sources across all loggers. Optionally filter by environment or service.
23
+ # List every logger source observation for this account. Supports `filter[environment]` and `filter[service]` to narrow to a specific environment or service.
24
24
  # @param [Hash] opts the optional parameters
25
25
  # @option opts [String] :filter_environment
26
26
  # @option opts [String] :filter_service
@@ -31,7 +31,7 @@ module SmplkitGeneratedClient::Logging
31
31
  end
32
32
 
33
33
  # List All Logger Sources
34
- # List all logger sources across all loggers. Optionally filter by environment or service.
34
+ # List every logger source observation for this account. Supports `filter[environment]` and `filter[service]` to narrow to a specific environment or service.
35
35
  # @param [Hash] opts the optional parameters
36
36
  # @option opts [String] :filter_environment
37
37
  # @option opts [String] :filter_service
@@ -83,7 +83,7 @@ module SmplkitGeneratedClient::Logging
83
83
  end
84
84
 
85
85
  # List Logger Sources
86
- # List all sources (service/environment observations) for a specific logger.
86
+ # List the service / environment observations recorded for a logger.
87
87
  # @param id [String]
88
88
  # @param [Hash] opts the optional parameters
89
89
  # @return [LoggerSourceListResponse]
@@ -93,7 +93,7 @@ module SmplkitGeneratedClient::Logging
93
93
  end
94
94
 
95
95
  # List Logger Sources
96
- # List all sources (service/environment observations) for a specific logger.
96
+ # List the service / environment observations recorded for a logger.
97
97
  # @param id [String]
98
98
  # @param [Hash] opts the optional parameters
99
99
  # @return [Array<(LoggerSourceListResponse, Integer, Hash)>] LoggerSourceListResponse data, response status code and response headers
@@ -20,7 +20,7 @@ module SmplkitGeneratedClient::Logging
20
20
  @api_client = api_client
21
21
  end
22
22
  # Bulk Register Loggers
23
- # Register loggers discovered by an SDK. Creates new loggers or updates source observations on existing ones.
23
+ # Register loggers discovered by an SDK. Creates new logger entries for previously unseen keys and refreshes the per-(service, environment) observation for keys already known. Returns the number of items processed.
24
24
  # @param logger_bulk_request [LoggerBulkRequest]
25
25
  # @param [Hash] opts the optional parameters
26
26
  # @return [LoggerBulkResponse]
@@ -30,7 +30,7 @@ module SmplkitGeneratedClient::Logging
30
30
  end
31
31
 
32
32
  # Bulk Register Loggers
33
- # Register loggers discovered by an SDK. Creates new loggers or updates source observations on existing ones.
33
+ # Register loggers discovered by an SDK. Creates new logger entries for previously unseen keys and refreshes the per-(service, environment) observation for keys already known. Returns the number of items processed.
34
34
  # @param logger_bulk_request [LoggerBulkRequest]
35
35
  # @param [Hash] opts the optional parameters
36
36
  # @return [Array<(LoggerBulkResponse, Integer, Hash)>] LoggerBulkResponse data, response status code and response headers
@@ -88,7 +88,7 @@ module SmplkitGeneratedClient::Logging
88
88
  end
89
89
 
90
90
  # Delete Logger
91
- # Delete a logger by its key.
91
+ # Delete a logger.
92
92
  # @param id [String]
93
93
  # @param [Hash] opts the optional parameters
94
94
  # @return [nil]
@@ -98,7 +98,7 @@ module SmplkitGeneratedClient::Logging
98
98
  end
99
99
 
100
100
  # Delete Logger
101
- # Delete a logger by its key.
101
+ # Delete a logger.
102
102
  # @param id [String]
103
103
  # @param [Hash] opts the optional parameters
104
104
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
@@ -151,7 +151,7 @@ module SmplkitGeneratedClient::Logging
151
151
  end
152
152
 
153
153
  # Get Logger
154
- # Return a logger by its key.
154
+ # Retrieve a logger by its key.
155
155
  # @param id [String]
156
156
  # @param [Hash] opts the optional parameters
157
157
  # @return [LoggerResponse]
@@ -161,7 +161,7 @@ module SmplkitGeneratedClient::Logging
161
161
  end
162
162
 
163
163
  # Get Logger
164
- # Return a logger by its key.
164
+ # Retrieve a logger by its key.
165
165
  # @param id [String]
166
166
  # @param [Hash] opts the optional parameters
167
167
  # @return [Array<(LoggerResponse, Integer, Hash)>] LoggerResponse data, response status code and response headers
@@ -214,7 +214,7 @@ module SmplkitGeneratedClient::Logging
214
214
  end
215
215
 
216
216
  # List Loggers
217
- # List all loggers for the authenticated account. Optionally filter by managed status, service, or last-seen time window.
217
+ # List loggers for this account. Supports `filter[managed]` to narrow to managed (or unmanaged) loggers, `filter[service]` to keep only loggers observed in a specific service, and `filter[last_seen]` (interval notation `[<from>,*)`) to keep only loggers with a source observation at or after the given timestamp.
218
218
  # @param [Hash] opts the optional parameters
219
219
  # @option opts [Boolean] :filter_managed
220
220
  # @option opts [String] :filter_service
@@ -226,7 +226,7 @@ module SmplkitGeneratedClient::Logging
226
226
  end
227
227
 
228
228
  # List Loggers
229
- # List all loggers for the authenticated account. Optionally filter by managed status, service, or last-seen time window.
229
+ # List loggers for this account. Supports &#x60;filter[managed]&#x60; to narrow to managed (or unmanaged) loggers, &#x60;filter[service]&#x60; to keep only loggers observed in a specific service, and &#x60;filter[last_seen]&#x60; (interval notation &#x60;[&lt;from&gt;,*)&#x60;) to keep only loggers with a source observation at or after the given timestamp.
230
230
  # @param [Hash] opts the optional parameters
231
231
  # @option opts [Boolean] :filter_managed
232
232
  # @option opts [String] :filter_service
@@ -280,23 +280,23 @@ module SmplkitGeneratedClient::Logging
280
280
  end
281
281
 
282
282
  # Update or Create Logger
283
- # Create or update a logger (upsert). If the logger does not exist it is created. Fields absent from the body are preserved on update; explicit null clears them.
283
+ # Create or replace a logger at the given key. If the logger does not yet exist, it is created. Fields omitted from the request body are preserved; explicit `null` clears them. Setting `level`, `group`, or `environments` on an unmanaged logger promotes it to managed automatically.
284
284
  # @param id [String]
285
- # @param logger_response [LoggerResponse]
285
+ # @param logger_request [LoggerRequest]
286
286
  # @param [Hash] opts the optional parameters
287
287
  # @return [LoggerResponse]
288
- def update_logger(id, logger_response, opts = {})
289
- data, _status_code, _headers = update_logger_with_http_info(id, logger_response, opts)
288
+ def update_logger(id, logger_request, opts = {})
289
+ data, _status_code, _headers = update_logger_with_http_info(id, logger_request, opts)
290
290
  data
291
291
  end
292
292
 
293
293
  # Update or Create Logger
294
- # Create or update a logger (upsert). If the logger does not exist it is created. Fields absent from the body are preserved on update; explicit null clears them.
294
+ # Create or replace a logger at the given key. If the logger does not yet exist, it is created. Fields omitted from the request body are preserved; explicit &#x60;null&#x60; clears them. Setting &#x60;level&#x60;, &#x60;group&#x60;, or &#x60;environments&#x60; on an unmanaged logger promotes it to managed automatically.
295
295
  # @param id [String]
296
- # @param logger_response [LoggerResponse]
296
+ # @param logger_request [LoggerRequest]
297
297
  # @param [Hash] opts the optional parameters
298
298
  # @return [Array<(LoggerResponse, Integer, Hash)>] LoggerResponse data, response status code and response headers
299
- def update_logger_with_http_info(id, logger_response, opts = {})
299
+ def update_logger_with_http_info(id, logger_request, opts = {})
300
300
  if @api_client.config.debugging
301
301
  @api_client.config.logger.debug 'Calling API: LoggersApi.update_logger ...'
302
302
  end
@@ -304,9 +304,9 @@ module SmplkitGeneratedClient::Logging
304
304
  if @api_client.config.client_side_validation && id.nil?
305
305
  fail ArgumentError, "Missing the required parameter 'id' when calling LoggersApi.update_logger"
306
306
  end
307
- # verify the required parameter 'logger_response' is set
308
- if @api_client.config.client_side_validation && logger_response.nil?
309
- fail ArgumentError, "Missing the required parameter 'logger_response' when calling LoggersApi.update_logger"
307
+ # verify the required parameter 'logger_request' is set
308
+ if @api_client.config.client_side_validation && logger_request.nil?
309
+ fail ArgumentError, "Missing the required parameter 'logger_request' when calling LoggersApi.update_logger"
310
310
  end
311
311
  # resource path
312
312
  local_var_path = '/api/v1/loggers/{id}'.sub('{id}', CGI.escape(id.to_s))
@@ -328,7 +328,7 @@ module SmplkitGeneratedClient::Logging
328
328
  form_params = opts[:form_params] || {}
329
329
 
330
330
  # http body (model)
331
- post_body = opts[:debug_body] || @api_client.object_to_http_body(logger_response)
331
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(logger_request)
332
332
 
333
333
  # return_type
334
334
  return_type = opts[:debug_return_type] || 'LoggerResponse'
@@ -20,7 +20,7 @@ module SmplkitGeneratedClient::Logging
20
20
  @api_client = api_client
21
21
  end
22
22
  # List Services
23
- # Return the distinct service names observed across all logger sources for the account.
23
+ # List the services that have reported a logger for this account.
24
24
  # @param [Hash] opts the optional parameters
25
25
  # @return [ServiceListResponse]
26
26
  def list_services(opts = {})
@@ -29,7 +29,7 @@ module SmplkitGeneratedClient::Logging
29
29
  end
30
30
 
31
31
  # List Services
32
- # Return the distinct service names observed across all logger sources for the account.
32
+ # List the services that have reported a logger for this account.
33
33
  # @param [Hash] opts the optional parameters
34
34
  # @return [Array<(ServiceListResponse, Integer, Hash)>] ServiceListResponse data, response status code and response headers
35
35
  def list_services_with_http_info(opts = {})
@@ -20,7 +20,7 @@ module SmplkitGeneratedClient::Logging
20
20
  @api_client = api_client
21
21
  end
22
22
  # List Logging Usage
23
- # Return current resource usage counts for the authenticated account.
23
+ # Report the current-period usage counters for this account.
24
24
  # @param [Hash] opts the optional parameters
25
25
  # @option opts [String] :filter_period
26
26
  # @return [UsageListResponse]
@@ -30,7 +30,7 @@ module SmplkitGeneratedClient::Logging
30
30
  end
31
31
 
32
32
  # List Logging Usage
33
- # Return current resource usage counts for the authenticated account.
33
+ # Report the current-period usage counters for this account.
34
34
  # @param [Hash] opts the optional parameters
35
35
  # @option opts [String] :filter_period
36
36
  # @return [Array<(UsageListResponse, Integer, Hash)>] UsageListResponse data, response status code and response headers
@@ -14,19 +14,48 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Logging
17
+ # A named collection of loggers that share a level configuration. Assigning a logger to a group ties the logger's effective level to the group's level (and per-environment overrides). Loggers can move between groups or be detached from a group entirely.
17
18
  class LogGroup < ApiModelBase
19
+ # Human-readable label for the group.
18
20
  attr_accessor :name
19
21
 
22
+ # Default level applied to every logger in the group. `null` leaves member loggers to inherit from elsewhere.
20
23
  attr_accessor :level
21
24
 
25
+ # Reserved for nested groups. Must be `null` in this version; nested groups are not yet supported.
22
26
  attr_accessor :parent_id
23
27
 
28
+ # Per-environment level overrides keyed by environment name. Each value is an object with an optional `level` field, e.g. `{\"production\": {\"level\": \"ERROR\"}}`. Member loggers inherit the per-environment level unless they set their own override.
24
29
  attr_accessor :environments
25
30
 
31
+ # When the group was created.
26
32
  attr_accessor :created_at
27
33
 
34
+ # When the group was last modified.
28
35
  attr_accessor :updated_at
29
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
+
30
59
  # Attribute mapping from ruby-style variable name to JSON key.
31
60
  def self.attribute_map
32
61
  {
@@ -130,10 +159,6 @@ module SmplkitGeneratedClient::Logging
130
159
  invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 255.')
131
160
  end
132
161
 
133
- if !@level.nil? && @level.to_s.length > 10
134
- invalid_properties.push('invalid value for "level", the character length must be smaller than or equal to 10.')
135
- end
136
-
137
162
  invalid_properties
138
163
  end
139
164
 
@@ -143,7 +168,8 @@ module SmplkitGeneratedClient::Logging
143
168
  warn '[DEPRECATED] the `valid?` method is obsolete'
144
169
  return false if @name.nil?
145
170
  return false if @name.to_s.length > 255
146
- return false if !@level.nil? && @level.to_s.length > 10
171
+ level_validator = EnumAttributeValidator.new('String', ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "SILENT"])
172
+ return false unless level_validator.valid?(@level)
147
173
  true
148
174
  end
149
175
 
@@ -161,13 +187,13 @@ module SmplkitGeneratedClient::Logging
161
187
  @name = name
162
188
  end
163
189
 
164
- # Custom attribute writer method with validation
165
- # @param [Object] level Value to be assigned
190
+ # Custom attribute writer method checking allowed values (enum).
191
+ # @param [Object] level Object to be assigned
166
192
  def level=(level)
167
- if !level.nil? && level.to_s.length > 10
168
- fail ArgumentError, 'invalid value for "level", the character length must be smaller than or equal to 10.'
193
+ validator = EnumAttributeValidator.new('String', ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "SILENT"])
194
+ unless validator.valid?(level)
195
+ fail ArgumentError, "invalid value for \"level\", must be one of #{validator.allowable_values}."
169
196
  end
170
-
171
197
  @level = level
172
198
  end
173
199
 
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Logging
17
+ # JSON:API collection response for log groups.
17
18
  class LogGroupListResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -0,0 +1,165 @@
1
+ =begin
2
+ #smplkit Logging API
3
+
4
+ #API for the smplkit logging service.
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::Logging
17
+ # JSON:API request envelope for creating or updating a log group.
18
+ class LogGroupRequest < 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' => :'LogGroupResource'
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::Logging::LogGroupRequest` 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::Logging::LogGroupRequest`. 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::Logging
17
+ # JSON:API resource envelope for a log group. `id` is the group's key (e.g. `database-loggers`). On a create request the id may be supplied; if omitted, the server generates one from `name`.
17
18
  class LogGroupResource < ApiModelBase
18
19
  attr_accessor :id
19
20
 
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Logging
17
+ # JSON:API single-resource response envelope for a log group.
17
18
  class LogGroupResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -14,25 +14,57 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Logging
17
+ # A logger configured for the account. Loggers are organized by dot-separated key (for example, `sqlalchemy.engine`), matching the hierarchical naming convention used by most logging frameworks. A managed logger applies the configured level to every runtime where the logger appears; unmanaged loggers are tracked only as observations from SDKs.
17
18
  class Logger < ApiModelBase
19
+ # Human-readable label for the logger.
18
20
  attr_accessor :name
19
21
 
22
+ # Account-wide log level applied to this logger. `null` means no override at the logger level — the level is inherited from the logger's group or the framework default.
20
23
  attr_accessor :level
21
24
 
25
+ # Key of the log group this logger belongs to, or `null` if the logger is not grouped. Assigning a logger to a group promotes it to managed; assigning a group cascades to unmanaged descendants by clearing their group reference.
22
26
  attr_accessor :group
23
27
 
28
+ # When `true`, the logger is part of the account's managed configuration and counts toward the managed-loggers usage counter. Setting `level`, `group`, or `environments` on an unmanaged logger promotes it to managed automatically.
24
29
  attr_accessor :managed
25
30
 
31
+ # Service / environment observations reported by SDKs for this logger. Each entry carries the service name, environment, the level the SDK saw, the resolved level after framework inheritance, and timestamps for the first and most recent sighting.
26
32
  attr_accessor :sources
27
33
 
34
+ # Per-environment level overrides keyed by environment name. Each value is an object with an optional `level` field, e.g. `{\"production\": {\"level\": \"WARN\"}}`. An environment may be present with no `level` to record that the logger applies there without changing the resolved level.
28
35
  attr_accessor :environments
29
36
 
37
+ # Per-environment summary of what runtimes are reporting for this logger. Keyed by environment name; each entry is one of `{\"status\": \"none\"}`, `{\"status\": \"agrees\", \"level\": \"<LEVEL>\"}`, or `{\"status\": \"varies\"}`. `agrees` means every observed source in that environment reports the same resolved level; `varies` means at least two sources disagree.
30
38
  attr_accessor :effective_levels
31
39
 
40
+ # When the logger was first created or discovered.
32
41
  attr_accessor :created_at
33
42
 
43
+ # When the logger was last modified.
34
44
  attr_accessor :updated_at
35
45
 
46
+ class EnumAttributeValidator
47
+ attr_reader :datatype
48
+ attr_reader :allowable_values
49
+
50
+ def initialize(datatype, allowable_values)
51
+ @allowable_values = allowable_values.map do |value|
52
+ case datatype.to_s
53
+ when /Integer/i
54
+ value.to_i
55
+ when /Float/i
56
+ value.to_f
57
+ else
58
+ value
59
+ end
60
+ end
61
+ end
62
+
63
+ def valid?(value)
64
+ !value || allowable_values.include?(value)
65
+ end
66
+ end
67
+
36
68
  # Attribute mapping from ruby-style variable name to JSON key.
37
69
  def self.attribute_map
38
70
  {
@@ -161,10 +193,6 @@ module SmplkitGeneratedClient::Logging
161
193
  invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 255.')
162
194
  end
163
195
 
164
- if !@level.nil? && @level.to_s.length > 10
165
- invalid_properties.push('invalid value for "level", the character length must be smaller than or equal to 10.')
166
- end
167
-
168
196
  invalid_properties
169
197
  end
170
198
 
@@ -174,7 +202,8 @@ module SmplkitGeneratedClient::Logging
174
202
  warn '[DEPRECATED] the `valid?` method is obsolete'
175
203
  return false if @name.nil?
176
204
  return false if @name.to_s.length > 255
177
- return false if !@level.nil? && @level.to_s.length > 10
205
+ level_validator = EnumAttributeValidator.new('String', ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "SILENT"])
206
+ return false unless level_validator.valid?(@level)
178
207
  true
179
208
  end
180
209
 
@@ -192,13 +221,13 @@ module SmplkitGeneratedClient::Logging
192
221
  @name = name
193
222
  end
194
223
 
195
- # Custom attribute writer method with validation
196
- # @param [Object] level Value to be assigned
224
+ # Custom attribute writer method checking allowed values (enum).
225
+ # @param [Object] level Object to be assigned
197
226
  def level=(level)
198
- if !level.nil? && level.to_s.length > 10
199
- fail ArgumentError, 'invalid value for "level", the character length must be smaller than or equal to 10.'
227
+ validator = EnumAttributeValidator.new('String', ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "SILENT"])
228
+ unless validator.valid?(level)
229
+ fail ArgumentError, "invalid value for \"level\", must be one of #{validator.allowable_values}."
200
230
  end
201
-
202
231
  @level = level
203
232
  end
204
233
 
@@ -14,20 +14,21 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Logging
17
+ # One logger discovered by an SDK during a bulk registration call.
17
18
  class LoggerBulkItem < ApiModelBase
18
- # Normalized logger name
19
+ # Dot-separated logger key as the SDK saw it.
19
20
  attr_accessor :id
20
21
 
21
- # The explicitly-set level on this logger. Null if inherited.
22
+ # Level explicitly set on the logger by application code. `null` when the level is inherited.
22
23
  attr_accessor :level
23
24
 
24
- # The effective level after framework inheritance. Never null in compliant SDKs.
25
+ # Effective level after framework inheritance. SDKs should always report this; the server falls back to `level` when `resolved_level` is missing.
25
26
  attr_accessor :resolved_level
26
27
 
27
- # Service name that discovered this logger
28
+ # Service name that observed the logger.
28
29
  attr_accessor :service
29
30
 
30
- # Environment where this logger was observed
31
+ # Environment where the logger was observed.
31
32
  attr_accessor :environment
32
33
 
33
34
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,7 +14,9 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Logging
17
+ # Payload for bulk registration of loggers discovered by an SDK.
17
18
  class LoggerBulkRequest < ApiModelBase
19
+ # Loggers to register or refresh observations for.
18
20
  attr_accessor :loggers
19
21
 
20
22
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,7 +14,9 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Logging
17
+ # Result of a bulk registration call.
17
18
  class LoggerBulkResponse < ApiModelBase
19
+ # Number of loggers that were created or had a source observation refreshed.
18
20
  attr_accessor :registered
19
21
 
20
22
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Logging
17
+ # JSON:API collection response for loggers.
17
18
  class LoggerListResponse < ApiModelBase
18
19
  attr_accessor :data
19
20