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,130 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require_relative 'export_image_details'
5
+
6
+ module OCI
7
+ class Core::Models::ExportImageViaObjectStorageUriDetails < Core::Models::ExportImageDetails
8
+ # The Object Storage Service URL to export the image to. See [Object Storage URLs](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/Tasks/imageimportexport.htm#URLs)
9
+ # and [pre-authenticated requests](https://docs.us-phoenix-1.oraclecloud.com/Content/Object/Tasks/managingaccess.htm#pre-auth) for constructing URLs for image import/export.
10
+ #
11
+ # @return [String]
12
+ attr_accessor :destination_uri
13
+
14
+
15
+ # Initializes the object
16
+ # @param [Hash] attributes Model attributes in the form of hash
17
+ def initialize(attributes = {})
18
+ return unless attributes.is_a?(Hash)
19
+
20
+ attributes['destinationType'] = 'objectStorageUri'
21
+
22
+ super(attributes)
23
+
24
+ # convert string to symbol for hash key
25
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
26
+
27
+ if attributes[:'destinationUri']
28
+ self.destination_uri = attributes[:'destinationUri']
29
+ end
30
+
31
+ end
32
+
33
+ # Checks equality by comparing each attribute.
34
+ # @param [Object] other_object to be compared
35
+ def ==(other_object)
36
+ return true if self.equal?(other_object)
37
+ self.class == other_object.class &&
38
+ destination_type == other_object.destination_type &&
39
+ destination_uri == other_object.destination_uri
40
+ end
41
+
42
+ # @see the `==` method
43
+ # @param [Object] other_object to be compared
44
+ def eql?(other_object)
45
+ self == other_object
46
+ end
47
+
48
+ # Calculates hash code according to all attributes.
49
+ # @return [Fixnum] Hash code
50
+ def hash
51
+ [destination_type, destination_uri].hash
52
+ end
53
+
54
+ # Builds the object from hash
55
+ # @param [Hash] attributes Model attributes in the form of hash
56
+ # @return [Object] Returns the model itself
57
+ def build_from_hash(attributes)
58
+ return nil unless attributes.is_a?(Hash)
59
+ self.class.swagger_types.each_pair do |key, type|
60
+ if type =~ /^Array<(.*)>/i
61
+ # check to ensure the input is an array given that the the attribute
62
+ # is documented as an array but the input is not
63
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
64
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
65
+ end
66
+ elsif !attributes[self.class.attribute_map[key]].nil?
67
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
68
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
69
+ end
70
+
71
+ self
72
+ end
73
+
74
+ # Returns the string representation of the object
75
+ # @return [String] String presentation of the object
76
+ def to_s
77
+ to_hash.to_s
78
+ end
79
+
80
+ # Returns the object in the form of hash
81
+ # @return [Hash] Returns the object in the form of hash
82
+ def to_hash
83
+ hash = {}
84
+ self.class.attribute_map.each_pair do |attr, param|
85
+ value = self.send(attr)
86
+ next if value.nil?
87
+ hash[param] = _to_hash(value)
88
+ end
89
+ hash
90
+ end
91
+
92
+ private
93
+
94
+ # Outputs non-array value in the form of hash
95
+ # For object, use to_hash. Otherwise, just return the value
96
+ # @param [Object] value Any valid value
97
+ # @return [Hash] Returns the value in the form of hash
98
+ def _to_hash(value)
99
+ if value.is_a?(Array)
100
+ value.compact.map{ |v| _to_hash(v) }
101
+ elsif value.is_a?(Hash)
102
+ {}.tap do |hash|
103
+ value.each { |k, v| hash[k] = _to_hash(v) }
104
+ end
105
+ elsif value.respond_to? :to_hash
106
+ value.to_hash
107
+ else
108
+ value
109
+ end
110
+ end
111
+
112
+
113
+
114
+ # Attribute mapping from ruby-style variable name to JSON key.
115
+ def self.attribute_map
116
+ {
117
+ :'destination_type' => :'destinationType',
118
+ :'destination_uri' => :'destinationUri'
119
+ }
120
+ end
121
+
122
+ # Attribute type mapping.
123
+ def self.swagger_types
124
+ {
125
+ :'destination_type' => :'String',
126
+ :'destination_uri' => :'String'
127
+ }
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,145 @@
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::FastConnectProviderService
7
+ # A description of the service offered by the provider.
8
+ #
9
+ # @return [String]
10
+ attr_accessor :description
11
+
12
+ # The name of the provider.
13
+ #
14
+ # @return [String]
15
+ attr_accessor :provider_name
16
+
17
+ # The name of the service offered by the provider.
18
+ #
19
+ # @return [String]
20
+ attr_accessor :provider_service_name
21
+
22
+
23
+ # Initializes the object
24
+ # @param [Hash] attributes Model attributes in the form of hash
25
+ def initialize(attributes = {})
26
+ return unless attributes.is_a?(Hash)
27
+
28
+ # convert string to symbol for hash key
29
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
30
+
31
+ if attributes[:'description']
32
+ self.description = attributes[:'description']
33
+ end
34
+
35
+ if attributes[:'providerName']
36
+ self.provider_name = attributes[:'providerName']
37
+ end
38
+
39
+ if attributes[:'providerServiceName']
40
+ self.provider_service_name = attributes[:'providerServiceName']
41
+ end
42
+
43
+ end
44
+
45
+ # Checks equality by comparing each attribute.
46
+ # @param [Object] other_object to be compared
47
+ def ==(other_object)
48
+ return true if self.equal?(other_object)
49
+ self.class == other_object.class &&
50
+ description == other_object.description &&
51
+ provider_name == other_object.provider_name &&
52
+ provider_service_name == other_object.provider_service_name
53
+ end
54
+
55
+ # @see the `==` method
56
+ # @param [Object] other_object to be compared
57
+ def eql?(other_object)
58
+ self == other_object
59
+ end
60
+
61
+ # Calculates hash code according to all attributes.
62
+ # @return [Fixnum] Hash code
63
+ def hash
64
+ [description, provider_name, provider_service_name].hash
65
+ end
66
+
67
+ # Builds the object from hash
68
+ # @param [Hash] attributes Model attributes in the form of hash
69
+ # @return [Object] Returns the model itself
70
+ def build_from_hash(attributes)
71
+ return nil unless attributes.is_a?(Hash)
72
+ self.class.swagger_types.each_pair do |key, type|
73
+ if type =~ /^Array<(.*)>/i
74
+ # check to ensure the input is an array given that the the attribute
75
+ # is documented as an array but the input is not
76
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
77
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
78
+ end
79
+ elsif !attributes[self.class.attribute_map[key]].nil?
80
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
81
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
82
+ end
83
+
84
+ self
85
+ end
86
+
87
+ # Returns the string representation of the object
88
+ # @return [String] String presentation of the object
89
+ def to_s
90
+ to_hash.to_s
91
+ end
92
+
93
+ # Returns the object in the form of hash
94
+ # @return [Hash] Returns the object in the form of hash
95
+ def to_hash
96
+ hash = {}
97
+ self.class.attribute_map.each_pair do |attr, param|
98
+ value = self.send(attr)
99
+ next if value.nil?
100
+ hash[param] = _to_hash(value)
101
+ end
102
+ hash
103
+ end
104
+
105
+ private
106
+
107
+ # Outputs non-array value in the form of hash
108
+ # For object, use to_hash. Otherwise, just return the value
109
+ # @param [Object] value Any valid value
110
+ # @return [Hash] Returns the value in the form of hash
111
+ def _to_hash(value)
112
+ if value.is_a?(Array)
113
+ value.compact.map{ |v| _to_hash(v) }
114
+ elsif value.is_a?(Hash)
115
+ {}.tap do |hash|
116
+ value.each { |k, v| hash[k] = _to_hash(v) }
117
+ end
118
+ elsif value.respond_to? :to_hash
119
+ value.to_hash
120
+ else
121
+ value
122
+ end
123
+ end
124
+
125
+
126
+
127
+ # Attribute mapping from ruby-style variable name to JSON key.
128
+ def self.attribute_map
129
+ {
130
+ :'description' => :'description',
131
+ :'provider_name' => :'providerName',
132
+ :'provider_service_name' => :'providerServiceName'
133
+ }
134
+ end
135
+
136
+ # Attribute type mapping.
137
+ def self.swagger_types
138
+ {
139
+ :'description' => :'String',
140
+ :'provider_name' => :'String',
141
+ :'provider_service_name' => :'String'
142
+ }
143
+ end
144
+ end
145
+ end
@@ -0,0 +1,212 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require_relative 'volume_attachment'
5
+
6
+ module OCI
7
+ class Core::Models::IScsiVolumeAttachment < Core::Models::VolumeAttachment
8
+ # The Challenge-Handshake-Authentication-Protocol (CHAP) secret valid for the associated CHAP user name.
9
+ # (Also called the \"CHAP password\".)
10
+ #
11
+ # Example: `d6866c0d-298b-48ba-95af-309b4faux45e`
12
+ #
13
+ # @return [String]
14
+ attr_accessor :chap_secret
15
+
16
+ # The volume's system-generated Challenge-Handshake-Authentication-Protocol (CHAP) user name.
17
+ #
18
+ # Example: `ocid1.volume.oc1.phx.abyhqljrgvttnlx73nmrwfaux7kcvzfs3s66izvxf2h4lgvyndsdsnoiwr5q`
19
+ #
20
+ # @return [String]
21
+ attr_accessor :chap_username
22
+
23
+ # The volume's iSCSI IP address.
24
+ #
25
+ # Example: `169.254.0.2`
26
+ #
27
+ # @return [String]
28
+ attr_accessor :ipv4
29
+
30
+ # The target volume's iSCSI Qualified Name in the format defined by RFC 3720.
31
+ #
32
+ # Example: `iqn.2015-12.us.oracle.com:456b0391-17b8-4122-bbf1-f85fc0bb97d9`
33
+ #
34
+ # @return [String]
35
+ attr_accessor :iqn
36
+
37
+ # The volume's iSCSI port.
38
+ #
39
+ # Example: `3260`
40
+ #
41
+ # @return [Integer]
42
+ attr_accessor :port
43
+
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ return unless attributes.is_a?(Hash)
49
+
50
+ attributes['attachmentType'] = 'iscsi'
51
+
52
+ super(attributes)
53
+
54
+ # convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
56
+
57
+ if attributes[:'chapSecret']
58
+ self.chap_secret = attributes[:'chapSecret']
59
+ end
60
+
61
+ if attributes[:'chapUsername']
62
+ self.chap_username = attributes[:'chapUsername']
63
+ end
64
+
65
+ if attributes[:'ipv4']
66
+ self.ipv4 = attributes[:'ipv4']
67
+ end
68
+
69
+ if attributes[:'iqn']
70
+ self.iqn = attributes[:'iqn']
71
+ end
72
+
73
+ if attributes[:'port']
74
+ self.port = attributes[:'port']
75
+ end
76
+
77
+ end
78
+
79
+ # Checks equality by comparing each attribute.
80
+ # @param [Object] other_object to be compared
81
+ def ==(other_object)
82
+ return true if self.equal?(other_object)
83
+ self.class == other_object.class &&
84
+ attachment_type == other_object.attachment_type &&
85
+ availability_domain == other_object.availability_domain &&
86
+ compartment_id == other_object.compartment_id &&
87
+ display_name == other_object.display_name &&
88
+ id == other_object.id &&
89
+ instance_id == other_object.instance_id &&
90
+ lifecycle_state == other_object.lifecycle_state &&
91
+ time_created == other_object.time_created &&
92
+ volume_id == other_object.volume_id &&
93
+ chap_secret == other_object.chap_secret &&
94
+ chap_username == other_object.chap_username &&
95
+ ipv4 == other_object.ipv4 &&
96
+ iqn == other_object.iqn &&
97
+ port == other_object.port
98
+ end
99
+
100
+ # @see the `==` method
101
+ # @param [Object] other_object to be compared
102
+ def eql?(other_object)
103
+ self == other_object
104
+ end
105
+
106
+ # Calculates hash code according to all attributes.
107
+ # @return [Fixnum] Hash code
108
+ def hash
109
+ [attachment_type, availability_domain, compartment_id, display_name, id, instance_id, lifecycle_state, time_created, volume_id, chap_secret, chap_username, ipv4, iqn, port].hash
110
+ end
111
+
112
+ # Builds the object from hash
113
+ # @param [Hash] attributes Model attributes in the form of hash
114
+ # @return [Object] Returns the model itself
115
+ def build_from_hash(attributes)
116
+ return nil unless attributes.is_a?(Hash)
117
+ self.class.swagger_types.each_pair do |key, type|
118
+ if type =~ /^Array<(.*)>/i
119
+ # check to ensure the input is an array given that the the attribute
120
+ # is documented as an array but the input is not
121
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
122
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
123
+ end
124
+ elsif !attributes[self.class.attribute_map[key]].nil?
125
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
126
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
127
+ end
128
+
129
+ self
130
+ end
131
+
132
+ # Returns the string representation of the object
133
+ # @return [String] String presentation of the object
134
+ def to_s
135
+ to_hash.to_s
136
+ end
137
+
138
+ # Returns the object in the form of hash
139
+ # @return [Hash] Returns the object in the form of hash
140
+ def to_hash
141
+ hash = {}
142
+ self.class.attribute_map.each_pair do |attr, param|
143
+ value = self.send(attr)
144
+ next if value.nil?
145
+ hash[param] = _to_hash(value)
146
+ end
147
+ hash
148
+ end
149
+
150
+ private
151
+
152
+ # Outputs non-array value in the form of hash
153
+ # For object, use to_hash. Otherwise, just return the value
154
+ # @param [Object] value Any valid value
155
+ # @return [Hash] Returns the value in the form of hash
156
+ def _to_hash(value)
157
+ if value.is_a?(Array)
158
+ value.compact.map{ |v| _to_hash(v) }
159
+ elsif value.is_a?(Hash)
160
+ {}.tap do |hash|
161
+ value.each { |k, v| hash[k] = _to_hash(v) }
162
+ end
163
+ elsif value.respond_to? :to_hash
164
+ value.to_hash
165
+ else
166
+ value
167
+ end
168
+ end
169
+
170
+
171
+
172
+ # Attribute mapping from ruby-style variable name to JSON key.
173
+ def self.attribute_map
174
+ {
175
+ :'attachment_type' => :'attachmentType',
176
+ :'availability_domain' => :'availabilityDomain',
177
+ :'compartment_id' => :'compartmentId',
178
+ :'display_name' => :'displayName',
179
+ :'id' => :'id',
180
+ :'instance_id' => :'instanceId',
181
+ :'lifecycle_state' => :'lifecycleState',
182
+ :'time_created' => :'timeCreated',
183
+ :'volume_id' => :'volumeId',
184
+ :'chap_secret' => :'chapSecret',
185
+ :'chap_username' => :'chapUsername',
186
+ :'ipv4' => :'ipv4',
187
+ :'iqn' => :'iqn',
188
+ :'port' => :'port'
189
+ }
190
+ end
191
+
192
+ # Attribute type mapping.
193
+ def self.swagger_types
194
+ {
195
+ :'attachment_type' => :'String',
196
+ :'availability_domain' => :'String',
197
+ :'compartment_id' => :'String',
198
+ :'display_name' => :'String',
199
+ :'id' => :'String',
200
+ :'instance_id' => :'String',
201
+ :'lifecycle_state' => :'String',
202
+ :'time_created' => :'DateTime',
203
+ :'volume_id' => :'String',
204
+ :'chap_secret' => :'String',
205
+ :'chap_username' => :'String',
206
+ :'ipv4' => :'String',
207
+ :'iqn' => :'String',
208
+ :'port' => :'Integer'
209
+ }
210
+ end
211
+ end
212
+ end