oci 2.0.4 → 2.0.5

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 (296) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +3 -3
  3. data/README.md +72 -6
  4. data/lib/oci.rb +1 -1
  5. data/lib/oci/api_client.rb +1 -1
  6. data/lib/oci/audit/audit.rb +1 -1
  7. data/lib/oci/audit/audit_client.rb +1 -1
  8. data/lib/oci/audit/models/audit_event.rb +4 -4
  9. data/lib/oci/audit/models/configuration.rb +4 -4
  10. data/lib/oci/audit/models/update_configuration_details.rb +4 -4
  11. data/lib/oci/audit/util.rb +2 -1
  12. data/lib/oci/config.rb +1 -1
  13. data/lib/oci/config_file_loader.rb +1 -1
  14. data/lib/oci/core/blockstorage_client.rb +1 -1
  15. data/lib/oci/core/compute_client.rb +4 -2
  16. data/lib/oci/core/core.rb +2 -1
  17. data/lib/oci/core/models/attach_boot_volume_details.rb +4 -4
  18. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +4 -4
  19. data/lib/oci/core/models/attach_vnic_details.rb +4 -4
  20. data/lib/oci/core/models/attach_volume_details.rb +4 -4
  21. data/lib/oci/core/models/boot_volume.rb +4 -4
  22. data/lib/oci/core/models/boot_volume_attachment.rb +4 -4
  23. data/lib/oci/core/models/bulk_add_virtual_circuit_public_prefixes_details.rb +4 -4
  24. data/lib/oci/core/models/bulk_delete_virtual_circuit_public_prefixes_details.rb +4 -4
  25. data/lib/oci/core/models/capture_console_history_details.rb +36 -5
  26. data/lib/oci/core/models/connect_local_peering_gateways_details.rb +4 -4
  27. data/lib/oci/core/models/console_history.rb +36 -6
  28. data/lib/oci/core/models/cpe.rb +4 -4
  29. data/lib/oci/core/models/create_cpe_details.rb +4 -4
  30. data/lib/oci/core/models/create_cross_connect_details.rb +4 -4
  31. data/lib/oci/core/models/create_cross_connect_group_details.rb +4 -4
  32. data/lib/oci/core/models/create_dhcp_details.rb +36 -5
  33. data/lib/oci/core/models/create_drg_attachment_details.rb +4 -4
  34. data/lib/oci/core/models/create_drg_details.rb +4 -4
  35. data/lib/oci/core/models/create_image_details.rb +69 -8
  36. data/lib/oci/core/models/create_instance_console_connection_details.rb +36 -5
  37. data/lib/oci/core/models/create_internet_gateway_details.rb +4 -4
  38. data/lib/oci/core/models/create_ip_sec_connection_details.rb +4 -4
  39. data/lib/oci/core/models/create_local_peering_gateway_details.rb +4 -4
  40. data/lib/oci/core/models/create_private_ip_details.rb +36 -5
  41. data/lib/oci/core/models/create_route_table_details.rb +36 -5
  42. data/lib/oci/core/models/create_security_list_details.rb +36 -5
  43. data/lib/oci/core/models/create_subnet_details.rb +36 -5
  44. data/lib/oci/core/models/create_vcn_details.rb +39 -8
  45. data/lib/oci/core/models/create_virtual_circuit_details.rb +4 -4
  46. data/lib/oci/core/models/create_virtual_circuit_public_prefix_details.rb +4 -4
  47. data/lib/oci/core/models/create_vnic_details.rb +4 -4
  48. data/lib/oci/core/models/create_volume_backup_details.rb +36 -5
  49. data/lib/oci/core/models/create_volume_details.rb +36 -5
  50. data/lib/oci/core/models/cross_connect.rb +4 -4
  51. data/lib/oci/core/models/cross_connect_group.rb +4 -4
  52. data/lib/oci/core/models/cross_connect_location.rb +4 -4
  53. data/lib/oci/core/models/cross_connect_mapping.rb +4 -4
  54. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +4 -4
  55. data/lib/oci/core/models/cross_connect_status.rb +4 -4
  56. data/lib/oci/core/models/delete_virtual_circuit_public_prefix_details.rb +4 -4
  57. data/lib/oci/core/models/dhcp_dns_option.rb +4 -4
  58. data/lib/oci/core/models/dhcp_option.rb +4 -4
  59. data/lib/oci/core/models/dhcp_options.rb +36 -5
  60. data/lib/oci/core/models/dhcp_search_domain_option.rb +4 -4
  61. data/lib/oci/core/models/drg.rb +4 -4
  62. data/lib/oci/core/models/drg_attachment.rb +4 -4
  63. data/lib/oci/core/models/egress_security_rule.rb +4 -4
  64. data/lib/oci/core/models/export_image_details.rb +4 -4
  65. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +4 -4
  66. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +4 -4
  67. data/lib/oci/core/models/fast_connect_provider_service.rb +4 -4
  68. data/lib/oci/core/models/i_scsi_volume_attachment.rb +4 -4
  69. data/lib/oci/core/models/icmp_options.rb +4 -4
  70. data/lib/oci/core/models/image.rb +77 -6
  71. data/lib/oci/core/models/image_source_details.rb +32 -5
  72. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +8 -5
  73. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +8 -5
  74. data/lib/oci/core/models/ingress_security_rule.rb +4 -4
  75. data/lib/oci/core/models/instance.rb +77 -5
  76. data/lib/oci/core/models/instance_console_connection.rb +52 -8
  77. data/lib/oci/core/models/instance_credentials.rb +4 -4
  78. data/lib/oci/core/models/instance_source_details.rb +4 -4
  79. data/lib/oci/core/models/instance_source_via_boot_volume_details.rb +4 -4
  80. data/lib/oci/core/models/instance_source_via_image_details.rb +4 -4
  81. data/lib/oci/core/models/internet_gateway.rb +4 -4
  82. data/lib/oci/core/models/ip_sec_connection.rb +4 -4
  83. data/lib/oci/core/models/ip_sec_connection_device_config.rb +4 -4
  84. data/lib/oci/core/models/ip_sec_connection_device_status.rb +4 -4
  85. data/lib/oci/core/models/launch_instance_details.rb +39 -6
  86. data/lib/oci/core/models/launch_options.rb +239 -0
  87. data/lib/oci/core/models/letter_of_authority.rb +4 -4
  88. data/lib/oci/core/models/local_peering_gateway.rb +4 -4
  89. data/lib/oci/core/models/port_range.rb +4 -4
  90. data/lib/oci/core/models/private_ip.rb +36 -5
  91. data/lib/oci/core/models/route_rule.rb +4 -4
  92. data/lib/oci/core/models/route_table.rb +36 -5
  93. data/lib/oci/core/models/security_list.rb +36 -5
  94. data/lib/oci/core/models/shape.rb +4 -4
  95. data/lib/oci/core/models/subnet.rb +36 -5
  96. data/lib/oci/core/models/tcp_options.rb +4 -4
  97. data/lib/oci/core/models/tunnel_config.rb +4 -4
  98. data/lib/oci/core/models/tunnel_status.rb +4 -4
  99. data/lib/oci/core/models/udp_options.rb +4 -4
  100. data/lib/oci/core/models/update_boot_volume_details.rb +4 -4
  101. data/lib/oci/core/models/update_console_history_details.rb +39 -8
  102. data/lib/oci/core/models/update_cpe_details.rb +4 -4
  103. data/lib/oci/core/models/update_cross_connect_details.rb +4 -4
  104. data/lib/oci/core/models/update_cross_connect_group_details.rb +4 -4
  105. data/lib/oci/core/models/update_dhcp_details.rb +36 -5
  106. data/lib/oci/core/models/update_drg_attachment_details.rb +4 -4
  107. data/lib/oci/core/models/update_drg_details.rb +4 -4
  108. data/lib/oci/core/models/update_image_details.rb +39 -8
  109. data/lib/oci/core/models/update_instance_details.rb +39 -8
  110. data/lib/oci/core/models/update_internet_gateway_details.rb +4 -4
  111. data/lib/oci/core/models/update_ip_sec_connection_details.rb +4 -4
  112. data/lib/oci/core/models/update_local_peering_gateway_details.rb +4 -4
  113. data/lib/oci/core/models/update_private_ip_details.rb +36 -5
  114. data/lib/oci/core/models/update_route_table_details.rb +36 -5
  115. data/lib/oci/core/models/update_security_list_details.rb +36 -5
  116. data/lib/oci/core/models/update_subnet_details.rb +39 -8
  117. data/lib/oci/core/models/update_vcn_details.rb +39 -8
  118. data/lib/oci/core/models/update_virtual_circuit_details.rb +4 -4
  119. data/lib/oci/core/models/update_vnic_details.rb +4 -4
  120. data/lib/oci/core/models/update_volume_backup_details.rb +39 -8
  121. data/lib/oci/core/models/update_volume_details.rb +39 -8
  122. data/lib/oci/core/models/vcn.rb +36 -5
  123. data/lib/oci/core/models/virtual_circuit.rb +4 -4
  124. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +4 -4
  125. data/lib/oci/core/models/virtual_circuit_public_prefix.rb +4 -4
  126. data/lib/oci/core/models/vnic.rb +4 -4
  127. data/lib/oci/core/models/vnic_attachment.rb +4 -4
  128. data/lib/oci/core/models/volume.rb +36 -5
  129. data/lib/oci/core/models/volume_attachment.rb +4 -4
  130. data/lib/oci/core/models/volume_backup.rb +36 -5
  131. data/lib/oci/core/models/volume_source_details.rb +4 -4
  132. data/lib/oci/core/models/volume_source_from_volume_backup_details.rb +4 -4
  133. data/lib/oci/core/models/volume_source_from_volume_details.rb +4 -4
  134. data/lib/oci/core/util.rb +2 -1
  135. data/lib/oci/core/virtual_network_client.rb +1 -1
  136. data/lib/oci/database/database.rb +1 -1
  137. data/lib/oci/database/database_client.rb +1 -1
  138. data/lib/oci/database/models/backup.rb +4 -4
  139. data/lib/oci/database/models/backup_summary.rb +4 -4
  140. data/lib/oci/database/models/create_backup_details.rb +4 -4
  141. data/lib/oci/database/models/create_data_guard_association_details.rb +4 -4
  142. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +4 -4
  143. data/lib/oci/database/models/create_database_details.rb +4 -4
  144. data/lib/oci/database/models/create_database_from_backup_details.rb +4 -4
  145. data/lib/oci/database/models/create_db_home_details.rb +4 -4
  146. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +4 -4
  147. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +4 -4
  148. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +4 -4
  149. data/lib/oci/database/models/data_guard_association.rb +4 -4
  150. data/lib/oci/database/models/data_guard_association_summary.rb +4 -4
  151. data/lib/oci/database/models/database.rb +4 -4
  152. data/lib/oci/database/models/database_summary.rb +4 -4
  153. data/lib/oci/database/models/db_backup_config.rb +4 -4
  154. data/lib/oci/database/models/db_home.rb +4 -4
  155. data/lib/oci/database/models/db_home_summary.rb +4 -4
  156. data/lib/oci/database/models/db_node.rb +4 -4
  157. data/lib/oci/database/models/db_node_summary.rb +4 -4
  158. data/lib/oci/database/models/db_system.rb +4 -4
  159. data/lib/oci/database/models/db_system_shape_summary.rb +4 -4
  160. data/lib/oci/database/models/db_system_summary.rb +4 -4
  161. data/lib/oci/database/models/db_version_summary.rb +4 -4
  162. data/lib/oci/database/models/failover_data_guard_association_details.rb +4 -4
  163. data/lib/oci/database/models/launch_db_system_details.rb +4 -4
  164. data/lib/oci/database/models/patch.rb +4 -4
  165. data/lib/oci/database/models/patch_details.rb +4 -4
  166. data/lib/oci/database/models/patch_history_entry.rb +4 -4
  167. data/lib/oci/database/models/patch_history_entry_summary.rb +4 -4
  168. data/lib/oci/database/models/patch_summary.rb +4 -4
  169. data/lib/oci/database/models/reinstate_data_guard_association_details.rb +4 -4
  170. data/lib/oci/database/models/restore_database_details.rb +4 -4
  171. data/lib/oci/database/models/switchover_data_guard_association_details.rb +4 -4
  172. data/lib/oci/database/models/update_database_details.rb +4 -4
  173. data/lib/oci/database/models/update_db_home_details.rb +4 -4
  174. data/lib/oci/database/models/update_db_system_details.rb +4 -4
  175. data/lib/oci/database/util.rb +2 -1
  176. data/lib/oci/errors.rb +1 -1
  177. data/lib/oci/global_context.rb +1 -1
  178. data/lib/oci/identity/identity.rb +9 -1
  179. data/lib/oci/identity/identity_client.rb +339 -1
  180. data/lib/oci/identity/models/add_user_to_group_details.rb +4 -4
  181. data/lib/oci/identity/models/api_key.rb +4 -4
  182. data/lib/oci/identity/models/availability_domain.rb +4 -4
  183. data/lib/oci/identity/models/compartment.rb +34 -8
  184. data/lib/oci/identity/models/create_api_key_details.rb +4 -4
  185. data/lib/oci/identity/models/create_compartment_details.rb +34 -8
  186. data/lib/oci/identity/models/create_customer_secret_key_details.rb +4 -4
  187. data/lib/oci/identity/models/create_group_details.rb +34 -8
  188. data/lib/oci/identity/models/create_identity_provider_details.rb +34 -8
  189. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +4 -4
  190. data/lib/oci/identity/models/create_policy_details.rb +34 -8
  191. data/lib/oci/identity/models/create_region_subscription_details.rb +4 -4
  192. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +11 -5
  193. data/lib/oci/identity/models/create_swift_password_details.rb +4 -4
  194. data/lib/oci/identity/models/create_tag_details.rb +158 -0
  195. data/lib/oci/identity/models/create_tag_namespace_details.rb +169 -0
  196. data/lib/oci/identity/models/create_user_details.rb +34 -8
  197. data/lib/oci/identity/models/customer_secret_key.rb +4 -4
  198. data/lib/oci/identity/models/customer_secret_key_summary.rb +4 -4
  199. data/lib/oci/identity/models/group.rb +35 -8
  200. data/lib/oci/identity/models/identity_provider.rb +34 -8
  201. data/lib/oci/identity/models/idp_group_mapping.rb +4 -4
  202. data/lib/oci/identity/models/policy.rb +34 -8
  203. data/lib/oci/identity/models/region.rb +4 -4
  204. data/lib/oci/identity/models/region_subscription.rb +4 -4
  205. data/lib/oci/identity/models/saml2_identity_provider.rb +11 -5
  206. data/lib/oci/identity/models/swift_password.rb +4 -4
  207. data/lib/oci/identity/models/tag.rb +228 -0
  208. data/lib/oci/identity/models/tag_namespace.rb +205 -0
  209. data/lib/oci/identity/models/tag_namespace_summary.rb +205 -0
  210. data/lib/oci/identity/models/tag_summary.rb +205 -0
  211. data/lib/oci/identity/models/tenancy.rb +34 -8
  212. data/lib/oci/identity/models/ui_password.rb +4 -4
  213. data/lib/oci/identity/models/update_compartment_details.rb +34 -8
  214. data/lib/oci/identity/models/update_customer_secret_key_details.rb +4 -4
  215. data/lib/oci/identity/models/update_group_details.rb +34 -8
  216. data/lib/oci/identity/models/update_identity_provider_details.rb +34 -8
  217. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +4 -4
  218. data/lib/oci/identity/models/update_policy_details.rb +34 -8
  219. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +11 -5
  220. data/lib/oci/identity/models/update_state_details.rb +4 -4
  221. data/lib/oci/identity/models/update_swift_password_details.rb +4 -4
  222. data/lib/oci/identity/models/update_tag_details.rb +157 -0
  223. data/lib/oci/identity/models/update_tag_namespace_details.rb +157 -0
  224. data/lib/oci/identity/models/update_user_details.rb +34 -8
  225. data/lib/oci/identity/models/user.rb +35 -8
  226. data/lib/oci/identity/models/user_group_membership.rb +4 -4
  227. data/lib/oci/identity/util.rb +2 -1
  228. data/lib/oci/internal/internal.rb +1 -1
  229. data/lib/oci/internal/util.rb +2 -2
  230. data/lib/oci/load_balancer/load_balancer.rb +1 -1
  231. data/lib/oci/load_balancer/load_balancer_client.rb +1 -1
  232. data/lib/oci/load_balancer/models/backend.rb +4 -4
  233. data/lib/oci/load_balancer/models/backend_details.rb +4 -4
  234. data/lib/oci/load_balancer/models/backend_health.rb +4 -4
  235. data/lib/oci/load_balancer/models/backend_set.rb +4 -4
  236. data/lib/oci/load_balancer/models/backend_set_details.rb +4 -4
  237. data/lib/oci/load_balancer/models/backend_set_health.rb +4 -4
  238. data/lib/oci/load_balancer/models/certificate.rb +4 -4
  239. data/lib/oci/load_balancer/models/certificate_details.rb +4 -4
  240. data/lib/oci/load_balancer/models/create_backend_details.rb +4 -4
  241. data/lib/oci/load_balancer/models/create_backend_set_details.rb +4 -4
  242. data/lib/oci/load_balancer/models/create_certificate_details.rb +4 -4
  243. data/lib/oci/load_balancer/models/create_listener_details.rb +4 -4
  244. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +4 -4
  245. data/lib/oci/load_balancer/models/health_check_result.rb +4 -4
  246. data/lib/oci/load_balancer/models/health_checker.rb +4 -4
  247. data/lib/oci/load_balancer/models/health_checker_details.rb +4 -4
  248. data/lib/oci/load_balancer/models/ip_address.rb +4 -4
  249. data/lib/oci/load_balancer/models/listener.rb +4 -4
  250. data/lib/oci/load_balancer/models/listener_details.rb +4 -4
  251. data/lib/oci/load_balancer/models/load_balancer.rb +4 -4
  252. data/lib/oci/load_balancer/models/load_balancer_health.rb +4 -4
  253. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +4 -4
  254. data/lib/oci/load_balancer/models/load_balancer_policy.rb +4 -4
  255. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +4 -4
  256. data/lib/oci/load_balancer/models/load_balancer_shape.rb +4 -4
  257. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +4 -4
  258. data/lib/oci/load_balancer/models/ssl_configuration.rb +4 -4
  259. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +4 -4
  260. data/lib/oci/load_balancer/models/update_backend_details.rb +4 -4
  261. data/lib/oci/load_balancer/models/update_backend_set_details.rb +4 -4
  262. data/lib/oci/load_balancer/models/update_health_checker_details.rb +4 -4
  263. data/lib/oci/load_balancer/models/update_listener_details.rb +4 -4
  264. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +4 -4
  265. data/lib/oci/load_balancer/models/work_request.rb +4 -4
  266. data/lib/oci/load_balancer/models/work_request_error.rb +4 -4
  267. data/lib/oci/load_balancer/util.rb +1 -1
  268. data/lib/oci/object_storage/models/bucket.rb +4 -4
  269. data/lib/oci/object_storage/models/bucket_summary.rb +4 -4
  270. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +4 -4
  271. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +4 -4
  272. data/lib/oci/object_storage/models/create_bucket_details.rb +4 -4
  273. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +4 -4
  274. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +4 -4
  275. data/lib/oci/object_storage/models/list_objects.rb +4 -4
  276. data/lib/oci/object_storage/models/multipart_upload.rb +4 -4
  277. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +4 -4
  278. data/lib/oci/object_storage/models/namespace_metadata.rb +4 -4
  279. data/lib/oci/object_storage/models/object_summary.rb +4 -4
  280. data/lib/oci/object_storage/models/preauthenticated_request.rb +4 -4
  281. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +4 -4
  282. data/lib/oci/object_storage/models/rename_object_details.rb +4 -4
  283. data/lib/oci/object_storage/models/restore_objects_details.rb +4 -4
  284. data/lib/oci/object_storage/models/update_bucket_details.rb +4 -4
  285. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +4 -4
  286. data/lib/oci/object_storage/object_storage.rb +1 -1
  287. data/lib/oci/object_storage/object_storage_client.rb +1 -1
  288. data/lib/oci/object_storage/util.rb +2 -1
  289. data/lib/oci/regions.rb +1 -1
  290. data/lib/oci/response.rb +1 -1
  291. data/lib/oci/response_headers.rb +1 -1
  292. data/lib/oci/signer.rb +1 -1
  293. data/lib/oci/version.rb +2 -2
  294. data/lib/oci/waiter.rb +21 -5
  295. data/lib/oraclebmc.rb +1 -1
  296. metadata +11 -2
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
2
 
3
3
  require 'date'
4
4
 
@@ -74,10 +74,10 @@ module OCI
74
74
  # check to ensure the input is an array given that the the attribute
75
75
  # is documented as an array but the input is not
76
76
  if attributes[self.class.attribute_map[key]].is_a?(Array)
77
- self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
77
+ self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
78
78
  end
79
79
  elsif !attributes[self.class.attribute_map[key]].nil?
80
- self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
80
+ self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
81
81
  end # or else data not found in attributes(hash), not an issue as the data can be optional
82
82
  end
83
83
 
@@ -95,7 +95,7 @@ module OCI
95
95
  def to_hash
96
96
  hash = {}
97
97
  self.class.attribute_map.each_pair do |attr, param|
98
- value = public_send(attr)
98
+ value = public_method(attr).call
99
99
  next if value.nil? && !instance_variable_defined?("@#{attr}")
100
100
  hash[param] = _to_hash(value)
101
101
  end
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
2
 
3
3
  require 'date'
4
4
 
@@ -107,10 +107,10 @@ module OCI
107
107
  # check to ensure the input is an array given that the the attribute
108
108
  # is documented as an array but the input is not
109
109
  if attributes[self.class.attribute_map[key]].is_a?(Array)
110
- self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
110
+ self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
111
111
  end
112
112
  elsif !attributes[self.class.attribute_map[key]].nil?
113
- self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
113
+ self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
114
114
  end # or else data not found in attributes(hash), not an issue as the data can be optional
115
115
  end
116
116
 
@@ -128,7 +128,7 @@ module OCI
128
128
  def to_hash
129
129
  hash = {}
130
130
  self.class.attribute_map.each_pair do |attr, param|
131
- value = public_send(attr)
131
+ value = public_method(attr).call
132
132
  next if value.nil? && !instance_variable_defined?("@#{attr}")
133
133
  hash[param] = _to_hash(value)
134
134
  end
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
2
 
3
3
  require 'date'
4
4
  require_relative 'identity_provider'
@@ -64,6 +64,8 @@ module OCI
64
64
  lifecycle_state == other_object.lifecycle_state &&
65
65
  inactive_status == other_object.inactive_status &&
66
66
  protocol == other_object.protocol &&
67
+ freeform_tags == other_object.freeform_tags &&
68
+ defined_tags == other_object.defined_tags &&
67
69
  metadata_url == other_object.metadata_url &&
68
70
  signing_certificate == other_object.signing_certificate &&
69
71
  redirect_url == other_object.redirect_url
@@ -78,7 +80,7 @@ module OCI
78
80
  # Calculates hash code according to all attributes.
79
81
  # @return [Fixnum] Hash code
80
82
  def hash
81
- [id, compartment_id, name, description, product_type, time_created, lifecycle_state, inactive_status, protocol, metadata_url, signing_certificate, redirect_url].hash
83
+ [id, compartment_id, name, description, product_type, time_created, lifecycle_state, inactive_status, protocol, freeform_tags, defined_tags, metadata_url, signing_certificate, redirect_url].hash
82
84
  end
83
85
 
84
86
  # Builds the object from hash
@@ -91,10 +93,10 @@ module OCI
91
93
  # check to ensure the input is an array given that the the attribute
92
94
  # is documented as an array but the input is not
93
95
  if attributes[self.class.attribute_map[key]].is_a?(Array)
94
- self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
96
+ self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
95
97
  end
96
98
  elsif !attributes[self.class.attribute_map[key]].nil?
97
- self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
99
+ self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
98
100
  end # or else data not found in attributes(hash), not an issue as the data can be optional
99
101
  end
100
102
 
@@ -112,7 +114,7 @@ module OCI
112
114
  def to_hash
113
115
  hash = {}
114
116
  self.class.attribute_map.each_pair do |attr, param|
115
- value = public_send(attr)
117
+ value = public_method(attr).call
116
118
  next if value.nil? && !instance_variable_defined?("@#{attr}")
117
119
  hash[param] = _to_hash(value)
118
120
  end
@@ -153,6 +155,8 @@ module OCI
153
155
  :'lifecycle_state' => :'lifecycleState',
154
156
  :'inactive_status' => :'inactiveStatus',
155
157
  :'protocol' => :'protocol',
158
+ :'freeform_tags' => :'freeformTags',
159
+ :'defined_tags' => :'definedTags',
156
160
  :'metadata_url' => :'metadataUrl',
157
161
  :'signing_certificate' => :'signingCertificate',
158
162
  :'redirect_url' => :'redirectUrl'
@@ -171,6 +175,8 @@ module OCI
171
175
  :'lifecycle_state' => :'String',
172
176
  :'inactive_status' => :'Integer',
173
177
  :'protocol' => :'String',
178
+ :'freeform_tags' => :'Hash<String, String>',
179
+ :'defined_tags' => :'Hash<String, Hash<String, Object>>',
174
180
  :'metadata_url' => :'String',
175
181
  :'signing_certificate' => :'String',
176
182
  :'redirect_url' => :'String'
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
2
 
3
3
  require 'date'
4
4
 
@@ -145,10 +145,10 @@ module OCI
145
145
  # check to ensure the input is an array given that the the attribute
146
146
  # is documented as an array but the input is not
147
147
  if attributes[self.class.attribute_map[key]].is_a?(Array)
148
- self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
148
+ self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
149
149
  end
150
150
  elsif !attributes[self.class.attribute_map[key]].nil?
151
- self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
151
+ self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
152
152
  end # or else data not found in attributes(hash), not an issue as the data can be optional
153
153
  end
154
154
 
@@ -166,7 +166,7 @@ module OCI
166
166
  def to_hash
167
167
  hash = {}
168
168
  self.class.attribute_map.each_pair do |attr, param|
169
- value = public_send(attr)
169
+ value = public_method(attr).call
170
170
  next if value.nil? && !instance_variable_defined?("@#{attr}")
171
171
  hash[param] = _to_hash(value)
172
172
  end
@@ -0,0 +1,228 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Identity::Models::Tag
7
+ # The OCID of the compartment which the tagRule belongs to.
8
+ # @return [String]
9
+ attr_accessor :compartment_id
10
+
11
+ # The OCID of the containing tagNamespace.
12
+ # @return [String]
13
+ attr_accessor :tag_namespace_id
14
+
15
+ # The name of the tag namespace to which this tag belongs.
16
+ #
17
+ # @return [String]
18
+ attr_accessor :tag_namespace_name
19
+
20
+ # The OCID of the tag definition.
21
+ # @return [String]
22
+ attr_accessor :id
23
+
24
+ # The name of the tag which must be unique across all tags in the tagNamespace and cannot be changed.
25
+ #
26
+ # @return [String]
27
+ attr_accessor :name
28
+
29
+ # The description you assign to the tag.
30
+ # @return [String]
31
+ attr_accessor :description
32
+
33
+ # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
34
+ # Example: `{\"bar-key\": \"value\"}`
35
+ #
36
+ # @return [Hash<String, String>]
37
+ attr_accessor :freeform_tags
38
+
39
+ # Usage of predefined tag keys. These predefined keys are scoped to namespaces.
40
+ # Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
41
+ #
42
+ # @return [Hash<String, Hash<String, Object>>]
43
+ attr_accessor :defined_tags
44
+
45
+ # Indicated whether the tagNamespace is retired or not
46
+ #
47
+ # @return [BOOLEAN]
48
+ attr_accessor :is_retired
49
+
50
+ # Date and time the tag was created, in the format defined by RFC3339.
51
+ # Example: `2016-08-25T21:10:29.600Z`
52
+ #
53
+ # @return [DateTime]
54
+ attr_accessor :time_created
55
+
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ return unless attributes.is_a?(Hash)
61
+
62
+ # convert string to symbol for hash key
63
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
64
+
65
+ if attributes[:'compartmentId']
66
+ self.compartment_id = attributes[:'compartmentId']
67
+ end
68
+
69
+ if attributes[:'tagNamespaceId']
70
+ self.tag_namespace_id = attributes[:'tagNamespaceId']
71
+ end
72
+
73
+ if attributes[:'tagNamespaceName']
74
+ self.tag_namespace_name = attributes[:'tagNamespaceName']
75
+ end
76
+
77
+ if attributes[:'id']
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes[:'name']
82
+ self.name = attributes[:'name']
83
+ end
84
+
85
+ if attributes[:'description']
86
+ self.description = attributes[:'description']
87
+ end
88
+
89
+ if attributes[:'freeformTags']
90
+ self.freeform_tags = attributes[:'freeformTags']
91
+ end
92
+
93
+ if attributes[:'definedTags']
94
+ self.defined_tags = attributes[:'definedTags']
95
+ end
96
+
97
+ if attributes[:'isRetired']
98
+ self.is_retired = attributes[:'isRetired']
99
+ end
100
+
101
+ if attributes[:'timeCreated']
102
+ self.time_created = attributes[:'timeCreated']
103
+ end
104
+
105
+ end
106
+
107
+ # Checks equality by comparing each attribute.
108
+ # @param [Object] other_object to be compared
109
+ def ==(other_object)
110
+ return true if self.equal?(other_object)
111
+ self.class == other_object.class &&
112
+ compartment_id == other_object.compartment_id &&
113
+ tag_namespace_id == other_object.tag_namespace_id &&
114
+ tag_namespace_name == other_object.tag_namespace_name &&
115
+ id == other_object.id &&
116
+ name == other_object.name &&
117
+ description == other_object.description &&
118
+ freeform_tags == other_object.freeform_tags &&
119
+ defined_tags == other_object.defined_tags &&
120
+ is_retired == other_object.is_retired &&
121
+ time_created == other_object.time_created
122
+ end
123
+
124
+ # @see the `==` method
125
+ # @param [Object] other_object to be compared
126
+ def eql?(other_object)
127
+ self == other_object
128
+ end
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Fixnum] Hash code
132
+ def hash
133
+ [compartment_id, tag_namespace_id, tag_namespace_name, id, name, description, freeform_tags, defined_tags, is_retired, time_created].hash
134
+ end
135
+
136
+ # Builds the object from hash
137
+ # @param [Hash] attributes Model attributes in the form of hash
138
+ # @return [Object] Returns the model itself
139
+ def build_from_hash(attributes)
140
+ return nil unless attributes.is_a?(Hash)
141
+ self.class.swagger_types.each_pair do |key, type|
142
+ if type =~ /^Array<(.*)>/i
143
+ # check to ensure the input is an array given that the the attribute
144
+ # is documented as an array but the input is not
145
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
146
+ self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
147
+ end
148
+ elsif !attributes[self.class.attribute_map[key]].nil?
149
+ self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
150
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
151
+ end
152
+
153
+ self
154
+ end
155
+
156
+ # Returns the string representation of the object
157
+ # @return [String] String presentation of the object
158
+ def to_s
159
+ to_hash.to_s
160
+ end
161
+
162
+ # Returns the object in the form of hash
163
+ # @return [Hash] Returns the object in the form of hash
164
+ def to_hash
165
+ hash = {}
166
+ self.class.attribute_map.each_pair do |attr, param|
167
+ value = public_method(attr).call
168
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
169
+ hash[param] = _to_hash(value)
170
+ end
171
+ hash
172
+ end
173
+
174
+ private
175
+
176
+ # Outputs non-array value in the form of hash
177
+ # For object, use to_hash. Otherwise, just return the value
178
+ # @param [Object] value Any valid value
179
+ # @return [Hash] Returns the value in the form of hash
180
+ def _to_hash(value)
181
+ if value.is_a?(Array)
182
+ value.compact.map{ |v| _to_hash(v) }
183
+ elsif value.is_a?(Hash)
184
+ {}.tap do |hash|
185
+ value.each { |k, v| hash[k] = _to_hash(v) }
186
+ end
187
+ elsif value.respond_to? :to_hash
188
+ value.to_hash
189
+ else
190
+ value
191
+ end
192
+ end
193
+
194
+
195
+
196
+ # Attribute mapping from ruby-style variable name to JSON key.
197
+ def self.attribute_map
198
+ {
199
+ :'compartment_id' => :'compartmentId',
200
+ :'tag_namespace_id' => :'tagNamespaceId',
201
+ :'tag_namespace_name' => :'tagNamespaceName',
202
+ :'id' => :'id',
203
+ :'name' => :'name',
204
+ :'description' => :'description',
205
+ :'freeform_tags' => :'freeformTags',
206
+ :'defined_tags' => :'definedTags',
207
+ :'is_retired' => :'isRetired',
208
+ :'time_created' => :'timeCreated'
209
+ }
210
+ end
211
+
212
+ # Attribute type mapping.
213
+ def self.swagger_types
214
+ {
215
+ :'compartment_id' => :'String',
216
+ :'tag_namespace_id' => :'String',
217
+ :'tag_namespace_name' => :'String',
218
+ :'id' => :'String',
219
+ :'name' => :'String',
220
+ :'description' => :'String',
221
+ :'freeform_tags' => :'Hash<String, String>',
222
+ :'defined_tags' => :'Hash<String, Hash<String, Object>>',
223
+ :'is_retired' => :'BOOLEAN',
224
+ :'time_created' => :'DateTime'
225
+ }
226
+ end
227
+ end
228
+ end
@@ -0,0 +1,205 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Identity::Models::TagNamespace
7
+ # The OCID of the tagNamespace.
8
+ # @return [String]
9
+ attr_accessor :id
10
+
11
+ # The OCID of the compartment which the namespace is attached to.
12
+ # @return [String]
13
+ attr_accessor :compartment_id
14
+
15
+ # The name of the tagNamespace. It must be unique across all tagNamespaces in the tenancy and cannot be changed.
16
+ #
17
+ # @return [String]
18
+ attr_accessor :name
19
+
20
+ # The description you assign to the tagNamespace.
21
+ # @return [String]
22
+ attr_accessor :description
23
+
24
+ # Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
25
+ # Example: `{\"bar-key\": \"value\"}`
26
+ #
27
+ # @return [Hash<String, String>]
28
+ attr_accessor :freeform_tags
29
+
30
+ # Usage of predefined tag keys. These predefined keys are scoped to namespaces.
31
+ # Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
32
+ #
33
+ # @return [Hash<String, Hash<String, Object>>]
34
+ attr_accessor :defined_tags
35
+
36
+ # Indicated whether or not the tagNamespace is retired
37
+ #
38
+ # @return [BOOLEAN]
39
+ attr_accessor :is_retired
40
+
41
+ # Date and time the tagNamespace was created, in the format defined by RFC3339.
42
+ # Example: `2016-08-25T21:10:29.600Z`
43
+ #
44
+ # @return [DateTime]
45
+ attr_accessor :time_created
46
+
47
+
48
+ # Initializes the object
49
+ # @param [Hash] attributes Model attributes in the form of hash
50
+ def initialize(attributes = {})
51
+ return unless attributes.is_a?(Hash)
52
+
53
+ # convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
55
+
56
+ if attributes[:'id']
57
+ self.id = attributes[:'id']
58
+ end
59
+
60
+ if attributes[:'compartmentId']
61
+ self.compartment_id = attributes[:'compartmentId']
62
+ end
63
+
64
+ if attributes[:'name']
65
+ self.name = attributes[:'name']
66
+ end
67
+
68
+ if attributes[:'description']
69
+ self.description = attributes[:'description']
70
+ end
71
+
72
+ if attributes[:'freeformTags']
73
+ self.freeform_tags = attributes[:'freeformTags']
74
+ end
75
+
76
+ if attributes[:'definedTags']
77
+ self.defined_tags = attributes[:'definedTags']
78
+ end
79
+
80
+ if attributes[:'isRetired']
81
+ self.is_retired = attributes[:'isRetired']
82
+ end
83
+
84
+ if attributes[:'timeCreated']
85
+ self.time_created = attributes[:'timeCreated']
86
+ end
87
+
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] other_object to be compared
92
+ def ==(other_object)
93
+ return true if self.equal?(other_object)
94
+ self.class == other_object.class &&
95
+ id == other_object.id &&
96
+ compartment_id == other_object.compartment_id &&
97
+ name == other_object.name &&
98
+ description == other_object.description &&
99
+ freeform_tags == other_object.freeform_tags &&
100
+ defined_tags == other_object.defined_tags &&
101
+ is_retired == other_object.is_retired &&
102
+ time_created == other_object.time_created
103
+ end
104
+
105
+ # @see the `==` method
106
+ # @param [Object] other_object to be compared
107
+ def eql?(other_object)
108
+ self == other_object
109
+ end
110
+
111
+ # Calculates hash code according to all attributes.
112
+ # @return [Fixnum] Hash code
113
+ def hash
114
+ [id, compartment_id, name, description, freeform_tags, defined_tags, is_retired, time_created].hash
115
+ end
116
+
117
+ # Builds the object from hash
118
+ # @param [Hash] attributes Model attributes in the form of hash
119
+ # @return [Object] Returns the model itself
120
+ def build_from_hash(attributes)
121
+ return nil unless attributes.is_a?(Hash)
122
+ self.class.swagger_types.each_pair do |key, type|
123
+ if type =~ /^Array<(.*)>/i
124
+ # check to ensure the input is an array given that the the attribute
125
+ # is documented as an array but the input is not
126
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
127
+ self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
128
+ end
129
+ elsif !attributes[self.class.attribute_map[key]].nil?
130
+ self.public_method("#{key}=").call(OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
131
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
132
+ end
133
+
134
+ self
135
+ end
136
+
137
+ # Returns the string representation of the object
138
+ # @return [String] String presentation of the object
139
+ def to_s
140
+ to_hash.to_s
141
+ end
142
+
143
+ # Returns the object in the form of hash
144
+ # @return [Hash] Returns the object in the form of hash
145
+ def to_hash
146
+ hash = {}
147
+ self.class.attribute_map.each_pair do |attr, param|
148
+ value = public_method(attr).call
149
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
150
+ hash[param] = _to_hash(value)
151
+ end
152
+ hash
153
+ end
154
+
155
+ private
156
+
157
+ # Outputs non-array value in the form of hash
158
+ # For object, use to_hash. Otherwise, just return the value
159
+ # @param [Object] value Any valid value
160
+ # @return [Hash] Returns the value in the form of hash
161
+ def _to_hash(value)
162
+ if value.is_a?(Array)
163
+ value.compact.map{ |v| _to_hash(v) }
164
+ elsif value.is_a?(Hash)
165
+ {}.tap do |hash|
166
+ value.each { |k, v| hash[k] = _to_hash(v) }
167
+ end
168
+ elsif value.respond_to? :to_hash
169
+ value.to_hash
170
+ else
171
+ value
172
+ end
173
+ end
174
+
175
+
176
+
177
+ # Attribute mapping from ruby-style variable name to JSON key.
178
+ def self.attribute_map
179
+ {
180
+ :'id' => :'id',
181
+ :'compartment_id' => :'compartmentId',
182
+ :'name' => :'name',
183
+ :'description' => :'description',
184
+ :'freeform_tags' => :'freeformTags',
185
+ :'defined_tags' => :'definedTags',
186
+ :'is_retired' => :'isRetired',
187
+ :'time_created' => :'timeCreated'
188
+ }
189
+ end
190
+
191
+ # Attribute type mapping.
192
+ def self.swagger_types
193
+ {
194
+ :'id' => :'String',
195
+ :'compartment_id' => :'String',
196
+ :'name' => :'String',
197
+ :'description' => :'String',
198
+ :'freeform_tags' => :'Hash<String, String>',
199
+ :'defined_tags' => :'Hash<String, Hash<String, Object>>',
200
+ :'is_retired' => :'BOOLEAN',
201
+ :'time_created' => :'DateTime'
202
+ }
203
+ end
204
+ end
205
+ end