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,285 @@
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
+ # Rover entitlement summary.
9
+ class Rover::Models::RoverEntitlementSummary
10
+ # Id of the entitlement.
11
+ # @return [String]
12
+ attr_accessor :id
13
+
14
+ # **[Required]** The compartment Id.
15
+ # @return [String]
16
+ attr_accessor :compartment_id
17
+
18
+ # A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
19
+ # @return [String]
20
+ attr_accessor :display_name
21
+
22
+ # Requestor name for the entitlement.
23
+ # @return [String]
24
+ attr_accessor :requestor_name
25
+
26
+ # Email id of the requestor for entitlement.
27
+ # @return [String]
28
+ attr_accessor :requestor_email
29
+
30
+ # **[Required]** Lifecyclestate for the entitlement.
31
+ # @return [String]
32
+ attr_accessor :lifecycle_state
33
+
34
+ # A property that can contain details on the lifecycle.
35
+ # @return [String]
36
+ attr_accessor :lifecycle_state_details
37
+
38
+ # The freeform tags associated with this resource, if any. Each tag is a simple key-value pair with no
39
+ # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
40
+ # Example: `{\"Department\": \"Finance\"}`
41
+ #
42
+ # @return [Hash<String, String>]
43
+ attr_accessor :freeform_tags
44
+
45
+ # The defined tags associated with this resource, if any. Each key is predefined and scoped to namespaces.
46
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
47
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
48
+ #
49
+ # @return [Hash<String, Hash<String, Object>>]
50
+ attr_accessor :defined_tags
51
+
52
+ # The system tags associated with this resource, if any. The system tags are set by Oracle cloud infrastructure services. Each key is predefined and scoped to namespaces.
53
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
54
+ # Example: `{orcl-cloud: {free-tier-retain: true}}`
55
+ #
56
+ # @return [Hash<String, Hash<String, Object>>]
57
+ attr_accessor :system_tags
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+ # rubocop:disable Style/SymbolLiteral
63
+ 'id': :'id',
64
+ 'compartment_id': :'compartmentId',
65
+ 'display_name': :'displayName',
66
+ 'requestor_name': :'requestorName',
67
+ 'requestor_email': :'requestorEmail',
68
+ 'lifecycle_state': :'lifecycleState',
69
+ 'lifecycle_state_details': :'lifecycleStateDetails',
70
+ 'freeform_tags': :'freeformTags',
71
+ 'defined_tags': :'definedTags',
72
+ 'system_tags': :'systemTags'
73
+ # rubocop:enable Style/SymbolLiteral
74
+ }
75
+ end
76
+
77
+ # Attribute type mapping.
78
+ def self.swagger_types
79
+ {
80
+ # rubocop:disable Style/SymbolLiteral
81
+ 'id': :'String',
82
+ 'compartment_id': :'String',
83
+ 'display_name': :'String',
84
+ 'requestor_name': :'String',
85
+ 'requestor_email': :'String',
86
+ 'lifecycle_state': :'String',
87
+ 'lifecycle_state_details': :'String',
88
+ 'freeform_tags': :'Hash<String, String>',
89
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
90
+ 'system_tags': :'Hash<String, Hash<String, Object>>'
91
+ # rubocop:enable Style/SymbolLiteral
92
+ }
93
+ end
94
+
95
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
96
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
97
+
98
+
99
+ # Initializes the object
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ # @option attributes [String] :id The value to assign to the {#id} property
102
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
103
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
104
+ # @option attributes [String] :requestor_name The value to assign to the {#requestor_name} property
105
+ # @option attributes [String] :requestor_email The value to assign to the {#requestor_email} property
106
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
107
+ # @option attributes [String] :lifecycle_state_details The value to assign to the {#lifecycle_state_details} property
108
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
109
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
110
+ # @option attributes [Hash<String, Hash<String, Object>>] :system_tags The value to assign to the {#system_tags} property
111
+ def initialize(attributes = {})
112
+ return unless attributes.is_a?(Hash)
113
+
114
+ # convert string to symbol for hash key
115
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
116
+
117
+ self.id = attributes[:'id'] if attributes[:'id']
118
+
119
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
120
+
121
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
122
+
123
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
124
+
125
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
126
+
127
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
128
+
129
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
130
+
131
+ self.requestor_name = attributes[:'requestorName'] if attributes[:'requestorName']
132
+
133
+ raise 'You cannot provide both :requestorName and :requestor_name' if attributes.key?(:'requestorName') && attributes.key?(:'requestor_name')
134
+
135
+ self.requestor_name = attributes[:'requestor_name'] if attributes[:'requestor_name']
136
+
137
+ self.requestor_email = attributes[:'requestorEmail'] if attributes[:'requestorEmail']
138
+
139
+ raise 'You cannot provide both :requestorEmail and :requestor_email' if attributes.key?(:'requestorEmail') && attributes.key?(:'requestor_email')
140
+
141
+ self.requestor_email = attributes[:'requestor_email'] if attributes[:'requestor_email']
142
+
143
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
144
+
145
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
146
+
147
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
148
+
149
+ self.lifecycle_state_details = attributes[:'lifecycleStateDetails'] if attributes[:'lifecycleStateDetails']
150
+
151
+ raise 'You cannot provide both :lifecycleStateDetails and :lifecycle_state_details' if attributes.key?(:'lifecycleStateDetails') && attributes.key?(:'lifecycle_state_details')
152
+
153
+ self.lifecycle_state_details = attributes[:'lifecycle_state_details'] if attributes[:'lifecycle_state_details']
154
+
155
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
156
+
157
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
158
+
159
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
160
+
161
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
162
+
163
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
164
+
165
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
166
+
167
+ self.system_tags = attributes[:'systemTags'] if attributes[:'systemTags']
168
+
169
+ raise 'You cannot provide both :systemTags and :system_tags' if attributes.key?(:'systemTags') && attributes.key?(:'system_tags')
170
+
171
+ self.system_tags = attributes[:'system_tags'] if attributes[:'system_tags']
172
+ end
173
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
174
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
175
+
176
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
177
+
178
+
179
+ # Checks equality by comparing each attribute.
180
+ # @param [Object] other the other object to be compared
181
+ def ==(other)
182
+ return true if equal?(other)
183
+
184
+ self.class == other.class &&
185
+ id == other.id &&
186
+ compartment_id == other.compartment_id &&
187
+ display_name == other.display_name &&
188
+ requestor_name == other.requestor_name &&
189
+ requestor_email == other.requestor_email &&
190
+ lifecycle_state == other.lifecycle_state &&
191
+ lifecycle_state_details == other.lifecycle_state_details &&
192
+ freeform_tags == other.freeform_tags &&
193
+ defined_tags == other.defined_tags &&
194
+ system_tags == other.system_tags
195
+ end
196
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
197
+
198
+ # @see the `==` method
199
+ # @param [Object] other the other object to be compared
200
+ def eql?(other)
201
+ self == other
202
+ end
203
+
204
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
205
+
206
+
207
+ # Calculates hash code according to all attributes.
208
+ # @return [Fixnum] Hash code
209
+ def hash
210
+ [id, compartment_id, display_name, requestor_name, requestor_email, lifecycle_state, lifecycle_state_details, freeform_tags, defined_tags, system_tags].hash
211
+ end
212
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
213
+
214
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
215
+
216
+
217
+ # Builds the object from hash
218
+ # @param [Hash] attributes Model attributes in the form of hash
219
+ # @return [Object] Returns the model itself
220
+ def build_from_hash(attributes)
221
+ return nil unless attributes.is_a?(Hash)
222
+
223
+ self.class.swagger_types.each_pair do |key, type|
224
+ if type =~ /^Array<(.*)>/i
225
+ # check to ensure the input is an array given that the the attribute
226
+ # is documented as an array but the input is not
227
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
228
+ public_method("#{key}=").call(
229
+ attributes[self.class.attribute_map[key]]
230
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
231
+ )
232
+ end
233
+ elsif !attributes[self.class.attribute_map[key]].nil?
234
+ public_method("#{key}=").call(
235
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
236
+ )
237
+ end
238
+ # or else data not found in attributes(hash), not an issue as the data can be optional
239
+ end
240
+
241
+ self
242
+ end
243
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
244
+
245
+ # Returns the string representation of the object
246
+ # @return [String] String presentation of the object
247
+ def to_s
248
+ to_hash.to_s
249
+ end
250
+
251
+ # Returns the object in the form of hash
252
+ # @return [Hash] Returns the object in the form of hash
253
+ def to_hash
254
+ hash = {}
255
+ self.class.attribute_map.each_pair do |attr, param|
256
+ value = public_method(attr).call
257
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
258
+
259
+ hash[param] = _to_hash(value)
260
+ end
261
+ hash
262
+ end
263
+
264
+ private
265
+
266
+ # Outputs non-array value in the form of hash
267
+ # For object, use to_hash. Otherwise, just return the value
268
+ # @param [Object] value Any valid value
269
+ # @return [Hash] Returns the value in the form of hash
270
+ def _to_hash(value)
271
+ if value.is_a?(Array)
272
+ value.compact.map { |v| _to_hash(v) }
273
+ elsif value.is_a?(Hash)
274
+ {}.tap do |hash|
275
+ value.each { |k, v| hash[k] = _to_hash(v) }
276
+ end
277
+ elsif value.respond_to? :to_hash
278
+ value.to_hash
279
+ else
280
+ value
281
+ end
282
+ end
283
+ end
284
+ end
285
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,661 @@
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
+ # Information about a RoverNode.
10
+ class Rover::Models::RoverNode
11
+ NODE_TYPE_ENUM = [
12
+ NODE_TYPE_STANDALONE = 'STANDALONE'.freeze,
13
+ NODE_TYPE_CLUSTERED = 'CLUSTERED'.freeze,
14
+ NODE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
15
+ ].freeze
16
+
17
+ ENCLOSURE_TYPE_ENUM = [
18
+ ENCLOSURE_TYPE_RUGGADIZED = 'RUGGADIZED'.freeze,
19
+ ENCLOSURE_TYPE_NON_RUGGADIZED = 'NON_RUGGADIZED'.freeze,
20
+ ENCLOSURE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
21
+ ].freeze
22
+
23
+ LIFECYCLE_STATE_ENUM = [
24
+ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
25
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
26
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
27
+ LIFECYCLE_STATE_DELETING = 'DELETING'.freeze,
28
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
29
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
30
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
31
+ ].freeze
32
+
33
+ SHIPPING_PREFERENCE_ENUM = [
34
+ SHIPPING_PREFERENCE_ORACLE_SHIPPED = 'ORACLE_SHIPPED'.freeze,
35
+ SHIPPING_PREFERENCE_CUSTOMER_PICKUP = 'CUSTOMER_PICKUP'.freeze,
36
+ SHIPPING_PREFERENCE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
37
+ ].freeze
38
+
39
+ # **[Required]** The OCID of RoverNode.
40
+ # @return [String]
41
+ attr_accessor :id
42
+
43
+ # The cluster ID if the node is part of a cluster.
44
+ # @return [String]
45
+ attr_accessor :cluster_id
46
+
47
+ # **[Required]** The OCID of the compartment containing the RoverNode.
48
+ # @return [String]
49
+ attr_accessor :compartment_id
50
+
51
+ # The type of node indicating if it belongs to a cluster
52
+ # @return [String]
53
+ attr_reader :node_type
54
+
55
+ # The type of enclosure rover node is shipped in.
56
+ # @return [String]
57
+ attr_reader :enclosure_type
58
+
59
+ # Serial number of the node.
60
+ # @return [String]
61
+ attr_accessor :serial_number
62
+
63
+ # **[Required]** A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
64
+ # @return [String]
65
+ attr_accessor :display_name
66
+
67
+ # The time the the RoverNode was created. An RFC3339 formatted datetime string
68
+ # @return [DateTime]
69
+ attr_accessor :time_created
70
+
71
+ # **[Required]** The current state of the RoverNode.
72
+ # @return [String]
73
+ attr_reader :lifecycle_state
74
+
75
+ # A property that can contain details on the lifecycle.
76
+ # @return [String]
77
+ attr_accessor :lifecycle_state_details
78
+
79
+ # @return [OCI::Rover::Models::ShippingAddress]
80
+ attr_accessor :customer_shipping_address
81
+
82
+ # List of existing workloads that should be provisioned on the node.
83
+ # @return [Array<OCI::Rover::Models::RoverWorkload>]
84
+ attr_accessor :node_workloads
85
+
86
+ # Date and time when customer received tne node.
87
+ # @return [DateTime]
88
+ attr_accessor :time_customer_receieved
89
+
90
+ # Date and time when customer returned the node.
91
+ # @return [DateTime]
92
+ attr_accessor :time_customer_returned
93
+
94
+ # Tracking information for device shipping.
95
+ # @return [String]
96
+ attr_accessor :delivery_tracking_info
97
+
98
+ # Root password for the rover node.
99
+ # @return [String]
100
+ attr_accessor :super_user_password
101
+
102
+ # Password to unlock the rover node.
103
+ # @return [String]
104
+ attr_accessor :unlock_passphrase
105
+
106
+ # Name of point of contact for this order if customer is picking up.
107
+ # @return [String]
108
+ attr_accessor :point_of_contact
109
+
110
+ # Phone number of point of contact for this order if customer is picking up.
111
+ # @return [String]
112
+ attr_accessor :point_of_contact_phone_number
113
+
114
+ # Preference for device delivery.
115
+ # @return [String]
116
+ attr_reader :shipping_preference
117
+
118
+ # Shipping vendor of choice for orace to customer shipping.
119
+ # @return [String]
120
+ attr_accessor :shipping_vendor
121
+
122
+ # Expected date when customer wants to pickup the device if they chose customer pickup.
123
+ # @return [DateTime]
124
+ attr_accessor :time_pickup_expected
125
+
126
+ # Start time for the window to pickup the device from customer.
127
+ # @return [DateTime]
128
+ attr_accessor :time_return_window_starts
129
+
130
+ # Tracking Url for the shipped RoverNode.
131
+ # @return [String]
132
+ attr_accessor :oracle_shipping_tracking_url
133
+
134
+ # End time for the window to pickup the device from customer.
135
+ # @return [DateTime]
136
+ attr_accessor :time_return_window_ends
137
+
138
+ # Uri to download return shipping label.
139
+ # @return [String]
140
+ attr_accessor :return_shipping_label_uri
141
+
142
+ # The public key of the resource principal
143
+ # @return [String]
144
+ attr_accessor :public_key
145
+
146
+ # The link to pre-authenticated request for a bucket where image workloads are moved.
147
+ # @return [String]
148
+ attr_accessor :image_export_par
149
+
150
+ # The freeform tags associated with this resource, if any. Each tag is a simple key-value pair with no
151
+ # predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
152
+ # Example: `{\"Department\": \"Finance\"}`
153
+ #
154
+ # @return [Hash<String, String>]
155
+ attr_accessor :freeform_tags
156
+
157
+ # The defined tags associated with this resource, if any. Each key is predefined and scoped to namespaces.
158
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
159
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
160
+ #
161
+ # @return [Hash<String, Hash<String, Object>>]
162
+ attr_accessor :defined_tags
163
+
164
+ # The system tags associated with this resource, if any. The system tags are set by Oracle cloud infrastructure services. Each key is predefined and scoped to namespaces.
165
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
166
+ # Example: `{orcl-cloud: {free-tier-retain: true}}`
167
+ #
168
+ # @return [Hash<String, Hash<String, Object>>]
169
+ attr_accessor :system_tags
170
+
171
+ # Attribute mapping from ruby-style variable name to JSON key.
172
+ def self.attribute_map
173
+ {
174
+ # rubocop:disable Style/SymbolLiteral
175
+ 'id': :'id',
176
+ 'cluster_id': :'clusterId',
177
+ 'compartment_id': :'compartmentId',
178
+ 'node_type': :'nodeType',
179
+ 'enclosure_type': :'enclosureType',
180
+ 'serial_number': :'serialNumber',
181
+ 'display_name': :'displayName',
182
+ 'time_created': :'timeCreated',
183
+ 'lifecycle_state': :'lifecycleState',
184
+ 'lifecycle_state_details': :'lifecycleStateDetails',
185
+ 'customer_shipping_address': :'customerShippingAddress',
186
+ 'node_workloads': :'nodeWorkloads',
187
+ 'time_customer_receieved': :'timeCustomerReceieved',
188
+ 'time_customer_returned': :'timeCustomerReturned',
189
+ 'delivery_tracking_info': :'deliveryTrackingInfo',
190
+ 'super_user_password': :'superUserPassword',
191
+ 'unlock_passphrase': :'unlockPassphrase',
192
+ 'point_of_contact': :'pointOfContact',
193
+ 'point_of_contact_phone_number': :'pointOfContactPhoneNumber',
194
+ 'shipping_preference': :'shippingPreference',
195
+ 'shipping_vendor': :'shippingVendor',
196
+ 'time_pickup_expected': :'timePickupExpected',
197
+ 'time_return_window_starts': :'timeReturnWindowStarts',
198
+ 'oracle_shipping_tracking_url': :'oracleShippingTrackingUrl',
199
+ 'time_return_window_ends': :'timeReturnWindowEnds',
200
+ 'return_shipping_label_uri': :'returnShippingLabelUri',
201
+ 'public_key': :'publicKey',
202
+ 'image_export_par': :'imageExportPar',
203
+ 'freeform_tags': :'freeformTags',
204
+ 'defined_tags': :'definedTags',
205
+ 'system_tags': :'systemTags'
206
+ # rubocop:enable Style/SymbolLiteral
207
+ }
208
+ end
209
+
210
+ # Attribute type mapping.
211
+ def self.swagger_types
212
+ {
213
+ # rubocop:disable Style/SymbolLiteral
214
+ 'id': :'String',
215
+ 'cluster_id': :'String',
216
+ 'compartment_id': :'String',
217
+ 'node_type': :'String',
218
+ 'enclosure_type': :'String',
219
+ 'serial_number': :'String',
220
+ 'display_name': :'String',
221
+ 'time_created': :'DateTime',
222
+ 'lifecycle_state': :'String',
223
+ 'lifecycle_state_details': :'String',
224
+ 'customer_shipping_address': :'OCI::Rover::Models::ShippingAddress',
225
+ 'node_workloads': :'Array<OCI::Rover::Models::RoverWorkload>',
226
+ 'time_customer_receieved': :'DateTime',
227
+ 'time_customer_returned': :'DateTime',
228
+ 'delivery_tracking_info': :'String',
229
+ 'super_user_password': :'String',
230
+ 'unlock_passphrase': :'String',
231
+ 'point_of_contact': :'String',
232
+ 'point_of_contact_phone_number': :'String',
233
+ 'shipping_preference': :'String',
234
+ 'shipping_vendor': :'String',
235
+ 'time_pickup_expected': :'DateTime',
236
+ 'time_return_window_starts': :'DateTime',
237
+ 'oracle_shipping_tracking_url': :'String',
238
+ 'time_return_window_ends': :'DateTime',
239
+ 'return_shipping_label_uri': :'String',
240
+ 'public_key': :'String',
241
+ 'image_export_par': :'String',
242
+ 'freeform_tags': :'Hash<String, String>',
243
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
244
+ 'system_tags': :'Hash<String, Hash<String, Object>>'
245
+ # rubocop:enable Style/SymbolLiteral
246
+ }
247
+ end
248
+
249
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
250
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
251
+
252
+
253
+ # Initializes the object
254
+ # @param [Hash] attributes Model attributes in the form of hash
255
+ # @option attributes [String] :id The value to assign to the {#id} property
256
+ # @option attributes [String] :cluster_id The value to assign to the {#cluster_id} property
257
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
258
+ # @option attributes [String] :node_type The value to assign to the {#node_type} property
259
+ # @option attributes [String] :enclosure_type The value to assign to the {#enclosure_type} property
260
+ # @option attributes [String] :serial_number The value to assign to the {#serial_number} property
261
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
262
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
263
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
264
+ # @option attributes [String] :lifecycle_state_details The value to assign to the {#lifecycle_state_details} property
265
+ # @option attributes [OCI::Rover::Models::ShippingAddress] :customer_shipping_address The value to assign to the {#customer_shipping_address} property
266
+ # @option attributes [Array<OCI::Rover::Models::RoverWorkload>] :node_workloads The value to assign to the {#node_workloads} property
267
+ # @option attributes [DateTime] :time_customer_receieved The value to assign to the {#time_customer_receieved} property
268
+ # @option attributes [DateTime] :time_customer_returned The value to assign to the {#time_customer_returned} property
269
+ # @option attributes [String] :delivery_tracking_info The value to assign to the {#delivery_tracking_info} property
270
+ # @option attributes [String] :super_user_password The value to assign to the {#super_user_password} property
271
+ # @option attributes [String] :unlock_passphrase The value to assign to the {#unlock_passphrase} property
272
+ # @option attributes [String] :point_of_contact The value to assign to the {#point_of_contact} property
273
+ # @option attributes [String] :point_of_contact_phone_number The value to assign to the {#point_of_contact_phone_number} property
274
+ # @option attributes [String] :shipping_preference The value to assign to the {#shipping_preference} property
275
+ # @option attributes [String] :shipping_vendor The value to assign to the {#shipping_vendor} property
276
+ # @option attributes [DateTime] :time_pickup_expected The value to assign to the {#time_pickup_expected} property
277
+ # @option attributes [DateTime] :time_return_window_starts The value to assign to the {#time_return_window_starts} property
278
+ # @option attributes [String] :oracle_shipping_tracking_url The value to assign to the {#oracle_shipping_tracking_url} property
279
+ # @option attributes [DateTime] :time_return_window_ends The value to assign to the {#time_return_window_ends} property
280
+ # @option attributes [String] :return_shipping_label_uri The value to assign to the {#return_shipping_label_uri} property
281
+ # @option attributes [String] :public_key The value to assign to the {#public_key} property
282
+ # @option attributes [String] :image_export_par The value to assign to the {#image_export_par} property
283
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
284
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
285
+ # @option attributes [Hash<String, Hash<String, Object>>] :system_tags The value to assign to the {#system_tags} property
286
+ def initialize(attributes = {})
287
+ return unless attributes.is_a?(Hash)
288
+
289
+ # convert string to symbol for hash key
290
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
291
+
292
+ self.id = attributes[:'id'] if attributes[:'id']
293
+
294
+ self.cluster_id = attributes[:'clusterId'] if attributes[:'clusterId']
295
+
296
+ raise 'You cannot provide both :clusterId and :cluster_id' if attributes.key?(:'clusterId') && attributes.key?(:'cluster_id')
297
+
298
+ self.cluster_id = attributes[:'cluster_id'] if attributes[:'cluster_id']
299
+
300
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
301
+
302
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
303
+
304
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
305
+
306
+ self.node_type = attributes[:'nodeType'] if attributes[:'nodeType']
307
+
308
+ raise 'You cannot provide both :nodeType and :node_type' if attributes.key?(:'nodeType') && attributes.key?(:'node_type')
309
+
310
+ self.node_type = attributes[:'node_type'] if attributes[:'node_type']
311
+
312
+ self.enclosure_type = attributes[:'enclosureType'] if attributes[:'enclosureType']
313
+
314
+ raise 'You cannot provide both :enclosureType and :enclosure_type' if attributes.key?(:'enclosureType') && attributes.key?(:'enclosure_type')
315
+
316
+ self.enclosure_type = attributes[:'enclosure_type'] if attributes[:'enclosure_type']
317
+
318
+ self.serial_number = attributes[:'serialNumber'] if attributes[:'serialNumber']
319
+
320
+ raise 'You cannot provide both :serialNumber and :serial_number' if attributes.key?(:'serialNumber') && attributes.key?(:'serial_number')
321
+
322
+ self.serial_number = attributes[:'serial_number'] if attributes[:'serial_number']
323
+
324
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
325
+
326
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
327
+
328
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
329
+
330
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
331
+
332
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
333
+
334
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
335
+
336
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
337
+
338
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
339
+
340
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
341
+
342
+ self.lifecycle_state_details = attributes[:'lifecycleStateDetails'] if attributes[:'lifecycleStateDetails']
343
+
344
+ raise 'You cannot provide both :lifecycleStateDetails and :lifecycle_state_details' if attributes.key?(:'lifecycleStateDetails') && attributes.key?(:'lifecycle_state_details')
345
+
346
+ self.lifecycle_state_details = attributes[:'lifecycle_state_details'] if attributes[:'lifecycle_state_details']
347
+
348
+ self.customer_shipping_address = attributes[:'customerShippingAddress'] if attributes[:'customerShippingAddress']
349
+
350
+ raise 'You cannot provide both :customerShippingAddress and :customer_shipping_address' if attributes.key?(:'customerShippingAddress') && attributes.key?(:'customer_shipping_address')
351
+
352
+ self.customer_shipping_address = attributes[:'customer_shipping_address'] if attributes[:'customer_shipping_address']
353
+
354
+ self.node_workloads = attributes[:'nodeWorkloads'] if attributes[:'nodeWorkloads']
355
+
356
+ raise 'You cannot provide both :nodeWorkloads and :node_workloads' if attributes.key?(:'nodeWorkloads') && attributes.key?(:'node_workloads')
357
+
358
+ self.node_workloads = attributes[:'node_workloads'] if attributes[:'node_workloads']
359
+
360
+ self.time_customer_receieved = attributes[:'timeCustomerReceieved'] if attributes[:'timeCustomerReceieved']
361
+
362
+ raise 'You cannot provide both :timeCustomerReceieved and :time_customer_receieved' if attributes.key?(:'timeCustomerReceieved') && attributes.key?(:'time_customer_receieved')
363
+
364
+ self.time_customer_receieved = attributes[:'time_customer_receieved'] if attributes[:'time_customer_receieved']
365
+
366
+ self.time_customer_returned = attributes[:'timeCustomerReturned'] if attributes[:'timeCustomerReturned']
367
+
368
+ raise 'You cannot provide both :timeCustomerReturned and :time_customer_returned' if attributes.key?(:'timeCustomerReturned') && attributes.key?(:'time_customer_returned')
369
+
370
+ self.time_customer_returned = attributes[:'time_customer_returned'] if attributes[:'time_customer_returned']
371
+
372
+ self.delivery_tracking_info = attributes[:'deliveryTrackingInfo'] if attributes[:'deliveryTrackingInfo']
373
+
374
+ raise 'You cannot provide both :deliveryTrackingInfo and :delivery_tracking_info' if attributes.key?(:'deliveryTrackingInfo') && attributes.key?(:'delivery_tracking_info')
375
+
376
+ self.delivery_tracking_info = attributes[:'delivery_tracking_info'] if attributes[:'delivery_tracking_info']
377
+
378
+ self.super_user_password = attributes[:'superUserPassword'] if attributes[:'superUserPassword']
379
+
380
+ raise 'You cannot provide both :superUserPassword and :super_user_password' if attributes.key?(:'superUserPassword') && attributes.key?(:'super_user_password')
381
+
382
+ self.super_user_password = attributes[:'super_user_password'] if attributes[:'super_user_password']
383
+
384
+ self.unlock_passphrase = attributes[:'unlockPassphrase'] if attributes[:'unlockPassphrase']
385
+
386
+ raise 'You cannot provide both :unlockPassphrase and :unlock_passphrase' if attributes.key?(:'unlockPassphrase') && attributes.key?(:'unlock_passphrase')
387
+
388
+ self.unlock_passphrase = attributes[:'unlock_passphrase'] if attributes[:'unlock_passphrase']
389
+
390
+ self.point_of_contact = attributes[:'pointOfContact'] if attributes[:'pointOfContact']
391
+
392
+ raise 'You cannot provide both :pointOfContact and :point_of_contact' if attributes.key?(:'pointOfContact') && attributes.key?(:'point_of_contact')
393
+
394
+ self.point_of_contact = attributes[:'point_of_contact'] if attributes[:'point_of_contact']
395
+
396
+ self.point_of_contact_phone_number = attributes[:'pointOfContactPhoneNumber'] if attributes[:'pointOfContactPhoneNumber']
397
+
398
+ raise 'You cannot provide both :pointOfContactPhoneNumber and :point_of_contact_phone_number' if attributes.key?(:'pointOfContactPhoneNumber') && attributes.key?(:'point_of_contact_phone_number')
399
+
400
+ self.point_of_contact_phone_number = attributes[:'point_of_contact_phone_number'] if attributes[:'point_of_contact_phone_number']
401
+
402
+ self.shipping_preference = attributes[:'shippingPreference'] if attributes[:'shippingPreference']
403
+ self.shipping_preference = "ORACLE_SHIPPED" if shipping_preference.nil? && !attributes.key?(:'shippingPreference') # rubocop:disable Style/StringLiterals
404
+
405
+ raise 'You cannot provide both :shippingPreference and :shipping_preference' if attributes.key?(:'shippingPreference') && attributes.key?(:'shipping_preference')
406
+
407
+ self.shipping_preference = attributes[:'shipping_preference'] if attributes[:'shipping_preference']
408
+ self.shipping_preference = "ORACLE_SHIPPED" if shipping_preference.nil? && !attributes.key?(:'shippingPreference') && !attributes.key?(:'shipping_preference') # rubocop:disable Style/StringLiterals
409
+
410
+ self.shipping_vendor = attributes[:'shippingVendor'] if attributes[:'shippingVendor']
411
+
412
+ raise 'You cannot provide both :shippingVendor and :shipping_vendor' if attributes.key?(:'shippingVendor') && attributes.key?(:'shipping_vendor')
413
+
414
+ self.shipping_vendor = attributes[:'shipping_vendor'] if attributes[:'shipping_vendor']
415
+
416
+ self.time_pickup_expected = attributes[:'timePickupExpected'] if attributes[:'timePickupExpected']
417
+
418
+ raise 'You cannot provide both :timePickupExpected and :time_pickup_expected' if attributes.key?(:'timePickupExpected') && attributes.key?(:'time_pickup_expected')
419
+
420
+ self.time_pickup_expected = attributes[:'time_pickup_expected'] if attributes[:'time_pickup_expected']
421
+
422
+ self.time_return_window_starts = attributes[:'timeReturnWindowStarts'] if attributes[:'timeReturnWindowStarts']
423
+
424
+ raise 'You cannot provide both :timeReturnWindowStarts and :time_return_window_starts' if attributes.key?(:'timeReturnWindowStarts') && attributes.key?(:'time_return_window_starts')
425
+
426
+ self.time_return_window_starts = attributes[:'time_return_window_starts'] if attributes[:'time_return_window_starts']
427
+
428
+ self.oracle_shipping_tracking_url = attributes[:'oracleShippingTrackingUrl'] if attributes[:'oracleShippingTrackingUrl']
429
+
430
+ raise 'You cannot provide both :oracleShippingTrackingUrl and :oracle_shipping_tracking_url' if attributes.key?(:'oracleShippingTrackingUrl') && attributes.key?(:'oracle_shipping_tracking_url')
431
+
432
+ self.oracle_shipping_tracking_url = attributes[:'oracle_shipping_tracking_url'] if attributes[:'oracle_shipping_tracking_url']
433
+
434
+ self.time_return_window_ends = attributes[:'timeReturnWindowEnds'] if attributes[:'timeReturnWindowEnds']
435
+
436
+ raise 'You cannot provide both :timeReturnWindowEnds and :time_return_window_ends' if attributes.key?(:'timeReturnWindowEnds') && attributes.key?(:'time_return_window_ends')
437
+
438
+ self.time_return_window_ends = attributes[:'time_return_window_ends'] if attributes[:'time_return_window_ends']
439
+
440
+ self.return_shipping_label_uri = attributes[:'returnShippingLabelUri'] if attributes[:'returnShippingLabelUri']
441
+
442
+ raise 'You cannot provide both :returnShippingLabelUri and :return_shipping_label_uri' if attributes.key?(:'returnShippingLabelUri') && attributes.key?(:'return_shipping_label_uri')
443
+
444
+ self.return_shipping_label_uri = attributes[:'return_shipping_label_uri'] if attributes[:'return_shipping_label_uri']
445
+
446
+ self.public_key = attributes[:'publicKey'] if attributes[:'publicKey']
447
+
448
+ raise 'You cannot provide both :publicKey and :public_key' if attributes.key?(:'publicKey') && attributes.key?(:'public_key')
449
+
450
+ self.public_key = attributes[:'public_key'] if attributes[:'public_key']
451
+
452
+ self.image_export_par = attributes[:'imageExportPar'] if attributes[:'imageExportPar']
453
+
454
+ raise 'You cannot provide both :imageExportPar and :image_export_par' if attributes.key?(:'imageExportPar') && attributes.key?(:'image_export_par')
455
+
456
+ self.image_export_par = attributes[:'image_export_par'] if attributes[:'image_export_par']
457
+
458
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
459
+
460
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
461
+
462
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
463
+
464
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
465
+
466
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
467
+
468
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
469
+
470
+ self.system_tags = attributes[:'systemTags'] if attributes[:'systemTags']
471
+
472
+ raise 'You cannot provide both :systemTags and :system_tags' if attributes.key?(:'systemTags') && attributes.key?(:'system_tags')
473
+
474
+ self.system_tags = attributes[:'system_tags'] if attributes[:'system_tags']
475
+ end
476
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
477
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
478
+
479
+ # Custom attribute writer method checking allowed values (enum).
480
+ # @param [Object] node_type Object to be assigned
481
+ def node_type=(node_type)
482
+ # rubocop:disable Style/ConditionalAssignment
483
+ if node_type && !NODE_TYPE_ENUM.include?(node_type)
484
+ OCI.logger.debug("Unknown value for 'node_type' [" + node_type + "]. Mapping to 'NODE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
485
+ @node_type = NODE_TYPE_UNKNOWN_ENUM_VALUE
486
+ else
487
+ @node_type = node_type
488
+ end
489
+ # rubocop:enable Style/ConditionalAssignment
490
+ end
491
+
492
+ # Custom attribute writer method checking allowed values (enum).
493
+ # @param [Object] enclosure_type Object to be assigned
494
+ def enclosure_type=(enclosure_type)
495
+ # rubocop:disable Style/ConditionalAssignment
496
+ if enclosure_type && !ENCLOSURE_TYPE_ENUM.include?(enclosure_type)
497
+ OCI.logger.debug("Unknown value for 'enclosure_type' [" + enclosure_type + "]. Mapping to 'ENCLOSURE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
498
+ @enclosure_type = ENCLOSURE_TYPE_UNKNOWN_ENUM_VALUE
499
+ else
500
+ @enclosure_type = enclosure_type
501
+ end
502
+ # rubocop:enable Style/ConditionalAssignment
503
+ end
504
+
505
+ # Custom attribute writer method checking allowed values (enum).
506
+ # @param [Object] lifecycle_state Object to be assigned
507
+ def lifecycle_state=(lifecycle_state)
508
+ # rubocop:disable Style/ConditionalAssignment
509
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
510
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
511
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
512
+ else
513
+ @lifecycle_state = lifecycle_state
514
+ end
515
+ # rubocop:enable Style/ConditionalAssignment
516
+ end
517
+
518
+ # Custom attribute writer method checking allowed values (enum).
519
+ # @param [Object] shipping_preference Object to be assigned
520
+ def shipping_preference=(shipping_preference)
521
+ # rubocop:disable Style/ConditionalAssignment
522
+ if shipping_preference && !SHIPPING_PREFERENCE_ENUM.include?(shipping_preference)
523
+ OCI.logger.debug("Unknown value for 'shipping_preference' [" + shipping_preference + "]. Mapping to 'SHIPPING_PREFERENCE_UNKNOWN_ENUM_VALUE'") if OCI.logger
524
+ @shipping_preference = SHIPPING_PREFERENCE_UNKNOWN_ENUM_VALUE
525
+ else
526
+ @shipping_preference = shipping_preference
527
+ end
528
+ # rubocop:enable Style/ConditionalAssignment
529
+ end
530
+
531
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
532
+
533
+
534
+ # Checks equality by comparing each attribute.
535
+ # @param [Object] other the other object to be compared
536
+ def ==(other)
537
+ return true if equal?(other)
538
+
539
+ self.class == other.class &&
540
+ id == other.id &&
541
+ cluster_id == other.cluster_id &&
542
+ compartment_id == other.compartment_id &&
543
+ node_type == other.node_type &&
544
+ enclosure_type == other.enclosure_type &&
545
+ serial_number == other.serial_number &&
546
+ display_name == other.display_name &&
547
+ time_created == other.time_created &&
548
+ lifecycle_state == other.lifecycle_state &&
549
+ lifecycle_state_details == other.lifecycle_state_details &&
550
+ customer_shipping_address == other.customer_shipping_address &&
551
+ node_workloads == other.node_workloads &&
552
+ time_customer_receieved == other.time_customer_receieved &&
553
+ time_customer_returned == other.time_customer_returned &&
554
+ delivery_tracking_info == other.delivery_tracking_info &&
555
+ super_user_password == other.super_user_password &&
556
+ unlock_passphrase == other.unlock_passphrase &&
557
+ point_of_contact == other.point_of_contact &&
558
+ point_of_contact_phone_number == other.point_of_contact_phone_number &&
559
+ shipping_preference == other.shipping_preference &&
560
+ shipping_vendor == other.shipping_vendor &&
561
+ time_pickup_expected == other.time_pickup_expected &&
562
+ time_return_window_starts == other.time_return_window_starts &&
563
+ oracle_shipping_tracking_url == other.oracle_shipping_tracking_url &&
564
+ time_return_window_ends == other.time_return_window_ends &&
565
+ return_shipping_label_uri == other.return_shipping_label_uri &&
566
+ public_key == other.public_key &&
567
+ image_export_par == other.image_export_par &&
568
+ freeform_tags == other.freeform_tags &&
569
+ defined_tags == other.defined_tags &&
570
+ system_tags == other.system_tags
571
+ end
572
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
573
+
574
+ # @see the `==` method
575
+ # @param [Object] other the other object to be compared
576
+ def eql?(other)
577
+ self == other
578
+ end
579
+
580
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
581
+
582
+
583
+ # Calculates hash code according to all attributes.
584
+ # @return [Fixnum] Hash code
585
+ def hash
586
+ [id, cluster_id, compartment_id, node_type, enclosure_type, serial_number, display_name, time_created, lifecycle_state, lifecycle_state_details, customer_shipping_address, node_workloads, time_customer_receieved, time_customer_returned, delivery_tracking_info, super_user_password, unlock_passphrase, point_of_contact, point_of_contact_phone_number, shipping_preference, shipping_vendor, time_pickup_expected, time_return_window_starts, oracle_shipping_tracking_url, time_return_window_ends, return_shipping_label_uri, public_key, image_export_par, freeform_tags, defined_tags, system_tags].hash
587
+ end
588
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
589
+
590
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
591
+
592
+
593
+ # Builds the object from hash
594
+ # @param [Hash] attributes Model attributes in the form of hash
595
+ # @return [Object] Returns the model itself
596
+ def build_from_hash(attributes)
597
+ return nil unless attributes.is_a?(Hash)
598
+
599
+ self.class.swagger_types.each_pair do |key, type|
600
+ if type =~ /^Array<(.*)>/i
601
+ # check to ensure the input is an array given that the the attribute
602
+ # is documented as an array but the input is not
603
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
604
+ public_method("#{key}=").call(
605
+ attributes[self.class.attribute_map[key]]
606
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
607
+ )
608
+ end
609
+ elsif !attributes[self.class.attribute_map[key]].nil?
610
+ public_method("#{key}=").call(
611
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
612
+ )
613
+ end
614
+ # or else data not found in attributes(hash), not an issue as the data can be optional
615
+ end
616
+
617
+ self
618
+ end
619
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
620
+
621
+ # Returns the string representation of the object
622
+ # @return [String] String presentation of the object
623
+ def to_s
624
+ to_hash.to_s
625
+ end
626
+
627
+ # Returns the object in the form of hash
628
+ # @return [Hash] Returns the object in the form of hash
629
+ def to_hash
630
+ hash = {}
631
+ self.class.attribute_map.each_pair do |attr, param|
632
+ value = public_method(attr).call
633
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
634
+
635
+ hash[param] = _to_hash(value)
636
+ end
637
+ hash
638
+ end
639
+
640
+ private
641
+
642
+ # Outputs non-array value in the form of hash
643
+ # For object, use to_hash. Otherwise, just return the value
644
+ # @param [Object] value Any valid value
645
+ # @return [Hash] Returns the value in the form of hash
646
+ def _to_hash(value)
647
+ if value.is_a?(Array)
648
+ value.compact.map { |v| _to_hash(v) }
649
+ elsif value.is_a?(Hash)
650
+ {}.tap do |hash|
651
+ value.each { |k, v| hash[k] = _to_hash(v) }
652
+ end
653
+ elsif value.respond_to? :to_hash
654
+ value.to_hash
655
+ else
656
+ value
657
+ end
658
+ end
659
+ end
660
+ end
661
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength