oci 2.0.7 → 2.0.8

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