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,223 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class LoadBalancer::Models::HealthCheckerDetails
7
+ # The interval between health checks, in milliseconds.
8
+ #
9
+ # Example: `30000`
10
+ #
11
+ # @return [Integer]
12
+ attr_accessor :interval_in_millis
13
+
14
+ # The backend server port against which to run the health check. If the port is not specified, the load balancer uses the
15
+ # port information from the `Backend` object.
16
+ #
17
+ # Example: `8080`
18
+ #
19
+ # @return [Integer]
20
+ attr_accessor :port
21
+
22
+ # The protocol the health check must use; either HTTP or TCP.
23
+ #
24
+ # Example: `HTTP`
25
+ #
26
+ # @return [String]
27
+ attr_accessor :protocol
28
+
29
+ # A regular expression for parsing the response body from the backend server.
30
+ #
31
+ # Example: `^(500|40[1348])$`
32
+ #
33
+ # @return [String]
34
+ attr_accessor :response_body_regex
35
+
36
+ # The number of retries to attempt before a backend server is considered \"unhealthy\".
37
+ #
38
+ # Example: `3`
39
+ #
40
+ # @return [Integer]
41
+ attr_accessor :retries
42
+
43
+ # The status code a healthy backend server should return.
44
+ #
45
+ # Example: `200`
46
+ #
47
+ # @return [Integer]
48
+ attr_accessor :return_code
49
+
50
+ # The maximum time, in milliseconds, to wait for a reply to a health check. A health check is successful only if a reply
51
+ # returns within this timeout period.
52
+ #
53
+ # Example: `6000`
54
+ #
55
+ # @return [Integer]
56
+ attr_accessor :timeout_in_millis
57
+
58
+ # The path against which to run the health check.
59
+ #
60
+ # Example: `/healthcheck`
61
+ #
62
+ # @return [String]
63
+ attr_accessor :url_path
64
+
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ return unless attributes.is_a?(Hash)
70
+
71
+ # convert string to symbol for hash key
72
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
73
+
74
+ if attributes[:'intervalInMillis']
75
+ self.interval_in_millis = attributes[:'intervalInMillis']
76
+ end
77
+
78
+ if attributes[:'port']
79
+ self.port = attributes[:'port']
80
+ end
81
+
82
+ if attributes[:'protocol']
83
+ self.protocol = attributes[:'protocol']
84
+ end
85
+
86
+ if attributes[:'responseBodyRegex']
87
+ self.response_body_regex = attributes[:'responseBodyRegex']
88
+ end
89
+
90
+ if attributes[:'retries']
91
+ self.retries = attributes[:'retries']
92
+ end
93
+
94
+ if attributes[:'returnCode']
95
+ self.return_code = attributes[:'returnCode']
96
+ end
97
+
98
+ if attributes[:'timeoutInMillis']
99
+ self.timeout_in_millis = attributes[:'timeoutInMillis']
100
+ end
101
+
102
+ if attributes[:'urlPath']
103
+ self.url_path = attributes[:'urlPath']
104
+ end
105
+
106
+ end
107
+
108
+ # Checks equality by comparing each attribute.
109
+ # @param [Object] other_object to be compared
110
+ def ==(other_object)
111
+ return true if self.equal?(other_object)
112
+ self.class == other_object.class &&
113
+ interval_in_millis == other_object.interval_in_millis &&
114
+ port == other_object.port &&
115
+ protocol == other_object.protocol &&
116
+ response_body_regex == other_object.response_body_regex &&
117
+ retries == other_object.retries &&
118
+ return_code == other_object.return_code &&
119
+ timeout_in_millis == other_object.timeout_in_millis &&
120
+ url_path == other_object.url_path
121
+ end
122
+
123
+ # @see the `==` method
124
+ # @param [Object] other_object to be compared
125
+ def eql?(other_object)
126
+ self == other_object
127
+ end
128
+
129
+ # Calculates hash code according to all attributes.
130
+ # @return [Fixnum] Hash code
131
+ def hash
132
+ [interval_in_millis, port, protocol, response_body_regex, retries, return_code, timeout_in_millis, url_path].hash
133
+ end
134
+
135
+ # Builds the object from hash
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ # @return [Object] Returns the model itself
138
+ def build_from_hash(attributes)
139
+ return nil unless attributes.is_a?(Hash)
140
+ self.class.swagger_types.each_pair do |key, type|
141
+ if type =~ /^Array<(.*)>/i
142
+ # check to ensure the input is an array given that the the attribute
143
+ # is documented as an array but the input is not
144
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
145
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
146
+ end
147
+ elsif !attributes[self.class.attribute_map[key]].nil?
148
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
149
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
150
+ end
151
+
152
+ self
153
+ end
154
+
155
+ # Returns the string representation of the object
156
+ # @return [String] String presentation of the object
157
+ def to_s
158
+ to_hash.to_s
159
+ end
160
+
161
+ # Returns the object in the form of hash
162
+ # @return [Hash] Returns the object in the form of hash
163
+ def to_hash
164
+ hash = {}
165
+ self.class.attribute_map.each_pair do |attr, param|
166
+ value = self.send(attr)
167
+ next if value.nil?
168
+ hash[param] = _to_hash(value)
169
+ end
170
+ hash
171
+ end
172
+
173
+ private
174
+
175
+ # Outputs non-array value in the form of hash
176
+ # For object, use to_hash. Otherwise, just return the value
177
+ # @param [Object] value Any valid value
178
+ # @return [Hash] Returns the value in the form of hash
179
+ def _to_hash(value)
180
+ if value.is_a?(Array)
181
+ value.compact.map{ |v| _to_hash(v) }
182
+ elsif value.is_a?(Hash)
183
+ {}.tap do |hash|
184
+ value.each { |k, v| hash[k] = _to_hash(v) }
185
+ end
186
+ elsif value.respond_to? :to_hash
187
+ value.to_hash
188
+ else
189
+ value
190
+ end
191
+ end
192
+
193
+
194
+
195
+ # Attribute mapping from ruby-style variable name to JSON key.
196
+ def self.attribute_map
197
+ {
198
+ :'interval_in_millis' => :'intervalInMillis',
199
+ :'port' => :'port',
200
+ :'protocol' => :'protocol',
201
+ :'response_body_regex' => :'responseBodyRegex',
202
+ :'retries' => :'retries',
203
+ :'return_code' => :'returnCode',
204
+ :'timeout_in_millis' => :'timeoutInMillis',
205
+ :'url_path' => :'urlPath'
206
+ }
207
+ end
208
+
209
+ # Attribute type mapping.
210
+ def self.swagger_types
211
+ {
212
+ :'interval_in_millis' => :'Integer',
213
+ :'port' => :'Integer',
214
+ :'protocol' => :'String',
215
+ :'response_body_regex' => :'String',
216
+ :'retries' => :'Integer',
217
+ :'return_code' => :'Integer',
218
+ :'timeout_in_millis' => :'Integer',
219
+ :'url_path' => :'String'
220
+ }
221
+ end
222
+ end
223
+ end
@@ -0,0 +1,139 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class LoadBalancer::Models::IpAddress
7
+ # An IP address.
8
+ #
9
+ # Example: `128.148.10.20`
10
+ #
11
+ # @return [String]
12
+ attr_accessor :ip_address
13
+
14
+ # Whether the IP address is public or private.
15
+ #
16
+ # If \"true\", the IP address is public and accessible from the internet.
17
+ #
18
+ # If \"false\", the IP address is private and accessible only from within the associated VCN.
19
+ #
20
+ # @return [BOOLEAN]
21
+ attr_accessor :is_public
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[:'ipAddress']
33
+ self.ip_address = attributes[:'ipAddress']
34
+ end
35
+
36
+ if attributes[:'isPublic']
37
+ self.is_public = attributes[:'isPublic']
38
+ end
39
+
40
+ end
41
+
42
+ # Checks equality by comparing each attribute.
43
+ # @param [Object] other_object to be compared
44
+ def ==(other_object)
45
+ return true if self.equal?(other_object)
46
+ self.class == other_object.class &&
47
+ ip_address == other_object.ip_address &&
48
+ is_public == other_object.is_public
49
+ end
50
+
51
+ # @see the `==` method
52
+ # @param [Object] other_object to be compared
53
+ def eql?(other_object)
54
+ self == other_object
55
+ end
56
+
57
+ # Calculates hash code according to all attributes.
58
+ # @return [Fixnum] Hash code
59
+ def hash
60
+ [ip_address, is_public].hash
61
+ end
62
+
63
+ # Builds the object from hash
64
+ # @param [Hash] attributes Model attributes in the form of hash
65
+ # @return [Object] Returns the model itself
66
+ def build_from_hash(attributes)
67
+ return nil unless attributes.is_a?(Hash)
68
+ self.class.swagger_types.each_pair do |key, type|
69
+ if type =~ /^Array<(.*)>/i
70
+ # check to ensure the input is an array given that the the attribute
71
+ # is documented as an array but the input is not
72
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
73
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
74
+ end
75
+ elsif !attributes[self.class.attribute_map[key]].nil?
76
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
77
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
78
+ end
79
+
80
+ self
81
+ end
82
+
83
+ # Returns the string representation of the object
84
+ # @return [String] String presentation of the object
85
+ def to_s
86
+ to_hash.to_s
87
+ end
88
+
89
+ # Returns the object in the form of hash
90
+ # @return [Hash] Returns the object in the form of hash
91
+ def to_hash
92
+ hash = {}
93
+ self.class.attribute_map.each_pair do |attr, param|
94
+ value = self.send(attr)
95
+ next if value.nil?
96
+ hash[param] = _to_hash(value)
97
+ end
98
+ hash
99
+ end
100
+
101
+ private
102
+
103
+ # Outputs non-array value in the form of hash
104
+ # For object, use to_hash. Otherwise, just return the value
105
+ # @param [Object] value Any valid value
106
+ # @return [Hash] Returns the value in the form of hash
107
+ def _to_hash(value)
108
+ if value.is_a?(Array)
109
+ value.compact.map{ |v| _to_hash(v) }
110
+ elsif value.is_a?(Hash)
111
+ {}.tap do |hash|
112
+ value.each { |k, v| hash[k] = _to_hash(v) }
113
+ end
114
+ elsif value.respond_to? :to_hash
115
+ value.to_hash
116
+ else
117
+ value
118
+ end
119
+ end
120
+
121
+
122
+
123
+ # Attribute mapping from ruby-style variable name to JSON key.
124
+ def self.attribute_map
125
+ {
126
+ :'ip_address' => :'ipAddress',
127
+ :'is_public' => :'isPublic'
128
+ }
129
+ end
130
+
131
+ # Attribute type mapping.
132
+ def self.swagger_types
133
+ {
134
+ :'ip_address' => :'String',
135
+ :'is_public' => :'BOOLEAN'
136
+ }
137
+ end
138
+ end
139
+ end
@@ -0,0 +1,174 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class LoadBalancer::Models::Listener
7
+ # The name of the associated backend set.
8
+ # @return [String]
9
+ attr_accessor :default_backend_set_name
10
+
11
+ # A friendly name for the listener. It must be unique and it cannot be changed.
12
+ #
13
+ # Example: `My listener`
14
+ #
15
+ # @return [String]
16
+ attr_accessor :name
17
+
18
+ # The communication port for the listener.
19
+ #
20
+ # Example: `80`
21
+ #
22
+ # @return [Integer]
23
+ attr_accessor :port
24
+
25
+ # The protocol on which the listener accepts connection requests.
26
+ # To get a list of valid protocols, use the {#list_protocols list_protocols}
27
+ # operation.
28
+ #
29
+ # Example: `HTTP`
30
+ #
31
+ # @return [String]
32
+ attr_accessor :protocol
33
+
34
+ # @return [OCI::LoadBalancer::Models::SSLConfiguration]
35
+ attr_accessor :ssl_configuration
36
+
37
+
38
+ # Initializes the object
39
+ # @param [Hash] attributes Model attributes in the form of hash
40
+ def initialize(attributes = {})
41
+ return unless attributes.is_a?(Hash)
42
+
43
+ # convert string to symbol for hash key
44
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
45
+
46
+ if attributes[:'defaultBackendSetName']
47
+ self.default_backend_set_name = attributes[:'defaultBackendSetName']
48
+ end
49
+
50
+ if attributes[:'name']
51
+ self.name = attributes[:'name']
52
+ end
53
+
54
+ if attributes[:'port']
55
+ self.port = attributes[:'port']
56
+ end
57
+
58
+ if attributes[:'protocol']
59
+ self.protocol = attributes[:'protocol']
60
+ end
61
+
62
+ if attributes[:'sslConfiguration']
63
+ self.ssl_configuration = attributes[:'sslConfiguration']
64
+ end
65
+
66
+ end
67
+
68
+ # Checks equality by comparing each attribute.
69
+ # @param [Object] other_object to be compared
70
+ def ==(other_object)
71
+ return true if self.equal?(other_object)
72
+ self.class == other_object.class &&
73
+ default_backend_set_name == other_object.default_backend_set_name &&
74
+ name == other_object.name &&
75
+ port == other_object.port &&
76
+ protocol == other_object.protocol &&
77
+ ssl_configuration == other_object.ssl_configuration
78
+ end
79
+
80
+ # @see the `==` method
81
+ # @param [Object] other_object to be compared
82
+ def eql?(other_object)
83
+ self == other_object
84
+ end
85
+
86
+ # Calculates hash code according to all attributes.
87
+ # @return [Fixnum] Hash code
88
+ def hash
89
+ [default_backend_set_name, name, port, protocol, ssl_configuration].hash
90
+ end
91
+
92
+ # Builds the object from hash
93
+ # @param [Hash] attributes Model attributes in the form of hash
94
+ # @return [Object] Returns the model itself
95
+ def build_from_hash(attributes)
96
+ return nil unless attributes.is_a?(Hash)
97
+ self.class.swagger_types.each_pair do |key, type|
98
+ if type =~ /^Array<(.*)>/i
99
+ # check to ensure the input is an array given that the the attribute
100
+ # is documented as an array but the input is not
101
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
102
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
103
+ end
104
+ elsif !attributes[self.class.attribute_map[key]].nil?
105
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
106
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
107
+ end
108
+
109
+ self
110
+ end
111
+
112
+ # Returns the string representation of the object
113
+ # @return [String] String presentation of the object
114
+ def to_s
115
+ to_hash.to_s
116
+ end
117
+
118
+ # Returns the object in the form of hash
119
+ # @return [Hash] Returns the object in the form of hash
120
+ def to_hash
121
+ hash = {}
122
+ self.class.attribute_map.each_pair do |attr, param|
123
+ value = self.send(attr)
124
+ next if value.nil?
125
+ hash[param] = _to_hash(value)
126
+ end
127
+ hash
128
+ end
129
+
130
+ private
131
+
132
+ # Outputs non-array value in the form of hash
133
+ # For object, use to_hash. Otherwise, just return the value
134
+ # @param [Object] value Any valid value
135
+ # @return [Hash] Returns the value in the form of hash
136
+ def _to_hash(value)
137
+ if value.is_a?(Array)
138
+ value.compact.map{ |v| _to_hash(v) }
139
+ elsif value.is_a?(Hash)
140
+ {}.tap do |hash|
141
+ value.each { |k, v| hash[k] = _to_hash(v) }
142
+ end
143
+ elsif value.respond_to? :to_hash
144
+ value.to_hash
145
+ else
146
+ value
147
+ end
148
+ end
149
+
150
+
151
+
152
+ # Attribute mapping from ruby-style variable name to JSON key.
153
+ def self.attribute_map
154
+ {
155
+ :'default_backend_set_name' => :'defaultBackendSetName',
156
+ :'name' => :'name',
157
+ :'port' => :'port',
158
+ :'protocol' => :'protocol',
159
+ :'ssl_configuration' => :'sslConfiguration'
160
+ }
161
+ end
162
+
163
+ # Attribute type mapping.
164
+ def self.swagger_types
165
+ {
166
+ :'default_backend_set_name' => :'String',
167
+ :'name' => :'String',
168
+ :'port' => :'Integer',
169
+ :'protocol' => :'String',
170
+ :'ssl_configuration' => :'OCI::LoadBalancer::Models::SSLConfiguration'
171
+ }
172
+ end
173
+ end
174
+ end