pingram 1.0.14 → 1.0.17

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 (182) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/pingram/api/addresses_api.rb +67 -6
  4. data/lib/pingram/api/default_api.rb +2 -2
  5. data/lib/pingram/api/domains_api.rb +69 -8
  6. data/lib/pingram/api/email_api.rb +2 -2
  7. data/lib/pingram/api/logs_api.rb +10 -10
  8. data/lib/pingram/api/numbers_api.rb +6 -6
  9. data/lib/pingram/api/organization_api.rb +15 -4
  10. data/lib/pingram/api/profile_api.rb +314 -0
  11. data/lib/pingram/api/sms_api.rb +2 -2
  12. data/lib/pingram/api/voice_api.rb +733 -0
  13. data/lib/pingram/api_client.rb +1 -1
  14. data/lib/pingram/client_wrapper.rb +10 -0
  15. data/lib/pingram/models/api_error_body.rb +4 -24
  16. data/lib/pingram/models/billing_post_request_body.rb +2 -12
  17. data/lib/pingram/models/billing_post_response_body.rb +92 -200
  18. data/lib/pingram/models/bind_number_request.rb +164 -0
  19. data/lib/pingram/models/bind_number_response.rb +164 -0
  20. data/lib/pingram/models/bind_number_response_agent.rb +342 -0
  21. data/lib/pingram/models/bind_number_response_agent_spec.rb +376 -0
  22. data/lib/pingram/models/bind_number_response_agent_spec_compliance.rb +164 -0
  23. data/lib/pingram/models/bind_number_response_agent_spec_conversation.rb +328 -0
  24. data/lib/pingram/models/bind_number_response_agent_spec_inbound.rb +214 -0
  25. data/lib/pingram/models/bind_number_response_agent_spec_model.rb +105 -0
  26. data/lib/pingram/models/bind_number_response_agent_spec_outbound.rb +251 -0
  27. data/lib/pingram/models/bind_number_response_agent_spec_tools_inner.rb +107 -0
  28. data/lib/pingram/models/bind_number_response_agent_spec_variables_inner.rb +182 -0
  29. data/lib/pingram/models/chained.rb +401 -0
  30. data/lib/pingram/models/channels_enum.rb +2 -1
  31. data/lib/pingram/models/create_organization_request.rb +150 -0
  32. data/lib/pingram/models/create_voice_agent_request.rb +164 -0
  33. data/lib/pingram/models/create_voice_agent_response.rb +164 -0
  34. data/lib/pingram/models/custom.rb +278 -0
  35. data/lib/pingram/models/delete_account_request.rb +147 -0
  36. data/lib/pingram/models/delete_voice_agent_response.rb +164 -0
  37. data/lib/pingram/models/domain_dns_check.rb +244 -0
  38. data/lib/pingram/models/domain_dns_check_records_inner.rb +357 -0
  39. data/lib/pingram/models/dtmf.rb +188 -0
  40. data/lib/pingram/models/get_members_response_inner.rb +37 -4
  41. data/lib/pingram/models/get_notifications_response_inner_options.rb +10 -1
  42. data/lib/pingram/models/get_senders_response_inner.rb +13 -4
  43. data/lib/pingram/models/get_senders_response_inner_verification_records.rb +184 -0
  44. data/lib/pingram/models/get_senders_response_inner_verification_records_dkim.rb +287 -0
  45. data/lib/pingram/models/get_voice_agent_response.rb +164 -0
  46. data/lib/pingram/models/get_voice_call_response.rb +164 -0
  47. data/lib/pingram/models/get_voice_call_response_call.rb +521 -0
  48. data/lib/pingram/models/get_voice_call_response_call_cost.rb +193 -0
  49. data/lib/pingram/models/get_voice_call_response_call_cost_lines_inner.rb +245 -0
  50. data/lib/pingram/models/get_voice_call_response_call_timeline_inner.rb +247 -0
  51. data/lib/pingram/models/get_voice_call_response_call_timeline_inner_latency.rb +191 -0
  52. data/lib/pingram/models/inbound_response_body_results_inner.rb +4 -4
  53. data/lib/pingram/models/knowledge.rb +216 -0
  54. data/lib/pingram/models/knowledge_documents_inner.rb +217 -0
  55. data/lib/pingram/models/list_phone_numbers_response_numbers_inner.rb +14 -4
  56. data/lib/pingram/models/list_voice_agents_response.rb +166 -0
  57. data/lib/pingram/models/list_voice_calls_response.rb +176 -0
  58. data/lib/pingram/models/list_voice_calls_response_calls_inner.rb +463 -0
  59. data/lib/pingram/models/logs_get_response_logs_inner.rb +4 -4
  60. data/lib/pingram/models/mcp.rb +223 -0
  61. data/lib/pingram/models/mfa_setup_request.rb +189 -0
  62. data/lib/pingram/models/mfa_setup_response.rb +216 -0
  63. data/lib/pingram/models/mfa_status_response.rb +235 -0
  64. data/lib/pingram/models/mfa_verify_request.rb +241 -0
  65. data/lib/pingram/models/organization.rb +22 -1
  66. data/lib/pingram/models/organization_usage.rb +13 -159
  67. data/lib/pingram/models/organization_usage_costs.rb +148 -0
  68. data/lib/pingram/models/organization_usage_counts.rb +347 -0
  69. data/lib/pingram/models/organization_usage_history_items_inner.rb +16 -154
  70. data/lib/pingram/models/organization_usage_history_items_inner_counts.rb +346 -0
  71. data/lib/pingram/models/phone_verify_confirm_request.rb +16 -4
  72. data/lib/pingram/models/s2s.rb +295 -0
  73. data/lib/pingram/models/send_email_api_response_any_of1_error.rb +4 -24
  74. data/lib/pingram/models/send_email_request.rb +1 -1
  75. data/lib/pingram/models/send_sms_response_any_of1_error.rb +4 -24
  76. data/lib/pingram/models/sender_post_body_options_email.rb +1 -1
  77. data/lib/pingram/models/{a2p_registration_create_request.rb → ten_dlc_brand_create_request.rb} +38 -28
  78. data/lib/pingram/models/{a2p_registration.rb → ten_dlc_brand_registration.rb} +54 -22
  79. data/lib/pingram/models/{a2p_registration_update_request.rb → ten_dlc_brand_update_request.rb} +38 -11
  80. data/lib/pingram/models/transfer.rb +251 -0
  81. data/lib/pingram/models/unbind_number_response.rb +164 -0
  82. data/lib/pingram/models/update_voice_agent_request.rb +164 -0
  83. data/lib/pingram/models/update_voice_agent_response.rb +164 -0
  84. data/lib/pingram/models/voice_browser_call_request.rb +186 -0
  85. data/lib/pingram/models/voice_browser_call_response.rb +216 -0
  86. data/lib/pingram/models/voice_call_request.rb +212 -0
  87. data/lib/pingram/models/voice_call_response.rb +217 -0
  88. data/lib/pingram/models/webhook_event.rb +2 -2
  89. data/lib/pingram/version.rb +1 -1
  90. data/lib/pingram.rb +56 -3
  91. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.12.0.gem +0 -0
  92. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  93. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +5 -5
  94. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/gem_make.out +5 -5
  95. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/mkmf.log +3 -3
  96. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  97. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.4.0/gem_make.out +5 -5
  98. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
  99. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  100. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current.rb +1 -1
  101. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/version.rb +1 -1
  102. data/vendor/bundle/ruby/3.2.0/specifications/{parser-3.3.11.1.gemspec → parser-3.3.12.0.gemspec} +4 -4
  103. metadata +140 -87
  104. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.11.1.gem +0 -0
  105. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/LICENSE.txt +0 -0
  106. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  107. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  108. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/gauntlet_parser.rb +0 -0
  109. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/all.rb +0 -0
  110. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/node.rb +0 -0
  111. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/processor.rb +0 -0
  112. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/base.rb +0 -0
  113. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/builders/default.rb +0 -0
  114. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/clobbering_error.rb +0 -0
  115. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/color.rb +0 -0
  116. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/context.rb +0 -0
  117. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current_arg_stack.rb +0 -0
  118. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/deprecation.rb +0 -0
  119. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic/engine.rb +0 -0
  120. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic.rb +0 -0
  121. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/dedenter.rb +0 -0
  122. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/explanation.rb +0 -0
  123. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/literal.rb +0 -0
  124. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/stack_state.rb +0 -0
  125. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F0.rb +0 -0
  126. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F1.rb +0 -0
  127. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-strings.rb +0 -0
  128. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/macruby.rb +0 -0
  129. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/max_numparam_stack.rb +0 -0
  130. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/messages.rb +0 -0
  131. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/meta.rb +0 -0
  132. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rewriter.rb +0 -0
  133. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby18.rb +0 -0
  134. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby19.rb +0 -0
  135. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby20.rb +0 -0
  136. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby21.rb +0 -0
  137. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby22.rb +0 -0
  138. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby23.rb +0 -0
  139. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby24.rb +0 -0
  140. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby25.rb +0 -0
  141. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby26.rb +0 -0
  142. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby27.rb +0 -0
  143. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby30.rb +0 -0
  144. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby31.rb +0 -0
  145. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby32.rb +0 -0
  146. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby33.rb +0 -0
  147. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby34.rb +0 -0
  148. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rubymotion.rb +0 -0
  149. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_parse.rb +0 -0
  150. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_rewrite.rb +0 -0
  151. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner.rb +0 -0
  152. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/buffer.rb +0 -0
  153. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment/associator.rb +0 -0
  154. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment.rb +0 -0
  155. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/collection.rb +0 -0
  156. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/condition.rb +0 -0
  157. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/constant.rb +0 -0
  158. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/definition.rb +0 -0
  159. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/for.rb +0 -0
  160. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/heredoc.rb +0 -0
  161. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/index.rb +0 -0
  162. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/keyword.rb +0 -0
  163. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/method_definition.rb +0 -0
  164. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/objc_kwarg.rb +0 -0
  165. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/operator.rb +0 -0
  166. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/rescue_body.rb +0 -0
  167. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/send.rb +0 -0
  168. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/ternary.rb +0 -0
  169. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/variable.rb +0 -0
  170. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map.rb +0 -0
  171. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/range.rb +0 -0
  172. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter/action.rb +0 -0
  173. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter.rb +0 -0
  174. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter/action.rb +0 -0
  175. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter.rb +0 -0
  176. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/static_environment.rb +0 -0
  177. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/syntax_error.rb +0 -0
  178. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/tree_rewriter.rb +0 -0
  179. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/unknown_encoding_in_magic_comment_error.rb +0 -0
  180. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/variables_stack.rb +0 -0
  181. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
  182. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/parser.gemspec +0 -0
@@ -0,0 +1,357 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ class DomainDnsCheckRecordsInner < ApiModelBase
18
+ attr_accessor :id
19
+
20
+ attr_accessor :label
21
+
22
+ attr_accessor :required
23
+
24
+ attr_accessor :found
25
+
26
+ attr_accessor :host
27
+
28
+ attr_accessor :record_type
29
+
30
+ attr_accessor :expected
31
+
32
+ attr_accessor :observed
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
47
+ end
48
+ 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
+ :'id' => :'id',
60
+ :'label' => :'label',
61
+ :'required' => :'required',
62
+ :'found' => :'found',
63
+ :'host' => :'host',
64
+ :'record_type' => :'recordType',
65
+ :'expected' => :'expected',
66
+ :'observed' => :'observed'
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
+ :'id' => :'String',
84
+ :'label' => :'String',
85
+ :'required' => :'Boolean',
86
+ :'found' => :'Boolean',
87
+ :'host' => :'String',
88
+ :'record_type' => :'String',
89
+ :'expected' => :'String',
90
+ :'observed' => :'Array<String>'
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 `Pingram::DomainDnsCheckRecordsInner` 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 `Pingram::DomainDnsCheckRecordsInner`. 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?(:'id')
117
+ self.id = attributes[:'id']
118
+ else
119
+ self.id = nil
120
+ end
121
+
122
+ if attributes.key?(:'label')
123
+ self.label = attributes[:'label']
124
+ else
125
+ self.label = nil
126
+ end
127
+
128
+ if attributes.key?(:'required')
129
+ self.required = attributes[:'required']
130
+ else
131
+ self.required = nil
132
+ end
133
+
134
+ if attributes.key?(:'found')
135
+ self.found = attributes[:'found']
136
+ else
137
+ self.found = nil
138
+ end
139
+
140
+ if attributes.key?(:'host')
141
+ self.host = attributes[:'host']
142
+ else
143
+ self.host = nil
144
+ end
145
+
146
+ if attributes.key?(:'record_type')
147
+ self.record_type = attributes[:'record_type']
148
+ else
149
+ self.record_type = nil
150
+ end
151
+
152
+ if attributes.key?(:'expected')
153
+ self.expected = attributes[:'expected']
154
+ else
155
+ self.expected = nil
156
+ end
157
+
158
+ if attributes.key?(:'observed')
159
+ if (value = attributes[:'observed']).is_a?(Array)
160
+ self.observed = value
161
+ end
162
+ end
163
+ end
164
+
165
+ # Show invalid properties with the reasons. Usually used together with valid?
166
+ # @return Array for valid properties with the reasons
167
+ def list_invalid_properties
168
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
169
+ invalid_properties = Array.new
170
+ if @id.nil?
171
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
172
+ end
173
+
174
+ if @label.nil?
175
+ invalid_properties.push('invalid value for "label", label cannot be nil.')
176
+ end
177
+
178
+ if @required.nil?
179
+ invalid_properties.push('invalid value for "required", required cannot be nil.')
180
+ end
181
+
182
+ if @found.nil?
183
+ invalid_properties.push('invalid value for "found", found cannot be nil.')
184
+ end
185
+
186
+ if @host.nil?
187
+ invalid_properties.push('invalid value for "host", host cannot be nil.')
188
+ end
189
+
190
+ if @record_type.nil?
191
+ invalid_properties.push('invalid value for "record_type", record_type cannot be nil.')
192
+ end
193
+
194
+ if @expected.nil?
195
+ invalid_properties.push('invalid value for "expected", expected cannot be nil.')
196
+ end
197
+
198
+ invalid_properties
199
+ end
200
+
201
+ # Check to see if the all the properties in the model are valid
202
+ # @return true if the model is valid
203
+ def valid?
204
+ warn '[DEPRECATED] the `valid?` method is obsolete'
205
+ return false if @id.nil?
206
+ id_validator = EnumAttributeValidator.new('String', ["dkim", "mail_from_spf", "mail_from_mx", "dmarc", "inbound_mx"])
207
+ return false unless id_validator.valid?(@id)
208
+ return false if @label.nil?
209
+ return false if @required.nil?
210
+ return false if @found.nil?
211
+ return false if @host.nil?
212
+ return false if @record_type.nil?
213
+ record_type_validator = EnumAttributeValidator.new('String', ["TXT", "MX", "CNAME"])
214
+ return false unless record_type_validator.valid?(@record_type)
215
+ return false if @expected.nil?
216
+ true
217
+ end
218
+
219
+ # Custom attribute writer method checking allowed values (enum).
220
+ # @param [Object] id Object to be assigned
221
+ def id=(id)
222
+ validator = EnumAttributeValidator.new('String', ["dkim", "mail_from_spf", "mail_from_mx", "dmarc", "inbound_mx"])
223
+ unless validator.valid?(id)
224
+ fail ArgumentError, "invalid value for \"id\", must be one of #{validator.allowable_values}."
225
+ end
226
+ @id = id
227
+ end
228
+
229
+ # Custom attribute writer method with validation
230
+ # @param [Object] label Value to be assigned
231
+ def label=(label)
232
+ if label.nil?
233
+ fail ArgumentError, 'label cannot be nil'
234
+ end
235
+
236
+ @label = label
237
+ end
238
+
239
+ # Custom attribute writer method with validation
240
+ # @param [Object] required Value to be assigned
241
+ def required=(required)
242
+ if required.nil?
243
+ fail ArgumentError, 'required cannot be nil'
244
+ end
245
+
246
+ @required = required
247
+ end
248
+
249
+ # Custom attribute writer method with validation
250
+ # @param [Object] found Value to be assigned
251
+ def found=(found)
252
+ if found.nil?
253
+ fail ArgumentError, 'found cannot be nil'
254
+ end
255
+
256
+ @found = found
257
+ end
258
+
259
+ # Custom attribute writer method with validation
260
+ # @param [Object] host Value to be assigned
261
+ def host=(host)
262
+ if host.nil?
263
+ fail ArgumentError, 'host cannot be nil'
264
+ end
265
+
266
+ @host = host
267
+ end
268
+
269
+ # Custom attribute writer method checking allowed values (enum).
270
+ # @param [Object] record_type Object to be assigned
271
+ def record_type=(record_type)
272
+ validator = EnumAttributeValidator.new('String', ["TXT", "MX", "CNAME"])
273
+ unless validator.valid?(record_type)
274
+ fail ArgumentError, "invalid value for \"record_type\", must be one of #{validator.allowable_values}."
275
+ end
276
+ @record_type = record_type
277
+ end
278
+
279
+ # Custom attribute writer method with validation
280
+ # @param [Object] expected Value to be assigned
281
+ def expected=(expected)
282
+ if expected.nil?
283
+ fail ArgumentError, 'expected cannot be nil'
284
+ end
285
+
286
+ @expected = expected
287
+ end
288
+
289
+ # Checks equality by comparing each attribute.
290
+ # @param [Object] Object to be compared
291
+ def ==(o)
292
+ return true if self.equal?(o)
293
+ self.class == o.class &&
294
+ id == o.id &&
295
+ label == o.label &&
296
+ required == o.required &&
297
+ found == o.found &&
298
+ host == o.host &&
299
+ record_type == o.record_type &&
300
+ expected == o.expected &&
301
+ observed == o.observed
302
+ end
303
+
304
+ # @see the `==` method
305
+ # @param [Object] Object to be compared
306
+ def eql?(o)
307
+ self == o
308
+ end
309
+
310
+ # Calculates hash code according to all attributes.
311
+ # @return [Integer] Hash code
312
+ def hash
313
+ [id, label, required, found, host, record_type, expected, observed].hash
314
+ end
315
+
316
+ # Builds the object from hash
317
+ # @param [Hash] attributes Model attributes in the form of hash
318
+ # @return [Object] Returns the model itself
319
+ def self.build_from_hash(attributes)
320
+ return nil unless attributes.is_a?(Hash)
321
+ attributes = attributes.transform_keys(&:to_sym)
322
+ transformed_hash = {}
323
+ openapi_types.each_pair do |key, type|
324
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
325
+ transformed_hash["#{key}"] = nil
326
+ elsif type =~ /\AArray<(.*)>/i
327
+ # check to ensure the input is an array given that the attribute
328
+ # is documented as an array but the input is not
329
+ if attributes[attribute_map[key]].is_a?(Array)
330
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
331
+ end
332
+ elsif !attributes[attribute_map[key]].nil?
333
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
334
+ end
335
+ end
336
+ new(transformed_hash)
337
+ end
338
+
339
+ # Returns the object in the form of hash
340
+ # @return [Hash] Returns the object in the form of hash
341
+ def to_hash
342
+ hash = {}
343
+ self.class.attribute_map.each_pair do |attr, param|
344
+ value = self.send(attr)
345
+ if value.nil?
346
+ is_nullable = self.class.openapi_nullable.include?(attr)
347
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
348
+ end
349
+
350
+ hash[param] = _to_hash(value)
351
+ end
352
+ hash
353
+ end
354
+
355
+ end
356
+
357
+ end
@@ -0,0 +1,188 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ class Dtmf < ApiModelBase
18
+ attr_accessor :type
19
+
20
+ class EnumAttributeValidator
21
+ attr_reader :datatype
22
+ attr_reader :allowable_values
23
+
24
+ def initialize(datatype, allowable_values)
25
+ @allowable_values = allowable_values.map do |value|
26
+ case datatype.to_s
27
+ when /Integer/i
28
+ value.to_i
29
+ when /Float/i
30
+ value.to_f
31
+ else
32
+ value
33
+ end
34
+ end
35
+ end
36
+
37
+ def valid?(value)
38
+ !value || allowable_values.include?(value)
39
+ end
40
+ end
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'type' => :'type'
46
+ }
47
+ end
48
+
49
+ # Returns attribute mapping this model knows about
50
+ def self.acceptable_attribute_map
51
+ attribute_map
52
+ end
53
+
54
+ # Returns all the JSON keys this model knows about
55
+ def self.acceptable_attributes
56
+ acceptable_attribute_map.values
57
+ end
58
+
59
+ # Attribute type mapping.
60
+ def self.openapi_types
61
+ {
62
+ :'type' => :'String'
63
+ }
64
+ end
65
+
66
+ # List of attributes with nullable: true
67
+ def self.openapi_nullable
68
+ Set.new([
69
+ ])
70
+ end
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ def initialize(attributes = {})
75
+ if (!attributes.is_a?(Hash))
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::Dtmf` initialize method"
77
+ end
78
+
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ acceptable_attribute_map = self.class.acceptable_attribute_map
81
+ attributes = attributes.each_with_object({}) { |(k, v), h|
82
+ if (!acceptable_attribute_map.key?(k.to_sym))
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::Dtmf`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
84
+ end
85
+ h[k.to_sym] = v
86
+ }
87
+
88
+ if attributes.key?(:'type')
89
+ self.type = attributes[:'type']
90
+ else
91
+ self.type = nil
92
+ end
93
+ end
94
+
95
+ # Show invalid properties with the reasons. Usually used together with valid?
96
+ # @return Array for valid properties with the reasons
97
+ def list_invalid_properties
98
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
99
+ invalid_properties = Array.new
100
+ if @type.nil?
101
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
102
+ end
103
+
104
+ invalid_properties
105
+ end
106
+
107
+ # Check to see if the all the properties in the model are valid
108
+ # @return true if the model is valid
109
+ def valid?
110
+ warn '[DEPRECATED] the `valid?` method is obsolete'
111
+ return false if @type.nil?
112
+ type_validator = EnumAttributeValidator.new('String', ["dtmf"])
113
+ return false unless type_validator.valid?(@type)
114
+ true
115
+ end
116
+
117
+ # Custom attribute writer method checking allowed values (enum).
118
+ # @param [Object] type Object to be assigned
119
+ def type=(type)
120
+ validator = EnumAttributeValidator.new('String', ["dtmf"])
121
+ unless validator.valid?(type)
122
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
123
+ end
124
+ @type = type
125
+ end
126
+
127
+ # Checks equality by comparing each attribute.
128
+ # @param [Object] Object to be compared
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ type == o.type
133
+ end
134
+
135
+ # @see the `==` method
136
+ # @param [Object] Object to be compared
137
+ def eql?(o)
138
+ self == o
139
+ end
140
+
141
+ # Calculates hash code according to all attributes.
142
+ # @return [Integer] Hash code
143
+ def hash
144
+ [type].hash
145
+ end
146
+
147
+ # Builds the object from hash
148
+ # @param [Hash] attributes Model attributes in the form of hash
149
+ # @return [Object] Returns the model itself
150
+ def self.build_from_hash(attributes)
151
+ return nil unless attributes.is_a?(Hash)
152
+ attributes = attributes.transform_keys(&:to_sym)
153
+ transformed_hash = {}
154
+ openapi_types.each_pair do |key, type|
155
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
156
+ transformed_hash["#{key}"] = nil
157
+ elsif type =~ /\AArray<(.*)>/i
158
+ # check to ensure the input is an array given that the attribute
159
+ # is documented as an array but the input is not
160
+ if attributes[attribute_map[key]].is_a?(Array)
161
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
162
+ end
163
+ elsif !attributes[attribute_map[key]].nil?
164
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
165
+ end
166
+ end
167
+ new(transformed_hash)
168
+ end
169
+
170
+ # Returns the object in the form of hash
171
+ # @return [Hash] Returns the object in the form of hash
172
+ def to_hash
173
+ hash = {}
174
+ self.class.attribute_map.each_pair do |attr, param|
175
+ value = self.send(attr)
176
+ if value.nil?
177
+ is_nullable = self.class.openapi_nullable.include?(attr)
178
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
179
+ end
180
+
181
+ hash[param] = _to_hash(value)
182
+ end
183
+ hash
184
+ end
185
+
186
+ end
187
+
188
+ end
@@ -27,6 +27,30 @@ module Pingram
27
27
 
28
28
  attr_accessor :groups
29
29
 
30
+ attr_accessor :enabled_mfas
31
+
32
+ class EnumAttributeValidator
33
+ attr_reader :datatype
34
+ attr_reader :allowable_values
35
+
36
+ def initialize(datatype, allowable_values)
37
+ @allowable_values = allowable_values.map do |value|
38
+ case datatype.to_s
39
+ when /Integer/i
40
+ value.to_i
41
+ when /Float/i
42
+ value.to_f
43
+ else
44
+ value
45
+ end
46
+ end
47
+ end
48
+
49
+ def valid?(value)
50
+ !value || allowable_values.include?(value)
51
+ end
52
+ end
53
+
30
54
  # Attribute mapping from ruby-style variable name to JSON key.
31
55
  def self.attribute_map
32
56
  {
@@ -35,7 +59,8 @@ module Pingram
35
59
  :'user_id' => :'userId',
36
60
  :'created_at' => :'createdAt',
37
61
  :'email' => :'email',
38
- :'groups' => :'groups'
62
+ :'groups' => :'groups',
63
+ :'enabled_mfas' => :'enabledMFAs'
39
64
  }
40
65
  end
41
66
 
@@ -57,7 +82,8 @@ module Pingram
57
82
  :'user_id' => :'String',
58
83
  :'created_at' => :'String',
59
84
  :'email' => :'String',
60
- :'groups' => :'Array<String>'
85
+ :'groups' => :'Array<String>',
86
+ :'enabled_mfas' => :'Array<String>'
61
87
  }
62
88
  end
63
89
 
@@ -116,6 +142,12 @@ module Pingram
116
142
  self.groups = value
117
143
  end
118
144
  end
145
+
146
+ if attributes.key?(:'enabled_mfas')
147
+ if (value = attributes[:'enabled_mfas']).is_a?(Array)
148
+ self.enabled_mfas = value
149
+ end
150
+ end
119
151
  end
120
152
 
121
153
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -203,7 +235,8 @@ module Pingram
203
235
  user_id == o.user_id &&
204
236
  created_at == o.created_at &&
205
237
  email == o.email &&
206
- groups == o.groups
238
+ groups == o.groups &&
239
+ enabled_mfas == o.enabled_mfas
207
240
  end
208
241
 
209
242
  # @see the `==` method
@@ -215,7 +248,7 @@ module Pingram
215
248
  # Calculates hash code according to all attributes.
216
249
  # @return [Integer] Hash code
217
250
  def hash
218
- [organization_id, account_id, user_id, created_at, email, groups].hash
251
+ [organization_id, account_id, user_id, created_at, email, groups, enabled_mfas].hash
219
252
  end
220
253
 
221
254
  # Builds the object from hash
@@ -23,6 +23,8 @@ module Pingram
23
23
 
24
24
  attr_accessor :call
25
25
 
26
+ attr_accessor :voice
27
+
26
28
  attr_accessor :push
27
29
 
28
30
  attr_accessor :web_push
@@ -36,6 +38,7 @@ module Pingram
36
38
  :'inapp_web' => :'INAPP_WEB',
37
39
  :'sms' => :'SMS',
38
40
  :'call' => :'CALL',
41
+ :'voice' => :'VOICE',
39
42
  :'push' => :'PUSH',
40
43
  :'web_push' => :'WEB_PUSH',
41
44
  :'slack' => :'SLACK'
@@ -59,6 +62,7 @@ module Pingram
59
62
  :'inapp_web' => :'GetInappNotificationsResponseNotificationsInnerDeliveryOptions',
60
63
  :'sms' => :'GetNotificationsResponseInnerOptionsEMAIL',
61
64
  :'call' => :'GetNotificationsResponseInnerOptionsEMAIL',
65
+ :'voice' => :'GetNotificationsResponseInnerOptionsEMAIL',
62
66
  :'push' => :'GetNotificationsResponseInnerOptionsEMAIL',
63
67
  :'web_push' => :'GetNotificationsResponseInnerOptionsEMAIL',
64
68
  :'slack' => :'GetNotificationsResponseInnerOptionsEMAIL'
@@ -103,6 +107,10 @@ module Pingram
103
107
  self.call = attributes[:'call']
104
108
  end
105
109
 
110
+ if attributes.key?(:'voice')
111
+ self.voice = attributes[:'voice']
112
+ end
113
+
106
114
  if attributes.key?(:'push')
107
115
  self.push = attributes[:'push']
108
116
  end
@@ -140,6 +148,7 @@ module Pingram
140
148
  inapp_web == o.inapp_web &&
141
149
  sms == o.sms &&
142
150
  call == o.call &&
151
+ voice == o.voice &&
143
152
  push == o.push &&
144
153
  web_push == o.web_push &&
145
154
  slack == o.slack
@@ -154,7 +163,7 @@ module Pingram
154
163
  # Calculates hash code according to all attributes.
155
164
  # @return [Integer] Hash code
156
165
  def hash
157
- [email, inapp_web, sms, call, push, web_push, slack].hash
166
+ [email, inapp_web, sms, call, voice, push, web_push, slack].hash
158
167
  end
159
168
 
160
169
  # Builds the object from hash