svix 2.2.0 → 2.4.0

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 (252) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/Gemfile.lock +1 -25
  4. data/lib/svix/api/destination.rb +75 -0
  5. data/lib/svix/api/destination_transformation.rb +30 -0
  6. data/lib/svix/api_internal/destination.rb +14 -0
  7. data/lib/svix/api_internal/destination_autoconfig.rb +22 -0
  8. data/lib/svix/api_internal/endpoint.rb +4 -2
  9. data/lib/svix/api_internal/{endpoint_auto_config.rb → endpoint_auto_config_deprecated.rb} +1 -1
  10. data/lib/svix/api_internal/endpoint_autoconfig.rb +30 -0
  11. data/lib/svix/autoconfig.rb +53 -19
  12. data/lib/svix/autoconfig_consumer.rb +70 -9
  13. data/lib/svix/models/adobe_sign_config.rb +3 -3
  14. data/lib/svix/models/adobe_sign_config_out.rb +2 -2
  15. data/lib/svix/models/aggregate_event_types_out.rb +6 -6
  16. data/lib/svix/models/airwallex_config.rb +3 -3
  17. data/lib/svix/models/airwallex_config_out.rb +2 -2
  18. data/lib/svix/models/api_token_out.rb +8 -8
  19. data/lib/svix/models/app_portal_access_in.rb +8 -8
  20. data/lib/svix/models/app_portal_access_out.rb +4 -4
  21. data/lib/svix/models/app_usage_stats_in.rb +5 -5
  22. data/lib/svix/models/app_usage_stats_out.rb +7 -7
  23. data/lib/svix/models/application_in.rb +6 -6
  24. data/lib/svix/models/application_out.rb +9 -9
  25. data/lib/svix/models/application_patch.rb +4 -4
  26. data/lib/svix/models/application_token_expire_in.rb +4 -4
  27. data/lib/svix/models/auto_config_sink_type.rb +4 -8
  28. data/lib/svix/models/auto_config_subscription_out.rb +67 -0
  29. data/lib/svix/models/azure_blob_storage_config_in.rb +5 -5
  30. data/lib/svix/models/azure_blob_storage_config_out.rb +4 -4
  31. data/lib/svix/models/azure_blob_storage_config_patch.rb +5 -5
  32. data/lib/svix/models/background_task_out.rb +7 -7
  33. data/lib/svix/models/big_query_config_in.rb +6 -6
  34. data/lib/svix/models/big_query_config_out.rb +5 -5
  35. data/lib/svix/models/big_query_config_patch.rb +6 -6
  36. data/lib/svix/models/bulk_expunge_contents_in.rb +3 -3
  37. data/lib/svix/models/bulk_expunge_contents_out.rb +3 -3
  38. data/lib/svix/models/bulk_replay_in.rb +9 -9
  39. data/lib/svix/models/checkbook_config.rb +3 -3
  40. data/lib/svix/models/checkbook_config_out.rb +2 -2
  41. data/lib/svix/models/clickhouse_config_in.rb +7 -7
  42. data/lib/svix/models/clickhouse_config_out.rb +6 -6
  43. data/lib/svix/models/clickhouse_config_patch.rb +7 -7
  44. data/lib/svix/models/connector_in.rb +12 -12
  45. data/lib/svix/models/connector_out.rb +17 -17
  46. data/lib/svix/models/connector_patch.rb +7 -7
  47. data/lib/svix/models/connector_upsert_in.rb +10 -10
  48. data/lib/svix/models/create_stream_events_in.rb +4 -4
  49. data/lib/svix/models/create_stream_events_out.rb +2 -2
  50. data/lib/svix/models/cron_config.rb +5 -5
  51. data/lib/svix/models/destination_in.rb +204 -0
  52. data/lib/svix/models/destination_out.rb +224 -0
  53. data/lib/svix/models/destination_patch.rb +190 -0
  54. data/lib/svix/models/destination_status.rb +31 -0
  55. data/lib/svix/models/destination_status_in.rb +29 -0
  56. data/lib/svix/models/destination_transform_in.rb +49 -0
  57. data/lib/svix/models/destination_transformation_out.rb +52 -0
  58. data/lib/svix/models/docusign_config.rb +3 -3
  59. data/lib/svix/models/docusign_config_out.rb +2 -2
  60. data/lib/svix/models/easypost_config.rb +3 -3
  61. data/lib/svix/models/easypost_config_out.rb +2 -2
  62. data/lib/svix/models/empty_response.rb +2 -2
  63. data/lib/svix/models/endpoint_headers_in.rb +3 -3
  64. data/lib/svix/models/endpoint_headers_out.rb +4 -4
  65. data/lib/svix/models/endpoint_headers_patch_in.rb +4 -4
  66. data/lib/svix/models/endpoint_in.rb +12 -12
  67. data/lib/svix/models/endpoint_message_out.rb +13 -13
  68. data/lib/svix/models/endpoint_out.rb +13 -13
  69. data/lib/svix/models/endpoint_patch.rb +5 -5
  70. data/lib/svix/models/endpoint_secret_out.rb +3 -3
  71. data/lib/svix/models/endpoint_secret_rotate_in.rb +4 -4
  72. data/lib/svix/models/endpoint_stats.rb +7 -7
  73. data/lib/svix/models/endpoint_transformation_in.rb +4 -4
  74. data/lib/svix/models/endpoint_transformation_out.rb +6 -6
  75. data/lib/svix/models/endpoint_transformation_patch.rb +2 -2
  76. data/lib/svix/models/endpoint_upsert_in.rb +10 -10
  77. data/lib/svix/models/environment_in.rb +5 -5
  78. data/lib/svix/models/environment_out.rb +7 -7
  79. data/lib/svix/models/event_bridge_config_in.rb +7 -7
  80. data/lib/svix/models/event_bridge_config_out.rb +6 -6
  81. data/lib/svix/models/event_bridge_config_patch.rb +7 -7
  82. data/lib/svix/models/event_example_in.rb +4 -4
  83. data/lib/svix/models/event_in.rb +4 -4
  84. data/lib/svix/models/event_out.rb +5 -5
  85. data/lib/svix/models/event_stream_out.rb +5 -5
  86. data/lib/svix/models/event_type_from_open_api.rb +8 -8
  87. data/lib/svix/models/event_type_import_open_api_in.rb +6 -6
  88. data/lib/svix/models/event_type_import_open_api_out.rb +3 -3
  89. data/lib/svix/models/event_type_import_open_api_out_data.rb +4 -4
  90. data/lib/svix/models/event_type_in.rb +9 -9
  91. data/lib/svix/models/event_type_out.rb +12 -12
  92. data/lib/svix/models/event_type_patch.rb +3 -3
  93. data/lib/svix/models/event_type_upsert_in.rb +8 -8
  94. data/lib/svix/models/expunge_all_contents_out.rb +6 -6
  95. data/lib/svix/models/fifo_endpoint_config_in.rb +52 -0
  96. data/lib/svix/models/github_config.rb +3 -3
  97. data/lib/svix/models/github_config_out.rb +2 -2
  98. data/lib/svix/models/google_cloud_pub_sub_config_in.rb +5 -5
  99. data/lib/svix/models/google_cloud_pub_sub_config_out.rb +4 -4
  100. data/lib/svix/models/google_cloud_pub_sub_config_patch.rb +5 -5
  101. data/lib/svix/models/google_cloud_storage_config_in.rb +4 -4
  102. data/lib/svix/models/google_cloud_storage_config_out.rb +3 -3
  103. data/lib/svix/models/google_cloud_storage_config_patch.rb +4 -4
  104. data/lib/svix/models/http_sink_headers_patch_in.rb +3 -3
  105. data/lib/svix/models/hubspot_config.rb +3 -3
  106. data/lib/svix/models/hubspot_config_out.rb +2 -2
  107. data/lib/svix/models/ingest_endpoint_headers_in.rb +3 -3
  108. data/lib/svix/models/ingest_endpoint_headers_out.rb +4 -4
  109. data/lib/svix/models/ingest_endpoint_in.rb +10 -10
  110. data/lib/svix/models/ingest_endpoint_out.rb +11 -11
  111. data/lib/svix/models/ingest_endpoint_secret_in.rb +4 -4
  112. data/lib/svix/models/ingest_endpoint_secret_out.rb +3 -3
  113. data/lib/svix/models/ingest_endpoint_transformation_out.rb +5 -5
  114. data/lib/svix/models/ingest_endpoint_transformation_patch.rb +2 -2
  115. data/lib/svix/models/ingest_endpoint_upsert_in.rb +8 -8
  116. data/lib/svix/models/ingest_source_consumer_portal_access_in.rb +4 -4
  117. data/lib/svix/models/ingest_source_in.rb +14 -13
  118. data/lib/svix/models/ingest_source_out.rb +18 -17
  119. data/lib/svix/models/integration_in.rb +4 -4
  120. data/lib/svix/models/integration_key_out.rb +3 -3
  121. data/lib/svix/models/integration_out.rb +7 -7
  122. data/lib/svix/models/integration_update.rb +4 -4
  123. data/lib/svix/models/list_response_application_out.rb +6 -6
  124. data/lib/svix/models/list_response_background_task_out.rb +6 -6
  125. data/lib/svix/models/list_response_connector_out.rb +6 -6
  126. data/lib/svix/models/list_response_destination_out.rb +58 -0
  127. data/lib/svix/models/list_response_endpoint_message_out.rb +6 -6
  128. data/lib/svix/models/list_response_endpoint_out.rb +6 -6
  129. data/lib/svix/models/list_response_event_type_out.rb +6 -6
  130. data/lib/svix/models/list_response_ingest_endpoint_out.rb +6 -6
  131. data/lib/svix/models/list_response_ingest_source_out.rb +6 -6
  132. data/lib/svix/models/list_response_integration_out.rb +6 -6
  133. data/lib/svix/models/list_response_message_attempt_out.rb +6 -6
  134. data/lib/svix/models/list_response_message_endpoint_out.rb +6 -6
  135. data/lib/svix/models/list_response_message_out.rb +6 -6
  136. data/lib/svix/models/list_response_operational_webhook_endpoint_out.rb +6 -6
  137. data/lib/svix/models/list_response_stream_event_type_out.rb +6 -6
  138. data/lib/svix/models/list_response_stream_out.rb +6 -6
  139. data/lib/svix/models/list_response_stream_sink_out.rb +6 -6
  140. data/lib/svix/models/merge_config.rb +46 -0
  141. data/lib/svix/models/merge_config_out.rb +43 -0
  142. data/lib/svix/models/message_attempt_out.rb +14 -14
  143. data/lib/svix/models/message_endpoint_out.rb +15 -15
  144. data/lib/svix/models/message_in.rb +21 -12
  145. data/lib/svix/models/message_out.rb +10 -10
  146. data/lib/svix/models/message_precheck_in.rb +4 -4
  147. data/lib/svix/models/message_precheck_out.rb +3 -3
  148. data/lib/svix/models/meta_config.rb +4 -4
  149. data/lib/svix/models/meta_config_out.rb +2 -2
  150. data/lib/svix/models/nango_config.rb +3 -3
  151. data/lib/svix/models/nango_config_out.rb +2 -2
  152. data/lib/svix/models/open_claw_config.rb +3 -3
  153. data/lib/svix/models/open_claw_config_out.rb +2 -2
  154. data/lib/svix/models/operational_webhook_endpoint_headers_in.rb +3 -3
  155. data/lib/svix/models/operational_webhook_endpoint_headers_out.rb +4 -4
  156. data/lib/svix/models/operational_webhook_endpoint_in.rb +11 -11
  157. data/lib/svix/models/operational_webhook_endpoint_out.rb +12 -12
  158. data/lib/svix/models/operational_webhook_endpoint_secret_in.rb +4 -4
  159. data/lib/svix/models/operational_webhook_endpoint_secret_out.rb +3 -3
  160. data/lib/svix/models/operational_webhook_endpoint_upsert_in.rb +9 -9
  161. data/lib/svix/models/orum_io_config.rb +3 -3
  162. data/lib/svix/models/orum_io_config_out.rb +3 -3
  163. data/lib/svix/models/otel_tracing_config_in.rb +4 -4
  164. data/lib/svix/models/otel_tracing_config_out.rb +4 -4
  165. data/lib/svix/models/otel_tracing_config_patch.rb +3 -3
  166. data/lib/svix/models/panda_doc_config.rb +3 -3
  167. data/lib/svix/models/panda_doc_config_out.rb +2 -2
  168. data/lib/svix/models/poller_v2_commit_in.rb +3 -3
  169. data/lib/svix/models/poller_v2_message_out.rb +12 -12
  170. data/lib/svix/models/poller_v2_poll_out.rb +4 -4
  171. data/lib/svix/models/polling_endpoint_consumer_seek_in.rb +3 -3
  172. data/lib/svix/models/polling_endpoint_consumer_seek_out.rb +3 -3
  173. data/lib/svix/models/polling_endpoint_message_out.rb +11 -11
  174. data/lib/svix/models/polling_endpoint_out.rb +5 -5
  175. data/lib/svix/models/port_io_config.rb +3 -3
  176. data/lib/svix/models/port_io_config_out.rb +2 -2
  177. data/lib/svix/models/postgres_config_in.rb +65 -0
  178. data/lib/svix/models/postgres_config_out.rb +52 -0
  179. data/lib/svix/models/postgres_config_patch.rb +55 -0
  180. data/lib/svix/models/rabbit_mq_config_in.rb +4 -4
  181. data/lib/svix/models/rabbit_mq_config_out.rb +3 -3
  182. data/lib/svix/models/rabbit_mq_config_patch.rb +4 -4
  183. data/lib/svix/models/recover_in.rb +4 -4
  184. data/lib/svix/models/recover_out.rb +6 -6
  185. data/lib/svix/models/redshift_config_in.rb +11 -11
  186. data/lib/svix/models/redshift_config_out.rb +10 -10
  187. data/lib/svix/models/redshift_config_patch.rb +7 -7
  188. data/lib/svix/models/replay_in.rb +4 -4
  189. data/lib/svix/models/replay_out.rb +6 -6
  190. data/lib/svix/models/rotate_poller_token_in.rb +4 -4
  191. data/lib/svix/models/rotate_token_out.rb +3 -3
  192. data/lib/svix/models/rutter_config.rb +3 -3
  193. data/lib/svix/models/rutter_config_out.rb +2 -2
  194. data/lib/svix/models/s3_config_in.rb +21 -11
  195. data/lib/svix/models/s3_config_out.rb +13 -7
  196. data/lib/svix/models/s3_config_patch.rb +14 -8
  197. data/lib/svix/models/segment_config.rb +3 -3
  198. data/lib/svix/models/segment_config_out.rb +2 -2
  199. data/lib/svix/models/shopify_config.rb +3 -3
  200. data/lib/svix/models/shopify_config_out.rb +2 -2
  201. data/lib/svix/models/sink_http_config_in.rb +5 -5
  202. data/lib/svix/models/sink_http_config_out.rb +4 -4
  203. data/lib/svix/models/sink_http_config_patch.rb +3 -3
  204. data/lib/svix/models/sink_in_common.rb +10 -10
  205. data/lib/svix/models/sink_secret_out.rb +3 -3
  206. data/lib/svix/models/sink_transform_in.rb +3 -3
  207. data/lib/svix/models/sink_transformation_out.rb +4 -4
  208. data/lib/svix/models/slack_config.rb +3 -3
  209. data/lib/svix/models/slack_config_out.rb +2 -2
  210. data/lib/svix/models/snowflake_config_in.rb +8 -8
  211. data/lib/svix/models/snowflake_config_out.rb +7 -7
  212. data/lib/svix/models/snowflake_config_patch.rb +8 -8
  213. data/lib/svix/models/sns_config_in.rb +7 -7
  214. data/lib/svix/models/sns_config_out.rb +5 -5
  215. data/lib/svix/models/sns_config_patch.rb +6 -6
  216. data/lib/svix/models/sqs_config_in.rb +7 -7
  217. data/lib/svix/models/sqs_config_out.rb +6 -6
  218. data/lib/svix/models/sqs_config_patch.rb +6 -6
  219. data/lib/svix/models/status.rb +29 -0
  220. data/lib/svix/models/stream_event_type_in.rb +7 -7
  221. data/lib/svix/models/stream_event_type_out.rb +9 -9
  222. data/lib/svix/models/stream_event_type_patch.rb +2 -2
  223. data/lib/svix/models/stream_in.rb +5 -5
  224. data/lib/svix/models/stream_out.rb +8 -8
  225. data/lib/svix/models/stream_patch.rb +4 -4
  226. data/lib/svix/models/stream_portal_access_in.rb +5 -5
  227. data/lib/svix/models/stream_sink_in.rb +19 -18
  228. data/lib/svix/models/stream_sink_out.rb +42 -24
  229. data/lib/svix/models/stream_sink_patch.rb +15 -14
  230. data/lib/svix/models/stream_token_expire_in.rb +4 -4
  231. data/lib/svix/models/stripe_config.rb +3 -3
  232. data/lib/svix/models/stripe_config_out.rb +2 -2
  233. data/lib/svix/models/subscribe_in.rb +4 -4
  234. data/lib/svix/models/svix_config.rb +3 -3
  235. data/lib/svix/models/svix_config_out.rb +2 -2
  236. data/lib/svix/models/tailscale_config.rb +7 -4
  237. data/lib/svix/models/tailscale_config_out.rb +2 -2
  238. data/lib/svix/models/telnyx_config.rb +3 -3
  239. data/lib/svix/models/telnyx_config_out.rb +3 -3
  240. data/lib/svix/models/vapi_config.rb +3 -3
  241. data/lib/svix/models/vapi_config_out.rb +2 -2
  242. data/lib/svix/models/veriff_config.rb +3 -3
  243. data/lib/svix/models/veriff_config_out.rb +2 -2
  244. data/lib/svix/models/vgs_config.rb +3 -3
  245. data/lib/svix/models/vgs_config_out.rb +2 -2
  246. data/lib/svix/models/zoom_config.rb +3 -3
  247. data/lib/svix/models/zoom_config_out.rb +2 -2
  248. data/lib/svix/svix.rb +7 -0
  249. data/lib/svix/svix_http_client.rb +1 -1
  250. data/lib/svix/version.rb +1 -1
  251. data/lib/svix.rb +16 -0
  252. metadata +24 -3
@@ -80,31 +80,31 @@ module Svix
80
80
 
81
81
  def serialize
82
82
  out = Hash.new
83
- out["id"] = Svix::serialize_primitive(@id) if @id
84
- out["orgId"] = Svix::serialize_primitive(@org_id) if @org_id
85
- out["uid"] = Svix::serialize_primitive(@uid) if @uid
86
- out["kind"] = Svix::serialize_schema_ref(@kind) if @kind
87
- out["name"] = Svix::serialize_primitive(@name) if @name
88
- out["logo"] = Svix::serialize_primitive(@logo) if @logo
89
- out["description"] = Svix::serialize_primitive(@description) if @description
90
- out["instructions"] = Svix::serialize_primitive(@instructions) if @instructions
91
- out["allowedEventTypes"] = Svix::serialize_primitive(@allowed_event_types) if @allowed_event_types
92
- out["transformation"] = Svix::serialize_primitive(@transformation) if @transformation
93
- out["createdAt"] = Svix::serialize_primitive(@created_at) if @created_at
94
- out["updatedAt"] = Svix::serialize_primitive(@updated_at) if @updated_at
95
- if @transformation_updated_at
83
+ out["id"] = Svix::serialize_primitive(@id) unless @id.nil?
84
+ out["orgId"] = Svix::serialize_primitive(@org_id) unless @org_id.nil?
85
+ out["uid"] = Svix::serialize_primitive(@uid) unless @uid.nil?
86
+ out["kind"] = Svix::serialize_schema_ref(@kind) unless @kind.nil?
87
+ out["name"] = Svix::serialize_primitive(@name) unless @name.nil?
88
+ out["logo"] = Svix::serialize_primitive(@logo) unless @logo.nil?
89
+ out["description"] = Svix::serialize_primitive(@description) unless @description.nil?
90
+ out["instructions"] = Svix::serialize_primitive(@instructions) unless @instructions.nil?
91
+ out["allowedEventTypes"] = Svix::serialize_primitive(@allowed_event_types) unless @allowed_event_types.nil?
92
+ out["transformation"] = Svix::serialize_primitive(@transformation) unless @transformation.nil?
93
+ out["createdAt"] = Svix::serialize_primitive(@created_at) unless @created_at.nil?
94
+ out["updatedAt"] = Svix::serialize_primitive(@updated_at) unless @updated_at.nil?
95
+ unless @transformation_updated_at.nil?
96
96
  out["transformationUpdatedAt"] = Svix::serialize_primitive(@transformation_updated_at)
97
97
  end
98
98
 
99
- out["featureFlags"] = Svix::serialize_primitive(@feature_flags) if @feature_flags
100
- out["productType"] = Svix::serialize_schema_ref(@product_type) if @product_type
99
+ out["featureFlags"] = Svix::serialize_primitive(@feature_flags) unless @feature_flags.nil?
100
+ out["productType"] = Svix::serialize_schema_ref(@product_type) unless @product_type.nil?
101
101
  out
102
102
  end
103
103
 
104
104
  # Serializes the object to a json string
105
105
  # @return String
106
- def to_json
107
- JSON.dump(serialize)
106
+ def to_json(*args)
107
+ serialize.to_json(*args)
108
108
  end
109
109
  end
110
110
  end
@@ -56,21 +56,21 @@ module Svix
56
56
 
57
57
  def serialize
58
58
  out = Hash.new
59
- out["name"] = Svix::serialize_primitive(@name) if @name
59
+ out["name"] = Svix::serialize_primitive(@name) unless @name.nil?
60
60
  out["logo"] = Svix::serialize_primitive(@logo) if @__logo_is_defined
61
- out["description"] = Svix::serialize_primitive(@description) if @description
62
- out["kind"] = Svix::serialize_schema_ref(@kind) if @kind
63
- out["instructions"] = Svix::serialize_primitive(@instructions) if @instructions
61
+ out["description"] = Svix::serialize_primitive(@description) unless @description.nil?
62
+ out["kind"] = Svix::serialize_schema_ref(@kind) unless @kind.nil?
63
+ out["instructions"] = Svix::serialize_primitive(@instructions) unless @instructions.nil?
64
64
  out["allowedEventTypes"] = Svix::serialize_primitive(@allowed_event_types) if @__allowed_event_types_is_defined
65
- out["transformation"] = Svix::serialize_primitive(@transformation) if @transformation
65
+ out["transformation"] = Svix::serialize_primitive(@transformation) unless @transformation.nil?
66
66
  out["featureFlags"] = Svix::serialize_primitive(@feature_flags) if @__feature_flags_is_defined
67
67
  out
68
68
  end
69
69
 
70
70
  # Serializes the object to a json string
71
71
  # @return String
72
- def to_json
73
- JSON.dump(serialize)
72
+ def to_json(*args)
73
+ serialize.to_json(*args)
74
74
  end
75
75
  end
76
76
  end
@@ -56,21 +56,21 @@ module Svix
56
56
 
57
57
  def serialize
58
58
  out = Hash.new
59
- out["name"] = Svix::serialize_primitive(@name) if @name
60
- out["logo"] = Svix::serialize_primitive(@logo) if @logo
61
- out["description"] = Svix::serialize_primitive(@description) if @description
62
- out["kind"] = Svix::serialize_schema_ref(@kind) if @kind
63
- out["instructions"] = Svix::serialize_primitive(@instructions) if @instructions
64
- out["allowedEventTypes"] = Svix::serialize_primitive(@allowed_event_types) if @allowed_event_types
65
- out["transformation"] = Svix::serialize_primitive(@transformation) if @transformation
66
- out["featureFlags"] = Svix::serialize_primitive(@feature_flags) if @feature_flags
59
+ out["name"] = Svix::serialize_primitive(@name) unless @name.nil?
60
+ out["logo"] = Svix::serialize_primitive(@logo) unless @logo.nil?
61
+ out["description"] = Svix::serialize_primitive(@description) unless @description.nil?
62
+ out["kind"] = Svix::serialize_schema_ref(@kind) unless @kind.nil?
63
+ out["instructions"] = Svix::serialize_primitive(@instructions) unless @instructions.nil?
64
+ out["allowedEventTypes"] = Svix::serialize_primitive(@allowed_event_types) unless @allowed_event_types.nil?
65
+ out["transformation"] = Svix::serialize_primitive(@transformation) unless @transformation.nil?
66
+ out["featureFlags"] = Svix::serialize_primitive(@feature_flags) unless @feature_flags.nil?
67
67
  out
68
68
  end
69
69
 
70
70
  # Serializes the object to a json string
71
71
  # @return String
72
- def to_json
73
- JSON.dump(serialize)
72
+ def to_json(*args)
73
+ serialize.to_json(*args)
74
74
  end
75
75
  end
76
76
  end
@@ -38,15 +38,15 @@ module Svix
38
38
 
39
39
  def serialize
40
40
  out = Hash.new
41
- out["events"] = @events.map { |v| v.serialize } if @events
42
- out["stream"] = Svix::serialize_schema_ref(@stream) if @stream
41
+ out["events"] = @events.map { |v| v.serialize } unless @events.nil?
42
+ out["stream"] = Svix::serialize_schema_ref(@stream) unless @stream.nil?
43
43
  out
44
44
  end
45
45
 
46
46
  # Serializes the object to a json string
47
47
  # @return String
48
- def to_json
49
- JSON.dump(serialize)
48
+ def to_json(*args)
49
+ serialize.to_json(*args)
50
50
  end
51
51
  end
52
52
  end
@@ -39,8 +39,8 @@ module Svix
39
39
 
40
40
  # Serializes the object to a json string
41
41
  # @return String
42
- def to_json
43
- JSON.dump(serialize)
42
+ def to_json(*args)
43
+ serialize.to_json(*args)
44
44
  end
45
45
  end
46
46
  end
@@ -40,16 +40,16 @@ module Svix
40
40
 
41
41
  def serialize
42
42
  out = Hash.new
43
- out["schedule"] = Svix::serialize_primitive(@schedule) if @schedule
44
- out["payload"] = Svix::serialize_primitive(@payload) if @payload
45
- out["contentType"] = Svix::serialize_primitive(@content_type) if @content_type
43
+ out["schedule"] = Svix::serialize_primitive(@schedule) unless @schedule.nil?
44
+ out["payload"] = Svix::serialize_primitive(@payload) unless @payload.nil?
45
+ out["contentType"] = Svix::serialize_primitive(@content_type) unless @content_type.nil?
46
46
  out
47
47
  end
48
48
 
49
49
  # Serializes the object to a json string
50
50
  # @return String
51
- def to_json
52
- JSON.dump(serialize)
51
+ def to_json(*args)
52
+ serialize.to_json(*args)
53
53
  end
54
54
  end
55
55
  end
@@ -0,0 +1,204 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ require_relative "./azure_blob_storage_config_in"
6
+ require_relative "./big_query_config_in"
7
+ require_relative "./clickhouse_config_in"
8
+ require_relative "./destination_status_in"
9
+ require_relative "./event_bridge_config_in"
10
+ require_relative "./fifo_endpoint_config_in"
11
+ require_relative "./google_cloud_pub_sub_config_in"
12
+ require_relative "./google_cloud_storage_config_in"
13
+ require_relative "./otel_tracing_config_in"
14
+ require_relative "./postgres_config_in"
15
+ require_relative "./rabbit_mq_config_in"
16
+ require_relative "./redshift_config_in"
17
+ require_relative "./s3_config_in"
18
+ require_relative "./snowflake_config_in"
19
+ require_relative "./sns_config_in"
20
+ require_relative "./sqs_config_in"
21
+
22
+ module Svix
23
+ class DestinationInConfig
24
+ class PollingEndpoint
25
+
26
+ def serialize
27
+ Hash.new
28
+ end
29
+
30
+ def self.deserialize(attributes = {})
31
+ new
32
+ end
33
+ # Serializes the object to a json string
34
+ # @return String
35
+ def to_json(*args)
36
+ serialize.to_json(*args)
37
+ end
38
+ end
39
+
40
+ class AzureBlobStorage < AzureBlobStorageConfigIn
41
+ end
42
+
43
+ class OtelTracing < OtelTracingConfigIn
44
+ end
45
+
46
+ class FifoEndpoint < FifoEndpointConfigIn
47
+ end
48
+
49
+ class AmazonS3 < S3ConfigIn
50
+ end
51
+
52
+ class GoogleCloudStorage < GoogleCloudStorageConfigIn
53
+ end
54
+
55
+ class GoogleCloudPubSub < GoogleCloudPubSubConfigIn
56
+ end
57
+
58
+ class Sqs < SqsConfigIn
59
+ end
60
+
61
+ class Sns < SnsConfigIn
62
+ end
63
+
64
+ class BigQuery < BigQueryConfigIn
65
+ end
66
+
67
+ class Clickhouse < ClickhouseConfigIn
68
+ end
69
+
70
+ class EventBridge < EventBridgeConfigIn
71
+ end
72
+
73
+ class Snowflake < SnowflakeConfigIn
74
+ end
75
+
76
+ class RabbitMq < RabbitMqConfigIn
77
+ end
78
+
79
+ class Redshift < RedshiftConfigIn
80
+ end
81
+
82
+ class Postgres < PostgresConfigIn
83
+ end
84
+ end
85
+
86
+ # The destination's type and type-specific configuration.
87
+ class DestinationIn
88
+ # An optional unique identifier for the destination.
89
+ attr_accessor :uid
90
+ # Whether the destination will receive events.
91
+ #
92
+ # If the destination is `enabled`, events sent to the application will be dispatched to the destination in order.
93
+ #
94
+ # If the destination is `disabled`, events will not be dispatched until the destination is reenabled.
95
+ attr_accessor :status
96
+ # How many events will be batched in a request to the destination.
97
+ attr_accessor :batch_size
98
+ # How long to wait before a batch of events is sent, if the `batchSize` is not reached.
99
+ #
100
+ # For example, with a `batchSize` of 100 and `maxWaitSecs` of 10, a request is sent after 10 seconds or 100 events, whichever comes first.
101
+ #
102
+ # Note that an empty batch is never sent to the destination.
103
+ attr_accessor :max_wait_secs
104
+ # A list of event types that filter which events are dispatched to the destination. An empty list (or null) will not filter out any events.
105
+ attr_accessor :event_types
106
+ # A list of channels that filter which events are dispatched to the destination. An empty list (or null) will not filter out any events.
107
+ attr_accessor :channels
108
+ attr_accessor :metadata
109
+ attr_accessor :config
110
+
111
+ ALL_FIELD ||= ["uid", "status", "batch_size", "max_wait_secs", "event_types", "channels", "metadata", "config"].freeze
112
+ private_constant :ALL_FIELD
113
+ TYPE_TO_NAME = {
114
+ DestinationInConfig::PollingEndpoint => "pollingEndpoint",
115
+ DestinationInConfig::AzureBlobStorage => "azureBlobStorage",
116
+ DestinationInConfig::OtelTracing => "otelTracing",
117
+ DestinationInConfig::FifoEndpoint => "fifoEndpoint",
118
+ DestinationInConfig::AmazonS3 => "amazonS3",
119
+ DestinationInConfig::GoogleCloudStorage => "googleCloudStorage",
120
+ DestinationInConfig::GoogleCloudPubSub => "googleCloudPubSub",
121
+ DestinationInConfig::Sqs => "sqs",
122
+ DestinationInConfig::Sns => "sns",
123
+ DestinationInConfig::BigQuery => "bigQuery",
124
+ DestinationInConfig::Clickhouse => "clickhouse",
125
+ DestinationInConfig::EventBridge => "eventBridge",
126
+ DestinationInConfig::Snowflake => "snowflake",
127
+ DestinationInConfig::RabbitMq => "rabbitMq",
128
+ DestinationInConfig::Redshift => "redshift",
129
+ DestinationInConfig::Postgres => "postgres"
130
+ }
131
+ private_constant :TYPE_TO_NAME
132
+ NAME_TO_TYPE = TYPE_TO_NAME.invert
133
+ private_constant :NAME_TO_TYPE
134
+
135
+ def initialize(attributes = {})
136
+ unless attributes.is_a?(Hash)
137
+ fail(
138
+ ArgumentError,
139
+ "The input argument (attributes) must be a hash in `Svix::DestinationIn` new method"
140
+ )
141
+ end
142
+
143
+ attributes.each do |k, v|
144
+ unless ALL_FIELD.include?(k.to_s)
145
+ fail(ArgumentError, "The field #{k} is not part of Svix::DestinationIn")
146
+ end
147
+
148
+ if k.to_s == "config"
149
+ unless TYPE_TO_NAME.key?(v.class)
150
+ fail(ArgumentError, "The field #{k} can't be a `#{v.class}` expected one of #{TYPE_TO_NAME.keys}")
151
+ end
152
+
153
+ instance_variable_set("@__enum_discriminator", TYPE_TO_NAME[v.class])
154
+ end
155
+
156
+ instance_variable_set("@#{k}", v)
157
+ instance_variable_set("@__#{k}_is_defined", true)
158
+ end
159
+
160
+ if @__enum_discriminator.nil?
161
+ fail(ArgumentError, "Required config field was not set")
162
+ end
163
+ end
164
+
165
+ def self.deserialize(attributes = {})
166
+ attributes = attributes.transform_keys(&:to_s)
167
+ attrs = Hash.new
168
+ attrs["uid"] = attributes["uid"]
169
+ attrs["status"] = Svix::DestinationStatusIn.deserialize(attributes["status"]) if attributes["status"]
170
+ attrs["batch_size"] = attributes["batchSize"]
171
+ attrs["max_wait_secs"] = attributes["maxWaitSecs"]
172
+ attrs["event_types"] = attributes["eventTypes"]
173
+ attrs["channels"] = attributes["channels"]
174
+ attrs["metadata"] = attributes["metadata"]
175
+ unless NAME_TO_TYPE.key?(attributes["type"])
176
+ fail(ArgumentError, "Invalid type `#{attributes["type"]}` expected on of #{NAME_TO_TYPE.keys}")
177
+ end
178
+
179
+ attrs["config"] = NAME_TO_TYPE[attributes["type"]].deserialize(attributes["config"] || {})
180
+ new(attrs)
181
+ end
182
+
183
+ def serialize
184
+ out = Hash.new
185
+ out["uid"] = Svix::serialize_primitive(@uid) unless @uid.nil?
186
+ out["status"] = Svix::serialize_schema_ref(@status) unless @status.nil?
187
+ out["batchSize"] = Svix::serialize_primitive(@batch_size) unless @batch_size.nil?
188
+ out["maxWaitSecs"] = Svix::serialize_primitive(@max_wait_secs) unless @max_wait_secs.nil?
189
+ out["eventTypes"] = Svix::serialize_primitive(@event_types) unless @event_types.nil?
190
+ out["channels"] = Svix::serialize_primitive(@channels) unless @channels.nil?
191
+ out["metadata"] = Svix::serialize_primitive(@metadata) unless @metadata.nil?
192
+ out["type"] = @__enum_discriminator
193
+ out["config"] = @config.serialize
194
+ out
195
+ end
196
+
197
+ # Serializes the object to a json string
198
+ # @return String
199
+ def to_json(*args)
200
+ serialize.to_json(*args)
201
+ end
202
+
203
+ end
204
+ end
@@ -0,0 +1,224 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ require_relative "./azure_blob_storage_config_out"
6
+ require_relative "./big_query_config_out"
7
+ require_relative "./clickhouse_config_out"
8
+ require_relative "./destination_status"
9
+ require_relative "./event_bridge_config_out"
10
+ require_relative "./google_cloud_pub_sub_config_out"
11
+ require_relative "./google_cloud_storage_config_out"
12
+ require_relative "./otel_tracing_config_out"
13
+ require_relative "./postgres_config_out"
14
+ require_relative "./rabbit_mq_config_out"
15
+ require_relative "./redshift_config_out"
16
+ require_relative "./s3_config_out"
17
+ require_relative "./sink_http_config_out"
18
+ require_relative "./snowflake_config_out"
19
+ require_relative "./sns_config_out"
20
+ require_relative "./sqs_config_out"
21
+
22
+ module Svix
23
+ class DestinationOutConfig
24
+ class PollingEndpoint
25
+
26
+ def serialize
27
+ Hash.new
28
+ end
29
+
30
+ def self.deserialize(attributes = {})
31
+ new
32
+ end
33
+ # Serializes the object to a json string
34
+ # @return String
35
+ def to_json(*args)
36
+ serialize.to_json(*args)
37
+ end
38
+ end
39
+
40
+ class AzureBlobStorage < AzureBlobStorageConfigOut
41
+ end
42
+
43
+ class OtelTracing < OtelTracingConfigOut
44
+ end
45
+
46
+ class FifoEndpoint < SinkHttpConfigOut
47
+ end
48
+
49
+ class AmazonS3 < S3ConfigOut
50
+ end
51
+
52
+ class Snowflake < SnowflakeConfigOut
53
+ end
54
+
55
+ class GoogleCloudStorage < GoogleCloudStorageConfigOut
56
+ end
57
+
58
+ class GoogleCloudPubSub < GoogleCloudPubSubConfigOut
59
+ end
60
+
61
+ class Redshift < RedshiftConfigOut
62
+ end
63
+
64
+ class BigQuery < BigQueryConfigOut
65
+ end
66
+
67
+ class Clickhouse < ClickhouseConfigOut
68
+ end
69
+
70
+ class RabbitMq < RabbitMqConfigOut
71
+ end
72
+
73
+ class Sqs < SqsConfigOut
74
+ end
75
+
76
+ class EventBridge < EventBridgeConfigOut
77
+ end
78
+
79
+ class Sns < SnsConfigOut
80
+ end
81
+
82
+ class Postgres < PostgresConfigOut
83
+ end
84
+ end
85
+
86
+ class DestinationOut
87
+ # The Destination's ID.
88
+ attr_accessor :id
89
+ # The Destination's UID.
90
+ attr_accessor :uid
91
+ attr_accessor :status
92
+ attr_accessor :current_iterator
93
+ attr_accessor :failure_reason
94
+ attr_accessor :created_at
95
+ attr_accessor :updated_at
96
+ attr_accessor :batch_size
97
+ attr_accessor :max_wait_secs
98
+ attr_accessor :event_types
99
+ attr_accessor :channels
100
+ attr_accessor :next_retry_at
101
+ attr_accessor :metadata
102
+ attr_accessor :config
103
+
104
+ ALL_FIELD ||= [
105
+ "id",
106
+ "uid",
107
+ "status",
108
+ "current_iterator",
109
+ "failure_reason",
110
+ "created_at",
111
+ "updated_at",
112
+ "batch_size",
113
+ "max_wait_secs",
114
+ "event_types",
115
+ "channels",
116
+ "next_retry_at",
117
+ "metadata",
118
+ "config"
119
+ ].freeze
120
+ private_constant :ALL_FIELD
121
+ TYPE_TO_NAME = {
122
+ DestinationOutConfig::PollingEndpoint => "pollingEndpoint",
123
+ DestinationOutConfig::AzureBlobStorage => "azureBlobStorage",
124
+ DestinationOutConfig::OtelTracing => "otelTracing",
125
+ DestinationOutConfig::FifoEndpoint => "fifoEndpoint",
126
+ DestinationOutConfig::AmazonS3 => "amazonS3",
127
+ DestinationOutConfig::Snowflake => "snowflake",
128
+ DestinationOutConfig::GoogleCloudStorage => "googleCloudStorage",
129
+ DestinationOutConfig::GoogleCloudPubSub => "googleCloudPubSub",
130
+ DestinationOutConfig::Redshift => "redshift",
131
+ DestinationOutConfig::BigQuery => "bigQuery",
132
+ DestinationOutConfig::Clickhouse => "clickhouse",
133
+ DestinationOutConfig::RabbitMq => "rabbitMq",
134
+ DestinationOutConfig::Sqs => "sqs",
135
+ DestinationOutConfig::EventBridge => "eventBridge",
136
+ DestinationOutConfig::Sns => "sns",
137
+ DestinationOutConfig::Postgres => "postgres"
138
+ }
139
+ private_constant :TYPE_TO_NAME
140
+ NAME_TO_TYPE = TYPE_TO_NAME.invert
141
+ private_constant :NAME_TO_TYPE
142
+
143
+ def initialize(attributes = {})
144
+ unless attributes.is_a?(Hash)
145
+ fail(
146
+ ArgumentError,
147
+ "The input argument (attributes) must be a hash in `Svix::DestinationOut` new method"
148
+ )
149
+ end
150
+
151
+ attributes.each do |k, v|
152
+ unless ALL_FIELD.include?(k.to_s)
153
+ fail(ArgumentError, "The field #{k} is not part of Svix::DestinationOut")
154
+ end
155
+
156
+ if k.to_s == "config"
157
+ unless TYPE_TO_NAME.key?(v.class)
158
+ fail(ArgumentError, "The field #{k} can't be a `#{v.class}` expected one of #{TYPE_TO_NAME.keys}")
159
+ end
160
+
161
+ instance_variable_set("@__enum_discriminator", TYPE_TO_NAME[v.class])
162
+ end
163
+
164
+ instance_variable_set("@#{k}", v)
165
+ instance_variable_set("@__#{k}_is_defined", true)
166
+ end
167
+
168
+ if @__enum_discriminator.nil?
169
+ fail(ArgumentError, "Required config field was not set")
170
+ end
171
+ end
172
+
173
+ def self.deserialize(attributes = {})
174
+ attributes = attributes.transform_keys(&:to_s)
175
+ attrs = Hash.new
176
+ attrs["id"] = attributes["id"]
177
+ attrs["uid"] = attributes["uid"]
178
+ attrs["status"] = Svix::DestinationStatus.deserialize(attributes["status"])
179
+ attrs["current_iterator"] = attributes["currentIterator"]
180
+ attrs["failure_reason"] = attributes["failureReason"]
181
+ attrs["created_at"] = DateTime.rfc3339(attributes["createdAt"]).to_time
182
+ attrs["updated_at"] = DateTime.rfc3339(attributes["updatedAt"]).to_time
183
+ attrs["batch_size"] = attributes["batchSize"]
184
+ attrs["max_wait_secs"] = attributes["maxWaitSecs"]
185
+ attrs["event_types"] = attributes["eventTypes"]
186
+ attrs["channels"] = attributes["channels"]
187
+ attrs["next_retry_at"] = DateTime.rfc3339(attributes["nextRetryAt"]).to_time if attributes["nextRetryAt"]
188
+ attrs["metadata"] = attributes["metadata"]
189
+ unless NAME_TO_TYPE.key?(attributes["type"])
190
+ fail(ArgumentError, "Invalid type `#{attributes["type"]}` expected on of #{NAME_TO_TYPE.keys}")
191
+ end
192
+
193
+ attrs["config"] = NAME_TO_TYPE[attributes["type"]].deserialize(attributes["config"] || {})
194
+ new(attrs)
195
+ end
196
+
197
+ def serialize
198
+ out = Hash.new
199
+ out["id"] = Svix::serialize_primitive(@id) unless @id.nil?
200
+ out["uid"] = Svix::serialize_primitive(@uid) unless @uid.nil?
201
+ out["status"] = Svix::serialize_schema_ref(@status) unless @status.nil?
202
+ out["currentIterator"] = Svix::serialize_primitive(@current_iterator) unless @current_iterator.nil?
203
+ out["failureReason"] = Svix::serialize_primitive(@failure_reason) unless @failure_reason.nil?
204
+ out["createdAt"] = Svix::serialize_primitive(@created_at) unless @created_at.nil?
205
+ out["updatedAt"] = Svix::serialize_primitive(@updated_at) unless @updated_at.nil?
206
+ out["batchSize"] = Svix::serialize_primitive(@batch_size) unless @batch_size.nil?
207
+ out["maxWaitSecs"] = Svix::serialize_primitive(@max_wait_secs) unless @max_wait_secs.nil?
208
+ out["eventTypes"] = Svix::serialize_primitive(@event_types) unless @event_types.nil?
209
+ out["channels"] = Svix::serialize_primitive(@channels) unless @channels.nil?
210
+ out["nextRetryAt"] = Svix::serialize_primitive(@next_retry_at) unless @next_retry_at.nil?
211
+ out["metadata"] = Svix::serialize_primitive(@metadata) unless @metadata.nil?
212
+ out["type"] = @__enum_discriminator
213
+ out["config"] = @config.serialize
214
+ out
215
+ end
216
+
217
+ # Serializes the object to a json string
218
+ # @return String
219
+ def to_json(*args)
220
+ serialize.to_json(*args)
221
+ end
222
+
223
+ end
224
+ end