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