oci 2.0.5 → 2.0.6

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 (290) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/oci.rb +3 -0
  4. data/lib/oci/api_client.rb +24 -3
  5. data/lib/oci/audit/audit_client.rb +19 -5
  6. data/lib/oci/audit/models/audit_event.rb +19 -0
  7. data/lib/oci/audit/models/configuration.rb +1 -0
  8. data/lib/oci/audit/models/update_configuration_details.rb +1 -0
  9. data/lib/oci/auth/auth.rb +16 -0
  10. data/lib/oci/auth/federation_client.rb +125 -0
  11. data/lib/oci/auth/internal/auth_token_request_signer.rb +20 -0
  12. data/lib/oci/auth/security_token_container.rb +25 -0
  13. data/lib/oci/auth/session_key_supplier.rb +37 -0
  14. data/lib/oci/auth/signers/instance_principals_security_token_signer.rb +83 -0
  15. data/lib/oci/auth/signers/security_token_signer.rb +32 -0
  16. data/lib/oci/auth/signers/x509_federation_client_based_security_token_signer.rb +70 -0
  17. data/lib/oci/auth/url_based_certificate_retriever.rb +104 -0
  18. data/lib/oci/auth/util.rb +33 -0
  19. data/lib/oci/base_signer.rb +154 -0
  20. data/lib/oci/core/blockstorage_client.rb +19 -5
  21. data/lib/oci/core/compute_client.rb +19 -5
  22. data/lib/oci/core/models/attach_boot_volume_details.rb +5 -2
  23. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +5 -1
  24. data/lib/oci/core/models/attach_vnic_details.rb +6 -2
  25. data/lib/oci/core/models/attach_volume_details.rb +8 -3
  26. data/lib/oci/core/models/boot_volume.rb +22 -6
  27. data/lib/oci/core/models/boot_volume_attachment.rb +17 -7
  28. data/lib/oci/core/models/bulk_add_virtual_circuit_public_prefixes_details.rb +2 -1
  29. data/lib/oci/core/models/bulk_delete_virtual_circuit_public_prefixes_details.rb +2 -1
  30. data/lib/oci/core/models/capture_console_history_details.rb +5 -1
  31. data/lib/oci/core/models/connect_local_peering_gateways_details.rb +3 -1
  32. data/lib/oci/core/models/console_history.rb +19 -6
  33. data/lib/oci/core/models/cpe.rb +18 -3
  34. data/lib/oci/core/models/create_cpe_details.rb +5 -2
  35. data/lib/oci/core/models/create_cross_connect_details.rb +10 -3
  36. data/lib/oci/core/models/create_cross_connect_group_details.rb +3 -1
  37. data/lib/oci/core/models/create_dhcp_details.rb +9 -3
  38. data/lib/oci/core/models/create_drg_attachment_details.rb +5 -2
  39. data/lib/oci/core/models/create_drg_details.rb +3 -1
  40. data/lib/oci/core/models/create_image_details.rb +9 -1
  41. data/lib/oci/core/models/create_instance_console_connection_details.rb +9 -2
  42. data/lib/oci/core/models/create_internet_gateway_details.rb +8 -4
  43. data/lib/oci/core/models/create_ip_sec_connection_details.rb +9 -4
  44. data/lib/oci/core/models/create_local_peering_gateway_details.rb +5 -2
  45. data/lib/oci/core/models/create_private_ip_details.rb +7 -1
  46. data/lib/oci/core/models/create_route_table_details.rb +9 -3
  47. data/lib/oci/core/models/create_security_list_details.rb +11 -4
  48. data/lib/oci/core/models/create_subnet_details.rb +17 -5
  49. data/lib/oci/core/models/create_vcn_details.rb +8 -2
  50. data/lib/oci/core/models/create_virtual_circuit_details.rb +14 -2
  51. data/lib/oci/core/models/create_virtual_circuit_public_prefix_details.rb +2 -1
  52. data/lib/oci/core/models/create_vnic_details.rb +14 -3
  53. data/lib/oci/core/models/create_volume_backup_details.rb +5 -1
  54. data/lib/oci/core/models/create_volume_details.rb +11 -2
  55. data/lib/oci/core/models/cross_connect.rb +26 -0
  56. data/lib/oci/core/models/cross_connect_group.rb +19 -0
  57. data/lib/oci/core/models/cross_connect_location.rb +5 -2
  58. data/lib/oci/core/models/cross_connect_mapping.rb +31 -0
  59. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +6 -2
  60. data/lib/oci/core/models/cross_connect_status.rb +6 -1
  61. data/lib/oci/core/models/delete_virtual_circuit_public_prefix_details.rb +2 -1
  62. data/lib/oci/core/models/dhcp_dns_option.rb +7 -1
  63. data/lib/oci/core/models/dhcp_option.rb +9 -1
  64. data/lib/oci/core/models/dhcp_options.rb +31 -6
  65. data/lib/oci/core/models/dhcp_search_domain_option.rb +5 -1
  66. data/lib/oci/core/models/drg.rb +18 -3
  67. data/lib/oci/core/models/drg_attachment.rb +15 -5
  68. data/lib/oci/core/models/egress_security_rule.rb +10 -3
  69. data/lib/oci/core/models/export_image_details.rb +13 -1
  70. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +3 -0
  71. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +2 -1
  72. data/lib/oci/core/models/fast_connect_provider_service.rb +17 -6
  73. data/lib/oci/core/models/i_scsi_volume_attachment.rb +17 -3
  74. data/lib/oci/core/models/icmp_options.rb +11 -1
  75. data/lib/oci/core/models/image.rb +28 -7
  76. data/lib/oci/core/models/image_source_details.rb +4 -1
  77. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +7 -3
  78. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +3 -1
  79. data/lib/oci/core/models/ingress_security_rule.rb +10 -3
  80. data/lib/oci/core/models/instance.rb +33 -7
  81. data/lib/oci/core/models/instance_console_connection.rb +15 -0
  82. data/lib/oci/core/models/instance_credentials.rb +5 -2
  83. data/lib/oci/core/models/instance_source_details.rb +3 -1
  84. data/lib/oci/core/models/instance_source_via_boot_volume_details.rb +2 -1
  85. data/lib/oci/core/models/instance_source_via_image_details.rb +2 -1
  86. data/lib/oci/core/models/internet_gateway.rb +20 -5
  87. data/lib/oci/core/models/ip_sec_connection.rb +23 -6
  88. data/lib/oci/core/models/ip_sec_connection_device_config.rb +7 -2
  89. data/lib/oci/core/models/ip_sec_connection_device_status.rb +7 -2
  90. data/lib/oci/core/models/launch_instance_details.rb +20 -3
  91. data/lib/oci/core/models/launch_options.rb +10 -4
  92. data/lib/oci/core/models/letter_of_authority.rb +10 -0
  93. data/lib/oci/core/models/local_peering_gateway.rb +29 -9
  94. data/lib/oci/core/models/port_range.rb +4 -2
  95. data/lib/oci/core/models/private_ip.rb +41 -1
  96. data/lib/oci/core/models/route_rule.rb +7 -2
  97. data/lib/oci/core/models/route_table.rb +22 -5
  98. data/lib/oci/core/models/security_list.rb +32 -8
  99. data/lib/oci/core/models/shape.rb +5 -1
  100. data/lib/oci/core/models/subnet.rb +38 -10
  101. data/lib/oci/core/models/tcp_options.rb +5 -0
  102. data/lib/oci/core/models/tunnel_config.rb +6 -2
  103. data/lib/oci/core/models/tunnel_status.rb +7 -1
  104. data/lib/oci/core/models/udp_options.rb +5 -0
  105. data/lib/oci/core/models/update_boot_volume_details.rb +1 -0
  106. data/lib/oci/core/models/update_console_history_details.rb +3 -0
  107. data/lib/oci/core/models/update_cpe_details.rb +1 -0
  108. data/lib/oci/core/models/update_cross_connect_details.rb +5 -1
  109. data/lib/oci/core/models/update_cross_connect_group_details.rb +1 -0
  110. data/lib/oci/core/models/update_dhcp_details.rb +4 -0
  111. data/lib/oci/core/models/update_drg_attachment_details.rb +1 -0
  112. data/lib/oci/core/models/update_drg_details.rb +1 -0
  113. data/lib/oci/core/models/update_image_details.rb +3 -0
  114. data/lib/oci/core/models/update_instance_details.rb +3 -0
  115. data/lib/oci/core/models/update_internet_gateway_details.rb +3 -1
  116. data/lib/oci/core/models/update_ip_sec_connection_details.rb +1 -0
  117. data/lib/oci/core/models/update_local_peering_gateway_details.rb +1 -0
  118. data/lib/oci/core/models/update_private_ip_details.rb +5 -0
  119. data/lib/oci/core/models/update_route_table_details.rb +4 -0
  120. data/lib/oci/core/models/update_security_list_details.rb +5 -0
  121. data/lib/oci/core/models/update_subnet_details.rb +3 -0
  122. data/lib/oci/core/models/update_vcn_details.rb +3 -0
  123. data/lib/oci/core/models/update_virtual_circuit_details.rb +7 -0
  124. data/lib/oci/core/models/update_vnic_details.rb +4 -1
  125. data/lib/oci/core/models/update_volume_backup_details.rb +3 -0
  126. data/lib/oci/core/models/update_volume_details.rb +3 -0
  127. data/lib/oci/core/models/vcn.rb +24 -4
  128. data/lib/oci/core/models/virtual_circuit.rb +41 -0
  129. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +5 -1
  130. data/lib/oci/core/models/virtual_circuit_public_prefix.rb +8 -2
  131. data/lib/oci/core/models/vnic.rb +38 -9
  132. data/lib/oci/core/models/vnic_attachment.rb +21 -7
  133. data/lib/oci/core/models/volume.rb +28 -8
  134. data/lib/oci/core/models/volume_attachment.rb +25 -8
  135. data/lib/oci/core/models/volume_backup.rb +26 -5
  136. data/lib/oci/core/models/volume_source_details.rb +3 -0
  137. data/lib/oci/core/models/volume_source_from_volume_backup_details.rb +3 -1
  138. data/lib/oci/core/models/volume_source_from_volume_details.rb +3 -1
  139. data/lib/oci/core/virtual_network_client.rb +19 -5
  140. data/lib/oci/database/database_client.rb +19 -5
  141. data/lib/oci/database/models/backup.rb +13 -0
  142. data/lib/oci/database/models/backup_summary.rb +13 -0
  143. data/lib/oci/database/models/create_backup_details.rb +4 -2
  144. data/lib/oci/database/models/create_data_guard_association_details.rb +18 -4
  145. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +5 -0
  146. data/lib/oci/database/models/create_database_details.rb +9 -2
  147. data/lib/oci/database/models/create_database_from_backup_details.rb +6 -3
  148. data/lib/oci/database/models/create_db_home_details.rb +5 -1
  149. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +5 -1
  150. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +6 -1
  151. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +4 -0
  152. data/lib/oci/database/models/data_guard_association.rb +32 -7
  153. data/lib/oci/database/models/data_guard_association_summary.rb +32 -7
  154. data/lib/oci/database/models/database.rb +22 -5
  155. data/lib/oci/database/models/database_summary.rb +22 -5
  156. data/lib/oci/database/models/db_backup_config.rb +5 -1
  157. data/lib/oci/database/models/db_home.rb +22 -5
  158. data/lib/oci/database/models/db_home_summary.rb +22 -5
  159. data/lib/oci/database/models/db_node.rb +17 -5
  160. data/lib/oci/database/models/db_node_summary.rb +17 -5
  161. data/lib/oci/database/models/db_system.rb +56 -12
  162. data/lib/oci/database/models/db_system_shape_summary.rb +11 -2
  163. data/lib/oci/database/models/db_system_summary.rb +56 -12
  164. data/lib/oci/database/models/db_version_summary.rb +8 -2
  165. data/lib/oci/database/models/failover_data_guard_association_details.rb +4 -1
  166. data/lib/oci/database/models/launch_db_system_details.rb +27 -8
  167. data/lib/oci/database/models/patch.rb +18 -4
  168. data/lib/oci/database/models/patch_details.rb +6 -0
  169. data/lib/oci/database/models/patch_history_entry.rb +12 -4
  170. data/lib/oci/database/models/patch_history_entry_summary.rb +12 -4
  171. data/lib/oci/database/models/patch_summary.rb +18 -4
  172. data/lib/oci/database/models/reinstate_data_guard_association_details.rb +4 -1
  173. data/lib/oci/database/models/restore_database_details.rb +4 -1
  174. data/lib/oci/database/models/switchover_data_guard_association_details.rb +4 -1
  175. data/lib/oci/database/models/update_database_details.rb +1 -0
  176. data/lib/oci/database/models/update_db_home_details.rb +3 -0
  177. data/lib/oci/database/models/update_db_system_details.rb +6 -0
  178. data/lib/oci/identity/identity.rb +3 -0
  179. data/lib/oci/identity/identity_client.rb +290 -70
  180. data/lib/oci/identity/models/add_user_to_group_details.rb +4 -2
  181. data/lib/oci/identity/models/api_key.rb +18 -0
  182. data/lib/oci/identity/models/availability_domain.rb +6 -0
  183. data/lib/oci/identity/models/compartment.rb +38 -10
  184. data/lib/oci/identity/models/create_api_key_details.rb +2 -1
  185. data/lib/oci/identity/models/create_compartment_details.rb +14 -7
  186. data/lib/oci/identity/models/create_customer_secret_key_details.rb +2 -1
  187. data/lib/oci/identity/models/create_dynamic_group_details.rb +160 -0
  188. data/lib/oci/identity/models/create_group_details.rb +14 -7
  189. data/lib/oci/identity/models/create_identity_provider_details.rb +19 -9
  190. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +4 -2
  191. data/lib/oci/identity/models/create_policy_details.rb +18 -9
  192. data/lib/oci/identity/models/create_region_subscription_details.rb +2 -1
  193. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +10 -2
  194. data/lib/oci/identity/models/create_swift_password_details.rb +2 -1
  195. data/lib/oci/identity/models/create_tag_details.rb +12 -6
  196. data/lib/oci/identity/models/create_tag_namespace_details.rb +14 -7
  197. data/lib/oci/identity/models/create_user_details.rb +14 -7
  198. data/lib/oci/identity/models/customer_secret_key.rb +16 -0
  199. data/lib/oci/identity/models/customer_secret_key_summary.rb +10 -0
  200. data/lib/oci/identity/models/dynamic_group.rb +239 -0
  201. data/lib/oci/identity/models/group.rb +35 -11
  202. data/lib/oci/identity/models/identity_provider.rb +36 -12
  203. data/lib/oci/identity/models/idp_group_mapping.rb +27 -7
  204. data/lib/oci/identity/models/policy.rb +38 -11
  205. data/lib/oci/identity/models/region.rb +10 -0
  206. data/lib/oci/identity/models/region_subscription.rb +16 -5
  207. data/lib/oci/identity/models/saml2_identity_provider.rb +20 -3
  208. data/lib/oci/identity/models/swift_password.rb +17 -1
  209. data/lib/oci/identity/models/tag.rb +30 -13
  210. data/lib/oci/identity/models/tag_namespace.rb +25 -11
  211. data/lib/oci/identity/models/tag_namespace_summary.rb +23 -10
  212. data/lib/oci/identity/models/tag_summary.rb +21 -8
  213. data/lib/oci/identity/models/tenancy.rb +21 -4
  214. data/lib/oci/identity/models/ui_password.rb +10 -0
  215. data/lib/oci/identity/models/update_compartment_details.rb +10 -4
  216. data/lib/oci/identity/models/update_customer_secret_key_details.rb +1 -0
  217. data/lib/oci/identity/models/update_dynamic_group_details.rb +134 -0
  218. data/lib/oci/identity/models/update_group_details.rb +9 -4
  219. data/lib/oci/identity/models/update_identity_provider_details.rb +12 -5
  220. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +2 -0
  221. data/lib/oci/identity/models/update_policy_details.rb +12 -5
  222. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +5 -0
  223. data/lib/oci/identity/models/update_state_details.rb +2 -1
  224. data/lib/oci/identity/models/update_swift_password_details.rb +1 -0
  225. data/lib/oci/identity/models/update_tag_details.rb +15 -7
  226. data/lib/oci/identity/models/update_tag_namespace_details.rb +15 -7
  227. data/lib/oci/identity/models/update_user_details.rb +9 -4
  228. data/lib/oci/identity/models/user.rb +38 -11
  229. data/lib/oci/identity/models/user_group_membership.rb +16 -6
  230. data/lib/oci/load_balancer/load_balancer.rb +1 -0
  231. data/lib/oci/load_balancer/load_balancer_client.rb +24 -9
  232. data/lib/oci/load_balancer/models/backend.rb +20 -10
  233. data/lib/oci/load_balancer/models/backend_details.rb +12 -5
  234. data/lib/oci/load_balancer/models/backend_health.rb +6 -2
  235. data/lib/oci/load_balancer/models/backend_set.rb +14 -2
  236. data/lib/oci/load_balancer/models/backend_set_details.rb +11 -1
  237. data/lib/oci/load_balancer/models/backend_set_health.rb +15 -5
  238. data/lib/oci/load_balancer/models/certificate.rb +10 -3
  239. data/lib/oci/load_balancer/models/certificate_details.rb +10 -1
  240. data/lib/oci/load_balancer/models/connection_configuration.rb +157 -0
  241. data/lib/oci/load_balancer/models/create_backend_details.rb +15 -5
  242. data/lib/oci/load_balancer/models/create_backend_set_details.rb +13 -2
  243. data/lib/oci/load_balancer/models/create_certificate_details.rb +10 -1
  244. data/lib/oci/load_balancer/models/create_listener_details.rb +28 -5
  245. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +14 -5
  246. data/lib/oci/load_balancer/models/health_check_result.rb +10 -4
  247. data/lib/oci/load_balancer/models/health_checker.rb +15 -4
  248. data/lib/oci/load_balancer/models/health_checker_details.rb +10 -1
  249. data/lib/oci/load_balancer/models/ip_address.rb +5 -2
  250. data/lib/oci/load_balancer/models/listener.rb +28 -5
  251. data/lib/oci/load_balancer/models/listener_details.rb +23 -4
  252. data/lib/oci/load_balancer/models/load_balancer.rb +30 -7
  253. data/lib/oci/load_balancer/models/load_balancer_health.rb +15 -5
  254. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +5 -2
  255. data/lib/oci/load_balancer/models/load_balancer_policy.rb +6 -1
  256. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +3 -1
  257. data/lib/oci/load_balancer/models/load_balancer_shape.rb +8 -1
  258. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +14 -2
  259. data/lib/oci/load_balancer/models/ssl_configuration.rb +11 -4
  260. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +6 -2
  261. data/lib/oci/load_balancer/models/update_backend_details.rb +12 -7
  262. data/lib/oci/load_balancer/models/update_backend_set_details.rb +12 -1
  263. data/lib/oci/load_balancer/models/update_health_checker_details.rb +16 -7
  264. data/lib/oci/load_balancer/models/update_listener_details.rb +23 -4
  265. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +3 -1
  266. data/lib/oci/load_balancer/models/work_request.rb +20 -6
  267. data/lib/oci/load_balancer/models/work_request_error.rb +5 -1
  268. data/lib/oci/object_storage/models/bucket.rb +27 -8
  269. data/lib/oci/object_storage/models/bucket_summary.rb +16 -6
  270. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +7 -1
  271. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +8 -2
  272. data/lib/oci/object_storage/models/create_bucket_details.rb +15 -4
  273. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +10 -1
  274. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +7 -3
  275. data/lib/oci/object_storage/models/list_objects.rb +8 -1
  276. data/lib/oci/object_storage/models/multipart_upload.rb +20 -5
  277. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +13 -4
  278. data/lib/oci/object_storage/models/namespace_metadata.rb +8 -3
  279. data/lib/oci/object_storage/models/object_summary.rb +9 -1
  280. data/lib/oci/object_storage/models/preauthenticated_request.rb +20 -6
  281. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +13 -5
  282. data/lib/oci/object_storage/models/rename_object_details.rb +11 -2
  283. data/lib/oci/object_storage/models/restore_objects_details.rb +2 -1
  284. data/lib/oci/object_storage/models/update_bucket_details.rb +13 -2
  285. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +5 -0
  286. data/lib/oci/object_storage/object_storage_client.rb +26 -12
  287. data/lib/oci/regions.rb +8 -1
  288. data/lib/oci/signer.rb +5 -124
  289. data/lib/oci/version.rb +1 -1
  290. metadata +31 -2
@@ -3,6 +3,7 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
+ # This class has direct subclasses. If you are using this class as input to a service operations then you should favor using a subclass over the base class
6
7
  class Identity::Models::CreateIdentityProviderDetails
7
8
 
8
9
  PRODUCT_TYPE_ENUM = [PRODUCT_TYPE_IDCS = 'IDCS',
@@ -11,24 +12,24 @@ module OCI
11
12
 
12
13
  PROTOCOL_ENUM = [PROTOCOL_SAML2 = 'SAML2']
13
14
 
14
- # The OCID of your tenancy.
15
+ # **[Required]** The OCID of your tenancy.
15
16
  # @return [String]
16
17
  attr_accessor :compartment_id
17
18
 
18
- # The name you assign to the `IdentityProvider` during creation.
19
+ # **[Required]** The name you assign to the `IdentityProvider` during creation.
19
20
  # The name must be unique across all `IdentityProvider` objects in the
20
21
  # tenancy and cannot be changed.
21
22
  #
22
23
  # @return [String]
23
24
  attr_accessor :name
24
25
 
25
- # The description you assign to the `IdentityProvider` during creation.
26
+ # **[Required]** The description you assign to the `IdentityProvider` during creation.
26
27
  # Does not have to be unique, and it's changeable.
27
28
  #
28
29
  # @return [String]
29
30
  attr_accessor :description
30
31
 
31
- # The identity provider service or product.
32
+ # **[Required]** The identity provider service or product.
32
33
  # Supported identity providers are Oracle Identity Cloud Service (IDCS) and Microsoft
33
34
  # Active Directory Federation Services (ADFS).
34
35
  #
@@ -37,21 +38,23 @@ module OCI
37
38
  # @return [String]
38
39
  attr_accessor :product_type
39
40
 
40
- # The protocol used for federation.
41
+ # **[Required]** The protocol used for federation.
41
42
  #
42
43
  # Example: `SAML2`
43
44
  #
44
45
  # @return [String]
45
46
  attr_accessor :protocol
46
47
 
47
- # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
48
- # Example: `{\"bar-key\": \"value\"}`
48
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
49
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
50
+ # Example: `{\"Department\": \"Finance\"}`
49
51
  #
50
52
  # @return [Hash<String, String>]
51
53
  attr_accessor :freeform_tags
52
54
 
53
- # Usage of predefined tag keys. These predefined keys are scoped to namespaces.
54
- # Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
55
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
56
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
57
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
55
58
  #
56
59
  # @return [Hash<String, Hash<String, Object>>]
57
60
  attr_accessor :defined_tags
@@ -70,6 +73,13 @@ module OCI
70
73
 
71
74
  # Initializes the object
72
75
  # @param [Hash] attributes Model attributes in the form of hash
76
+ # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
77
+ # @option attributes [String] :name The value to assign to the {#name} property
78
+ # @option attributes [String] :description The value to assign to the {#description} property
79
+ # @option attributes [String] :productType The value to assign to the {#product_type} property
80
+ # @option attributes [String] :protocol The value to assign to the {#protocol} property
81
+ # @option attributes [Hash<String, String>] :freeformTags The value to assign to the {#freeform_tags} property
82
+ # @option attributes [Hash<String, Hash<String, Object>>] :definedTags The value to assign to the {#defined_tags} property
73
83
  def initialize(attributes = {})
74
84
  return unless attributes.is_a?(Hash)
75
85
 
@@ -4,11 +4,11 @@ require 'date'
4
4
 
5
5
  module OCI
6
6
  class Identity::Models::CreateIdpGroupMappingDetails
7
- # The name of the IdP group you want to map.
7
+ # **[Required]** The name of the IdP group you want to map.
8
8
  # @return [String]
9
9
  attr_accessor :idp_group_name
10
10
 
11
- # The OCID of the IAM Service {Group}
11
+ # **[Required]** The OCID of the IAM Service {Group}
12
12
  # you want to map to the IdP group.
13
13
  #
14
14
  # @return [String]
@@ -17,6 +17,8 @@ module OCI
17
17
 
18
18
  # Initializes the object
19
19
  # @param [Hash] attributes Model attributes in the form of hash
20
+ # @option attributes [String] :idpGroupName The value to assign to the {#idp_group_name} property
21
+ # @option attributes [String] :groupId The value to assign to the {#group_id} property
20
22
  def initialize(attributes = {})
21
23
  return unless attributes.is_a?(Hash)
22
24
 
@@ -4,24 +4,24 @@ require 'date'
4
4
 
5
5
  module OCI
6
6
  class Identity::Models::CreatePolicyDetails
7
- # The OCID of the compartment containing the policy (either the tenancy or another compartment).
7
+ # **[Required]** The OCID of the compartment containing the policy (either the tenancy or another compartment).
8
8
  # @return [String]
9
9
  attr_accessor :compartment_id
10
10
 
11
- # The name you assign to the policy during creation. The name must be unique across all policies
11
+ # **[Required]** The name you assign to the policy during creation. The name must be unique across all policies
12
12
  # in the tenancy and cannot be changed.
13
13
  #
14
14
  # @return [String]
15
15
  attr_accessor :name
16
16
 
17
- # An array of policy statements written in the policy language. See
18
- # [How Policies Work](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policies.htm) and
17
+ # **[Required]** An array of policy statements written in the policy language. See
18
+ # [How Policies Work](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policies.htm) and
19
19
  # [Common Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/commonpolicies.htm).
20
20
  #
21
21
  # @return [Array<String>]
22
22
  attr_accessor :statements
23
23
 
24
- # The description you assign to the policy during creation. Does not have to be unique, and it's changeable.
24
+ # **[Required]** The description you assign to the policy during creation. Does not have to be unique, and it's changeable.
25
25
  #
26
26
  # @return [String]
27
27
  attr_accessor :description
@@ -33,14 +33,16 @@ module OCI
33
33
  # @return [DateTime]
34
34
  attr_accessor :version_date
35
35
 
36
- # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
37
- # Example: `{\"bar-key\": \"value\"}`
36
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
37
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
38
+ # Example: `{\"Department\": \"Finance\"}`
38
39
  #
39
40
  # @return [Hash<String, String>]
40
41
  attr_accessor :freeform_tags
41
42
 
42
- # Usage of predefined tag keys. These predefined keys are scoped to namespaces.
43
- # Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
43
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
44
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
45
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
44
46
  #
45
47
  # @return [Hash<String, Hash<String, Object>>]
46
48
  attr_accessor :defined_tags
@@ -48,6 +50,13 @@ module OCI
48
50
 
49
51
  # Initializes the object
50
52
  # @param [Hash] attributes Model attributes in the form of hash
53
+ # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
54
+ # @option attributes [String] :name The value to assign to the {#name} property
55
+ # @option attributes [Array<String>] :statements The value to assign to the {#statements} property
56
+ # @option attributes [String] :description The value to assign to the {#description} property
57
+ # @option attributes [DateTime] :versionDate The value to assign to the {#version_date} property
58
+ # @option attributes [Hash<String, String>] :freeformTags The value to assign to the {#freeform_tags} property
59
+ # @option attributes [Hash<String, Hash<String, Object>>] :definedTags The value to assign to the {#defined_tags} property
51
60
  def initialize(attributes = {})
52
61
  return unless attributes.is_a?(Hash)
53
62
 
@@ -4,7 +4,7 @@ require 'date'
4
4
 
5
5
  module OCI
6
6
  class Identity::Models::CreateRegionSubscriptionDetails
7
- # The regions's key.
7
+ # **[Required]** The regions's key.
8
8
  #
9
9
  # Allowed values are:
10
10
  # - `PHX`
@@ -19,6 +19,7 @@ module OCI
19
19
 
20
20
  # Initializes the object
21
21
  # @param [Hash] attributes Model attributes in the form of hash
22
+ # @option attributes [String] :regionKey The value to assign to the {#region_key} property
22
23
  def initialize(attributes = {})
23
24
  return unless attributes.is_a?(Hash)
24
25
 
@@ -5,13 +5,13 @@ require_relative 'create_identity_provider_details'
5
5
 
6
6
  module OCI
7
7
  class Identity::Models::CreateSaml2IdentityProviderDetails < Identity::Models::CreateIdentityProviderDetails
8
- # The URL for retrieving the identity provider's metadata,
8
+ # **[Required]** The URL for retrieving the identity provider's metadata,
9
9
  # which contains information required for federating.
10
10
  #
11
11
  # @return [String]
12
12
  attr_accessor :metadata_url
13
13
 
14
- # The XML that contains the information required for federating.
14
+ # **[Required]** The XML that contains the information required for federating.
15
15
  #
16
16
  # @return [String]
17
17
  attr_accessor :metadata
@@ -19,6 +19,14 @@ module OCI
19
19
 
20
20
  # Initializes the object
21
21
  # @param [Hash] attributes Model attributes in the form of hash
22
+ # @option attributes [String] :compartmentId The value to assign to the {OCI::Identity::Models::CreateIdentityProviderDetails#compartment_id #compartment_id} proprety
23
+ # @option attributes [String] :name The value to assign to the {OCI::Identity::Models::CreateIdentityProviderDetails#name #name} proprety
24
+ # @option attributes [String] :description The value to assign to the {OCI::Identity::Models::CreateIdentityProviderDetails#description #description} proprety
25
+ # @option attributes [String] :productType The value to assign to the {OCI::Identity::Models::CreateIdentityProviderDetails#product_type #product_type} proprety
26
+ # @option attributes [Hash<String, String>] :freeformTags The value to assign to the {OCI::Identity::Models::CreateIdentityProviderDetails#freeform_tags #freeform_tags} proprety
27
+ # @option attributes [Hash<String, Hash<String, Object>>] :definedTags The value to assign to the {OCI::Identity::Models::CreateIdentityProviderDetails#defined_tags #defined_tags} proprety
28
+ # @option attributes [String] :metadataUrl The value to assign to the {#metadata_url} property
29
+ # @option attributes [String] :metadata The value to assign to the {#metadata} property
22
30
  def initialize(attributes = {})
23
31
  return unless attributes.is_a?(Hash)
24
32
 
@@ -4,7 +4,7 @@ require 'date'
4
4
 
5
5
  module OCI
6
6
  class Identity::Models::CreateSwiftPasswordDetails
7
- # The description you assign to the Swift password during creation. Does not have to be unique, and it's changeable.
7
+ # **[Required]** The description you assign to the Swift password during creation. Does not have to be unique, and it's changeable.
8
8
  #
9
9
  # @return [String]
10
10
  attr_accessor :description
@@ -12,6 +12,7 @@ module OCI
12
12
 
13
13
  # Initializes the object
14
14
  # @param [Hash] attributes Model attributes in the form of hash
15
+ # @option attributes [String] :description The value to assign to the {#description} property
15
16
  def initialize(attributes = {})
16
17
  return unless attributes.is_a?(Hash)
17
18
 
@@ -4,23 +4,25 @@ require 'date'
4
4
 
5
5
  module OCI
6
6
  class Identity::Models::CreateTagDetails
7
- # The name of the tag which must be unique across all tags in the tagNamespace and cannot be changed.
7
+ # **[Required]** The name you assign to the tag during creation. The name must be unique within the tag namespace and cannot be changed.
8
8
  #
9
9
  # @return [String]
10
10
  attr_accessor :name
11
11
 
12
- # The description of the tag.
12
+ # **[Required]** The description you assign to the tag during creation.
13
13
  # @return [String]
14
14
  attr_accessor :description
15
15
 
16
- # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
17
- # Example: `{\"bar-key\": \"value\"}`
16
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
17
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
18
+ # Example: `{\"Department\": \"Finance\"}`
18
19
  #
19
20
  # @return [Hash<String, String>]
20
21
  attr_accessor :freeform_tags
21
22
 
22
- # Usage of predefined tag keys. These predefined keys are scoped to namespaces.
23
- # Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
23
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
24
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
25
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
24
26
  #
25
27
  # @return [Hash<String, Hash<String, Object>>]
26
28
  attr_accessor :defined_tags
@@ -28,6 +30,10 @@ module OCI
28
30
 
29
31
  # Initializes the object
30
32
  # @param [Hash] attributes Model attributes in the form of hash
33
+ # @option attributes [String] :name The value to assign to the {#name} property
34
+ # @option attributes [String] :description The value to assign to the {#description} property
35
+ # @option attributes [Hash<String, String>] :freeformTags The value to assign to the {#freeform_tags} property
36
+ # @option attributes [Hash<String, Hash<String, Object>>] :definedTags The value to assign to the {#defined_tags} property
31
37
  def initialize(attributes = {})
32
38
  return unless attributes.is_a?(Hash)
33
39
 
@@ -4,27 +4,29 @@ require 'date'
4
4
 
5
5
  module OCI
6
6
  class Identity::Models::CreateTagNamespaceDetails
7
- # The OCID of the tenancy containing the user.
7
+ # **[Required]** The OCID of the tenancy containing the tag namespace.
8
8
  # @return [String]
9
9
  attr_accessor :compartment_id
10
10
 
11
- # The name of the tagNamespace. It must be unique across all tagNamespaces in the tenancy and cannot be changed.
11
+ # **[Required]** The name you assign to the tag namespace during creation. It must be unique across all tag namespaces in the tenancy and cannot be changed.
12
12
  #
13
13
  # @return [String]
14
14
  attr_accessor :name
15
15
 
16
- # The description of the tagNamespace.
16
+ # **[Required]** The description you assign to the tag namespace during creation.
17
17
  # @return [String]
18
18
  attr_accessor :description
19
19
 
20
- # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
21
- # Example: `{\"bar-key\": \"value\"}`
20
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
21
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
22
+ # Example: `{\"Department\": \"Finance\"}`
22
23
  #
23
24
  # @return [Hash<String, String>]
24
25
  attr_accessor :freeform_tags
25
26
 
26
- # Usage of predefined tag keys. These predefined keys are scoped to namespaces.
27
- # Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
27
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
28
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
29
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
28
30
  #
29
31
  # @return [Hash<String, Hash<String, Object>>]
30
32
  attr_accessor :defined_tags
@@ -32,6 +34,11 @@ module OCI
32
34
 
33
35
  # Initializes the object
34
36
  # @param [Hash] attributes Model attributes in the form of hash
37
+ # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
38
+ # @option attributes [String] :name The value to assign to the {#name} property
39
+ # @option attributes [String] :description The value to assign to the {#description} property
40
+ # @option attributes [Hash<String, String>] :freeformTags The value to assign to the {#freeform_tags} property
41
+ # @option attributes [Hash<String, Hash<String, Object>>] :definedTags The value to assign to the {#defined_tags} property
35
42
  def initialize(attributes = {})
36
43
  return unless attributes.is_a?(Hash)
37
44
 
@@ -4,28 +4,30 @@ require 'date'
4
4
 
5
5
  module OCI
6
6
  class Identity::Models::CreateUserDetails
7
- # The OCID of the tenancy containing the user.
7
+ # **[Required]** The OCID of the tenancy containing the user.
8
8
  # @return [String]
9
9
  attr_accessor :compartment_id
10
10
 
11
- # The name you assign to the user during creation. This is the user's login for the Console.
11
+ # **[Required]** The name you assign to the user during creation. This is the user's login for the Console.
12
12
  # The name must be unique across all users in the tenancy and cannot be changed.
13
13
  #
14
14
  # @return [String]
15
15
  attr_accessor :name
16
16
 
17
- # The description you assign to the user during creation. Does not have to be unique, and it's changeable.
17
+ # **[Required]** The description you assign to the user during creation. Does not have to be unique, and it's changeable.
18
18
  # @return [String]
19
19
  attr_accessor :description
20
20
 
21
- # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
22
- # Example: `{\"bar-key\": \"value\"}`
21
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
22
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
23
+ # Example: `{\"Department\": \"Finance\"}`
23
24
  #
24
25
  # @return [Hash<String, String>]
25
26
  attr_accessor :freeform_tags
26
27
 
27
- # Usage of predefined tag keys. These predefined keys are scoped to namespaces.
28
- # Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
28
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
29
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
30
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
29
31
  #
30
32
  # @return [Hash<String, Hash<String, Object>>]
31
33
  attr_accessor :defined_tags
@@ -33,6 +35,11 @@ module OCI
33
35
 
34
36
  # Initializes the object
35
37
  # @param [Hash] attributes Model attributes in the form of hash
38
+ # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
39
+ # @option attributes [String] :name The value to assign to the {#name} property
40
+ # @option attributes [String] :description The value to assign to the {#description} property
41
+ # @option attributes [Hash<String, String>] :freeformTags The value to assign to the {#freeform_tags} property
42
+ # @option attributes [Hash<String, Hash<String, Object>>] :definedTags The value to assign to the {#defined_tags} property
36
43
  def initialize(attributes = {})
37
44
  return unless attributes.is_a?(Hash)
38
45
 
@@ -3,6 +3,14 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
+ # A `CustomerSecretKey` is an Oracle-provided key for using the Object Storage Service's
7
+ # [Amazon S3 compatible API](https://docs.us-phoenix-1.oraclecloud.com/Content/Object/Tasks/s3compatibleapi.htm).
8
+ # A user can have up to two secret keys at a time.
9
+ #
10
+ # **Note:** The secret key is always an Oracle-generated string; you can't change it to a string of your choice.
11
+ #
12
+ # For more information, see [Managing User Credentials](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Tasks/managingcredentials.htm).
13
+ #
6
14
  class Identity::Models::CustomerSecretKey
7
15
 
8
16
  LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
@@ -57,6 +65,14 @@ module OCI
57
65
 
58
66
  # Initializes the object
59
67
  # @param [Hash] attributes Model attributes in the form of hash
68
+ # @option attributes [String] :key The value to assign to the {#key} property
69
+ # @option attributes [String] :id The value to assign to the {#id} property
70
+ # @option attributes [String] :userId The value to assign to the {#user_id} property
71
+ # @option attributes [String] :displayName The value to assign to the {#display_name} property
72
+ # @option attributes [DateTime] :timeCreated The value to assign to the {#time_created} property
73
+ # @option attributes [DateTime] :timeExpires The value to assign to the {#time_expires} property
74
+ # @option attributes [String] :lifecycleState The value to assign to the {#lifecycle_state} property
75
+ # @option attributes [Integer] :inactiveStatus The value to assign to the {#inactive_status} property
60
76
  def initialize(attributes = {})
61
77
  return unless attributes.is_a?(Hash)
62
78
 
@@ -3,6 +3,9 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
+ # As the name suggests, a `CustomerSecretKeySummary` object contains information about a `CustomerSecretKey`.
7
+ # A `CustomerSecretKey` is an Oracle-provided key for using the Object Storage Service's Amazon S3 compatible API.
8
+ #
6
9
  class Identity::Models::CustomerSecretKeySummary
7
10
 
8
11
  LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
@@ -52,6 +55,13 @@ module OCI
52
55
 
53
56
  # Initializes the object
54
57
  # @param [Hash] attributes Model attributes in the form of hash
58
+ # @option attributes [String] :id The value to assign to the {#id} property
59
+ # @option attributes [String] :userId The value to assign to the {#user_id} property
60
+ # @option attributes [String] :displayName The value to assign to the {#display_name} property
61
+ # @option attributes [DateTime] :timeCreated The value to assign to the {#time_created} property
62
+ # @option attributes [DateTime] :timeExpires The value to assign to the {#time_expires} property
63
+ # @option attributes [String] :lifecycleState The value to assign to the {#lifecycle_state} property
64
+ # @option attributes [Integer] :inactiveStatus The value to assign to the {#inactive_status} property
55
65
  def initialize(attributes = {})
56
66
  return unless attributes.is_a?(Hash)
57
67
 
@@ -0,0 +1,239 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ # An dynamic group defines a matching rule. Every bare metal/vm instance is deployed with an instance certificate.
7
+ # The certificate contains metadata about the instance. It contains the instance OCID and the compartment OCID, along
8
+ # with a few other optional properties. When an API call is made using this instance certificate as the authenticator,
9
+ # the certificate may be matched to one or multiple dynamic groups. Depending on policies written against these
10
+ # dynamic groups, the instance will get access to that API.
11
+ #
12
+ # This works like regular user/group memebership. But in that case the membership is a static relationship, whereas
13
+ # in dynamic group, the membership of an instance certificate to dynamic groups are determined during runtime.
14
+ #
15
+ class Identity::Models::DynamicGroup
16
+
17
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
18
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE',
19
+ LIFECYCLE_STATE_INACTIVE = 'INACTIVE',
20
+ LIFECYCLE_STATE_DELETING = 'DELETING',
21
+ LIFECYCLE_STATE_DELETED = 'DELETED',
22
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
23
+
24
+ # **[Required]** The OCID of the group.
25
+ # @return [String]
26
+ attr_accessor :id
27
+
28
+ # **[Required]** The OCID of the tenancy containing the group.
29
+ # @return [String]
30
+ attr_accessor :compartment_id
31
+
32
+ # **[Required]** The name you assign to the group during creation. The name must be unique across all groups in
33
+ # the tenancy and cannot be changed.
34
+ #
35
+ # @return [String]
36
+ attr_accessor :name
37
+
38
+ # **[Required]** The description you assign to the group. Does not have to be unique, and it's changeable.
39
+ # @return [String]
40
+ attr_accessor :description
41
+
42
+ # **[Required]** A rule string that defines which instance certificates will be matched.
43
+ # @return [String]
44
+ attr_accessor :matching_rule
45
+
46
+ # **[Required]** Date and time the group was created, in the format defined by RFC3339.
47
+ #
48
+ # Example: `2016-08-25T21:10:29.600Z`
49
+ #
50
+ # @return [DateTime]
51
+ attr_accessor :time_created
52
+
53
+ # **[Required]** The group's current state. After creating a group, make sure its `lifecycleState` changes from CREATING to
54
+ # ACTIVE before using it.
55
+ #
56
+ # @return [String]
57
+ attr_accessor :lifecycle_state
58
+
59
+ # The detailed status of INACTIVE lifecycleState.
60
+ # @return [Integer]
61
+ attr_accessor :inactive_status
62
+
63
+
64
+ # Initializes the object
65
+ # @param [Hash] attributes Model attributes in the form of hash
66
+ # @option attributes [String] :id The value to assign to the {#id} property
67
+ # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
68
+ # @option attributes [String] :name The value to assign to the {#name} property
69
+ # @option attributes [String] :description The value to assign to the {#description} property
70
+ # @option attributes [String] :matchingRule The value to assign to the {#matching_rule} property
71
+ # @option attributes [DateTime] :timeCreated The value to assign to the {#time_created} property
72
+ # @option attributes [String] :lifecycleState The value to assign to the {#lifecycle_state} property
73
+ # @option attributes [Integer] :inactiveStatus The value to assign to the {#inactive_status} property
74
+ def initialize(attributes = {})
75
+ return unless attributes.is_a?(Hash)
76
+
77
+ # convert string to symbol for hash key
78
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
79
+
80
+ if attributes[:'id']
81
+ self.id = attributes[:'id']
82
+ end
83
+
84
+ if attributes[:'compartmentId']
85
+ self.compartment_id = attributes[:'compartmentId']
86
+ end
87
+
88
+ if attributes[:'name']
89
+ self.name = attributes[:'name']
90
+ end
91
+
92
+ if attributes[:'description']
93
+ self.description = attributes[:'description']
94
+ end
95
+
96
+ if attributes[:'matchingRule']
97
+ self.matching_rule = attributes[:'matchingRule']
98
+ end
99
+
100
+ if attributes[:'timeCreated']
101
+ self.time_created = attributes[:'timeCreated']
102
+ end
103
+
104
+ if attributes[:'lifecycleState']
105
+ self.lifecycle_state = attributes[:'lifecycleState']
106
+ end
107
+
108
+ if attributes[:'inactiveStatus']
109
+ self.inactive_status = attributes[:'inactiveStatus']
110
+ end
111
+
112
+ end
113
+
114
+ # Custom attribute writer method checking allowed values (enum).
115
+ # @param [Object] lifecycle_state Object to be assigned
116
+ def lifecycle_state=(lifecycle_state)
117
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
118
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
119
+ else
120
+ @lifecycle_state = lifecycle_state
121
+ end
122
+ end
123
+
124
+ # Checks equality by comparing each attribute.
125
+ # @param [Object] other_object to be compared
126
+ def ==(other_object)
127
+ return true if self.equal?(other_object)
128
+ self.class == other_object.class &&
129
+ id == other_object.id &&
130
+ compartment_id == other_object.compartment_id &&
131
+ name == other_object.name &&
132
+ description == other_object.description &&
133
+ matching_rule == other_object.matching_rule &&
134
+ time_created == other_object.time_created &&
135
+ lifecycle_state == other_object.lifecycle_state &&
136
+ inactive_status == other_object.inactive_status
137
+ end
138
+
139
+ # @see the `==` method
140
+ # @param [Object] other_object to be compared
141
+ def eql?(other_object)
142
+ self == other_object
143
+ end
144
+
145
+ # Calculates hash code according to all attributes.
146
+ # @return [Fixnum] Hash code
147
+ def hash
148
+ [id, compartment_id, name, description, matching_rule, time_created, lifecycle_state, inactive_status].hash
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ self.class.swagger_types.each_pair do |key, type|
157
+ if type =~ /^Array<(.*)>/i
158
+ # check to ensure the input is an array given that the the attribute
159
+ # is documented as an array but the input is not
160
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
161
+ self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
162
+ end
163
+ elsif !attributes[self.class.attribute_map[key]].nil?
164
+ self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
165
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
166
+ end
167
+
168
+ self
169
+ end
170
+
171
+ # Returns the string representation of the object
172
+ # @return [String] String presentation of the object
173
+ def to_s
174
+ to_hash.to_s
175
+ end
176
+
177
+ # Returns the object in the form of hash
178
+ # @return [Hash] Returns the object in the form of hash
179
+ def to_hash
180
+ hash = {}
181
+ self.class.attribute_map.each_pair do |attr, param|
182
+ value = public_method(attr).call
183
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ private
190
+
191
+ # Outputs non-array value in the form of hash
192
+ # For object, use to_hash. Otherwise, just return the value
193
+ # @param [Object] value Any valid value
194
+ # @return [Hash] Returns the value in the form of hash
195
+ def _to_hash(value)
196
+ if value.is_a?(Array)
197
+ value.compact.map{ |v| _to_hash(v) }
198
+ elsif value.is_a?(Hash)
199
+ {}.tap do |hash|
200
+ value.each { |k, v| hash[k] = _to_hash(v) }
201
+ end
202
+ elsif value.respond_to? :to_hash
203
+ value.to_hash
204
+ else
205
+ value
206
+ end
207
+ end
208
+
209
+
210
+
211
+ # Attribute mapping from ruby-style variable name to JSON key.
212
+ def self.attribute_map
213
+ {
214
+ :'id' => :'id',
215
+ :'compartment_id' => :'compartmentId',
216
+ :'name' => :'name',
217
+ :'description' => :'description',
218
+ :'matching_rule' => :'matchingRule',
219
+ :'time_created' => :'timeCreated',
220
+ :'lifecycle_state' => :'lifecycleState',
221
+ :'inactive_status' => :'inactiveStatus'
222
+ }
223
+ end
224
+
225
+ # Attribute type mapping.
226
+ def self.swagger_types
227
+ {
228
+ :'id' => :'String',
229
+ :'compartment_id' => :'String',
230
+ :'name' => :'String',
231
+ :'description' => :'String',
232
+ :'matching_rule' => :'String',
233
+ :'time_created' => :'DateTime',
234
+ :'lifecycle_state' => :'String',
235
+ :'inactive_status' => :'Integer'
236
+ }
237
+ end
238
+ end
239
+ end