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