oci 2.23.0 → 2.24.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 (243) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -1
  3. data/lib/oci/analytics/analytics.rb +5 -0
  4. data/lib/oci/analytics/analytics_client.rb +422 -52
  5. data/lib/oci/analytics/analytics_client_composite_operations.rb +188 -27
  6. data/lib/oci/analytics/models/analytics_instance.rb +32 -15
  7. data/lib/oci/analytics/models/analytics_instance_summary.rb +9 -8
  8. data/lib/oci/analytics/models/capacity.rb +2 -2
  9. data/lib/oci/analytics/models/change_analytics_instance_network_endpoint_details.rb +1 -1
  10. data/lib/oci/analytics/models/create_analytics_instance_details.rb +8 -6
  11. data/lib/oci/analytics/models/create_private_access_channel_details.rb +9 -9
  12. data/lib/oci/analytics/models/create_resource_group_details.rb +190 -0
  13. data/lib/oci/analytics/models/create_vanity_url_details.rb +5 -5
  14. data/lib/oci/analytics/models/feature_bundle.rb +1 -0
  15. data/lib/oci/analytics/models/instance_resource_group.rb +200 -0
  16. data/lib/oci/analytics/models/instance_resource_group_summary.rb +200 -0
  17. data/lib/oci/analytics/models/private_access_channel.rb +13 -13
  18. data/lib/oci/analytics/models/private_endpoint_details.rb +1 -1
  19. data/lib/oci/analytics/models/private_source_dns_zone.rb +3 -3
  20. data/lib/oci/analytics/models/private_source_scan_host.rb +4 -4
  21. data/lib/oci/analytics/models/public_endpoint_details.rb +1 -1
  22. data/lib/oci/analytics/models/resource_group_sort_by.rb +17 -0
  23. data/lib/oci/analytics/models/set_feature_bundle_details.rb +1 -0
  24. data/lib/oci/analytics/models/set_kms_key_details.rb +2 -2
  25. data/lib/oci/analytics/models/update_analytics_instance_details.rb +3 -3
  26. data/lib/oci/analytics/models/update_private_access_channel_details.rb +9 -9
  27. data/lib/oci/analytics/models/update_resource_group_details.rb +190 -0
  28. data/lib/oci/analytics/models/update_vanity_url_details.rb +4 -4
  29. data/lib/oci/analytics/models/vanity_url_details.rb +5 -5
  30. data/lib/oci/analytics/models/work_request.rb +4 -0
  31. data/lib/oci/analytics/models/work_request_action_result.rb +4 -1
  32. data/lib/oci/analytics/models/work_request_error.rb +2 -2
  33. data/lib/oci/analytics/models/work_request_log.rb +1 -1
  34. data/lib/oci/analytics/models/work_request_operation_type.rb +5 -1
  35. data/lib/oci/analytics/models/work_request_resource.rb +4 -1
  36. data/lib/oci/analytics/models/work_request_summary.rb +4 -0
  37. data/lib/oci/apiaccesscontrol/api_metadata_client.rb +8 -6
  38. data/lib/oci/apiaccesscontrol/apiaccesscontrol.rb +1 -0
  39. data/lib/oci/apiaccesscontrol/models/api_metadata.rb +12 -2
  40. data/lib/oci/apiaccesscontrol/models/api_metadata_by_entity_type_summary.rb +15 -1
  41. data/lib/oci/apiaccesscontrol/models/approver_detail.rb +15 -1
  42. data/lib/oci/apiaccesscontrol/models/approver_group_level.rb +169 -0
  43. data/lib/oci/apiaccesscontrol/models/create_privileged_api_control_details.rb +17 -3
  44. data/lib/oci/apiaccesscontrol/models/create_privileged_api_request_details.rb +1 -1
  45. data/lib/oci/apiaccesscontrol/models/privileged_api_control.rb +15 -2
  46. data/lib/oci/apiaccesscontrol/models/privileged_api_control_summary.rb +0 -1
  47. data/lib/oci/apiaccesscontrol/models/update_privileged_api_control_details.rb +16 -2
  48. data/lib/oci/apiaccesscontrol/privileged_api_control_client.rb +4 -3
  49. data/lib/oci/apiaccesscontrol/privileged_api_requests_client.rb +4 -3
  50. data/lib/oci/apiaccesscontrol/privileged_api_work_request_client.rb +4 -3
  51. data/lib/oci/core/core.rb +5 -0
  52. data/lib/oci/core/models/boot_volume_backup.rb +87 -4
  53. data/lib/oci/core/models/create_boot_volume_backup_details.rb +59 -4
  54. data/lib/oci/core/models/create_cross_connect_details.rb +50 -1
  55. data/lib/oci/core/models/create_cross_connect_group_details.rb +71 -4
  56. data/lib/oci/core/models/create_dedicated_vm_host_details.rb +21 -4
  57. data/lib/oci/core/models/create_virtual_circuit_details.rb +63 -4
  58. data/lib/oci/core/models/create_volume_backup_details.rb +59 -4
  59. data/lib/oci/core/models/create_volume_group_backup_details.rb +59 -4
  60. data/lib/oci/core/models/cross_connect.rb +43 -1
  61. data/lib/oci/core/models/cross_connect_group.rb +63 -4
  62. data/lib/oci/core/models/dedicated_vm_host.rb +18 -1
  63. data/lib/oci/core/models/dedicated_vm_host_instance_summary.rb +18 -1
  64. data/lib/oci/core/models/dedicated_vm_host_summary.rb +18 -1
  65. data/lib/oci/core/models/instances.rb +140 -0
  66. data/lib/oci/core/models/letter_of_authority.rb +31 -4
  67. data/lib/oci/core/models/loa_extension_data.rb +170 -0
  68. data/lib/oci/core/models/provider_remote_region_name.rb +174 -0
  69. data/lib/oci/core/models/retention_duration.rb +189 -0
  70. data/lib/oci/core/models/supported_capabilities.rb +21 -4
  71. data/lib/oci/core/models/update_boot_volume_backup_details.rb +59 -4
  72. data/lib/oci/core/models/update_cross_connect_details.rb +32 -4
  73. data/lib/oci/core/models/update_cross_connect_group_details.rb +49 -4
  74. data/lib/oci/core/models/update_cross_connect_letter_of_authority_details.rb +195 -0
  75. data/lib/oci/core/models/update_virtual_circuit_details.rb +30 -1
  76. data/lib/oci/core/models/update_volume_backup_details.rb +59 -4
  77. data/lib/oci/core/models/update_volume_group_backup_details.rb +59 -4
  78. data/lib/oci/core/models/virtual_circuit.rb +80 -1
  79. data/lib/oci/core/models/volume_backup.rb +87 -4
  80. data/lib/oci/core/models/volume_backup_schedule.rb +45 -4
  81. data/lib/oci/core/models/volume_group_backup.rb +73 -4
  82. data/lib/oci/core/virtual_network_client.rb +136 -2
  83. data/lib/oci/database/database.rb +13 -0
  84. data/lib/oci/database/database_client.rb +923 -111
  85. data/lib/oci/database/database_client_composite_operations.rb +283 -0
  86. data/lib/oci/database/models/basecc_vm_cluster.rb +713 -0
  87. data/lib/oci/database/models/basecc_vm_cluster_summary.rb +716 -0
  88. data/lib/oci/database/models/basecc_vm_cluster_update.rb +342 -0
  89. data/lib/oci/database/models/basecc_vm_cluster_update_details.rb +198 -0
  90. data/lib/oci/database/models/basecc_vm_cluster_update_history_entry.rb +318 -0
  91. data/lib/oci/database/models/basecc_vm_cluster_update_history_entry_summary.rb +321 -0
  92. data/lib/oci/database/models/basecc_vm_cluster_update_summary.rb +349 -0
  93. data/lib/oci/database/models/change_basecc_vm_cluster_compartment_details.rb +156 -0
  94. data/lib/oci/database/models/cloud_vm_cluster.rb +28 -1
  95. data/lib/oci/database/models/cloud_vm_cluster_summary.rb +28 -1
  96. data/lib/oci/database/models/create_basecc_vm_cluster_details.rb +506 -0
  97. data/lib/oci/database/models/create_database_software_image_details.rb +2 -1
  98. data/lib/oci/database/models/database_software_image.rb +1 -0
  99. data/lib/oci/database/models/database_software_image_summary.rb +1 -0
  100. data/lib/oci/database/models/exadata_live_image_version_details.rb +216 -0
  101. data/lib/oci/database/models/exadb_vm_cluster.rb +53 -4
  102. data/lib/oci/database/models/exadb_vm_cluster_summary.rb +53 -4
  103. data/lib/oci/database/models/register_exadb_vm_cluster_pkcs_details.rb +171 -0
  104. data/lib/oci/database/models/unregister_exadb_vm_cluster_pkcs_details.rb +171 -0
  105. data/lib/oci/database/models/update.rb +94 -1
  106. data/lib/oci/database/models/update_basecc_vm_cluster_details.rb +345 -0
  107. data/lib/oci/database/models/update_details.rb +33 -1
  108. data/lib/oci/database/models/update_history_entry.rb +39 -1
  109. data/lib/oci/database/models/update_history_entry_summary.rb +39 -1
  110. data/lib/oci/database/models/update_summary.rb +94 -1
  111. data/lib/oci/database/models/vm_cluster.rb +28 -1
  112. data/lib/oci/database/models/vm_cluster_summary.rb +28 -1
  113. data/lib/oci/database/models/vm_cluster_update.rb +94 -1
  114. data/lib/oci/database/models/vm_cluster_update_details.rb +33 -1
  115. data/lib/oci/database/models/vm_cluster_update_history_entry.rb +39 -1
  116. data/lib/oci/database/models/vm_cluster_update_history_entry_summary.rb +39 -1
  117. data/lib/oci/database/models/vm_cluster_update_summary.rb +94 -1
  118. data/lib/oci/file_storage/models/file_system.rb +37 -4
  119. data/lib/oci/file_storage/models/file_system_summary.rb +37 -4
  120. data/lib/oci/file_storage/models/snapshot.rb +19 -4
  121. data/lib/oci/file_storage/models/snapshot_summary.rb +19 -4
  122. data/lib/oci/generative_ai/models/create_dedicated_ai_cluster_details.rb +3 -0
  123. data/lib/oci/generative_ai/models/dedicated_ai_cluster.rb +2 -0
  124. data/lib/oci/golden_gate/golden_gate.rb +29 -0
  125. data/lib/oci/golden_gate/golden_gate_client.rb +185 -6
  126. data/lib/oci/golden_gate/models/ai_model_auth_details.rb +194 -0
  127. data/lib/oci/golden_gate/models/ai_model_auth_details_summary.rb +194 -0
  128. data/lib/oci/golden_gate/models/ai_model_auth_type.rb +13 -0
  129. data/lib/oci/golden_gate/models/ai_model_collection.rb +153 -0
  130. data/lib/oci/golden_gate/models/ai_model_connection.rb +350 -0
  131. data/lib/oci/golden_gate/models/ai_model_connection_summary.rb +333 -0
  132. data/lib/oci/golden_gate/models/ai_model_summary.rb +216 -0
  133. data/lib/oci/golden_gate/models/ai_provider_collection.rb +153 -0
  134. data/lib/oci/golden_gate/models/ai_provider_summary.rb +249 -0
  135. data/lib/oci/golden_gate/models/amazon_kinesis_connection.rb +1 -0
  136. data/lib/oci/golden_gate/models/amazon_kinesis_connection_summary.rb +1 -0
  137. data/lib/oci/golden_gate/models/amazon_s3_connection.rb +1 -1
  138. data/lib/oci/golden_gate/models/amazon_s3_connection_summary.rb +1 -1
  139. data/lib/oci/golden_gate/models/amazon_s3_iceberg_storage.rb +1 -0
  140. data/lib/oci/golden_gate/models/amazon_s3_iceberg_storage_summary.rb +1 -0
  141. data/lib/oci/golden_gate/models/api_key_ai_model_auth_details.rb +199 -0
  142. data/lib/oci/golden_gate/models/api_key_ai_model_auth_details_summary.rb +181 -0
  143. data/lib/oci/golden_gate/models/connection.rb +43 -6
  144. data/lib/oci/golden_gate/models/connection_assignment.rb +63 -1
  145. data/lib/oci/golden_gate/models/connection_assignment_summary.rb +64 -1
  146. data/lib/oci/golden_gate/models/connection_summary.rb +42 -6
  147. data/lib/oci/golden_gate/models/connection_type.rb +2 -1
  148. data/lib/oci/golden_gate/models/create_ai_model_auth_details.rb +187 -0
  149. data/lib/oci/golden_gate/models/create_ai_model_connection_details.rb +298 -0
  150. data/lib/oci/golden_gate/models/create_amazon_kinesis_connection_details.rb +4 -1
  151. data/lib/oci/golden_gate/models/create_amazon_redshift_connection_details.rb +3 -1
  152. data/lib/oci/golden_gate/models/create_amazon_s3_connection_details.rb +5 -3
  153. data/lib/oci/golden_gate/models/create_amazon_s3_iceberg_storage_details.rb +5 -2
  154. data/lib/oci/golden_gate/models/create_api_key_ai_model_auth_details.rb +199 -0
  155. data/lib/oci/golden_gate/models/create_azure_data_lake_storage_connection_details.rb +9 -3
  156. data/lib/oci/golden_gate/models/create_azure_data_lake_storage_iceberg_storage_details.rb +3 -1
  157. data/lib/oci/golden_gate/models/create_azure_synapse_connection_details.rb +3 -1
  158. data/lib/oci/golden_gate/models/create_connection_details.rb +43 -7
  159. data/lib/oci/golden_gate/models/create_database_registration_details.rb +6 -2
  160. data/lib/oci/golden_gate/models/create_databricks_connection_details.rb +6 -2
  161. data/lib/oci/golden_gate/models/create_db2_connection_details.rb +9 -3
  162. data/lib/oci/golden_gate/models/create_elasticsearch_connection_details.rb +3 -1
  163. data/lib/oci/golden_gate/models/create_golden_gate_connection_details.rb +3 -1
  164. data/lib/oci/golden_gate/models/create_google_big_query_connection_details.rb +3 -1
  165. data/lib/oci/golden_gate/models/create_google_cloud_storage_connection_details.rb +3 -1
  166. data/lib/oci/golden_gate/models/create_google_cloud_storage_iceberg_storage_details.rb +3 -1
  167. data/lib/oci/golden_gate/models/create_google_pub_sub_connection_details.rb +3 -1
  168. data/lib/oci/golden_gate/models/create_iceberg_connection_details.rb +1 -0
  169. data/lib/oci/golden_gate/models/create_iceberg_storage_details.rb +5 -1
  170. data/lib/oci/golden_gate/models/create_java_message_service_connection_details.rb +21 -7
  171. data/lib/oci/golden_gate/models/create_kafka_connection_details.rb +18 -6
  172. data/lib/oci/golden_gate/models/create_kafka_schema_registry_connection_details.rb +18 -6
  173. data/lib/oci/golden_gate/models/create_microsoft_fabric_connection_details.rb +3 -1
  174. data/lib/oci/golden_gate/models/create_microsoft_sqlserver_connection_details.rb +3 -1
  175. data/lib/oci/golden_gate/models/create_mongo_db_connection_details.rb +9 -3
  176. data/lib/oci/golden_gate/models/create_mysql_connection_details.rb +6 -2
  177. data/lib/oci/golden_gate/models/create_no_iceberg_storage_details.rb +148 -0
  178. data/lib/oci/golden_gate/models/create_oci_gen_ai_model_auth_details.rb +242 -0
  179. data/lib/oci/golden_gate/models/create_oci_object_storage_connection_details.rb +6 -2
  180. data/lib/oci/golden_gate/models/create_oci_object_storage_s3_api_iceberg_storage_details.rb +228 -0
  181. data/lib/oci/golden_gate/models/create_oracle_ai_data_platform_connection_details.rb +6 -2
  182. data/lib/oci/golden_gate/models/create_oracle_connection_details.rb +7 -3
  183. data/lib/oci/golden_gate/models/create_oracle_nosql_connection_details.rb +6 -2
  184. data/lib/oci/golden_gate/models/create_postgresql_connection_details.rb +6 -2
  185. data/lib/oci/golden_gate/models/create_redis_connection_details.rb +15 -5
  186. data/lib/oci/golden_gate/models/create_snowflake_connection_details.rb +9 -3
  187. data/lib/oci/golden_gate/models/deployment_type_summary.rb +1 -0
  188. data/lib/oci/golden_gate/models/iceberg_connection.rb +1 -0
  189. data/lib/oci/golden_gate/models/iceberg_connection_summary.rb +1 -0
  190. data/lib/oci/golden_gate/models/iceberg_storage.rb +4 -0
  191. data/lib/oci/golden_gate/models/iceberg_storage_summary.rb +4 -0
  192. data/lib/oci/golden_gate/models/iceberg_storage_type.rb +3 -1
  193. data/lib/oci/golden_gate/models/kafka_connection.rb +1 -0
  194. data/lib/oci/golden_gate/models/no_iceberg_storage.rb +148 -0
  195. data/lib/oci/golden_gate/models/no_iceberg_storage_summary.rb +148 -0
  196. data/lib/oci/golden_gate/models/oci_gen_ai_model_auth_details.rb +242 -0
  197. data/lib/oci/golden_gate/models/oci_gen_ai_model_auth_details_summary.rb +224 -0
  198. data/lib/oci/golden_gate/models/oci_object_storage_s3_api_iceberg_storage.rb +209 -0
  199. data/lib/oci/golden_gate/models/oci_object_storage_s3_api_iceberg_storage_summary.rb +209 -0
  200. data/lib/oci/golden_gate/models/oracle_connection.rb +4 -1
  201. data/lib/oci/golden_gate/models/oracle_connection_summary.rb +1 -1
  202. data/lib/oci/golden_gate/models/technology_type.rb +6 -1
  203. data/lib/oci/golden_gate/models/update_ai_model_auth_details.rb +187 -0
  204. data/lib/oci/golden_gate/models/update_ai_model_connection_details.rb +237 -0
  205. data/lib/oci/golden_gate/models/update_amazon_kinesis_connection_details.rb +4 -1
  206. data/lib/oci/golden_gate/models/update_amazon_redshift_connection_details.rb +3 -1
  207. data/lib/oci/golden_gate/models/update_amazon_s3_connection_details.rb +5 -3
  208. data/lib/oci/golden_gate/models/update_amazon_s3_iceberg_storage_details.rb +5 -2
  209. data/lib/oci/golden_gate/models/update_api_key_ai_model_auth_details.rb +199 -0
  210. data/lib/oci/golden_gate/models/update_azure_data_lake_storage_connection_details.rb +9 -3
  211. data/lib/oci/golden_gate/models/update_azure_data_lake_storage_iceberg_storage_details.rb +3 -1
  212. data/lib/oci/golden_gate/models/update_azure_synapse_connection_details.rb +3 -1
  213. data/lib/oci/golden_gate/models/update_connection_details.rb +43 -7
  214. data/lib/oci/golden_gate/models/update_database_registration_details.rb +6 -2
  215. data/lib/oci/golden_gate/models/update_databricks_connection_details.rb +6 -2
  216. data/lib/oci/golden_gate/models/update_db2_connection_details.rb +9 -3
  217. data/lib/oci/golden_gate/models/update_elasticsearch_connection_details.rb +3 -1
  218. data/lib/oci/golden_gate/models/update_golden_gate_connection_details.rb +3 -1
  219. data/lib/oci/golden_gate/models/update_google_big_query_connection_details.rb +3 -1
  220. data/lib/oci/golden_gate/models/update_google_cloud_storage_connection_details.rb +3 -1
  221. data/lib/oci/golden_gate/models/update_google_cloud_storage_iceberg_storage_details.rb +3 -1
  222. data/lib/oci/golden_gate/models/update_google_pub_sub_connection_details.rb +3 -1
  223. data/lib/oci/golden_gate/models/update_iceberg_storage_details.rb +5 -1
  224. data/lib/oci/golden_gate/models/update_java_message_service_connection_details.rb +21 -7
  225. data/lib/oci/golden_gate/models/update_kafka_connection_details.rb +18 -6
  226. data/lib/oci/golden_gate/models/update_kafka_schema_registry_connection_details.rb +18 -6
  227. data/lib/oci/golden_gate/models/update_microsoft_fabric_connection_details.rb +3 -1
  228. data/lib/oci/golden_gate/models/update_microsoft_sqlserver_connection_details.rb +3 -1
  229. data/lib/oci/golden_gate/models/update_mongo_db_connection_details.rb +9 -3
  230. data/lib/oci/golden_gate/models/update_mysql_connection_details.rb +6 -2
  231. data/lib/oci/golden_gate/models/update_no_iceberg_storage_details.rb +148 -0
  232. data/lib/oci/golden_gate/models/update_oci_gen_ai_model_auth_details.rb +242 -0
  233. data/lib/oci/golden_gate/models/update_oci_object_storage_connection_details.rb +6 -2
  234. data/lib/oci/golden_gate/models/update_oci_object_storage_s3_api_iceberg_storage_details.rb +228 -0
  235. data/lib/oci/golden_gate/models/update_oracle_ai_data_platform_connection_details.rb +6 -2
  236. data/lib/oci/golden_gate/models/update_oracle_connection_details.rb +7 -3
  237. data/lib/oci/golden_gate/models/update_oracle_nosql_connection_details.rb +6 -2
  238. data/lib/oci/golden_gate/models/update_postgresql_connection_details.rb +6 -2
  239. data/lib/oci/golden_gate/models/update_redis_connection_details.rb +15 -5
  240. data/lib/oci/golden_gate/models/update_snowflake_connection_details.rb +9 -3
  241. data/lib/oci/regions.rb +8 -1
  242. data/lib/oci/version.rb +1 -1
  243. metadata +55 -2
@@ -43,6 +43,29 @@ module OCI
43
43
  # @return [OCI::Core::Models::CreateMacsecProperties]
44
44
  attr_accessor :macsec_properties
45
45
 
46
+ # (Optional) Minimum number of active cross-connects required for the cross-connect group to be considered
47
+ # operational. During create cross-connect-group operation this value can only be set to 1 (If not specified,
48
+ # this value defaults to 1) and can be edited using the update cross-connect group operation. Value must not
49
+ # exceed the total number of cross-connects in the cross-connect group.
50
+ #
51
+ # @return [Integer]
52
+ attr_accessor :minimum_links
53
+
54
+ # The flag to enable or disable the down timer for the interface.
55
+ # @return [BOOLEAN]
56
+ attr_accessor :is_interface_hold_timer_enabled
57
+
58
+ # The duration of the interface down timer in milliseconds between 0 and 3000 in multiples of 500.
59
+ # @return [Integer]
60
+ attr_accessor :interface_down_timer_value_in_milliseconds
61
+
62
+ # (Optional) When true, restricts placement so cross-connects lands only on QoS-capable devices.
63
+ # When false (default), placement may use any supported device. If no QoS-capable devices are available
64
+ # in the selected location, the request fails.
65
+ #
66
+ # @return [BOOLEAN]
67
+ attr_accessor :is_qos_enabled
68
+
46
69
  # Attribute mapping from ruby-style variable name to JSON key.
47
70
  def self.attribute_map
48
71
  {
@@ -52,7 +75,11 @@ module OCI
52
75
  'display_name': :'displayName',
53
76
  'customer_reference_name': :'customerReferenceName',
54
77
  'freeform_tags': :'freeformTags',
55
- 'macsec_properties': :'macsecProperties'
78
+ 'macsec_properties': :'macsecProperties',
79
+ 'minimum_links': :'minimumLinks',
80
+ 'is_interface_hold_timer_enabled': :'isInterfaceHoldTimerEnabled',
81
+ 'interface_down_timer_value_in_milliseconds': :'interfaceDownTimerValueInMilliseconds',
82
+ 'is_qos_enabled': :'isQosEnabled'
56
83
  # rubocop:enable Style/SymbolLiteral
57
84
  }
58
85
  end
@@ -66,7 +93,11 @@ module OCI
66
93
  'display_name': :'String',
67
94
  'customer_reference_name': :'String',
68
95
  'freeform_tags': :'Hash<String, String>',
69
- 'macsec_properties': :'OCI::Core::Models::CreateMacsecProperties'
96
+ 'macsec_properties': :'OCI::Core::Models::CreateMacsecProperties',
97
+ 'minimum_links': :'Integer',
98
+ 'is_interface_hold_timer_enabled': :'BOOLEAN',
99
+ 'interface_down_timer_value_in_milliseconds': :'Integer',
100
+ 'is_qos_enabled': :'BOOLEAN'
70
101
  # rubocop:enable Style/SymbolLiteral
71
102
  }
72
103
  end
@@ -83,6 +114,10 @@ module OCI
83
114
  # @option attributes [String] :customer_reference_name The value to assign to the {#customer_reference_name} property
84
115
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
85
116
  # @option attributes [OCI::Core::Models::CreateMacsecProperties] :macsec_properties The value to assign to the {#macsec_properties} property
117
+ # @option attributes [Integer] :minimum_links The value to assign to the {#minimum_links} property
118
+ # @option attributes [BOOLEAN] :is_interface_hold_timer_enabled The value to assign to the {#is_interface_hold_timer_enabled} property
119
+ # @option attributes [Integer] :interface_down_timer_value_in_milliseconds The value to assign to the {#interface_down_timer_value_in_milliseconds} property
120
+ # @option attributes [BOOLEAN] :is_qos_enabled The value to assign to the {#is_qos_enabled} property
86
121
  def initialize(attributes = {})
87
122
  return unless attributes.is_a?(Hash)
88
123
 
@@ -124,6 +159,34 @@ module OCI
124
159
  raise 'You cannot provide both :macsecProperties and :macsec_properties' if attributes.key?(:'macsecProperties') && attributes.key?(:'macsec_properties')
125
160
 
126
161
  self.macsec_properties = attributes[:'macsec_properties'] if attributes[:'macsec_properties']
162
+
163
+ self.minimum_links = attributes[:'minimumLinks'] if attributes[:'minimumLinks']
164
+
165
+ raise 'You cannot provide both :minimumLinks and :minimum_links' if attributes.key?(:'minimumLinks') && attributes.key?(:'minimum_links')
166
+
167
+ self.minimum_links = attributes[:'minimum_links'] if attributes[:'minimum_links']
168
+
169
+ self.is_interface_hold_timer_enabled = attributes[:'isInterfaceHoldTimerEnabled'] unless attributes[:'isInterfaceHoldTimerEnabled'].nil?
170
+ self.is_interface_hold_timer_enabled = false if is_interface_hold_timer_enabled.nil? && !attributes.key?(:'isInterfaceHoldTimerEnabled') # rubocop:disable Style/StringLiterals
171
+
172
+ raise 'You cannot provide both :isInterfaceHoldTimerEnabled and :is_interface_hold_timer_enabled' if attributes.key?(:'isInterfaceHoldTimerEnabled') && attributes.key?(:'is_interface_hold_timer_enabled')
173
+
174
+ self.is_interface_hold_timer_enabled = attributes[:'is_interface_hold_timer_enabled'] unless attributes[:'is_interface_hold_timer_enabled'].nil?
175
+ self.is_interface_hold_timer_enabled = false if is_interface_hold_timer_enabled.nil? && !attributes.key?(:'isInterfaceHoldTimerEnabled') && !attributes.key?(:'is_interface_hold_timer_enabled') # rubocop:disable Style/StringLiterals
176
+
177
+ self.interface_down_timer_value_in_milliseconds = attributes[:'interfaceDownTimerValueInMilliseconds'] if attributes[:'interfaceDownTimerValueInMilliseconds']
178
+
179
+ raise 'You cannot provide both :interfaceDownTimerValueInMilliseconds and :interface_down_timer_value_in_milliseconds' if attributes.key?(:'interfaceDownTimerValueInMilliseconds') && attributes.key?(:'interface_down_timer_value_in_milliseconds')
180
+
181
+ self.interface_down_timer_value_in_milliseconds = attributes[:'interface_down_timer_value_in_milliseconds'] if attributes[:'interface_down_timer_value_in_milliseconds']
182
+
183
+ self.is_qos_enabled = attributes[:'isQosEnabled'] unless attributes[:'isQosEnabled'].nil?
184
+ self.is_qos_enabled = false if is_qos_enabled.nil? && !attributes.key?(:'isQosEnabled') # rubocop:disable Style/StringLiterals
185
+
186
+ raise 'You cannot provide both :isQosEnabled and :is_qos_enabled' if attributes.key?(:'isQosEnabled') && attributes.key?(:'is_qos_enabled')
187
+
188
+ self.is_qos_enabled = attributes[:'is_qos_enabled'] unless attributes[:'is_qos_enabled'].nil?
189
+ self.is_qos_enabled = false if is_qos_enabled.nil? && !attributes.key?(:'isQosEnabled') && !attributes.key?(:'is_qos_enabled') # rubocop:disable Style/StringLiterals
127
190
  end
128
191
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
129
192
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -142,7 +205,11 @@ module OCI
142
205
  display_name == other.display_name &&
143
206
  customer_reference_name == other.customer_reference_name &&
144
207
  freeform_tags == other.freeform_tags &&
145
- macsec_properties == other.macsec_properties
208
+ macsec_properties == other.macsec_properties &&
209
+ minimum_links == other.minimum_links &&
210
+ is_interface_hold_timer_enabled == other.is_interface_hold_timer_enabled &&
211
+ interface_down_timer_value_in_milliseconds == other.interface_down_timer_value_in_milliseconds &&
212
+ is_qos_enabled == other.is_qos_enabled
146
213
  end
147
214
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
148
215
 
@@ -158,7 +225,7 @@ module OCI
158
225
  # Calculates hash code according to all attributes.
159
226
  # @return [Fixnum] Hash code
160
227
  def hash
161
- [compartment_id, defined_tags, display_name, customer_reference_name, freeform_tags, macsec_properties].hash
228
+ [compartment_id, defined_tags, display_name, customer_reference_name, freeform_tags, macsec_properties, minimum_links, is_interface_hold_timer_enabled, interface_down_timer_value_in_milliseconds, is_qos_enabled].hash
162
229
  end
163
230
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
164
231
 
@@ -75,6 +75,11 @@ module OCI
75
75
  # @return [BOOLEAN]
76
76
  attr_accessor :is_memory_encryption_enabled
77
77
 
78
+ # Specifies if the Dedicated Virtual Machine Host (DVMH) is restricted to running only Burstable VMs. If `true`, only Burstable VMs can be launched. If `false`, Burstable VMs cannot be launched.
79
+ #
80
+ # @return [BOOLEAN]
81
+ attr_accessor :is_burstable
82
+
78
83
  # Attribute mapping from ruby-style variable name to JSON key.
79
84
  def self.attribute_map
80
85
  {
@@ -88,7 +93,8 @@ module OCI
88
93
  'freeform_tags': :'freeformTags',
89
94
  'placement_constraint_details': :'placementConstraintDetails',
90
95
  'capacity_config': :'capacityConfig',
91
- 'is_memory_encryption_enabled': :'isMemoryEncryptionEnabled'
96
+ 'is_memory_encryption_enabled': :'isMemoryEncryptionEnabled',
97
+ 'is_burstable': :'isBurstable'
92
98
  # rubocop:enable Style/SymbolLiteral
93
99
  }
94
100
  end
@@ -106,7 +112,8 @@ module OCI
106
112
  'freeform_tags': :'Hash<String, String>',
107
113
  'placement_constraint_details': :'OCI::Core::Models::PlacementConstraintDetails',
108
114
  'capacity_config': :'String',
109
- 'is_memory_encryption_enabled': :'BOOLEAN'
115
+ 'is_memory_encryption_enabled': :'BOOLEAN',
116
+ 'is_burstable': :'BOOLEAN'
110
117
  # rubocop:enable Style/SymbolLiteral
111
118
  }
112
119
  end
@@ -127,6 +134,7 @@ module OCI
127
134
  # @option attributes [OCI::Core::Models::PlacementConstraintDetails] :placement_constraint_details The value to assign to the {#placement_constraint_details} property
128
135
  # @option attributes [String] :capacity_config The value to assign to the {#capacity_config} property
129
136
  # @option attributes [BOOLEAN] :is_memory_encryption_enabled The value to assign to the {#is_memory_encryption_enabled} property
137
+ # @option attributes [BOOLEAN] :is_burstable The value to assign to the {#is_burstable} property
130
138
  def initialize(attributes = {})
131
139
  return unless attributes.is_a?(Hash)
132
140
 
@@ -194,6 +202,14 @@ module OCI
194
202
 
195
203
  self.is_memory_encryption_enabled = attributes[:'is_memory_encryption_enabled'] unless attributes[:'is_memory_encryption_enabled'].nil?
196
204
  self.is_memory_encryption_enabled = false if is_memory_encryption_enabled.nil? && !attributes.key?(:'isMemoryEncryptionEnabled') && !attributes.key?(:'is_memory_encryption_enabled') # rubocop:disable Style/StringLiterals
205
+
206
+ self.is_burstable = attributes[:'isBurstable'] unless attributes[:'isBurstable'].nil?
207
+ self.is_burstable = false if is_burstable.nil? && !attributes.key?(:'isBurstable') # rubocop:disable Style/StringLiterals
208
+
209
+ raise 'You cannot provide both :isBurstable and :is_burstable' if attributes.key?(:'isBurstable') && attributes.key?(:'is_burstable')
210
+
211
+ self.is_burstable = attributes[:'is_burstable'] unless attributes[:'is_burstable'].nil?
212
+ self.is_burstable = false if is_burstable.nil? && !attributes.key?(:'isBurstable') && !attributes.key?(:'is_burstable') # rubocop:disable Style/StringLiterals
197
213
  end
198
214
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
199
215
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -216,7 +232,8 @@ module OCI
216
232
  freeform_tags == other.freeform_tags &&
217
233
  placement_constraint_details == other.placement_constraint_details &&
218
234
  capacity_config == other.capacity_config &&
219
- is_memory_encryption_enabled == other.is_memory_encryption_enabled
235
+ is_memory_encryption_enabled == other.is_memory_encryption_enabled &&
236
+ is_burstable == other.is_burstable
220
237
  end
221
238
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
222
239
 
@@ -232,7 +249,7 @@ module OCI
232
249
  # Calculates hash code according to all attributes.
233
250
  # @return [Fixnum] Hash code
234
251
  def hash
235
- [availability_domain, compartment_id, dedicated_vm_host_shape, defined_tags, display_name, fault_domain, freeform_tags, placement_constraint_details, capacity_config, is_memory_encryption_enabled].hash
252
+ [availability_domain, compartment_id, dedicated_vm_host_shape, defined_tags, display_name, fault_domain, freeform_tags, placement_constraint_details, capacity_config, is_memory_encryption_enabled, is_burstable].hash
236
253
  end
237
254
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
238
255
 
@@ -30,6 +30,11 @@ module OCI
30
30
  IP_MTU_MTU_9000 = 'MTU_9000'.freeze
31
31
  ].freeze
32
32
 
33
+ TRAFFIC_MODE_ENUM = [
34
+ TRAFFIC_MODE_NORMAL = 'NORMAL'.freeze,
35
+ TRAFFIC_MODE_DRAIN = 'DRAIN'.freeze
36
+ ].freeze
37
+
33
38
  # The provisioned data rate of the connection. To get a list of the
34
39
  # available bandwidth levels (that is, shapes), see
35
40
  # {#list_fast_connect_provider_virtual_circuit_bandwidth_shapes list_fast_connect_provider_virtual_circuit_bandwidth_shapes}.
@@ -167,6 +172,22 @@ module OCI
167
172
  # @return [String]
168
173
  attr_reader :ip_mtu
169
174
 
175
+ # The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the OCI region.
176
+ # To get the list of associated provider remote region use the ListProviderRemoteRegions operation
177
+ #
178
+ # @return [String]
179
+ attr_accessor :provider_remote_region
180
+
181
+ # Customer's account on Provider/Partner cloud (AWS, GCP or any other)
182
+ # @return [String]
183
+ attr_accessor :remote_account_id
184
+
185
+ # The traffic mode to be set with this Virtual Circuit. This controls whether the traffic is to be drained
186
+ # for the associated Virtual Circuit or not.
187
+ #
188
+ # @return [String]
189
+ attr_reader :traffic_mode
190
+
170
191
  # Attribute mapping from ruby-style variable name to JSON key.
171
192
  def self.attribute_map
172
193
  {
@@ -191,7 +212,10 @@ module OCI
191
212
  'public_prefixes': :'publicPrefixes',
192
213
  'region': :'region',
193
214
  'type': :'type',
194
- 'ip_mtu': :'ipMtu'
215
+ 'ip_mtu': :'ipMtu',
216
+ 'provider_remote_region': :'providerRemoteRegion',
217
+ 'remote_account_id': :'remoteAccountId',
218
+ 'traffic_mode': :'trafficMode'
195
219
  # rubocop:enable Style/SymbolLiteral
196
220
  }
197
221
  end
@@ -220,7 +244,10 @@ module OCI
220
244
  'public_prefixes': :'Array<OCI::Core::Models::CreateVirtualCircuitPublicPrefixDetails>',
221
245
  'region': :'String',
222
246
  'type': :'String',
223
- 'ip_mtu': :'String'
247
+ 'ip_mtu': :'String',
248
+ 'provider_remote_region': :'String',
249
+ 'remote_account_id': :'String',
250
+ 'traffic_mode': :'String'
224
251
  # rubocop:enable Style/SymbolLiteral
225
252
  }
226
253
  end
@@ -252,6 +279,9 @@ module OCI
252
279
  # @option attributes [String] :region The value to assign to the {#region} property
253
280
  # @option attributes [String] :type The value to assign to the {#type} property
254
281
  # @option attributes [String] :ip_mtu The value to assign to the {#ip_mtu} property
282
+ # @option attributes [String] :provider_remote_region The value to assign to the {#provider_remote_region} property
283
+ # @option attributes [String] :remote_account_id The value to assign to the {#remote_account_id} property
284
+ # @option attributes [String] :traffic_mode The value to assign to the {#traffic_mode} property
255
285
  def initialize(attributes = {})
256
286
  return unless attributes.is_a?(Hash)
257
287
 
@@ -379,6 +409,24 @@ module OCI
379
409
  raise 'You cannot provide both :ipMtu and :ip_mtu' if attributes.key?(:'ipMtu') && attributes.key?(:'ip_mtu')
380
410
 
381
411
  self.ip_mtu = attributes[:'ip_mtu'] if attributes[:'ip_mtu']
412
+
413
+ self.provider_remote_region = attributes[:'providerRemoteRegion'] if attributes[:'providerRemoteRegion']
414
+
415
+ raise 'You cannot provide both :providerRemoteRegion and :provider_remote_region' if attributes.key?(:'providerRemoteRegion') && attributes.key?(:'provider_remote_region')
416
+
417
+ self.provider_remote_region = attributes[:'provider_remote_region'] if attributes[:'provider_remote_region']
418
+
419
+ self.remote_account_id = attributes[:'remoteAccountId'] if attributes[:'remoteAccountId']
420
+
421
+ raise 'You cannot provide both :remoteAccountId and :remote_account_id' if attributes.key?(:'remoteAccountId') && attributes.key?(:'remote_account_id')
422
+
423
+ self.remote_account_id = attributes[:'remote_account_id'] if attributes[:'remote_account_id']
424
+
425
+ self.traffic_mode = attributes[:'trafficMode'] if attributes[:'trafficMode']
426
+
427
+ raise 'You cannot provide both :trafficMode and :traffic_mode' if attributes.key?(:'trafficMode') && attributes.key?(:'traffic_mode')
428
+
429
+ self.traffic_mode = attributes[:'traffic_mode'] if attributes[:'traffic_mode']
382
430
  end
383
431
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
384
432
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -422,6 +470,14 @@ module OCI
422
470
  @ip_mtu = ip_mtu
423
471
  end
424
472
 
473
+ # Custom attribute writer method checking allowed values (enum).
474
+ # @param [Object] traffic_mode Object to be assigned
475
+ def traffic_mode=(traffic_mode)
476
+ raise "Invalid value for 'traffic_mode': this must be one of the values in TRAFFIC_MODE_ENUM." if traffic_mode && !TRAFFIC_MODE_ENUM.include?(traffic_mode)
477
+
478
+ @traffic_mode = traffic_mode
479
+ end
480
+
425
481
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
426
482
 
427
483
 
@@ -451,7 +507,10 @@ module OCI
451
507
  public_prefixes == other.public_prefixes &&
452
508
  region == other.region &&
453
509
  type == other.type &&
454
- ip_mtu == other.ip_mtu
510
+ ip_mtu == other.ip_mtu &&
511
+ provider_remote_region == other.provider_remote_region &&
512
+ remote_account_id == other.remote_account_id &&
513
+ traffic_mode == other.traffic_mode
455
514
  end
456
515
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
457
516
 
@@ -467,7 +526,7 @@ module OCI
467
526
  # Calculates hash code according to all attributes.
468
527
  # @return [Fixnum] Hash code
469
528
  def hash
470
- [bandwidth_shape_name, compartment_id, cross_connect_mappings, routing_policy, bgp_admin_state, is_bfd_enabled, is_transport_mode, customer_bgp_asn, customer_asn, defined_tags, display_name, freeform_tags, gateway_id, provider_name, provider_service_id, provider_service_key_name, provider_service_name, public_prefixes, region, type, ip_mtu].hash
529
+ [bandwidth_shape_name, compartment_id, cross_connect_mappings, routing_policy, bgp_admin_state, is_bfd_enabled, is_transport_mode, customer_bgp_asn, customer_asn, defined_tags, display_name, freeform_tags, gateway_id, provider_name, provider_service_id, provider_service_key_name, provider_service_name, public_prefixes, region, type, ip_mtu, provider_remote_region, remote_account_id, traffic_mode].hash
471
530
  end
472
531
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
473
532
 
@@ -51,6 +51,21 @@ module OCI
51
51
  # @return [String]
52
52
  attr_accessor :volume_id
53
53
 
54
+ # @return [OCI::Core::Models::RetentionDuration]
55
+ attr_accessor :retention_period
56
+
57
+ # Prevent backups from being deleted during the configured retention period. This is an optional field. If it is not specified, it is set to null, prevent deletion will not be applied to the backups.
58
+ # @return [BOOLEAN]
59
+ attr_accessor :is_prevent_deletion_enabled
60
+
61
+ # feature that prevents deletion or alteration of backup data for a specified period to ensure data protection and regulatory compliance. This is an optional field. If it is not specified, it is set to null, no retention lock will be applied to the backups. This feature should be used in conjunction with the retention-period field.
62
+ # @return [BOOLEAN]
63
+ attr_accessor :is_retention_lock_enabled
64
+
65
+ # feature that preserves backup data from modification or deletion to ensure it remains available for legal or regulatory investigations or litigation, regardless of standard retention policies. This is an optional field. If it is not specified, it is set to null, no legal hold will be applied to the backups.
66
+ # @return [BOOLEAN]
67
+ attr_accessor :is_indefinite_retention_enabled
68
+
54
69
  # Attribute mapping from ruby-style variable name to JSON key.
55
70
  def self.attribute_map
56
71
  {
@@ -60,7 +75,11 @@ module OCI
60
75
  'display_name': :'displayName',
61
76
  'freeform_tags': :'freeformTags',
62
77
  'type': :'type',
63
- 'volume_id': :'volumeId'
78
+ 'volume_id': :'volumeId',
79
+ 'retention_period': :'retentionPeriod',
80
+ 'is_prevent_deletion_enabled': :'isPreventDeletionEnabled',
81
+ 'is_retention_lock_enabled': :'isRetentionLockEnabled',
82
+ 'is_indefinite_retention_enabled': :'isIndefiniteRetentionEnabled'
64
83
  # rubocop:enable Style/SymbolLiteral
65
84
  }
66
85
  end
@@ -74,7 +93,11 @@ module OCI
74
93
  'display_name': :'String',
75
94
  'freeform_tags': :'Hash<String, String>',
76
95
  'type': :'String',
77
- 'volume_id': :'String'
96
+ 'volume_id': :'String',
97
+ 'retention_period': :'OCI::Core::Models::RetentionDuration',
98
+ 'is_prevent_deletion_enabled': :'BOOLEAN',
99
+ 'is_retention_lock_enabled': :'BOOLEAN',
100
+ 'is_indefinite_retention_enabled': :'BOOLEAN'
78
101
  # rubocop:enable Style/SymbolLiteral
79
102
  }
80
103
  end
@@ -91,6 +114,10 @@ module OCI
91
114
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
92
115
  # @option attributes [String] :type The value to assign to the {#type} property
93
116
  # @option attributes [String] :volume_id The value to assign to the {#volume_id} property
117
+ # @option attributes [OCI::Core::Models::RetentionDuration] :retention_period The value to assign to the {#retention_period} property
118
+ # @option attributes [BOOLEAN] :is_prevent_deletion_enabled The value to assign to the {#is_prevent_deletion_enabled} property
119
+ # @option attributes [BOOLEAN] :is_retention_lock_enabled The value to assign to the {#is_retention_lock_enabled} property
120
+ # @option attributes [BOOLEAN] :is_indefinite_retention_enabled The value to assign to the {#is_indefinite_retention_enabled} property
94
121
  def initialize(attributes = {})
95
122
  return unless attributes.is_a?(Hash)
96
123
 
@@ -128,6 +155,30 @@ module OCI
128
155
  raise 'You cannot provide both :volumeId and :volume_id' if attributes.key?(:'volumeId') && attributes.key?(:'volume_id')
129
156
 
130
157
  self.volume_id = attributes[:'volume_id'] if attributes[:'volume_id']
158
+
159
+ self.retention_period = attributes[:'retentionPeriod'] if attributes[:'retentionPeriod']
160
+
161
+ raise 'You cannot provide both :retentionPeriod and :retention_period' if attributes.key?(:'retentionPeriod') && attributes.key?(:'retention_period')
162
+
163
+ self.retention_period = attributes[:'retention_period'] if attributes[:'retention_period']
164
+
165
+ self.is_prevent_deletion_enabled = attributes[:'isPreventDeletionEnabled'] unless attributes[:'isPreventDeletionEnabled'].nil?
166
+
167
+ raise 'You cannot provide both :isPreventDeletionEnabled and :is_prevent_deletion_enabled' if attributes.key?(:'isPreventDeletionEnabled') && attributes.key?(:'is_prevent_deletion_enabled')
168
+
169
+ self.is_prevent_deletion_enabled = attributes[:'is_prevent_deletion_enabled'] unless attributes[:'is_prevent_deletion_enabled'].nil?
170
+
171
+ self.is_retention_lock_enabled = attributes[:'isRetentionLockEnabled'] unless attributes[:'isRetentionLockEnabled'].nil?
172
+
173
+ raise 'You cannot provide both :isRetentionLockEnabled and :is_retention_lock_enabled' if attributes.key?(:'isRetentionLockEnabled') && attributes.key?(:'is_retention_lock_enabled')
174
+
175
+ self.is_retention_lock_enabled = attributes[:'is_retention_lock_enabled'] unless attributes[:'is_retention_lock_enabled'].nil?
176
+
177
+ self.is_indefinite_retention_enabled = attributes[:'isIndefiniteRetentionEnabled'] unless attributes[:'isIndefiniteRetentionEnabled'].nil?
178
+
179
+ raise 'You cannot provide both :isIndefiniteRetentionEnabled and :is_indefinite_retention_enabled' if attributes.key?(:'isIndefiniteRetentionEnabled') && attributes.key?(:'is_indefinite_retention_enabled')
180
+
181
+ self.is_indefinite_retention_enabled = attributes[:'is_indefinite_retention_enabled'] unless attributes[:'is_indefinite_retention_enabled'].nil?
131
182
  end
132
183
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
133
184
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -154,7 +205,11 @@ module OCI
154
205
  display_name == other.display_name &&
155
206
  freeform_tags == other.freeform_tags &&
156
207
  type == other.type &&
157
- volume_id == other.volume_id
208
+ volume_id == other.volume_id &&
209
+ retention_period == other.retention_period &&
210
+ is_prevent_deletion_enabled == other.is_prevent_deletion_enabled &&
211
+ is_retention_lock_enabled == other.is_retention_lock_enabled &&
212
+ is_indefinite_retention_enabled == other.is_indefinite_retention_enabled
158
213
  end
159
214
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
160
215
 
@@ -170,7 +225,7 @@ module OCI
170
225
  # Calculates hash code according to all attributes.
171
226
  # @return [Fixnum] Hash code
172
227
  def hash
173
- [kms_key_id, defined_tags, display_name, freeform_tags, type, volume_id].hash
228
+ [kms_key_id, defined_tags, display_name, freeform_tags, type, volume_id, retention_period, is_prevent_deletion_enabled, is_retention_lock_enabled, is_indefinite_retention_enabled].hash
174
229
  end
175
230
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
176
231
 
@@ -50,6 +50,21 @@ module OCI
50
50
  # @return [String]
51
51
  attr_accessor :volume_group_id
52
52
 
53
+ # @return [OCI::Core::Models::RetentionDuration]
54
+ attr_accessor :retention_period
55
+
56
+ # Prevent backups from being deleted during the configured retention period. This is an optional field. If it is not specified, it is set to null, prevent deletion will not be applied to the backups.
57
+ # @return [BOOLEAN]
58
+ attr_accessor :is_prevent_deletion_enabled
59
+
60
+ # feature that prevents deletion or alteration of backup data for a specified period to ensure data protection and regulatory compliance. This is an optional field. If it is not specified, it is set to null, no retention lock will be applied to the backups. This feature should be used in conjunction with the retention-period field.
61
+ # @return [BOOLEAN]
62
+ attr_accessor :is_retention_lock_enabled
63
+
64
+ # feature that preserves backup data from modification or deletion to ensure it remains available for legal or regulatory investigations or litigation, regardless of standard retention policies. This is an optional field. If it is not specified, it is set to null, no legal hold will be applied to the backups.
65
+ # @return [BOOLEAN]
66
+ attr_accessor :is_indefinite_retention_enabled
67
+
53
68
  # Attribute mapping from ruby-style variable name to JSON key.
54
69
  def self.attribute_map
55
70
  {
@@ -59,7 +74,11 @@ module OCI
59
74
  'display_name': :'displayName',
60
75
  'freeform_tags': :'freeformTags',
61
76
  'type': :'type',
62
- 'volume_group_id': :'volumeGroupId'
77
+ 'volume_group_id': :'volumeGroupId',
78
+ 'retention_period': :'retentionPeriod',
79
+ 'is_prevent_deletion_enabled': :'isPreventDeletionEnabled',
80
+ 'is_retention_lock_enabled': :'isRetentionLockEnabled',
81
+ 'is_indefinite_retention_enabled': :'isIndefiniteRetentionEnabled'
63
82
  # rubocop:enable Style/SymbolLiteral
64
83
  }
65
84
  end
@@ -73,7 +92,11 @@ module OCI
73
92
  'display_name': :'String',
74
93
  'freeform_tags': :'Hash<String, String>',
75
94
  'type': :'String',
76
- 'volume_group_id': :'String'
95
+ 'volume_group_id': :'String',
96
+ 'retention_period': :'OCI::Core::Models::RetentionDuration',
97
+ 'is_prevent_deletion_enabled': :'BOOLEAN',
98
+ 'is_retention_lock_enabled': :'BOOLEAN',
99
+ 'is_indefinite_retention_enabled': :'BOOLEAN'
77
100
  # rubocop:enable Style/SymbolLiteral
78
101
  }
79
102
  end
@@ -90,6 +113,10 @@ module OCI
90
113
  # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
91
114
  # @option attributes [String] :type The value to assign to the {#type} property
92
115
  # @option attributes [String] :volume_group_id The value to assign to the {#volume_group_id} property
116
+ # @option attributes [OCI::Core::Models::RetentionDuration] :retention_period The value to assign to the {#retention_period} property
117
+ # @option attributes [BOOLEAN] :is_prevent_deletion_enabled The value to assign to the {#is_prevent_deletion_enabled} property
118
+ # @option attributes [BOOLEAN] :is_retention_lock_enabled The value to assign to the {#is_retention_lock_enabled} property
119
+ # @option attributes [BOOLEAN] :is_indefinite_retention_enabled The value to assign to the {#is_indefinite_retention_enabled} property
93
120
  def initialize(attributes = {})
94
121
  return unless attributes.is_a?(Hash)
95
122
 
@@ -127,6 +154,30 @@ module OCI
127
154
  raise 'You cannot provide both :volumeGroupId and :volume_group_id' if attributes.key?(:'volumeGroupId') && attributes.key?(:'volume_group_id')
128
155
 
129
156
  self.volume_group_id = attributes[:'volume_group_id'] if attributes[:'volume_group_id']
157
+
158
+ self.retention_period = attributes[:'retentionPeriod'] if attributes[:'retentionPeriod']
159
+
160
+ raise 'You cannot provide both :retentionPeriod and :retention_period' if attributes.key?(:'retentionPeriod') && attributes.key?(:'retention_period')
161
+
162
+ self.retention_period = attributes[:'retention_period'] if attributes[:'retention_period']
163
+
164
+ self.is_prevent_deletion_enabled = attributes[:'isPreventDeletionEnabled'] unless attributes[:'isPreventDeletionEnabled'].nil?
165
+
166
+ raise 'You cannot provide both :isPreventDeletionEnabled and :is_prevent_deletion_enabled' if attributes.key?(:'isPreventDeletionEnabled') && attributes.key?(:'is_prevent_deletion_enabled')
167
+
168
+ self.is_prevent_deletion_enabled = attributes[:'is_prevent_deletion_enabled'] unless attributes[:'is_prevent_deletion_enabled'].nil?
169
+
170
+ self.is_retention_lock_enabled = attributes[:'isRetentionLockEnabled'] unless attributes[:'isRetentionLockEnabled'].nil?
171
+
172
+ raise 'You cannot provide both :isRetentionLockEnabled and :is_retention_lock_enabled' if attributes.key?(:'isRetentionLockEnabled') && attributes.key?(:'is_retention_lock_enabled')
173
+
174
+ self.is_retention_lock_enabled = attributes[:'is_retention_lock_enabled'] unless attributes[:'is_retention_lock_enabled'].nil?
175
+
176
+ self.is_indefinite_retention_enabled = attributes[:'isIndefiniteRetentionEnabled'] unless attributes[:'isIndefiniteRetentionEnabled'].nil?
177
+
178
+ raise 'You cannot provide both :isIndefiniteRetentionEnabled and :is_indefinite_retention_enabled' if attributes.key?(:'isIndefiniteRetentionEnabled') && attributes.key?(:'is_indefinite_retention_enabled')
179
+
180
+ self.is_indefinite_retention_enabled = attributes[:'is_indefinite_retention_enabled'] unless attributes[:'is_indefinite_retention_enabled'].nil?
130
181
  end
131
182
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
132
183
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -153,7 +204,11 @@ module OCI
153
204
  display_name == other.display_name &&
154
205
  freeform_tags == other.freeform_tags &&
155
206
  type == other.type &&
156
- volume_group_id == other.volume_group_id
207
+ volume_group_id == other.volume_group_id &&
208
+ retention_period == other.retention_period &&
209
+ is_prevent_deletion_enabled == other.is_prevent_deletion_enabled &&
210
+ is_retention_lock_enabled == other.is_retention_lock_enabled &&
211
+ is_indefinite_retention_enabled == other.is_indefinite_retention_enabled
157
212
  end
158
213
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
159
214
 
@@ -169,7 +224,7 @@ module OCI
169
224
  # Calculates hash code according to all attributes.
170
225
  # @return [Fixnum] Hash code
171
226
  def hash
172
- [compartment_id, defined_tags, display_name, freeform_tags, type, volume_group_id].hash
227
+ [compartment_id, defined_tags, display_name, freeform_tags, type, volume_group_id, retention_period, is_prevent_deletion_enabled, is_retention_lock_enabled, is_indefinite_retention_enabled].hash
173
228
  end
174
229
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
175
230
 
@@ -117,6 +117,18 @@ module OCI
117
117
  # @return [String]
118
118
  attr_accessor :oci_logical_device_name
119
119
 
120
+ # The flag to enable or disable the down timer for the interface.
121
+ # @return [BOOLEAN]
122
+ attr_accessor :is_interface_hold_timer_enabled
123
+
124
+ # The duration of the interface down timer in milliseconds between 0 and 3000 in multiples of 500.
125
+ # @return [Integer]
126
+ attr_accessor :interface_down_timer_value_in_milliseconds
127
+
128
+ # The flag to enable or disable the Qos for the cross-connect.
129
+ # @return [BOOLEAN]
130
+ attr_accessor :is_qos_enabled
131
+
120
132
  # The name of the FastConnect interface where this cross-connect is installed.
121
133
  #
122
134
  # @return [String]
@@ -141,6 +153,9 @@ module OCI
141
153
  'macsec_properties': :'macsecProperties',
142
154
  'oci_physical_device_name': :'ociPhysicalDeviceName',
143
155
  'oci_logical_device_name': :'ociLogicalDeviceName',
156
+ 'is_interface_hold_timer_enabled': :'isInterfaceHoldTimerEnabled',
157
+ 'interface_down_timer_value_in_milliseconds': :'interfaceDownTimerValueInMilliseconds',
158
+ 'is_qos_enabled': :'isQosEnabled',
144
159
  'interface_name': :'interfaceName'
145
160
  # rubocop:enable Style/SymbolLiteral
146
161
  }
@@ -165,6 +180,9 @@ module OCI
165
180
  'macsec_properties': :'OCI::Core::Models::MacsecProperties',
166
181
  'oci_physical_device_name': :'String',
167
182
  'oci_logical_device_name': :'String',
183
+ 'is_interface_hold_timer_enabled': :'BOOLEAN',
184
+ 'interface_down_timer_value_in_milliseconds': :'Integer',
185
+ 'is_qos_enabled': :'BOOLEAN',
168
186
  'interface_name': :'String'
169
187
  # rubocop:enable Style/SymbolLiteral
170
188
  }
@@ -191,6 +209,9 @@ module OCI
191
209
  # @option attributes [OCI::Core::Models::MacsecProperties] :macsec_properties The value to assign to the {#macsec_properties} property
192
210
  # @option attributes [String] :oci_physical_device_name The value to assign to the {#oci_physical_device_name} property
193
211
  # @option attributes [String] :oci_logical_device_name The value to assign to the {#oci_logical_device_name} property
212
+ # @option attributes [BOOLEAN] :is_interface_hold_timer_enabled The value to assign to the {#is_interface_hold_timer_enabled} property
213
+ # @option attributes [Integer] :interface_down_timer_value_in_milliseconds The value to assign to the {#interface_down_timer_value_in_milliseconds} property
214
+ # @option attributes [BOOLEAN] :is_qos_enabled The value to assign to the {#is_qos_enabled} property
194
215
  # @option attributes [String] :interface_name The value to assign to the {#interface_name} property
195
216
  def initialize(attributes = {})
196
217
  return unless attributes.is_a?(Hash)
@@ -284,6 +305,24 @@ module OCI
284
305
 
285
306
  self.oci_logical_device_name = attributes[:'oci_logical_device_name'] if attributes[:'oci_logical_device_name']
286
307
 
308
+ self.is_interface_hold_timer_enabled = attributes[:'isInterfaceHoldTimerEnabled'] unless attributes[:'isInterfaceHoldTimerEnabled'].nil?
309
+
310
+ raise 'You cannot provide both :isInterfaceHoldTimerEnabled and :is_interface_hold_timer_enabled' if attributes.key?(:'isInterfaceHoldTimerEnabled') && attributes.key?(:'is_interface_hold_timer_enabled')
311
+
312
+ self.is_interface_hold_timer_enabled = attributes[:'is_interface_hold_timer_enabled'] unless attributes[:'is_interface_hold_timer_enabled'].nil?
313
+
314
+ self.interface_down_timer_value_in_milliseconds = attributes[:'interfaceDownTimerValueInMilliseconds'] if attributes[:'interfaceDownTimerValueInMilliseconds']
315
+
316
+ raise 'You cannot provide both :interfaceDownTimerValueInMilliseconds and :interface_down_timer_value_in_milliseconds' if attributes.key?(:'interfaceDownTimerValueInMilliseconds') && attributes.key?(:'interface_down_timer_value_in_milliseconds')
317
+
318
+ self.interface_down_timer_value_in_milliseconds = attributes[:'interface_down_timer_value_in_milliseconds'] if attributes[:'interface_down_timer_value_in_milliseconds']
319
+
320
+ self.is_qos_enabled = attributes[:'isQosEnabled'] unless attributes[:'isQosEnabled'].nil?
321
+
322
+ raise 'You cannot provide both :isQosEnabled and :is_qos_enabled' if attributes.key?(:'isQosEnabled') && attributes.key?(:'is_qos_enabled')
323
+
324
+ self.is_qos_enabled = attributes[:'is_qos_enabled'] unless attributes[:'is_qos_enabled'].nil?
325
+
287
326
  self.interface_name = attributes[:'interfaceName'] if attributes[:'interfaceName']
288
327
 
289
328
  raise 'You cannot provide both :interfaceName and :interface_name' if attributes.key?(:'interfaceName') && attributes.key?(:'interface_name')
@@ -330,6 +369,9 @@ module OCI
330
369
  macsec_properties == other.macsec_properties &&
331
370
  oci_physical_device_name == other.oci_physical_device_name &&
332
371
  oci_logical_device_name == other.oci_logical_device_name &&
372
+ is_interface_hold_timer_enabled == other.is_interface_hold_timer_enabled &&
373
+ interface_down_timer_value_in_milliseconds == other.interface_down_timer_value_in_milliseconds &&
374
+ is_qos_enabled == other.is_qos_enabled &&
333
375
  interface_name == other.interface_name
334
376
  end
335
377
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
@@ -346,7 +388,7 @@ module OCI
346
388
  # Calculates hash code according to all attributes.
347
389
  # @return [Fixnum] Hash code
348
390
  def hash
349
- [compartment_id, cross_connect_group_id, defined_tags, display_name, freeform_tags, id, lifecycle_state, location_name, port_name, port_speed_shape_name, customer_reference_name, time_created, macsec_properties, oci_physical_device_name, oci_logical_device_name, interface_name].hash
391
+ [compartment_id, cross_connect_group_id, defined_tags, display_name, freeform_tags, id, lifecycle_state, location_name, port_name, port_speed_shape_name, customer_reference_name, time_created, macsec_properties, oci_physical_device_name, oci_logical_device_name, is_interface_hold_timer_enabled, interface_down_timer_value_in_milliseconds, is_qos_enabled, interface_name].hash
350
392
  end
351
393
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
352
394