telnyx 4.1.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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/calls/action_start_transcription_params.rb +3 -3
  5. data/lib/telnyx/models/calls/transcription_start_request.rb +56 -56
  6. data/lib/telnyx/models/messaging_profile.rb +9 -1
  7. data/lib/telnyx/models/messaging_profile_create_params.rb +9 -1
  8. data/lib/telnyx/models/messaging_profile_update_params.rb +9 -1
  9. data/lib/telnyx/models/network_list_interfaces_response.rb +114 -0
  10. data/lib/telnyx/models/public_internet_gateway_create_response.rb +115 -0
  11. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +115 -0
  12. data/lib/telnyx/models/public_internet_gateway_list_response.rb +114 -0
  13. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +115 -0
  14. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +33 -1
  15. data/lib/telnyx/models/texml/accounts/conferences/participant_participants_params.rb +33 -1
  16. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +275 -0
  17. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +275 -0
  18. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +274 -0
  19. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +275 -0
  20. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +275 -0
  21. data/lib/telnyx/models/wireguard_interface_create_response.rb +131 -0
  22. data/lib/telnyx/models/wireguard_interface_delete_response.rb +131 -0
  23. data/lib/telnyx/models/wireguard_interface_list_response.rb +130 -0
  24. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +131 -0
  25. data/lib/telnyx/models/wireguard_peer_create_response.rb +78 -0
  26. data/lib/telnyx/models/wireguard_peer_delete_response.rb +78 -0
  27. data/lib/telnyx/models/wireguard_peer_list_response.rb +77 -0
  28. data/lib/telnyx/models/wireguard_peer_retrieve_response.rb +78 -0
  29. data/lib/telnyx/models/wireguard_peer_update_response.rb +78 -0
  30. data/lib/telnyx/resources/calls/actions.rb +1 -1
  31. data/lib/telnyx/resources/messaging_profiles.rb +6 -2
  32. data/lib/telnyx/resources/texml/accounts/calls.rb +3 -1
  33. data/lib/telnyx/resources/texml/accounts/conferences/participants.rb +3 -1
  34. data/lib/telnyx/version.rb +1 -1
  35. data/rbi/telnyx/models/calls/action_start_transcription_params.rbi +6 -6
  36. data/rbi/telnyx/models/calls/transcription_start_request.rbi +266 -263
  37. data/rbi/telnyx/models/messaging_profile.rbi +11 -0
  38. data/rbi/telnyx/models/messaging_profile_create_params.rbi +11 -0
  39. data/rbi/telnyx/models/messaging_profile_update_params.rbi +11 -0
  40. data/rbi/telnyx/models/network_list_interfaces_response.rbi +202 -0
  41. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +202 -0
  42. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +202 -0
  43. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +202 -0
  44. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +202 -0
  45. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +65 -0
  46. data/rbi/telnyx/models/texml/accounts/conferences/participant_participants_params.rbi +67 -0
  47. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +444 -0
  48. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +444 -0
  49. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +444 -0
  50. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +444 -0
  51. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +444 -0
  52. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +224 -0
  53. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +224 -0
  54. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +224 -0
  55. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +224 -0
  56. data/rbi/telnyx/models/wireguard_peer_create_response.rbi +125 -0
  57. data/rbi/telnyx/models/wireguard_peer_delete_response.rbi +125 -0
  58. data/rbi/telnyx/models/wireguard_peer_list_response.rbi +125 -0
  59. data/rbi/telnyx/models/wireguard_peer_retrieve_response.rbi +125 -0
  60. data/rbi/telnyx/models/wireguard_peer_update_response.rbi +125 -0
  61. data/rbi/telnyx/resources/calls/actions.rbi +5 -5
  62. data/rbi/telnyx/resources/messaging_profiles.rbi +6 -0
  63. data/rbi/telnyx/resources/texml/accounts/calls.rbi +7 -0
  64. data/rbi/telnyx/resources/texml/accounts/conferences/participants.rbi +7 -0
  65. data/sig/telnyx/models/calls/action_start_transcription_params.rbs +5 -5
  66. data/sig/telnyx/models/calls/transcription_start_request.rbs +83 -83
  67. data/sig/telnyx/models/messaging_profile.rbs +7 -0
  68. data/sig/telnyx/models/messaging_profile_create_params.rbs +7 -0
  69. data/sig/telnyx/models/messaging_profile_update_params.rbs +7 -0
  70. data/sig/telnyx/models/network_list_interfaces_response.rbs +110 -0
  71. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +110 -0
  72. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +110 -0
  73. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +110 -0
  74. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +110 -0
  75. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +21 -0
  76. data/sig/telnyx/models/texml/accounts/conferences/participant_participants_params.rbs +21 -0
  77. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +219 -0
  78. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +219 -0
  79. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +219 -0
  80. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +219 -0
  81. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +219 -0
  82. data/sig/telnyx/models/wireguard_interface_create_response.rbs +124 -0
  83. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +124 -0
  84. data/sig/telnyx/models/wireguard_interface_list_response.rbs +124 -0
  85. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +124 -0
  86. data/sig/telnyx/models/wireguard_peer_create_response.rbs +68 -0
  87. data/sig/telnyx/models/wireguard_peer_delete_response.rbs +68 -0
  88. data/sig/telnyx/models/wireguard_peer_list_response.rbs +68 -0
  89. data/sig/telnyx/models/wireguard_peer_retrieve_response.rbs +68 -0
  90. data/sig/telnyx/models/wireguard_peer_update_response.rbs +68 -0
  91. data/sig/telnyx/resources/calls/actions.rbs +1 -1
  92. data/sig/telnyx/resources/messaging_profiles.rbs +2 -0
  93. data/sig/telnyx/resources/texml/accounts/calls.rbs +1 -0
  94. data/sig/telnyx/resources/texml/accounts/conferences/participants.rbs +1 -0
  95. metadata +2 -2
@@ -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