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
@@ -0,0 +1,190 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ require_relative "./azure_blob_storage_config_patch"
6
+ require_relative "./big_query_config_patch"
7
+ require_relative "./clickhouse_config_patch"
8
+ require_relative "./destination_status_in"
9
+ require_relative "./event_bridge_config_patch"
10
+ require_relative "./google_cloud_pub_sub_config_patch"
11
+ require_relative "./google_cloud_storage_config_patch"
12
+ require_relative "./otel_tracing_config_patch"
13
+ require_relative "./postgres_config_patch"
14
+ require_relative "./rabbit_mq_config_patch"
15
+ require_relative "./redshift_config_patch"
16
+ require_relative "./s3_config_patch"
17
+ require_relative "./sink_http_config_patch"
18
+ require_relative "./snowflake_config_patch"
19
+ require_relative "./sns_config_patch"
20
+ require_relative "./sqs_config_patch"
21
+
22
+ module Svix
23
+ class DestinationPatchConfig
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 < AzureBlobStorageConfigPatch
41
+ end
42
+
43
+ class OtelTracing < OtelTracingConfigPatch
44
+ end
45
+
46
+ class FifoEndpoint < SinkHttpConfigPatch
47
+ end
48
+
49
+ class AmazonS3 < S3ConfigPatch
50
+ end
51
+
52
+ class GoogleCloudStorage < GoogleCloudStorageConfigPatch
53
+ end
54
+
55
+ class GoogleCloudPubSub < GoogleCloudPubSubConfigPatch
56
+ end
57
+
58
+ class Sqs < SqsConfigPatch
59
+ end
60
+
61
+ class Sns < SnsConfigPatch
62
+ end
63
+
64
+ class BigQuery < BigQueryConfigPatch
65
+ end
66
+
67
+ class Clickhouse < ClickhouseConfigPatch
68
+ end
69
+
70
+ class EventBridge < EventBridgeConfigPatch
71
+ end
72
+
73
+ class Snowflake < SnowflakeConfigPatch
74
+ end
75
+
76
+ class RabbitMq < RabbitMqConfigPatch
77
+ end
78
+
79
+ class Redshift < RedshiftConfigPatch
80
+ end
81
+
82
+ class Postgres < PostgresConfigPatch
83
+ end
84
+ end
85
+
86
+ class DestinationPatch
87
+ # The Destination's UID.
88
+ attr_accessor :uid
89
+ attr_accessor :status
90
+ attr_accessor :batch_size
91
+ attr_accessor :max_wait_secs
92
+ attr_accessor :event_types
93
+ attr_accessor :channels
94
+ attr_accessor :metadata
95
+ attr_accessor :config
96
+
97
+ ALL_FIELD ||= ["uid", "status", "batch_size", "max_wait_secs", "event_types", "channels", "metadata", "config"].freeze
98
+ private_constant :ALL_FIELD
99
+ TYPE_TO_NAME = {
100
+ DestinationPatchConfig::PollingEndpoint => "pollingEndpoint",
101
+ DestinationPatchConfig::AzureBlobStorage => "azureBlobStorage",
102
+ DestinationPatchConfig::OtelTracing => "otelTracing",
103
+ DestinationPatchConfig::FifoEndpoint => "fifoEndpoint",
104
+ DestinationPatchConfig::AmazonS3 => "amazonS3",
105
+ DestinationPatchConfig::GoogleCloudStorage => "googleCloudStorage",
106
+ DestinationPatchConfig::GoogleCloudPubSub => "googleCloudPubSub",
107
+ DestinationPatchConfig::Sqs => "sqs",
108
+ DestinationPatchConfig::Sns => "sns",
109
+ DestinationPatchConfig::BigQuery => "bigQuery",
110
+ DestinationPatchConfig::Clickhouse => "clickhouse",
111
+ DestinationPatchConfig::EventBridge => "eventBridge",
112
+ DestinationPatchConfig::Snowflake => "snowflake",
113
+ DestinationPatchConfig::RabbitMq => "rabbitMq",
114
+ DestinationPatchConfig::Redshift => "redshift",
115
+ DestinationPatchConfig::Postgres => "postgres"
116
+ }
117
+ private_constant :TYPE_TO_NAME
118
+ NAME_TO_TYPE = TYPE_TO_NAME.invert
119
+ private_constant :NAME_TO_TYPE
120
+
121
+ def initialize(attributes = {})
122
+ unless attributes.is_a?(Hash)
123
+ fail(
124
+ ArgumentError,
125
+ "The input argument (attributes) must be a hash in `Svix::DestinationPatch` new method"
126
+ )
127
+ end
128
+
129
+ attributes.each do |k, v|
130
+ unless ALL_FIELD.include?(k.to_s)
131
+ fail(ArgumentError, "The field #{k} is not part of Svix::DestinationPatch")
132
+ end
133
+
134
+ if k.to_s == "config"
135
+ unless TYPE_TO_NAME.key?(v.class)
136
+ fail(ArgumentError, "The field #{k} can't be a `#{v.class}` expected one of #{TYPE_TO_NAME.keys}")
137
+ end
138
+
139
+ instance_variable_set("@__enum_discriminator", TYPE_TO_NAME[v.class])
140
+ end
141
+
142
+ instance_variable_set("@#{k}", v)
143
+ instance_variable_set("@__#{k}_is_defined", true)
144
+ end
145
+
146
+ if @__enum_discriminator.nil?
147
+ fail(ArgumentError, "Required config field was not set")
148
+ end
149
+ end
150
+
151
+ def self.deserialize(attributes = {})
152
+ attributes = attributes.transform_keys(&:to_s)
153
+ attrs = Hash.new
154
+ attrs["uid"] = attributes["uid"]
155
+ attrs["status"] = Svix::DestinationStatusIn.deserialize(attributes["status"]) if attributes["status"]
156
+ attrs["batch_size"] = attributes["batchSize"]
157
+ attrs["max_wait_secs"] = attributes["maxWaitSecs"]
158
+ attrs["event_types"] = attributes["eventTypes"]
159
+ attrs["channels"] = attributes["channels"]
160
+ attrs["metadata"] = attributes["metadata"]
161
+ unless NAME_TO_TYPE.key?(attributes["type"])
162
+ fail(ArgumentError, "Invalid type `#{attributes["type"]}` expected on of #{NAME_TO_TYPE.keys}")
163
+ end
164
+
165
+ attrs["config"] = NAME_TO_TYPE[attributes["type"]].deserialize(attributes["config"] || {})
166
+ new(attrs)
167
+ end
168
+
169
+ def serialize
170
+ out = Hash.new
171
+ out["uid"] = Svix::serialize_primitive(@uid) if @__uid_is_defined
172
+ out["status"] = Svix::serialize_schema_ref(@status) if @__status_is_defined
173
+ out["batchSize"] = Svix::serialize_primitive(@batch_size) if @__batch_size_is_defined
174
+ out["maxWaitSecs"] = Svix::serialize_primitive(@max_wait_secs) if @__max_wait_secs_is_defined
175
+ out["eventTypes"] = Svix::serialize_primitive(@event_types) unless @event_types.nil?
176
+ out["channels"] = Svix::serialize_primitive(@channels) unless @channels.nil?
177
+ out["metadata"] = Svix::serialize_primitive(@metadata) unless @metadata.nil?
178
+ out["type"] = @__enum_discriminator
179
+ out["config"] = @config.serialize
180
+ out
181
+ end
182
+
183
+ # Serializes the object to a json string
184
+ # @return String
185
+ def to_json(*args)
186
+ serialize.to_json(*args)
187
+ end
188
+
189
+ end
190
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ module Svix
4
+ class DestinationStatus
5
+ ENABLED = "enabled".freeze
6
+ PAUSED = "paused".freeze
7
+ DISABLED = "disabled".freeze
8
+ RETRYING = "retrying".freeze
9
+
10
+ def self.all_vars
11
+ @all_vars ||= [ENABLED, PAUSED, DISABLED, RETRYING].freeze
12
+ end
13
+
14
+ def initialize(value)
15
+ unless DestinationStatus.all_vars.include?(value)
16
+ raise "Invalid ENUM value '#{value}' for class #DestinationStatus"
17
+ end
18
+
19
+ @value = value
20
+ end
21
+
22
+ def self.deserialize(value)
23
+ return value if DestinationStatus.all_vars.include?(value)
24
+ raise "Invalid ENUM value '#{value}' for class #DestinationStatus"
25
+ end
26
+
27
+ def serialize
28
+ @value
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ module Svix
4
+ class DestinationStatusIn
5
+ ENABLED = "enabled".freeze
6
+ DISABLED = "disabled".freeze
7
+
8
+ def self.all_vars
9
+ @all_vars ||= [ENABLED, DISABLED].freeze
10
+ end
11
+
12
+ def initialize(value)
13
+ unless DestinationStatusIn.all_vars.include?(value)
14
+ raise "Invalid ENUM value '#{value}' for class #DestinationStatusIn"
15
+ end
16
+
17
+ @value = value
18
+ end
19
+
20
+ def self.deserialize(value)
21
+ return value if DestinationStatusIn.all_vars.include?(value)
22
+ raise "Invalid ENUM value '#{value}' for class #DestinationStatusIn"
23
+ end
24
+
25
+ def serialize
26
+ @value
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module Svix
6
+ class DestinationTransformIn
7
+ attr_accessor :code
8
+
9
+ ALL_FIELD ||= ["code"].freeze
10
+ private_constant :ALL_FIELD
11
+
12
+ def initialize(attributes = {})
13
+ unless attributes.is_a?(Hash)
14
+ fail(
15
+ ArgumentError,
16
+ "The input argument (attributes) must be a hash in `Svix::DestinationTransformIn` new method"
17
+ )
18
+ end
19
+
20
+ attributes.each do |k, v|
21
+ unless ALL_FIELD.include?(k.to_s)
22
+ fail(ArgumentError, "The field #{k} is not part of Svix::DestinationTransformIn")
23
+ end
24
+
25
+ instance_variable_set("@#{k}", v)
26
+ instance_variable_set("@__#{k}_is_defined", true)
27
+ end
28
+ end
29
+
30
+ def self.deserialize(attributes = {})
31
+ attributes = attributes.transform_keys(&:to_s)
32
+ attrs = Hash.new
33
+ attrs["code"] = attributes["code"]
34
+ new(attrs)
35
+ end
36
+
37
+ def serialize
38
+ out = Hash.new
39
+ out["code"] = Svix::serialize_primitive(@code) unless @code.nil?
40
+ out
41
+ end
42
+
43
+ # Serializes the object to a json string
44
+ # @return String
45
+ def to_json(*args)
46
+ serialize.to_json(*args)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module Svix
6
+ class DestinationTransformationOut
7
+ attr_accessor :code
8
+ attr_accessor :enabled
9
+
10
+ ALL_FIELD ||= ["code", "enabled"].freeze
11
+ private_constant :ALL_FIELD
12
+
13
+ def initialize(attributes = {})
14
+ unless attributes.is_a?(Hash)
15
+ fail(
16
+ ArgumentError,
17
+ "The input argument (attributes) must be a hash in `Svix::DestinationTransformationOut` new method"
18
+ )
19
+ end
20
+
21
+ attributes.each do |k, v|
22
+ unless ALL_FIELD.include?(k.to_s)
23
+ fail(ArgumentError, "The field #{k} is not part of Svix::DestinationTransformationOut")
24
+ end
25
+
26
+ instance_variable_set("@#{k}", v)
27
+ instance_variable_set("@__#{k}_is_defined", true)
28
+ end
29
+ end
30
+
31
+ def self.deserialize(attributes = {})
32
+ attributes = attributes.transform_keys(&:to_s)
33
+ attrs = Hash.new
34
+ attrs["code"] = attributes["code"]
35
+ attrs["enabled"] = attributes["enabled"]
36
+ new(attrs)
37
+ end
38
+
39
+ def serialize
40
+ out = Hash.new
41
+ out["code"] = Svix::serialize_primitive(@code) unless @code.nil?
42
+ out["enabled"] = Svix::serialize_primitive(@enabled) unless @enabled.nil?
43
+ out
44
+ end
45
+
46
+ # Serializes the object to a json string
47
+ # @return String
48
+ def to_json(*args)
49
+ serialize.to_json(*args)
50
+ end
51
+ end
52
+ end
@@ -33,14 +33,14 @@ module Svix
33
33
 
34
34
  def serialize
35
35
  out = Hash.new
36
- out["secret"] = Svix::serialize_primitive(@secret) if @secret
36
+ out["secret"] = Svix::serialize_primitive(@secret) unless @secret.nil?
37
37
  out
38
38
  end
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
@@ -36,8 +36,8 @@ module Svix
36
36
 
37
37
  # Serializes the object to a json string
38
38
  # @return String
39
- def to_json
40
- JSON.dump(serialize)
39
+ def to_json(*args)
40
+ serialize.to_json(*args)
41
41
  end
42
42
  end
43
43
  end
@@ -33,14 +33,14 @@ module Svix
33
33
 
34
34
  def serialize
35
35
  out = Hash.new
36
- out["secret"] = Svix::serialize_primitive(@secret) if @secret
36
+ out["secret"] = Svix::serialize_primitive(@secret) unless @secret.nil?
37
37
  out
38
38
  end
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
@@ -36,8 +36,8 @@ module Svix
36
36
 
37
37
  # Serializes the object to a json string
38
38
  # @return String
39
- def to_json
40
- JSON.dump(serialize)
39
+ def to_json(*args)
40
+ serialize.to_json(*args)
41
41
  end
42
42
  end
43
43
  end
@@ -36,8 +36,8 @@ module Svix
36
36
 
37
37
  # Serializes the object to a json string
38
38
  # @return String
39
- def to_json
40
- JSON.dump(serialize)
39
+ def to_json(*args)
40
+ serialize.to_json(*args)
41
41
  end
42
42
  end
43
43
  end
@@ -33,14 +33,14 @@ module Svix
33
33
 
34
34
  def serialize
35
35
  out = Hash.new
36
- out["headers"] = Svix::serialize_primitive(@headers) if @headers
36
+ out["headers"] = Svix::serialize_primitive(@headers) unless @headers.nil?
37
37
  out
38
38
  end
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
@@ -38,15 +38,15 @@ module Svix
38
38
 
39
39
  def serialize
40
40
  out = Hash.new
41
- out["headers"] = Svix::serialize_primitive(@headers) if @headers
42
- out["sensitive"] = Svix::serialize_primitive(@sensitive) if @sensitive
41
+ out["headers"] = Svix::serialize_primitive(@headers) unless @headers.nil?
42
+ out["sensitive"] = Svix::serialize_primitive(@sensitive) unless @sensitive.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,15 +39,15 @@ module Svix
39
39
 
40
40
  def serialize
41
41
  out = Hash.new
42
- out["headers"] = Svix::serialize_primitive(@headers) if @headers
43
- out["deleteHeaders"] = Svix::serialize_primitive(@delete_headers) if @delete_headers
42
+ out["headers"] = Svix::serialize_primitive(@headers) unless @headers.nil?
43
+ out["deleteHeaders"] = Svix::serialize_primitive(@delete_headers) unless @delete_headers.nil?
44
44
  out
45
45
  end
46
46
 
47
47
  # Serializes the object to a json string
48
48
  # @return String
49
- def to_json
50
- JSON.dump(serialize)
49
+ def to_json(*args)
50
+ serialize.to_json(*args)
51
51
  end
52
52
  end
53
53
  end
@@ -71,23 +71,23 @@ module Svix
71
71
 
72
72
  def serialize
73
73
  out = Hash.new
74
- out["url"] = Svix::serialize_primitive(@url) if @url
75
- out["description"] = Svix::serialize_primitive(@description) if @description
76
- out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @throttle_rate
77
- out["uid"] = Svix::serialize_primitive(@uid) if @uid
78
- out["disabled"] = Svix::serialize_primitive(@disabled) if @disabled
79
- out["eventTypes"] = Svix::serialize_primitive(@event_types) if @event_types
80
- out["channels"] = Svix::serialize_primitive(@channels) if @channels
81
- out["secret"] = Svix::serialize_primitive(@secret) if @secret
82
- out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
83
- out["headers"] = Svix::serialize_primitive(@headers) if @headers
74
+ out["url"] = Svix::serialize_primitive(@url) unless @url.nil?
75
+ out["description"] = Svix::serialize_primitive(@description) unless @description.nil?
76
+ out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) unless @throttle_rate.nil?
77
+ out["uid"] = Svix::serialize_primitive(@uid) unless @uid.nil?
78
+ out["disabled"] = Svix::serialize_primitive(@disabled) unless @disabled.nil?
79
+ out["eventTypes"] = Svix::serialize_primitive(@event_types) unless @event_types.nil?
80
+ out["channels"] = Svix::serialize_primitive(@channels) unless @channels.nil?
81
+ out["secret"] = Svix::serialize_primitive(@secret) unless @secret.nil?
82
+ out["metadata"] = Svix::serialize_primitive(@metadata) unless @metadata.nil?
83
+ out["headers"] = Svix::serialize_primitive(@headers) unless @headers.nil?
84
84
  out
85
85
  end
86
86
 
87
87
  # Serializes the object to a json string
88
88
  # @return String
89
- def to_json
90
- JSON.dump(serialize)
89
+ def to_json(*args)
90
+ serialize.to_json(*args)
91
91
  end
92
92
  end
93
93
  end
@@ -70,24 +70,24 @@ module Svix
70
70
 
71
71
  def serialize
72
72
  out = Hash.new
73
- out["status"] = Svix::serialize_schema_ref(@status) if @status
74
- out["statusText"] = Svix::serialize_schema_ref(@status_text) if @status_text
75
- out["nextAttempt"] = Svix::serialize_primitive(@next_attempt) if @next_attempt
76
- out["eventId"] = Svix::serialize_primitive(@event_id) if @event_id
77
- out["eventType"] = Svix::serialize_primitive(@event_type) if @event_type
78
- out["payload"] = Svix::serialize_primitive(@payload) if @payload
79
- out["channels"] = Svix::serialize_primitive(@channels) if @channels
80
- out["id"] = Svix::serialize_primitive(@id) if @id
81
- out["timestamp"] = Svix::serialize_primitive(@timestamp) if @timestamp
82
- out["tags"] = Svix::serialize_primitive(@tags) if @tags
83
- out["deliverAt"] = Svix::serialize_primitive(@deliver_at) if @deliver_at
73
+ out["status"] = Svix::serialize_schema_ref(@status) unless @status.nil?
74
+ out["statusText"] = Svix::serialize_schema_ref(@status_text) unless @status_text.nil?
75
+ out["nextAttempt"] = Svix::serialize_primitive(@next_attempt) unless @next_attempt.nil?
76
+ out["eventId"] = Svix::serialize_primitive(@event_id) unless @event_id.nil?
77
+ out["eventType"] = Svix::serialize_primitive(@event_type) unless @event_type.nil?
78
+ out["payload"] = Svix::serialize_primitive(@payload) unless @payload.nil?
79
+ out["channels"] = Svix::serialize_primitive(@channels) unless @channels.nil?
80
+ out["id"] = Svix::serialize_primitive(@id) unless @id.nil?
81
+ out["timestamp"] = Svix::serialize_primitive(@timestamp) unless @timestamp.nil?
82
+ out["tags"] = Svix::serialize_primitive(@tags) unless @tags.nil?
83
+ out["deliverAt"] = Svix::serialize_primitive(@deliver_at) unless @deliver_at.nil?
84
84
  out
85
85
  end
86
86
 
87
87
  # Serializes the object to a json string
88
88
  # @return String
89
- def to_json
90
- JSON.dump(serialize)
89
+ def to_json(*args)
90
+ serialize.to_json(*args)
91
91
  end
92
92
  end
93
93
  end
@@ -71,24 +71,24 @@ module Svix
71
71
 
72
72
  def serialize
73
73
  out = Hash.new
74
- out["id"] = Svix::serialize_primitive(@id) if @id
75
- out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
76
- out["url"] = Svix::serialize_primitive(@url) if @url
77
- out["description"] = Svix::serialize_primitive(@description) if @description
78
- out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @throttle_rate
79
- out["uid"] = Svix::serialize_primitive(@uid) if @uid
80
- out["disabled"] = Svix::serialize_primitive(@disabled) if @disabled
81
- out["eventTypes"] = Svix::serialize_primitive(@event_types) if @event_types
82
- out["channels"] = Svix::serialize_primitive(@channels) if @channels
83
- out["createdAt"] = Svix::serialize_primitive(@created_at) if @created_at
84
- out["updatedAt"] = Svix::serialize_primitive(@updated_at) if @updated_at
74
+ out["id"] = Svix::serialize_primitive(@id) unless @id.nil?
75
+ out["metadata"] = Svix::serialize_primitive(@metadata) unless @metadata.nil?
76
+ out["url"] = Svix::serialize_primitive(@url) unless @url.nil?
77
+ out["description"] = Svix::serialize_primitive(@description) unless @description.nil?
78
+ out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) unless @throttle_rate.nil?
79
+ out["uid"] = Svix::serialize_primitive(@uid) unless @uid.nil?
80
+ out["disabled"] = Svix::serialize_primitive(@disabled) unless @disabled.nil?
81
+ out["eventTypes"] = Svix::serialize_primitive(@event_types) unless @event_types.nil?
82
+ out["channels"] = Svix::serialize_primitive(@channels) unless @channels.nil?
83
+ out["createdAt"] = Svix::serialize_primitive(@created_at) unless @created_at.nil?
84
+ out["updatedAt"] = Svix::serialize_primitive(@updated_at) unless @updated_at.nil?
85
85
  out
86
86
  end
87
87
 
88
88
  # Serializes the object to a json string
89
89
  # @return String
90
- def to_json
91
- JSON.dump(serialize)
90
+ def to_json(*args)
91
+ serialize.to_json(*args)
92
92
  end
93
93
  end
94
94
  end
@@ -51,21 +51,21 @@ module Svix
51
51
 
52
52
  def serialize
53
53
  out = Hash.new
54
- out["description"] = Svix::serialize_primitive(@description) if @description
54
+ out["description"] = Svix::serialize_primitive(@description) unless @description.nil?
55
55
  out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @__throttle_rate_is_defined
56
56
  out["uid"] = Svix::serialize_primitive(@uid) if @__uid_is_defined
57
- out["url"] = Svix::serialize_primitive(@url) if @url
57
+ out["url"] = Svix::serialize_primitive(@url) unless @url.nil?
58
58
  out["disabled"] = Svix::serialize_primitive(@disabled) unless @disabled.nil?
59
59
  out["eventTypes"] = Svix::serialize_primitive(@event_types) if @__event_types_is_defined
60
60
  out["channels"] = Svix::serialize_primitive(@channels) if @__channels_is_defined
61
- out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
61
+ out["metadata"] = Svix::serialize_primitive(@metadata) unless @metadata.nil?
62
62
  out
63
63
  end
64
64
 
65
65
  # Serializes the object to a json string
66
66
  # @return String
67
- def to_json
68
- JSON.dump(serialize)
67
+ def to_json(*args)
68
+ serialize.to_json(*args)
69
69
  end
70
70
  end
71
71
  end
@@ -37,14 +37,14 @@ module Svix
37
37
 
38
38
  def serialize
39
39
  out = Hash.new
40
- out["key"] = Svix::serialize_primitive(@key) if @key
40
+ out["key"] = Svix::serialize_primitive(@key) unless @key.nil?
41
41
  out
42
42
  end
43
43
 
44
44
  # Serializes the object to a json string
45
45
  # @return String
46
- def to_json
47
- JSON.dump(serialize)
46
+ def to_json(*args)
47
+ serialize.to_json(*args)
48
48
  end
49
49
  end
50
50
  end
@@ -45,15 +45,15 @@ module Svix
45
45
 
46
46
  def serialize
47
47
  out = Hash.new
48
- out["key"] = Svix::serialize_primitive(@key) if @key
49
- out["gracePeriodSeconds"] = Svix::serialize_primitive(@grace_period_seconds) if @grace_period_seconds
48
+ out["key"] = Svix::serialize_primitive(@key) unless @key.nil?
49
+ out["gracePeriodSeconds"] = Svix::serialize_primitive(@grace_period_seconds) unless @grace_period_seconds.nil?
50
50
  out
51
51
  end
52
52
 
53
53
  # Serializes the object to a json string
54
54
  # @return String
55
- def to_json
56
- JSON.dump(serialize)
55
+ def to_json(*args)
56
+ serialize.to_json(*args)
57
57
  end
58
58
  end
59
59
  end