oci 2.0.7 → 2.0.8

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 (297) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/lib/oci.rb +1 -0
  4. data/lib/oci/api_client.rb +21 -11
  5. data/lib/oci/audit/models/audit_event.rb +133 -19
  6. data/lib/oci/audit/models/configuration.rb +7 -1
  7. data/lib/oci/audit/models/update_configuration_details.rb +7 -1
  8. data/lib/oci/base_signer.rb +1 -2
  9. data/lib/oci/core/models/attach_boot_volume_details.rb +21 -3
  10. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +11 -5
  11. data/lib/oci/core/models/attach_vnic_details.rb +28 -4
  12. data/lib/oci/core/models/attach_volume_details.rb +28 -4
  13. data/lib/oci/core/models/boot_volume.rb +56 -8
  14. data/lib/oci/core/models/boot_volume_attachment.rb +49 -7
  15. data/lib/oci/core/models/bulk_add_virtual_circuit_public_prefixes_details.rb +7 -1
  16. data/lib/oci/core/models/bulk_delete_virtual_circuit_public_prefixes_details.rb +7 -1
  17. data/lib/oci/core/models/capture_console_history_details.rb +28 -4
  18. data/lib/oci/core/models/connect_local_peering_gateways_details.rb +7 -1
  19. data/lib/oci/core/models/console_history.rb +56 -8
  20. data/lib/oci/core/models/cpe.rb +28 -4
  21. data/lib/oci/core/models/create_cpe_details.rb +21 -3
  22. data/lib/oci/core/models/create_cross_connect_details.rb +49 -7
  23. data/lib/oci/core/models/create_cross_connect_group_details.rb +14 -2
  24. data/lib/oci/core/models/create_dhcp_details.rb +35 -5
  25. data/lib/oci/core/models/create_drg_attachment_details.rb +21 -3
  26. data/lib/oci/core/models/create_drg_details.rb +14 -2
  27. data/lib/oci/core/models/create_image_details.rb +49 -7
  28. data/lib/oci/core/models/create_instance_console_connection_details.rb +28 -4
  29. data/lib/oci/core/models/create_internet_gateway_details.rb +28 -4
  30. data/lib/oci/core/models/create_ip_sec_connection_details.rb +35 -5
  31. data/lib/oci/core/models/create_local_peering_gateway_details.rb +21 -3
  32. data/lib/oci/core/models/create_private_ip_details.rb +42 -6
  33. data/lib/oci/core/models/create_public_ip_details.rb +21 -3
  34. data/lib/oci/core/models/create_route_table_details.rb +42 -6
  35. data/lib/oci/core/models/create_security_list_details.rb +49 -7
  36. data/lib/oci/core/models/create_subnet_details.rb +84 -12
  37. data/lib/oci/core/models/create_vcn_details.rb +42 -6
  38. data/lib/oci/core/models/create_virtual_circuit_details.rb +70 -10
  39. data/lib/oci/core/models/create_virtual_circuit_public_prefix_details.rb +7 -1
  40. data/lib/oci/core/models/create_vnic_details.rb +42 -6
  41. data/lib/oci/core/models/create_volume_backup_details.rb +28 -4
  42. data/lib/oci/core/models/create_volume_backup_policy_assignment_details.rb +14 -2
  43. data/lib/oci/core/models/create_volume_details.rb +70 -10
  44. data/lib/oci/core/models/cross_connect.rb +56 -8
  45. data/lib/oci/core/models/cross_connect_group.rb +28 -4
  46. data/lib/oci/core/models/cross_connect_mapping.rb +28 -4
  47. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +7 -1
  48. data/lib/oci/core/models/cross_connect_status.rb +28 -4
  49. data/lib/oci/core/models/delete_virtual_circuit_public_prefix_details.rb +7 -1
  50. data/lib/oci/core/models/dhcp_dns_option.rb +14 -2
  51. data/lib/oci/core/models/dhcp_options.rb +49 -7
  52. data/lib/oci/core/models/dhcp_search_domain_option.rb +7 -1
  53. data/lib/oci/core/models/drg.rb +28 -4
  54. data/lib/oci/core/models/drg_attachment.rb +42 -6
  55. data/lib/oci/core/models/egress_security_rule.rb +28 -4
  56. data/lib/oci/core/models/export_image_details.rb +7 -1
  57. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +21 -3
  58. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +7 -1
  59. data/lib/oci/core/models/fast_connect_provider_service.rb +35 -5
  60. data/lib/oci/core/models/get_public_ip_by_ip_address_details.rb +7 -1
  61. data/lib/oci/core/models/get_public_ip_by_private_ip_id_details.rb +7 -1
  62. data/lib/oci/core/models/i_scsi_volume_attachment.rb +22 -10
  63. data/lib/oci/core/models/image.rb +84 -12
  64. data/lib/oci/core/models/image_source_details.rb +14 -2
  65. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +22 -4
  66. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +8 -2
  67. data/lib/oci/core/models/ingress_security_rule.rb +28 -4
  68. data/lib/oci/core/models/instance.rb +91 -13
  69. data/lib/oci/core/models/instance_console_connection.rb +49 -7
  70. data/lib/oci/core/models/instance_source_details.rb +7 -1
  71. data/lib/oci/core/models/instance_source_via_boot_volume_details.rb +7 -1
  72. data/lib/oci/core/models/instance_source_via_image_details.rb +7 -1
  73. data/lib/oci/core/models/internet_gateway.rb +42 -6
  74. data/lib/oci/core/models/ip_sec_connection.rb +49 -7
  75. data/lib/oci/core/models/ip_sec_connection_device_config.rb +14 -2
  76. data/lib/oci/core/models/ip_sec_connection_device_status.rb +14 -2
  77. data/lib/oci/core/models/launch_instance_details.rb +84 -12
  78. data/lib/oci/core/models/launch_options.rb +21 -3
  79. data/lib/oci/core/models/letter_of_authority.rb +49 -7
  80. data/lib/oci/core/models/local_peering_gateway.rb +63 -9
  81. data/lib/oci/core/models/private_ip.rb +77 -11
  82. data/lib/oci/core/models/public_ip.rb +49 -7
  83. data/lib/oci/core/models/route_rule.rb +14 -2
  84. data/lib/oci/core/models/route_table.rb +56 -8
  85. data/lib/oci/core/models/security_list.rb +63 -9
  86. data/lib/oci/core/models/subnet.rb +119 -17
  87. data/lib/oci/core/models/tcp_options.rb +14 -2
  88. data/lib/oci/core/models/tunnel_config.rb +21 -3
  89. data/lib/oci/core/models/tunnel_status.rb +28 -4
  90. data/lib/oci/core/models/udp_options.rb +14 -2
  91. data/lib/oci/core/models/update_boot_volume_details.rb +7 -1
  92. data/lib/oci/core/models/update_console_history_details.rb +21 -3
  93. data/lib/oci/core/models/update_cpe_details.rb +7 -1
  94. data/lib/oci/core/models/update_cross_connect_details.rb +14 -2
  95. data/lib/oci/core/models/update_cross_connect_group_details.rb +7 -1
  96. data/lib/oci/core/models/update_dhcp_details.rb +21 -3
  97. data/lib/oci/core/models/update_drg_attachment_details.rb +7 -1
  98. data/lib/oci/core/models/update_drg_details.rb +7 -1
  99. data/lib/oci/core/models/update_image_details.rb +21 -3
  100. data/lib/oci/core/models/update_instance_details.rb +21 -3
  101. data/lib/oci/core/models/update_internet_gateway_details.rb +14 -2
  102. data/lib/oci/core/models/update_ip_sec_connection_details.rb +7 -1
  103. data/lib/oci/core/models/update_local_peering_gateway_details.rb +7 -1
  104. data/lib/oci/core/models/update_private_ip_details.rb +35 -5
  105. data/lib/oci/core/models/update_public_ip_details.rb +14 -2
  106. data/lib/oci/core/models/update_route_table_details.rb +28 -4
  107. data/lib/oci/core/models/update_security_list_details.rb +35 -5
  108. data/lib/oci/core/models/update_subnet_details.rb +21 -3
  109. data/lib/oci/core/models/update_vcn_details.rb +21 -3
  110. data/lib/oci/core/models/update_virtual_circuit_details.rb +49 -7
  111. data/lib/oci/core/models/update_vnic_details.rb +21 -3
  112. data/lib/oci/core/models/update_volume_backup_details.rb +21 -3
  113. data/lib/oci/core/models/update_volume_details.rb +21 -3
  114. data/lib/oci/core/models/vcn.rb +84 -12
  115. data/lib/oci/core/models/virtual_circuit.rb +126 -18
  116. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +7 -1
  117. data/lib/oci/core/models/virtual_circuit_public_prefix.rb +14 -2
  118. data/lib/oci/core/models/vnic.rb +84 -12
  119. data/lib/oci/core/models/vnic_attachment.rb +70 -10
  120. data/lib/oci/core/models/volume.rb +77 -11
  121. data/lib/oci/core/models/volume_attachment.rb +63 -9
  122. data/lib/oci/core/models/volume_backup.rb +98 -14
  123. data/lib/oci/core/models/volume_backup_policy.rb +14 -2
  124. data/lib/oci/core/models/volume_backup_policy_assignment.rb +21 -3
  125. data/lib/oci/core/models/volume_backup_schedule.rb +21 -3
  126. data/lib/oci/database/database_client.rb +2 -2
  127. data/lib/oci/database/models/backup.rb +56 -8
  128. data/lib/oci/database/models/backup_summary.rb +56 -8
  129. data/lib/oci/database/models/create_backup_details.rb +14 -2
  130. data/lib/oci/database/models/create_data_guard_association_details.rb +28 -4
  131. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +10 -4
  132. data/lib/oci/database/models/create_database_details.rb +49 -7
  133. data/lib/oci/database/models/create_database_from_backup_details.rb +21 -3
  134. data/lib/oci/database/models/create_db_home_details.rb +14 -2
  135. data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +14 -2
  136. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +9 -3
  137. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +2 -2
  138. data/lib/oci/database/models/data_guard_association.rb +91 -13
  139. data/lib/oci/database/models/data_guard_association_summary.rb +91 -13
  140. data/lib/oci/database/models/database.rb +84 -12
  141. data/lib/oci/database/models/database_summary.rb +84 -12
  142. data/lib/oci/database/models/db_backup_config.rb +7 -1
  143. data/lib/oci/database/models/db_home.rb +49 -7
  144. data/lib/oci/database/models/db_home_summary.rb +49 -7
  145. data/lib/oci/database/models/db_node.rb +42 -6
  146. data/lib/oci/database/models/db_node_summary.rb +42 -6
  147. data/lib/oci/database/models/db_system.rb +161 -23
  148. data/lib/oci/database/models/db_system_shape_summary.rb +7 -1
  149. data/lib/oci/database/models/db_system_summary.rb +161 -23
  150. data/lib/oci/database/models/db_version_summary.rb +7 -1
  151. data/lib/oci/database/models/failover_data_guard_association_details.rb +7 -1
  152. data/lib/oci/database/models/launch_db_system_details.rb +105 -15
  153. data/lib/oci/database/models/patch.rb +35 -5
  154. data/lib/oci/database/models/patch_details.rb +7 -1
  155. data/lib/oci/database/models/patch_history_entry.rb +35 -5
  156. data/lib/oci/database/models/patch_history_entry_summary.rb +35 -5
  157. data/lib/oci/database/models/patch_summary.rb +35 -5
  158. data/lib/oci/database/models/reinstate_data_guard_association_details.rb +7 -1
  159. data/lib/oci/database/models/restore_database_details.rb +7 -1
  160. data/lib/oci/database/models/switchover_data_guard_association_details.rb +7 -1
  161. data/lib/oci/database/models/update_database_details.rb +7 -1
  162. data/lib/oci/database/models/update_db_home_details.rb +7 -1
  163. data/lib/oci/database/models/update_db_system_details.rb +21 -3
  164. data/lib/oci/dns/models/create_zone_details.rb +21 -3
  165. data/lib/oci/dns/models/record.rb +21 -3
  166. data/lib/oci/dns/models/record_details.rb +21 -3
  167. data/lib/oci/dns/models/record_operation.rb +21 -3
  168. data/lib/oci/dns/models/update_zone_details.rb +7 -1
  169. data/lib/oci/dns/models/zone.rb +42 -6
  170. data/lib/oci/dns/models/zone_summary.rb +28 -4
  171. data/lib/oci/file_storage/file_storage.rb +33 -0
  172. data/lib/oci/file_storage/file_storage_client.rb +1117 -0
  173. data/lib/oci/file_storage/models/create_export_details.rb +162 -0
  174. data/lib/oci/file_storage/models/create_file_system_details.rb +170 -0
  175. data/lib/oci/file_storage/models/create_mount_target_details.rb +242 -0
  176. data/lib/oci/file_storage/models/create_snapshot_details.rb +146 -0
  177. data/lib/oci/file_storage/models/export.rb +261 -0
  178. data/lib/oci/file_storage/models/export_set.rb +315 -0
  179. data/lib/oci/file_storage/models/export_set_summary.rb +260 -0
  180. data/lib/oci/file_storage/models/export_summary.rb +233 -0
  181. data/lib/oci/file_storage/models/file_system.rb +273 -0
  182. data/lib/oci/file_storage/models/file_system_summary.rb +265 -0
  183. data/lib/oci/file_storage/models/mount_target.rb +320 -0
  184. data/lib/oci/file_storage/models/mount_target_summary.rb +300 -0
  185. data/lib/oci/file_storage/models/snapshot.rb +217 -0
  186. data/lib/oci/file_storage/models/snapshot_summary.rb +217 -0
  187. data/lib/oci/file_storage/models/update_export_set_details.rb +185 -0
  188. data/lib/oci/file_storage/models/update_file_system_details.rb +131 -0
  189. data/lib/oci/file_storage/models/update_mount_target_details.rb +131 -0
  190. data/lib/oci/file_storage/util.rb +2 -0
  191. data/lib/oci/identity/models/add_user_to_group_details.rb +14 -2
  192. data/lib/oci/identity/models/api_key.rb +42 -6
  193. data/lib/oci/identity/models/availability_domain.rb +7 -1
  194. data/lib/oci/identity/models/compartment.rb +42 -6
  195. data/lib/oci/identity/models/create_compartment_details.rb +21 -3
  196. data/lib/oci/identity/models/create_customer_secret_key_details.rb +7 -1
  197. data/lib/oci/identity/models/create_dynamic_group_details.rb +14 -2
  198. data/lib/oci/identity/models/create_group_details.rb +21 -3
  199. data/lib/oci/identity/models/create_identity_provider_details.rb +28 -4
  200. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +14 -2
  201. data/lib/oci/identity/models/create_policy_details.rb +28 -4
  202. data/lib/oci/identity/models/create_region_subscription_details.rb +7 -1
  203. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +11 -5
  204. data/lib/oci/identity/models/create_tag_details.rb +14 -2
  205. data/lib/oci/identity/models/create_tag_namespace_details.rb +21 -3
  206. data/lib/oci/identity/models/create_user_details.rb +21 -3
  207. data/lib/oci/identity/models/customer_secret_key.rb +42 -6
  208. data/lib/oci/identity/models/customer_secret_key_summary.rb +42 -6
  209. data/lib/oci/identity/models/dynamic_group.rb +35 -5
  210. data/lib/oci/identity/models/group.rb +42 -6
  211. data/lib/oci/identity/models/identity_provider.rb +49 -7
  212. data/lib/oci/identity/models/idp_group_mapping.rb +49 -7
  213. data/lib/oci/identity/models/policy.rb +49 -7
  214. data/lib/oci/identity/models/region_subscription.rb +21 -3
  215. data/lib/oci/identity/models/saml2_identity_provider.rb +28 -10
  216. data/lib/oci/identity/models/swift_password.rb +35 -5
  217. data/lib/oci/identity/models/tag.rb +49 -7
  218. data/lib/oci/identity/models/tag_namespace.rb +35 -5
  219. data/lib/oci/identity/models/tag_namespace_summary.rb +35 -5
  220. data/lib/oci/identity/models/tag_summary.rb +35 -5
  221. data/lib/oci/identity/models/tenancy.rb +21 -3
  222. data/lib/oci/identity/models/ui_password.rb +28 -4
  223. data/lib/oci/identity/models/update_compartment_details.rb +14 -2
  224. data/lib/oci/identity/models/update_customer_secret_key_details.rb +7 -1
  225. data/lib/oci/identity/models/update_dynamic_group_details.rb +7 -1
  226. data/lib/oci/identity/models/update_group_details.rb +14 -2
  227. data/lib/oci/identity/models/update_identity_provider_details.rb +14 -2
  228. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +14 -2
  229. data/lib/oci/identity/models/update_policy_details.rb +21 -3
  230. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +9 -3
  231. data/lib/oci/identity/models/update_tag_details.rb +21 -3
  232. data/lib/oci/identity/models/update_tag_namespace_details.rb +21 -3
  233. data/lib/oci/identity/models/update_user_details.rb +14 -2
  234. data/lib/oci/identity/models/user.rb +42 -6
  235. data/lib/oci/identity/models/user_group_membership.rb +42 -6
  236. data/lib/oci/load_balancer/models/backend.rb +7 -1
  237. data/lib/oci/load_balancer/models/backend_details.rb +7 -1
  238. data/lib/oci/load_balancer/models/backend_health.rb +7 -1
  239. data/lib/oci/load_balancer/models/backend_set.rb +21 -3
  240. data/lib/oci/load_balancer/models/backend_set_details.rb +21 -3
  241. data/lib/oci/load_balancer/models/backend_set_health.rb +28 -4
  242. data/lib/oci/load_balancer/models/certificate.rb +21 -3
  243. data/lib/oci/load_balancer/models/certificate_details.rb +28 -4
  244. data/lib/oci/load_balancer/models/connection_configuration.rb +7 -1
  245. data/lib/oci/load_balancer/models/create_backend_details.rb +7 -1
  246. data/lib/oci/load_balancer/models/create_backend_set_details.rb +21 -3
  247. data/lib/oci/load_balancer/models/create_certificate_details.rb +28 -4
  248. data/lib/oci/load_balancer/models/create_listener_details.rb +28 -4
  249. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +51 -7
  250. data/lib/oci/load_balancer/models/create_path_route_set_details.rb +7 -1
  251. data/lib/oci/load_balancer/models/health_check_result.rb +21 -3
  252. data/lib/oci/load_balancer/models/health_checker.rb +35 -5
  253. data/lib/oci/load_balancer/models/health_checker_details.rb +35 -5
  254. data/lib/oci/load_balancer/models/ip_address.rb +14 -2
  255. data/lib/oci/load_balancer/models/listener.rb +28 -4
  256. data/lib/oci/load_balancer/models/listener_details.rb +28 -4
  257. data/lib/oci/load_balancer/models/load_balancer.rb +70 -10
  258. data/lib/oci/load_balancer/models/load_balancer_health.rb +28 -4
  259. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +7 -1
  260. data/lib/oci/load_balancer/models/path_match_type.rb +7 -1
  261. data/lib/oci/load_balancer/models/path_route.rb +14 -2
  262. data/lib/oci/load_balancer/models/path_route_set.rb +7 -1
  263. data/lib/oci/load_balancer/models/path_route_set_details.rb +7 -1
  264. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +16 -2
  265. data/lib/oci/load_balancer/models/ssl_configuration.rb +23 -3
  266. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +23 -3
  267. data/lib/oci/load_balancer/models/update_backend_set_details.rb +21 -3
  268. data/lib/oci/load_balancer/models/update_health_checker_details.rb +35 -5
  269. data/lib/oci/load_balancer/models/update_listener_details.rb +28 -4
  270. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +7 -1
  271. data/lib/oci/load_balancer/models/update_path_route_set_details.rb +7 -1
  272. data/lib/oci/load_balancer/models/work_request.rb +35 -5
  273. data/lib/oci/load_balancer/models/work_request_error.rb +7 -1
  274. data/lib/oci/object_storage/models/bucket.rb +83 -11
  275. data/lib/oci/object_storage/models/bucket_summary.rb +67 -7
  276. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +14 -2
  277. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +7 -1
  278. data/lib/oci/object_storage/models/create_bucket_details.rb +67 -7
  279. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +21 -3
  280. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +21 -3
  281. data/lib/oci/object_storage/models/list_objects.rb +7 -1
  282. data/lib/oci/object_storage/models/multipart_upload.rb +14 -2
  283. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +7 -1
  284. data/lib/oci/object_storage/models/namespace_metadata.rb +14 -2
  285. data/lib/oci/object_storage/models/object_summary.rb +7 -1
  286. data/lib/oci/object_storage/models/preauthenticated_request.rb +35 -5
  287. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +28 -4
  288. data/lib/oci/object_storage/models/rename_object_details.rb +35 -5
  289. data/lib/oci/object_storage/models/restore_objects_details.rb +25 -5
  290. data/lib/oci/object_storage/models/update_bucket_details.rb +60 -6
  291. data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +14 -2
  292. data/lib/oci/object_storage/object_storage_client.rb +17 -5
  293. data/lib/oci/object_storage/transfer/multipart/multipart_object_assembler.rb +11 -3
  294. data/lib/oci/signer.rb +0 -8
  295. data/lib/oci/version.rb +1 -1
  296. data/lib/oci/waiter.rb +1 -0
  297. metadata +22 -2
@@ -31,9 +31,9 @@ module OCI
31
31
  # Initializes the object
32
32
  # @param [Hash] attributes Model attributes in the form of hash
33
33
  # @option attributes [String] :name The value to assign to the {#name} property
34
- # @option attributes [String] :zoneType The value to assign to the {#zone_type} property
35
- # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
36
- # @option attributes [Array<OCI::Dns::Models::ExternalMaster>] :externalMasters The value to assign to the {#external_masters} property
34
+ # @option attributes [String] :zone_type The value to assign to the {#zone_type} property
35
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
36
+ # @option attributes [Array<OCI::Dns::Models::ExternalMaster>] :external_masters The value to assign to the {#external_masters} property
37
37
  def initialize(attributes = {})
38
38
  return unless attributes.is_a?(Hash)
39
39
 
@@ -48,14 +48,32 @@ module OCI
48
48
  self.zone_type = attributes[:'zoneType']
49
49
  end
50
50
 
51
+ raise 'You cannot provide both :zoneType and :zone_type' if attributes.key?(:'zoneType') && attributes.key?(:'zone_type')
52
+
53
+ if attributes[:'zone_type']
54
+ self.zone_type = attributes[:'zone_type']
55
+ end
56
+
51
57
  if attributes[:'compartmentId']
52
58
  self.compartment_id = attributes[:'compartmentId']
53
59
  end
54
60
 
61
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
62
+
63
+ if attributes[:'compartment_id']
64
+ self.compartment_id = attributes[:'compartment_id']
65
+ end
66
+
55
67
  if attributes[:'externalMasters']
56
68
  self.external_masters = attributes[:'externalMasters']
57
69
  end
58
70
 
71
+ raise 'You cannot provide both :externalMasters and :external_masters' if attributes.key?(:'externalMasters') && attributes.key?(:'external_masters')
72
+
73
+ if attributes[:'external_masters']
74
+ self.external_masters = attributes[:'external_masters']
75
+ end
76
+
59
77
  end
60
78
 
61
79
  # Custom attribute writer method checking allowed values (enum).
@@ -47,10 +47,10 @@ module OCI
47
47
  # Initializes the object
48
48
  # @param [Hash] attributes Model attributes in the form of hash
49
49
  # @option attributes [String] :domain The value to assign to the {#domain} property
50
- # @option attributes [String] :recordHash The value to assign to the {#record_hash} property
51
- # @option attributes [BOOLEAN] :isProtected The value to assign to the {#is_protected} property
50
+ # @option attributes [String] :record_hash The value to assign to the {#record_hash} property
51
+ # @option attributes [BOOLEAN] :is_protected The value to assign to the {#is_protected} property
52
52
  # @option attributes [String] :rdata The value to assign to the {#rdata} property
53
- # @option attributes [String] :rrsetVersion The value to assign to the {#rrset_version} property
53
+ # @option attributes [String] :rrset_version The value to assign to the {#rrset_version} property
54
54
  # @option attributes [String] :rtype The value to assign to the {#rtype} property
55
55
  # @option attributes [Integer] :ttl The value to assign to the {#ttl} property
56
56
  def initialize(attributes = {})
@@ -67,10 +67,22 @@ module OCI
67
67
  self.record_hash = attributes[:'recordHash']
68
68
  end
69
69
 
70
+ raise 'You cannot provide both :recordHash and :record_hash' if attributes.key?(:'recordHash') && attributes.key?(:'record_hash')
71
+
72
+ if attributes[:'record_hash']
73
+ self.record_hash = attributes[:'record_hash']
74
+ end
75
+
70
76
  unless attributes[:'isProtected'].nil?
71
77
  self.is_protected = attributes[:'isProtected']
72
78
  end
73
79
 
80
+ raise 'You cannot provide both :isProtected and :is_protected' if attributes.key?(:'isProtected') && attributes.key?(:'is_protected')
81
+
82
+ unless attributes[:'is_protected'].nil?
83
+ self.is_protected = attributes[:'is_protected']
84
+ end
85
+
74
86
  if attributes[:'rdata']
75
87
  self.rdata = attributes[:'rdata']
76
88
  end
@@ -79,6 +91,12 @@ module OCI
79
91
  self.rrset_version = attributes[:'rrsetVersion']
80
92
  end
81
93
 
94
+ raise 'You cannot provide both :rrsetVersion and :rrset_version' if attributes.key?(:'rrsetVersion') && attributes.key?(:'rrset_version')
95
+
96
+ if attributes[:'rrset_version']
97
+ self.rrset_version = attributes[:'rrset_version']
98
+ end
99
+
82
100
  if attributes[:'rtype']
83
101
  self.rtype = attributes[:'rtype']
84
102
  end
@@ -47,10 +47,10 @@ module OCI
47
47
  # Initializes the object
48
48
  # @param [Hash] attributes Model attributes in the form of hash
49
49
  # @option attributes [String] :domain The value to assign to the {#domain} property
50
- # @option attributes [String] :recordHash The value to assign to the {#record_hash} property
51
- # @option attributes [BOOLEAN] :isProtected The value to assign to the {#is_protected} property
50
+ # @option attributes [String] :record_hash The value to assign to the {#record_hash} property
51
+ # @option attributes [BOOLEAN] :is_protected The value to assign to the {#is_protected} property
52
52
  # @option attributes [String] :rdata The value to assign to the {#rdata} property
53
- # @option attributes [String] :rrsetVersion The value to assign to the {#rrset_version} property
53
+ # @option attributes [String] :rrset_version The value to assign to the {#rrset_version} property
54
54
  # @option attributes [String] :rtype The value to assign to the {#rtype} property
55
55
  # @option attributes [Integer] :ttl The value to assign to the {#ttl} property
56
56
  def initialize(attributes = {})
@@ -67,10 +67,22 @@ module OCI
67
67
  self.record_hash = attributes[:'recordHash']
68
68
  end
69
69
 
70
+ raise 'You cannot provide both :recordHash and :record_hash' if attributes.key?(:'recordHash') && attributes.key?(:'record_hash')
71
+
72
+ if attributes[:'record_hash']
73
+ self.record_hash = attributes[:'record_hash']
74
+ end
75
+
70
76
  unless attributes[:'isProtected'].nil?
71
77
  self.is_protected = attributes[:'isProtected']
72
78
  end
73
79
 
80
+ raise 'You cannot provide both :isProtected and :is_protected' if attributes.key?(:'isProtected') && attributes.key?(:'is_protected')
81
+
82
+ unless attributes[:'is_protected'].nil?
83
+ self.is_protected = attributes[:'is_protected']
84
+ end
85
+
74
86
  if attributes[:'rdata']
75
87
  self.rdata = attributes[:'rdata']
76
88
  end
@@ -79,6 +91,12 @@ module OCI
79
91
  self.rrset_version = attributes[:'rrsetVersion']
80
92
  end
81
93
 
94
+ raise 'You cannot provide both :rrsetVersion and :rrset_version' if attributes.key?(:'rrsetVersion') && attributes.key?(:'rrset_version')
95
+
96
+ if attributes[:'rrset_version']
97
+ self.rrset_version = attributes[:'rrset_version']
98
+ end
99
+
82
100
  if attributes[:'rtype']
83
101
  self.rtype = attributes[:'rtype']
84
102
  end
@@ -76,10 +76,10 @@ module OCI
76
76
  # Initializes the object
77
77
  # @param [Hash] attributes Model attributes in the form of hash
78
78
  # @option attributes [String] :domain The value to assign to the {#domain} property
79
- # @option attributes [String] :recordHash The value to assign to the {#record_hash} property
80
- # @option attributes [BOOLEAN] :isProtected The value to assign to the {#is_protected} property
79
+ # @option attributes [String] :record_hash The value to assign to the {#record_hash} property
80
+ # @option attributes [BOOLEAN] :is_protected The value to assign to the {#is_protected} property
81
81
  # @option attributes [String] :rdata The value to assign to the {#rdata} property
82
- # @option attributes [String] :rrsetVersion The value to assign to the {#rrset_version} property
82
+ # @option attributes [String] :rrset_version The value to assign to the {#rrset_version} property
83
83
  # @option attributes [String] :rtype The value to assign to the {#rtype} property
84
84
  # @option attributes [Integer] :ttl The value to assign to the {#ttl} property
85
85
  # @option attributes [String] :operation The value to assign to the {#operation} property
@@ -97,10 +97,22 @@ module OCI
97
97
  self.record_hash = attributes[:'recordHash']
98
98
  end
99
99
 
100
+ raise 'You cannot provide both :recordHash and :record_hash' if attributes.key?(:'recordHash') && attributes.key?(:'record_hash')
101
+
102
+ if attributes[:'record_hash']
103
+ self.record_hash = attributes[:'record_hash']
104
+ end
105
+
100
106
  unless attributes[:'isProtected'].nil?
101
107
  self.is_protected = attributes[:'isProtected']
102
108
  end
103
109
 
110
+ raise 'You cannot provide both :isProtected and :is_protected' if attributes.key?(:'isProtected') && attributes.key?(:'is_protected')
111
+
112
+ unless attributes[:'is_protected'].nil?
113
+ self.is_protected = attributes[:'is_protected']
114
+ end
115
+
104
116
  if attributes[:'rdata']
105
117
  self.rdata = attributes[:'rdata']
106
118
  end
@@ -109,6 +121,12 @@ module OCI
109
121
  self.rrset_version = attributes[:'rrsetVersion']
110
122
  end
111
123
 
124
+ raise 'You cannot provide both :rrsetVersion and :rrset_version' if attributes.key?(:'rrsetVersion') && attributes.key?(:'rrset_version')
125
+
126
+ if attributes[:'rrset_version']
127
+ self.rrset_version = attributes[:'rrset_version']
128
+ end
129
+
112
130
  if attributes[:'rtype']
113
131
  self.rtype = attributes[:'rtype']
114
132
  end
@@ -12,7 +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 [Array<OCI::Dns::Models::ExternalMaster>] :externalMasters The value to assign to the {#external_masters} property
15
+ # @option attributes [Array<OCI::Dns::Models::ExternalMaster>] :external_masters The value to assign to the {#external_masters} property
16
16
  def initialize(attributes = {})
17
17
  return unless attributes.is_a?(Hash)
18
18
 
@@ -23,6 +23,12 @@ module OCI
23
23
  self.external_masters = attributes[:'externalMasters']
24
24
  end
25
25
 
26
+ raise 'You cannot provide both :externalMasters and :external_masters' if attributes.key?(:'externalMasters') && attributes.key?(:'external_masters')
27
+
28
+ if attributes[:'external_masters']
29
+ self.external_masters = attributes[:'external_masters']
30
+ end
31
+
26
32
  end
27
33
 
28
34
  # Checks equality by comparing each attribute.
@@ -71,15 +71,15 @@ module OCI
71
71
  # Initializes the object
72
72
  # @param [Hash] attributes Model attributes in the form of hash
73
73
  # @option attributes [String] :name The value to assign to the {#name} property
74
- # @option attributes [String] :zoneType The value to assign to the {#zone_type} property
75
- # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
76
- # @option attributes [Array<OCI::Dns::Models::ExternalMaster>] :externalMasters The value to assign to the {#external_masters} property
77
- # @option attributes [String] :self The value to assign to the {#self_uri} property
74
+ # @option attributes [String] :zone_type The value to assign to the {#zone_type} property
75
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
76
+ # @option attributes [Array<OCI::Dns::Models::ExternalMaster>] :external_masters The value to assign to the {#external_masters} property
77
+ # @option attributes [String] :self_uri The value to assign to the {#self_uri} property
78
78
  # @option attributes [String] :id The value to assign to the {#id} property
79
- # @option attributes [DateTime] :timeCreated The value to assign to the {#time_created} property
79
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
80
80
  # @option attributes [String] :version The value to assign to the {#version} property
81
81
  # @option attributes [Integer] :serial The value to assign to the {#serial} property
82
- # @option attributes [String] :lifecycleState The value to assign to the {#lifecycle_state} property
82
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
83
83
  def initialize(attributes = {})
84
84
  return unless attributes.is_a?(Hash)
85
85
 
@@ -94,18 +94,42 @@ module OCI
94
94
  self.zone_type = attributes[:'zoneType']
95
95
  end
96
96
 
97
+ raise 'You cannot provide both :zoneType and :zone_type' if attributes.key?(:'zoneType') && attributes.key?(:'zone_type')
98
+
99
+ if attributes[:'zone_type']
100
+ self.zone_type = attributes[:'zone_type']
101
+ end
102
+
97
103
  if attributes[:'compartmentId']
98
104
  self.compartment_id = attributes[:'compartmentId']
99
105
  end
100
106
 
107
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
108
+
109
+ if attributes[:'compartment_id']
110
+ self.compartment_id = attributes[:'compartment_id']
111
+ end
112
+
101
113
  if attributes[:'externalMasters']
102
114
  self.external_masters = attributes[:'externalMasters']
103
115
  end
104
116
 
117
+ raise 'You cannot provide both :externalMasters and :external_masters' if attributes.key?(:'externalMasters') && attributes.key?(:'external_masters')
118
+
119
+ if attributes[:'external_masters']
120
+ self.external_masters = attributes[:'external_masters']
121
+ end
122
+
105
123
  if attributes[:'self']
106
124
  self.self_uri = attributes[:'self']
107
125
  end
108
126
 
127
+ raise 'You cannot provide both :self and :self_uri' if attributes.key?(:'self') && attributes.key?(:'self_uri')
128
+
129
+ if attributes[:'self_uri']
130
+ self.self_uri = attributes[:'self_uri']
131
+ end
132
+
109
133
  if attributes[:'id']
110
134
  self.id = attributes[:'id']
111
135
  end
@@ -114,6 +138,12 @@ module OCI
114
138
  self.time_created = attributes[:'timeCreated']
115
139
  end
116
140
 
141
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
142
+
143
+ if attributes[:'time_created']
144
+ self.time_created = attributes[:'time_created']
145
+ end
146
+
117
147
  if attributes[:'version']
118
148
  self.version = attributes[:'version']
119
149
  end
@@ -126,6 +156,12 @@ module OCI
126
156
  self.lifecycle_state = attributes[:'lifecycleState']
127
157
  end
128
158
 
159
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
160
+
161
+ if attributes[:'lifecycle_state']
162
+ self.lifecycle_state = attributes[:'lifecycle_state']
163
+ end
164
+
129
165
  end
130
166
 
131
167
  # Custom attribute writer method checking allowed values (enum).
@@ -55,11 +55,11 @@ module OCI
55
55
  # Initializes the object
56
56
  # @param [Hash] attributes Model attributes in the form of hash
57
57
  # @option attributes [String] :name The value to assign to the {#name} property
58
- # @option attributes [String] :zoneType The value to assign to the {#zone_type} property
59
- # @option attributes [String] :compartmentId The value to assign to the {#compartment_id} property
60
- # @option attributes [String] :self The value to assign to the {#self_uri} property
58
+ # @option attributes [String] :zone_type The value to assign to the {#zone_type} property
59
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
60
+ # @option attributes [String] :self_uri The value to assign to the {#self_uri} property
61
61
  # @option attributes [String] :id The value to assign to the {#id} property
62
- # @option attributes [DateTime] :timeCreated The value to assign to the {#time_created} property
62
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
63
63
  # @option attributes [String] :version The value to assign to the {#version} property
64
64
  # @option attributes [Integer] :serial The value to assign to the {#serial} property
65
65
  def initialize(attributes = {})
@@ -76,14 +76,32 @@ module OCI
76
76
  self.zone_type = attributes[:'zoneType']
77
77
  end
78
78
 
79
+ raise 'You cannot provide both :zoneType and :zone_type' if attributes.key?(:'zoneType') && attributes.key?(:'zone_type')
80
+
81
+ if attributes[:'zone_type']
82
+ self.zone_type = attributes[:'zone_type']
83
+ end
84
+
79
85
  if attributes[:'compartmentId']
80
86
  self.compartment_id = attributes[:'compartmentId']
81
87
  end
82
88
 
89
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
90
+
91
+ if attributes[:'compartment_id']
92
+ self.compartment_id = attributes[:'compartment_id']
93
+ end
94
+
83
95
  if attributes[:'self']
84
96
  self.self_uri = attributes[:'self']
85
97
  end
86
98
 
99
+ raise 'You cannot provide both :self and :self_uri' if attributes.key?(:'self') && attributes.key?(:'self_uri')
100
+
101
+ if attributes[:'self_uri']
102
+ self.self_uri = attributes[:'self_uri']
103
+ end
104
+
87
105
  if attributes[:'id']
88
106
  self.id = attributes[:'id']
89
107
  end
@@ -92,6 +110,12 @@ module OCI
92
110
  self.time_created = attributes[:'timeCreated']
93
111
  end
94
112
 
113
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
114
+
115
+ if attributes[:'time_created']
116
+ self.time_created = attributes[:'time_created']
117
+ end
118
+
95
119
  if attributes[:'version']
96
120
  self.version = attributes[:'version']
97
121
  end
@@ -0,0 +1,33 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module FileStorage
5
+ module Models
6
+ end
7
+ end
8
+ end
9
+
10
+ # Require models
11
+ require 'oci/file_storage/models/create_export_details'
12
+ require 'oci/file_storage/models/create_file_system_details'
13
+ require 'oci/file_storage/models/create_mount_target_details'
14
+ require 'oci/file_storage/models/create_snapshot_details'
15
+ require 'oci/file_storage/models/export'
16
+ require 'oci/file_storage/models/export_set'
17
+ require 'oci/file_storage/models/export_set_summary'
18
+ require 'oci/file_storage/models/export_summary'
19
+ require 'oci/file_storage/models/file_system'
20
+ require 'oci/file_storage/models/file_system_summary'
21
+ require 'oci/file_storage/models/mount_target'
22
+ require 'oci/file_storage/models/mount_target_summary'
23
+ require 'oci/file_storage/models/snapshot'
24
+ require 'oci/file_storage/models/snapshot_summary'
25
+ require 'oci/file_storage/models/update_export_set_details'
26
+ require 'oci/file_storage/models/update_file_system_details'
27
+ require 'oci/file_storage/models/update_mount_target_details'
28
+
29
+ # Require generated clients
30
+ require 'oci/file_storage/file_storage_client'
31
+
32
+ # Require service utilities
33
+ require 'oci/file_storage/util'
@@ -0,0 +1,1117 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require "uri"
4
+ require "logger"
5
+
6
+ module OCI
7
+
8
+ class FileStorage::FileStorageClient
9
+
10
+ # Client used to make HTTP requests.
11
+ # @return [OCI::ApiClient]
12
+ attr_reader :api_client
13
+
14
+ # Fully qualified endpoint URL
15
+ # @return [String]
16
+ attr_reader :endpoint
17
+
18
+ # The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}.
19
+ # @return [String]
20
+ attr_accessor :region
21
+
22
+ # Creates a new FileStorageClient.
23
+ # If a config is not specified, then the global OCI.config will be used.
24
+ #
25
+ # A region must be specified in either the config or the region parameter. If specified
26
+ # in both, then the region parameter will be used.
27
+ #
28
+ # @param [Config] config A Config object.
29
+ # @param [String] region A region used to determine the service endpoint. This will usually
30
+ # correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.
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
49
+
50
+ @api_client = ApiClient.new(config, signer)
51
+
52
+ region ||= config.region
53
+ region ||= signer.region if signer.respond_to?(:region)
54
+ self.region = region
55
+ end
56
+
57
+ # Set the region that will be used to determine the service endpoint.
58
+ # This will usually correspond to a value in {OCI::Regions::REGION_ENUM},
59
+ # but may be an arbitrary string.
60
+ def region=(r)
61
+ @region = r
62
+
63
+ fail 'A region must be specified.' unless @region
64
+
65
+ @endpoint = OCI::Regions.get_service_endpoint(@region, :FileStorageClient) + '/20171215'
66
+ logger.info "FileStorageClient endpoint set to '#{endpoint}'." if logger
67
+ end
68
+
69
+ # @return [Logger] The logger for this client. May be nil.
70
+ def logger
71
+ @api_client.config.logger
72
+ end
73
+
74
+
75
+ # Creates a new export in the specified export set, path, and
76
+ # file system.
77
+ #
78
+ # @param [CreateExportDetails] create_export_details Details for creating a new export.
79
+ # @param [Hash] opts the optional parameters
80
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
81
+ # server error without risk of executing that same action again. Retry tokens expire after 24
82
+ # hours, but can be invalidated before then due to conflicting operations. For example, if a resource
83
+ # has been deleted and purged from the system, then a retry of the original creation request
84
+ # might be rejected.
85
+ #
86
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::Export
87
+ def create_export(create_export_details, opts = {})
88
+ logger.debug "Calling operation FileStorageClient#create_export." if logger
89
+
90
+ fail "Missing the required parameter 'create_export_details' when calling create_export." if create_export_details.nil?
91
+
92
+ path = "/exports"
93
+
94
+ # Query Params
95
+ query_params = {}
96
+
97
+ # Header Params
98
+ header_params = {}
99
+ header_params['accept'] = 'application/json'
100
+ header_params['content-type'] = 'application/json'
101
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
102
+
103
+ post_body = @api_client.object_to_http_body(create_export_details)
104
+
105
+ return @api_client.call_api(
106
+ :POST,
107
+ path,
108
+ endpoint,
109
+ :header_params => header_params,
110
+ :query_params => query_params,
111
+ :body => post_body,
112
+ :return_type => 'OCI::FileStorage::Models::Export')
113
+ end
114
+
115
+ # Creates a new file system in the specified compartment and
116
+ # availability domain. Instances can mount file systems in
117
+ # another availability domain, but doing so might increase
118
+ # latency when compared to mounting instances in the same
119
+ # availability domain.
120
+ #
121
+ # After you create a file system, you can associate it with a mount
122
+ # target. Instances can then mount the file system by connecting to the
123
+ # mount target's IP address. You can associate a file system with
124
+ # more than one mount target at a time.
125
+ #
126
+ # For information about access control and compartments, see
127
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
128
+ #
129
+ # For information about availability domains, see [Regions and
130
+ # Availability Domains](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm).
131
+ # To get a list of availability domains, use the
132
+ # `ListAvailabilityDomains` operation in the Identity and Access
133
+ # Management Service API.
134
+ #
135
+ # All Oracle Cloud Infrastructure resources, including
136
+ # file systems, get an Oracle-assigned, unique ID called an Oracle
137
+ # Cloud Identifier (OCID). When you create a resource, you can
138
+ # find its OCID in the response. You can also retrieve a
139
+ # resource's OCID by using a List API operation on that resource
140
+ # type or by viewing the resource in the Console.
141
+ #
142
+ # @param [CreateFileSystemDetails] create_file_system_details Details for creating a new file system.
143
+ # @param [Hash] opts the optional parameters
144
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
145
+ # server error without risk of executing that same action again. Retry tokens expire after 24
146
+ # hours, but can be invalidated before then due to conflicting operations. For example, if a resource
147
+ # has been deleted and purged from the system, then a retry of the original creation request
148
+ # might be rejected.
149
+ #
150
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::FileSystem
151
+ def create_file_system(create_file_system_details, opts = {})
152
+ logger.debug "Calling operation FileStorageClient#create_file_system." if logger
153
+
154
+ fail "Missing the required parameter 'create_file_system_details' when calling create_file_system." if create_file_system_details.nil?
155
+
156
+ path = "/fileSystems"
157
+
158
+ # Query Params
159
+ query_params = {}
160
+
161
+ # Header Params
162
+ header_params = {}
163
+ header_params['accept'] = 'application/json'
164
+ header_params['content-type'] = 'application/json'
165
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
166
+
167
+ post_body = @api_client.object_to_http_body(create_file_system_details)
168
+
169
+ return @api_client.call_api(
170
+ :POST,
171
+ path,
172
+ endpoint,
173
+ :header_params => header_params,
174
+ :query_params => query_params,
175
+ :body => post_body,
176
+ :return_type => 'OCI::FileStorage::Models::FileSystem')
177
+ end
178
+
179
+ # Creates a new mount target in the specified compartment and
180
+ # subnet. You can associate a file system with a mount
181
+ # target only when they exist in the same availability domain. Instances
182
+ # can connect to mount targets in another availablity domain, but
183
+ # you might see higher latency than with instances in the same
184
+ # availability domain as the mount target.
185
+ #
186
+ # Mount targets have one or more private IP addresses that you can
187
+ # provide as the host portion of remote target parameters in
188
+ # client mount commands. These private IP addresses are listed
189
+ # in the privateIpIds property of the mount target and are highly available. Mount
190
+ # targets also consume additional IP addresses in their subnet.
191
+ #
192
+ # For information about access control and compartments, see
193
+ # [Overview of the IAM
194
+ # Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
195
+ #
196
+ # For information about availability domains, see [Regions and
197
+ # Availability Domains](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm).
198
+ # To get a list of availability domains, use the
199
+ # `ListAvailabilityDomains` operation in the Identity and Access
200
+ # Management Service API.
201
+ #
202
+ # All Oracle Cloud Infrastructure Services resources, including
203
+ # mount targets, get an Oracle-assigned, unique ID called an
204
+ # Oracle Cloud Identifier (OCID). When you create a resource,
205
+ # you can find its OCID in the response. You can also retrieve a
206
+ # resource's OCID by using a List API operation on that resource
207
+ # type, or by viewing the resource in the Console.
208
+ #
209
+ # @param [CreateMountTargetDetails] create_mount_target_details Details for creating a new mount target.
210
+ # @param [Hash] opts the optional parameters
211
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
212
+ # server error without risk of executing that same action again. Retry tokens expire after 24
213
+ # hours, but can be invalidated before then due to conflicting operations. For example, if a resource
214
+ # has been deleted and purged from the system, then a retry of the original creation request
215
+ # might be rejected.
216
+ #
217
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::MountTarget
218
+ def create_mount_target(create_mount_target_details, opts = {})
219
+ logger.debug "Calling operation FileStorageClient#create_mount_target." if logger
220
+
221
+ fail "Missing the required parameter 'create_mount_target_details' when calling create_mount_target." if create_mount_target_details.nil?
222
+
223
+ path = "/mountTargets"
224
+
225
+ # Query Params
226
+ query_params = {}
227
+
228
+ # Header Params
229
+ header_params = {}
230
+ header_params['accept'] = 'application/json'
231
+ header_params['content-type'] = 'application/json'
232
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
233
+
234
+ post_body = @api_client.object_to_http_body(create_mount_target_details)
235
+
236
+ return @api_client.call_api(
237
+ :POST,
238
+ path,
239
+ endpoint,
240
+ :header_params => header_params,
241
+ :query_params => query_params,
242
+ :body => post_body,
243
+ :return_type => 'OCI::FileStorage::Models::MountTarget')
244
+ end
245
+
246
+ # Creates a new snapshot of the specified file system. You
247
+ # can access the snapshot at `.snapshot/<name>`.
248
+ #
249
+ # @param [CreateSnapshotDetails] create_snapshot_details Details for creating a new snapshot.
250
+ # @param [Hash] opts the optional parameters
251
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
252
+ # server error without risk of executing that same action again. Retry tokens expire after 24
253
+ # hours, but can be invalidated before then due to conflicting operations. For example, if a resource
254
+ # has been deleted and purged from the system, then a retry of the original creation request
255
+ # might be rejected.
256
+ #
257
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::Snapshot
258
+ def create_snapshot(create_snapshot_details, opts = {})
259
+ logger.debug "Calling operation FileStorageClient#create_snapshot." if logger
260
+
261
+ fail "Missing the required parameter 'create_snapshot_details' when calling create_snapshot." if create_snapshot_details.nil?
262
+
263
+ path = "/snapshots"
264
+
265
+ # Query Params
266
+ query_params = {}
267
+
268
+ # Header Params
269
+ header_params = {}
270
+ header_params['accept'] = 'application/json'
271
+ header_params['content-type'] = 'application/json'
272
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
273
+
274
+ post_body = @api_client.object_to_http_body(create_snapshot_details)
275
+
276
+ return @api_client.call_api(
277
+ :POST,
278
+ path,
279
+ endpoint,
280
+ :header_params => header_params,
281
+ :query_params => query_params,
282
+ :body => post_body,
283
+ :return_type => 'OCI::FileStorage::Models::Snapshot')
284
+ end
285
+
286
+ # Deletes the specified export.
287
+ #
288
+ # @param [String] export_id The OCID of the export.
289
+ # @param [Hash] opts the optional parameters
290
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
291
+ # for a resource, set the `if-match` parameter to the value of the
292
+ # etag from a previous GET or POST response for that resource.
293
+ # The resource will be updated or deleted only if the etag you
294
+ # provide matches the resource's current etag value.
295
+ #
296
+ # @return [Response] A Response object with data of type nil
297
+ def delete_export(export_id, opts = {})
298
+ logger.debug "Calling operation FileStorageClient#delete_export." if logger
299
+
300
+ fail "Missing the required parameter 'export_id' when calling delete_export." if export_id.nil?
301
+
302
+ path = "/exports/{exportId}".sub('{exportId}', export_id.to_s)
303
+
304
+ # Query Params
305
+ query_params = {}
306
+
307
+ # Header Params
308
+ header_params = {}
309
+ header_params['accept'] = 'application/json'
310
+ header_params['content-type'] = 'application/json'
311
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
312
+
313
+ post_body = nil
314
+
315
+ return @api_client.call_api(
316
+ :DELETE,
317
+ path,
318
+ endpoint,
319
+ :header_params => header_params,
320
+ :query_params => query_params,
321
+ :body => post_body)
322
+ end
323
+
324
+ # Deletes the specified file system. Before you delete the file system,
325
+ # verify that no remaining export resources still reference it. Deleting a
326
+ # file system also deletes all of its snapshots.
327
+ #
328
+ # @param [String] file_system_id The OCID of the file system.
329
+ # @param [Hash] opts the optional parameters
330
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
331
+ # for a resource, set the `if-match` parameter to the value of the
332
+ # etag from a previous GET or POST response for that resource.
333
+ # The resource will be updated or deleted only if the etag you
334
+ # provide matches the resource's current etag value.
335
+ #
336
+ # @return [Response] A Response object with data of type nil
337
+ def delete_file_system(file_system_id, opts = {})
338
+ logger.debug "Calling operation FileStorageClient#delete_file_system." if logger
339
+
340
+ fail "Missing the required parameter 'file_system_id' when calling delete_file_system." if file_system_id.nil?
341
+
342
+ path = "/fileSystems/{fileSystemId}".sub('{fileSystemId}', file_system_id.to_s)
343
+
344
+ # Query Params
345
+ query_params = {}
346
+
347
+ # Header Params
348
+ header_params = {}
349
+ header_params['accept'] = 'application/json'
350
+ header_params['content-type'] = 'application/json'
351
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
352
+
353
+ post_body = nil
354
+
355
+ return @api_client.call_api(
356
+ :DELETE,
357
+ path,
358
+ endpoint,
359
+ :header_params => header_params,
360
+ :query_params => query_params,
361
+ :body => post_body)
362
+ end
363
+
364
+ # Deletes the specified mount target. This operation also deletes the
365
+ # mount target's VNICs.
366
+ #
367
+ # @param [String] mount_target_id The OCID of the mount target.
368
+ # @param [Hash] opts the optional parameters
369
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
370
+ # for a resource, set the `if-match` parameter to the value of the
371
+ # etag from a previous GET or POST response for that resource.
372
+ # The resource will be updated or deleted only if the etag you
373
+ # provide matches the resource's current etag value.
374
+ #
375
+ # @return [Response] A Response object with data of type nil
376
+ def delete_mount_target(mount_target_id, opts = {})
377
+ logger.debug "Calling operation FileStorageClient#delete_mount_target." if logger
378
+
379
+ fail "Missing the required parameter 'mount_target_id' when calling delete_mount_target." if mount_target_id.nil?
380
+
381
+ path = "/mountTargets/{mountTargetId}".sub('{mountTargetId}', mount_target_id.to_s)
382
+
383
+ # Query Params
384
+ query_params = {}
385
+
386
+ # Header Params
387
+ header_params = {}
388
+ header_params['accept'] = 'application/json'
389
+ header_params['content-type'] = 'application/json'
390
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
391
+
392
+ post_body = nil
393
+
394
+ return @api_client.call_api(
395
+ :DELETE,
396
+ path,
397
+ endpoint,
398
+ :header_params => header_params,
399
+ :query_params => query_params,
400
+ :body => post_body)
401
+ end
402
+
403
+ # Deletes the specified snapshot.
404
+ #
405
+ # @param [String] snapshot_id The OCID of the snapshot.
406
+ # @param [Hash] opts the optional parameters
407
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
408
+ # for a resource, set the `if-match` parameter to the value of the
409
+ # etag from a previous GET or POST response for that resource.
410
+ # The resource will be updated or deleted only if the etag you
411
+ # provide matches the resource's current etag value.
412
+ #
413
+ # @return [Response] A Response object with data of type nil
414
+ def delete_snapshot(snapshot_id, opts = {})
415
+ logger.debug "Calling operation FileStorageClient#delete_snapshot." if logger
416
+
417
+ fail "Missing the required parameter 'snapshot_id' when calling delete_snapshot." if snapshot_id.nil?
418
+
419
+ path = "/snapshots/{snapshotId}".sub('{snapshotId}', snapshot_id.to_s)
420
+
421
+ # Query Params
422
+ query_params = {}
423
+
424
+ # Header Params
425
+ header_params = {}
426
+ header_params['accept'] = 'application/json'
427
+ header_params['content-type'] = 'application/json'
428
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
429
+
430
+ post_body = nil
431
+
432
+ return @api_client.call_api(
433
+ :DELETE,
434
+ path,
435
+ endpoint,
436
+ :header_params => header_params,
437
+ :query_params => query_params,
438
+ :body => post_body)
439
+ end
440
+
441
+ # Gets the specified export's information.
442
+ # @param [String] export_id The OCID of the export.
443
+ # @param [Hash] opts the optional parameters
444
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::Export
445
+ def get_export(export_id, opts = {})
446
+ logger.debug "Calling operation FileStorageClient#get_export." if logger
447
+
448
+ fail "Missing the required parameter 'export_id' when calling get_export." if export_id.nil?
449
+
450
+ path = "/exports/{exportId}".sub('{exportId}', export_id.to_s)
451
+
452
+ # Query Params
453
+ query_params = {}
454
+
455
+ # Header Params
456
+ header_params = {}
457
+ header_params['accept'] = 'application/json'
458
+ header_params['content-type'] = 'application/json'
459
+
460
+ post_body = nil
461
+
462
+ return @api_client.call_api(
463
+ :GET,
464
+ path,
465
+ endpoint,
466
+ :header_params => header_params,
467
+ :query_params => query_params,
468
+ :body => post_body,
469
+ :return_type => 'OCI::FileStorage::Models::Export')
470
+ end
471
+
472
+ # Gets the specified export set's information.
473
+ # @param [String] export_set_id The OCID of the export set.
474
+ # @param [Hash] opts the optional parameters
475
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::ExportSet
476
+ def get_export_set(export_set_id, opts = {})
477
+ logger.debug "Calling operation FileStorageClient#get_export_set." if logger
478
+
479
+ fail "Missing the required parameter 'export_set_id' when calling get_export_set." if export_set_id.nil?
480
+
481
+ path = "/exportSets/{exportSetId}".sub('{exportSetId}', export_set_id.to_s)
482
+
483
+ # Query Params
484
+ query_params = {}
485
+
486
+ # Header Params
487
+ header_params = {}
488
+ header_params['accept'] = 'application/json'
489
+ header_params['content-type'] = 'application/json'
490
+
491
+ post_body = nil
492
+
493
+ return @api_client.call_api(
494
+ :GET,
495
+ path,
496
+ endpoint,
497
+ :header_params => header_params,
498
+ :query_params => query_params,
499
+ :body => post_body,
500
+ :return_type => 'OCI::FileStorage::Models::ExportSet')
501
+ end
502
+
503
+ # Gets the specified file system's information.
504
+ # @param [String] file_system_id The OCID of the file system.
505
+ # @param [Hash] opts the optional parameters
506
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::FileSystem
507
+ def get_file_system(file_system_id, opts = {})
508
+ logger.debug "Calling operation FileStorageClient#get_file_system." if logger
509
+
510
+ fail "Missing the required parameter 'file_system_id' when calling get_file_system." if file_system_id.nil?
511
+
512
+ path = "/fileSystems/{fileSystemId}".sub('{fileSystemId}', file_system_id.to_s)
513
+
514
+ # Query Params
515
+ query_params = {}
516
+
517
+ # Header Params
518
+ header_params = {}
519
+ header_params['accept'] = 'application/json'
520
+ header_params['content-type'] = 'application/json'
521
+
522
+ post_body = nil
523
+
524
+ return @api_client.call_api(
525
+ :GET,
526
+ path,
527
+ endpoint,
528
+ :header_params => header_params,
529
+ :query_params => query_params,
530
+ :body => post_body,
531
+ :return_type => 'OCI::FileStorage::Models::FileSystem')
532
+ end
533
+
534
+ # Gets the specified mount target's information.
535
+ # @param [String] mount_target_id The OCID of the mount target.
536
+ # @param [Hash] opts the optional parameters
537
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::MountTarget
538
+ def get_mount_target(mount_target_id, opts = {})
539
+ logger.debug "Calling operation FileStorageClient#get_mount_target." if logger
540
+
541
+ fail "Missing the required parameter 'mount_target_id' when calling get_mount_target." if mount_target_id.nil?
542
+
543
+ path = "/mountTargets/{mountTargetId}".sub('{mountTargetId}', mount_target_id.to_s)
544
+
545
+ # Query Params
546
+ query_params = {}
547
+
548
+ # Header Params
549
+ header_params = {}
550
+ header_params['accept'] = 'application/json'
551
+ header_params['content-type'] = 'application/json'
552
+
553
+ post_body = nil
554
+
555
+ return @api_client.call_api(
556
+ :GET,
557
+ path,
558
+ endpoint,
559
+ :header_params => header_params,
560
+ :query_params => query_params,
561
+ :body => post_body,
562
+ :return_type => 'OCI::FileStorage::Models::MountTarget')
563
+ end
564
+
565
+ # Gets the specified snapshot's information.
566
+ # @param [String] snapshot_id The OCID of the snapshot.
567
+ # @param [Hash] opts the optional parameters
568
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::Snapshot
569
+ def get_snapshot(snapshot_id, opts = {})
570
+ logger.debug "Calling operation FileStorageClient#get_snapshot." if logger
571
+
572
+ fail "Missing the required parameter 'snapshot_id' when calling get_snapshot." if snapshot_id.nil?
573
+
574
+ path = "/snapshots/{snapshotId}".sub('{snapshotId}', snapshot_id.to_s)
575
+
576
+ # Query Params
577
+ query_params = {}
578
+
579
+ # Header Params
580
+ header_params = {}
581
+ header_params['accept'] = 'application/json'
582
+ header_params['content-type'] = 'application/json'
583
+
584
+ post_body = nil
585
+
586
+ return @api_client.call_api(
587
+ :GET,
588
+ path,
589
+ endpoint,
590
+ :header_params => header_params,
591
+ :query_params => query_params,
592
+ :body => post_body,
593
+ :return_type => 'OCI::FileStorage::Models::Snapshot')
594
+ end
595
+
596
+ # Lists the export set resources in the specified compartment.
597
+ #
598
+ # @param [String] compartment_id The OCID of the compartment.
599
+ # @param [String] availability_domain The name of the availability domain.
600
+ #
601
+ # Example: `Uocm:PHX-AD-1`
602
+ #
603
+ # @param [Hash] opts the optional parameters
604
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
605
+ #
606
+ # Example: `500`
607
+ #
608
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
609
+ #
610
+ # @option opts [String] :display_name A user-friendly name. It does not have to be unique, and it is changeable.
611
+ #
612
+ # Example: `My resource`
613
+ #
614
+ # @option opts [String] :lifecycle_state Filter results by the specified lifecycle state. Must be a valid
615
+ # state for the resource type.
616
+ #
617
+ # Allowed values are: CREATING, ACTIVE, DELETING, DELETED, FAILED
618
+ # @option opts [String] :id Filter results by OCID. Must be an OCID of the correct type for
619
+ # the resouce type.
620
+ #
621
+ # @option opts [String] :sort_by The field to sort by. You can provide either value, but not both.
622
+ # By default, when you sort by time created, results are shown
623
+ # in descending order. When you sort by display name, results are
624
+ # shown in ascending order.
625
+ #
626
+ # Allowed values are: TIMECREATED, DISPLAYNAME
627
+ # @option opts [String] :sort_order The sort order to use, either 'asc' or 'desc', where 'asc' is
628
+ # ascending and 'desc' is descending.
629
+ #
630
+ # Allowed values are: ASC, DESC
631
+ # @return [Response] A Response object with data of type Array<OCI::FileStorage::Models::ExportSetSummary>
632
+ def list_export_sets(compartment_id, availability_domain, opts = {})
633
+ logger.debug "Calling operation FileStorageClient#list_export_sets." if logger
634
+
635
+ fail "Missing the required parameter 'compartment_id' when calling list_export_sets." if compartment_id.nil?
636
+ fail "Missing the required parameter 'availability_domain' when calling list_export_sets." if availability_domain.nil?
637
+
638
+ if opts[:'lifecycle_state'] && !['CREATING', 'ACTIVE', 'DELETING', 'DELETED', 'FAILED'].include?(opts[:'lifecycle_state'])
639
+ fail 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, DELETING, DELETED, FAILED.'
640
+ end
641
+
642
+ if opts[:'sort_by'] && !['TIMECREATED', 'DISPLAYNAME'].include?(opts[:'sort_by'])
643
+ fail 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
644
+ end
645
+
646
+ if opts[:'sort_order'] && !['ASC', 'DESC'].include?(opts[:'sort_order'])
647
+ fail 'Invalid value for "sort_order", must be one of ASC, DESC.'
648
+ end
649
+
650
+ path = "/exportSets"
651
+
652
+ # Query Params
653
+ query_params = {}
654
+ query_params[:'compartmentId'] = compartment_id
655
+ query_params[:'availabilityDomain'] = availability_domain
656
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
657
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
658
+ query_params[:'displayName'] = opts[:'display_name'] if opts[:'display_name']
659
+ query_params[:'lifecycleState'] = opts[:'lifecycle_state'] if opts[:'lifecycle_state']
660
+ query_params[:'id'] = opts[:'id'] if opts[:'id']
661
+ query_params[:'sortBy'] = opts[:'sort_by'] if opts[:'sort_by']
662
+ query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order']
663
+
664
+ # Header Params
665
+ header_params = {}
666
+ header_params['accept'] = 'application/json'
667
+ header_params['content-type'] = 'application/json'
668
+
669
+ post_body = nil
670
+
671
+ return @api_client.call_api(
672
+ :GET,
673
+ path,
674
+ endpoint,
675
+ :header_params => header_params,
676
+ :query_params => query_params,
677
+ :body => post_body,
678
+ :return_type => 'Array<OCI::FileStorage::Models::ExportSetSummary>')
679
+ end
680
+
681
+ # Lists the export resources in the specified compartment. You must
682
+ # also specify an export set, a file system, or both.
683
+ #
684
+ # @param [String] compartment_id The OCID of the compartment.
685
+ # @param [Hash] opts the optional parameters
686
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
687
+ #
688
+ # Example: `500`
689
+ #
690
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
691
+ #
692
+ # @option opts [String] :export_set_id The OCID of the export set.
693
+ # @option opts [String] :file_system_id The OCID of the file system.
694
+ # @option opts [String] :lifecycle_state Filter results by the specified lifecycle state. Must be a valid
695
+ # state for the resource type.
696
+ #
697
+ # Allowed values are: CREATING, ACTIVE, DELETING, DELETED, FAILED
698
+ # @option opts [String] :id Filter results by OCID. Must be an OCID of the correct type for
699
+ # the resouce type.
700
+ #
701
+ # @option opts [String] :sort_by The field to sort by. You can provide either value, but not both.
702
+ # By default, when you sort by time created, results are shown
703
+ # in descending order. When you sort by path, results are
704
+ # shown in ascending alphanumeric order.
705
+ #
706
+ # Allowed values are: TIMECREATED, PATH
707
+ # @option opts [String] :sort_order The sort order to use, either 'asc' or 'desc', where 'asc' is
708
+ # ascending and 'desc' is descending.
709
+ #
710
+ # Allowed values are: ASC, DESC
711
+ # @return [Response] A Response object with data of type Array<OCI::FileStorage::Models::ExportSummary>
712
+ def list_exports(compartment_id, opts = {})
713
+ logger.debug "Calling operation FileStorageClient#list_exports." if logger
714
+
715
+ fail "Missing the required parameter 'compartment_id' when calling list_exports." if compartment_id.nil?
716
+
717
+ if opts[:'lifecycle_state'] && !['CREATING', 'ACTIVE', 'DELETING', 'DELETED', 'FAILED'].include?(opts[:'lifecycle_state'])
718
+ fail 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, DELETING, DELETED, FAILED.'
719
+ end
720
+
721
+ if opts[:'sort_by'] && !['TIMECREATED', 'PATH'].include?(opts[:'sort_by'])
722
+ fail 'Invalid value for "sort_by", must be one of TIMECREATED, PATH.'
723
+ end
724
+
725
+ if opts[:'sort_order'] && !['ASC', 'DESC'].include?(opts[:'sort_order'])
726
+ fail 'Invalid value for "sort_order", must be one of ASC, DESC.'
727
+ end
728
+
729
+ path = "/exports"
730
+
731
+ # Query Params
732
+ query_params = {}
733
+ query_params[:'compartmentId'] = compartment_id
734
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
735
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
736
+ query_params[:'exportSetId'] = opts[:'export_set_id'] if opts[:'export_set_id']
737
+ query_params[:'fileSystemId'] = opts[:'file_system_id'] if opts[:'file_system_id']
738
+ query_params[:'lifecycleState'] = opts[:'lifecycle_state'] if opts[:'lifecycle_state']
739
+ query_params[:'id'] = opts[:'id'] if opts[:'id']
740
+ query_params[:'sortBy'] = opts[:'sort_by'] if opts[:'sort_by']
741
+ query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order']
742
+
743
+ # Header Params
744
+ header_params = {}
745
+ header_params['accept'] = 'application/json'
746
+ header_params['content-type'] = 'application/json'
747
+
748
+ post_body = nil
749
+
750
+ return @api_client.call_api(
751
+ :GET,
752
+ path,
753
+ endpoint,
754
+ :header_params => header_params,
755
+ :query_params => query_params,
756
+ :body => post_body,
757
+ :return_type => 'Array<OCI::FileStorage::Models::ExportSummary>')
758
+ end
759
+
760
+ # Lists the file system resources in the specified compartment.
761
+ #
762
+ # @param [String] compartment_id The OCID of the compartment.
763
+ # @param [String] availability_domain The name of the availability domain.
764
+ #
765
+ # Example: `Uocm:PHX-AD-1`
766
+ #
767
+ # @param [Hash] opts the optional parameters
768
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
769
+ #
770
+ # Example: `500`
771
+ #
772
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
773
+ #
774
+ # @option opts [String] :display_name A user-friendly name. It does not have to be unique, and it is changeable.
775
+ #
776
+ # Example: `My resource`
777
+ #
778
+ # @option opts [String] :lifecycle_state Filter results by the specified lifecycle state. Must be a valid
779
+ # state for the resource type.
780
+ #
781
+ # Allowed values are: CREATING, ACTIVE, DELETING, DELETED, FAILED
782
+ # @option opts [String] :id Filter results by OCID. Must be an OCID of the correct type for
783
+ # the resouce type.
784
+ #
785
+ # @option opts [String] :sort_by The field to sort by. You can provide either value, but not both.
786
+ # By default, when you sort by time created, results are shown
787
+ # in descending order. When you sort by display name, results are
788
+ # shown in ascending order.
789
+ #
790
+ # Allowed values are: TIMECREATED, DISPLAYNAME
791
+ # @option opts [String] :sort_order The sort order to use, either 'asc' or 'desc', where 'asc' is
792
+ # ascending and 'desc' is descending.
793
+ #
794
+ # Allowed values are: ASC, DESC
795
+ # @return [Response] A Response object with data of type Array<OCI::FileStorage::Models::FileSystemSummary>
796
+ def list_file_systems(compartment_id, availability_domain, opts = {})
797
+ logger.debug "Calling operation FileStorageClient#list_file_systems." if logger
798
+
799
+ fail "Missing the required parameter 'compartment_id' when calling list_file_systems." if compartment_id.nil?
800
+ fail "Missing the required parameter 'availability_domain' when calling list_file_systems." if availability_domain.nil?
801
+
802
+ if opts[:'lifecycle_state'] && !['CREATING', 'ACTIVE', 'DELETING', 'DELETED', 'FAILED'].include?(opts[:'lifecycle_state'])
803
+ fail 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, DELETING, DELETED, FAILED.'
804
+ end
805
+
806
+ if opts[:'sort_by'] && !['TIMECREATED', 'DISPLAYNAME'].include?(opts[:'sort_by'])
807
+ fail 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
808
+ end
809
+
810
+ if opts[:'sort_order'] && !['ASC', 'DESC'].include?(opts[:'sort_order'])
811
+ fail 'Invalid value for "sort_order", must be one of ASC, DESC.'
812
+ end
813
+
814
+ path = "/fileSystems"
815
+
816
+ # Query Params
817
+ query_params = {}
818
+ query_params[:'compartmentId'] = compartment_id
819
+ query_params[:'availabilityDomain'] = availability_domain
820
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
821
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
822
+ query_params[:'displayName'] = opts[:'display_name'] if opts[:'display_name']
823
+ query_params[:'lifecycleState'] = opts[:'lifecycle_state'] if opts[:'lifecycle_state']
824
+ query_params[:'id'] = opts[:'id'] if opts[:'id']
825
+ query_params[:'sortBy'] = opts[:'sort_by'] if opts[:'sort_by']
826
+ query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order']
827
+
828
+ # Header Params
829
+ header_params = {}
830
+ header_params['accept'] = 'application/json'
831
+ header_params['content-type'] = 'application/json'
832
+
833
+ post_body = nil
834
+
835
+ return @api_client.call_api(
836
+ :GET,
837
+ path,
838
+ endpoint,
839
+ :header_params => header_params,
840
+ :query_params => query_params,
841
+ :body => post_body,
842
+ :return_type => 'Array<OCI::FileStorage::Models::FileSystemSummary>')
843
+ end
844
+
845
+ # Lists the mount target resources in the specified compartment.
846
+ #
847
+ # @param [String] compartment_id The OCID of the compartment.
848
+ # @param [String] availability_domain The name of the availability domain.
849
+ #
850
+ # Example: `Uocm:PHX-AD-1`
851
+ #
852
+ # @param [Hash] opts the optional parameters
853
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
854
+ #
855
+ # Example: `500`
856
+ #
857
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
858
+ #
859
+ # @option opts [String] :display_name A user-friendly name. It does not have to be unique, and it is changeable.
860
+ #
861
+ # Example: `My resource`
862
+ #
863
+ # @option opts [String] :export_set_id The OCID of the export set.
864
+ # @option opts [String] :lifecycle_state Filter results by the specified lifecycle state. Must be a valid
865
+ # state for the resource type.
866
+ #
867
+ # Allowed values are: CREATING, ACTIVE, DELETING, DELETED, FAILED
868
+ # @option opts [String] :id Filter results by OCID. Must be an OCID of the correct type for
869
+ # the resouce type.
870
+ #
871
+ # @option opts [String] :sort_by The field to sort by. You can choose either value, but not both.
872
+ # By default, when you sort by time created, results are shown
873
+ # in descending order. When you sort by display name, results are
874
+ # shown in ascending order.
875
+ #
876
+ # Allowed values are: TIMECREATED, DISPLAYNAME
877
+ # @option opts [String] :sort_order The sort order to use, either 'asc' or 'desc', where 'asc' is
878
+ # ascending and 'desc' is descending.
879
+ #
880
+ # Allowed values are: ASC, DESC
881
+ # @return [Response] A Response object with data of type Array<OCI::FileStorage::Models::MountTargetSummary>
882
+ def list_mount_targets(compartment_id, availability_domain, opts = {})
883
+ logger.debug "Calling operation FileStorageClient#list_mount_targets." if logger
884
+
885
+ fail "Missing the required parameter 'compartment_id' when calling list_mount_targets." if compartment_id.nil?
886
+ fail "Missing the required parameter 'availability_domain' when calling list_mount_targets." if availability_domain.nil?
887
+
888
+ if opts[:'lifecycle_state'] && !['CREATING', 'ACTIVE', 'DELETING', 'DELETED', 'FAILED'].include?(opts[:'lifecycle_state'])
889
+ fail 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, DELETING, DELETED, FAILED.'
890
+ end
891
+
892
+ if opts[:'sort_by'] && !['TIMECREATED', 'DISPLAYNAME'].include?(opts[:'sort_by'])
893
+ fail 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
894
+ end
895
+
896
+ if opts[:'sort_order'] && !['ASC', 'DESC'].include?(opts[:'sort_order'])
897
+ fail 'Invalid value for "sort_order", must be one of ASC, DESC.'
898
+ end
899
+
900
+ path = "/mountTargets"
901
+
902
+ # Query Params
903
+ query_params = {}
904
+ query_params[:'compartmentId'] = compartment_id
905
+ query_params[:'availabilityDomain'] = availability_domain
906
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
907
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
908
+ query_params[:'displayName'] = opts[:'display_name'] if opts[:'display_name']
909
+ query_params[:'exportSetId'] = opts[:'export_set_id'] if opts[:'export_set_id']
910
+ query_params[:'lifecycleState'] = opts[:'lifecycle_state'] if opts[:'lifecycle_state']
911
+ query_params[:'id'] = opts[:'id'] if opts[:'id']
912
+ query_params[:'sortBy'] = opts[:'sort_by'] if opts[:'sort_by']
913
+ query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order']
914
+
915
+ # Header Params
916
+ header_params = {}
917
+ header_params['accept'] = 'application/json'
918
+ header_params['content-type'] = 'application/json'
919
+
920
+ post_body = nil
921
+
922
+ return @api_client.call_api(
923
+ :GET,
924
+ path,
925
+ endpoint,
926
+ :header_params => header_params,
927
+ :query_params => query_params,
928
+ :body => post_body,
929
+ :return_type => 'Array<OCI::FileStorage::Models::MountTargetSummary>')
930
+ end
931
+
932
+ # Lists snapshots of the specified file system.
933
+ #
934
+ # @param [String] file_system_id The OCID of the file system.
935
+ # @param [Hash] opts the optional parameters
936
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
937
+ #
938
+ # Example: `500`
939
+ #
940
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
941
+ #
942
+ # @option opts [String] :lifecycle_state Filter results by the specified lifecycle state. Must be a valid
943
+ # state for the resource type.
944
+ #
945
+ # Allowed values are: CREATING, ACTIVE, DELETING, DELETED, FAILED
946
+ # @option opts [String] :id Filter results by OCID. Must be an OCID of the correct type for
947
+ # the resouce type.
948
+ #
949
+ # @option opts [String] :sort_order The sort order to use, either 'asc' or 'desc', where 'asc' is
950
+ # ascending and 'desc' is descending.
951
+ #
952
+ # Allowed values are: ASC, DESC
953
+ # @return [Response] A Response object with data of type Array<OCI::FileStorage::Models::SnapshotSummary>
954
+ def list_snapshots(file_system_id, opts = {})
955
+ logger.debug "Calling operation FileStorageClient#list_snapshots." if logger
956
+
957
+ fail "Missing the required parameter 'file_system_id' when calling list_snapshots." if file_system_id.nil?
958
+
959
+ if opts[:'lifecycle_state'] && !['CREATING', 'ACTIVE', 'DELETING', 'DELETED', 'FAILED'].include?(opts[:'lifecycle_state'])
960
+ fail 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, DELETING, DELETED, FAILED.'
961
+ end
962
+
963
+ if opts[:'sort_order'] && !['ASC', 'DESC'].include?(opts[:'sort_order'])
964
+ fail 'Invalid value for "sort_order", must be one of ASC, DESC.'
965
+ end
966
+
967
+ path = "/snapshots"
968
+
969
+ # Query Params
970
+ query_params = {}
971
+ query_params[:'fileSystemId'] = file_system_id
972
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
973
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
974
+ query_params[:'lifecycleState'] = opts[:'lifecycle_state'] if opts[:'lifecycle_state']
975
+ query_params[:'id'] = opts[:'id'] if opts[:'id']
976
+ query_params[:'sortOrder'] = opts[:'sort_order'] if opts[:'sort_order']
977
+
978
+ # Header Params
979
+ header_params = {}
980
+ header_params['accept'] = 'application/json'
981
+ header_params['content-type'] = 'application/json'
982
+
983
+ post_body = nil
984
+
985
+ return @api_client.call_api(
986
+ :GET,
987
+ path,
988
+ endpoint,
989
+ :header_params => header_params,
990
+ :query_params => query_params,
991
+ :body => post_body,
992
+ :return_type => 'Array<OCI::FileStorage::Models::SnapshotSummary>')
993
+ end
994
+
995
+ # Updates the specified export set's information.
996
+ # @param [String] export_set_id The OCID of the export set.
997
+ # @param [UpdateExportSetDetails] update_export_set_details Details object for updating an export set.
998
+ # @param [Hash] opts the optional parameters
999
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
1000
+ # for a resource, set the `if-match` parameter to the value of the
1001
+ # etag from a previous GET or POST response for that resource.
1002
+ # The resource will be updated or deleted only if the etag you
1003
+ # provide matches the resource's current etag value.
1004
+ #
1005
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::ExportSet
1006
+ def update_export_set(export_set_id, update_export_set_details, opts = {})
1007
+ logger.debug "Calling operation FileStorageClient#update_export_set." if logger
1008
+
1009
+ fail "Missing the required parameter 'export_set_id' when calling update_export_set." if export_set_id.nil?
1010
+ fail "Missing the required parameter 'update_export_set_details' when calling update_export_set." if update_export_set_details.nil?
1011
+
1012
+ path = "/exportSets/{exportSetId}".sub('{exportSetId}', export_set_id.to_s)
1013
+
1014
+ # Query Params
1015
+ query_params = {}
1016
+
1017
+ # Header Params
1018
+ header_params = {}
1019
+ header_params['accept'] = 'application/json'
1020
+ header_params['content-type'] = 'application/json'
1021
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1022
+
1023
+ post_body = @api_client.object_to_http_body(update_export_set_details)
1024
+
1025
+ return @api_client.call_api(
1026
+ :PUT,
1027
+ path,
1028
+ endpoint,
1029
+ :header_params => header_params,
1030
+ :query_params => query_params,
1031
+ :body => post_body,
1032
+ :return_type => 'OCI::FileStorage::Models::ExportSet')
1033
+ end
1034
+
1035
+ # Updates the specified file system's information.
1036
+ # You can use this operation to rename a file system.
1037
+ #
1038
+ # @param [String] file_system_id The OCID of the file system.
1039
+ # @param [UpdateFileSystemDetails] update_file_system_details Details object for updating a file system.
1040
+ # @param [Hash] opts the optional parameters
1041
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
1042
+ # for a resource, set the `if-match` parameter to the value of the
1043
+ # etag from a previous GET or POST response for that resource.
1044
+ # The resource will be updated or deleted only if the etag you
1045
+ # provide matches the resource's current etag value.
1046
+ #
1047
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::FileSystem
1048
+ def update_file_system(file_system_id, update_file_system_details, opts = {})
1049
+ logger.debug "Calling operation FileStorageClient#update_file_system." if logger
1050
+
1051
+ fail "Missing the required parameter 'file_system_id' when calling update_file_system." if file_system_id.nil?
1052
+ fail "Missing the required parameter 'update_file_system_details' when calling update_file_system." if update_file_system_details.nil?
1053
+
1054
+ path = "/fileSystems/{fileSystemId}".sub('{fileSystemId}', file_system_id.to_s)
1055
+
1056
+ # Query Params
1057
+ query_params = {}
1058
+
1059
+ # Header Params
1060
+ header_params = {}
1061
+ header_params['accept'] = 'application/json'
1062
+ header_params['content-type'] = 'application/json'
1063
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1064
+
1065
+ post_body = @api_client.object_to_http_body(update_file_system_details)
1066
+
1067
+ return @api_client.call_api(
1068
+ :PUT,
1069
+ path,
1070
+ endpoint,
1071
+ :header_params => header_params,
1072
+ :query_params => query_params,
1073
+ :body => post_body,
1074
+ :return_type => 'OCI::FileStorage::Models::FileSystem')
1075
+ end
1076
+
1077
+ # Updates the specified mount target's information.
1078
+ # @param [String] mount_target_id The OCID of the mount target.
1079
+ # @param [UpdateMountTargetDetails] update_mount_target_details Details object for updating a mount target.
1080
+ # @param [Hash] opts the optional parameters
1081
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call
1082
+ # for a resource, set the `if-match` parameter to the value of the
1083
+ # etag from a previous GET or POST response for that resource.
1084
+ # The resource will be updated or deleted only if the etag you
1085
+ # provide matches the resource's current etag value.
1086
+ #
1087
+ # @return [Response] A Response object with data of type OCI::FileStorage::Models::MountTarget
1088
+ def update_mount_target(mount_target_id, update_mount_target_details, opts = {})
1089
+ logger.debug "Calling operation FileStorageClient#update_mount_target." if logger
1090
+
1091
+ fail "Missing the required parameter 'mount_target_id' when calling update_mount_target." if mount_target_id.nil?
1092
+ fail "Missing the required parameter 'update_mount_target_details' when calling update_mount_target." if update_mount_target_details.nil?
1093
+
1094
+ path = "/mountTargets/{mountTargetId}".sub('{mountTargetId}', mount_target_id.to_s)
1095
+
1096
+ # Query Params
1097
+ query_params = {}
1098
+
1099
+ # Header Params
1100
+ header_params = {}
1101
+ header_params['accept'] = 'application/json'
1102
+ header_params['content-type'] = 'application/json'
1103
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1104
+
1105
+ post_body = @api_client.object_to_http_body(update_mount_target_details)
1106
+
1107
+ return @api_client.call_api(
1108
+ :PUT,
1109
+ path,
1110
+ endpoint,
1111
+ :header_params => header_params,
1112
+ :query_params => query_params,
1113
+ :body => post_body,
1114
+ :return_type => 'OCI::FileStorage::Models::MountTarget')
1115
+ end
1116
+ end
1117
+ end