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,131 @@
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::CreateInstanceConsoleConnectionDetails
7
+ # The host instance OCID
8
+ # @return [String]
9
+ attr_accessor :instance_id
10
+
11
+ # An ssh public key that will be used to authenticate the console connection.
12
+ # @return [String]
13
+ attr_accessor :public_key
14
+
15
+
16
+ # Initializes the object
17
+ # @param [Hash] attributes Model attributes in the form of hash
18
+ def initialize(attributes = {})
19
+ return unless attributes.is_a?(Hash)
20
+
21
+ # convert string to symbol for hash key
22
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
23
+
24
+ if attributes[:'instanceId']
25
+ self.instance_id = attributes[:'instanceId']
26
+ end
27
+
28
+ if attributes[:'publicKey']
29
+ self.public_key = attributes[:'publicKey']
30
+ end
31
+
32
+ end
33
+
34
+ # Checks equality by comparing each attribute.
35
+ # @param [Object] other_object to be compared
36
+ def ==(other_object)
37
+ return true if self.equal?(other_object)
38
+ self.class == other_object.class &&
39
+ instance_id == other_object.instance_id &&
40
+ public_key == other_object.public_key
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
+ [instance_id, public_key].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
+ :'instance_id' => :'instanceId',
119
+ :'public_key' => :'publicKey'
120
+ }
121
+ end
122
+
123
+ # Attribute type mapping.
124
+ def self.swagger_types
125
+ {
126
+ :'instance_id' => :'String',
127
+ :'public_key' => :'String'
128
+ }
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,153 @@
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::CreateInternetGatewayDetails
7
+ # The OCID of the compartment to contain the Internet Gateway.
8
+ # @return [String]
9
+ attr_accessor :compartment_id
10
+
11
+ # A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
12
+ # @return [String]
13
+ attr_accessor :display_name
14
+
15
+ # Whether the gateway is enabled upon creation.
16
+ # @return [BOOLEAN]
17
+ attr_accessor :is_enabled
18
+
19
+ # The OCID of the VCN the Internet Gateway is attached to.
20
+ # @return [String]
21
+ attr_accessor :vcn_id
22
+
23
+
24
+ # Initializes the object
25
+ # @param [Hash] attributes Model attributes in the form of hash
26
+ def initialize(attributes = {})
27
+ return unless attributes.is_a?(Hash)
28
+
29
+ # convert string to symbol for hash key
30
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
31
+
32
+ if attributes[:'compartmentId']
33
+ self.compartment_id = attributes[:'compartmentId']
34
+ end
35
+
36
+ if attributes[:'displayName']
37
+ self.display_name = attributes[:'displayName']
38
+ end
39
+
40
+ if attributes[:'isEnabled']
41
+ self.is_enabled = attributes[:'isEnabled']
42
+ end
43
+
44
+ if attributes[:'vcnId']
45
+ self.vcn_id = attributes[:'vcnId']
46
+ end
47
+
48
+ end
49
+
50
+ # Checks equality by comparing each attribute.
51
+ # @param [Object] other_object to be compared
52
+ def ==(other_object)
53
+ return true if self.equal?(other_object)
54
+ self.class == other_object.class &&
55
+ compartment_id == other_object.compartment_id &&
56
+ display_name == other_object.display_name &&
57
+ is_enabled == other_object.is_enabled &&
58
+ vcn_id == other_object.vcn_id
59
+ end
60
+
61
+ # @see the `==` method
62
+ # @param [Object] other_object to be compared
63
+ def eql?(other_object)
64
+ self == other_object
65
+ end
66
+
67
+ # Calculates hash code according to all attributes.
68
+ # @return [Fixnum] Hash code
69
+ def hash
70
+ [compartment_id, display_name, is_enabled, vcn_id].hash
71
+ end
72
+
73
+ # Builds the object from hash
74
+ # @param [Hash] attributes Model attributes in the form of hash
75
+ # @return [Object] Returns the model itself
76
+ def build_from_hash(attributes)
77
+ return nil unless attributes.is_a?(Hash)
78
+ self.class.swagger_types.each_pair do |key, type|
79
+ if type =~ /^Array<(.*)>/i
80
+ # check to ensure the input is an array given that the the attribute
81
+ # is documented as an array but the input is not
82
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
83
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
84
+ end
85
+ elsif !attributes[self.class.attribute_map[key]].nil?
86
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
87
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
88
+ end
89
+
90
+ self
91
+ end
92
+
93
+ # Returns the string representation of the object
94
+ # @return [String] String presentation of the object
95
+ def to_s
96
+ to_hash.to_s
97
+ end
98
+
99
+ # Returns the object in the form of hash
100
+ # @return [Hash] Returns the object in the form of hash
101
+ def to_hash
102
+ hash = {}
103
+ self.class.attribute_map.each_pair do |attr, param|
104
+ value = self.send(attr)
105
+ next if value.nil?
106
+ hash[param] = _to_hash(value)
107
+ end
108
+ hash
109
+ end
110
+
111
+ private
112
+
113
+ # Outputs non-array value in the form of hash
114
+ # For object, use to_hash. Otherwise, just return the value
115
+ # @param [Object] value Any valid value
116
+ # @return [Hash] Returns the value in the form of hash
117
+ def _to_hash(value)
118
+ if value.is_a?(Array)
119
+ value.compact.map{ |v| _to_hash(v) }
120
+ elsif value.is_a?(Hash)
121
+ {}.tap do |hash|
122
+ value.each { |k, v| hash[k] = _to_hash(v) }
123
+ end
124
+ elsif value.respond_to? :to_hash
125
+ value.to_hash
126
+ else
127
+ value
128
+ end
129
+ end
130
+
131
+
132
+
133
+ # Attribute mapping from ruby-style variable name to JSON key.
134
+ def self.attribute_map
135
+ {
136
+ :'compartment_id' => :'compartmentId',
137
+ :'display_name' => :'displayName',
138
+ :'is_enabled' => :'isEnabled',
139
+ :'vcn_id' => :'vcnId'
140
+ }
141
+ end
142
+
143
+ # Attribute type mapping.
144
+ def self.swagger_types
145
+ {
146
+ :'compartment_id' => :'String',
147
+ :'display_name' => :'String',
148
+ :'is_enabled' => :'BOOLEAN',
149
+ :'vcn_id' => :'String'
150
+ }
151
+ end
152
+ end
153
+ end
@@ -0,0 +1,168 @@
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::CreateIPSecConnectionDetails
7
+ # The OCID of the compartment to contain the IPSec connection.
8
+ # @return [String]
9
+ attr_accessor :compartment_id
10
+
11
+ # The OCID of the CPE.
12
+ # @return [String]
13
+ attr_accessor :cpe_id
14
+
15
+ # A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
16
+ # @return [String]
17
+ attr_accessor :display_name
18
+
19
+ # The OCID of the DRG.
20
+ # @return [String]
21
+ attr_accessor :drg_id
22
+
23
+ # Static routes to the CPE. At least one route must be included. The CIDR must not be a
24
+ # multicast address or class E address.
25
+ #
26
+ # Example: `10.0.1.0/24`
27
+ #
28
+ # @return [Array<String>]
29
+ attr_accessor :static_routes
30
+
31
+
32
+ # Initializes the object
33
+ # @param [Hash] attributes Model attributes in the form of hash
34
+ def initialize(attributes = {})
35
+ return unless attributes.is_a?(Hash)
36
+
37
+ # convert string to symbol for hash key
38
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
39
+
40
+ if attributes[:'compartmentId']
41
+ self.compartment_id = attributes[:'compartmentId']
42
+ end
43
+
44
+ if attributes[:'cpeId']
45
+ self.cpe_id = attributes[:'cpeId']
46
+ end
47
+
48
+ if attributes[:'displayName']
49
+ self.display_name = attributes[:'displayName']
50
+ end
51
+
52
+ if attributes[:'drgId']
53
+ self.drg_id = attributes[:'drgId']
54
+ end
55
+
56
+ if attributes[:'staticRoutes']
57
+ self.static_routes = attributes[:'staticRoutes']
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
+ compartment_id == other_object.compartment_id &&
68
+ cpe_id == other_object.cpe_id &&
69
+ display_name == other_object.display_name &&
70
+ drg_id == other_object.drg_id &&
71
+ static_routes == other_object.static_routes
72
+ end
73
+
74
+ # @see the `==` method
75
+ # @param [Object] other_object to be compared
76
+ def eql?(other_object)
77
+ self == other_object
78
+ end
79
+
80
+ # Calculates hash code according to all attributes.
81
+ # @return [Fixnum] Hash code
82
+ def hash
83
+ [compartment_id, cpe_id, display_name, drg_id, static_routes].hash
84
+ end
85
+
86
+ # Builds the object from hash
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ # @return [Object] Returns the model itself
89
+ def build_from_hash(attributes)
90
+ return nil unless attributes.is_a?(Hash)
91
+ self.class.swagger_types.each_pair do |key, type|
92
+ if type =~ /^Array<(.*)>/i
93
+ # check to ensure the input is an array given that the the attribute
94
+ # is documented as an array but the input is not
95
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
96
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
97
+ end
98
+ elsif !attributes[self.class.attribute_map[key]].nil?
99
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
100
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
101
+ end
102
+
103
+ self
104
+ end
105
+
106
+ # Returns the string representation of the object
107
+ # @return [String] String presentation of the object
108
+ def to_s
109
+ to_hash.to_s
110
+ end
111
+
112
+ # Returns the object in the form of hash
113
+ # @return [Hash] Returns the object in the form of hash
114
+ def to_hash
115
+ hash = {}
116
+ self.class.attribute_map.each_pair do |attr, param|
117
+ value = self.send(attr)
118
+ next if value.nil?
119
+ hash[param] = _to_hash(value)
120
+ end
121
+ hash
122
+ end
123
+
124
+ private
125
+
126
+ # Outputs non-array value in the form of hash
127
+ # For object, use to_hash. Otherwise, just return the value
128
+ # @param [Object] value Any valid value
129
+ # @return [Hash] Returns the value in the form of hash
130
+ def _to_hash(value)
131
+ if value.is_a?(Array)
132
+ value.compact.map{ |v| _to_hash(v) }
133
+ elsif value.is_a?(Hash)
134
+ {}.tap do |hash|
135
+ value.each { |k, v| hash[k] = _to_hash(v) }
136
+ end
137
+ elsif value.respond_to? :to_hash
138
+ value.to_hash
139
+ else
140
+ value
141
+ end
142
+ end
143
+
144
+
145
+
146
+ # Attribute mapping from ruby-style variable name to JSON key.
147
+ def self.attribute_map
148
+ {
149
+ :'compartment_id' => :'compartmentId',
150
+ :'cpe_id' => :'cpeId',
151
+ :'display_name' => :'displayName',
152
+ :'drg_id' => :'drgId',
153
+ :'static_routes' => :'staticRoutes'
154
+ }
155
+ end
156
+
157
+ # Attribute type mapping.
158
+ def self.swagger_types
159
+ {
160
+ :'compartment_id' => :'String',
161
+ :'cpe_id' => :'String',
162
+ :'display_name' => :'String',
163
+ :'drg_id' => :'String',
164
+ :'static_routes' => :'Array<String>'
165
+ }
166
+ end
167
+ end
168
+ end