rocket_stack_sdk 1.0.3 → 1.0.5

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 (170) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +31 -13
  3. data/docs/CreateCronJob201ResponseData.md +3 -1
  4. data/docs/CreateCronJobRequestDeliveryTarget.md +9 -9
  5. data/docs/CreateCronJobRequestDeliveryTargetAnyOf.md +30 -0
  6. data/docs/CreateCronJobRequestDeliveryTargetAnyOf1.md +30 -0
  7. data/docs/CreateCronJobRequestSchedule.md +1 -1
  8. data/docs/CreateDownloadUrlRequest.md +1 -1
  9. data/docs/CreateQueueRequestDeliveryTarget.md +9 -9
  10. data/docs/CreateQueueRequestDeliveryTargetAnyOf.md +30 -0
  11. data/docs/CreateQueueRequestDeliveryTargetAnyOf1.md +30 -0
  12. data/docs/CreateScheduleRequest.md +1 -1
  13. data/docs/CronApi.md +85 -7
  14. data/docs/DeleteCronJob200Response.md +22 -0
  15. data/docs/DeleteCronJob200ResponseData.md +20 -0
  16. data/docs/FinalizeUploadRequest.md +1 -1
  17. data/docs/FunctionsApi.md +72 -2
  18. data/docs/GetFunctionCode200Response.md +22 -0
  19. data/docs/GetFunctionCode200ResponseData.md +28 -0
  20. data/docs/GetFunctionCode200ResponseDataFilesInner.md +20 -0
  21. data/docs/GetMessageStatus200Response.md +1 -1
  22. data/docs/GetMessageStatus200ResponseData.md +2 -2
  23. data/docs/InvokeFunctionRequest.md +2 -2
  24. data/docs/KvApi.md +26 -26
  25. data/docs/ListCronInvocations200Response.md +22 -0
  26. data/docs/ListCronInvocations200ResponseData.md +20 -0
  27. data/docs/ListCronInvocations200ResponseDataItemsInner.md +42 -0
  28. data/docs/ListQueueMessages200Response.md +22 -0
  29. data/docs/ListQueueMessages200ResponseData.md +20 -0
  30. data/docs/ListQueueMessages200ResponseDataItemsInner.md +32 -0
  31. data/docs/PutKvItemRequest.md +3 -3
  32. data/docs/QueuesApi.md +80 -2
  33. data/docs/ResourcesApi.md +1 -1
  34. data/docs/SchedulerApi.md +81 -3
  35. data/docs/StorageApi.md +5 -5
  36. data/docs/UpdateCronJobRequestSchedule.md +1 -1
  37. data/docs/UpdateScheduleRequest.md +1 -1
  38. data/lib/rocket_stack_sdk/api/cron_api.rb +92 -8
  39. data/lib/rocket_stack_sdk/api/functions_api.rb +68 -5
  40. data/lib/rocket_stack_sdk/api/kv_api.rb +38 -50
  41. data/lib/rocket_stack_sdk/api/queues_api.rb +89 -5
  42. data/lib/rocket_stack_sdk/api/resources_api.rb +3 -3
  43. data/lib/rocket_stack_sdk/api/scheduler_api.rb +89 -5
  44. data/lib/rocket_stack_sdk/api/storage_api.rb +9 -9
  45. data/lib/rocket_stack_sdk/api_client.rb +3 -3
  46. data/lib/rocket_stack_sdk/api_error.rb +3 -3
  47. data/lib/rocket_stack_sdk/api_model_base.rb +3 -3
  48. data/lib/rocket_stack_sdk/configuration.rb +5 -5
  49. data/lib/rocket_stack_sdk/models/create_cron_job201_response.rb +3 -3
  50. data/lib/rocket_stack_sdk/models/create_cron_job201_response_data.rb +33 -7
  51. data/lib/rocket_stack_sdk/models/create_cron_job_request.rb +3 -3
  52. data/lib/rocket_stack_sdk/models/create_cron_job_request_delivery_target.rb +79 -319
  53. data/lib/rocket_stack_sdk/models/create_cron_job_request_delivery_target_any_of.rb +351 -0
  54. data/lib/rocket_stack_sdk/models/create_cron_job_request_delivery_target_any_of1.rb +351 -0
  55. data/lib/rocket_stack_sdk/models/create_cron_job_request_schedule.rb +3 -5
  56. data/lib/rocket_stack_sdk/models/create_download_url200_response.rb +3 -3
  57. data/lib/rocket_stack_sdk/models/create_download_url200_response_data.rb +3 -3
  58. data/lib/rocket_stack_sdk/models/create_download_url_request.rb +4 -3
  59. data/lib/rocket_stack_sdk/models/create_function202_response.rb +3 -3
  60. data/lib/rocket_stack_sdk/models/create_function202_response_data.rb +3 -3
  61. data/lib/rocket_stack_sdk/models/create_queue201_response.rb +3 -3
  62. data/lib/rocket_stack_sdk/models/create_queue201_response_data.rb +3 -3
  63. data/lib/rocket_stack_sdk/models/create_queue_request.rb +3 -3
  64. data/lib/rocket_stack_sdk/models/create_queue_request_delivery_target.rb +79 -319
  65. data/lib/rocket_stack_sdk/models/create_queue_request_delivery_target_any_of.rb +351 -0
  66. data/lib/rocket_stack_sdk/models/create_queue_request_delivery_target_any_of1.rb +351 -0
  67. data/lib/rocket_stack_sdk/models/create_schedule201_response.rb +3 -3
  68. data/lib/rocket_stack_sdk/models/create_schedule201_response_data.rb +3 -3
  69. data/lib/rocket_stack_sdk/models/create_schedule_request.rb +4 -3
  70. data/lib/rocket_stack_sdk/models/delete_cron_job200_response.rb +182 -0
  71. data/lib/rocket_stack_sdk/models/delete_cron_job200_response_data.rb +190 -0
  72. data/lib/rocket_stack_sdk/models/delete_kv_item200_response.rb +3 -3
  73. data/lib/rocket_stack_sdk/models/delete_kv_item200_response_data.rb +3 -3
  74. data/lib/rocket_stack_sdk/models/enqueue_message201_response.rb +3 -3
  75. data/lib/rocket_stack_sdk/models/enqueue_message201_response_data.rb +3 -3
  76. data/lib/rocket_stack_sdk/models/enqueue_message_request.rb +3 -3
  77. data/lib/rocket_stack_sdk/models/finalize_upload200_response.rb +3 -3
  78. data/lib/rocket_stack_sdk/models/finalize_upload200_response_data.rb +3 -3
  79. data/lib/rocket_stack_sdk/models/finalize_upload_request.rb +4 -3
  80. data/lib/rocket_stack_sdk/models/get_cron_job200_response.rb +3 -3
  81. data/lib/rocket_stack_sdk/models/get_function200_response.rb +3 -3
  82. data/lib/rocket_stack_sdk/models/get_function_code200_response.rb +182 -0
  83. data/lib/rocket_stack_sdk/models/get_function_code200_response_data.rb +290 -0
  84. data/lib/rocket_stack_sdk/models/get_function_code200_response_data_files_inner.rb +190 -0
  85. data/lib/rocket_stack_sdk/models/get_kv_item200_response.rb +3 -3
  86. data/lib/rocket_stack_sdk/models/get_kv_item200_response_data.rb +3 -3
  87. data/lib/rocket_stack_sdk/models/get_message_status200_response.rb +4 -4
  88. data/lib/rocket_stack_sdk/models/get_message_status200_response_data.rb +3 -3
  89. data/lib/rocket_stack_sdk/models/get_queue200_response.rb +3 -3
  90. data/lib/rocket_stack_sdk/models/get_schedule200_response.rb +3 -3
  91. data/lib/rocket_stack_sdk/models/get_schedule_status200_response.rb +3 -3
  92. data/lib/rocket_stack_sdk/models/get_schedule_status200_response_data.rb +3 -3
  93. data/lib/rocket_stack_sdk/models/get_template200_response.rb +3 -3
  94. data/lib/rocket_stack_sdk/models/invoke_function200_response.rb +3 -3
  95. data/lib/rocket_stack_sdk/models/invoke_function200_response_data.rb +3 -3
  96. data/lib/rocket_stack_sdk/models/invoke_function_request.rb +3 -7
  97. data/lib/rocket_stack_sdk/models/list_capabilities200_response.rb +3 -3
  98. data/lib/rocket_stack_sdk/models/list_capabilities200_response_data_inner.rb +3 -3
  99. data/lib/rocket_stack_sdk/models/list_cron_invocations200_response.rb +182 -0
  100. data/lib/rocket_stack_sdk/models/list_cron_invocations200_response_data.rb +176 -0
  101. data/lib/rocket_stack_sdk/models/list_cron_invocations200_response_data_items_inner.rb +347 -0
  102. data/lib/rocket_stack_sdk/models/list_cron_jobs200_response.rb +3 -3
  103. data/lib/rocket_stack_sdk/models/list_cron_jobs200_response_data.rb +3 -3
  104. data/lib/rocket_stack_sdk/models/list_cron_jobs200_response_data_items_inner.rb +3 -3
  105. data/lib/rocket_stack_sdk/models/list_cron_jobs200_response_data_items_inner_schedule.rb +3 -3
  106. data/lib/rocket_stack_sdk/models/list_functions200_response.rb +3 -3
  107. data/lib/rocket_stack_sdk/models/list_functions200_response_data.rb +3 -3
  108. data/lib/rocket_stack_sdk/models/list_functions200_response_data_items_inner.rb +3 -3
  109. data/lib/rocket_stack_sdk/models/list_functions200_response_data_items_inner_actual_spec.rb +3 -3
  110. data/lib/rocket_stack_sdk/models/list_functions200_response_data_items_inner_desired_spec.rb +3 -3
  111. data/lib/rocket_stack_sdk/models/list_functions200_response_data_items_inner_desired_spec_code.rb +3 -3
  112. data/lib/rocket_stack_sdk/models/list_functions200_response_error.rb +3 -3
  113. data/lib/rocket_stack_sdk/models/list_functions401_response.rb +3 -3
  114. data/lib/rocket_stack_sdk/models/list_kv_items200_response.rb +3 -3
  115. data/lib/rocket_stack_sdk/models/list_kv_items200_response_data.rb +3 -3
  116. data/lib/rocket_stack_sdk/models/list_kv_items200_response_data_items_inner.rb +3 -3
  117. data/lib/rocket_stack_sdk/models/list_queue_messages200_response.rb +182 -0
  118. data/lib/rocket_stack_sdk/models/list_queue_messages200_response_data.rb +176 -0
  119. data/lib/rocket_stack_sdk/models/list_queue_messages200_response_data_items_inner.rb +312 -0
  120. data/lib/rocket_stack_sdk/models/list_queues200_response.rb +3 -3
  121. data/lib/rocket_stack_sdk/models/list_queues200_response_data.rb +3 -3
  122. data/lib/rocket_stack_sdk/models/list_queues200_response_data_items_inner.rb +3 -3
  123. data/lib/rocket_stack_sdk/models/list_queues200_response_data_items_inner_delivery_target.rb +3 -3
  124. data/lib/rocket_stack_sdk/models/list_schedules200_response.rb +3 -3
  125. data/lib/rocket_stack_sdk/models/list_schedules200_response_data.rb +3 -3
  126. data/lib/rocket_stack_sdk/models/list_schedules200_response_data_items_inner.rb +3 -3
  127. data/lib/rocket_stack_sdk/models/list_snippets200_response.rb +3 -3
  128. data/lib/rocket_stack_sdk/models/list_snippets200_response_data_inner.rb +3 -3
  129. data/lib/rocket_stack_sdk/models/list_storage_objects200_response.rb +3 -3
  130. data/lib/rocket_stack_sdk/models/list_storage_objects200_response_data.rb +3 -3
  131. data/lib/rocket_stack_sdk/models/list_storage_objects200_response_data_items_inner.rb +3 -3
  132. data/lib/rocket_stack_sdk/models/list_templates200_response.rb +3 -3
  133. data/lib/rocket_stack_sdk/models/list_templates200_response_data_inner.rb +3 -3
  134. data/lib/rocket_stack_sdk/models/put_kv_item200_response.rb +3 -3
  135. data/lib/rocket_stack_sdk/models/put_kv_item200_response_data.rb +3 -3
  136. data/lib/rocket_stack_sdk/models/put_kv_item_request.rb +7 -4
  137. data/lib/rocket_stack_sdk/models/put_kv_item_request_if_version.rb +4 -3
  138. data/lib/rocket_stack_sdk/models/update_cron_job200_response.rb +3 -3
  139. data/lib/rocket_stack_sdk/models/update_cron_job200_response_data.rb +3 -3
  140. data/lib/rocket_stack_sdk/models/update_cron_job_request.rb +3 -3
  141. data/lib/rocket_stack_sdk/models/update_cron_job_request_schedule.rb +3 -5
  142. data/lib/rocket_stack_sdk/models/update_function_request.rb +3 -3
  143. data/lib/rocket_stack_sdk/models/update_queue200_response.rb +3 -3
  144. data/lib/rocket_stack_sdk/models/update_queue200_response_data.rb +3 -3
  145. data/lib/rocket_stack_sdk/models/update_queue_request.rb +3 -3
  146. data/lib/rocket_stack_sdk/models/update_schedule200_response.rb +3 -3
  147. data/lib/rocket_stack_sdk/models/update_schedule200_response_data.rb +3 -3
  148. data/lib/rocket_stack_sdk/models/update_schedule_request.rb +4 -3
  149. data/lib/rocket_stack_sdk/models/upload_object201_response.rb +3 -3
  150. data/lib/rocket_stack_sdk/models/upload_object201_response_data.rb +3 -3
  151. data/lib/rocket_stack_sdk/version.rb +4 -4
  152. data/lib/rocket_stack_sdk.rb +18 -4
  153. data/rocket_stack_sdk.gemspec +5 -5
  154. data/spec/models/create_cron_job_request_delivery_target_any_of1_spec.rb +76 -0
  155. data/spec/models/create_cron_job_request_delivery_target_any_of_spec.rb +76 -0
  156. data/spec/models/create_queue_request_delivery_target_any_of1_spec.rb +76 -0
  157. data/spec/models/create_queue_request_delivery_target_any_of_spec.rb +76 -0
  158. data/spec/models/delete_cron_job200_response_data_spec.rb +42 -0
  159. data/spec/models/delete_cron_job200_response_spec.rb +48 -0
  160. data/spec/models/get_function_code200_response_data_files_inner_spec.rb +42 -0
  161. data/spec/models/get_function_code200_response_data_spec.rb +74 -0
  162. data/spec/models/get_function_code200_response_spec.rb +48 -0
  163. data/spec/models/list_cron_invocations200_response_data_items_inner_spec.rb +112 -0
  164. data/spec/models/list_cron_invocations200_response_data_spec.rb +42 -0
  165. data/spec/models/list_cron_invocations200_response_spec.rb +48 -0
  166. data/spec/models/list_queue_messages200_response_data_items_inner_spec.rb +78 -0
  167. data/spec/models/list_queue_messages200_response_data_spec.rb +42 -0
  168. data/spec/models/list_queue_messages200_response_spec.rb +48 -0
  169. data/spec/spec_helper.rb +3 -3
  170. metadata +141 -81
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -101,8 +101,6 @@ module RocketStackSdk
101
101
 
102
102
  if attributes.key?(:'format')
103
103
  self.format = attributes[:'format']
104
- else
105
- self.format = 'unix5'
106
104
  end
107
105
 
108
106
  if attributes.key?(:'timezone')
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -15,6 +15,7 @@ require 'time'
15
15
 
16
16
  module RocketStackSdk
17
17
  class CreateDownloadUrlRequest < ApiModelBase
18
+ # Object path without leading slash. Segments: letters, digits, dots, underscores, hyphens only.
18
19
  attr_accessor :path
19
20
 
20
21
  attr_accessor :expires_in_seconds
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Rocketstack API
2
+ #Rocketstack Control Plane API
3
3
 
4
- #API for Functions, Queues, KV, Storage, Cron, and Scheduler.
4
+ #Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.
5
5
 
6
- The version of the OpenAPI document: 1.0.3
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.19.0
@@ -14,330 +14,90 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module RocketStackSdk
17
- class CreateQueueRequestDeliveryTarget < ApiModelBase
18
- attr_accessor :type
19
-
20
- attr_accessor :function_id
21
-
22
- attr_accessor :webhook_url
23
-
24
- attr_accessor :webhook_headers
25
-
26
- attr_accessor :timeout_seconds
27
-
28
- attr_accessor :max_in_flight
29
-
30
- attr_accessor :max_per_second
31
-
32
- attr_accessor :retryable_status_codes
33
-
34
- class EnumAttributeValidator
35
- attr_reader :datatype
36
- attr_reader :allowable_values
37
-
38
- def initialize(datatype, allowable_values)
39
- @allowable_values = allowable_values.map do |value|
40
- case datatype.to_s
41
- when /Integer/i
42
- value.to_i
43
- when /Float/i
44
- value.to_f
45
- else
46
- value
17
+ module CreateQueueRequestDeliveryTarget
18
+ class << self
19
+ # List of class defined in anyOf (OpenAPI v3)
20
+ def openapi_any_of
21
+ [
22
+ :'CreateQueueRequestDeliveryTargetAnyOf',
23
+ :'CreateQueueRequestDeliveryTargetAnyOf1'
24
+ ]
25
+ end
26
+
27
+ # Builds the object
28
+ # @param [Mixed] Data to be matched against the list of anyOf items
29
+ # @return [Object] Returns the model or the data itself
30
+ def build(data)
31
+ # Go through the list of anyOf items and attempt to identify the appropriate one.
32
+ # Note:
33
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
34
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
35
+ # - TODO: scalar values are de facto behaving as if they were nullable.
36
+ # - TODO: logging when debugging is set.
37
+ openapi_any_of.each do |klass|
38
+ begin
39
+ next if klass == :AnyType # "nullable: true"
40
+ return find_and_cast_into_type(klass, data)
41
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
47
42
  end
48
43
  end
49
- end
50
-
51
- def valid?(value)
52
- !value || allowable_values.include?(value)
53
- end
54
- end
55
-
56
- # Attribute mapping from ruby-style variable name to JSON key.
57
- def self.attribute_map
58
- {
59
- :'type' => :'type',
60
- :'function_id' => :'functionId',
61
- :'webhook_url' => :'webhookUrl',
62
- :'webhook_headers' => :'webhookHeaders',
63
- :'timeout_seconds' => :'timeoutSeconds',
64
- :'max_in_flight' => :'maxInFlight',
65
- :'max_per_second' => :'maxPerSecond',
66
- :'retryable_status_codes' => :'retryableStatusCodes'
67
- }
68
- end
69
-
70
- # Returns attribute mapping this model knows about
71
- def self.acceptable_attribute_map
72
- attribute_map
73
- end
74
-
75
- # Returns all the JSON keys this model knows about
76
- def self.acceptable_attributes
77
- acceptable_attribute_map.values
78
- end
79
-
80
- # Attribute type mapping.
81
- def self.openapi_types
82
- {
83
- :'type' => :'String',
84
- :'function_id' => :'String',
85
- :'webhook_url' => :'String',
86
- :'webhook_headers' => :'Hash<String, String>',
87
- :'timeout_seconds' => :'Float',
88
- :'max_in_flight' => :'Float',
89
- :'max_per_second' => :'Float',
90
- :'retryable_status_codes' => :'Array<Float>'
91
- }
92
- end
93
-
94
- # List of attributes with nullable: true
95
- def self.openapi_nullable
96
- Set.new([
97
- ])
98
- end
99
-
100
- # Initializes the object
101
- # @param [Hash] attributes Model attributes in the form of hash
102
- def initialize(attributes = {})
103
- if (!attributes.is_a?(Hash))
104
- fail ArgumentError, "The input argument (attributes) must be a hash in `RocketStackSdk::CreateQueueRequestDeliveryTarget` initialize method"
105
- end
106
-
107
- # check to see if the attribute exists and convert string to symbol for hash key
108
- acceptable_attribute_map = self.class.acceptable_attribute_map
109
- attributes = attributes.each_with_object({}) { |(k, v), h|
110
- if (!acceptable_attribute_map.key?(k.to_sym))
111
- fail ArgumentError, "`#{k}` is not a valid attribute in `RocketStackSdk::CreateQueueRequestDeliveryTarget`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
112
- end
113
- h[k.to_sym] = v
114
- }
115
-
116
- if attributes.key?(:'type')
117
- self.type = attributes[:'type']
118
- else
119
- self.type = nil
120
- end
121
-
122
- if attributes.key?(:'function_id')
123
- self.function_id = attributes[:'function_id']
124
- end
125
-
126
- if attributes.key?(:'webhook_url')
127
- self.webhook_url = attributes[:'webhook_url']
128
- end
129
-
130
- if attributes.key?(:'webhook_headers')
131
- if (value = attributes[:'webhook_headers']).is_a?(Hash)
132
- self.webhook_headers = value
133
- end
134
- end
135
-
136
- if attributes.key?(:'timeout_seconds')
137
- self.timeout_seconds = attributes[:'timeout_seconds']
138
- else
139
- self.timeout_seconds = 10
140
- end
141
-
142
- if attributes.key?(:'max_in_flight')
143
- self.max_in_flight = attributes[:'max_in_flight']
144
- else
145
- self.max_in_flight = 10
146
- end
147
-
148
- if attributes.key?(:'max_per_second')
149
- self.max_per_second = attributes[:'max_per_second']
150
- end
151
-
152
- if attributes.key?(:'retryable_status_codes')
153
- if (value = attributes[:'retryable_status_codes']).is_a?(Array)
154
- self.retryable_status_codes = value
155
- end
156
- end
157
- end
158
-
159
- # Show invalid properties with the reasons. Usually used together with valid?
160
- # @return Array for valid properties with the reasons
161
- def list_invalid_properties
162
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
163
- invalid_properties = Array.new
164
- if @type.nil?
165
- invalid_properties.push('invalid value for "type", type cannot be nil.')
166
- end
167
-
168
- if !@timeout_seconds.nil? && @timeout_seconds > 30
169
- invalid_properties.push('invalid value for "timeout_seconds", must be smaller than or equal to 30.')
170
- end
171
-
172
- if !@timeout_seconds.nil? && @timeout_seconds < 1
173
- invalid_properties.push('invalid value for "timeout_seconds", must be greater than or equal to 1.')
174
- end
175
44
 
176
- if !@max_in_flight.nil? && @max_in_flight > 100
177
- invalid_properties.push('invalid value for "max_in_flight", must be smaller than or equal to 100.')
178
- end
179
-
180
- if !@max_in_flight.nil? && @max_in_flight < 1
181
- invalid_properties.push('invalid value for "max_in_flight", must be greater than or equal to 1.')
182
- end
183
-
184
- if !@max_per_second.nil? && @max_per_second > 1000
185
- invalid_properties.push('invalid value for "max_per_second", must be smaller than or equal to 1000.')
186
- end
187
-
188
- if !@max_per_second.nil? && @max_per_second < 1
189
- invalid_properties.push('invalid value for "max_per_second", must be greater than or equal to 1.')
190
- end
191
-
192
- invalid_properties
193
- end
194
-
195
- # Check to see if the all the properties in the model are valid
196
- # @return true if the model is valid
197
- def valid?
198
- warn '[DEPRECATED] the `valid?` method is obsolete'
199
- return false if @type.nil?
200
- type_validator = EnumAttributeValidator.new('String', ["function", "webhook"])
201
- return false unless type_validator.valid?(@type)
202
- return false if !@timeout_seconds.nil? && @timeout_seconds > 30
203
- return false if !@timeout_seconds.nil? && @timeout_seconds < 1
204
- return false if !@max_in_flight.nil? && @max_in_flight > 100
205
- return false if !@max_in_flight.nil? && @max_in_flight < 1
206
- return false if !@max_per_second.nil? && @max_per_second > 1000
207
- return false if !@max_per_second.nil? && @max_per_second < 1
208
- true
209
- end
210
-
211
- # Custom attribute writer method checking allowed values (enum).
212
- # @param [Object] type Object to be assigned
213
- def type=(type)
214
- validator = EnumAttributeValidator.new('String', ["function", "webhook"])
215
- unless validator.valid?(type)
216
- fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
217
- end
218
- @type = type
219
- end
220
-
221
- # Custom attribute writer method with validation
222
- # @param [Object] timeout_seconds Value to be assigned
223
- def timeout_seconds=(timeout_seconds)
224
- if timeout_seconds.nil?
225
- fail ArgumentError, 'timeout_seconds cannot be nil'
226
- end
227
-
228
- if timeout_seconds > 30
229
- fail ArgumentError, 'invalid value for "timeout_seconds", must be smaller than or equal to 30.'
230
- end
231
-
232
- if timeout_seconds < 1
233
- fail ArgumentError, 'invalid value for "timeout_seconds", must be greater than or equal to 1.'
234
- end
235
-
236
- @timeout_seconds = timeout_seconds
237
- end
238
-
239
- # Custom attribute writer method with validation
240
- # @param [Object] max_in_flight Value to be assigned
241
- def max_in_flight=(max_in_flight)
242
- if max_in_flight.nil?
243
- fail ArgumentError, 'max_in_flight cannot be nil'
244
- end
245
-
246
- if max_in_flight > 100
247
- fail ArgumentError, 'invalid value for "max_in_flight", must be smaller than or equal to 100.'
248
- end
249
-
250
- if max_in_flight < 1
251
- fail ArgumentError, 'invalid value for "max_in_flight", must be greater than or equal to 1.'
252
- end
253
-
254
- @max_in_flight = max_in_flight
255
- end
256
-
257
- # Custom attribute writer method with validation
258
- # @param [Object] max_per_second Value to be assigned
259
- def max_per_second=(max_per_second)
260
- if max_per_second.nil?
261
- fail ArgumentError, 'max_per_second cannot be nil'
262
- end
263
-
264
- if max_per_second > 1000
265
- fail ArgumentError, 'invalid value for "max_per_second", must be smaller than or equal to 1000.'
266
- end
267
-
268
- if max_per_second < 1
269
- fail ArgumentError, 'invalid value for "max_per_second", must be greater than or equal to 1.'
270
- end
271
-
272
- @max_per_second = max_per_second
273
- end
274
-
275
- # Checks equality by comparing each attribute.
276
- # @param [Object] Object to be compared
277
- def ==(o)
278
- return true if self.equal?(o)
279
- self.class == o.class &&
280
- type == o.type &&
281
- function_id == o.function_id &&
282
- webhook_url == o.webhook_url &&
283
- webhook_headers == o.webhook_headers &&
284
- timeout_seconds == o.timeout_seconds &&
285
- max_in_flight == o.max_in_flight &&
286
- max_per_second == o.max_per_second &&
287
- retryable_status_codes == o.retryable_status_codes
288
- end
289
-
290
- # @see the `==` method
291
- # @param [Object] Object to be compared
292
- def eql?(o)
293
- self == o
294
- end
295
-
296
- # Calculates hash code according to all attributes.
297
- # @return [Integer] Hash code
298
- def hash
299
- [type, function_id, webhook_url, webhook_headers, timeout_seconds, max_in_flight, max_per_second, retryable_status_codes].hash
300
- end
301
-
302
- # Builds the object from hash
303
- # @param [Hash] attributes Model attributes in the form of hash
304
- # @return [Object] Returns the model itself
305
- def self.build_from_hash(attributes)
306
- return nil unless attributes.is_a?(Hash)
307
- attributes = attributes.transform_keys(&:to_sym)
308
- transformed_hash = {}
309
- openapi_types.each_pair do |key, type|
310
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
311
- transformed_hash["#{key}"] = nil
312
- elsif type =~ /\AArray<(.*)>/i
313
- # check to ensure the input is an array given that the attribute
314
- # is documented as an array but the input is not
315
- if attributes[attribute_map[key]].is_a?(Array)
316
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
45
+ openapi_any_of.include?(:AnyType) ? data : nil
46
+ end
47
+
48
+ private
49
+
50
+ SchemaMismatchError = Class.new(StandardError)
51
+
52
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
53
+ def find_and_cast_into_type(klass, data)
54
+ return if data.nil?
55
+
56
+ case klass.to_s
57
+ when 'Boolean'
58
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
59
+ when 'Float'
60
+ return data if data.instance_of?(Float)
61
+ when 'Integer'
62
+ return data if data.instance_of?(Integer)
63
+ when 'Time'
64
+ return Time.parse(data)
65
+ when 'Date'
66
+ return Date.iso8601(data)
67
+ when 'String'
68
+ return data if data.instance_of?(String)
69
+ when 'Object' # "type: object"
70
+ return data if data.instance_of?(Hash)
71
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
72
+ if data.instance_of?(Array)
73
+ sub_type = Regexp.last_match[:sub_type]
74
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
75
+ end
76
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
77
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
78
+ sub_type = Regexp.last_match[:sub_type]
79
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
80
+ end
81
+ else # model
82
+ const = RocketStackSdk.const_get(klass)
83
+ if const
84
+ if const.respond_to?(:openapi_any_of) # nested anyOf model
85
+ model = const.build(data)
86
+ return model if model
87
+ else
88
+ # raise if data contains keys that are not known to the model
89
+ raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
90
+ model = const.build_from_hash(data)
91
+ return model if model
92
+ end
317
93
  end
318
- elsif !attributes[attribute_map[key]].nil?
319
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
320
- end
321
- end
322
- new(transformed_hash)
323
- end
324
-
325
- # Returns the object in the form of hash
326
- # @return [Hash] Returns the object in the form of hash
327
- def to_hash
328
- hash = {}
329
- self.class.attribute_map.each_pair do |attr, param|
330
- value = self.send(attr)
331
- if value.nil?
332
- is_nullable = self.class.openapi_nullable.include?(attr)
333
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
334
94
  end
335
95
 
336
- hash[param] = _to_hash(value)
96
+ raise # if no match by now, raise
97
+ rescue
98
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
337
99
  end
338
- hash
339
100
  end
340
-
341
101
  end
342
102
 
343
103
  end