oci 2.0.5 → 2.0.6

Sign up to get free protection for your applications and to get access to all the features.
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