oci 2.11.0 → 2.12.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 (333) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -0
  3. data/lib/oci.rb +1 -0
  4. data/lib/oci/analytics/analytics_client.rb +15 -0
  5. data/lib/oci/announcements_service/announcement_client.rb +4 -0
  6. data/lib/oci/apigateway/api_gateway_client.rb +15 -0
  7. data/lib/oci/apigateway/deployment_client.rb +6 -0
  8. data/lib/oci/apigateway/gateway_client.rb +6 -0
  9. data/lib/oci/apigateway/work_requests_client.rb +5 -0
  10. data/lib/oci/application_migration/application_migration_client.rb +19 -0
  11. data/lib/oci/audit/audit_client.rb +4 -1
  12. data/lib/oci/audit/models/audit_event.rb +8 -7
  13. data/lib/oci/audit/models/data.rb +0 -107
  14. data/lib/oci/audit/models/identity.rb +0 -17
  15. data/lib/oci/audit/models/request.rb +0 -46
  16. data/lib/oci/audit/models/response.rb +0 -34
  17. data/lib/oci/audit/models/state_change.rb +0 -9
  18. data/lib/oci/auth/signers/ephemeral_resource_principals_signer.rb +0 -1
  19. data/lib/oci/auth/signers/resource_principals_signer.rb +1 -1
  20. data/lib/oci/autoscaling/auto_scaling_client.rb +11 -0
  21. data/lib/oci/bds/bds_client.rb +16 -0
  22. data/lib/oci/blockchain/blockchain.rb +1 -0
  23. data/lib/oci/blockchain/blockchain_platform_client.rb +57 -0
  24. data/lib/oci/blockchain/models/blockchain_platform.rb +36 -3
  25. data/lib/oci/blockchain/models/blockchain_platform_by_hostname.rb +1 -1
  26. data/lib/oci/blockchain/models/blockchain_platform_summary.rb +1 -1
  27. data/lib/oci/blockchain/models/create_blockchain_platform_details.rb +2 -2
  28. data/lib/oci/blockchain/models/scaled_blockchain_platform_preview.rb +1 -1
  29. data/lib/oci/blockchain/models/work_request.rb +1 -0
  30. data/lib/oci/blockchain/models/work_request_resource.rb +18 -4
  31. data/lib/oci/blockchain/models/work_request_resource_sub_type_detail.rb +206 -0
  32. data/lib/oci/blockchain/models/work_request_summary.rb +1 -0
  33. data/lib/oci/budget/budget_client.rb +10 -0
  34. data/lib/oci/cims/incident_client.rb +7 -0
  35. data/lib/oci/cims/user_client.rb +1 -0
  36. data/lib/oci/cloud_guard/cloud_guard_client.rb +82 -0
  37. data/lib/oci/cloud_guard/models/rule_summary.rb +1 -0
  38. data/lib/oci/compute_instance_agent/compute_instance_agent_client.rb +6 -0
  39. data/lib/oci/container_engine/container_engine_client.rb +18 -0
  40. data/lib/oci/core/blockstorage_client.rb +53 -0
  41. data/lib/oci/core/compute_client.rb +71 -0
  42. data/lib/oci/core/compute_management_client.rb +28 -0
  43. data/lib/oci/core/virtual_network_client.rb +194 -0
  44. data/lib/oci/data_catalog/data_catalog.rb +5 -0
  45. data/lib/oci/data_catalog/data_catalog_client.rb +307 -4
  46. data/lib/oci/data_catalog/models/attribute.rb +45 -4
  47. data/lib/oci/data_catalog/models/attribute_summary.rb +45 -4
  48. data/lib/oci/data_catalog/models/faceted_search_aggregation.rb +55 -4
  49. data/lib/oci/{database/models/create_autonomous_data_warehouse_backup_details.rb → data_catalog/models/rule_attribute.rb} +25 -18
  50. data/lib/oci/data_catalog/models/rule_collection.rb +161 -0
  51. data/lib/oci/data_catalog/models/rule_origin_type.rb +12 -0
  52. data/lib/oci/data_catalog/models/rule_summary.rb +439 -0
  53. data/lib/oci/data_catalog/models/rule_type.rb +12 -0
  54. data/lib/oci/data_catalog/models/search_result_collection.rb +18 -4
  55. data/lib/oci/data_flow/data_flow_client.rb +24 -0
  56. data/lib/oci/data_integration/data_integration_client.rb +92 -0
  57. data/lib/oci/data_safe/data_safe.rb +8 -0
  58. data/lib/oci/data_safe/data_safe_client.rb +606 -13
  59. data/lib/oci/data_safe/data_safe_client_composite_operations.rb +198 -0
  60. data/lib/oci/data_safe/models/change_on_prem_connector_compartment_details.rb +154 -0
  61. data/lib/oci/data_safe/models/create_data_safe_private_endpoint_details.rb +1 -1
  62. data/lib/oci/{database/models/update_autonomous_data_warehouse_details.rb → data_safe/models/create_on_prem_connector_details.rb} +27 -49
  63. data/lib/oci/data_safe/models/data_safe_configuration.rb +5 -5
  64. data/lib/oci/data_safe/models/data_safe_private_endpoint.rb +2 -2
  65. data/lib/oci/data_safe/models/data_safe_private_endpoint_summary.rb +1 -1
  66. data/lib/oci/data_safe/models/enable_data_safe_configuration_details.rb +6 -40
  67. data/lib/oci/{database/models/generate_autonomous_data_warehouse_wallet_details.rb → data_safe/models/generate_on_prem_connector_configuration_details.rb} +3 -4
  68. data/lib/oci/{database/models/autonomous_data_warehouse_backup_summary.rb → data_safe/models/on_prem_connector.rb} +98 -98
  69. data/lib/oci/data_safe/models/on_prem_connector_lifecycle_state.rb +16 -0
  70. data/lib/oci/{database/models/autonomous_data_warehouse_backup.rb → data_safe/models/on_prem_connector_summary.rb} +90 -99
  71. data/lib/oci/data_safe/models/service_list.rb +1 -0
  72. data/lib/oci/data_safe/models/update_data_safe_private_endpoint_details.rb +1 -1
  73. data/lib/oci/data_safe/models/update_on_prem_connector_details.rb +198 -0
  74. data/lib/oci/data_safe/models/update_on_prem_connector_wallet_details.rb +156 -0
  75. data/lib/oci/data_safe/models/work_request.rb +11 -6
  76. data/lib/oci/data_safe/models/work_request_error.rb +3 -4
  77. data/lib/oci/data_safe/models/work_request_log_entry.rb +3 -3
  78. data/lib/oci/data_safe/models/work_request_summary.rb +13 -8
  79. data/lib/oci/data_science/data_science_client.rb +34 -0
  80. data/lib/oci/database/database.rb +4 -8
  81. data/lib/oci/database/database_client.rb +523 -766
  82. data/lib/oci/database/database_client_composite_operations.rb +1299 -330
  83. data/lib/oci/database/models/activate_exadata_infrastructure_details.rb +2 -1
  84. data/lib/oci/database/models/autonomous_container_database.rb +3 -3
  85. data/lib/oci/database/models/autonomous_container_database_dataguard_association.rb +2 -2
  86. data/lib/oci/database/models/autonomous_container_database_summary.rb +3 -3
  87. data/lib/oci/database/models/autonomous_data_warehouse.rb +8 -21
  88. data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +8 -21
  89. data/lib/oci/database/models/autonomous_database.rb +35 -3
  90. data/lib/oci/database/models/autonomous_database_apex.rb +169 -0
  91. data/lib/oci/database/models/autonomous_database_dataguard_association.rb +2 -2
  92. data/lib/oci/database/models/autonomous_database_summary.rb +35 -3
  93. data/lib/oci/database/models/autonomous_db_preview_version_summary.rb +2 -0
  94. data/lib/oci/database/models/autonomous_db_version_summary.rb +2 -0
  95. data/lib/oci/database/models/backup.rb +19 -5
  96. data/lib/oci/database/models/backup_summary.rb +19 -5
  97. data/lib/oci/database/models/change_cloud_exadata_infrastructure_compartment_details.rb +1 -1
  98. data/lib/oci/database/models/change_cloud_vm_cluster_compartment_details.rb +1 -1
  99. data/lib/oci/database/models/cloud_exadata_infrastructure.rb +2 -1
  100. data/lib/oci/database/models/cloud_exadata_infrastructure_summary.rb +2 -1
  101. data/lib/oci/database/models/cloud_vm_cluster.rb +1 -1
  102. data/lib/oci/database/models/cloud_vm_cluster_summary.rb +1 -1
  103. data/lib/oci/database/models/create_autonomous_container_database_details.rb +1 -1
  104. data/lib/oci/database/models/create_autonomous_database_base.rb +7 -3
  105. data/lib/oci/database/models/create_cloud_exadata_infrastructure_details.rb +1 -1
  106. data/lib/oci/database/models/create_cloud_vm_cluster_details.rb +2 -1
  107. data/lib/oci/database/models/create_database_base.rb +33 -4
  108. data/lib/oci/database/models/create_database_from_backup.rb +9 -1
  109. data/lib/oci/database/models/create_db_home_base.rb +30 -1
  110. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +9 -1
  111. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +9 -1
  112. data/lib/oci/database/models/create_db_home_with_db_system_id_from_database_details.rb +9 -1
  113. data/lib/oci/database/models/create_db_home_with_vm_cluster_id_details.rb +9 -1
  114. data/lib/oci/database/models/create_db_home_with_vm_cluster_id_from_backup_details.rb +9 -1
  115. data/lib/oci/database/models/create_exadata_infrastructure_details.rb +16 -2
  116. data/lib/oci/database/models/create_new_database_details.rb +9 -1
  117. data/lib/oci/database/models/create_vm_cluster_details.rb +2 -1
  118. data/lib/oci/database/models/database.rb +16 -2
  119. data/lib/oci/database/models/database_summary.rb +16 -2
  120. data/lib/oci/database/models/db_home.rb +16 -2
  121. data/lib/oci/database/models/db_home_summary.rb +16 -2
  122. data/lib/oci/database/models/db_system.rb +16 -2
  123. data/lib/oci/database/models/db_system_summary.rb +16 -2
  124. data/lib/oci/database/models/exadata_db_system_migration.rb +1 -1
  125. data/lib/oci/database/models/exadata_db_system_migration_summary.rb +1 -1
  126. data/lib/oci/database/models/exadata_infrastructure.rb +15 -1
  127. data/lib/oci/database/models/exadata_infrastructure_summary.rb +18 -2
  128. data/lib/oci/database/models/flex_component_collection.rb +150 -0
  129. data/lib/oci/database/models/flex_component_summary.rb +197 -0
  130. data/lib/oci/database/models/generate_recommended_network_details.rb +1 -1
  131. data/lib/oci/database/models/launch_db_system_base.rb +30 -1
  132. data/lib/oci/database/models/launch_db_system_details.rb +9 -1
  133. data/lib/oci/database/models/launch_db_system_from_backup_details.rb +9 -1
  134. data/lib/oci/database/models/launch_db_system_from_database_details.rb +9 -1
  135. data/lib/oci/database/models/launch_db_system_from_db_system_details.rb +9 -1
  136. data/lib/oci/database/models/maintenance_run.rb +2 -1
  137. data/lib/oci/database/models/maintenance_run_summary.rb +2 -1
  138. data/lib/oci/database/models/migrate_vault_key_details.rb +170 -0
  139. data/lib/oci/database/models/update_autonomous_container_database_details.rb +1 -1
  140. data/lib/oci/database/models/update_autonomous_database_details.rb +6 -2
  141. data/lib/oci/database/models/update_cloud_exadata_infrastructure_details.rb +1 -1
  142. data/lib/oci/database/models/update_cloud_vm_cluster_details.rb +3 -2
  143. data/lib/oci/database/models/update_database_details.rb +1 -1
  144. data/lib/oci/database/models/update_details.rb +1 -1
  145. data/lib/oci/database/models/update_exadata_infrastructure_details.rb +16 -2
  146. data/lib/oci/database/models/update_history_entry_summary.rb +2 -1
  147. data/lib/oci/database/models/update_summary.rb +1 -1
  148. data/lib/oci/database/models/update_vm_cluster_details.rb +3 -1
  149. data/lib/oci/database/models/update_vm_cluster_network_details.rb +1 -1
  150. data/lib/oci/database/models/vm_cluster.rb +2 -1
  151. data/lib/oci/database/models/vm_cluster_network_details.rb +1 -1
  152. data/lib/oci/database/models/vm_cluster_network_summary.rb +2 -1
  153. data/lib/oci/database/models/vm_cluster_summary.rb +1 -0
  154. data/lib/oci/database/models/vm_network_details.rb +2 -1
  155. data/lib/oci/dns/dns_client.rb +49 -0
  156. data/lib/oci/dts/appliance_export_job_client.rb +6 -0
  157. data/lib/oci/dts/shipping_vendors_client.rb +1 -0
  158. data/lib/oci/dts/transfer_appliance_client.rb +8 -0
  159. data/lib/oci/dts/transfer_appliance_entitlement_client.rb +3 -0
  160. data/lib/oci/dts/transfer_device_client.rb +5 -0
  161. data/lib/oci/dts/transfer_job_client.rb +6 -0
  162. data/lib/oci/dts/transfer_package_client.rb +7 -0
  163. data/lib/oci/email/email_client.rb +10 -0
  164. data/lib/oci/events/events_client.rb +6 -0
  165. data/lib/oci/file_storage/file_storage_client.rb +25 -0
  166. data/lib/oci/functions/functions_invoke_client.rb +1 -0
  167. data/lib/oci/functions/functions_management_client.rb +11 -0
  168. data/lib/oci/healthchecks/health_checks_client.rb +17 -0
  169. data/lib/oci/identity/identity_client.rb +120 -0
  170. data/lib/oci/identity/models/saml2_identity_provider.rb +12 -1
  171. data/lib/oci/integration/integration.rb +3 -0
  172. data/lib/oci/integration/integration_instance_client.rb +12 -0
  173. data/lib/oci/integration/models/create_custom_endpoint_details.rb +167 -0
  174. data/lib/oci/integration/models/create_integration_instance_details.rb +44 -1
  175. data/lib/oci/integration/models/custom_endpoint_details.rb +180 -0
  176. data/lib/oci/integration/models/integration_instance.rb +43 -1
  177. data/lib/oci/integration/models/integration_instance_summary.rb +43 -1
  178. data/lib/oci/integration/models/update_custom_endpoint_details.rb +167 -0
  179. data/lib/oci/integration/models/update_integration_instance_details.rb +47 -4
  180. data/lib/oci/key_management/kms_crypto_client.rb +4 -0
  181. data/lib/oci/key_management/kms_management_client.rb +31 -0
  182. data/lib/oci/key_management/kms_vault_client.rb +11 -0
  183. data/lib/oci/limits/limits_client.rb +4 -0
  184. data/lib/oci/limits/quotas_client.rb +5 -0
  185. data/lib/oci/load_balancer/load_balancer.rb +1 -0
  186. data/lib/oci/load_balancer/load_balancer_client.rb +56 -0
  187. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +16 -1
  188. data/lib/oci/load_balancer/models/load_balancer.rb +14 -1
  189. data/lib/oci/load_balancer/models/shape_details.rb +180 -0
  190. data/lib/oci/load_balancer/models/ssl_configuration.rb +1 -1
  191. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +1 -1
  192. data/lib/oci/load_balancer/models/update_load_balancer_shape_details.rb +22 -4
  193. data/lib/oci/log_analytics/log_analytics_client.rb +126 -0
  194. data/lib/oci/logging/logging_management_client.rb +32 -0
  195. data/lib/oci/loggingingestion/logging_client.rb +1 -0
  196. data/lib/oci/loggingsearch/log_search_client.rb +1 -0
  197. data/lib/oci/management_agent/management_agent.rb +2 -0
  198. data/lib/oci/management_agent/management_agent_client.rb +101 -0
  199. data/lib/oci/management_agent/models/availability_history_summary.rb +217 -0
  200. data/lib/oci/management_agent/models/availability_status.rb +12 -0
  201. data/lib/oci/management_agent/models/management_agent.rb +35 -1
  202. data/lib/oci/management_agent/models/management_agent_summary.rb +49 -1
  203. data/lib/oci/management_dashboard/dashx_apis_client.rb +14 -0
  204. data/lib/oci/marketplace/marketplace_client.rb +16 -0
  205. data/lib/oci/monitoring/monitoring_client.rb +12 -0
  206. data/lib/oci/mysql/channels_client.rb +625 -0
  207. data/lib/oci/mysql/channels_client_composite_operations.rb +271 -0
  208. data/lib/oci/mysql/db_backups_client.rb +11 -0
  209. data/lib/oci/mysql/db_system_client.rb +17 -0
  210. data/lib/oci/mysql/models/backup.rb +16 -3
  211. data/lib/oci/mysql/models/backup_summary.rb +17 -3
  212. data/lib/oci/mysql/models/ca_certificate.rb +189 -0
  213. data/lib/oci/mysql/models/channel.rb +340 -0
  214. data/lib/oci/mysql/models/channel_source.rb +189 -0
  215. data/lib/oci/mysql/models/channel_source_mysql.rb +230 -0
  216. data/lib/oci/mysql/models/channel_summary.rb +304 -0
  217. data/lib/oci/mysql/models/channel_target.rb +189 -0
  218. data/lib/oci/mysql/models/channel_target_db_system.rb +193 -0
  219. data/lib/oci/mysql/models/configuration.rb +2 -2
  220. data/lib/oci/mysql/models/configuration_summary.rb +2 -2
  221. data/lib/oci/mysql/models/configuration_variables.rb +30 -15
  222. data/lib/oci/mysql/models/create_backup_details.rb +2 -2
  223. data/lib/oci/mysql/models/create_backup_policy_details.rb +3 -0
  224. data/lib/oci/mysql/models/create_channel_details.rb +248 -0
  225. data/lib/oci/mysql/models/create_channel_source_details.rb +170 -0
  226. data/lib/oci/mysql/models/create_channel_source_from_mysql_details.rb +224 -0
  227. data/lib/oci/mysql/models/create_channel_target_details.rb +170 -0
  228. data/lib/oci/mysql/models/create_channel_target_from_db_system_details.rb +193 -0
  229. data/lib/oci/mysql/models/create_configuration_details.rb +2 -3
  230. data/lib/oci/mysql/models/create_db_system_details.rb +1 -1
  231. data/lib/oci/mysql/models/create_db_system_source_details.rb +1 -0
  232. data/lib/oci/mysql/models/create_db_system_source_from_none_details.rb +146 -0
  233. data/lib/oci/mysql/models/db_system.rb +15 -3
  234. data/lib/oci/mysql/models/db_system_snapshot.rb +437 -0
  235. data/lib/oci/mysql/models/db_system_source.rb +1 -0
  236. data/lib/oci/mysql/models/db_system_source_from_none.rb +146 -0
  237. data/lib/oci/mysql/models/db_system_summary.rb +2 -2
  238. data/lib/oci/mysql/models/pem_ca_certificate.rb +158 -0
  239. data/lib/oci/mysql/models/update_backup_details.rb +2 -2
  240. data/lib/oci/mysql/models/update_backup_policy_details.rb +3 -0
  241. data/lib/oci/mysql/models/update_channel_details.rb +234 -0
  242. data/lib/oci/mysql/models/update_channel_source_details.rb +171 -0
  243. data/lib/oci/mysql/models/update_channel_source_from_mysql_details.rb +224 -0
  244. data/lib/oci/mysql/models/update_channel_target_details.rb +170 -0
  245. data/lib/oci/mysql/models/update_channel_target_from_db_system_details.rb +179 -0
  246. data/lib/oci/mysql/models/update_configuration_details.rb +2 -2
  247. data/lib/oci/mysql/mysql.rb +23 -0
  248. data/lib/oci/mysql/mysqlaas_client.rb +7 -0
  249. data/lib/oci/mysql/work_requests_client.rb +4 -0
  250. data/lib/oci/nosql/nosql_client.rb +22 -0
  251. data/lib/oci/object_storage/models/object_lifecycle_rule.rb +11 -9
  252. data/lib/oci/object_storage/object_storage_client.rb +55 -6
  253. data/lib/oci/oce/oce_instance_client.rb +10 -0
  254. data/lib/oci/ocvp/esxi_host_client.rb +5 -0
  255. data/lib/oci/ocvp/sddc_client.rb +7 -0
  256. data/lib/oci/ocvp/work_request_client.rb +4 -0
  257. data/lib/oci/oda/oda_client.rb +12 -0
  258. data/lib/oci/ons/notification_control_plane_client.rb +6 -0
  259. data/lib/oci/ons/notification_data_plane_client.rb +10 -0
  260. data/lib/oci/opsi/models/sql_insight_aggregation.rb +2 -1
  261. data/lib/oci/opsi/models/sql_insight_thresholds.rb +21 -4
  262. data/lib/oci/opsi/operations_insights_client.rb +22 -3
  263. data/lib/oci/optimizer/optimizer_client.rb +22 -0
  264. data/lib/oci/os_management/os_management_client.rb +53 -0
  265. data/lib/oci/regions.rb +3 -0
  266. data/lib/oci/resource_manager/models/configuration_source_provider.rb +5 -1
  267. data/lib/oci/resource_manager/models/configuration_source_provider_summary.rb +3 -1
  268. data/lib/oci/resource_manager/models/create_configuration_source_provider_details.rb +4 -1
  269. data/lib/oci/resource_manager/models/create_github_access_token_configuration_source_provider_details.rb +200 -0
  270. data/lib/oci/resource_manager/models/create_gitlab_access_token_configuration_source_provider_details.rb +3 -3
  271. data/lib/oci/resource_manager/models/github_access_token_configuration_source_provider.rb +198 -0
  272. data/lib/oci/resource_manager/models/github_access_token_configuration_source_provider_summary.rb +198 -0
  273. data/lib/oci/resource_manager/models/gitlab_access_token_configuration_source_provider.rb +2 -2
  274. data/lib/oci/resource_manager/models/gitlab_access_token_configuration_source_provider_summary.rb +2 -2
  275. data/lib/oci/resource_manager/models/update_configuration_source_provider_details.rb +4 -1
  276. data/lib/oci/resource_manager/models/update_github_access_token_configuration_source_provider_details.rb +196 -0
  277. data/lib/oci/resource_manager/models/update_gitlab_access_token_configuration_source_provider_details.rb +3 -3
  278. data/lib/oci/resource_manager/resource_manager.rb +4 -0
  279. data/lib/oci/resource_manager/resource_manager_client.rb +36 -2
  280. data/lib/oci/resource_search/resource_search_client.rb +3 -0
  281. data/lib/oci/rover/models/change_rover_cluster_compartment_details.rb +155 -0
  282. data/lib/oci/{database/models/autonomous_data_warehouse_console_token_details.rb → rover/models/change_rover_entitlement_compartment_details.rb} +13 -23
  283. data/lib/oci/rover/models/change_rover_node_compartment_details.rb +155 -0
  284. data/lib/oci/rover/models/create_rover_cluster_details.rb +459 -0
  285. data/lib/oci/rover/models/create_rover_entitlement_details.rb +320 -0
  286. data/lib/oci/rover/models/create_rover_node_details.rb +501 -0
  287. data/lib/oci/rover/models/enclosure_type.rb +11 -0
  288. data/lib/oci/rover/models/lifecycle_state.rb +15 -0
  289. data/lib/oci/rover/models/node_type.rb +11 -0
  290. data/lib/oci/rover/models/rover_cluster.rb +610 -0
  291. data/lib/oci/rover/models/rover_cluster_certificate.rb +150 -0
  292. data/lib/oci/{database/models/restore_autonomous_data_warehouse_details.rb → rover/models/rover_cluster_collection.rb} +11 -12
  293. data/lib/oci/{database/models/create_autonomous_data_warehouse_details.rb → rover/models/rover_cluster_summary.rb} +99 -84
  294. data/lib/oci/rover/models/rover_entitlement.rb +363 -0
  295. data/lib/oci/rover/models/rover_entitlement_collection.rb +150 -0
  296. data/lib/oci/rover/models/rover_entitlement_summary.rb +285 -0
  297. data/lib/oci/rover/models/rover_node.rb +661 -0
  298. data/lib/oci/rover/models/rover_node_action_set_key_details.rb +154 -0
  299. data/lib/oci/rover/models/rover_node_certificate.rb +150 -0
  300. data/lib/oci/rover/models/rover_node_collection.rb +150 -0
  301. data/lib/oci/rover/models/rover_node_encryption_key.rb +154 -0
  302. data/lib/oci/rover/models/rover_node_get_rpt.rb +168 -0
  303. data/lib/oci/rover/models/rover_node_set_key.rb +154 -0
  304. data/lib/oci/rover/models/rover_node_summary.rb +323 -0
  305. data/lib/oci/rover/models/rover_workload.rb +264 -0
  306. data/lib/oci/rover/models/shipping_address.rb +276 -0
  307. data/lib/oci/rover/models/sort_orders.rb +11 -0
  308. data/lib/oci/rover/models/update_rover_cluster_details.rb +445 -0
  309. data/lib/oci/rover/models/update_rover_entitlement_details.rb +306 -0
  310. data/lib/oci/rover/models/update_rover_node_details.rb +487 -0
  311. data/lib/oci/rover/rover.rb +54 -0
  312. data/lib/oci/rover/rover_cluster_client.rb +549 -0
  313. data/lib/oci/rover/rover_cluster_client_composite_operations.rb +144 -0
  314. data/lib/oci/rover/rover_entitlement_client.rb +514 -0
  315. data/lib/oci/rover/rover_entitlement_client_composite_operations.rb +144 -0
  316. data/lib/oci/rover/rover_node_client.rb +738 -0
  317. data/lib/oci/rover/rover_node_client_composite_operations.rb +144 -0
  318. data/lib/oci/rover/util.rb +3 -0
  319. data/lib/oci/sch/service_connector_client.rb +12 -0
  320. data/lib/oci/secrets/secrets_client.rb +2 -0
  321. data/lib/oci/streaming/stream_admin_client.rb +18 -0
  322. data/lib/oci/streaming/stream_client.rb +8 -0
  323. data/lib/oci/tenant_manager_control_plane/link_client.rb +3 -0
  324. data/lib/oci/tenant_manager_control_plane/recipient_invitation_client.rb +5 -0
  325. data/lib/oci/tenant_manager_control_plane/sender_invitation_client.rb +5 -0
  326. data/lib/oci/tenant_manager_control_plane/work_request_client.rb +4 -0
  327. data/lib/oci/usage_api/usageapi_client.rb +2 -0
  328. data/lib/oci/vault/vaults_client.rb +11 -0
  329. data/lib/oci/version.rb +1 -1
  330. data/lib/oci/waas/redirect_client.rb +6 -0
  331. data/lib/oci/waas/waas_client.rb +66 -0
  332. data/lib/oci/work_requests/work_request_client.rb +4 -0
  333. metadata +91 -10
@@ -0,0 +1,189 @@
1
+ # Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
2
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3
+
4
+ require 'date'
5
+ require 'logger'
6
+
7
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
8
+ module OCI
9
+ # Parameters detailing how to provision the source for the given Channel.
10
+ # This class has direct subclasses. If you are using this class as input to a service operations then you should favor using a subclass over the base class
11
+ class Mysql::Models::ChannelSource
12
+ SOURCE_TYPE_ENUM = [
13
+ SOURCE_TYPE_MYSQL = 'MYSQL'.freeze,
14
+ SOURCE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
15
+ ].freeze
16
+
17
+ # **[Required]** The specific source identifier.
18
+ # @return [String]
19
+ attr_reader :source_type
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ # rubocop:disable Style/SymbolLiteral
25
+ 'source_type': :'sourceType'
26
+ # rubocop:enable Style/SymbolLiteral
27
+ }
28
+ end
29
+
30
+ # Attribute type mapping.
31
+ def self.swagger_types
32
+ {
33
+ # rubocop:disable Style/SymbolLiteral
34
+ 'source_type': :'String'
35
+ # rubocop:enable Style/SymbolLiteral
36
+ }
37
+ end
38
+
39
+ # rubocop:disable Metrics/CyclomaticComplexity, Layout/EmptyLines, Metrics/PerceivedComplexity, Metrics/AbcSize
40
+
41
+
42
+ # Given the hash representation of a subtype of this class,
43
+ # use the info in the hash to return the class of the subtype.
44
+ def self.get_subtype(object_hash)
45
+ type = object_hash[:'sourceType'] # rubocop:disable Style/SymbolLiteral
46
+
47
+ return 'OCI::Mysql::Models::ChannelSourceMysql' if type == 'MYSQL'
48
+
49
+ # TODO: Log a warning when the subtype is not found.
50
+ 'OCI::Mysql::Models::ChannelSource'
51
+ end
52
+ # rubocop:enable Metrics/CyclomaticComplexity, Layout/EmptyLines, Metrics/PerceivedComplexity, Metrics/AbcSize
53
+
54
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
55
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
56
+
57
+
58
+ # Initializes the object
59
+ # @param [Hash] attributes Model attributes in the form of hash
60
+ # @option attributes [String] :source_type The value to assign to the {#source_type} property
61
+ def initialize(attributes = {})
62
+ return unless attributes.is_a?(Hash)
63
+
64
+ # convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
66
+
67
+ self.source_type = attributes[:'sourceType'] if attributes[:'sourceType']
68
+
69
+ raise 'You cannot provide both :sourceType and :source_type' if attributes.key?(:'sourceType') && attributes.key?(:'source_type')
70
+
71
+ self.source_type = attributes[:'source_type'] if attributes[:'source_type']
72
+ end
73
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
74
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
75
+
76
+ # Custom attribute writer method checking allowed values (enum).
77
+ # @param [Object] source_type Object to be assigned
78
+ def source_type=(source_type)
79
+ # rubocop:disable Style/ConditionalAssignment
80
+ if source_type && !SOURCE_TYPE_ENUM.include?(source_type)
81
+ OCI.logger.debug("Unknown value for 'source_type' [" + source_type + "]. Mapping to 'SOURCE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
82
+ @source_type = SOURCE_TYPE_UNKNOWN_ENUM_VALUE
83
+ else
84
+ @source_type = source_type
85
+ end
86
+ # rubocop:enable Style/ConditionalAssignment
87
+ end
88
+
89
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
90
+
91
+
92
+ # Checks equality by comparing each attribute.
93
+ # @param [Object] other the other object to be compared
94
+ def ==(other)
95
+ return true if equal?(other)
96
+
97
+ self.class == other.class &&
98
+ source_type == other.source_type
99
+ end
100
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
101
+
102
+ # @see the `==` method
103
+ # @param [Object] other the other object to be compared
104
+ def eql?(other)
105
+ self == other
106
+ end
107
+
108
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
109
+
110
+
111
+ # Calculates hash code according to all attributes.
112
+ # @return [Fixnum] Hash code
113
+ def hash
114
+ [source_type].hash
115
+ end
116
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
117
+
118
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
119
+
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def build_from_hash(attributes)
125
+ return nil unless attributes.is_a?(Hash)
126
+
127
+ self.class.swagger_types.each_pair do |key, type|
128
+ if type =~ /^Array<(.*)>/i
129
+ # check to ensure the input is an array given that the the attribute
130
+ # is documented as an array but the input is not
131
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
132
+ public_method("#{key}=").call(
133
+ attributes[self.class.attribute_map[key]]
134
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
135
+ )
136
+ end
137
+ elsif !attributes[self.class.attribute_map[key]].nil?
138
+ public_method("#{key}=").call(
139
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
140
+ )
141
+ end
142
+ # or else data not found in attributes(hash), not an issue as the data can be optional
143
+ end
144
+
145
+ self
146
+ end
147
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
148
+
149
+ # Returns the string representation of the object
150
+ # @return [String] String presentation of the object
151
+ def to_s
152
+ to_hash.to_s
153
+ end
154
+
155
+ # Returns the object in the form of hash
156
+ # @return [Hash] Returns the object in the form of hash
157
+ def to_hash
158
+ hash = {}
159
+ self.class.attribute_map.each_pair do |attr, param|
160
+ value = public_method(attr).call
161
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
162
+
163
+ hash[param] = _to_hash(value)
164
+ end
165
+ hash
166
+ end
167
+
168
+ private
169
+
170
+ # Outputs non-array value in the form of hash
171
+ # For object, use to_hash. Otherwise, just return the value
172
+ # @param [Object] value Any valid value
173
+ # @return [Hash] Returns the value in the form of hash
174
+ def _to_hash(value)
175
+ if value.is_a?(Array)
176
+ value.compact.map { |v| _to_hash(v) }
177
+ elsif value.is_a?(Hash)
178
+ {}.tap do |hash|
179
+ value.each { |k, v| hash[k] = _to_hash(v) }
180
+ end
181
+ elsif value.respond_to? :to_hash
182
+ value.to_hash
183
+ else
184
+ value
185
+ end
186
+ end
187
+ end
188
+ end
189
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,230 @@
1
+ # Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
2
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3
+
4
+ require 'date'
5
+ require 'logger'
6
+ require_relative 'channel_source'
7
+
8
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
9
+ module OCI
10
+ # Core properties of a Mysql Channel source.
11
+ class Mysql::Models::ChannelSourceMysql < Mysql::Models::ChannelSource
12
+ SSL_MODE_ENUM = [
13
+ SSL_MODE_VERIFY_IDENTITY = 'VERIFY_IDENTITY'.freeze,
14
+ SSL_MODE_VERIFY_CA = 'VERIFY_CA'.freeze,
15
+ SSL_MODE_REQUIRED = 'REQUIRED'.freeze,
16
+ SSL_MODE_DISABLED = 'DISABLED'.freeze,
17
+ SSL_MODE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
+ ].freeze
19
+
20
+ # **[Required]** The network address of the MySQL instance.
21
+ # @return [String]
22
+ attr_accessor :hostname
23
+
24
+ # **[Required]** The port the source MySQL instance listens on.
25
+ # @return [Integer]
26
+ attr_accessor :port
27
+
28
+ # **[Required]** The name of the replication user on the source MySQL instance.
29
+ # The username has a maximum length of 96 characters. For more information,
30
+ # please see the [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/change-master-to.html)
31
+ #
32
+ # @return [String]
33
+ attr_accessor :username
34
+
35
+ # **[Required]** The SSL mode of the Channel.
36
+ # @return [String]
37
+ attr_reader :ssl_mode
38
+
39
+ # @return [OCI::Mysql::Models::CaCertificate]
40
+ attr_accessor :ssl_ca_certificate
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ # rubocop:disable Style/SymbolLiteral
46
+ 'source_type': :'sourceType',
47
+ 'hostname': :'hostname',
48
+ 'port': :'port',
49
+ 'username': :'username',
50
+ 'ssl_mode': :'sslMode',
51
+ 'ssl_ca_certificate': :'sslCaCertificate'
52
+ # rubocop:enable Style/SymbolLiteral
53
+ }
54
+ end
55
+
56
+ # Attribute type mapping.
57
+ def self.swagger_types
58
+ {
59
+ # rubocop:disable Style/SymbolLiteral
60
+ 'source_type': :'String',
61
+ 'hostname': :'String',
62
+ 'port': :'Integer',
63
+ 'username': :'String',
64
+ 'ssl_mode': :'String',
65
+ 'ssl_ca_certificate': :'OCI::Mysql::Models::CaCertificate'
66
+ # rubocop:enable Style/SymbolLiteral
67
+ }
68
+ end
69
+
70
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
71
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
72
+
73
+
74
+ # Initializes the object
75
+ # @param [Hash] attributes Model attributes in the form of hash
76
+ # @option attributes [String] :hostname The value to assign to the {#hostname} property
77
+ # @option attributes [Integer] :port The value to assign to the {#port} property
78
+ # @option attributes [String] :username The value to assign to the {#username} property
79
+ # @option attributes [String] :ssl_mode The value to assign to the {#ssl_mode} property
80
+ # @option attributes [OCI::Mysql::Models::CaCertificate] :ssl_ca_certificate The value to assign to the {#ssl_ca_certificate} property
81
+ def initialize(attributes = {})
82
+ return unless attributes.is_a?(Hash)
83
+
84
+ attributes['sourceType'] = 'MYSQL'
85
+
86
+ super(attributes)
87
+
88
+ # convert string to symbol for hash key
89
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
90
+
91
+ self.hostname = attributes[:'hostname'] if attributes[:'hostname']
92
+
93
+ self.port = attributes[:'port'] if attributes[:'port']
94
+
95
+ self.username = attributes[:'username'] if attributes[:'username']
96
+
97
+ self.ssl_mode = attributes[:'sslMode'] if attributes[:'sslMode']
98
+
99
+ raise 'You cannot provide both :sslMode and :ssl_mode' if attributes.key?(:'sslMode') && attributes.key?(:'ssl_mode')
100
+
101
+ self.ssl_mode = attributes[:'ssl_mode'] if attributes[:'ssl_mode']
102
+
103
+ self.ssl_ca_certificate = attributes[:'sslCaCertificate'] if attributes[:'sslCaCertificate']
104
+
105
+ raise 'You cannot provide both :sslCaCertificate and :ssl_ca_certificate' if attributes.key?(:'sslCaCertificate') && attributes.key?(:'ssl_ca_certificate')
106
+
107
+ self.ssl_ca_certificate = attributes[:'ssl_ca_certificate'] if attributes[:'ssl_ca_certificate']
108
+ end
109
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
110
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
111
+
112
+ # Custom attribute writer method checking allowed values (enum).
113
+ # @param [Object] ssl_mode Object to be assigned
114
+ def ssl_mode=(ssl_mode)
115
+ # rubocop:disable Style/ConditionalAssignment
116
+ if ssl_mode && !SSL_MODE_ENUM.include?(ssl_mode)
117
+ OCI.logger.debug("Unknown value for 'ssl_mode' [" + ssl_mode + "]. Mapping to 'SSL_MODE_UNKNOWN_ENUM_VALUE'") if OCI.logger
118
+ @ssl_mode = SSL_MODE_UNKNOWN_ENUM_VALUE
119
+ else
120
+ @ssl_mode = ssl_mode
121
+ end
122
+ # rubocop:enable Style/ConditionalAssignment
123
+ end
124
+
125
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
126
+
127
+
128
+ # Checks equality by comparing each attribute.
129
+ # @param [Object] other the other object to be compared
130
+ def ==(other)
131
+ return true if equal?(other)
132
+
133
+ self.class == other.class &&
134
+ source_type == other.source_type &&
135
+ hostname == other.hostname &&
136
+ port == other.port &&
137
+ username == other.username &&
138
+ ssl_mode == other.ssl_mode &&
139
+ ssl_ca_certificate == other.ssl_ca_certificate
140
+ end
141
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
142
+
143
+ # @see the `==` method
144
+ # @param [Object] other the other object to be compared
145
+ def eql?(other)
146
+ self == other
147
+ end
148
+
149
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
150
+
151
+
152
+ # Calculates hash code according to all attributes.
153
+ # @return [Fixnum] Hash code
154
+ def hash
155
+ [source_type, hostname, port, username, ssl_mode, ssl_ca_certificate].hash
156
+ end
157
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
158
+
159
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
160
+
161
+
162
+ # Builds the object from hash
163
+ # @param [Hash] attributes Model attributes in the form of hash
164
+ # @return [Object] Returns the model itself
165
+ def build_from_hash(attributes)
166
+ return nil unless attributes.is_a?(Hash)
167
+
168
+ self.class.swagger_types.each_pair do |key, type|
169
+ if type =~ /^Array<(.*)>/i
170
+ # check to ensure the input is an array given that the the attribute
171
+ # is documented as an array but the input is not
172
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
173
+ public_method("#{key}=").call(
174
+ attributes[self.class.attribute_map[key]]
175
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
176
+ )
177
+ end
178
+ elsif !attributes[self.class.attribute_map[key]].nil?
179
+ public_method("#{key}=").call(
180
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
181
+ )
182
+ end
183
+ # or else data not found in attributes(hash), not an issue as the data can be optional
184
+ end
185
+
186
+ self
187
+ end
188
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
189
+
190
+ # Returns the string representation of the object
191
+ # @return [String] String presentation of the object
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # Returns the object in the form of hash
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_hash
199
+ hash = {}
200
+ self.class.attribute_map.each_pair do |attr, param|
201
+ value = public_method(attr).call
202
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
203
+
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ private
210
+
211
+ # Outputs non-array value in the form of hash
212
+ # For object, use to_hash. Otherwise, just return the value
213
+ # @param [Object] value Any valid value
214
+ # @return [Hash] Returns the value in the form of hash
215
+ def _to_hash(value)
216
+ if value.is_a?(Array)
217
+ value.compact.map { |v| _to_hash(v) }
218
+ elsif value.is_a?(Hash)
219
+ {}.tap do |hash|
220
+ value.each { |k, v| hash[k] = _to_hash(v) }
221
+ end
222
+ elsif value.respond_to? :to_hash
223
+ value.to_hash
224
+ else
225
+ value
226
+ end
227
+ end
228
+ end
229
+ end
230
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,304 @@
1
+ # Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
2
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3
+
4
+ require 'date'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # Summary of a Channel.
9
+ class Mysql::Models::ChannelSummary
10
+ # **[Required]** The OCID of the Channel.
11
+ # @return [String]
12
+ attr_accessor :id
13
+
14
+ # **[Required]** The OCID of the compartment.
15
+ # @return [String]
16
+ attr_accessor :compartment_id
17
+
18
+ # **[Required]** Whether the Channel has been enabled by the user.
19
+ # @return [BOOLEAN]
20
+ attr_accessor :is_enabled
21
+
22
+ # This attribute is required.
23
+ # @return [OCI::Mysql::Models::ChannelSource]
24
+ attr_accessor :source
25
+
26
+ # This attribute is required.
27
+ # @return [OCI::Mysql::Models::ChannelTarget]
28
+ attr_accessor :target
29
+
30
+ # **[Required]** The state of the Channel.
31
+ # @return [String]
32
+ attr_accessor :lifecycle_state
33
+
34
+ # A message describing the state of the Channel.
35
+ # @return [String]
36
+ attr_accessor :lifecycle_details
37
+
38
+ # **[Required]** The user-friendly name for the Channel. It does not have to be unique.
39
+ # @return [String]
40
+ attr_accessor :display_name
41
+
42
+ # **[Required]** The date and time the Channel was created, as described by [RFC 3339](https://tools.ietf.org/rfc/rfc3339).
43
+ #
44
+ # @return [DateTime]
45
+ attr_accessor :time_created
46
+
47
+ # **[Required]** The time the Channel was last updated, as described by [RFC 3339](https://tools.ietf.org/rfc/rfc3339).
48
+ #
49
+ # @return [DateTime]
50
+ attr_accessor :time_updated
51
+
52
+ # Simple key-value pair applied without any predefined name, type or scope. Exists for cross-compatibility only.
53
+ # Example: `{\"bar-key\": \"value\"}`
54
+ #
55
+ # @return [Hash<String, String>]
56
+ attr_accessor :freeform_tags
57
+
58
+ # Usage of predefined tag keys. These predefined keys are scoped to namespaces.
59
+ # Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`
60
+ #
61
+ # @return [Hash<String, Hash<String, Object>>]
62
+ attr_accessor :defined_tags
63
+
64
+ # Attribute mapping from ruby-style variable name to JSON key.
65
+ def self.attribute_map
66
+ {
67
+ # rubocop:disable Style/SymbolLiteral
68
+ 'id': :'id',
69
+ 'compartment_id': :'compartmentId',
70
+ 'is_enabled': :'isEnabled',
71
+ 'source': :'source',
72
+ 'target': :'target',
73
+ 'lifecycle_state': :'lifecycleState',
74
+ 'lifecycle_details': :'lifecycleDetails',
75
+ 'display_name': :'displayName',
76
+ 'time_created': :'timeCreated',
77
+ 'time_updated': :'timeUpdated',
78
+ 'freeform_tags': :'freeformTags',
79
+ 'defined_tags': :'definedTags'
80
+ # rubocop:enable Style/SymbolLiteral
81
+ }
82
+ end
83
+
84
+ # Attribute type mapping.
85
+ def self.swagger_types
86
+ {
87
+ # rubocop:disable Style/SymbolLiteral
88
+ 'id': :'String',
89
+ 'compartment_id': :'String',
90
+ 'is_enabled': :'BOOLEAN',
91
+ 'source': :'OCI::Mysql::Models::ChannelSource',
92
+ 'target': :'OCI::Mysql::Models::ChannelTarget',
93
+ 'lifecycle_state': :'String',
94
+ 'lifecycle_details': :'String',
95
+ 'display_name': :'String',
96
+ 'time_created': :'DateTime',
97
+ 'time_updated': :'DateTime',
98
+ 'freeform_tags': :'Hash<String, String>',
99
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
100
+ # rubocop:enable Style/SymbolLiteral
101
+ }
102
+ end
103
+
104
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
105
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
106
+
107
+
108
+ # Initializes the object
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @option attributes [String] :id The value to assign to the {#id} property
111
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
112
+ # @option attributes [BOOLEAN] :is_enabled The value to assign to the {#is_enabled} property
113
+ # @option attributes [OCI::Mysql::Models::ChannelSource] :source The value to assign to the {#source} property
114
+ # @option attributes [OCI::Mysql::Models::ChannelTarget] :target The value to assign to the {#target} property
115
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
116
+ # @option attributes [String] :lifecycle_details The value to assign to the {#lifecycle_details} property
117
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
118
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
119
+ # @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
120
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
121
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
122
+ def initialize(attributes = {})
123
+ return unless attributes.is_a?(Hash)
124
+
125
+ # convert string to symbol for hash key
126
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
127
+
128
+ self.id = attributes[:'id'] if attributes[:'id']
129
+
130
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
131
+
132
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
133
+
134
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
135
+
136
+ self.is_enabled = attributes[:'isEnabled'] unless attributes[:'isEnabled'].nil?
137
+ self.is_enabled = true if is_enabled.nil? && !attributes.key?(:'isEnabled') # rubocop:disable Style/StringLiterals
138
+
139
+ raise 'You cannot provide both :isEnabled and :is_enabled' if attributes.key?(:'isEnabled') && attributes.key?(:'is_enabled')
140
+
141
+ self.is_enabled = attributes[:'is_enabled'] unless attributes[:'is_enabled'].nil?
142
+ self.is_enabled = true if is_enabled.nil? && !attributes.key?(:'isEnabled') && !attributes.key?(:'is_enabled') # rubocop:disable Style/StringLiterals
143
+
144
+ self.source = attributes[:'source'] if attributes[:'source']
145
+
146
+ self.target = attributes[:'target'] if attributes[:'target']
147
+
148
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
149
+
150
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
151
+
152
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
153
+
154
+ self.lifecycle_details = attributes[:'lifecycleDetails'] if attributes[:'lifecycleDetails']
155
+
156
+ raise 'You cannot provide both :lifecycleDetails and :lifecycle_details' if attributes.key?(:'lifecycleDetails') && attributes.key?(:'lifecycle_details')
157
+
158
+ self.lifecycle_details = attributes[:'lifecycle_details'] if attributes[:'lifecycle_details']
159
+
160
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
161
+
162
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
163
+
164
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
165
+
166
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
167
+
168
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
169
+
170
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
171
+
172
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
173
+
174
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
175
+
176
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
177
+
178
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
179
+
180
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
181
+
182
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
183
+
184
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
185
+
186
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
187
+
188
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
189
+ end
190
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
191
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
192
+
193
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
194
+
195
+
196
+ # Checks equality by comparing each attribute.
197
+ # @param [Object] other the other object to be compared
198
+ def ==(other)
199
+ return true if equal?(other)
200
+
201
+ self.class == other.class &&
202
+ id == other.id &&
203
+ compartment_id == other.compartment_id &&
204
+ is_enabled == other.is_enabled &&
205
+ source == other.source &&
206
+ target == other.target &&
207
+ lifecycle_state == other.lifecycle_state &&
208
+ lifecycle_details == other.lifecycle_details &&
209
+ display_name == other.display_name &&
210
+ time_created == other.time_created &&
211
+ time_updated == other.time_updated &&
212
+ freeform_tags == other.freeform_tags &&
213
+ defined_tags == other.defined_tags
214
+ end
215
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
216
+
217
+ # @see the `==` method
218
+ # @param [Object] other the other object to be compared
219
+ def eql?(other)
220
+ self == other
221
+ end
222
+
223
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
224
+
225
+
226
+ # Calculates hash code according to all attributes.
227
+ # @return [Fixnum] Hash code
228
+ def hash
229
+ [id, compartment_id, is_enabled, source, target, lifecycle_state, lifecycle_details, display_name, time_created, time_updated, freeform_tags, defined_tags].hash
230
+ end
231
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
232
+
233
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
234
+
235
+
236
+ # Builds the object from hash
237
+ # @param [Hash] attributes Model attributes in the form of hash
238
+ # @return [Object] Returns the model itself
239
+ def build_from_hash(attributes)
240
+ return nil unless attributes.is_a?(Hash)
241
+
242
+ self.class.swagger_types.each_pair do |key, type|
243
+ if type =~ /^Array<(.*)>/i
244
+ # check to ensure the input is an array given that the the attribute
245
+ # is documented as an array but the input is not
246
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
247
+ public_method("#{key}=").call(
248
+ attributes[self.class.attribute_map[key]]
249
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
250
+ )
251
+ end
252
+ elsif !attributes[self.class.attribute_map[key]].nil?
253
+ public_method("#{key}=").call(
254
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
255
+ )
256
+ end
257
+ # or else data not found in attributes(hash), not an issue as the data can be optional
258
+ end
259
+
260
+ self
261
+ end
262
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
263
+
264
+ # Returns the string representation of the object
265
+ # @return [String] String presentation of the object
266
+ def to_s
267
+ to_hash.to_s
268
+ end
269
+
270
+ # Returns the object in the form of hash
271
+ # @return [Hash] Returns the object in the form of hash
272
+ def to_hash
273
+ hash = {}
274
+ self.class.attribute_map.each_pair do |attr, param|
275
+ value = public_method(attr).call
276
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
277
+
278
+ hash[param] = _to_hash(value)
279
+ end
280
+ hash
281
+ end
282
+
283
+ private
284
+
285
+ # Outputs non-array value in the form of hash
286
+ # For object, use to_hash. Otherwise, just return the value
287
+ # @param [Object] value Any valid value
288
+ # @return [Hash] Returns the value in the form of hash
289
+ def _to_hash(value)
290
+ if value.is_a?(Array)
291
+ value.compact.map { |v| _to_hash(v) }
292
+ elsif value.is_a?(Hash)
293
+ {}.tap do |hash|
294
+ value.each { |k, v| hash[k] = _to_hash(v) }
295
+ end
296
+ elsif value.respond_to? :to_hash
297
+ value.to_hash
298
+ else
299
+ value
300
+ end
301
+ end
302
+ end
303
+ end
304
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength