telnyx 4.0.0 → 4.2.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 (239) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/internal/transport/pooled_net_requester.rb +7 -10
  5. data/lib/telnyx/models/{advanced_order_update_params.rb → advanced_order_update_requirement_group_params.rb} +9 -8
  6. data/lib/telnyx/models/{advanced_order_update_response.rb → advanced_order_update_requirement_group_response.rb} +1 -1
  7. data/lib/telnyx/models/calls/action_start_transcription_params.rb +3 -3
  8. data/lib/telnyx/models/calls/transcription_start_request.rb +448 -10
  9. data/lib/telnyx/models/legacy/reporting/batch_detail_records/cdr_detailed_req_response.rb +156 -0
  10. data/lib/telnyx/models/legacy/reporting/batch_detail_records/mdr_detail_report_response.rb +151 -0
  11. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_params.rb +3 -110
  12. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_response.rb +3 -252
  13. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_delete_response.rb +3 -252
  14. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_list_response.rb +3 -250
  15. data/lib/telnyx/models/legacy/reporting/batch_detail_records/messaging_retrieve_response.rb +3 -252
  16. data/lib/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_create_response.rb +3 -73
  17. data/lib/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_delete_response.rb +3 -73
  18. data/lib/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_list_response.rb +3 -71
  19. data/lib/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.rb +3 -73
  20. data/lib/telnyx/models/legacy/reporting/batch_detail_records/stt_detail_report_response.rb +79 -0
  21. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_create_params.rb +3 -110
  22. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_create_response.rb +3 -256
  23. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_delete_response.rb +3 -256
  24. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_list_response.rb +3 -255
  25. data/lib/telnyx/models/legacy/reporting/batch_detail_records/voice_retrieve_response.rb +3 -256
  26. data/lib/telnyx/models/legacy/reporting/filter.rb +112 -0
  27. data/lib/telnyx/models/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.rb +109 -0
  28. data/lib/telnyx/models/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.rb +104 -0
  29. data/lib/telnyx/models/legacy/reporting/usage_reports/messaging_create_response.rb +3 -97
  30. data/lib/telnyx/models/legacy/reporting/usage_reports/messaging_delete_response.rb +3 -97
  31. data/lib/telnyx/models/legacy/reporting/usage_reports/messaging_list_response.rb +3 -96
  32. data/lib/telnyx/models/legacy/reporting/usage_reports/messaging_retrieve_response.rb +3 -97
  33. data/lib/telnyx/models/legacy/reporting/usage_reports/voice_create_response.rb +3 -102
  34. data/lib/telnyx/models/legacy/reporting/usage_reports/voice_delete_response.rb +3 -102
  35. data/lib/telnyx/models/legacy/reporting/usage_reports/voice_list_response.rb +3 -101
  36. data/lib/telnyx/models/legacy/reporting/usage_reports/voice_retrieve_response.rb +3 -102
  37. data/lib/telnyx/models/messaging_profile.rb +9 -1
  38. data/lib/telnyx/models/messaging_profile_create_params.rb +9 -1
  39. data/lib/telnyx/models/messaging_profile_update_params.rb +9 -1
  40. data/lib/telnyx/models/network_list_interfaces_response.rb +114 -0
  41. data/lib/telnyx/models/oauth_client.rb +173 -0
  42. data/lib/telnyx/models/oauth_client_create_response.rb +3 -172
  43. data/lib/telnyx/models/oauth_client_list_response.rb +3 -171
  44. data/lib/telnyx/models/oauth_client_retrieve_response.rb +3 -172
  45. data/lib/telnyx/models/oauth_client_update_response.rb +3 -172
  46. data/lib/telnyx/models/oauth_grant.rb +68 -0
  47. data/lib/telnyx/models/oauth_grant_delete_response.rb +3 -67
  48. data/lib/telnyx/models/oauth_grant_list_response.rb +3 -66
  49. data/lib/telnyx/models/oauth_grant_retrieve_response.rb +3 -67
  50. data/lib/telnyx/models/public_internet_gateway_create_response.rb +115 -0
  51. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +115 -0
  52. data/lib/telnyx/models/public_internet_gateway_list_response.rb +114 -0
  53. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +115 -0
  54. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +33 -1
  55. data/lib/telnyx/models/texml/accounts/conferences/participant_participants_params.rb +33 -1
  56. data/lib/telnyx/models/verify_profile_create_template_response.rb +3 -20
  57. data/lib/telnyx/models/verify_profile_message_template_response.rb +21 -0
  58. data/lib/telnyx/models/verify_profile_retrieve_templates_response.rb +3 -20
  59. data/lib/telnyx/models/verify_profile_update_template_response.rb +3 -20
  60. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +275 -0
  61. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +275 -0
  62. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +274 -0
  63. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +275 -0
  64. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +275 -0
  65. data/lib/telnyx/models/wireguard_interface_create_response.rb +131 -0
  66. data/lib/telnyx/models/wireguard_interface_delete_response.rb +131 -0
  67. data/lib/telnyx/models/wireguard_interface_list_response.rb +130 -0
  68. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +131 -0
  69. data/lib/telnyx/models/wireguard_peer_create_response.rb +78 -0
  70. data/lib/telnyx/models/wireguard_peer_delete_response.rb +78 -0
  71. data/lib/telnyx/models/wireguard_peer_list_response.rb +77 -0
  72. data/lib/telnyx/models/wireguard_peer_retrieve_response.rb +78 -0
  73. data/lib/telnyx/models/wireguard_peer_update_response.rb +78 -0
  74. data/lib/telnyx/models.rb +7 -1
  75. data/lib/telnyx/resources/advanced_orders.rb +26 -26
  76. data/lib/telnyx/resources/calls/actions.rb +2 -2
  77. data/lib/telnyx/resources/legacy/reporting/batch_detail_records/messaging.rb +1 -1
  78. data/lib/telnyx/resources/legacy/reporting/batch_detail_records/voice.rb +1 -1
  79. data/lib/telnyx/resources/messaging_profiles.rb +6 -2
  80. data/lib/telnyx/resources/texml/accounts/calls.rb +3 -1
  81. data/lib/telnyx/resources/texml/accounts/conferences/participants.rb +3 -1
  82. data/lib/telnyx/version.rb +1 -1
  83. data/lib/telnyx.rb +11 -2
  84. data/rbi/telnyx/models/{advanced_order_update_params.rbi → advanced_order_update_requirement_group_params.rbi} +53 -25
  85. data/rbi/telnyx/models/{advanced_order_update_response.rbi → advanced_order_update_requirement_group_response.rbi} +1 -1
  86. data/rbi/telnyx/models/calls/action_start_transcription_params.rbi +6 -6
  87. data/rbi/telnyx/models/calls/transcription_start_request.rbi +1488 -15
  88. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/cdr_detailed_req_response.rbi +232 -0
  89. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/mdr_detail_report_response.rbi +346 -0
  90. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_params.rbi +4 -279
  91. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_response.rbi +4 -614
  92. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_delete_response.rbi +4 -614
  93. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_list_response.rbi +4 -614
  94. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/messaging_retrieve_response.rbi +4 -614
  95. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_create_response.rbi +4 -155
  96. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_delete_response.rbi +4 -155
  97. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_list_response.rbi +4 -155
  98. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.rbi +4 -155
  99. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/stt_detail_report_response.rbi +162 -0
  100. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_create_params.rbi +4 -279
  101. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_create_response.rbi +4 -500
  102. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_delete_response.rbi +4 -500
  103. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_list_response.rbi +4 -500
  104. data/rbi/telnyx/models/legacy/reporting/batch_detail_records/voice_retrieve_response.rbi +4 -500
  105. data/rbi/telnyx/models/legacy/reporting/filter.rbi +252 -0
  106. data/rbi/telnyx/models/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.rbi +157 -0
  107. data/rbi/telnyx/models/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.rbi +155 -0
  108. data/rbi/telnyx/models/legacy/reporting/usage_reports/messaging_create_response.rbi +4 -148
  109. data/rbi/telnyx/models/legacy/reporting/usage_reports/messaging_delete_response.rbi +4 -148
  110. data/rbi/telnyx/models/legacy/reporting/usage_reports/messaging_list_response.rbi +4 -148
  111. data/rbi/telnyx/models/legacy/reporting/usage_reports/messaging_retrieve_response.rbi +4 -148
  112. data/rbi/telnyx/models/legacy/reporting/usage_reports/voice_create_response.rbi +4 -150
  113. data/rbi/telnyx/models/legacy/reporting/usage_reports/voice_delete_response.rbi +4 -150
  114. data/rbi/telnyx/models/legacy/reporting/usage_reports/voice_list_response.rbi +4 -150
  115. data/rbi/telnyx/models/legacy/reporting/usage_reports/voice_retrieve_response.rbi +4 -150
  116. data/rbi/telnyx/models/messaging_profile.rbi +11 -0
  117. data/rbi/telnyx/models/messaging_profile_create_params.rbi +11 -0
  118. data/rbi/telnyx/models/messaging_profile_update_params.rbi +11 -0
  119. data/rbi/telnyx/models/network_list_interfaces_response.rbi +202 -0
  120. data/rbi/telnyx/models/oauth_client.rbi +250 -0
  121. data/rbi/telnyx/models/oauth_client_create_response.rbi +4 -317
  122. data/rbi/telnyx/models/oauth_client_list_response.rbi +4 -313
  123. data/rbi/telnyx/models/oauth_client_retrieve_response.rbi +4 -317
  124. data/rbi/telnyx/models/oauth_client_update_response.rbi +4 -317
  125. data/rbi/telnyx/models/oauth_grant.rbi +95 -0
  126. data/rbi/telnyx/models/oauth_grant_delete_response.rbi +4 -127
  127. data/rbi/telnyx/models/oauth_grant_list_response.rbi +4 -123
  128. data/rbi/telnyx/models/oauth_grant_retrieve_response.rbi +4 -129
  129. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +202 -0
  130. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +202 -0
  131. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +202 -0
  132. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +202 -0
  133. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +65 -0
  134. data/rbi/telnyx/models/texml/accounts/conferences/participant_participants_params.rbi +67 -0
  135. data/rbi/telnyx/models/verify_profile_create_template_response.rbi +4 -44
  136. data/rbi/telnyx/models/verify_profile_message_template_response.rbi +35 -0
  137. data/rbi/telnyx/models/verify_profile_retrieve_templates_response.rbi +3 -45
  138. data/rbi/telnyx/models/verify_profile_update_template_response.rbi +4 -44
  139. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +444 -0
  140. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +444 -0
  141. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +444 -0
  142. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +444 -0
  143. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +444 -0
  144. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +224 -0
  145. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +224 -0
  146. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +224 -0
  147. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +224 -0
  148. data/rbi/telnyx/models/wireguard_peer_create_response.rbi +125 -0
  149. data/rbi/telnyx/models/wireguard_peer_delete_response.rbi +125 -0
  150. data/rbi/telnyx/models/wireguard_peer_list_response.rbi +125 -0
  151. data/rbi/telnyx/models/wireguard_peer_retrieve_response.rbi +125 -0
  152. data/rbi/telnyx/models/wireguard_peer_update_response.rbi +125 -0
  153. data/rbi/telnyx/models.rbi +9 -1
  154. data/rbi/telnyx/resources/advanced_orders.rbi +16 -14
  155. data/rbi/telnyx/resources/calls/actions.rbi +7 -3
  156. data/rbi/telnyx/resources/legacy/reporting/batch_detail_records/messaging.rbi +1 -4
  157. data/rbi/telnyx/resources/legacy/reporting/batch_detail_records/voice.rbi +1 -4
  158. data/rbi/telnyx/resources/messaging_profiles.rbi +6 -0
  159. data/rbi/telnyx/resources/texml/accounts/calls.rbi +7 -0
  160. data/rbi/telnyx/resources/texml/accounts/conferences/participants.rbi +7 -0
  161. data/sig/telnyx/models/{advanced_order_update_params.rbs → advanced_order_update_requirement_group_params.rbs} +16 -16
  162. data/sig/telnyx/models/advanced_order_update_requirement_group_response.rbs +5 -0
  163. data/sig/telnyx/models/calls/action_start_transcription_params.rbs +5 -5
  164. data/sig/telnyx/models/calls/transcription_start_request.rbs +594 -11
  165. data/sig/telnyx/models/legacy/reporting/batch_detail_records/cdr_detailed_req_response.rbs +142 -0
  166. data/sig/telnyx/models/legacy/reporting/batch_detail_records/mdr_detail_report_response.rbs +163 -0
  167. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_params.rbs +6 -108
  168. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_create_response.rbs +6 -262
  169. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_delete_response.rbs +6 -262
  170. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_list_response.rbs +6 -262
  171. data/sig/telnyx/models/legacy/reporting/batch_detail_records/messaging_retrieve_response.rbs +6 -262
  172. data/sig/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_create_response.rbs +6 -82
  173. data/sig/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_delete_response.rbs +6 -82
  174. data/sig/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_list_response.rbs +6 -82
  175. data/sig/telnyx/models/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.rbs +6 -82
  176. data/sig/telnyx/models/legacy/reporting/batch_detail_records/stt_detail_report_response.rbs +85 -0
  177. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_create_params.rbs +6 -108
  178. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_create_response.rbs +6 -241
  179. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_delete_response.rbs +6 -241
  180. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_list_response.rbs +6 -241
  181. data/sig/telnyx/models/legacy/reporting/batch_detail_records/voice_retrieve_response.rbs +6 -241
  182. data/sig/telnyx/models/legacy/reporting/filter.rbs +109 -0
  183. data/sig/telnyx/models/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.rbs +105 -0
  184. data/sig/telnyx/models/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.rbs +105 -0
  185. data/sig/telnyx/models/legacy/reporting/usage_reports/messaging_create_response.rbs +6 -102
  186. data/sig/telnyx/models/legacy/reporting/usage_reports/messaging_delete_response.rbs +6 -102
  187. data/sig/telnyx/models/legacy/reporting/usage_reports/messaging_list_response.rbs +6 -102
  188. data/sig/telnyx/models/legacy/reporting/usage_reports/messaging_retrieve_response.rbs +6 -102
  189. data/sig/telnyx/models/legacy/reporting/usage_reports/voice_create_response.rbs +6 -102
  190. data/sig/telnyx/models/legacy/reporting/usage_reports/voice_delete_response.rbs +6 -102
  191. data/sig/telnyx/models/legacy/reporting/usage_reports/voice_list_response.rbs +6 -102
  192. data/sig/telnyx/models/legacy/reporting/usage_reports/voice_retrieve_response.rbs +6 -102
  193. data/sig/telnyx/models/messaging_profile.rbs +7 -0
  194. data/sig/telnyx/models/messaging_profile_create_params.rbs +7 -0
  195. data/sig/telnyx/models/messaging_profile_update_params.rbs +7 -0
  196. data/sig/telnyx/models/network_list_interfaces_response.rbs +110 -0
  197. data/sig/telnyx/models/oauth_client.rbs +137 -0
  198. data/sig/telnyx/models/oauth_client_create_response.rbs +5 -144
  199. data/sig/telnyx/models/oauth_client_list_response.rbs +5 -141
  200. data/sig/telnyx/models/oauth_client_retrieve_response.rbs +5 -146
  201. data/sig/telnyx/models/oauth_client_update_response.rbs +5 -144
  202. data/sig/telnyx/models/oauth_grant.rbs +55 -0
  203. data/sig/telnyx/models/oauth_grant_delete_response.rbs +5 -62
  204. data/sig/telnyx/models/oauth_grant_list_response.rbs +5 -59
  205. data/sig/telnyx/models/oauth_grant_retrieve_response.rbs +5 -62
  206. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +110 -0
  207. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +110 -0
  208. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +110 -0
  209. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +110 -0
  210. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +21 -0
  211. data/sig/telnyx/models/texml/accounts/conferences/participant_participants_params.rbs +21 -0
  212. data/sig/telnyx/models/verify_profile_create_template_response.rbs +6 -24
  213. data/sig/telnyx/models/verify_profile_message_template_response.rbs +19 -0
  214. data/sig/telnyx/models/verify_profile_retrieve_templates_response.rbs +4 -22
  215. data/sig/telnyx/models/verify_profile_update_template_response.rbs +6 -24
  216. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +219 -0
  217. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +219 -0
  218. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +219 -0
  219. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +219 -0
  220. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +219 -0
  221. data/sig/telnyx/models/wireguard_interface_create_response.rbs +124 -0
  222. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +124 -0
  223. data/sig/telnyx/models/wireguard_interface_list_response.rbs +124 -0
  224. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +124 -0
  225. data/sig/telnyx/models/wireguard_peer_create_response.rbs +68 -0
  226. data/sig/telnyx/models/wireguard_peer_delete_response.rbs +68 -0
  227. data/sig/telnyx/models/wireguard_peer_list_response.rbs +68 -0
  228. data/sig/telnyx/models/wireguard_peer_retrieve_response.rbs +68 -0
  229. data/sig/telnyx/models/wireguard_peer_update_response.rbs +68 -0
  230. data/sig/telnyx/models.rbs +7 -1
  231. data/sig/telnyx/resources/advanced_orders.rbs +6 -6
  232. data/sig/telnyx/resources/calls/actions.rbs +1 -1
  233. data/sig/telnyx/resources/legacy/reporting/batch_detail_records/messaging.rbs +1 -1
  234. data/sig/telnyx/resources/legacy/reporting/batch_detail_records/voice.rbs +1 -1
  235. data/sig/telnyx/resources/messaging_profiles.rbs +2 -0
  236. data/sig/telnyx/resources/texml/accounts/calls.rbs +1 -0
  237. data/sig/telnyx/resources/texml/accounts/conferences/participants.rbs +1 -0
  238. metadata +35 -8
  239. data/sig/telnyx/models/advanced_order_update_response.rbs +0 -5
@@ -59,6 +59,450 @@ module Telnyx
59
59
  end
60
60
  def to_hash
61
61
  end
62
+
63
+ class Data < Telnyx::Internal::Type::BaseModel
64
+ OrHash =
65
+ T.type_alias do
66
+ T.any(
67
+ Telnyx::Models::VirtualCrossConnectListResponse::Data,
68
+ Telnyx::Internal::AnyHash
69
+ )
70
+ end
71
+
72
+ # A user specified name for the interface.
73
+ sig { returns(T.nilable(String)) }
74
+ attr_reader :name
75
+
76
+ sig { params(name: String).void }
77
+ attr_writer :name
78
+
79
+ # The id of the network associated with the interface.
80
+ sig { returns(T.nilable(String)) }
81
+ attr_reader :network_id
82
+
83
+ sig { params(network_id: String).void }
84
+ attr_writer :network_id
85
+
86
+ # The region the interface should be deployed to.
87
+ sig { returns(T.nilable(String)) }
88
+ attr_reader :region_code
89
+
90
+ sig { params(region_code: String).void }
91
+ attr_writer :region_code
92
+
93
+ # The Border Gateway Protocol (BGP) Autonomous System Number (ASN). If null, value
94
+ # will be assigned by Telnyx.
95
+ sig { returns(Float) }
96
+ attr_accessor :bgp_asn
97
+
98
+ # The Virtual Private Cloud with which you would like to establish a cross
99
+ # connect.
100
+ sig do
101
+ returns(
102
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::CloudProvider::TaggedSymbol
103
+ )
104
+ end
105
+ attr_accessor :cloud_provider
106
+
107
+ # The region where your Virtual Private Cloud hosts are located.<br /><br />The
108
+ # available regions can be found using the /virtual_cross_connect_regions
109
+ # endpoint.
110
+ sig { returns(String) }
111
+ attr_accessor :cloud_provider_region
112
+
113
+ # The identifier for your Virtual Private Cloud. The number will be different
114
+ # based upon your Cloud provider.
115
+ sig { returns(String) }
116
+ attr_accessor :primary_cloud_account_id
117
+
118
+ # The desired throughput in Megabits per Second (Mbps) for your Virtual Cross
119
+ # Connect.<br /><br />The available bandwidths can be found using the
120
+ # /virtual_cross_connect_regions endpoint.
121
+ sig { returns(T.nilable(Float)) }
122
+ attr_reader :bandwidth_mbps
123
+
124
+ sig { params(bandwidth_mbps: Float).void }
125
+ attr_writer :bandwidth_mbps
126
+
127
+ # The authentication key for BGP peer configuration.
128
+ sig { returns(T.nilable(String)) }
129
+ attr_reader :primary_bgp_key
130
+
131
+ sig { params(primary_bgp_key: String).void }
132
+ attr_writer :primary_bgp_key
133
+
134
+ # The IP address assigned for your side of the Virtual Cross
135
+ # Connect.<br /><br />If none is provided, one will be generated for
136
+ # you.<br /><br />This value can not be patched once the VXC has bene provisioned.
137
+ sig { returns(T.nilable(String)) }
138
+ attr_reader :primary_cloud_ip
139
+
140
+ sig { params(primary_cloud_ip: String).void }
141
+ attr_writer :primary_cloud_ip
142
+
143
+ # Indicates whether the primary circuit is enabled. Setting this to `false` will
144
+ # disable the circuit.
145
+ sig { returns(T.nilable(T::Boolean)) }
146
+ attr_reader :primary_enabled
147
+
148
+ sig { params(primary_enabled: T::Boolean).void }
149
+ attr_writer :primary_enabled
150
+
151
+ # Whether the primary BGP route is being announced.
152
+ sig { returns(T.nilable(T::Boolean)) }
153
+ attr_reader :primary_routing_announcement
154
+
155
+ sig { params(primary_routing_announcement: T::Boolean).void }
156
+ attr_writer :primary_routing_announcement
157
+
158
+ # The IP address assigned to the Telnyx side of the Virtual Cross
159
+ # Connect.<br /><br />If none is provided, one will be generated for
160
+ # you.<br /><br />This value should be null for GCE as Google will only inform you
161
+ # of your assigned IP once the connection has been accepted.
162
+ sig { returns(T.nilable(String)) }
163
+ attr_reader :primary_telnyx_ip
164
+
165
+ sig { params(primary_telnyx_ip: String).void }
166
+ attr_writer :primary_telnyx_ip
167
+
168
+ sig do
169
+ returns(
170
+ T.nilable(
171
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::Region
172
+ )
173
+ )
174
+ end
175
+ attr_reader :region
176
+
177
+ sig do
178
+ params(
179
+ region:
180
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::Region::OrHash
181
+ ).void
182
+ end
183
+ attr_writer :region
184
+
185
+ # The authentication key for BGP peer configuration.
186
+ sig { returns(T.nilable(String)) }
187
+ attr_reader :secondary_bgp_key
188
+
189
+ sig { params(secondary_bgp_key: String).void }
190
+ attr_writer :secondary_bgp_key
191
+
192
+ # The identifier for your Virtual Private Cloud. The number will be different
193
+ # based upon your Cloud provider.<br /><br />This attribute is only necessary for
194
+ # GCE.
195
+ sig { returns(T.nilable(String)) }
196
+ attr_reader :secondary_cloud_account_id
197
+
198
+ sig { params(secondary_cloud_account_id: String).void }
199
+ attr_writer :secondary_cloud_account_id
200
+
201
+ # The IP address assigned for your side of the Virtual Cross
202
+ # Connect.<br /><br />If none is provided, one will be generated for
203
+ # you.<br /><br />This value can not be patched once the VXC has bene provisioned.
204
+ sig { returns(T.nilable(String)) }
205
+ attr_reader :secondary_cloud_ip
206
+
207
+ sig { params(secondary_cloud_ip: String).void }
208
+ attr_writer :secondary_cloud_ip
209
+
210
+ # Indicates whether the secondary circuit is enabled. Setting this to `false` will
211
+ # disable the circuit.
212
+ sig { returns(T.nilable(T::Boolean)) }
213
+ attr_reader :secondary_enabled
214
+
215
+ sig { params(secondary_enabled: T::Boolean).void }
216
+ attr_writer :secondary_enabled
217
+
218
+ # Whether the secondary BGP route is being announced.
219
+ sig { returns(T.nilable(T::Boolean)) }
220
+ attr_reader :secondary_routing_announcement
221
+
222
+ sig { params(secondary_routing_announcement: T::Boolean).void }
223
+ attr_writer :secondary_routing_announcement
224
+
225
+ # The IP address assigned to the Telnyx side of the Virtual Cross
226
+ # Connect.<br /><br />If none is provided, one will be generated for
227
+ # you.<br /><br />This value should be null for GCE as Google will only inform you
228
+ # of your assigned IP once the connection has been accepted.
229
+ sig { returns(T.nilable(String)) }
230
+ attr_reader :secondary_telnyx_ip
231
+
232
+ sig { params(secondary_telnyx_ip: String).void }
233
+ attr_writer :secondary_telnyx_ip
234
+
235
+ # Identifies the resource.
236
+ sig { returns(T.nilable(String)) }
237
+ attr_reader :id
238
+
239
+ sig { params(id: String).void }
240
+ attr_writer :id
241
+
242
+ # ISO 8601 formatted date-time indicating when the resource was created.
243
+ sig { returns(T.nilable(String)) }
244
+ attr_reader :created_at
245
+
246
+ sig { params(created_at: String).void }
247
+ attr_writer :created_at
248
+
249
+ # Identifies the type of the resource.
250
+ sig { returns(T.nilable(String)) }
251
+ attr_reader :record_type
252
+
253
+ sig { params(record_type: String).void }
254
+ attr_writer :record_type
255
+
256
+ # ISO 8601 formatted date-time indicating when the resource was updated.
257
+ sig { returns(T.nilable(String)) }
258
+ attr_reader :updated_at
259
+
260
+ sig { params(updated_at: String).void }
261
+ attr_writer :updated_at
262
+
263
+ # The current status of the interface deployment.
264
+ sig { returns(T.nilable(Telnyx::InterfaceStatus::TaggedSymbol)) }
265
+ attr_reader :status
266
+
267
+ sig { params(status: Telnyx::InterfaceStatus::OrSymbol).void }
268
+ attr_writer :status
269
+
270
+ sig do
271
+ params(
272
+ bgp_asn: Float,
273
+ cloud_provider:
274
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::CloudProvider::OrSymbol,
275
+ cloud_provider_region: String,
276
+ primary_cloud_account_id: String,
277
+ id: String,
278
+ created_at: String,
279
+ record_type: String,
280
+ updated_at: String,
281
+ name: String,
282
+ network_id: String,
283
+ status: Telnyx::InterfaceStatus::OrSymbol,
284
+ region_code: String,
285
+ bandwidth_mbps: Float,
286
+ primary_bgp_key: String,
287
+ primary_cloud_ip: String,
288
+ primary_enabled: T::Boolean,
289
+ primary_routing_announcement: T::Boolean,
290
+ primary_telnyx_ip: String,
291
+ region:
292
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::Region::OrHash,
293
+ secondary_bgp_key: String,
294
+ secondary_cloud_account_id: String,
295
+ secondary_cloud_ip: String,
296
+ secondary_enabled: T::Boolean,
297
+ secondary_routing_announcement: T::Boolean,
298
+ secondary_telnyx_ip: String
299
+ ).returns(T.attached_class)
300
+ end
301
+ def self.new(
302
+ # The Border Gateway Protocol (BGP) Autonomous System Number (ASN). If null, value
303
+ # will be assigned by Telnyx.
304
+ bgp_asn:,
305
+ # The Virtual Private Cloud with which you would like to establish a cross
306
+ # connect.
307
+ cloud_provider:,
308
+ # The region where your Virtual Private Cloud hosts are located.<br /><br />The
309
+ # available regions can be found using the /virtual_cross_connect_regions
310
+ # endpoint.
311
+ cloud_provider_region:,
312
+ # The identifier for your Virtual Private Cloud. The number will be different
313
+ # based upon your Cloud provider.
314
+ primary_cloud_account_id:,
315
+ # Identifies the resource.
316
+ id: nil,
317
+ # ISO 8601 formatted date-time indicating when the resource was created.
318
+ created_at: nil,
319
+ # Identifies the type of the resource.
320
+ record_type: nil,
321
+ # ISO 8601 formatted date-time indicating when the resource was updated.
322
+ updated_at: nil,
323
+ # A user specified name for the interface.
324
+ name: nil,
325
+ # The id of the network associated with the interface.
326
+ network_id: nil,
327
+ # The current status of the interface deployment.
328
+ status: nil,
329
+ # The region the interface should be deployed to.
330
+ region_code: nil,
331
+ # The desired throughput in Megabits per Second (Mbps) for your Virtual Cross
332
+ # Connect.<br /><br />The available bandwidths can be found using the
333
+ # /virtual_cross_connect_regions endpoint.
334
+ bandwidth_mbps: nil,
335
+ # The authentication key for BGP peer configuration.
336
+ primary_bgp_key: nil,
337
+ # The IP address assigned for your side of the Virtual Cross
338
+ # Connect.<br /><br />If none is provided, one will be generated for
339
+ # you.<br /><br />This value can not be patched once the VXC has bene provisioned.
340
+ primary_cloud_ip: nil,
341
+ # Indicates whether the primary circuit is enabled. Setting this to `false` will
342
+ # disable the circuit.
343
+ primary_enabled: nil,
344
+ # Whether the primary BGP route is being announced.
345
+ primary_routing_announcement: nil,
346
+ # The IP address assigned to the Telnyx side of the Virtual Cross
347
+ # Connect.<br /><br />If none is provided, one will be generated for
348
+ # you.<br /><br />This value should be null for GCE as Google will only inform you
349
+ # of your assigned IP once the connection has been accepted.
350
+ primary_telnyx_ip: nil,
351
+ region: nil,
352
+ # The authentication key for BGP peer configuration.
353
+ secondary_bgp_key: nil,
354
+ # The identifier for your Virtual Private Cloud. The number will be different
355
+ # based upon your Cloud provider.<br /><br />This attribute is only necessary for
356
+ # GCE.
357
+ secondary_cloud_account_id: nil,
358
+ # The IP address assigned for your side of the Virtual Cross
359
+ # Connect.<br /><br />If none is provided, one will be generated for
360
+ # you.<br /><br />This value can not be patched once the VXC has bene provisioned.
361
+ secondary_cloud_ip: nil,
362
+ # Indicates whether the secondary circuit is enabled. Setting this to `false` will
363
+ # disable the circuit.
364
+ secondary_enabled: nil,
365
+ # Whether the secondary BGP route is being announced.
366
+ secondary_routing_announcement: nil,
367
+ # The IP address assigned to the Telnyx side of the Virtual Cross
368
+ # Connect.<br /><br />If none is provided, one will be generated for
369
+ # you.<br /><br />This value should be null for GCE as Google will only inform you
370
+ # of your assigned IP once the connection has been accepted.
371
+ secondary_telnyx_ip: nil
372
+ )
373
+ end
374
+
375
+ sig do
376
+ override.returns(
377
+ {
378
+ id: String,
379
+ created_at: String,
380
+ record_type: String,
381
+ updated_at: String,
382
+ name: String,
383
+ network_id: String,
384
+ status: Telnyx::InterfaceStatus::TaggedSymbol,
385
+ region_code: String,
386
+ bgp_asn: Float,
387
+ cloud_provider:
388
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::CloudProvider::TaggedSymbol,
389
+ cloud_provider_region: String,
390
+ primary_cloud_account_id: String,
391
+ bandwidth_mbps: Float,
392
+ primary_bgp_key: String,
393
+ primary_cloud_ip: String,
394
+ primary_enabled: T::Boolean,
395
+ primary_routing_announcement: T::Boolean,
396
+ primary_telnyx_ip: String,
397
+ region:
398
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::Region,
399
+ secondary_bgp_key: String,
400
+ secondary_cloud_account_id: String,
401
+ secondary_cloud_ip: String,
402
+ secondary_enabled: T::Boolean,
403
+ secondary_routing_announcement: T::Boolean,
404
+ secondary_telnyx_ip: String
405
+ }
406
+ )
407
+ end
408
+ def to_hash
409
+ end
410
+
411
+ # The Virtual Private Cloud with which you would like to establish a cross
412
+ # connect.
413
+ module CloudProvider
414
+ extend Telnyx::Internal::Type::Enum
415
+
416
+ TaggedSymbol =
417
+ T.type_alias do
418
+ T.all(
419
+ Symbol,
420
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::CloudProvider
421
+ )
422
+ end
423
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
424
+
425
+ AWS =
426
+ T.let(
427
+ :aws,
428
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::CloudProvider::TaggedSymbol
429
+ )
430
+ AZURE =
431
+ T.let(
432
+ :azure,
433
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::CloudProvider::TaggedSymbol
434
+ )
435
+ GCE =
436
+ T.let(
437
+ :gce,
438
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::CloudProvider::TaggedSymbol
439
+ )
440
+
441
+ sig do
442
+ override.returns(
443
+ T::Array[
444
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::CloudProvider::TaggedSymbol
445
+ ]
446
+ )
447
+ end
448
+ def self.values
449
+ end
450
+ end
451
+
452
+ class Region < Telnyx::Internal::Type::BaseModel
453
+ OrHash =
454
+ T.type_alias do
455
+ T.any(
456
+ Telnyx::Models::VirtualCrossConnectListResponse::Data::Region,
457
+ Telnyx::Internal::AnyHash
458
+ )
459
+ end
460
+
461
+ # Region code of the interface.
462
+ sig { returns(T.nilable(String)) }
463
+ attr_reader :code
464
+
465
+ sig { params(code: String).void }
466
+ attr_writer :code
467
+
468
+ # Region name of the interface.
469
+ sig { returns(T.nilable(String)) }
470
+ attr_reader :name
471
+
472
+ sig { params(name: String).void }
473
+ attr_writer :name
474
+
475
+ # Identifies the type of the resource.
476
+ sig { returns(T.nilable(String)) }
477
+ attr_reader :record_type
478
+
479
+ sig { params(record_type: String).void }
480
+ attr_writer :record_type
481
+
482
+ sig do
483
+ params(code: String, name: String, record_type: String).returns(
484
+ T.attached_class
485
+ )
486
+ end
487
+ def self.new(
488
+ # Region code of the interface.
489
+ code: nil,
490
+ # Region name of the interface.
491
+ name: nil,
492
+ # Identifies the type of the resource.
493
+ record_type: nil
494
+ )
495
+ end
496
+
497
+ sig do
498
+ override.returns(
499
+ { code: String, name: String, record_type: String }
500
+ )
501
+ end
502
+ def to_hash
503
+ end
504
+ end
505
+ end
62
506
  end
63
507
  end
64
508
  end