oci 2.0.0

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 (217) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +82 -0
  3. data/README.md +262 -0
  4. data/lib/oci.rb +25 -0
  5. data/lib/oci/api_client.rb +389 -0
  6. data/lib/oci/config.rb +118 -0
  7. data/lib/oci/config_file_loader.rb +96 -0
  8. data/lib/oci/core/blockstorage_client.rb +462 -0
  9. data/lib/oci/core/compute_client.rb +1415 -0
  10. data/lib/oci/core/core.rb +114 -0
  11. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +137 -0
  12. data/lib/oci/core/models/attach_vnic_details.rb +144 -0
  13. data/lib/oci/core/models/attach_volume_details.rb +165 -0
  14. data/lib/oci/core/models/capture_console_history_details.rb +120 -0
  15. data/lib/oci/core/models/console_history.rb +213 -0
  16. data/lib/oci/core/models/cpe.rb +169 -0
  17. data/lib/oci/core/models/create_cpe_details.rb +145 -0
  18. data/lib/oci/core/models/create_cross_connect_details.rb +204 -0
  19. data/lib/oci/core/models/create_cross_connect_group_details.rb +133 -0
  20. data/lib/oci/core/models/create_dhcp_details.rb +153 -0
  21. data/lib/oci/core/models/create_drg_attachment_details.rb +142 -0
  22. data/lib/oci/core/models/create_drg_details.rb +131 -0
  23. data/lib/oci/core/models/create_image_details.rb +159 -0
  24. data/lib/oci/core/models/create_instance_console_connection_details.rb +131 -0
  25. data/lib/oci/core/models/create_internet_gateway_details.rb +153 -0
  26. data/lib/oci/core/models/create_ip_sec_connection_details.rb +168 -0
  27. data/lib/oci/core/models/create_private_ip_details.rb +173 -0
  28. data/lib/oci/core/models/create_route_table_details.rb +153 -0
  29. data/lib/oci/core/models/create_security_list_details.rb +164 -0
  30. data/lib/oci/core/models/create_subnet_details.rb +257 -0
  31. data/lib/oci/core/models/create_vcn_details.rb +171 -0
  32. data/lib/oci/core/models/create_virtual_circuit_details.rb +260 -0
  33. data/lib/oci/core/models/create_vnic_details.rb +214 -0
  34. data/lib/oci/core/models/create_volume_backup_details.rb +133 -0
  35. data/lib/oci/core/models/create_volume_details.rb +170 -0
  36. data/lib/oci/core/models/cross_connect.rb +235 -0
  37. data/lib/oci/core/models/cross_connect_group.rb +187 -0
  38. data/lib/oci/core/models/cross_connect_location.rb +134 -0
  39. data/lib/oci/core/models/cross_connect_mapping.rb +190 -0
  40. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +137 -0
  41. data/lib/oci/core/models/cross_connect_status.rb +200 -0
  42. data/lib/oci/core/models/dhcp_dns_option.rb +171 -0
  43. data/lib/oci/core/models/dhcp_option.rb +135 -0
  44. data/lib/oci/core/models/dhcp_options.rb +208 -0
  45. data/lib/oci/core/models/dhcp_search_domain_option.rb +141 -0
  46. data/lib/oci/core/models/drg.rb +186 -0
  47. data/lib/oci/core/models/drg_attachment.rb +208 -0
  48. data/lib/oci/core/models/egress_security_rule.rb +198 -0
  49. data/lib/oci/core/models/export_image_details.rb +134 -0
  50. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +150 -0
  51. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +130 -0
  52. data/lib/oci/core/models/fast_connect_provider_service.rb +145 -0
  53. data/lib/oci/core/models/i_scsi_volume_attachment.rb +212 -0
  54. data/lib/oci/core/models/icmp_options.rb +131 -0
  55. data/lib/oci/core/models/image.rb +245 -0
  56. data/lib/oci/core/models/image_source_details.rb +134 -0
  57. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +150 -0
  58. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +128 -0
  59. data/lib/oci/core/models/ingress_security_rule.rb +198 -0
  60. data/lib/oci/core/models/instance.rb +307 -0
  61. data/lib/oci/core/models/instance_console_connection.rb +193 -0
  62. data/lib/oci/core/models/instance_credentials.rb +131 -0
  63. data/lib/oci/core/models/internet_gateway.rb +210 -0
  64. data/lib/oci/core/models/ip_sec_connection.rb +223 -0
  65. data/lib/oci/core/models/ip_sec_connection_device_config.rb +153 -0
  66. data/lib/oci/core/models/ip_sec_connection_device_status.rb +156 -0
  67. data/lib/oci/core/models/launch_instance_details.rb +336 -0
  68. data/lib/oci/core/models/letter_of_authority.rb +194 -0
  69. data/lib/oci/core/models/port_range.rb +133 -0
  70. data/lib/oci/core/models/private_ip.rb +248 -0
  71. data/lib/oci/core/models/route_rule.rb +135 -0
  72. data/lib/oci/core/models/route_table.rb +208 -0
  73. data/lib/oci/core/models/security_list.rb +219 -0
  74. data/lib/oci/core/models/shape.rb +122 -0
  75. data/lib/oci/core/models/subnet.rb +351 -0
  76. data/lib/oci/core/models/tcp_options.rb +135 -0
  77. data/lib/oci/core/models/tunnel_config.rb +151 -0
  78. data/lib/oci/core/models/tunnel_status.rb +178 -0
  79. data/lib/oci/core/models/udp_options.rb +135 -0
  80. data/lib/oci/core/models/update_cpe_details.rb +122 -0
  81. data/lib/oci/core/models/update_cross_connect_details.rb +138 -0
  82. data/lib/oci/core/models/update_cross_connect_group_details.rb +122 -0
  83. data/lib/oci/core/models/update_dhcp_details.rb +132 -0
  84. data/lib/oci/core/models/update_drg_attachment_details.rb +122 -0
  85. data/lib/oci/core/models/update_drg_details.rb +122 -0
  86. data/lib/oci/core/models/update_image_details.rb +124 -0
  87. data/lib/oci/core/models/update_instance_details.rb +124 -0
  88. data/lib/oci/core/models/update_internet_gateway_details.rb +133 -0
  89. data/lib/oci/core/models/update_ip_sec_connection_details.rb +122 -0
  90. data/lib/oci/core/models/update_private_ip_details.rb +157 -0
  91. data/lib/oci/core/models/update_route_table_details.rb +133 -0
  92. data/lib/oci/core/models/update_security_list_details.rb +144 -0
  93. data/lib/oci/core/models/update_subnet_details.rb +122 -0
  94. data/lib/oci/core/models/update_vcn_details.rb +122 -0
  95. data/lib/oci/core/models/update_virtual_circuit_details.rb +240 -0
  96. data/lib/oci/core/models/update_vnic_details.rb +144 -0
  97. data/lib/oci/core/models/update_volume_backup_details.rb +122 -0
  98. data/lib/oci/core/models/update_volume_details.rb +122 -0
  99. data/lib/oci/core/models/vcn.rb +276 -0
  100. data/lib/oci/core/models/virtual_circuit.rb +395 -0
  101. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +137 -0
  102. data/lib/oci/core/models/vnic.rb +287 -0
  103. data/lib/oci/core/models/vnic_attachment.rb +250 -0
  104. data/lib/oci/core/models/volume.rb +210 -0
  105. data/lib/oci/core/models/volume_attachment.rb +246 -0
  106. data/lib/oci/core/models/volume_backup.rb +235 -0
  107. data/lib/oci/core/util.rb +1 -0
  108. data/lib/oci/core/virtual_network_client.rb +3421 -0
  109. data/lib/oci/errors.rb +78 -0
  110. data/lib/oci/global_context.rb +20 -0
  111. data/lib/oci/identity/identity.rb +55 -0
  112. data/lib/oci/identity/identity_client.rb +2148 -0
  113. data/lib/oci/identity/models/add_user_to_group_details.rb +131 -0
  114. data/lib/oci/identity/models/api_key.rb +211 -0
  115. data/lib/oci/identity/models/availability_domain.rb +131 -0
  116. data/lib/oci/identity/models/compartment.rb +211 -0
  117. data/lib/oci/identity/models/create_api_key_details.rb +120 -0
  118. data/lib/oci/identity/models/create_compartment_details.rb +145 -0
  119. data/lib/oci/identity/models/create_customer_secret_key_details.rb +121 -0
  120. data/lib/oci/identity/models/create_group_details.rb +144 -0
  121. data/lib/oci/identity/models/create_identity_provider_details.rb +215 -0
  122. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +133 -0
  123. data/lib/oci/identity/models/create_policy_details.rb +173 -0
  124. data/lib/oci/identity/models/create_region_subscription_details.rb +128 -0
  125. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +154 -0
  126. data/lib/oci/identity/models/create_swift_password_details.rb +121 -0
  127. data/lib/oci/identity/models/create_user_details.rb +144 -0
  128. data/lib/oci/identity/models/customer_secret_key.rb +225 -0
  129. data/lib/oci/identity/models/customer_secret_key_summary.rb +213 -0
  130. data/lib/oci/identity/models/group.rb +211 -0
  131. data/lib/oci/identity/models/identity_provider.rb +261 -0
  132. data/lib/oci/identity/models/idp_group_mapping.rb +220 -0
  133. data/lib/oci/identity/models/policy.rb +237 -0
  134. data/lib/oci/identity/models/region.rb +143 -0
  135. data/lib/oci/identity/models/region_subscription.rb +180 -0
  136. data/lib/oci/identity/models/saml2_identity_provider.rb +180 -0
  137. data/lib/oci/identity/models/swift_password.rb +226 -0
  138. data/lib/oci/identity/models/tenancy.rb +159 -0
  139. data/lib/oci/identity/models/ui_password.rb +187 -0
  140. data/lib/oci/identity/models/update_compartment_details.rb +132 -0
  141. data/lib/oci/identity/models/update_customer_secret_key_details.rb +120 -0
  142. data/lib/oci/identity/models/update_group_details.rb +120 -0
  143. data/lib/oci/identity/models/update_identity_provider_details.rb +160 -0
  144. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +131 -0
  145. data/lib/oci/identity/models/update_policy_details.rb +148 -0
  146. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +145 -0
  147. data/lib/oci/identity/models/update_state_details.rb +121 -0
  148. data/lib/oci/identity/models/update_swift_password_details.rb +120 -0
  149. data/lib/oci/identity/models/update_user_details.rb +120 -0
  150. data/lib/oci/identity/models/user.rb +217 -0
  151. data/lib/oci/identity/models/user_group_membership.rb +209 -0
  152. data/lib/oci/identity/util.rb +1 -0
  153. data/lib/oci/internal/internal.rb +10 -0
  154. data/lib/oci/internal/util.rb +69 -0
  155. data/lib/oci/load_balancer/load_balancer.rb +51 -0
  156. data/lib/oci/load_balancer/load_balancer_client.rb +1449 -0
  157. data/lib/oci/load_balancer/models/backend.rb +220 -0
  158. data/lib/oci/load_balancer/models/backend_details.rb +206 -0
  159. data/lib/oci/load_balancer/models/backend_health.rb +158 -0
  160. data/lib/oci/load_balancer/models/backend_set.rb +182 -0
  161. data/lib/oci/load_balancer/models/backend_set_details.rb +165 -0
  162. data/lib/oci/load_balancer/models/backend_set_health.rb +207 -0
  163. data/lib/oci/load_balancer/models/certificate.rb +169 -0
  164. data/lib/oci/load_balancer/models/certificate_details.rb +205 -0
  165. data/lib/oci/load_balancer/models/create_backend_details.rb +206 -0
  166. data/lib/oci/load_balancer/models/create_backend_set_details.rb +181 -0
  167. data/lib/oci/load_balancer/models/create_certificate_details.rb +205 -0
  168. data/lib/oci/load_balancer/models/create_listener_details.rb +175 -0
  169. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +220 -0
  170. data/lib/oci/load_balancer/models/health_check_result.rb +183 -0
  171. data/lib/oci/load_balancer/models/health_checker.rb +224 -0
  172. data/lib/oci/load_balancer/models/health_checker_details.rb +223 -0
  173. data/lib/oci/load_balancer/models/ip_address.rb +139 -0
  174. data/lib/oci/load_balancer/models/listener.rb +174 -0
  175. data/lib/oci/load_balancer/models/listener_details.rb +160 -0
  176. data/lib/oci/load_balancer/models/load_balancer.rb +280 -0
  177. data/lib/oci/load_balancer/models/load_balancer_health.rb +215 -0
  178. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +168 -0
  179. data/lib/oci/load_balancer/models/load_balancer_policy.rb +120 -0
  180. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +120 -0
  181. data/lib/oci/load_balancer/models/load_balancer_shape.rb +120 -0
  182. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +141 -0
  183. data/lib/oci/load_balancer/models/ssl_configuration.rb +155 -0
  184. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +155 -0
  185. data/lib/oci/load_balancer/models/update_backend_details.rb +178 -0
  186. data/lib/oci/load_balancer/models/update_backend_set_details.rb +165 -0
  187. data/lib/oci/load_balancer/models/update_health_checker_details.rb +222 -0
  188. data/lib/oci/load_balancer/models/update_listener_details.rb +160 -0
  189. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +124 -0
  190. data/lib/oci/load_balancer/models/work_request.rb +229 -0
  191. data/lib/oci/load_balancer/models/work_request_error.rb +145 -0
  192. data/lib/oci/load_balancer/util.rb +58 -0
  193. data/lib/oci/object_storage/models/bucket.rb +216 -0
  194. data/lib/oci/object_storage/models/bucket_summary.rb +175 -0
  195. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +133 -0
  196. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +131 -0
  197. data/lib/oci/object_storage/models/create_bucket_details.rb +173 -0
  198. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +166 -0
  199. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +171 -0
  200. data/lib/oci/object_storage/models/list_objects.rb +146 -0
  201. data/lib/oci/object_storage/models/multipart_upload.rb +164 -0
  202. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +153 -0
  203. data/lib/oci/object_storage/models/object_summary.rb +153 -0
  204. data/lib/oci/object_storage/models/preauthenticated_request.rb +207 -0
  205. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +196 -0
  206. data/lib/oci/object_storage/models/update_bucket_details.rb +171 -0
  207. data/lib/oci/object_storage/object_storage.rb +30 -0
  208. data/lib/oci/object_storage/object_storage_client.rb +1185 -0
  209. data/lib/oci/object_storage/util.rb +1 -0
  210. data/lib/oci/regions.rb +43 -0
  211. data/lib/oci/response.rb +80 -0
  212. data/lib/oci/response_headers.rb +144 -0
  213. data/lib/oci/signer.rb +157 -0
  214. data/lib/oci/version.rb +5 -0
  215. data/lib/oci/waiter.rb +101 -0
  216. data/lib/oraclebmc.rb +3 -0
  217. metadata +375 -0
@@ -0,0 +1,114 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module Core
5
+ module Models
6
+ end
7
+ end
8
+ end
9
+
10
+ # Require models
11
+ require 'oci/core/models/attach_i_scsi_volume_details'
12
+ require 'oci/core/models/attach_vnic_details'
13
+ require 'oci/core/models/attach_volume_details'
14
+ require 'oci/core/models/capture_console_history_details'
15
+ require 'oci/core/models/console_history'
16
+ require 'oci/core/models/cpe'
17
+ require 'oci/core/models/create_cpe_details'
18
+ require 'oci/core/models/create_cross_connect_details'
19
+ require 'oci/core/models/create_cross_connect_group_details'
20
+ require 'oci/core/models/create_dhcp_details'
21
+ require 'oci/core/models/create_drg_attachment_details'
22
+ require 'oci/core/models/create_drg_details'
23
+ require 'oci/core/models/create_ip_sec_connection_details'
24
+ require 'oci/core/models/create_image_details'
25
+ require 'oci/core/models/create_instance_console_connection_details'
26
+ require 'oci/core/models/create_internet_gateway_details'
27
+ require 'oci/core/models/create_private_ip_details'
28
+ require 'oci/core/models/create_route_table_details'
29
+ require 'oci/core/models/create_security_list_details'
30
+ require 'oci/core/models/create_subnet_details'
31
+ require 'oci/core/models/create_vcn_details'
32
+ require 'oci/core/models/create_virtual_circuit_details'
33
+ require 'oci/core/models/create_vnic_details'
34
+ require 'oci/core/models/create_volume_backup_details'
35
+ require 'oci/core/models/create_volume_details'
36
+ require 'oci/core/models/cross_connect'
37
+ require 'oci/core/models/cross_connect_group'
38
+ require 'oci/core/models/cross_connect_location'
39
+ require 'oci/core/models/cross_connect_mapping'
40
+ require 'oci/core/models/cross_connect_port_speed_shape'
41
+ require 'oci/core/models/cross_connect_status'
42
+ require 'oci/core/models/dhcp_dns_option'
43
+ require 'oci/core/models/dhcp_option'
44
+ require 'oci/core/models/dhcp_options'
45
+ require 'oci/core/models/dhcp_search_domain_option'
46
+ require 'oci/core/models/drg'
47
+ require 'oci/core/models/drg_attachment'
48
+ require 'oci/core/models/egress_security_rule'
49
+ require 'oci/core/models/export_image_details'
50
+ require 'oci/core/models/export_image_via_object_storage_tuple_details'
51
+ require 'oci/core/models/export_image_via_object_storage_uri_details'
52
+ require 'oci/core/models/fast_connect_provider_service'
53
+ require 'oci/core/models/ip_sec_connection'
54
+ require 'oci/core/models/ip_sec_connection_device_config'
55
+ require 'oci/core/models/ip_sec_connection_device_status'
56
+ require 'oci/core/models/i_scsi_volume_attachment'
57
+ require 'oci/core/models/icmp_options'
58
+ require 'oci/core/models/image'
59
+ require 'oci/core/models/image_source_details'
60
+ require 'oci/core/models/image_source_via_object_storage_tuple_details'
61
+ require 'oci/core/models/image_source_via_object_storage_uri_details'
62
+ require 'oci/core/models/ingress_security_rule'
63
+ require 'oci/core/models/instance'
64
+ require 'oci/core/models/instance_console_connection'
65
+ require 'oci/core/models/instance_credentials'
66
+ require 'oci/core/models/internet_gateway'
67
+ require 'oci/core/models/launch_instance_details'
68
+ require 'oci/core/models/letter_of_authority'
69
+ require 'oci/core/models/port_range'
70
+ require 'oci/core/models/private_ip'
71
+ require 'oci/core/models/route_rule'
72
+ require 'oci/core/models/route_table'
73
+ require 'oci/core/models/security_list'
74
+ require 'oci/core/models/shape'
75
+ require 'oci/core/models/subnet'
76
+ require 'oci/core/models/tcp_options'
77
+ require 'oci/core/models/tunnel_config'
78
+ require 'oci/core/models/tunnel_status'
79
+ require 'oci/core/models/udp_options'
80
+ require 'oci/core/models/update_cpe_details'
81
+ require 'oci/core/models/update_cross_connect_details'
82
+ require 'oci/core/models/update_cross_connect_group_details'
83
+ require 'oci/core/models/update_dhcp_details'
84
+ require 'oci/core/models/update_drg_attachment_details'
85
+ require 'oci/core/models/update_drg_details'
86
+ require 'oci/core/models/update_ip_sec_connection_details'
87
+ require 'oci/core/models/update_image_details'
88
+ require 'oci/core/models/update_instance_details'
89
+ require 'oci/core/models/update_internet_gateway_details'
90
+ require 'oci/core/models/update_private_ip_details'
91
+ require 'oci/core/models/update_route_table_details'
92
+ require 'oci/core/models/update_security_list_details'
93
+ require 'oci/core/models/update_subnet_details'
94
+ require 'oci/core/models/update_vcn_details'
95
+ require 'oci/core/models/update_virtual_circuit_details'
96
+ require 'oci/core/models/update_vnic_details'
97
+ require 'oci/core/models/update_volume_backup_details'
98
+ require 'oci/core/models/update_volume_details'
99
+ require 'oci/core/models/vcn'
100
+ require 'oci/core/models/virtual_circuit'
101
+ require 'oci/core/models/virtual_circuit_bandwidth_shape'
102
+ require 'oci/core/models/vnic'
103
+ require 'oci/core/models/vnic_attachment'
104
+ require 'oci/core/models/volume'
105
+ require 'oci/core/models/volume_attachment'
106
+ require 'oci/core/models/volume_backup'
107
+
108
+ # Require generated clients
109
+ require 'oci/core/blockstorage_client'
110
+ require 'oci/core/compute_client'
111
+ require 'oci/core/virtual_network_client'
112
+
113
+ # Require service utilities
114
+ require 'oci/core/util'
@@ -0,0 +1,137 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require_relative 'attach_volume_details'
5
+
6
+ module OCI
7
+ class Core::Models::AttachIScsiVolumeDetails < Core::Models::AttachVolumeDetails
8
+ # Whether to use CHAP authentication for the volume attachment. Defaults to false.
9
+ # @return [BOOLEAN]
10
+ attr_accessor :use_chap
11
+
12
+
13
+ # Initializes the object
14
+ # @param [Hash] attributes Model attributes in the form of hash
15
+ def initialize(attributes = {})
16
+ return unless attributes.is_a?(Hash)
17
+
18
+ attributes['type'] = 'iscsi'
19
+
20
+ super(attributes)
21
+
22
+ # convert string to symbol for hash key
23
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
24
+
25
+ if attributes[:'useChap']
26
+ self.use_chap = attributes[:'useChap']
27
+ end
28
+
29
+ end
30
+
31
+ # Checks equality by comparing each attribute.
32
+ # @param [Object] other_object to be compared
33
+ def ==(other_object)
34
+ return true if self.equal?(other_object)
35
+ self.class == other_object.class &&
36
+ display_name == other_object.display_name &&
37
+ instance_id == other_object.instance_id &&
38
+ type == other_object.type &&
39
+ volume_id == other_object.volume_id &&
40
+ use_chap == other_object.use_chap
41
+ end
42
+
43
+ # @see the `==` method
44
+ # @param [Object] other_object to be compared
45
+ def eql?(other_object)
46
+ self == other_object
47
+ end
48
+
49
+ # Calculates hash code according to all attributes.
50
+ # @return [Fixnum] Hash code
51
+ def hash
52
+ [display_name, instance_id, type, volume_id, use_chap].hash
53
+ end
54
+
55
+ # Builds the object from hash
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ # @return [Object] Returns the model itself
58
+ def build_from_hash(attributes)
59
+ return nil unless attributes.is_a?(Hash)
60
+ self.class.swagger_types.each_pair do |key, type|
61
+ if type =~ /^Array<(.*)>/i
62
+ # check to ensure the input is an array given that the the attribute
63
+ # is documented as an array but the input is not
64
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
65
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
66
+ end
67
+ elsif !attributes[self.class.attribute_map[key]].nil?
68
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
69
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
70
+ end
71
+
72
+ self
73
+ end
74
+
75
+ # Returns the string representation of the object
76
+ # @return [String] String presentation of the object
77
+ def to_s
78
+ to_hash.to_s
79
+ end
80
+
81
+ # Returns the object in the form of hash
82
+ # @return [Hash] Returns the object in the form of hash
83
+ def to_hash
84
+ hash = {}
85
+ self.class.attribute_map.each_pair do |attr, param|
86
+ value = self.send(attr)
87
+ next if value.nil?
88
+ hash[param] = _to_hash(value)
89
+ end
90
+ hash
91
+ end
92
+
93
+ private
94
+
95
+ # Outputs non-array value in the form of hash
96
+ # For object, use to_hash. Otherwise, just return the value
97
+ # @param [Object] value Any valid value
98
+ # @return [Hash] Returns the value in the form of hash
99
+ def _to_hash(value)
100
+ if value.is_a?(Array)
101
+ value.compact.map{ |v| _to_hash(v) }
102
+ elsif value.is_a?(Hash)
103
+ {}.tap do |hash|
104
+ value.each { |k, v| hash[k] = _to_hash(v) }
105
+ end
106
+ elsif value.respond_to? :to_hash
107
+ value.to_hash
108
+ else
109
+ value
110
+ end
111
+ end
112
+
113
+
114
+
115
+ # Attribute mapping from ruby-style variable name to JSON key.
116
+ def self.attribute_map
117
+ {
118
+ :'display_name' => :'displayName',
119
+ :'instance_id' => :'instanceId',
120
+ :'type' => :'type',
121
+ :'volume_id' => :'volumeId',
122
+ :'use_chap' => :'useChap'
123
+ }
124
+ end
125
+
126
+ # Attribute type mapping.
127
+ def self.swagger_types
128
+ {
129
+ :'display_name' => :'String',
130
+ :'instance_id' => :'String',
131
+ :'type' => :'String',
132
+ :'volume_id' => :'String',
133
+ :'use_chap' => :'BOOLEAN'
134
+ }
135
+ end
136
+ end
137
+ end
@@ -0,0 +1,144 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Core::Models::AttachVnicDetails
7
+ # Details for creating a new VNIC.
8
+ #
9
+ # @return [OCI::Core::Models::CreateVnicDetails]
10
+ attr_accessor :create_vnic_details
11
+
12
+ # A user-friendly name for the attachment. Does not have to be unique, and it cannot be changed.
13
+ #
14
+ # @return [String]
15
+ attr_accessor :display_name
16
+
17
+ # The OCID of the instance.
18
+ # @return [String]
19
+ attr_accessor :instance_id
20
+
21
+
22
+ # Initializes the object
23
+ # @param [Hash] attributes Model attributes in the form of hash
24
+ def initialize(attributes = {})
25
+ return unless attributes.is_a?(Hash)
26
+
27
+ # convert string to symbol for hash key
28
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
29
+
30
+ if attributes[:'createVnicDetails']
31
+ self.create_vnic_details = attributes[:'createVnicDetails']
32
+ end
33
+
34
+ if attributes[:'displayName']
35
+ self.display_name = attributes[:'displayName']
36
+ end
37
+
38
+ if attributes[:'instanceId']
39
+ self.instance_id = attributes[:'instanceId']
40
+ end
41
+
42
+ end
43
+
44
+ # Checks equality by comparing each attribute.
45
+ # @param [Object] other_object to be compared
46
+ def ==(other_object)
47
+ return true if self.equal?(other_object)
48
+ self.class == other_object.class &&
49
+ create_vnic_details == other_object.create_vnic_details &&
50
+ display_name == other_object.display_name &&
51
+ instance_id == other_object.instance_id
52
+ end
53
+
54
+ # @see the `==` method
55
+ # @param [Object] other_object to be compared
56
+ def eql?(other_object)
57
+ self == other_object
58
+ end
59
+
60
+ # Calculates hash code according to all attributes.
61
+ # @return [Fixnum] Hash code
62
+ def hash
63
+ [create_vnic_details, display_name, instance_id].hash
64
+ end
65
+
66
+ # Builds the object from hash
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ # @return [Object] Returns the model itself
69
+ def build_from_hash(attributes)
70
+ return nil unless attributes.is_a?(Hash)
71
+ self.class.swagger_types.each_pair do |key, type|
72
+ if type =~ /^Array<(.*)>/i
73
+ # check to ensure the input is an array given that the the attribute
74
+ # is documented as an array but the input is not
75
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
76
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
77
+ end
78
+ elsif !attributes[self.class.attribute_map[key]].nil?
79
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
80
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
81
+ end
82
+
83
+ self
84
+ end
85
+
86
+ # Returns the string representation of the object
87
+ # @return [String] String presentation of the object
88
+ def to_s
89
+ to_hash.to_s
90
+ end
91
+
92
+ # Returns the object in the form of hash
93
+ # @return [Hash] Returns the object in the form of hash
94
+ def to_hash
95
+ hash = {}
96
+ self.class.attribute_map.each_pair do |attr, param|
97
+ value = self.send(attr)
98
+ next if value.nil?
99
+ hash[param] = _to_hash(value)
100
+ end
101
+ hash
102
+ end
103
+
104
+ private
105
+
106
+ # Outputs non-array value in the form of hash
107
+ # For object, use to_hash. Otherwise, just return the value
108
+ # @param [Object] value Any valid value
109
+ # @return [Hash] Returns the value in the form of hash
110
+ def _to_hash(value)
111
+ if value.is_a?(Array)
112
+ value.compact.map{ |v| _to_hash(v) }
113
+ elsif value.is_a?(Hash)
114
+ {}.tap do |hash|
115
+ value.each { |k, v| hash[k] = _to_hash(v) }
116
+ end
117
+ elsif value.respond_to? :to_hash
118
+ value.to_hash
119
+ else
120
+ value
121
+ end
122
+ end
123
+
124
+
125
+
126
+ # Attribute mapping from ruby-style variable name to JSON key.
127
+ def self.attribute_map
128
+ {
129
+ :'create_vnic_details' => :'createVnicDetails',
130
+ :'display_name' => :'displayName',
131
+ :'instance_id' => :'instanceId'
132
+ }
133
+ end
134
+
135
+ # Attribute type mapping.
136
+ def self.swagger_types
137
+ {
138
+ :'create_vnic_details' => :'OCI::Core::Models::CreateVnicDetails',
139
+ :'display_name' => :'String',
140
+ :'instance_id' => :'String'
141
+ }
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,165 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Core::Models::AttachVolumeDetails
7
+ # A user-friendly name. Does not have to be unique, and it cannot be changed. Avoid entering confidential information.
8
+ #
9
+ # @return [String]
10
+ attr_accessor :display_name
11
+
12
+ # The OCID of the instance.
13
+ # @return [String]
14
+ attr_accessor :instance_id
15
+
16
+ # The type of volume. The only supported value is \"iscsi\".
17
+ # @return [String]
18
+ attr_accessor :type
19
+
20
+ # The OCID of the volume.
21
+ # @return [String]
22
+ attr_accessor :volume_id
23
+
24
+
25
+ # Given the hash representation of a subtype of this class,
26
+ # use the info in the hash to return the class of the subtype.
27
+ def self.get_subtype(object_hash)
28
+ type = object_hash[:'type']
29
+
30
+ return 'OCI::Core::Models::AttachIScsiVolumeDetails' if type == 'iscsi'
31
+
32
+ # TODO: Log a warning when the subtype is not found.
33
+ return 'OCI::Core::Models::AttachVolumeDetails'
34
+ end
35
+
36
+ # Initializes the object
37
+ # @param [Hash] attributes Model attributes in the form of hash
38
+ def initialize(attributes = {})
39
+ return unless attributes.is_a?(Hash)
40
+
41
+ # convert string to symbol for hash key
42
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
43
+
44
+ if attributes[:'displayName']
45
+ self.display_name = attributes[:'displayName']
46
+ end
47
+
48
+ if attributes[:'instanceId']
49
+ self.instance_id = attributes[:'instanceId']
50
+ end
51
+
52
+ if attributes[:'type']
53
+ self.type = attributes[:'type']
54
+ end
55
+
56
+ if attributes[:'volumeId']
57
+ self.volume_id = attributes[:'volumeId']
58
+ end
59
+
60
+ end
61
+
62
+ # Checks equality by comparing each attribute.
63
+ # @param [Object] other_object to be compared
64
+ def ==(other_object)
65
+ return true if self.equal?(other_object)
66
+ self.class == other_object.class &&
67
+ display_name == other_object.display_name &&
68
+ instance_id == other_object.instance_id &&
69
+ type == other_object.type &&
70
+ volume_id == other_object.volume_id
71
+ end
72
+
73
+ # @see the `==` method
74
+ # @param [Object] other_object to be compared
75
+ def eql?(other_object)
76
+ self == other_object
77
+ end
78
+
79
+ # Calculates hash code according to all attributes.
80
+ # @return [Fixnum] Hash code
81
+ def hash
82
+ [display_name, instance_id, type, volume_id].hash
83
+ end
84
+
85
+ # Builds the object from hash
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ # @return [Object] Returns the model itself
88
+ def build_from_hash(attributes)
89
+ return nil unless attributes.is_a?(Hash)
90
+ self.class.swagger_types.each_pair do |key, type|
91
+ if type =~ /^Array<(.*)>/i
92
+ # check to ensure the input is an array given that the the attribute
93
+ # is documented as an array but the input is not
94
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
95
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
96
+ end
97
+ elsif !attributes[self.class.attribute_map[key]].nil?
98
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
99
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
100
+ end
101
+
102
+ self
103
+ end
104
+
105
+ # Returns the string representation of the object
106
+ # @return [String] String presentation of the object
107
+ def to_s
108
+ to_hash.to_s
109
+ end
110
+
111
+ # Returns the object in the form of hash
112
+ # @return [Hash] Returns the object in the form of hash
113
+ def to_hash
114
+ hash = {}
115
+ self.class.attribute_map.each_pair do |attr, param|
116
+ value = self.send(attr)
117
+ next if value.nil?
118
+ hash[param] = _to_hash(value)
119
+ end
120
+ hash
121
+ end
122
+
123
+ private
124
+
125
+ # Outputs non-array value in the form of hash
126
+ # For object, use to_hash. Otherwise, just return the value
127
+ # @param [Object] value Any valid value
128
+ # @return [Hash] Returns the value in the form of hash
129
+ def _to_hash(value)
130
+ if value.is_a?(Array)
131
+ value.compact.map{ |v| _to_hash(v) }
132
+ elsif value.is_a?(Hash)
133
+ {}.tap do |hash|
134
+ value.each { |k, v| hash[k] = _to_hash(v) }
135
+ end
136
+ elsif value.respond_to? :to_hash
137
+ value.to_hash
138
+ else
139
+ value
140
+ end
141
+ end
142
+
143
+
144
+
145
+ # Attribute mapping from ruby-style variable name to JSON key.
146
+ def self.attribute_map
147
+ {
148
+ :'display_name' => :'displayName',
149
+ :'instance_id' => :'instanceId',
150
+ :'type' => :'type',
151
+ :'volume_id' => :'volumeId'
152
+ }
153
+ end
154
+
155
+ # Attribute type mapping.
156
+ def self.swagger_types
157
+ {
158
+ :'display_name' => :'String',
159
+ :'instance_id' => :'String',
160
+ :'type' => :'String',
161
+ :'volume_id' => :'String'
162
+ }
163
+ end
164
+ end
165
+ end