oci 2.0.5 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/oci.rb +3 -0
  4. data/lib/oci/api_client.rb +24 -3
  5. data/lib/oci/audit/audit_client.rb +19 -5
  6. data/lib/oci/audit/models/audit_event.rb +19 -0
  7. data/lib/oci/audit/models/configuration.rb +1 -0
  8. data/lib/oci/audit/models/update_configuration_details.rb +1 -0
  9. data/lib/oci/auth/auth.rb +16 -0
  10. data/lib/oci/auth/federation_client.rb +125 -0
  11. data/lib/oci/auth/internal/auth_token_request_signer.rb +20 -0
  12. data/lib/oci/auth/security_token_container.rb +25 -0
  13. data/lib/oci/auth/session_key_supplier.rb +37 -0
  14. data/lib/oci/auth/signers/instance_principals_security_token_signer.rb +83 -0
  15. data/lib/oci/auth/signers/security_token_signer.rb +32 -0
  16. data/lib/oci/auth/signers/x509_federation_client_based_security_token_signer.rb +70 -0
  17. data/lib/oci/auth/url_based_certificate_retriever.rb +104 -0
  18. data/lib/oci/auth/util.rb +33 -0
  19. data/lib/oci/base_signer.rb +154 -0
  20. data/lib/oci/core/blockstorage_client.rb +19 -5
  21. data/lib/oci/core/compute_client.rb +19 -5
  22. data/lib/oci/core/models/attach_boot_volume_details.rb +5 -2
  23. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +5 -1
  24. data/lib/oci/core/models/attach_vnic_details.rb +6 -2
  25. data/lib/oci/core/models/attach_volume_details.rb +8 -3
  26. data/lib/oci/core/models/boot_volume.rb +22 -6
  27. data/lib/oci/core/models/boot_volume_attachment.rb +17 -7
  28. data/lib/oci/core/models/bulk_add_virtual_circuit_public_prefixes_details.rb +2 -1
  29. data/lib/oci/core/models/bulk_delete_virtual_circuit_public_prefixes_details.rb +2 -1
  30. data/lib/oci/core/models/capture_console_history_details.rb +5 -1
  31. data/lib/oci/core/models/connect_local_peering_gateways_details.rb +3 -1
  32. data/lib/oci/core/models/console_history.rb +19 -6
  33. data/lib/oci/core/models/cpe.rb +18 -3
  34. data/lib/oci/core/models/create_cpe_details.rb +5 -2
  35. data/lib/oci/core/models/create_cross_connect_details.rb +10 -3
  36. data/lib/oci/core/models/create_cross_connect_group_details.rb +3 -1
  37. data/lib/oci/core/models/create_dhcp_details.rb +9 -3
  38. data/lib/oci/core/models/create_drg_attachment_details.rb +5 -2
  39. data/lib/oci/core/models/create_drg_details.rb +3 -1
  40. data/lib/oci/core/models/create_image_details.rb +9 -1
  41. data/lib/oci/core/models/create_instance_console_connection_details.rb +9 -2
  42. data/lib/oci/core/models/create_internet_gateway_details.rb +8 -4
  43. data/lib/oci/core/models/create_ip_sec_connection_details.rb +9 -4
  44. data/lib/oci/core/models/create_local_peering_gateway_details.rb +5 -2
  45. data/lib/oci/core/models/create_private_ip_details.rb +7 -1
  46. data/lib/oci/core/models/create_route_table_details.rb +9 -3
  47. data/lib/oci/core/models/create_security_list_details.rb +11 -4
  48. data/lib/oci/core/models/create_subnet_details.rb +17 -5
  49. data/lib/oci/core/models/create_vcn_details.rb +8 -2
  50. data/lib/oci/core/models/create_virtual_circuit_details.rb +14 -2
  51. data/lib/oci/core/models/create_virtual_circuit_public_prefix_details.rb +2 -1
  52. data/lib/oci/core/models/create_vnic_details.rb +14 -3
  53. data/lib/oci/core/models/create_volume_backup_details.rb +5 -1
  54. data/lib/oci/core/models/create_volume_details.rb +11 -2
  55. data/lib/oci/core/models/cross_connect.rb +26 -0
  56. data/lib/oci/core/models/cross_connect_group.rb +19 -0
  57. data/lib/oci/core/models/cross_connect_location.rb +5 -2
  58. data/lib/oci/core/models/cross_connect_mapping.rb +31 -0
  59. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +6 -2
  60. data/lib/oci/core/models/cross_connect_status.rb +6 -1
  61. data/lib/oci/core/models/delete_virtual_circuit_public_prefix_details.rb +2 -1
  62. data/lib/oci/core/models/dhcp_dns_option.rb +7 -1
  63. data/lib/oci/core/models/dhcp_option.rb +9 -1
  64. data/lib/oci/core/models/dhcp_options.rb +31 -6
  65. data/lib/oci/core/models/dhcp_search_domain_option.rb +5 -1
  66. data/lib/oci/core/models/drg.rb +18 -3
  67. data/lib/oci/core/models/drg_attachment.rb +15 -5
  68. data/lib/oci/core/models/egress_security_rule.rb +10 -3
  69. data/lib/oci/core/models/export_image_details.rb +13 -1
  70. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +3 -0
  71. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +2 -1
  72. data/lib/oci/core/models/fast_connect_provider_service.rb +17 -6
  73. data/lib/oci/core/models/i_scsi_volume_attachment.rb +17 -3
  74. data/lib/oci/core/models/icmp_options.rb +11 -1
  75. data/lib/oci/core/models/image.rb +28 -7
  76. data/lib/oci/core/models/image_source_details.rb +4 -1
  77. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +7 -3
  78. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +3 -1
  79. data/lib/oci/core/models/ingress_security_rule.rb +10 -3
  80. data/lib/oci/core/models/instance.rb +33 -7
  81. data/lib/oci/core/models/instance_console_connection.rb +15 -0
  82. data/lib/oci/core/models/instance_credentials.rb +5 -2
  83. data/lib/oci/core/models/instance_source_details.rb +3 -1
  84. data/lib/oci/core/models/instance_source_via_boot_volume_details.rb +2 -1
  85. data/lib/oci/core/models/instance_source_via_image_details.rb +2 -1
  86. data/lib/oci/core/models/internet_gateway.rb +20 -5
  87. data/lib/oci/core/models/ip_sec_connection.rb +23 -6
  88. data/lib/oci/core/models/ip_sec_connection_device_config.rb +7 -2
  89. data/lib/oci/core/models/ip_sec_connection_device_status.rb +7 -2
  90. data/lib/oci/core/models/launch_instance_details.rb +20 -3
  91. data/lib/oci/core/models/launch_options.rb +10 -4
  92. data/lib/oci/core/models/letter_of_authority.rb +10 -0
  93. data/lib/oci/core/models/local_peering_gateway.rb +29 -9
  94. data/lib/oci/core/models/port_range.rb +4 -2
  95. data/lib/oci/core/models/private_ip.rb +41 -1
  96. data/lib/oci/core/models/route_rule.rb +7 -2
  97. data/lib/oci/core/models/route_table.rb +22 -5
  98. data/lib/oci/core/models/security_list.rb +32 -8
  99. data/lib/oci/core/models/shape.rb +5 -1
  100. data/lib/oci/core/models/subnet.rb +38 -10
  101. data/lib/oci/core/models/tcp_options.rb +5 -0
  102. data/lib/oci/core/models/tunnel_config.rb +6 -2
  103. data/lib/oci/core/models/tunnel_status.rb +7 -1
  104. data/lib/oci/core/models/udp_options.rb +5 -0
  105. data/lib/oci/core/models/update_boot_volume_details.rb +1 -0
  106. data/lib/oci/core/models/update_console_history_details.rb +3 -0
  107. data/lib/oci/core/models/update_cpe_details.rb +1 -0
  108. data/lib/oci/core/models/update_cross_connect_details.rb +5 -1
  109. data/lib/oci/core/models/update_cross_connect_group_details.rb +1 -0
  110. data/lib/oci/core/models/update_dhcp_details.rb +4 -0
  111. data/lib/oci/core/models/update_drg_attachment_details.rb +1 -0
  112. data/lib/oci/core/models/update_drg_details.rb +1 -0
  113. data/lib/oci/core/models/update_image_details.rb +3 -0
  114. data/lib/oci/core/models/update_instance_details.rb +3 -0
  115. data/lib/oci/core/models/update_internet_gateway_details.rb +3 -1
  116. data/lib/oci/core/models/update_ip_sec_connection_details.rb +1 -0
  117. data/lib/oci/core/models/update_local_peering_gateway_details.rb +1 -0
  118. data/lib/oci/core/models/update_private_ip_details.rb +5 -0
  119. data/lib/oci/core/models/update_route_table_details.rb +4 -0
  120. data/lib/oci/core/models/update_security_list_details.rb +5 -0
  121. data/lib/oci/core/models/update_subnet_details.rb +3 -0
  122. data/lib/oci/core/models/update_vcn_details.rb +3 -0
  123. data/lib/oci/core/models/update_virtual_circuit_details.rb +7 -0
  124. data/lib/oci/core/models/update_vnic_details.rb +4 -1
  125. data/lib/oci/core/models/update_volume_backup_details.rb +3 -0
  126. data/lib/oci/core/models/update_volume_details.rb +3 -0
  127. data/lib/oci/core/models/vcn.rb +24 -4
  128. data/lib/oci/core/models/virtual_circuit.rb +41 -0
  129. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +5 -1
  130. data/lib/oci/core/models/virtual_circuit_public_prefix.rb +8 -2
  131. data/lib/oci/core/models/vnic.rb +38 -9
  132. data/lib/oci/core/models/vnic_attachment.rb +21 -7
  133. data/lib/oci/core/models/volume.rb +28 -8
  134. data/lib/oci/core/models/volume_attachment.rb +25 -8
  135. data/lib/oci/core/models/volume_backup.rb +26 -5
  136. data/lib/oci/core/models/volume_source_details.rb +3 -0
  137. data/lib/oci/core/models/volume_source_from_volume_backup_details.rb +3 -1
  138. data/lib/oci/core/models/volume_source_from_volume_details.rb +3 -1
  139. data/lib/oci/core/virtual_network_client.rb +19 -5
  140. data/lib/oci/database/database_client.rb +19 -5
  141. data/lib/oci/database/models/backup.rb +13 -0
  142. data/lib/oci/database/models/backup_summary.rb +13 -0
  143. data/lib/oci/database/models/create_backup_details.rb +4 -2
  144. data/lib/oci/database/models/create_data_guard_association_details.rb +18 -4
  145. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +5 -0
  146. data/lib/oci/database/models/create_database_details.rb +9 -2
  147. data/lib/oci/database/models/create_database_from_backup_details.rb +6 -3
  148. data/lib/oci/database/models/create_db_home_details.rb +5 -1
  149. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +5 -1
  150. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +6 -1
  151. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +4 -0
  152. data/lib/oci/database/models/data_guard_association.rb +32 -7
  153. data/lib/oci/database/models/data_guard_association_summary.rb +32 -7
  154. data/lib/oci/database/models/database.rb +22 -5
  155. data/lib/oci/database/models/database_summary.rb +22 -5
  156. data/lib/oci/database/models/db_backup_config.rb +5 -1
  157. data/lib/oci/database/models/db_home.rb +22 -5
  158. data/lib/oci/database/models/db_home_summary.rb +22 -5
  159. data/lib/oci/database/models/db_node.rb +17 -5
  160. data/lib/oci/database/models/db_node_summary.rb +17 -5
  161. data/lib/oci/database/models/db_system.rb +56 -12
  162. data/lib/oci/database/models/db_system_shape_summary.rb +11 -2
  163. data/lib/oci/database/models/db_system_summary.rb +56 -12
  164. data/lib/oci/database/models/db_version_summary.rb +8 -2
  165. data/lib/oci/database/models/failover_data_guard_association_details.rb +4 -1
  166. data/lib/oci/database/models/launch_db_system_details.rb +27 -8
  167. data/lib/oci/database/models/patch.rb +18 -4
  168. data/lib/oci/database/models/patch_details.rb +6 -0
  169. data/lib/oci/database/models/patch_history_entry.rb +12 -4
  170. data/lib/oci/database/models/patch_history_entry_summary.rb +12 -4
  171. data/lib/oci/database/models/patch_summary.rb +18 -4
  172. data/lib/oci/database/models/reinstate_data_guard_association_details.rb +4 -1
  173. data/lib/oci/database/models/restore_database_details.rb +4 -1
  174. data/lib/oci/database/models/switchover_data_guard_association_details.rb +4 -1
  175. data/lib/oci/database/models/update_database_details.rb +1 -0
  176. data/lib/oci/database/models/update_db_home_details.rb +3 -0
  177. data/lib/oci/database/models/update_db_system_details.rb +6 -0
  178. data/lib/oci/identity/identity.rb +3 -0
  179. data/lib/oci/identity/identity_client.rb +290 -70
  180. data/lib/oci/identity/models/add_user_to_group_details.rb +4 -2
  181. data/lib/oci/identity/models/api_key.rb +18 -0
  182. data/lib/oci/identity/models/availability_domain.rb +6 -0
  183. data/lib/oci/identity/models/compartment.rb +38 -10
  184. data/lib/oci/identity/models/create_api_key_details.rb +2 -1
  185. data/lib/oci/identity/models/create_compartment_details.rb +14 -7
  186. data/lib/oci/identity/models/create_customer_secret_key_details.rb +2 -1
  187. data/lib/oci/identity/models/create_dynamic_group_details.rb +160 -0
  188. data/lib/oci/identity/models/create_group_details.rb +14 -7
  189. data/lib/oci/identity/models/create_identity_provider_details.rb +19 -9
  190. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +4 -2
  191. data/lib/oci/identity/models/create_policy_details.rb +18 -9
  192. data/lib/oci/identity/models/create_region_subscription_details.rb +2 -1
  193. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +10 -2
  194. data/lib/oci/identity/models/create_swift_password_details.rb +2 -1
  195. data/lib/oci/identity/models/create_tag_details.rb +12 -6
  196. data/lib/oci/identity/models/create_tag_namespace_details.rb +14 -7
  197. data/lib/oci/identity/models/create_user_details.rb +14 -7
  198. data/lib/oci/identity/models/customer_secret_key.rb +16 -0
  199. data/lib/oci/identity/models/customer_secret_key_summary.rb +10 -0
  200. data/lib/oci/identity/models/dynamic_group.rb +239 -0
  201. data/lib/oci/identity/models/group.rb +35 -11
  202. data/lib/oci/identity/models/identity_provider.rb +36 -12
  203. data/lib/oci/identity/models/idp_group_mapping.rb +27 -7
  204. data/lib/oci/identity/models/policy.rb +38 -11
  205. data/lib/oci/identity/models/region.rb +10 -0
  206. data/lib/oci/identity/models/region_subscription.rb +16 -5
  207. data/lib/oci/identity/models/saml2_identity_provider.rb +20 -3
  208. data/lib/oci/identity/models/swift_password.rb +17 -1
  209. data/lib/oci/identity/models/tag.rb +30 -13
  210. data/lib/oci/identity/models/tag_namespace.rb +25 -11
  211. data/lib/oci/identity/models/tag_namespace_summary.rb +23 -10
  212. data/lib/oci/identity/models/tag_summary.rb +21 -8
  213. data/lib/oci/identity/models/tenancy.rb +21 -4
  214. data/lib/oci/identity/models/ui_password.rb +10 -0
  215. data/lib/oci/identity/models/update_compartment_details.rb +10 -4
  216. data/lib/oci/identity/models/update_customer_secret_key_details.rb +1 -0
  217. data/lib/oci/identity/models/update_dynamic_group_details.rb +134 -0
  218. data/lib/oci/identity/models/update_group_details.rb +9 -4
  219. data/lib/oci/identity/models/update_identity_provider_details.rb +12 -5
  220. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +2 -0
  221. data/lib/oci/identity/models/update_policy_details.rb +12 -5
  222. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +5 -0
  223. data/lib/oci/identity/models/update_state_details.rb +2 -1
  224. data/lib/oci/identity/models/update_swift_password_details.rb +1 -0
  225. data/lib/oci/identity/models/update_tag_details.rb +15 -7
  226. data/lib/oci/identity/models/update_tag_namespace_details.rb +15 -7
  227. data/lib/oci/identity/models/update_user_details.rb +9 -4
  228. data/lib/oci/identity/models/user.rb +38 -11
  229. data/lib/oci/identity/models/user_group_membership.rb +16 -6
  230. data/lib/oci/load_balancer/load_balancer.rb +1 -0
  231. data/lib/oci/load_balancer/load_balancer_client.rb +24 -9
  232. data/lib/oci/load_balancer/models/backend.rb +20 -10
  233. data/lib/oci/load_balancer/models/backend_details.rb +12 -5
  234. data/lib/oci/load_balancer/models/backend_health.rb +6 -2
  235. data/lib/oci/load_balancer/models/backend_set.rb +14 -2
  236. data/lib/oci/load_balancer/models/backend_set_details.rb +11 -1
  237. data/lib/oci/load_balancer/models/backend_set_health.rb +15 -5
  238. data/lib/oci/load_balancer/models/certificate.rb +10 -3
  239. data/lib/oci/load_balancer/models/certificate_details.rb +10 -1
  240. data/lib/oci/load_balancer/models/connection_configuration.rb +157 -0
  241. data/lib/oci/load_balancer/models/create_backend_details.rb +15 -5
  242. data/lib/oci/load_balancer/models/create_backend_set_details.rb +13 -2
  243. data/lib/oci/load_balancer/models/create_certificate_details.rb +10 -1
  244. data/lib/oci/load_balancer/models/create_listener_details.rb +28 -5
  245. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +14 -5
  246. data/lib/oci/load_balancer/models/health_check_result.rb +10 -4
  247. data/lib/oci/load_balancer/models/health_checker.rb +15 -4
  248. data/lib/oci/load_balancer/models/health_checker_details.rb +10 -1
  249. data/lib/oci/load_balancer/models/ip_address.rb +5 -2
  250. data/lib/oci/load_balancer/models/listener.rb +28 -5
  251. data/lib/oci/load_balancer/models/listener_details.rb +23 -4
  252. data/lib/oci/load_balancer/models/load_balancer.rb +30 -7
  253. data/lib/oci/load_balancer/models/load_balancer_health.rb +15 -5
  254. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +5 -2
  255. data/lib/oci/load_balancer/models/load_balancer_policy.rb +6 -1
  256. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +3 -1
  257. data/lib/oci/load_balancer/models/load_balancer_shape.rb +8 -1
  258. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +14 -2
  259. data/lib/oci/load_balancer/models/ssl_configuration.rb +11 -4
  260. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +6 -2
  261. data/lib/oci/load_balancer/models/update_backend_details.rb +12 -7
  262. data/lib/oci/load_balancer/models/update_backend_set_details.rb +12 -1
  263. data/lib/oci/load_balancer/models/update_health_checker_details.rb +16 -7
  264. data/lib/oci/load_balancer/models/update_listener_details.rb +23 -4
  265. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +3 -1
  266. data/lib/oci/load_balancer/models/work_request.rb +20 -6
  267. data/lib/oci/load_balancer/models/work_request_error.rb +5 -1
  268. data/lib/oci/object_storage/models/bucket.rb +27 -8
  269. data/lib/oci/object_storage/models/bucket_summary.rb +16 -6
  270. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +7 -1
  271. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +8 -2
  272. data/lib/oci/object_storage/models/create_bucket_details.rb +15 -4
  273. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +10 -1
  274. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +7 -3
  275. data/lib/oci/object_storage/models/list_objects.rb +8 -1
  276. data/lib/oci/object_storage/models/multipart_upload.rb +20 -5
  277. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +13 -4
  278. data/lib/oci/object_storage/models/namespace_metadata.rb +8 -3
  279. data/lib/oci/object_storage/models/object_summary.rb +9 -1
  280. data/lib/oci/object_storage/models/preauthenticated_request.rb +20 -6
  281. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +13 -5
  282. data/lib/oci/object_storage/models/rename_object_details.rb +11 -2
  283. data/lib/oci/object_storage/models/restore_objects_details.rb +2 -1
  284. data/lib/oci/object_storage/models/update_bucket_details.rb +13 -2
  285. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +5 -0
  286. data/lib/oci/object_storage/object_storage_client.rb +26 -12
  287. data/lib/oci/regions.rb +8 -1
  288. data/lib/oci/signer.rb +5 -124
  289. data/lib/oci/version.rb +1 -1
  290. metadata +31 -2
@@ -3,6 +3,9 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
+ # Represents an attachment between a VNIC and an instance. For more information, see
7
+ # [Virtual Network Interface Cards (VNICs)](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingVNICs.htm).
8
+ #
6
9
  class Core::Models::VnicAttachment
7
10
 
8
11
  LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_ATTACHING = 'ATTACHING',
@@ -11,14 +14,14 @@ module OCI
11
14
  LIFECYCLE_STATE_DETACHED = 'DETACHED',
12
15
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
13
16
 
14
- # The Availability Domain of the instance.
17
+ # **[Required]** The Availability Domain of the instance.
15
18
  #
16
19
  # Example: `Uocm:PHX-AD-1`
17
20
  #
18
21
  # @return [String]
19
22
  attr_accessor :availability_domain
20
23
 
21
- # The OCID of the compartment the VNIC attachment is in, which is the same
24
+ # **[Required]** The OCID of the compartment the VNIC attachment is in, which is the same
22
25
  # compartment the instance is in.
23
26
  #
24
27
  # @return [String]
@@ -30,15 +33,15 @@ module OCI
30
33
  # @return [String]
31
34
  attr_accessor :display_name
32
35
 
33
- # The OCID of the VNIC attachment.
36
+ # **[Required]** The OCID of the VNIC attachment.
34
37
  # @return [String]
35
38
  attr_accessor :id
36
39
 
37
- # The OCID of the instance.
40
+ # **[Required]** The OCID of the instance.
38
41
  # @return [String]
39
42
  attr_accessor :instance_id
40
43
 
41
- # The current state of the VNIC attachment.
44
+ # **[Required]** The current state of the VNIC attachment.
42
45
  # @return [String]
43
46
  attr_accessor :lifecycle_state
44
47
 
@@ -51,11 +54,11 @@ module OCI
51
54
  # @return [Integer]
52
55
  attr_accessor :nic_index
53
56
 
54
- # The OCID of the VNIC's subnet.
57
+ # **[Required]** The OCID of the VNIC's subnet.
55
58
  # @return [String]
56
59
  attr_accessor :subnet_id
57
60
 
58
- # The date and time the VNIC attachment was created, in the format defined by RFC3339.
61
+ # **[Required]** The date and time the VNIC attachment was created, in the format defined by RFC3339.
59
62
  #
60
63
  # Example: `2016-08-25T21:10:29.600Z`
61
64
  #
@@ -77,6 +80,17 @@ module OCI
77
80
 
78
81
  # Initializes the object
79
82
  # @param [Hash] attributes Model attributes in the form of hash
83
+ # @option attributes [String] :availabilityDomain The value to assign to the {#availability_domain} property
84
+ # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
85
+ # @option attributes [String] :displayName The value to assign to the {#display_name} property
86
+ # @option attributes [String] :id The value to assign to the {#id} property
87
+ # @option attributes [String] :instanceId The value to assign to the {#instance_id} property
88
+ # @option attributes [String] :lifecycleState The value to assign to the {#lifecycle_state} property
89
+ # @option attributes [Integer] :nicIndex The value to assign to the {#nic_index} property
90
+ # @option attributes [String] :subnetId The value to assign to the {#subnet_id} property
91
+ # @option attributes [DateTime] :timeCreated The value to assign to the {#time_created} property
92
+ # @option attributes [Integer] :vlanTag The value to assign to the {#vlan_tag} property
93
+ # @option attributes [String] :vnicId The value to assign to the {#vnic_id} property
80
94
  def initialize(attributes = {})
81
95
  return unless attributes.is_a?(Hash)
82
96
 
@@ -3,6 +3,14 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
+ # A detachable block volume device that allows you to dynamically expand
7
+ # the storage capacity of an instance. For more information, see
8
+ # [Overview of Cloud Volume Storage](https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/overview.htm).
9
+ #
10
+ # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
11
+ # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
12
+ # [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).
13
+ #
6
14
  class Core::Models::Volume
7
15
 
8
16
  LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING',
@@ -13,14 +21,14 @@ module OCI
13
21
  LIFECYCLE_STATE_FAULTY = 'FAULTY',
14
22
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
15
23
 
16
- # The Availability Domain of the volume.
24
+ # **[Required]** The Availability Domain of the volume.
17
25
  #
18
26
  # Example: `Uocm:PHX-AD-1`
19
27
  #
20
28
  # @return [String]
21
29
  attr_accessor :availability_domain
22
30
 
23
- # The OCID of the compartment that contains the volume.
31
+ # **[Required]** The OCID of the compartment that contains the volume.
24
32
  # @return [String]
25
33
  attr_accessor :compartment_id
26
34
 
@@ -32,7 +40,7 @@ module OCI
32
40
  # @return [Hash<String, Hash<String, Object>>]
33
41
  attr_accessor :defined_tags
34
42
 
35
- # A user-friendly name. Does not have to be unique, and it's changeable.
43
+ # **[Required]** A user-friendly name. Does not have to be unique, and it's changeable.
36
44
  # Avoid entering confidential information.
37
45
  #
38
46
  # @return [String]
@@ -47,7 +55,7 @@ module OCI
47
55
  # @return [Hash<String, String>]
48
56
  attr_accessor :freeform_tags
49
57
 
50
- # The OCID of the volume.
58
+ # **[Required]** The OCID of the volume.
51
59
  # @return [String]
52
60
  attr_accessor :id
53
61
 
@@ -55,7 +63,7 @@ module OCI
55
63
  # @return [BOOLEAN]
56
64
  attr_accessor :is_hydrated
57
65
 
58
- # The current state of a volume.
66
+ # **[Required]** The current state of a volume.
59
67
  # @return [String]
60
68
  attr_accessor :lifecycle_state
61
69
 
@@ -63,7 +71,7 @@ module OCI
63
71
  # @return [Integer]
64
72
  attr_accessor :size_in_gbs
65
73
 
66
- # The size of the volume in MBs. This field is deprecated. Use sizeInGBs instead.
74
+ # **[Required]** The size of the volume in MBs. This field is deprecated. Use sizeInGBs instead.
67
75
  # @return [Integer]
68
76
  attr_accessor :size_in_mbs
69
77
 
@@ -73,13 +81,25 @@ module OCI
73
81
  # @return [OCI::Core::Models::VolumeSourceDetails]
74
82
  attr_accessor :source_details
75
83
 
76
- # The date and time the volume was created. Format defined by RFC3339.
84
+ # **[Required]** The date and time the volume was created. Format defined by RFC3339.
77
85
  # @return [DateTime]
78
86
  attr_accessor :time_created
79
87
 
80
88
 
81
89
  # Initializes the object
82
90
  # @param [Hash] attributes Model attributes in the form of hash
91
+ # @option attributes [String] :availabilityDomain The value to assign to the {#availability_domain} property
92
+ # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
93
+ # @option attributes [Hash<String, Hash<String, Object>>] :definedTags The value to assign to the {#defined_tags} property
94
+ # @option attributes [String] :displayName The value to assign to the {#display_name} property
95
+ # @option attributes [Hash<String, String>] :freeformTags The value to assign to the {#freeform_tags} property
96
+ # @option attributes [String] :id The value to assign to the {#id} property
97
+ # @option attributes [BOOLEAN] :isHydrated The value to assign to the {#is_hydrated} property
98
+ # @option attributes [String] :lifecycleState The value to assign to the {#lifecycle_state} property
99
+ # @option attributes [Integer] :sizeInGBs The value to assign to the {#size_in_gbs} property
100
+ # @option attributes [Integer] :sizeInMBs The value to assign to the {#size_in_mbs} property
101
+ # @option attributes [OCI::Core::Models::VolumeSourceDetails] :sourceDetails The value to assign to the {#source_details} property
102
+ # @option attributes [DateTime] :timeCreated The value to assign to the {#time_created} property
83
103
  def initialize(attributes = {})
84
104
  return unless attributes.is_a?(Hash)
85
105
 
@@ -110,7 +130,7 @@ module OCI
110
130
  self.id = attributes[:'id']
111
131
  end
112
132
 
113
- if attributes[:'isHydrated']
133
+ unless attributes[:'isHydrated'].nil?
114
134
  self.is_hydrated = attributes[:'isHydrated']
115
135
  end
116
136
 
@@ -3,6 +3,14 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
+ # A base object for all types of attachments between a storage volume and an instance.
7
+ # For specific details about iSCSI attachments, see
8
+ # {IScsiVolumeAttachment}.
9
+ #
10
+ # For general information about volume attachments, see
11
+ # [Overview of Block Volume Storage](https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/overview.htm).
12
+ #
13
+ # 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
14
  class Core::Models::VolumeAttachment
7
15
 
8
16
  LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_ATTACHING = 'ATTACHING',
@@ -11,18 +19,18 @@ module OCI
11
19
  LIFECYCLE_STATE_DETACHED = 'DETACHED',
12
20
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
13
21
 
14
- # The type of volume attachment.
22
+ # **[Required]** The type of volume attachment.
15
23
  # @return [String]
16
24
  attr_accessor :attachment_type
17
25
 
18
- # The Availability Domain of an instance.
26
+ # **[Required]** The Availability Domain of an instance.
19
27
  #
20
28
  # Example: `Uocm:PHX-AD-1`
21
29
  #
22
30
  # @return [String]
23
31
  attr_accessor :availability_domain
24
32
 
25
- # The OCID of the compartment.
33
+ # **[Required]** The OCID of the compartment.
26
34
  # @return [String]
27
35
  attr_accessor :compartment_id
28
36
 
@@ -34,26 +42,26 @@ module OCI
34
42
  # @return [String]
35
43
  attr_accessor :display_name
36
44
 
37
- # The OCID of the volume attachment.
45
+ # **[Required]** The OCID of the volume attachment.
38
46
  # @return [String]
39
47
  attr_accessor :id
40
48
 
41
- # The OCID of the instance the volume is attached to.
49
+ # **[Required]** The OCID of the instance the volume is attached to.
42
50
  # @return [String]
43
51
  attr_accessor :instance_id
44
52
 
45
- # The current state of the volume attachment.
53
+ # **[Required]** The current state of the volume attachment.
46
54
  # @return [String]
47
55
  attr_accessor :lifecycle_state
48
56
 
49
- # The date and time the volume was created, in the format defined by RFC3339.
57
+ # **[Required]** The date and time the volume was created, in the format defined by RFC3339.
50
58
  #
51
59
  # Example: `2016-08-25T21:10:29.600Z`
52
60
  #
53
61
  # @return [DateTime]
54
62
  attr_accessor :time_created
55
63
 
56
- # The OCID of the volume.
64
+ # **[Required]** The OCID of the volume.
57
65
  # @return [String]
58
66
  attr_accessor :volume_id
59
67
 
@@ -71,6 +79,15 @@ module OCI
71
79
 
72
80
  # Initializes the object
73
81
  # @param [Hash] attributes Model attributes in the form of hash
82
+ # @option attributes [String] :attachmentType The value to assign to the {#attachment_type} property
83
+ # @option attributes [String] :availabilityDomain The value to assign to the {#availability_domain} property
84
+ # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
85
+ # @option attributes [String] :displayName The value to assign to the {#display_name} property
86
+ # @option attributes [String] :id The value to assign to the {#id} property
87
+ # @option attributes [String] :instanceId The value to assign to the {#instance_id} property
88
+ # @option attributes [String] :lifecycleState The value to assign to the {#lifecycle_state} property
89
+ # @option attributes [DateTime] :timeCreated The value to assign to the {#time_created} property
90
+ # @option attributes [String] :volumeId The value to assign to the {#volume_id} property
74
91
  def initialize(attributes = {})
75
92
  return unless attributes.is_a?(Hash)
76
93
 
@@ -3,6 +3,14 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
+ # A point-in-time copy of a volume that can then be used to create a new block volume
7
+ # or recover a block volume. For more information, see
8
+ # [Overview of Cloud Volume Storage](https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/overview.htm).
9
+ #
10
+ # To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
11
+ # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
12
+ # [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).
13
+ #
6
14
  class Core::Models::VolumeBackup
7
15
 
8
16
  LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
@@ -13,7 +21,7 @@ module OCI
13
21
  LIFECYCLE_STATE_REQUEST_RECEIVED = 'REQUEST_RECEIVED',
14
22
  LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
15
23
 
16
- # The OCID of the compartment that contains the volume backup.
24
+ # **[Required]** The OCID of the compartment that contains the volume backup.
17
25
  # @return [String]
18
26
  attr_accessor :compartment_id
19
27
 
@@ -25,7 +33,7 @@ module OCI
25
33
  # @return [Hash<String, Hash<String, Object>>]
26
34
  attr_accessor :defined_tags
27
35
 
28
- # A user-friendly name for the volume backup. Does not have to be unique and it's changeable.
36
+ # **[Required]** A user-friendly name for the volume backup. Does not have to be unique and it's changeable.
29
37
  # Avoid entering confidential information.
30
38
  #
31
39
  # @return [String]
@@ -40,11 +48,11 @@ module OCI
40
48
  # @return [Hash<String, String>]
41
49
  attr_accessor :freeform_tags
42
50
 
43
- # The OCID of the volume backup.
51
+ # **[Required]** The OCID of the volume backup.
44
52
  # @return [String]
45
53
  attr_accessor :id
46
54
 
47
- # The current state of a volume backup.
55
+ # **[Required]** The current state of a volume backup.
48
56
  # @return [String]
49
57
  attr_accessor :lifecycle_state
50
58
 
@@ -59,7 +67,7 @@ module OCI
59
67
  # @return [Integer]
60
68
  attr_accessor :size_in_mbs
61
69
 
62
- # The date and time the volume backup was created. This is the time the actual point-in-time image
70
+ # **[Required]** The date and time the volume backup was created. This is the time the actual point-in-time image
63
71
  # of the volume data was taken. Format defined by RFC3339.
64
72
  #
65
73
  # @return [DateTime]
@@ -90,6 +98,19 @@ module OCI
90
98
 
91
99
  # Initializes the object
92
100
  # @param [Hash] attributes Model attributes in the form of hash
101
+ # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
102
+ # @option attributes [Hash<String, Hash<String, Object>>] :definedTags The value to assign to the {#defined_tags} property
103
+ # @option attributes [String] :displayName The value to assign to the {#display_name} property
104
+ # @option attributes [Hash<String, String>] :freeformTags The value to assign to the {#freeform_tags} property
105
+ # @option attributes [String] :id The value to assign to the {#id} property
106
+ # @option attributes [String] :lifecycleState The value to assign to the {#lifecycle_state} property
107
+ # @option attributes [Integer] :sizeInGBs The value to assign to the {#size_in_gbs} property
108
+ # @option attributes [Integer] :sizeInMBs The value to assign to the {#size_in_mbs} property
109
+ # @option attributes [DateTime] :timeCreated The value to assign to the {#time_created} property
110
+ # @option attributes [DateTime] :timeRequestReceived The value to assign to the {#time_request_received} property
111
+ # @option attributes [Integer] :uniqueSizeInGBs The value to assign to the {#unique_size_in_gbs} property
112
+ # @option attributes [Integer] :uniqueSizeInMbs The value to assign to the {#unique_size_in_mbs} property
113
+ # @option attributes [String] :volumeId The value to assign to the {#volume_id} property
93
114
  def initialize(attributes = {})
94
115
  return unless attributes.is_a?(Hash)
95
116
 
@@ -3,7 +3,9 @@
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 Core::Models::VolumeSourceDetails
8
+ # This attribute is required.
7
9
  # @return [String]
8
10
  attr_accessor :type
9
11
 
@@ -22,6 +24,7 @@ module OCI
22
24
 
23
25
  # Initializes the object
24
26
  # @param [Hash] attributes Model attributes in the form of hash
27
+ # @option attributes [String] :type The value to assign to the {#type} property
25
28
  def initialize(attributes = {})
26
29
  return unless attributes.is_a?(Hash)
27
30
 
@@ -4,14 +4,16 @@ require 'date'
4
4
  require_relative 'volume_source_details'
5
5
 
6
6
  module OCI
7
+ # Specifies the volume backup.
7
8
  class Core::Models::VolumeSourceFromVolumeBackupDetails < Core::Models::VolumeSourceDetails
8
- # The OCID of the volume backup.
9
+ # **[Required]** The OCID of the volume backup.
9
10
  # @return [String]
10
11
  attr_accessor :id
11
12
 
12
13
 
13
14
  # Initializes the object
14
15
  # @param [Hash] attributes Model attributes in the form of hash
16
+ # @option attributes [String] :id The value to assign to the {#id} property
15
17
  def initialize(attributes = {})
16
18
  return unless attributes.is_a?(Hash)
17
19
 
@@ -4,14 +4,16 @@ require 'date'
4
4
  require_relative 'volume_source_details'
5
5
 
6
6
  module OCI
7
+ # Specifies the source volume.
7
8
  class Core::Models::VolumeSourceFromVolumeDetails < Core::Models::VolumeSourceDetails
8
- # The OCID of the volume.
9
+ # **[Required]** The OCID of the volume.
9
10
  # @return [String]
10
11
  attr_accessor :id
11
12
 
12
13
 
13
14
  # Initializes the object
14
15
  # @param [Hash] attributes Model attributes in the form of hash
16
+ # @option attributes [String] :id The value to assign to the {#id} property
15
17
  def initialize(attributes = {})
16
18
  return unless attributes.is_a?(Hash)
17
19
 
@@ -28,15 +28,29 @@ module OCI
28
28
  # @param [Config] config A Config object.
29
29
  # @param [String] region A region used to determine the service endpoint. This will usually
30
30
  # correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.
31
- #
32
- def initialize(config:nil, region:nil)
33
- config ||= OCI.config
34
- config.validate
31
+ # @param [OCI::BaseSigner] signer A signer implementation which can be used by this client. If this is not provided then
32
+ # a signer will be constructed via the provided config. One use case of this parameter is instance principals authentication,
33
+ # so that the instance principals signer can be provided to the client
34
+ def initialize(config:nil, region:nil, signer:nil)
35
+ # If the signer is an InstancePrincipalsSecurityTokenSigner and no config was supplied (which is valid for instance principals)
36
+ # then create a dummy config to pass to the ApiClient constructor. If customers wish to create a client which uses instance principals
37
+ # and has config (either populated programmatically or loaded from a file), they must construct that config themselves and then
38
+ # pass it to this constructor.
39
+ #
40
+ # If there is no signer (or the signer is not an instance principals signer) and no config was supplied, this is not valid
41
+ # so try and load the config from the default file.
42
+ config ||= OCI.config unless signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
43
+ config ||= OCI::Config.new if signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
44
+ config.validate unless signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
45
+
46
+ if signer.nil?
47
+ signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase, private_key_content: config.key_content, signing_strategy: Signer::STANDARD)
48
+ end
35
49
 
36
- signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase, private_key_content: config.key_content, signing_strategy: Signer::STANDARD)
37
50
  @api_client = ApiClient.new(config, signer)
38
51
 
39
52
  region ||= config.region
53
+ region ||= signer.region if signer.respond_to?(:region)
40
54
  self.region = region
41
55
  end
42
56
 
@@ -28,15 +28,29 @@ module OCI
28
28
  # @param [Config] config A Config object.
29
29
  # @param [String] region A region used to determine the service endpoint. This will usually
30
30
  # correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.
31
- #
32
- def initialize(config:nil, region:nil)
33
- config ||= OCI.config
34
- config.validate
31
+ # @param [OCI::BaseSigner] signer A signer implementation which can be used by this client. If this is not provided then
32
+ # a signer will be constructed via the provided config. One use case of this parameter is instance principals authentication,
33
+ # so that the instance principals signer can be provided to the client
34
+ def initialize(config:nil, region:nil, signer:nil)
35
+ # If the signer is an InstancePrincipalsSecurityTokenSigner and no config was supplied (which is valid for instance principals)
36
+ # then create a dummy config to pass to the ApiClient constructor. If customers wish to create a client which uses instance principals
37
+ # and has config (either populated programmatically or loaded from a file), they must construct that config themselves and then
38
+ # pass it to this constructor.
39
+ #
40
+ # If there is no signer (or the signer is not an instance principals signer) and no config was supplied, this is not valid
41
+ # so try and load the config from the default file.
42
+ config ||= OCI.config unless signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
43
+ config ||= OCI::Config.new if signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
44
+ config.validate unless signer.is_a?(OCI::Auth::Signers::InstancePrincipalsSecurityTokenSigner)
45
+
46
+ if signer.nil?
47
+ signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase, private_key_content: config.key_content, signing_strategy: Signer::STANDARD)
48
+ end
35
49
 
36
- signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase, private_key_content: config.key_content, signing_strategy: Signer::STANDARD)
37
50
  @api_client = ApiClient.new(config, signer)
38
51
 
39
52
  region ||= config.region
53
+ region ||= signer.region if signer.respond_to?(:region)
40
54
  self.region = region
41
55
  end
42
56