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,182 @@
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::BackendSet
7
+ # @return [Array<OCI::LoadBalancer::Models::Backend>]
8
+ attr_accessor :backends
9
+
10
+ # @return [OCI::LoadBalancer::Models::HealthChecker]
11
+ attr_accessor :health_checker
12
+
13
+ # A friendly name for the backend set. It must be unique and it cannot be changed.
14
+ #
15
+ # Valid backend set names include only alphanumeric characters, dashes, and underscores. Backend set names cannot
16
+ # contain spaces. Avoid entering confidential information.
17
+ #
18
+ # Example: `My_backend_set`
19
+ #
20
+ # @return [String]
21
+ attr_accessor :name
22
+
23
+ # The load balancer policy for the backend set. The default load balancing policy is 'ROUND_ROBIN'
24
+ # To get a list of available policies, use the {#list_policies list_policies}
25
+ # operation.
26
+ #
27
+ # Example: `LEAST_CONNECTIONS`
28
+ #
29
+ # @return [String]
30
+ attr_accessor :policy
31
+
32
+ # @return [OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails]
33
+ attr_accessor :session_persistence_configuration
34
+
35
+ # @return [OCI::LoadBalancer::Models::SSLConfiguration]
36
+ attr_accessor :ssl_configuration
37
+
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ return unless attributes.is_a?(Hash)
43
+
44
+ # convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
46
+
47
+ if attributes[:'backends']
48
+ self.backends = attributes[:'backends']
49
+ end
50
+
51
+ if attributes[:'healthChecker']
52
+ self.health_checker = attributes[:'healthChecker']
53
+ end
54
+
55
+ if attributes[:'name']
56
+ self.name = attributes[:'name']
57
+ end
58
+
59
+ if attributes[:'policy']
60
+ self.policy = attributes[:'policy']
61
+ end
62
+
63
+ if attributes[:'sessionPersistenceConfiguration']
64
+ self.session_persistence_configuration = attributes[:'sessionPersistenceConfiguration']
65
+ end
66
+
67
+ if attributes[:'sslConfiguration']
68
+ self.ssl_configuration = attributes[:'sslConfiguration']
69
+ end
70
+
71
+ end
72
+
73
+ # Checks equality by comparing each attribute.
74
+ # @param [Object] other_object to be compared
75
+ def ==(other_object)
76
+ return true if self.equal?(other_object)
77
+ self.class == other_object.class &&
78
+ backends == other_object.backends &&
79
+ health_checker == other_object.health_checker &&
80
+ name == other_object.name &&
81
+ policy == other_object.policy &&
82
+ session_persistence_configuration == other_object.session_persistence_configuration &&
83
+ ssl_configuration == other_object.ssl_configuration
84
+ end
85
+
86
+ # @see the `==` method
87
+ # @param [Object] other_object to be compared
88
+ def eql?(other_object)
89
+ self == other_object
90
+ end
91
+
92
+ # Calculates hash code according to all attributes.
93
+ # @return [Fixnum] Hash code
94
+ def hash
95
+ [backends, health_checker, name, policy, session_persistence_configuration, ssl_configuration].hash
96
+ end
97
+
98
+ # Builds the object from hash
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ # @return [Object] Returns the model itself
101
+ def build_from_hash(attributes)
102
+ return nil unless attributes.is_a?(Hash)
103
+ self.class.swagger_types.each_pair do |key, type|
104
+ if type =~ /^Array<(.*)>/i
105
+ # check to ensure the input is an array given that the the attribute
106
+ # is documented as an array but the input is not
107
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
108
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
109
+ end
110
+ elsif !attributes[self.class.attribute_map[key]].nil?
111
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
112
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
113
+ end
114
+
115
+ self
116
+ end
117
+
118
+ # Returns the string representation of the object
119
+ # @return [String] String presentation of the object
120
+ def to_s
121
+ to_hash.to_s
122
+ end
123
+
124
+ # Returns the object in the form of hash
125
+ # @return [Hash] Returns the object in the form of hash
126
+ def to_hash
127
+ hash = {}
128
+ self.class.attribute_map.each_pair do |attr, param|
129
+ value = self.send(attr)
130
+ next if value.nil?
131
+ hash[param] = _to_hash(value)
132
+ end
133
+ hash
134
+ end
135
+
136
+ private
137
+
138
+ # Outputs non-array value in the form of hash
139
+ # For object, use to_hash. Otherwise, just return the value
140
+ # @param [Object] value Any valid value
141
+ # @return [Hash] Returns the value in the form of hash
142
+ def _to_hash(value)
143
+ if value.is_a?(Array)
144
+ value.compact.map{ |v| _to_hash(v) }
145
+ elsif value.is_a?(Hash)
146
+ {}.tap do |hash|
147
+ value.each { |k, v| hash[k] = _to_hash(v) }
148
+ end
149
+ elsif value.respond_to? :to_hash
150
+ value.to_hash
151
+ else
152
+ value
153
+ end
154
+ end
155
+
156
+
157
+
158
+ # Attribute mapping from ruby-style variable name to JSON key.
159
+ def self.attribute_map
160
+ {
161
+ :'backends' => :'backends',
162
+ :'health_checker' => :'healthChecker',
163
+ :'name' => :'name',
164
+ :'policy' => :'policy',
165
+ :'session_persistence_configuration' => :'sessionPersistenceConfiguration',
166
+ :'ssl_configuration' => :'sslConfiguration'
167
+ }
168
+ end
169
+
170
+ # Attribute type mapping.
171
+ def self.swagger_types
172
+ {
173
+ :'backends' => :'Array<OCI::LoadBalancer::Models::Backend>',
174
+ :'health_checker' => :'OCI::LoadBalancer::Models::HealthChecker',
175
+ :'name' => :'String',
176
+ :'policy' => :'String',
177
+ :'session_persistence_configuration' => :'OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails',
178
+ :'ssl_configuration' => :'OCI::LoadBalancer::Models::SSLConfiguration'
179
+ }
180
+ end
181
+ end
182
+ 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 LoadBalancer::Models::BackendSetDetails
7
+ # @return [Array<OCI::LoadBalancer::Models::BackendDetails>]
8
+ attr_accessor :backends
9
+
10
+ # @return [OCI::LoadBalancer::Models::HealthCheckerDetails]
11
+ attr_accessor :health_checker
12
+
13
+ # The load balancer policy for the backend set. The default load balancing policy is 'ROUND_ROBIN'
14
+ # To get a list of available policies, use the {#list_policies list_policies}
15
+ # operation.
16
+ #
17
+ # Example: `LEAST_CONNECTIONS`
18
+ #
19
+ # @return [String]
20
+ attr_accessor :policy
21
+
22
+ # @return [OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails]
23
+ attr_accessor :session_persistence_configuration
24
+
25
+ # @return [OCI::LoadBalancer::Models::SSLConfigurationDetails]
26
+ attr_accessor :ssl_configuration
27
+
28
+
29
+ # Initializes the object
30
+ # @param [Hash] attributes Model attributes in the form of hash
31
+ def initialize(attributes = {})
32
+ return unless attributes.is_a?(Hash)
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
36
+
37
+ if attributes[:'backends']
38
+ self.backends = attributes[:'backends']
39
+ end
40
+
41
+ if attributes[:'healthChecker']
42
+ self.health_checker = attributes[:'healthChecker']
43
+ end
44
+
45
+ if attributes[:'policy']
46
+ self.policy = attributes[:'policy']
47
+ end
48
+
49
+ if attributes[:'sessionPersistenceConfiguration']
50
+ self.session_persistence_configuration = attributes[:'sessionPersistenceConfiguration']
51
+ end
52
+
53
+ if attributes[:'sslConfiguration']
54
+ self.ssl_configuration = attributes[:'sslConfiguration']
55
+ end
56
+
57
+ end
58
+
59
+ # Checks equality by comparing each attribute.
60
+ # @param [Object] other_object to be compared
61
+ def ==(other_object)
62
+ return true if self.equal?(other_object)
63
+ self.class == other_object.class &&
64
+ backends == other_object.backends &&
65
+ health_checker == other_object.health_checker &&
66
+ policy == other_object.policy &&
67
+ session_persistence_configuration == other_object.session_persistence_configuration &&
68
+ ssl_configuration == other_object.ssl_configuration
69
+ end
70
+
71
+ # @see the `==` method
72
+ # @param [Object] other_object to be compared
73
+ def eql?(other_object)
74
+ self == other_object
75
+ end
76
+
77
+ # Calculates hash code according to all attributes.
78
+ # @return [Fixnum] Hash code
79
+ def hash
80
+ [backends, health_checker, policy, session_persistence_configuration, ssl_configuration].hash
81
+ end
82
+
83
+ # Builds the object from hash
84
+ # @param [Hash] attributes Model attributes in the form of hash
85
+ # @return [Object] Returns the model itself
86
+ def build_from_hash(attributes)
87
+ return nil unless attributes.is_a?(Hash)
88
+ self.class.swagger_types.each_pair do |key, type|
89
+ if type =~ /^Array<(.*)>/i
90
+ # check to ensure the input is an array given that the the attribute
91
+ # is documented as an array but the input is not
92
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
93
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
94
+ end
95
+ elsif !attributes[self.class.attribute_map[key]].nil?
96
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
97
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
98
+ end
99
+
100
+ self
101
+ end
102
+
103
+ # Returns the string representation of the object
104
+ # @return [String] String presentation of the object
105
+ def to_s
106
+ to_hash.to_s
107
+ end
108
+
109
+ # Returns the object in the form of hash
110
+ # @return [Hash] Returns the object in the form of hash
111
+ def to_hash
112
+ hash = {}
113
+ self.class.attribute_map.each_pair do |attr, param|
114
+ value = self.send(attr)
115
+ next if value.nil?
116
+ hash[param] = _to_hash(value)
117
+ end
118
+ hash
119
+ end
120
+
121
+ private
122
+
123
+ # Outputs non-array value in the form of hash
124
+ # For object, use to_hash. Otherwise, just return the value
125
+ # @param [Object] value Any valid value
126
+ # @return [Hash] Returns the value in the form of hash
127
+ def _to_hash(value)
128
+ if value.is_a?(Array)
129
+ value.compact.map{ |v| _to_hash(v) }
130
+ elsif value.is_a?(Hash)
131
+ {}.tap do |hash|
132
+ value.each { |k, v| hash[k] = _to_hash(v) }
133
+ end
134
+ elsif value.respond_to? :to_hash
135
+ value.to_hash
136
+ else
137
+ value
138
+ end
139
+ end
140
+
141
+
142
+
143
+ # Attribute mapping from ruby-style variable name to JSON key.
144
+ def self.attribute_map
145
+ {
146
+ :'backends' => :'backends',
147
+ :'health_checker' => :'healthChecker',
148
+ :'policy' => :'policy',
149
+ :'session_persistence_configuration' => :'sessionPersistenceConfiguration',
150
+ :'ssl_configuration' => :'sslConfiguration'
151
+ }
152
+ end
153
+
154
+ # Attribute type mapping.
155
+ def self.swagger_types
156
+ {
157
+ :'backends' => :'Array<OCI::LoadBalancer::Models::BackendDetails>',
158
+ :'health_checker' => :'OCI::LoadBalancer::Models::HealthCheckerDetails',
159
+ :'policy' => :'String',
160
+ :'session_persistence_configuration' => :'OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails',
161
+ :'ssl_configuration' => :'OCI::LoadBalancer::Models::SSLConfigurationDetails'
162
+ }
163
+ end
164
+ end
165
+ end
@@ -0,0 +1,207 @@
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::BackendSetHealth
7
+
8
+ STATUS_ENUM = [STATUS_OK = 'OK',
9
+ STATUS_WARNING = 'WARNING',
10
+ STATUS_CRITICAL = 'CRITICAL',
11
+ STATUS_UNKNOWN = 'UNKNOWN',
12
+ STATUS_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
13
+
14
+ # A list of backend servers that are currently in the `CRITICAL` health state. The list identifies each backend server by
15
+ # IP address and port.
16
+ #
17
+ # Example: `1.1.1.1:80`
18
+ #
19
+ # @return [Array<String>]
20
+ attr_accessor :critical_state_backend_names
21
+
22
+ # Overall health status of the backend set.
23
+ #
24
+ # * **OK:** All backend servers in the backend set return a status of `OK`.
25
+ #
26
+ # * **WARNING:** Half or more of the backend set's backend servers return a status of `OK` and at least one backend
27
+ # server returns a status of `WARNING`, `CRITICAL`, or `UNKNOWN`.
28
+ #
29
+ # * **CRITICAL:** Fewer than half of the backend set's backend servers return a status of `OK`.
30
+ #
31
+ # * **UNKNOWN:** More than half of the backend set's backend servers return a status of `UNKNOWN`, the system was
32
+ # unable to retrieve metrics, or the backend set does not have a listener attached.
33
+ #
34
+ # @return [String]
35
+ attr_accessor :status
36
+
37
+ # The total number of backend servers in this backend set.
38
+ #
39
+ # Example: `5`
40
+ #
41
+ # @return [Integer]
42
+ attr_accessor :total_backend_count
43
+
44
+ # A list of backend servers that are currently in the `UNKNOWN` health state. The list identifies each backend server by
45
+ # IP address and port.
46
+ #
47
+ # Example: `1.1.1.5:80`
48
+ #
49
+ # @return [Array<String>]
50
+ attr_accessor :unknown_state_backend_names
51
+
52
+ # A list of backend servers that are currently in the `WARNING` health state. The list identifies each backend server by
53
+ # IP address and port.
54
+ #
55
+ # Example: `1.1.1.7:42`
56
+ #
57
+ # @return [Array<String>]
58
+ attr_accessor :warning_state_backend_names
59
+
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ return unless attributes.is_a?(Hash)
65
+
66
+ # convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
68
+
69
+ if attributes[:'criticalStateBackendNames']
70
+ self.critical_state_backend_names = attributes[:'criticalStateBackendNames']
71
+ end
72
+
73
+ if attributes[:'status']
74
+ self.status = attributes[:'status']
75
+ end
76
+
77
+ if attributes[:'totalBackendCount']
78
+ self.total_backend_count = attributes[:'totalBackendCount']
79
+ end
80
+
81
+ if attributes[:'unknownStateBackendNames']
82
+ self.unknown_state_backend_names = attributes[:'unknownStateBackendNames']
83
+ end
84
+
85
+ if attributes[:'warningStateBackendNames']
86
+ self.warning_state_backend_names = attributes[:'warningStateBackendNames']
87
+ end
88
+
89
+ end
90
+
91
+ # Custom attribute writer method checking allowed values (enum).
92
+ # @param [Object] status Object to be assigned
93
+ def status=(status)
94
+ if status && !STATUS_ENUM.include?(status)
95
+ @status = STATUS_UNKNOWN_ENUM_VALUE
96
+ else
97
+ @status = status
98
+ end
99
+ end
100
+
101
+ # Checks equality by comparing each attribute.
102
+ # @param [Object] other_object to be compared
103
+ def ==(other_object)
104
+ return true if self.equal?(other_object)
105
+ self.class == other_object.class &&
106
+ critical_state_backend_names == other_object.critical_state_backend_names &&
107
+ status == other_object.status &&
108
+ total_backend_count == other_object.total_backend_count &&
109
+ unknown_state_backend_names == other_object.unknown_state_backend_names &&
110
+ warning_state_backend_names == other_object.warning_state_backend_names
111
+ end
112
+
113
+ # @see the `==` method
114
+ # @param [Object] other_object to be compared
115
+ def eql?(other_object)
116
+ self == other_object
117
+ end
118
+
119
+ # Calculates hash code according to all attributes.
120
+ # @return [Fixnum] Hash code
121
+ def hash
122
+ [critical_state_backend_names, status, total_backend_count, unknown_state_backend_names, warning_state_backend_names].hash
123
+ end
124
+
125
+ # Builds the object from hash
126
+ # @param [Hash] attributes Model attributes in the form of hash
127
+ # @return [Object] Returns the model itself
128
+ def build_from_hash(attributes)
129
+ return nil unless attributes.is_a?(Hash)
130
+ self.class.swagger_types.each_pair do |key, type|
131
+ if type =~ /^Array<(.*)>/i
132
+ # check to ensure the input is an array given that the the attribute
133
+ # is documented as an array but the input is not
134
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
135
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
136
+ end
137
+ elsif !attributes[self.class.attribute_map[key]].nil?
138
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
139
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
140
+ end
141
+
142
+ self
143
+ end
144
+
145
+ # Returns the string representation of the object
146
+ # @return [String] String presentation of the object
147
+ def to_s
148
+ to_hash.to_s
149
+ end
150
+
151
+ # Returns the object in the form of hash
152
+ # @return [Hash] Returns the object in the form of hash
153
+ def to_hash
154
+ hash = {}
155
+ self.class.attribute_map.each_pair do |attr, param|
156
+ value = self.send(attr)
157
+ next if value.nil?
158
+ hash[param] = _to_hash(value)
159
+ end
160
+ hash
161
+ end
162
+
163
+ private
164
+
165
+ # Outputs non-array value in the form of hash
166
+ # For object, use to_hash. Otherwise, just return the value
167
+ # @param [Object] value Any valid value
168
+ # @return [Hash] Returns the value in the form of hash
169
+ def _to_hash(value)
170
+ if value.is_a?(Array)
171
+ value.compact.map{ |v| _to_hash(v) }
172
+ elsif value.is_a?(Hash)
173
+ {}.tap do |hash|
174
+ value.each { |k, v| hash[k] = _to_hash(v) }
175
+ end
176
+ elsif value.respond_to? :to_hash
177
+ value.to_hash
178
+ else
179
+ value
180
+ end
181
+ end
182
+
183
+
184
+
185
+ # Attribute mapping from ruby-style variable name to JSON key.
186
+ def self.attribute_map
187
+ {
188
+ :'critical_state_backend_names' => :'criticalStateBackendNames',
189
+ :'status' => :'status',
190
+ :'total_backend_count' => :'totalBackendCount',
191
+ :'unknown_state_backend_names' => :'unknownStateBackendNames',
192
+ :'warning_state_backend_names' => :'warningStateBackendNames'
193
+ }
194
+ end
195
+
196
+ # Attribute type mapping.
197
+ def self.swagger_types
198
+ {
199
+ :'critical_state_backend_names' => :'Array<String>',
200
+ :'status' => :'String',
201
+ :'total_backend_count' => :'Integer',
202
+ :'unknown_state_backend_names' => :'Array<String>',
203
+ :'warning_state_backend_names' => :'Array<String>'
204
+ }
205
+ end
206
+ end
207
+ end