oci 2.13.0 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (660) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +6 -4
  3. data/README.md +6 -1
  4. data/lib/oci.rb +4 -0
  5. data/lib/oci/ai_language/ai_language.rb +35 -0
  6. data/lib/oci/ai_language/ai_service_language_client.rb +396 -0
  7. data/lib/oci/ai_language/ai_service_language_client_composite_operations.rb +25 -0
  8. data/lib/oci/ai_language/models/detect_dominant_language_details.rb +150 -0
  9. data/lib/oci/ai_language/models/detect_dominant_language_result.rb +154 -0
  10. data/lib/oci/ai_language/models/detect_language_entities_details.rb +150 -0
  11. data/lib/oci/ai_language/models/detect_language_entities_result.rb +150 -0
  12. data/lib/oci/ai_language/models/detect_language_key_phrases_details.rb +150 -0
  13. data/lib/oci/ai_language/models/detect_language_key_phrases_result.rb +154 -0
  14. data/lib/oci/ai_language/models/detect_language_sentiments_details.rb +150 -0
  15. data/lib/oci/ai_language/models/detect_language_sentiments_result.rb +150 -0
  16. data/lib/oci/ai_language/models/detect_language_text_classification_details.rb +150 -0
  17. data/lib/oci/ai_language/models/detect_language_text_classification_result.rb +154 -0
  18. data/lib/oci/ai_language/models/detected_language.rb +172 -0
  19. data/lib/oci/ai_language/models/entity.rb +205 -0
  20. data/lib/oci/ai_language/models/key_phrase.rb +160 -0
  21. data/lib/oci/ai_language/models/ner_model_version.rb +11 -0
  22. data/lib/oci/ai_language/models/sentiment_aspect.rb +192 -0
  23. data/lib/oci/ai_language/models/text_classification.rb +160 -0
  24. data/lib/oci/ai_language/util.rb +3 -0
  25. data/lib/oci/api_client.rb +3 -6
  26. data/lib/oci/apigateway/apigateway.rb +17 -0
  27. data/lib/oci/apigateway/models/api_specification_route_request_policies.rb +56 -4
  28. data/lib/oci/apigateway/models/api_specification_route_response_policies.rb +17 -4
  29. data/lib/oci/apigateway/models/body_validation_request_policy.rb +211 -0
  30. data/lib/oci/apigateway/models/content_validation.rb +194 -0
  31. data/lib/oci/apigateway/models/create_gateway_details.rb +14 -1
  32. data/lib/oci/apigateway/models/external_resp_cache.rb +269 -0
  33. data/lib/oci/apigateway/models/fixed_ttl_response_cache_store_policy.rb +164 -0
  34. data/lib/oci/apigateway/models/gateway.rb +14 -1
  35. data/lib/oci/apigateway/models/header_validation_item.rb +161 -0
  36. data/lib/oci/apigateway/models/header_validation_request_policy.rb +188 -0
  37. data/lib/oci/apigateway/models/no_cache.rb +146 -0
  38. data/lib/oci/apigateway/models/no_content_validation.rb +145 -0
  39. data/lib/oci/apigateway/models/query_parameter_validation_item.rb +161 -0
  40. data/lib/oci/apigateway/models/query_parameter_validation_request_policy.rb +195 -0
  41. data/lib/oci/apigateway/models/request_parameter_validation.rb +150 -0
  42. data/lib/oci/apigateway/models/response_cache_details.rb +188 -0
  43. data/lib/oci/apigateway/models/response_cache_lookup_policy.rb +225 -0
  44. data/lib/oci/apigateway/models/response_cache_resp_server.rb +161 -0
  45. data/lib/oci/apigateway/models/response_cache_store_policy.rb +186 -0
  46. data/lib/oci/apigateway/models/simple_lookup_policy.rb +173 -0
  47. data/lib/oci/apigateway/models/update_gateway_details.rb +14 -1
  48. data/lib/oci/apigateway/models/validation_request_policy.rb +179 -0
  49. data/lib/oci/auth/signers/resource_principals_federation_signer.rb +15 -17
  50. data/lib/oci/cloud_guard/cloud_guard.rb +13 -0
  51. data/lib/oci/cloud_guard/cloud_guard_client.rb +426 -9
  52. data/lib/oci/cloud_guard/cloud_guard_client_composite_operations.rb +119 -0
  53. data/lib/oci/cloud_guard/models/all_targets_selected.rb +145 -0
  54. data/lib/oci/cloud_guard/models/create_data_mask_rule_details.rb +335 -0
  55. data/lib/oci/cloud_guard/models/create_managed_list_details.rb +2 -1
  56. data/lib/oci/cloud_guard/models/data_mask_category.rb +15 -0
  57. data/lib/oci/cloud_guard/models/data_mask_rule.rb +425 -0
  58. data/lib/oci/cloud_guard/models/data_mask_rule_collection.rb +150 -0
  59. data/lib/oci/cloud_guard/models/data_mask_rule_status.rb +11 -0
  60. data/lib/oci/cloud_guard/models/data_mask_rule_summary.rb +425 -0
  61. data/lib/oci/cloud_guard/models/detector_recipe.rb +2 -2
  62. data/lib/oci/cloud_guard/models/detector_recipe_detector_rule.rb +1 -0
  63. data/lib/oci/cloud_guard/models/detector_recipe_detector_rule_summary.rb +1 -0
  64. data/lib/oci/cloud_guard/models/detector_rule.rb +1 -0
  65. data/lib/oci/cloud_guard/models/detector_rule_summary.rb +1 -0
  66. data/lib/oci/cloud_guard/models/managed_list.rb +1 -0
  67. data/lib/oci/cloud_guard/models/managed_list_summary.rb +1 -0
  68. data/lib/oci/cloud_guard/models/managed_list_type.rb +2 -1
  69. data/lib/oci/cloud_guard/models/policy_collection.rb +150 -0
  70. data/lib/oci/cloud_guard/models/policy_summary.rb +150 -0
  71. data/lib/oci/cloud_guard/models/problem.rb +35 -1
  72. data/lib/oci/cloud_guard/models/security_rating.rb +2 -1
  73. data/lib/oci/cloud_guard/models/security_score_aggregation.rb +1 -0
  74. data/lib/oci/cloud_guard/models/security_score_trend_aggregation.rb +1 -0
  75. data/lib/oci/cloud_guard/models/target_detector_recipe_detector_rule.rb +1 -0
  76. data/lib/oci/cloud_guard/models/target_detector_recipe_detector_rule_summary.rb +1 -0
  77. data/lib/oci/cloud_guard/models/target_ids_selected.rb +158 -0
  78. data/lib/oci/cloud_guard/models/target_resource_types_selected.rb +186 -0
  79. data/lib/oci/cloud_guard/models/target_selected.rb +189 -0
  80. data/lib/oci/cloud_guard/models/update_bulk_problem_status_details.rb +14 -4
  81. data/lib/oci/cloud_guard/models/update_data_mask_rule_details.rb +292 -0
  82. data/lib/oci/config.rb +1 -3
  83. data/lib/oci/core/compute_client.rb +6 -5
  84. data/lib/oci/core/core.rb +47 -0
  85. data/lib/oci/core/models/add_drg_route_distribution_statement_details.rb +195 -0
  86. data/lib/oci/core/models/add_drg_route_distribution_statements_details.rb +152 -0
  87. data/lib/oci/core/models/add_drg_route_rule_details.rb +202 -0
  88. data/lib/oci/core/models/add_drg_route_rules_details.rb +156 -0
  89. data/lib/oci/core/models/add_security_rule_details.rb +2 -2
  90. data/lib/oci/core/models/bgp_session_info.rb +90 -4
  91. data/lib/oci/core/models/block_volume_replica.rb +19 -4
  92. data/lib/oci/core/models/boot_volume_replica.rb +19 -4
  93. data/lib/oci/core/models/create_drg_attachment_details.rb +72 -4
  94. data/lib/oci/core/models/create_drg_details.rb +1 -1
  95. data/lib/oci/core/models/create_drg_route_distribution_details.rb +235 -0
  96. data/lib/oci/core/models/create_drg_route_table_details.rb +242 -0
  97. data/lib/oci/core/models/create_image_details.rb +2 -2
  98. data/lib/oci/core/models/create_ip_sec_connection_details.rb +3 -3
  99. data/lib/oci/core/models/create_ip_sec_tunnel_bgp_session_details.rb +53 -1
  100. data/lib/oci/core/models/create_ipv6_details.rb +1 -23
  101. data/lib/oci/core/models/create_subnet_details.rb +26 -3
  102. data/lib/oci/core/models/create_vcn_details.rb +3 -36
  103. data/lib/oci/core/models/create_vnic_details.rb +20 -1
  104. data/lib/oci/core/models/cross_connect_mapping.rb +1 -1
  105. data/lib/oci/core/models/cross_connect_mapping_details.rb +356 -0
  106. data/lib/oci/core/models/cross_connect_mapping_details_collection.rb +150 -0
  107. data/lib/oci/core/models/default_drg_route_tables.rb +206 -0
  108. data/lib/oci/core/models/drg.rb +38 -10
  109. data/lib/oci/core/models/drg_attachment.rb +115 -10
  110. data/lib/oci/core/models/drg_attachment_id_drg_route_distribution_match_criteria.rb +164 -0
  111. data/lib/oci/core/models/drg_attachment_info.rb +152 -0
  112. data/lib/oci/core/models/drg_attachment_network_create_details.rb +189 -0
  113. data/lib/oci/core/models/drg_attachment_network_details.rb +202 -0
  114. data/lib/oci/core/models/drg_attachment_network_update_details.rb +178 -0
  115. data/lib/oci/core/models/drg_attachment_type_drg_route_distribution_match_criteria.rb +188 -0
  116. data/lib/oci/core/models/drg_redundancy_status.rb +1 -1
  117. data/lib/oci/core/models/drg_route_distribution.rb +336 -0
  118. data/lib/oci/core/models/drg_route_distribution_match_criteria.rb +194 -0
  119. data/lib/oci/core/models/drg_route_distribution_statement.rb +215 -0
  120. data/lib/oci/core/models/drg_route_rule.rb +341 -0
  121. data/lib/oci/core/models/drg_route_table.rb +332 -0
  122. data/lib/oci/core/models/image.rb +2 -2
  123. data/lib/oci/core/models/ingress_security_rule.rb +1 -1
  124. data/lib/oci/core/models/instance.rb +15 -2
  125. data/lib/oci/core/models/instance_availability_config.rb +18 -1
  126. data/lib/oci/core/models/instance_configuration_create_vnic_details.rb +17 -1
  127. data/lib/oci/core/models/instance_configuration_launch_instance_details.rb +18 -5
  128. data/lib/oci/core/models/instance_configuration_launch_instance_shape_config_details.rb +46 -4
  129. data/lib/oci/core/models/instance_configuration_launch_options.rb +5 -5
  130. data/lib/oci/core/models/instance_shape_config.rb +43 -1
  131. data/lib/oci/core/models/ip_sec_connection.rb +4 -4
  132. data/lib/oci/core/models/ipsec_tunnel_drg_attachment_network_details.rb +166 -0
  133. data/lib/oci/core/models/ipv6.rb +4 -54
  134. data/lib/oci/core/models/launch_instance_availability_config_details.rb +20 -2
  135. data/lib/oci/core/models/launch_instance_details.rb +14 -1
  136. data/lib/oci/core/models/launch_instance_shape_config_details.rb +39 -4
  137. data/lib/oci/core/models/launch_options.rb +5 -5
  138. data/lib/oci/core/models/local_peering_gateway.rb +15 -1
  139. data/lib/oci/core/models/networking_topology.rb +158 -0
  140. data/lib/oci/core/models/port_range.rb +2 -2
  141. data/lib/oci/core/models/preemptible_instance_config_details.rb +155 -0
  142. data/lib/oci/core/models/preemption_action.rb +186 -0
  143. data/lib/oci/core/models/remote_peering_connection_drg_attachment_network_details.rb +149 -0
  144. data/lib/oci/core/models/remove_drg_route_distribution_statements_details.rb +156 -0
  145. data/lib/oci/core/models/remove_drg_route_rules_details.rb +156 -0
  146. data/lib/oci/core/models/route_rule.rb +3 -2
  147. data/lib/oci/core/models/route_table.rb +1 -1
  148. data/lib/oci/core/models/security_rule.rb +4 -4
  149. data/lib/oci/core/models/shape.rb +75 -1
  150. data/lib/oci/core/models/subnet.rb +30 -24
  151. data/lib/oci/core/models/terminate_preemption_action.rb +166 -0
  152. data/lib/oci/core/models/topology.rb +214 -0
  153. data/lib/oci/core/models/topology_associated_with_entity_relationship.rb +157 -0
  154. data/lib/oci/core/models/topology_contains_entity_relationship.rb +157 -0
  155. data/lib/oci/core/models/topology_entity_relationship.rb +209 -0
  156. data/lib/oci/core/models/topology_routes_to_entity_relationship.rb +173 -0
  157. data/lib/oci/core/models/topology_routes_to_relationship_details.rb +183 -0
  158. data/lib/oci/core/models/update_cluster_network_details.rb +19 -4
  159. data/lib/oci/core/models/update_cluster_network_instance_pool_details.rb +212 -0
  160. data/lib/oci/core/models/update_drg_attachment_details.rb +88 -2
  161. data/lib/oci/core/models/update_drg_details.rb +14 -1
  162. data/lib/oci/core/models/update_drg_route_distribution_details.rb +195 -0
  163. data/lib/oci/core/models/update_drg_route_distribution_statement_details.rb +179 -0
  164. data/lib/oci/core/models/update_drg_route_distribution_statements_details.rb +152 -0
  165. data/lib/oci/core/models/update_drg_route_rule_details.rb +212 -0
  166. data/lib/oci/core/models/update_drg_route_rules_details.rb +155 -0
  167. data/lib/oci/core/models/update_drg_route_table_details.rb +227 -0
  168. data/lib/oci/core/models/update_instance_availability_config_details.rb +20 -2
  169. data/lib/oci/core/models/update_instance_shape_config_details.rb +39 -4
  170. data/lib/oci/core/models/update_ip_sec_connection_details.rb +3 -2
  171. data/lib/oci/core/models/update_ip_sec_tunnel_bgp_session_details.rb +53 -1
  172. data/lib/oci/core/models/update_ipv6_details.rb +1 -23
  173. data/lib/oci/core/models/update_launch_options.rb +1 -1
  174. data/lib/oci/core/models/update_security_rule_details.rb +2 -2
  175. data/lib/oci/core/models/update_subnet_details.rb +27 -4
  176. data/lib/oci/core/models/upgrade_status.rb +203 -0
  177. data/lib/oci/core/models/vcn.rb +12 -38
  178. data/lib/oci/core/models/vcn_drg_attachment_network_create_details.rb +174 -0
  179. data/lib/oci/core/models/vcn_drg_attachment_network_details.rb +172 -0
  180. data/lib/oci/core/models/vcn_drg_attachment_network_update_details.rb +168 -0
  181. data/lib/oci/core/models/vcn_topology.rb +175 -0
  182. data/lib/oci/core/models/virtual_circuit.rb +35 -2
  183. data/lib/oci/core/models/virtual_circuit_drg_attachment_network_details.rb +149 -0
  184. data/lib/oci/core/virtual_network_client.rb +2092 -236
  185. data/lib/oci/core/virtual_network_client_composite_operations.rb +446 -32
  186. data/lib/oci/data_catalog/data_catalog.rb +2 -0
  187. data/lib/oci/data_catalog/data_catalog_client.rb +91 -0
  188. data/lib/oci/data_catalog/models/attribute.rb +15 -1
  189. data/lib/oci/data_catalog/models/attribute_summary.rb +29 -1
  190. data/lib/oci/data_catalog/models/create_attribute_details.rb +15 -1
  191. data/lib/oci/data_catalog/models/create_connection_details.rb +1 -1
  192. data/lib/oci/data_catalog/models/create_custom_property_details.rb +17 -1
  193. data/lib/oci/data_catalog/models/create_entity_details.rb +15 -1
  194. data/lib/oci/data_catalog/models/create_folder_details.rb +15 -1
  195. data/lib/oci/data_catalog/models/custom_property.rb +17 -1
  196. data/lib/oci/data_catalog/models/custom_property_get_usage.rb +17 -1
  197. data/lib/oci/data_catalog/models/custom_property_summary.rb +17 -1
  198. data/lib/oci/data_catalog/models/entity.rb +15 -1
  199. data/lib/oci/data_catalog/models/entity_summary.rb +29 -1
  200. data/lib/oci/data_catalog/models/folder.rb +15 -1
  201. data/lib/oci/data_catalog/models/folder_summary.rb +15 -1
  202. data/lib/oci/data_catalog/models/job.rb +15 -1
  203. data/lib/oci/data_catalog/models/job_definition_summary.rb +18 -4
  204. data/lib/oci/data_catalog/models/job_summary.rb +15 -1
  205. data/lib/oci/data_catalog/models/search_result.rb +55 -1
  206. data/lib/oci/data_catalog/models/suggest_list_item.rb +166 -0
  207. data/lib/oci/data_catalog/models/suggest_results.rb +194 -0
  208. data/lib/oci/data_catalog/models/update_attribute_details.rb +15 -1
  209. data/lib/oci/data_catalog/models/update_connection_details.rb +1 -1
  210. data/lib/oci/data_catalog/models/update_custom_property_details.rb +17 -1
  211. data/lib/oci/data_catalog/models/update_entity_details.rb +15 -1
  212. data/lib/oci/data_catalog/models/update_folder_details.rb +15 -1
  213. data/lib/oci/data_flow/data_flow_client.rb +4 -4
  214. data/lib/oci/data_flow/data_flow_client_composite_operations.rb +1 -1
  215. data/lib/oci/data_flow/models/application.rb +16 -1
  216. data/lib/oci/data_flow/models/change_private_endpoint_compartment_details.rb +1 -1
  217. data/lib/oci/data_flow/models/create_application_details.rb +16 -1
  218. data/lib/oci/data_flow/models/create_private_endpoint_details.rb +1 -1
  219. data/lib/oci/data_flow/models/create_run_details.rb +66 -4
  220. data/lib/oci/data_flow/models/private_endpoint_collection.rb +2 -2
  221. data/lib/oci/data_flow/models/run.rb +16 -1
  222. data/lib/oci/data_flow/models/update_application_details.rb +16 -1
  223. data/lib/oci/data_flow/models/update_private_endpoint_details.rb +1 -1
  224. data/lib/oci/data_flow/models/work_request_summary.rb +1 -1
  225. data/lib/oci/data_science/data_science_client.rb +8 -7
  226. data/lib/oci/data_science/data_science_client_composite_operations.rb +4 -3
  227. data/lib/oci/database/database.rb +5 -0
  228. data/lib/oci/database/database_client.rb +278 -0
  229. data/lib/oci/database/database_client_composite_operations.rb +200 -0
  230. data/lib/oci/database/models/autonomous_container_database_dataguard_association.rb +4 -2
  231. data/lib/oci/database/models/autonomous_database.rb +20 -5
  232. data/lib/oci/database/models/autonomous_database_connection_urls.rb +18 -4
  233. data/lib/oci/database/models/autonomous_database_dataguard_association.rb +4 -2
  234. data/lib/oci/database/models/autonomous_database_summary.rb +20 -5
  235. data/lib/oci/database/models/create_autonomous_database_base.rb +18 -4
  236. data/lib/oci/database/models/create_autonomous_database_clone_details.rb +5 -1
  237. data/lib/oci/database/models/create_autonomous_database_details.rb +8 -4
  238. data/lib/oci/database/models/create_autonomous_database_from_backup_details.rb +5 -1
  239. data/lib/oci/database/models/create_autonomous_database_from_backup_timestamp_details.rb +5 -1
  240. data/lib/oci/database/models/create_database_details.rb +1 -1
  241. data/lib/oci/database/models/create_database_software_image_details.rb +2 -2
  242. data/lib/oci/database/models/create_refreshable_autonomous_database_clone_details.rb +5 -1
  243. data/lib/oci/database/models/customer_contact.rb +151 -0
  244. data/lib/oci/database/models/database.rb +1 -1
  245. data/lib/oci/database/models/database_summary.rb +1 -1
  246. data/lib/oci/database/models/enable_external_database_operations_insights_details_base.rb +156 -0
  247. data/lib/oci/database/models/enable_external_non_container_database_operations_insights_details.rb +153 -0
  248. data/lib/oci/database/models/enable_external_pluggable_database_operations_insights_details.rb +153 -0
  249. data/lib/oci/database/models/exadata_infrastructure.rb +29 -1
  250. data/lib/oci/database/models/exadata_infrastructure_summary.rb +29 -1
  251. data/lib/oci/database/models/external_container_database.rb +34 -1
  252. data/lib/oci/database/models/external_container_database_summary.rb +34 -1
  253. data/lib/oci/database/models/external_database_base.rb +28 -1
  254. data/lib/oci/database/models/external_non_container_database.rb +50 -1
  255. data/lib/oci/database/models/external_non_container_database_summary.rb +50 -1
  256. data/lib/oci/database/models/external_pluggable_database.rb +47 -1
  257. data/lib/oci/database/models/external_pluggable_database_summary.rb +47 -1
  258. data/lib/oci/database/models/maintenance_run.rb +51 -4
  259. data/lib/oci/database/models/maintenance_run_summary.rb +51 -4
  260. data/lib/oci/database/models/operations_insights_config.rb +194 -0
  261. data/lib/oci/database/models/update_autonomous_database_details.rb +18 -4
  262. data/lib/oci/database/models/update_maintenance_run_details.rb +31 -4
  263. data/lib/oci/database_management/database_management.rb +6 -0
  264. data/lib/oci/database_management/db_management_client.rb +70 -3
  265. data/lib/oci/database_management/models/activity_time_series_metrics.rb +13 -4
  266. data/lib/oci/database_management/models/change_database_parameters_details.rb +1 -1
  267. data/lib/oci/database_management/models/cluster_cache_metric.rb +156 -0
  268. data/lib/oci/database_management/models/database_home_metrics.rb +18 -4
  269. data/lib/oci/database_management/models/database_instance_home_metrics_definition.rb +234 -0
  270. data/lib/oci/database_management/models/database_parameter_summary.rb +1 -1
  271. data/lib/oci/database_management/models/database_parameters_collection.rb +1 -1
  272. data/lib/oci/database_management/models/database_time_aggregate_metrics.rb +13 -4
  273. data/lib/oci/database_management/models/instance_details.rb +205 -0
  274. data/lib/oci/database_management/models/managed_database.rb +88 -1
  275. data/lib/oci/database_management/models/pdb_status_details.rb +181 -0
  276. data/lib/oci/database_management/models/reset_database_parameters_details.rb +8 -7
  277. data/lib/oci/database_management/models/time_series_metric_data_point.rb +180 -0
  278. data/lib/oci/database_management/models/time_series_metric_definition.rb +166 -0
  279. data/lib/oci/database_management/models/update_database_parameters_result.rb +1 -1
  280. data/lib/oci/database_migration/database_migration.rb +132 -0
  281. data/lib/oci/database_migration/database_migration_client.rb +2579 -0
  282. data/lib/oci/database_migration/database_migration_client_composite_operations.rb +736 -0
  283. data/lib/oci/database_migration/models/admin_credentials.rb +152 -0
  284. data/lib/oci/database_migration/models/agent.rb +356 -0
  285. data/lib/oci/database_migration/models/agent_collection.rb +152 -0
  286. data/lib/oci/database_migration/models/agent_image_collection.rb +152 -0
  287. data/lib/oci/database_migration/models/agent_image_summary.rb +167 -0
  288. data/lib/oci/database_migration/models/agent_summary.rb +341 -0
  289. data/lib/oci/database_migration/models/change_agent_compartment_details.rb +156 -0
  290. data/lib/oci/database_migration/models/change_connection_compartment_details.rb +156 -0
  291. data/lib/oci/database_migration/models/change_migration_compartment_details.rb +156 -0
  292. data/lib/oci/database_migration/models/clone_migration_details.rb +292 -0
  293. data/lib/oci/database_migration/models/connect_descriptor.rb +193 -0
  294. data/lib/oci/database_migration/models/connection.rb +461 -0
  295. data/lib/oci/database_migration/models/connection_collection.rb +152 -0
  296. data/lib/oci/database_migration/models/connection_summary.rb +366 -0
  297. data/lib/oci/database_migration/models/create_admin_credentials.rb +163 -0
  298. data/lib/oci/database_migration/models/create_agent_details.rb +244 -0
  299. data/lib/oci/database_migration/models/create_connect_descriptor.rb +198 -0
  300. data/lib/oci/database_migration/models/create_connection_details.rb +360 -0
  301. data/lib/oci/database_migration/models/create_data_pump_parameters.rb +261 -0
  302. data/lib/oci/database_migration/models/create_data_pump_settings.rb +228 -0
  303. data/lib/oci/database_migration/models/create_data_transfer_medium_details.rb +168 -0
  304. data/lib/oci/database_migration/models/create_database_link_details.rb +152 -0
  305. data/lib/oci/database_migration/models/create_directory_object.rb +165 -0
  306. data/lib/oci/database_migration/models/create_extract.rb +188 -0
  307. data/lib/oci/database_migration/models/create_golden_gate_details.rb +160 -0
  308. data/lib/oci/database_migration/models/create_golden_gate_hub.rb +253 -0
  309. data/lib/oci/database_migration/models/create_golden_gate_settings.rb +174 -0
  310. data/lib/oci/database_migration/models/create_migration_details.rb +355 -0
  311. data/lib/oci/database_migration/models/create_object_store_bucket.rb +171 -0
  312. data/lib/oci/database_migration/models/create_private_endpoint.rb +189 -0
  313. data/lib/oci/database_migration/models/create_replicat.rb +186 -0
  314. data/lib/oci/database_migration/models/create_ssh_details.rb +190 -0
  315. data/lib/oci/database_migration/models/create_vault_details.rb +186 -0
  316. data/lib/oci/database_migration/models/data_pump_estimate.rb +11 -0
  317. data/lib/oci/database_migration/models/data_pump_exclude_parameters.rb +12 -0
  318. data/lib/oci/database_migration/models/data_pump_job_mode.rb +14 -0
  319. data/lib/oci/database_migration/models/data_pump_parameters.rb +274 -0
  320. data/lib/oci/database_migration/models/data_pump_settings.rb +235 -0
  321. data/lib/oci/database_migration/models/data_pump_table_exists_action.rb +13 -0
  322. data/lib/oci/database_migration/models/data_transfer_medium_details.rb +167 -0
  323. data/lib/oci/database_migration/models/database_connection_types.rb +12 -0
  324. data/lib/oci/database_migration/models/database_link_details.rb +152 -0
  325. data/lib/oci/database_migration/models/database_object.rb +167 -0
  326. data/lib/oci/database_migration/models/directory_object.rb +163 -0
  327. data/lib/oci/database_migration/models/extract.rb +195 -0
  328. data/lib/oci/database_migration/models/extract_performance_profile.rb +12 -0
  329. data/lib/oci/database_migration/models/generate_token.rb +156 -0
  330. data/lib/oci/database_migration/models/golden_gate_details.rb +160 -0
  331. data/lib/oci/database_migration/models/golden_gate_hub.rb +253 -0
  332. data/lib/oci/database_migration/models/golden_gate_settings.rb +174 -0
  333. data/lib/oci/database_migration/models/job.rb +372 -0
  334. data/lib/oci/database_migration/models/job_collection.rb +152 -0
  335. data/lib/oci/database_migration/models/job_lifecycle_states.rb +18 -0
  336. data/lib/oci/database_migration/models/job_output_summary.rb +152 -0
  337. data/lib/oci/database_migration/models/job_output_summary_collection.rb +152 -0
  338. data/lib/oci/database_migration/models/job_phase_status.rb +13 -0
  339. data/lib/oci/database_migration/models/job_summary.rb +357 -0
  340. data/lib/oci/database_migration/models/job_types.rb +11 -0
  341. data/lib/oci/database_migration/models/lifecycle_states.rb +16 -0
  342. data/lib/oci/database_migration/models/metadata_remap.rb +205 -0
  343. data/lib/oci/database_migration/models/migration.rb +590 -0
  344. data/lib/oci/database_migration/models/migration_collection.rb +152 -0
  345. data/lib/oci/database_migration/models/migration_job_progress_resource.rb +237 -0
  346. data/lib/oci/database_migration/models/migration_job_progress_summary.rb +241 -0
  347. data/lib/oci/database_migration/models/migration_phase_collection.rb +152 -0
  348. data/lib/oci/database_migration/models/migration_phase_summary.rb +234 -0
  349. data/lib/oci/database_migration/models/migration_status.rb +16 -0
  350. data/lib/oci/database_migration/models/migration_summary.rb +472 -0
  351. data/lib/oci/database_migration/models/migration_types.rb +11 -0
  352. data/lib/oci/database_migration/models/object_store_bucket.rb +171 -0
  353. data/lib/oci/database_migration/models/odms_job_phases.rb +25 -0
  354. data/lib/oci/database_migration/models/odms_phase_actions.rb +10 -0
  355. data/lib/oci/database_migration/models/operation_status.rb +15 -0
  356. data/lib/oci/database_migration/models/operation_types.rb +20 -0
  357. data/lib/oci/database_migration/models/par_link.rb +156 -0
  358. data/lib/oci/database_migration/models/phase_status.rb +244 -0
  359. data/lib/oci/database_migration/models/private_endpoint_details.rb +199 -0
  360. data/lib/oci/database_migration/models/replicat.rb +186 -0
  361. data/lib/oci/database_migration/models/resume_job_details.rb +184 -0
  362. data/lib/oci/database_migration/models/sort_orders.rb +11 -0
  363. data/lib/oci/database_migration/models/ssh_details.rb +178 -0
  364. data/lib/oci/database_migration/models/start_migration_details.rb +184 -0
  365. data/lib/oci/database_migration/models/unsupported_database_object.rb +197 -0
  366. data/lib/oci/database_migration/models/update_admin_credentials.rb +163 -0
  367. data/lib/oci/database_migration/models/update_agent_details.rb +244 -0
  368. data/lib/oci/database_migration/models/update_connect_descriptor.rb +197 -0
  369. data/lib/oci/database_migration/models/update_connection_details.rb +312 -0
  370. data/lib/oci/database_migration/models/update_data_pump_parameters.rb +262 -0
  371. data/lib/oci/database_migration/models/update_data_pump_settings.rb +229 -0
  372. data/lib/oci/database_migration/models/update_data_transfer_medium_details.rb +169 -0
  373. data/lib/oci/database_migration/models/update_database_link_details.rb +152 -0
  374. data/lib/oci/database_migration/models/update_directory_object.rb +166 -0
  375. data/lib/oci/database_migration/models/update_extract.rb +189 -0
  376. data/lib/oci/database_migration/models/update_golden_gate_details.rb +159 -0
  377. data/lib/oci/database_migration/models/update_golden_gate_hub.rb +250 -0
  378. data/lib/oci/database_migration/models/update_golden_gate_settings.rb +175 -0
  379. data/lib/oci/database_migration/models/update_job_details.rb +188 -0
  380. data/lib/oci/database_migration/models/update_migration_details.rb +342 -0
  381. data/lib/oci/database_migration/models/update_object_store_bucket.rb +171 -0
  382. data/lib/oci/database_migration/models/update_private_endpoint.rb +189 -0
  383. data/lib/oci/database_migration/models/update_replicat.rb +187 -0
  384. data/lib/oci/database_migration/models/update_ssh_details.rb +189 -0
  385. data/lib/oci/database_migration/models/update_vault_details.rb +186 -0
  386. data/lib/oci/database_migration/models/vault_details.rb +186 -0
  387. data/lib/oci/database_migration/models/work_request.rb +319 -0
  388. data/lib/oci/database_migration/models/work_request_collection.rb +152 -0
  389. data/lib/oci/database_migration/models/work_request_error.rb +180 -0
  390. data/lib/oci/database_migration/models/work_request_error_collection.rb +152 -0
  391. data/lib/oci/database_migration/models/work_request_log_entry.rb +167 -0
  392. data/lib/oci/database_migration/models/work_request_log_entry_collection.rb +152 -0
  393. data/lib/oci/database_migration/models/work_request_resource.rb +223 -0
  394. data/lib/oci/database_migration/models/work_request_summary.rb +280 -0
  395. data/lib/oci/database_migration/util.rb +3 -0
  396. data/lib/oci/functions/functions.rb +2 -0
  397. data/lib/oci/functions/models/application.rb +14 -1
  398. data/lib/oci/functions/models/application_summary.rb +14 -1
  399. data/lib/oci/functions/models/application_trace_config.rb +171 -0
  400. data/lib/oci/functions/models/create_application_details.rb +14 -1
  401. data/lib/oci/functions/models/create_function_details.rb +14 -1
  402. data/lib/oci/functions/models/function.rb +14 -1
  403. data/lib/oci/functions/models/function_summary.rb +14 -1
  404. data/lib/oci/functions/models/function_trace_config.rb +156 -0
  405. data/lib/oci/functions/models/update_application_details.rb +14 -1
  406. data/lib/oci/functions/models/update_function_details.rb +14 -1
  407. data/lib/oci/limits/limits_client.rb +3 -3
  408. data/lib/oci/limits/models/limit_definition_summary.rb +34 -4
  409. data/lib/oci/limits/models/resource_availability.rb +54 -6
  410. data/lib/oci/limits/quotas_client.rb +1 -1
  411. data/lib/oci/loggingsearch/models/search_result.rb +1 -0
  412. data/lib/oci/object_storage/models/bucket.rb +40 -4
  413. data/lib/oci/object_storage/models/create_bucket_details.rb +22 -4
  414. data/lib/oci/object_storage/models/update_bucket_details.rb +21 -4
  415. data/lib/oci/object_storage/object_storage_client.rb +8 -5
  416. data/lib/oci/ocvp/models/create_esxi_host_details.rb +66 -1
  417. data/lib/oci/ocvp/models/create_sddc_details.rb +34 -1
  418. data/lib/oci/ocvp/models/esxi_host.rb +94 -1
  419. data/lib/oci/ocvp/models/esxi_host_summary.rb +94 -1
  420. data/lib/oci/ocvp/models/sddc.rb +40 -1
  421. data/lib/oci/ocvp/models/sku.rb +13 -0
  422. data/lib/oci/ocvp/models/supported_sku_summary.rb +173 -0
  423. data/lib/oci/ocvp/models/supported_sku_summary_collection.rb +150 -0
  424. data/lib/oci/ocvp/models/update_esxi_host_details.rb +32 -1
  425. data/lib/oci/ocvp/ocvp.rb +3 -0
  426. data/lib/oci/ocvp/sddc_client.rb +68 -0
  427. data/lib/oci/operator_access_control/access_requests_client.rb +515 -0
  428. data/lib/oci/operator_access_control/access_requests_client_composite_operations.rb +25 -0
  429. data/lib/oci/operator_access_control/models/access_request.rb +583 -0
  430. data/lib/oci/operator_access_control/models/access_request_collection.rb +150 -0
  431. data/lib/oci/operator_access_control/models/access_request_history_collection.rb +150 -0
  432. data/lib/oci/operator_access_control/models/access_request_history_summary.rb +269 -0
  433. data/lib/oci/operator_access_control/models/access_request_lifecycle_states.rb +29 -0
  434. data/lib/oci/operator_access_control/models/access_request_severities.rb +13 -0
  435. data/lib/oci/operator_access_control/models/access_request_summary.rb +403 -0
  436. data/lib/oci/operator_access_control/models/approve_access_request_details.rb +185 -0
  437. data/lib/oci/operator_access_control/models/change_operator_control_assignment_compartment_details.rb +154 -0
  438. data/lib/oci/operator_access_control/models/change_operator_control_compartment_details.rb +154 -0
  439. data/lib/oci/operator_access_control/models/create_operator_control_assignment_details.rb +322 -0
  440. data/lib/oci/operator_access_control/models/create_operator_control_details.rb +302 -0
  441. data/lib/oci/operator_access_control/models/infrastrcuture_layers.rb +12 -0
  442. data/lib/oci/operator_access_control/models/operator_action.rb +198 -0
  443. data/lib/oci/operator_access_control/models/operator_action_categories.rb +14 -0
  444. data/lib/oci/operator_access_control/models/operator_action_collection.rb +150 -0
  445. data/lib/oci/operator_access_control/models/operator_action_lifecycle_states.rb +11 -0
  446. data/lib/oci/operator_access_control/models/operator_action_properties.rb +160 -0
  447. data/lib/oci/operator_access_control/models/operator_action_summary.rb +230 -0
  448. data/lib/oci/operator_access_control/models/operator_control.rb +407 -0
  449. data/lib/oci/operator_access_control/models/operator_control_assignment.rb +448 -0
  450. data/lib/oci/operator_access_control/models/operator_control_assignment_collection.rb +150 -0
  451. data/lib/oci/operator_access_control/models/operator_control_assignment_lifecycle_states.rb +13 -0
  452. data/lib/oci/operator_access_control/models/operator_control_assignment_summary.rb +331 -0
  453. data/lib/oci/operator_access_control/models/operator_control_collection.rb +150 -0
  454. data/lib/oci/operator_access_control/models/operator_control_lifecycle_states.rb +13 -0
  455. data/lib/oci/operator_access_control/models/operator_control_summary.rb +303 -0
  456. data/lib/oci/operator_access_control/models/reject_access_request_details.rb +154 -0
  457. data/lib/oci/operator_access_control/models/resource_types.rb +10 -0
  458. data/lib/oci/operator_access_control/models/revoke_access_request_details.rb +154 -0
  459. data/lib/oci/operator_access_control/models/sort_orders.rb +11 -0
  460. data/lib/oci/operator_access_control/models/update_operator_control_assignment_details.rb +224 -0
  461. data/lib/oci/operator_access_control/models/update_operator_control_details.rb +283 -0
  462. data/lib/oci/operator_access_control/operator_access_control.rb +57 -0
  463. data/lib/oci/operator_access_control/operator_actions_client.rb +243 -0
  464. data/lib/oci/operator_access_control/operator_actions_client_composite_operations.rb +25 -0
  465. data/lib/oci/operator_access_control/operator_control_assignment_client.rb +501 -0
  466. data/lib/oci/operator_access_control/operator_control_assignment_client_composite_operations.rb +105 -0
  467. data/lib/oci/operator_access_control/operator_control_client.rb +507 -0
  468. data/lib/oci/operator_access_control/operator_control_client_composite_operations.rb +144 -0
  469. data/lib/oci/operator_access_control/util.rb +3 -0
  470. data/lib/oci/opsi/models/action_type.rb +14 -0
  471. data/lib/oci/opsi/models/autonomous_database_insight.rb +271 -0
  472. data/lib/oci/opsi/models/autonomous_database_insight_summary.rb +230 -0
  473. data/lib/oci/opsi/models/change_database_insight_compartment_details.rb +155 -0
  474. data/lib/oci/opsi/models/change_enterprise_manager_bridge_compartment_details.rb +155 -0
  475. data/lib/oci/opsi/models/change_host_insight_compartment_details.rb +155 -0
  476. data/lib/oci/opsi/models/connection_details.rb +208 -0
  477. data/lib/oci/opsi/models/create_database_insight_details.rb +228 -0
  478. data/lib/oci/opsi/models/create_em_managed_external_database_insight_details.rb +202 -0
  479. data/lib/oci/opsi/models/create_enterprise_manager_bridge_details.rb +224 -0
  480. data/lib/oci/opsi/models/create_host_insight_details.rb +228 -0
  481. data/lib/oci/opsi/models/create_macs_managed_external_host_insight_details.rb +174 -0
  482. data/lib/oci/opsi/models/credential_details.rb +204 -0
  483. data/lib/oci/opsi/models/credentials_by_source.rb +150 -0
  484. data/lib/oci/opsi/models/database_configuration_metric_group.rb +204 -0
  485. data/lib/oci/opsi/models/database_details.rb +24 -4
  486. data/lib/oci/opsi/models/database_entity_source.rb +10 -0
  487. data/lib/oci/opsi/models/database_entity_source_all.rb +12 -0
  488. data/lib/oci/opsi/models/database_insight.rb +416 -0
  489. data/lib/oci/opsi/models/database_insight_summary.rb +191 -5
  490. data/lib/oci/opsi/models/db_external_instance.rb +300 -0
  491. data/lib/oci/opsi/models/db_external_properties.rb +280 -0
  492. data/lib/oci/opsi/models/dbos_config_instance.rb +236 -0
  493. data/lib/oci/opsi/models/em_managed_external_database_insight.rb +284 -0
  494. data/lib/oci/opsi/models/em_managed_external_database_insight_summary.rb +300 -0
  495. data/lib/oci/opsi/models/enable_database_insight_details.rb +182 -0
  496. data/lib/oci/opsi/models/enable_em_managed_external_database_insight_details.rb +145 -0
  497. data/lib/oci/opsi/models/enable_host_insight_details.rb +182 -0
  498. data/lib/oci/opsi/models/enable_macs_managed_external_host_insight_details.rb +145 -0
  499. data/lib/oci/opsi/models/enterprise_manager_bridge.rb +344 -0
  500. data/lib/oci/opsi/models/enterprise_manager_bridge_collection.rb +150 -0
  501. data/lib/oci/opsi/models/enterprise_manager_bridge_summary.rb +334 -0
  502. data/lib/oci/opsi/models/enterprise_manager_bridges.rb +154 -0
  503. data/lib/oci/opsi/models/host_configuration_metric_group.rb +212 -0
  504. data/lib/oci/opsi/models/host_cpu_hardware_configuration.rb +289 -0
  505. data/lib/oci/opsi/models/host_cpu_statistics.rb +174 -0
  506. data/lib/oci/opsi/models/host_cpu_usage.rb +279 -0
  507. data/lib/oci/opsi/models/host_details.rb +225 -0
  508. data/lib/oci/opsi/models/host_entities.rb +181 -0
  509. data/lib/oci/opsi/models/host_entity_source.rb +10 -0
  510. data/lib/oci/opsi/models/host_hardware_configuration.rb +167 -0
  511. data/lib/oci/opsi/models/host_insight.rb +426 -0
  512. data/lib/oci/opsi/models/host_insight_resource_statistics_aggregation.rb +169 -0
  513. data/lib/oci/opsi/models/host_insight_summary.rb +426 -0
  514. data/lib/oci/opsi/models/host_insight_summary_collection.rb +150 -0
  515. data/lib/oci/opsi/models/host_insights.rb +154 -0
  516. data/lib/oci/opsi/models/host_instance_map.rb +168 -0
  517. data/lib/oci/opsi/models/host_memory_configuration.rb +223 -0
  518. data/lib/oci/opsi/models/host_memory_statistics.rb +260 -0
  519. data/lib/oci/opsi/models/host_memory_usage.rb +349 -0
  520. data/lib/oci/opsi/models/host_network_activity_summary.rb +195 -0
  521. data/lib/oci/opsi/models/host_network_configuration.rb +195 -0
  522. data/lib/oci/opsi/models/host_performance_metric_group.rb +204 -0
  523. data/lib/oci/opsi/models/host_product.rb +183 -0
  524. data/lib/oci/opsi/models/host_resource_allocation.rb +181 -0
  525. data/lib/oci/opsi/models/host_resource_capacity_trend_aggregation.rb +165 -0
  526. data/lib/oci/opsi/models/host_resource_statistics.rb +243 -0
  527. data/lib/oci/opsi/models/hosted_entity_collection.rb +180 -0
  528. data/lib/oci/opsi/models/hosted_entity_summary.rb +183 -0
  529. data/lib/oci/opsi/models/importable_enterprise_manager_entity.rb +210 -0
  530. data/lib/oci/opsi/models/importable_enterprise_manager_entity_collection.rb +150 -0
  531. data/lib/oci/opsi/models/ingest_database_configuration_details.rb +150 -0
  532. data/lib/oci/opsi/models/ingest_database_configuration_response_details.rb +152 -0
  533. data/lib/oci/opsi/models/ingest_host_configuration_details.rb +151 -0
  534. data/lib/oci/opsi/models/ingest_host_configuration_response_details.rb +152 -0
  535. data/lib/oci/opsi/models/ingest_host_metrics_details.rb +151 -0
  536. data/lib/oci/opsi/models/ingest_host_metrics_response_details.rb +152 -0
  537. data/lib/oci/opsi/models/lifecycle_state.rb +15 -0
  538. data/lib/oci/opsi/models/macs_managed_external_database_insight.rb +325 -0
  539. data/lib/oci/opsi/models/macs_managed_external_database_insight_summary.rb +258 -0
  540. data/lib/oci/opsi/models/macs_managed_external_host_insight.rb +279 -0
  541. data/lib/oci/opsi/models/macs_managed_external_host_insight_summary.rb +251 -0
  542. data/lib/oci/opsi/models/operation_status.rb +15 -0
  543. data/lib/oci/opsi/models/operation_type.rb +25 -0
  544. data/lib/oci/opsi/models/resource_status.rb +12 -0
  545. data/lib/oci/opsi/models/sql_plan_collection.rb +11 -1
  546. data/lib/oci/opsi/models/sql_plan_insight_aggregation_collection.rb +11 -1
  547. data/lib/oci/opsi/models/sql_response_time_distribution_aggregation_collection.rb +11 -1
  548. data/lib/oci/opsi/models/sql_search_summary.rb +11 -1
  549. data/lib/oci/opsi/models/sql_statistics_time_series_by_plan_aggregation_collection.rb +11 -1
  550. data/lib/oci/opsi/models/sql_text_summary.rb +11 -1
  551. data/lib/oci/opsi/models/summarize_database_insight_resource_capacity_trend_aggregation_collection.rb +5 -1
  552. data/lib/oci/opsi/models/summarize_database_insight_resource_forecast_trend_aggregation.rb +5 -1
  553. data/lib/oci/opsi/models/summarize_database_insight_resource_statistics_aggregation_collection.rb +5 -1
  554. data/lib/oci/opsi/models/summarize_database_insight_resource_usage_aggregation.rb +5 -1
  555. data/lib/oci/opsi/models/summarize_database_insight_resource_usage_trend_aggregation_collection.rb +5 -1
  556. data/lib/oci/opsi/models/summarize_database_insight_resource_utilization_insight_aggregation.rb +5 -1
  557. data/lib/oci/opsi/models/summarize_database_insight_tablespace_usage_trend_aggregation_collection.rb +232 -0
  558. data/lib/oci/opsi/models/summarize_host_insight_resource_capacity_trend_aggregation_collection.rb +271 -0
  559. data/lib/oci/opsi/models/summarize_host_insight_resource_forecast_trend_aggregation.rb +304 -0
  560. data/lib/oci/opsi/models/summarize_host_insight_resource_statistics_aggregation_collection.rb +251 -0
  561. data/lib/oci/opsi/models/summarize_host_insight_resource_usage_aggregation.rb +277 -0
  562. data/lib/oci/opsi/models/summarize_host_insight_resource_usage_trend_aggregation_collection.rb +271 -0
  563. data/lib/oci/opsi/models/summarize_host_insight_resource_utilization_insight_aggregation.rb +233 -0
  564. data/lib/oci/opsi/models/summary_statistics.rb +209 -0
  565. data/lib/oci/opsi/models/tablespace_usage_trend.rb +176 -0
  566. data/lib/oci/opsi/models/tablespace_usage_trend_aggregation.rb +182 -0
  567. data/lib/oci/opsi/models/update_autonomous_database_insight_details.rb +153 -0
  568. data/lib/oci/opsi/models/update_database_insight_details.rb +218 -0
  569. data/lib/oci/opsi/models/update_em_managed_external_database_insight_details.rb +153 -0
  570. data/lib/oci/opsi/models/update_enterprise_manager_bridge_details.rb +196 -0
  571. data/lib/oci/opsi/models/update_host_insight_details.rb +214 -0
  572. data/lib/oci/opsi/models/update_macs_managed_external_database_insight_details.rb +153 -0
  573. data/lib/oci/opsi/models/update_macs_managed_external_host_insight_details.rb +153 -0
  574. data/lib/oci/opsi/models/work_request.rb +320 -0
  575. data/lib/oci/opsi/models/work_request_collection.rb +150 -0
  576. data/lib/oci/opsi/models/work_request_error.rb +173 -0
  577. data/lib/oci/opsi/models/work_request_error_collection.rb +150 -0
  578. data/lib/oci/opsi/models/work_request_log_entry.rb +160 -0
  579. data/lib/oci/opsi/models/work_request_log_entry_collection.rb +150 -0
  580. data/lib/oci/opsi/models/work_request_resource.rb +219 -0
  581. data/lib/oci/opsi/models/work_requests.rb +154 -0
  582. data/lib/oci/opsi/operations_insights_client.rb +3475 -411
  583. data/lib/oci/opsi/operations_insights_client_composite_operations.rb +792 -0
  584. data/lib/oci/opsi/opsi.rb +99 -0
  585. data/lib/oci/regions.rb +1 -1
  586. data/lib/oci/resource_manager/models/config_source.rb +2 -0
  587. data/lib/oci/resource_manager/models/config_source_record.rb +2 -0
  588. data/lib/oci/resource_manager/models/create_config_source_details.rb +1 -0
  589. data/lib/oci/resource_manager/models/create_object_storage_config_source_details.rb +189 -0
  590. data/lib/oci/resource_manager/models/object_storage_config_source.rb +189 -0
  591. data/lib/oci/resource_manager/models/object_storage_config_source_record.rb +185 -0
  592. data/lib/oci/resource_manager/models/update_config_source_details.rb +1 -0
  593. data/lib/oci/resource_manager/models/update_object_storage_config_source_details.rb +188 -0
  594. data/lib/oci/resource_manager/resource_manager.rb +4 -0
  595. data/lib/oci/resource_manager/resource_manager_client.rb +1 -0
  596. data/lib/oci/retry/functions/should_retry_on_error.rb +31 -0
  597. data/lib/oci/retry/retry.rb +15 -0
  598. data/lib/oci/sch/models/function_task_details.rb +194 -0
  599. data/lib/oci/sch/models/latest_streaming_cursor.rb +146 -0
  600. data/lib/oci/sch/models/source_details.rb +2 -0
  601. data/lib/oci/sch/models/streaming_cursor_details.rb +189 -0
  602. data/lib/oci/sch/models/streaming_source_details.rb +173 -0
  603. data/lib/oci/sch/models/task_details.rb +2 -0
  604. data/lib/oci/sch/models/trim_horizon_streaming_cursor.rb +146 -0
  605. data/lib/oci/sch/sch.rb +5 -0
  606. data/lib/oci/service_catalog/models/action_type.rb +13 -0
  607. data/lib/oci/service_catalog/models/application_collection.rb +150 -0
  608. data/lib/oci/service_catalog/models/application_summary.rb +295 -0
  609. data/lib/oci/service_catalog/models/bulk_replace_service_catalog_associations_details.rb +150 -0
  610. data/lib/oci/service_catalog/models/change_private_application_compartment_details.rb +155 -0
  611. data/lib/oci/service_catalog/models/change_service_catalog_compartment_details.rb +154 -0
  612. data/lib/oci/service_catalog/models/create_private_application_details.rb +259 -0
  613. data/lib/oci/service_catalog/models/create_private_application_package.rb +192 -0
  614. data/lib/oci/service_catalog/models/create_private_application_stack_package.rb +166 -0
  615. data/lib/oci/service_catalog/models/create_service_catalog_association_details.rb +182 -0
  616. data/lib/oci/service_catalog/models/create_service_catalog_details.rb +200 -0
  617. data/lib/oci/service_catalog/models/error_entity.rb +160 -0
  618. data/lib/oci/service_catalog/models/operation_status.rb +12 -0
  619. data/lib/oci/service_catalog/models/operation_type.rb +13 -0
  620. data/lib/oci/service_catalog/models/package_type_enum.rb +10 -0
  621. data/lib/oci/service_catalog/models/pricing_type_enum.rb +12 -0
  622. data/lib/oci/service_catalog/models/private_application.rb +354 -0
  623. data/lib/oci/service_catalog/models/private_application_collection.rb +150 -0
  624. data/lib/oci/service_catalog/models/private_application_package.rb +257 -0
  625. data/lib/oci/service_catalog/models/private_application_package_collection.rb +150 -0
  626. data/lib/oci/service_catalog/models/private_application_package_summary.rb +241 -0
  627. data/lib/oci/service_catalog/models/private_application_stack_package.rb +196 -0
  628. data/lib/oci/service_catalog/models/private_application_summary.rb +268 -0
  629. data/lib/oci/service_catalog/models/publisher_summary.rb +164 -0
  630. data/lib/oci/service_catalog/models/service_catalog.rb +280 -0
  631. data/lib/oci/service_catalog/models/service_catalog_association.rb +206 -0
  632. data/lib/oci/service_catalog/models/service_catalog_association_collection.rb +150 -0
  633. data/lib/oci/service_catalog/models/service_catalog_association_summary.rb +206 -0
  634. data/lib/oci/service_catalog/models/service_catalog_collection.rb +150 -0
  635. data/lib/oci/service_catalog/models/service_catalog_summary.rb +210 -0
  636. data/lib/oci/service_catalog/models/update_private_application_details.rb +230 -0
  637. data/lib/oci/service_catalog/models/update_service_catalog_details.rb +186 -0
  638. data/lib/oci/service_catalog/models/upload_data.rb +182 -0
  639. data/lib/oci/service_catalog/models/work_request.rb +305 -0
  640. data/lib/oci/service_catalog/models/work_request_error.rb +173 -0
  641. data/lib/oci/service_catalog/models/work_request_error_collection.rb +150 -0
  642. data/lib/oci/service_catalog/models/work_request_log_entry.rb +160 -0
  643. data/lib/oci/service_catalog/models/work_request_log_entry_collection.rb +150 -0
  644. data/lib/oci/service_catalog/models/work_request_resource.rb +222 -0
  645. data/lib/oci/service_catalog/models/work_request_summary.rb +305 -0
  646. data/lib/oci/service_catalog/models/work_request_summary_collection.rb +150 -0
  647. data/lib/oci/service_catalog/service_catalog.rb +61 -0
  648. data/lib/oci/service_catalog/service_catalog_client.rb +1957 -0
  649. data/lib/oci/service_catalog/service_catalog_client_composite_operations.rb +342 -0
  650. data/lib/oci/service_catalog/util.rb +3 -0
  651. data/lib/oci/version.rb +1 -1
  652. data/lib/oci/waas/models/access_rule.rb +1 -1
  653. data/lib/oci/waas/models/address_rate_limiting.rb +1 -1
  654. data/lib/oci/waas/models/block_challenge_settings.rb +1 -1
  655. data/lib/oci/waas/models/certificate.rb +36 -4
  656. data/lib/oci/waas/models/load_balancing_method.rb +3 -3
  657. data/lib/oci/waas/models/origin.rb +2 -2
  658. data/lib/oci/waas/redirect_client.rb +1 -1
  659. data/lib/oci/waas/waas_client.rb +1 -1
  660. metadata +428 -2
@@ -0,0 +1,407 @@
1
+ # Copyright (c) 2016, 2021, 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
+ # Operator Access Control enables you to grant, audit, or revoke the access Oracle has to your Exadata Cloud@Customer infrastructure, and obtain audit reports of all actions taken by a human operator, in a near real-time manner.
10
+ #
11
+ class OperatorAccessControl::Models::OperatorControl
12
+ LIFECYCLE_STATE_ENUM = [
13
+ LIFECYCLE_STATE_CREATED = 'CREATED'.freeze,
14
+ LIFECYCLE_STATE_ASSIGNED = 'ASSIGNED'.freeze,
15
+ LIFECYCLE_STATE_UNASSIGNED = 'UNASSIGNED'.freeze,
16
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
17
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
18
+ ].freeze
19
+
20
+ # **[Required]** The OCID of the operator control.
21
+ # @return [String]
22
+ attr_accessor :id
23
+
24
+ # **[Required]** Name of the operator control. The name must be unique.
25
+ # @return [String]
26
+ attr_accessor :operator_control_name
27
+
28
+ # Description of operator control.
29
+ # @return [String]
30
+ attr_accessor :description
31
+
32
+ # List of users who can approve an access request associated with a target resource under the governance of this operator control.
33
+ # @return [Array<String>]
34
+ attr_accessor :approvers_list
35
+
36
+ # List of user groups who can approve an access request associated with a target resource under the governance of this operator control.
37
+ # @return [Array<String>]
38
+ attr_accessor :approver_groups_list
39
+
40
+ # List of pre-approved operator actions. Access requests associated with a resource governed by this operator control will be
41
+ # automatically approved if the access request only contain operator actions in the pre-approved list.
42
+ #
43
+ # @return [Array<String>]
44
+ attr_accessor :pre_approved_op_action_list
45
+
46
+ # List of operator actions that need explicit approval. Any operator action not in the pre-approved list will require explicit
47
+ # approval. Access requests associated with a resource governed by this operator control will be
48
+ # require explicit approval if the access request contains any operator action in this list.
49
+ #
50
+ # @return [Array<String>]
51
+ attr_accessor :approval_required_op_action_list
52
+
53
+ # Whether all the operator actions have been pre-approved. If yes, all access requests associated with a resource governed by this operator control
54
+ # will be auto-approved.
55
+ #
56
+ # @return [BOOLEAN]
57
+ attr_accessor :is_fully_pre_approved
58
+
59
+ # System message that would be displayed to the operator users on accessing the target resource under the governance of this operator control.
60
+ # @return [String]
61
+ attr_accessor :system_message
62
+
63
+ # **[Required]** The OCID of the compartment that contains the operator control.
64
+ # @return [String]
65
+ attr_accessor :compartment_id
66
+
67
+ # The current lifecycle state of the operator control.
68
+ # @return [String]
69
+ attr_reader :lifecycle_state
70
+
71
+ # Time when the operator control was created expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: '2020-05-22T21:10:29.600Z'
72
+ #
73
+ # @return [DateTime]
74
+ attr_accessor :time_of_creation
75
+
76
+ # Time when the operator control was last modified expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: '2020-05-22T21:10:29.600Z'
77
+ #
78
+ # @return [DateTime]
79
+ attr_accessor :time_of_modification
80
+
81
+ # Time when deleted expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339)timestamp format. Example: '2020-05-22T21:10:29.600Z'.
82
+ # Note a deleted operator control still stays in the system, so that you can still audit operator actions associated with access requests
83
+ # raised on target resources governed by the deleted operator control.
84
+ #
85
+ # @return [DateTime]
86
+ attr_accessor :time_of_deletion
87
+
88
+ # Description associated with the latest modification of the operator control.
89
+ # @return [String]
90
+ attr_accessor :last_modified_info
91
+
92
+ # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
93
+ #
94
+ # @return [Hash<String, String>]
95
+ attr_accessor :freeform_tags
96
+
97
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
98
+ #
99
+ # @return [Hash<String, Hash<String, Object>>]
100
+ attr_accessor :defined_tags
101
+
102
+ # Attribute mapping from ruby-style variable name to JSON key.
103
+ def self.attribute_map
104
+ {
105
+ # rubocop:disable Style/SymbolLiteral
106
+ 'id': :'id',
107
+ 'operator_control_name': :'operatorControlName',
108
+ 'description': :'description',
109
+ 'approvers_list': :'approversList',
110
+ 'approver_groups_list': :'approverGroupsList',
111
+ 'pre_approved_op_action_list': :'preApprovedOpActionList',
112
+ 'approval_required_op_action_list': :'approvalRequiredOpActionList',
113
+ 'is_fully_pre_approved': :'isFullyPreApproved',
114
+ 'system_message': :'systemMessage',
115
+ 'compartment_id': :'compartmentId',
116
+ 'lifecycle_state': :'lifecycleState',
117
+ 'time_of_creation': :'timeOfCreation',
118
+ 'time_of_modification': :'timeOfModification',
119
+ 'time_of_deletion': :'timeOfDeletion',
120
+ 'last_modified_info': :'lastModifiedInfo',
121
+ 'freeform_tags': :'freeformTags',
122
+ 'defined_tags': :'definedTags'
123
+ # rubocop:enable Style/SymbolLiteral
124
+ }
125
+ end
126
+
127
+ # Attribute type mapping.
128
+ def self.swagger_types
129
+ {
130
+ # rubocop:disable Style/SymbolLiteral
131
+ 'id': :'String',
132
+ 'operator_control_name': :'String',
133
+ 'description': :'String',
134
+ 'approvers_list': :'Array<String>',
135
+ 'approver_groups_list': :'Array<String>',
136
+ 'pre_approved_op_action_list': :'Array<String>',
137
+ 'approval_required_op_action_list': :'Array<String>',
138
+ 'is_fully_pre_approved': :'BOOLEAN',
139
+ 'system_message': :'String',
140
+ 'compartment_id': :'String',
141
+ 'lifecycle_state': :'String',
142
+ 'time_of_creation': :'DateTime',
143
+ 'time_of_modification': :'DateTime',
144
+ 'time_of_deletion': :'DateTime',
145
+ 'last_modified_info': :'String',
146
+ 'freeform_tags': :'Hash<String, String>',
147
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
148
+ # rubocop:enable Style/SymbolLiteral
149
+ }
150
+ end
151
+
152
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
153
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
154
+
155
+
156
+ # Initializes the object
157
+ # @param [Hash] attributes Model attributes in the form of hash
158
+ # @option attributes [String] :id The value to assign to the {#id} property
159
+ # @option attributes [String] :operator_control_name The value to assign to the {#operator_control_name} property
160
+ # @option attributes [String] :description The value to assign to the {#description} property
161
+ # @option attributes [Array<String>] :approvers_list The value to assign to the {#approvers_list} property
162
+ # @option attributes [Array<String>] :approver_groups_list The value to assign to the {#approver_groups_list} property
163
+ # @option attributes [Array<String>] :pre_approved_op_action_list The value to assign to the {#pre_approved_op_action_list} property
164
+ # @option attributes [Array<String>] :approval_required_op_action_list The value to assign to the {#approval_required_op_action_list} property
165
+ # @option attributes [BOOLEAN] :is_fully_pre_approved The value to assign to the {#is_fully_pre_approved} property
166
+ # @option attributes [String] :system_message The value to assign to the {#system_message} property
167
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
168
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
169
+ # @option attributes [DateTime] :time_of_creation The value to assign to the {#time_of_creation} property
170
+ # @option attributes [DateTime] :time_of_modification The value to assign to the {#time_of_modification} property
171
+ # @option attributes [DateTime] :time_of_deletion The value to assign to the {#time_of_deletion} property
172
+ # @option attributes [String] :last_modified_info The value to assign to the {#last_modified_info} property
173
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
174
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
175
+ def initialize(attributes = {})
176
+ return unless attributes.is_a?(Hash)
177
+
178
+ # convert string to symbol for hash key
179
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
180
+
181
+ self.id = attributes[:'id'] if attributes[:'id']
182
+
183
+ self.operator_control_name = attributes[:'operatorControlName'] if attributes[:'operatorControlName']
184
+
185
+ raise 'You cannot provide both :operatorControlName and :operator_control_name' if attributes.key?(:'operatorControlName') && attributes.key?(:'operator_control_name')
186
+
187
+ self.operator_control_name = attributes[:'operator_control_name'] if attributes[:'operator_control_name']
188
+
189
+ self.description = attributes[:'description'] if attributes[:'description']
190
+
191
+ self.approvers_list = attributes[:'approversList'] if attributes[:'approversList']
192
+
193
+ raise 'You cannot provide both :approversList and :approvers_list' if attributes.key?(:'approversList') && attributes.key?(:'approvers_list')
194
+
195
+ self.approvers_list = attributes[:'approvers_list'] if attributes[:'approvers_list']
196
+
197
+ self.approver_groups_list = attributes[:'approverGroupsList'] if attributes[:'approverGroupsList']
198
+
199
+ raise 'You cannot provide both :approverGroupsList and :approver_groups_list' if attributes.key?(:'approverGroupsList') && attributes.key?(:'approver_groups_list')
200
+
201
+ self.approver_groups_list = attributes[:'approver_groups_list'] if attributes[:'approver_groups_list']
202
+
203
+ self.pre_approved_op_action_list = attributes[:'preApprovedOpActionList'] if attributes[:'preApprovedOpActionList']
204
+
205
+ raise 'You cannot provide both :preApprovedOpActionList and :pre_approved_op_action_list' if attributes.key?(:'preApprovedOpActionList') && attributes.key?(:'pre_approved_op_action_list')
206
+
207
+ self.pre_approved_op_action_list = attributes[:'pre_approved_op_action_list'] if attributes[:'pre_approved_op_action_list']
208
+
209
+ self.approval_required_op_action_list = attributes[:'approvalRequiredOpActionList'] if attributes[:'approvalRequiredOpActionList']
210
+
211
+ raise 'You cannot provide both :approvalRequiredOpActionList and :approval_required_op_action_list' if attributes.key?(:'approvalRequiredOpActionList') && attributes.key?(:'approval_required_op_action_list')
212
+
213
+ self.approval_required_op_action_list = attributes[:'approval_required_op_action_list'] if attributes[:'approval_required_op_action_list']
214
+
215
+ self.is_fully_pre_approved = attributes[:'isFullyPreApproved'] unless attributes[:'isFullyPreApproved'].nil?
216
+
217
+ raise 'You cannot provide both :isFullyPreApproved and :is_fully_pre_approved' if attributes.key?(:'isFullyPreApproved') && attributes.key?(:'is_fully_pre_approved')
218
+
219
+ self.is_fully_pre_approved = attributes[:'is_fully_pre_approved'] unless attributes[:'is_fully_pre_approved'].nil?
220
+
221
+ self.system_message = attributes[:'systemMessage'] if attributes[:'systemMessage']
222
+
223
+ raise 'You cannot provide both :systemMessage and :system_message' if attributes.key?(:'systemMessage') && attributes.key?(:'system_message')
224
+
225
+ self.system_message = attributes[:'system_message'] if attributes[:'system_message']
226
+
227
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
228
+
229
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
230
+
231
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
232
+
233
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
234
+
235
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
236
+
237
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
238
+
239
+ self.time_of_creation = attributes[:'timeOfCreation'] if attributes[:'timeOfCreation']
240
+
241
+ raise 'You cannot provide both :timeOfCreation and :time_of_creation' if attributes.key?(:'timeOfCreation') && attributes.key?(:'time_of_creation')
242
+
243
+ self.time_of_creation = attributes[:'time_of_creation'] if attributes[:'time_of_creation']
244
+
245
+ self.time_of_modification = attributes[:'timeOfModification'] if attributes[:'timeOfModification']
246
+
247
+ raise 'You cannot provide both :timeOfModification and :time_of_modification' if attributes.key?(:'timeOfModification') && attributes.key?(:'time_of_modification')
248
+
249
+ self.time_of_modification = attributes[:'time_of_modification'] if attributes[:'time_of_modification']
250
+
251
+ self.time_of_deletion = attributes[:'timeOfDeletion'] if attributes[:'timeOfDeletion']
252
+
253
+ raise 'You cannot provide both :timeOfDeletion and :time_of_deletion' if attributes.key?(:'timeOfDeletion') && attributes.key?(:'time_of_deletion')
254
+
255
+ self.time_of_deletion = attributes[:'time_of_deletion'] if attributes[:'time_of_deletion']
256
+
257
+ self.last_modified_info = attributes[:'lastModifiedInfo'] if attributes[:'lastModifiedInfo']
258
+
259
+ raise 'You cannot provide both :lastModifiedInfo and :last_modified_info' if attributes.key?(:'lastModifiedInfo') && attributes.key?(:'last_modified_info')
260
+
261
+ self.last_modified_info = attributes[:'last_modified_info'] if attributes[:'last_modified_info']
262
+
263
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
264
+
265
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
266
+
267
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
268
+
269
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
270
+
271
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
272
+
273
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
274
+ end
275
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
276
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
277
+
278
+ # Custom attribute writer method checking allowed values (enum).
279
+ # @param [Object] lifecycle_state Object to be assigned
280
+ def lifecycle_state=(lifecycle_state)
281
+ # rubocop:disable Style/ConditionalAssignment
282
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
283
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
284
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
285
+ else
286
+ @lifecycle_state = lifecycle_state
287
+ end
288
+ # rubocop:enable Style/ConditionalAssignment
289
+ end
290
+
291
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
292
+
293
+
294
+ # Checks equality by comparing each attribute.
295
+ # @param [Object] other the other object to be compared
296
+ def ==(other)
297
+ return true if equal?(other)
298
+
299
+ self.class == other.class &&
300
+ id == other.id &&
301
+ operator_control_name == other.operator_control_name &&
302
+ description == other.description &&
303
+ approvers_list == other.approvers_list &&
304
+ approver_groups_list == other.approver_groups_list &&
305
+ pre_approved_op_action_list == other.pre_approved_op_action_list &&
306
+ approval_required_op_action_list == other.approval_required_op_action_list &&
307
+ is_fully_pre_approved == other.is_fully_pre_approved &&
308
+ system_message == other.system_message &&
309
+ compartment_id == other.compartment_id &&
310
+ lifecycle_state == other.lifecycle_state &&
311
+ time_of_creation == other.time_of_creation &&
312
+ time_of_modification == other.time_of_modification &&
313
+ time_of_deletion == other.time_of_deletion &&
314
+ last_modified_info == other.last_modified_info &&
315
+ freeform_tags == other.freeform_tags &&
316
+ defined_tags == other.defined_tags
317
+ end
318
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
319
+
320
+ # @see the `==` method
321
+ # @param [Object] other the other object to be compared
322
+ def eql?(other)
323
+ self == other
324
+ end
325
+
326
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
327
+
328
+
329
+ # Calculates hash code according to all attributes.
330
+ # @return [Fixnum] Hash code
331
+ def hash
332
+ [id, operator_control_name, description, approvers_list, approver_groups_list, pre_approved_op_action_list, approval_required_op_action_list, is_fully_pre_approved, system_message, compartment_id, lifecycle_state, time_of_creation, time_of_modification, time_of_deletion, last_modified_info, freeform_tags, defined_tags].hash
333
+ end
334
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
335
+
336
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
337
+
338
+
339
+ # Builds the object from hash
340
+ # @param [Hash] attributes Model attributes in the form of hash
341
+ # @return [Object] Returns the model itself
342
+ def build_from_hash(attributes)
343
+ return nil unless attributes.is_a?(Hash)
344
+
345
+ self.class.swagger_types.each_pair do |key, type|
346
+ if type =~ /^Array<(.*)>/i
347
+ # check to ensure the input is an array given that the the attribute
348
+ # is documented as an array but the input is not
349
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
350
+ public_method("#{key}=").call(
351
+ attributes[self.class.attribute_map[key]]
352
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
353
+ )
354
+ end
355
+ elsif !attributes[self.class.attribute_map[key]].nil?
356
+ public_method("#{key}=").call(
357
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
358
+ )
359
+ end
360
+ # or else data not found in attributes(hash), not an issue as the data can be optional
361
+ end
362
+
363
+ self
364
+ end
365
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
366
+
367
+ # Returns the string representation of the object
368
+ # @return [String] String presentation of the object
369
+ def to_s
370
+ to_hash.to_s
371
+ end
372
+
373
+ # Returns the object in the form of hash
374
+ # @return [Hash] Returns the object in the form of hash
375
+ def to_hash
376
+ hash = {}
377
+ self.class.attribute_map.each_pair do |attr, param|
378
+ value = public_method(attr).call
379
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
380
+
381
+ hash[param] = _to_hash(value)
382
+ end
383
+ hash
384
+ end
385
+
386
+ private
387
+
388
+ # Outputs non-array value in the form of hash
389
+ # For object, use to_hash. Otherwise, just return the value
390
+ # @param [Object] value Any valid value
391
+ # @return [Hash] Returns the value in the form of hash
392
+ def _to_hash(value)
393
+ if value.is_a?(Array)
394
+ value.compact.map { |v| _to_hash(v) }
395
+ elsif value.is_a?(Hash)
396
+ {}.tap do |hash|
397
+ value.each { |k, v| hash[k] = _to_hash(v) }
398
+ end
399
+ elsif value.respond_to? :to_hash
400
+ value.to_hash
401
+ else
402
+ value
403
+ end
404
+ end
405
+ end
406
+ end
407
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,448 @@
1
+ # Copyright (c) 2016, 2021, 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
+ # An Operator Control Assignment identifies the target resource that is placed under the governance of an Operator Control. Creating an Operator Control Assignment Assignment with a time duration ensures that
10
+ # human accesses to the target resource will be governed by Operator Control for the duration specified.
11
+ #
12
+ class OperatorAccessControl::Models::OperatorControlAssignment
13
+ RESOURCE_TYPE_ENUM = [
14
+ RESOURCE_TYPE_EXACC = 'EXACC'.freeze,
15
+ RESOURCE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
16
+ ].freeze
17
+
18
+ LIFECYCLE_STATE_ENUM = [
19
+ LIFECYCLE_STATE_CREATED = 'CREATED'.freeze,
20
+ LIFECYCLE_STATE_APPLIED = 'APPLIED'.freeze,
21
+ LIFECYCLE_STATE_APPLYFAILED = 'APPLYFAILED'.freeze,
22
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
23
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
24
+ ].freeze
25
+
26
+ # **[Required]** The OCID of the operator control assignment.
27
+ # @return [String]
28
+ attr_accessor :id
29
+
30
+ # **[Required]** The OCID of the operator control.
31
+ # @return [String]
32
+ attr_accessor :operator_control_id
33
+
34
+ # **[Required]** The OCID of the target resource.
35
+ # @return [String]
36
+ attr_accessor :resource_id
37
+
38
+ # **[Required]** Name of the target resource.
39
+ # @return [String]
40
+ attr_accessor :resource_name
41
+
42
+ # Type of the target resource.
43
+ # @return [String]
44
+ attr_reader :resource_type
45
+
46
+ # The OCID of the compartment that contains the target resource.
47
+ # @return [String]
48
+ attr_accessor :resource_compartment_id
49
+
50
+ # The OCID of the comparment that contains the operator control assignment.
51
+ # @return [String]
52
+ attr_accessor :compartment_id
53
+
54
+ # The time at which the target resource will be brought under the governance of the operator control expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.
55
+ # Example: '2020-05-22T21:10:29.600Z'
56
+ #
57
+ # @return [DateTime]
58
+ attr_accessor :time_assignment_from
59
+
60
+ # The time at which the target resource will leave the governance of the operator control expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.
61
+ # Example: '2020-05-22T21:10:29.600Z'
62
+ #
63
+ # @return [DateTime]
64
+ attr_accessor :time_assignment_to
65
+
66
+ # If set, then the target resource is always governed by the operator control.
67
+ # @return [BOOLEAN]
68
+ attr_accessor :is_enforced_always
69
+
70
+ # The current lifcycle state of the OperatorControl.
71
+ # @return [String]
72
+ attr_reader :lifecycle_state
73
+
74
+ # The OCID of the user who created this operator control assignment.
75
+ # @return [String]
76
+ attr_accessor :assigner_id
77
+
78
+ # Time when the operator control assignment is created in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: '2020-05-22T21:10:29.600Z'
79
+ #
80
+ # @return [DateTime]
81
+ attr_accessor :time_of_assignment
82
+
83
+ # Comment about the assignment of the operator control to this target resource.
84
+ # @return [String]
85
+ attr_accessor :comment
86
+
87
+ # User id who released the operatorControl.
88
+ # @return [String]
89
+ attr_accessor :unassigner_id
90
+
91
+ # Time on which the operator control assignment was deleted in [RFC 3339](https://tools.ietf.org/html/rfc3339)timestamp format.Example: '2020-05-22T21:10:29.600Z'
92
+ #
93
+ # @return [DateTime]
94
+ attr_accessor :time_of_deletion
95
+
96
+ # description containing reason for releasing of OperatorControl.
97
+ # @return [String]
98
+ attr_accessor :detachment_description
99
+
100
+ # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
101
+ #
102
+ # @return [Hash<String, String>]
103
+ attr_accessor :freeform_tags
104
+
105
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
106
+ #
107
+ # @return [Hash<String, Hash<String, Object>>]
108
+ attr_accessor :defined_tags
109
+
110
+ # Attribute mapping from ruby-style variable name to JSON key.
111
+ def self.attribute_map
112
+ {
113
+ # rubocop:disable Style/SymbolLiteral
114
+ 'id': :'id',
115
+ 'operator_control_id': :'operatorControlId',
116
+ 'resource_id': :'resourceId',
117
+ 'resource_name': :'resourceName',
118
+ 'resource_type': :'resourceType',
119
+ 'resource_compartment_id': :'resourceCompartmentId',
120
+ 'compartment_id': :'compartmentId',
121
+ 'time_assignment_from': :'timeAssignmentFrom',
122
+ 'time_assignment_to': :'timeAssignmentTo',
123
+ 'is_enforced_always': :'isEnforcedAlways',
124
+ 'lifecycle_state': :'lifecycleState',
125
+ 'assigner_id': :'assignerId',
126
+ 'time_of_assignment': :'timeOfAssignment',
127
+ 'comment': :'comment',
128
+ 'unassigner_id': :'unassignerId',
129
+ 'time_of_deletion': :'timeOfDeletion',
130
+ 'detachment_description': :'detachmentDescription',
131
+ 'freeform_tags': :'freeformTags',
132
+ 'defined_tags': :'definedTags'
133
+ # rubocop:enable Style/SymbolLiteral
134
+ }
135
+ end
136
+
137
+ # Attribute type mapping.
138
+ def self.swagger_types
139
+ {
140
+ # rubocop:disable Style/SymbolLiteral
141
+ 'id': :'String',
142
+ 'operator_control_id': :'String',
143
+ 'resource_id': :'String',
144
+ 'resource_name': :'String',
145
+ 'resource_type': :'String',
146
+ 'resource_compartment_id': :'String',
147
+ 'compartment_id': :'String',
148
+ 'time_assignment_from': :'DateTime',
149
+ 'time_assignment_to': :'DateTime',
150
+ 'is_enforced_always': :'BOOLEAN',
151
+ 'lifecycle_state': :'String',
152
+ 'assigner_id': :'String',
153
+ 'time_of_assignment': :'DateTime',
154
+ 'comment': :'String',
155
+ 'unassigner_id': :'String',
156
+ 'time_of_deletion': :'DateTime',
157
+ 'detachment_description': :'String',
158
+ 'freeform_tags': :'Hash<String, String>',
159
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
160
+ # rubocop:enable Style/SymbolLiteral
161
+ }
162
+ end
163
+
164
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
165
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
166
+
167
+
168
+ # Initializes the object
169
+ # @param [Hash] attributes Model attributes in the form of hash
170
+ # @option attributes [String] :id The value to assign to the {#id} property
171
+ # @option attributes [String] :operator_control_id The value to assign to the {#operator_control_id} property
172
+ # @option attributes [String] :resource_id The value to assign to the {#resource_id} property
173
+ # @option attributes [String] :resource_name The value to assign to the {#resource_name} property
174
+ # @option attributes [String] :resource_type The value to assign to the {#resource_type} property
175
+ # @option attributes [String] :resource_compartment_id The value to assign to the {#resource_compartment_id} property
176
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
177
+ # @option attributes [DateTime] :time_assignment_from The value to assign to the {#time_assignment_from} property
178
+ # @option attributes [DateTime] :time_assignment_to The value to assign to the {#time_assignment_to} property
179
+ # @option attributes [BOOLEAN] :is_enforced_always The value to assign to the {#is_enforced_always} property
180
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
181
+ # @option attributes [String] :assigner_id The value to assign to the {#assigner_id} property
182
+ # @option attributes [DateTime] :time_of_assignment The value to assign to the {#time_of_assignment} property
183
+ # @option attributes [String] :comment The value to assign to the {#comment} property
184
+ # @option attributes [String] :unassigner_id The value to assign to the {#unassigner_id} property
185
+ # @option attributes [DateTime] :time_of_deletion The value to assign to the {#time_of_deletion} property
186
+ # @option attributes [String] :detachment_description The value to assign to the {#detachment_description} property
187
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
188
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
189
+ def initialize(attributes = {})
190
+ return unless attributes.is_a?(Hash)
191
+
192
+ # convert string to symbol for hash key
193
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
194
+
195
+ self.id = attributes[:'id'] if attributes[:'id']
196
+
197
+ self.operator_control_id = attributes[:'operatorControlId'] if attributes[:'operatorControlId']
198
+
199
+ raise 'You cannot provide both :operatorControlId and :operator_control_id' if attributes.key?(:'operatorControlId') && attributes.key?(:'operator_control_id')
200
+
201
+ self.operator_control_id = attributes[:'operator_control_id'] if attributes[:'operator_control_id']
202
+
203
+ self.resource_id = attributes[:'resourceId'] if attributes[:'resourceId']
204
+
205
+ raise 'You cannot provide both :resourceId and :resource_id' if attributes.key?(:'resourceId') && attributes.key?(:'resource_id')
206
+
207
+ self.resource_id = attributes[:'resource_id'] if attributes[:'resource_id']
208
+
209
+ self.resource_name = attributes[:'resourceName'] if attributes[:'resourceName']
210
+
211
+ raise 'You cannot provide both :resourceName and :resource_name' if attributes.key?(:'resourceName') && attributes.key?(:'resource_name')
212
+
213
+ self.resource_name = attributes[:'resource_name'] if attributes[:'resource_name']
214
+
215
+ self.resource_type = attributes[:'resourceType'] if attributes[:'resourceType']
216
+
217
+ raise 'You cannot provide both :resourceType and :resource_type' if attributes.key?(:'resourceType') && attributes.key?(:'resource_type')
218
+
219
+ self.resource_type = attributes[:'resource_type'] if attributes[:'resource_type']
220
+
221
+ self.resource_compartment_id = attributes[:'resourceCompartmentId'] if attributes[:'resourceCompartmentId']
222
+
223
+ raise 'You cannot provide both :resourceCompartmentId and :resource_compartment_id' if attributes.key?(:'resourceCompartmentId') && attributes.key?(:'resource_compartment_id')
224
+
225
+ self.resource_compartment_id = attributes[:'resource_compartment_id'] if attributes[:'resource_compartment_id']
226
+
227
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
228
+
229
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
230
+
231
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
232
+
233
+ self.time_assignment_from = attributes[:'timeAssignmentFrom'] if attributes[:'timeAssignmentFrom']
234
+
235
+ raise 'You cannot provide both :timeAssignmentFrom and :time_assignment_from' if attributes.key?(:'timeAssignmentFrom') && attributes.key?(:'time_assignment_from')
236
+
237
+ self.time_assignment_from = attributes[:'time_assignment_from'] if attributes[:'time_assignment_from']
238
+
239
+ self.time_assignment_to = attributes[:'timeAssignmentTo'] if attributes[:'timeAssignmentTo']
240
+
241
+ raise 'You cannot provide both :timeAssignmentTo and :time_assignment_to' if attributes.key?(:'timeAssignmentTo') && attributes.key?(:'time_assignment_to')
242
+
243
+ self.time_assignment_to = attributes[:'time_assignment_to'] if attributes[:'time_assignment_to']
244
+
245
+ self.is_enforced_always = attributes[:'isEnforcedAlways'] unless attributes[:'isEnforcedAlways'].nil?
246
+
247
+ raise 'You cannot provide both :isEnforcedAlways and :is_enforced_always' if attributes.key?(:'isEnforcedAlways') && attributes.key?(:'is_enforced_always')
248
+
249
+ self.is_enforced_always = attributes[:'is_enforced_always'] unless attributes[:'is_enforced_always'].nil?
250
+
251
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
252
+
253
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
254
+
255
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
256
+
257
+ self.assigner_id = attributes[:'assignerId'] if attributes[:'assignerId']
258
+
259
+ raise 'You cannot provide both :assignerId and :assigner_id' if attributes.key?(:'assignerId') && attributes.key?(:'assigner_id')
260
+
261
+ self.assigner_id = attributes[:'assigner_id'] if attributes[:'assigner_id']
262
+
263
+ self.time_of_assignment = attributes[:'timeOfAssignment'] if attributes[:'timeOfAssignment']
264
+
265
+ raise 'You cannot provide both :timeOfAssignment and :time_of_assignment' if attributes.key?(:'timeOfAssignment') && attributes.key?(:'time_of_assignment')
266
+
267
+ self.time_of_assignment = attributes[:'time_of_assignment'] if attributes[:'time_of_assignment']
268
+
269
+ self.comment = attributes[:'comment'] if attributes[:'comment']
270
+
271
+ self.unassigner_id = attributes[:'unassignerId'] if attributes[:'unassignerId']
272
+
273
+ raise 'You cannot provide both :unassignerId and :unassigner_id' if attributes.key?(:'unassignerId') && attributes.key?(:'unassigner_id')
274
+
275
+ self.unassigner_id = attributes[:'unassigner_id'] if attributes[:'unassigner_id']
276
+
277
+ self.time_of_deletion = attributes[:'timeOfDeletion'] if attributes[:'timeOfDeletion']
278
+
279
+ raise 'You cannot provide both :timeOfDeletion and :time_of_deletion' if attributes.key?(:'timeOfDeletion') && attributes.key?(:'time_of_deletion')
280
+
281
+ self.time_of_deletion = attributes[:'time_of_deletion'] if attributes[:'time_of_deletion']
282
+
283
+ self.detachment_description = attributes[:'detachmentDescription'] if attributes[:'detachmentDescription']
284
+
285
+ raise 'You cannot provide both :detachmentDescription and :detachment_description' if attributes.key?(:'detachmentDescription') && attributes.key?(:'detachment_description')
286
+
287
+ self.detachment_description = attributes[:'detachment_description'] if attributes[:'detachment_description']
288
+
289
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
290
+
291
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
292
+
293
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
294
+
295
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
296
+
297
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
298
+
299
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
300
+ end
301
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
302
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
303
+
304
+ # Custom attribute writer method checking allowed values (enum).
305
+ # @param [Object] resource_type Object to be assigned
306
+ def resource_type=(resource_type)
307
+ # rubocop:disable Style/ConditionalAssignment
308
+ if resource_type && !RESOURCE_TYPE_ENUM.include?(resource_type)
309
+ OCI.logger.debug("Unknown value for 'resource_type' [" + resource_type + "]. Mapping to 'RESOURCE_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
310
+ @resource_type = RESOURCE_TYPE_UNKNOWN_ENUM_VALUE
311
+ else
312
+ @resource_type = resource_type
313
+ end
314
+ # rubocop:enable Style/ConditionalAssignment
315
+ end
316
+
317
+ # Custom attribute writer method checking allowed values (enum).
318
+ # @param [Object] lifecycle_state Object to be assigned
319
+ def lifecycle_state=(lifecycle_state)
320
+ # rubocop:disable Style/ConditionalAssignment
321
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
322
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
323
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
324
+ else
325
+ @lifecycle_state = lifecycle_state
326
+ end
327
+ # rubocop:enable Style/ConditionalAssignment
328
+ end
329
+
330
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
331
+
332
+
333
+ # Checks equality by comparing each attribute.
334
+ # @param [Object] other the other object to be compared
335
+ def ==(other)
336
+ return true if equal?(other)
337
+
338
+ self.class == other.class &&
339
+ id == other.id &&
340
+ operator_control_id == other.operator_control_id &&
341
+ resource_id == other.resource_id &&
342
+ resource_name == other.resource_name &&
343
+ resource_type == other.resource_type &&
344
+ resource_compartment_id == other.resource_compartment_id &&
345
+ compartment_id == other.compartment_id &&
346
+ time_assignment_from == other.time_assignment_from &&
347
+ time_assignment_to == other.time_assignment_to &&
348
+ is_enforced_always == other.is_enforced_always &&
349
+ lifecycle_state == other.lifecycle_state &&
350
+ assigner_id == other.assigner_id &&
351
+ time_of_assignment == other.time_of_assignment &&
352
+ comment == other.comment &&
353
+ unassigner_id == other.unassigner_id &&
354
+ time_of_deletion == other.time_of_deletion &&
355
+ detachment_description == other.detachment_description &&
356
+ freeform_tags == other.freeform_tags &&
357
+ defined_tags == other.defined_tags
358
+ end
359
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
360
+
361
+ # @see the `==` method
362
+ # @param [Object] other the other object to be compared
363
+ def eql?(other)
364
+ self == other
365
+ end
366
+
367
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
368
+
369
+
370
+ # Calculates hash code according to all attributes.
371
+ # @return [Fixnum] Hash code
372
+ def hash
373
+ [id, operator_control_id, resource_id, resource_name, resource_type, resource_compartment_id, compartment_id, time_assignment_from, time_assignment_to, is_enforced_always, lifecycle_state, assigner_id, time_of_assignment, comment, unassigner_id, time_of_deletion, detachment_description, freeform_tags, defined_tags].hash
374
+ end
375
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
376
+
377
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
378
+
379
+
380
+ # Builds the object from hash
381
+ # @param [Hash] attributes Model attributes in the form of hash
382
+ # @return [Object] Returns the model itself
383
+ def build_from_hash(attributes)
384
+ return nil unless attributes.is_a?(Hash)
385
+
386
+ self.class.swagger_types.each_pair do |key, type|
387
+ if type =~ /^Array<(.*)>/i
388
+ # check to ensure the input is an array given that the the attribute
389
+ # is documented as an array but the input is not
390
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
391
+ public_method("#{key}=").call(
392
+ attributes[self.class.attribute_map[key]]
393
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
394
+ )
395
+ end
396
+ elsif !attributes[self.class.attribute_map[key]].nil?
397
+ public_method("#{key}=").call(
398
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
399
+ )
400
+ end
401
+ # or else data not found in attributes(hash), not an issue as the data can be optional
402
+ end
403
+
404
+ self
405
+ end
406
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
407
+
408
+ # Returns the string representation of the object
409
+ # @return [String] String presentation of the object
410
+ def to_s
411
+ to_hash.to_s
412
+ end
413
+
414
+ # Returns the object in the form of hash
415
+ # @return [Hash] Returns the object in the form of hash
416
+ def to_hash
417
+ hash = {}
418
+ self.class.attribute_map.each_pair do |attr, param|
419
+ value = public_method(attr).call
420
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
421
+
422
+ hash[param] = _to_hash(value)
423
+ end
424
+ hash
425
+ end
426
+
427
+ private
428
+
429
+ # Outputs non-array value in the form of hash
430
+ # For object, use to_hash. Otherwise, just return the value
431
+ # @param [Object] value Any valid value
432
+ # @return [Hash] Returns the value in the form of hash
433
+ def _to_hash(value)
434
+ if value.is_a?(Array)
435
+ value.compact.map { |v| _to_hash(v) }
436
+ elsif value.is_a?(Hash)
437
+ {}.tap do |hash|
438
+ value.each { |k, v| hash[k] = _to_hash(v) }
439
+ end
440
+ elsif value.respond_to? :to_hash
441
+ value.to_hash
442
+ else
443
+ value
444
+ end
445
+ end
446
+ end
447
+ end
448
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength