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,160 @@
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::ListenerDetails
7
+ # The name of the associated backend set.
8
+ # @return [String]
9
+ attr_accessor :default_backend_set_name
10
+
11
+ # The communication port for the listener.
12
+ #
13
+ # Example: `80`
14
+ #
15
+ # @return [Integer]
16
+ attr_accessor :port
17
+
18
+ # The protocol on which the listener accepts connection requests.
19
+ # To get a list of valid protocols, use the {#list_protocols list_protocols}
20
+ # operation.
21
+ #
22
+ # Example: `HTTP`
23
+ #
24
+ # @return [String]
25
+ attr_accessor :protocol
26
+
27
+ # @return [OCI::LoadBalancer::Models::SSLConfigurationDetails]
28
+ attr_accessor :ssl_configuration
29
+
30
+
31
+ # Initializes the object
32
+ # @param [Hash] attributes Model attributes in the form of hash
33
+ def initialize(attributes = {})
34
+ return unless attributes.is_a?(Hash)
35
+
36
+ # convert string to symbol for hash key
37
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
38
+
39
+ if attributes[:'defaultBackendSetName']
40
+ self.default_backend_set_name = attributes[:'defaultBackendSetName']
41
+ end
42
+
43
+ if attributes[:'port']
44
+ self.port = attributes[:'port']
45
+ end
46
+
47
+ if attributes[:'protocol']
48
+ self.protocol = attributes[:'protocol']
49
+ end
50
+
51
+ if attributes[:'sslConfiguration']
52
+ self.ssl_configuration = attributes[:'sslConfiguration']
53
+ end
54
+
55
+ end
56
+
57
+ # Checks equality by comparing each attribute.
58
+ # @param [Object] other_object to be compared
59
+ def ==(other_object)
60
+ return true if self.equal?(other_object)
61
+ self.class == other_object.class &&
62
+ default_backend_set_name == other_object.default_backend_set_name &&
63
+ port == other_object.port &&
64
+ protocol == other_object.protocol &&
65
+ ssl_configuration == other_object.ssl_configuration
66
+ end
67
+
68
+ # @see the `==` method
69
+ # @param [Object] other_object to be compared
70
+ def eql?(other_object)
71
+ self == other_object
72
+ end
73
+
74
+ # Calculates hash code according to all attributes.
75
+ # @return [Fixnum] Hash code
76
+ def hash
77
+ [default_backend_set_name, port, protocol, ssl_configuration].hash
78
+ end
79
+
80
+ # Builds the object from hash
81
+ # @param [Hash] attributes Model attributes in the form of hash
82
+ # @return [Object] Returns the model itself
83
+ def build_from_hash(attributes)
84
+ return nil unless attributes.is_a?(Hash)
85
+ self.class.swagger_types.each_pair do |key, type|
86
+ if type =~ /^Array<(.*)>/i
87
+ # check to ensure the input is an array given that the the attribute
88
+ # is documented as an array but the input is not
89
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
90
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
91
+ end
92
+ elsif !attributes[self.class.attribute_map[key]].nil?
93
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
94
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
95
+ end
96
+
97
+ self
98
+ end
99
+
100
+ # Returns the string representation of the object
101
+ # @return [String] String presentation of the object
102
+ def to_s
103
+ to_hash.to_s
104
+ end
105
+
106
+ # Returns the object in the form of hash
107
+ # @return [Hash] Returns the object in the form of hash
108
+ def to_hash
109
+ hash = {}
110
+ self.class.attribute_map.each_pair do |attr, param|
111
+ value = self.send(attr)
112
+ next if value.nil?
113
+ hash[param] = _to_hash(value)
114
+ end
115
+ hash
116
+ end
117
+
118
+ private
119
+
120
+ # Outputs non-array value in the form of hash
121
+ # For object, use to_hash. Otherwise, just return the value
122
+ # @param [Object] value Any valid value
123
+ # @return [Hash] Returns the value in the form of hash
124
+ def _to_hash(value)
125
+ if value.is_a?(Array)
126
+ value.compact.map{ |v| _to_hash(v) }
127
+ elsif value.is_a?(Hash)
128
+ {}.tap do |hash|
129
+ value.each { |k, v| hash[k] = _to_hash(v) }
130
+ end
131
+ elsif value.respond_to? :to_hash
132
+ value.to_hash
133
+ else
134
+ value
135
+ end
136
+ end
137
+
138
+
139
+
140
+ # Attribute mapping from ruby-style variable name to JSON key.
141
+ def self.attribute_map
142
+ {
143
+ :'default_backend_set_name' => :'defaultBackendSetName',
144
+ :'port' => :'port',
145
+ :'protocol' => :'protocol',
146
+ :'ssl_configuration' => :'sslConfiguration'
147
+ }
148
+ end
149
+
150
+ # Attribute type mapping.
151
+ def self.swagger_types
152
+ {
153
+ :'default_backend_set_name' => :'String',
154
+ :'port' => :'Integer',
155
+ :'protocol' => :'String',
156
+ :'ssl_configuration' => :'OCI::LoadBalancer::Models::SSLConfigurationDetails'
157
+ }
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,280 @@
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::LoadBalancer
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
9
+ LIFECYCLE_STATE_FAILED = 'FAILED',
10
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE',
11
+ LIFECYCLE_STATE_DELETING = 'DELETING',
12
+ LIFECYCLE_STATE_DELETED = 'DELETED',
13
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
14
+
15
+ # @return [Hash<String, OCI::LoadBalancer::Models::BackendSet>]
16
+ attr_accessor :backend_sets
17
+
18
+ # @return [Hash<String, OCI::LoadBalancer::Models::Certificate>]
19
+ attr_accessor :certificates
20
+
21
+ # The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the compartment containing the load balancer.
22
+ # @return [String]
23
+ attr_accessor :compartment_id
24
+
25
+ # A user-friendly name. It does not have to be unique, and it is changeable.
26
+ #
27
+ # Example: `My load balancer`
28
+ #
29
+ # @return [String]
30
+ attr_accessor :display_name
31
+
32
+ # The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer.
33
+ # @return [String]
34
+ attr_accessor :id
35
+
36
+ # An array of IP addresses.
37
+ #
38
+ # @return [Array<OCI::LoadBalancer::Models::IpAddress>]
39
+ attr_accessor :ip_addresses
40
+
41
+ # Whether the load balancer has a VCN-local (private) IP address.
42
+ #
43
+ # If \"true\", the service assigns a private IP address to the load balancer. The load balancer requires only one subnet
44
+ # to host both the primary and secondary load balancers. The private IP address is local to the subnet. The load balancer
45
+ # is accessible only from within the VCN that contains the associated subnet, or as further restricted by your security
46
+ # list rules. The load balancer can route traffic to any backend server that is reachable from the VCN.
47
+ #
48
+ # For a private load balancer, both the primary and secondary load balancer hosts are within the same Availability Domain.
49
+ #
50
+ # If \"false\", the service assigns a public IP address to the load balancer. A load balancer with a public IP address
51
+ # requires two subnets, each in a different Availability Domain. One subnet hosts the primary load balancer and the other
52
+ # hosts the secondary (stand-by) load balancer. A public load balancer is accessible from the internet, depending on your
53
+ # VCN's [security list rules](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/securitylists.htm).
54
+ #
55
+ # @return [BOOLEAN]
56
+ attr_accessor :is_private
57
+
58
+ # @return [String]
59
+ attr_accessor :lifecycle_state
60
+
61
+ # @return [Hash<String, OCI::LoadBalancer::Models::Listener>]
62
+ attr_accessor :listeners
63
+
64
+ # A template that determines the total pre-provisioned bandwidth (ingress plus egress).
65
+ # To get a list of available shapes, use the {#list_shapes list_shapes}
66
+ # operation.
67
+ #
68
+ # Example: `100Mbps`
69
+ #
70
+ # @return [String]
71
+ attr_accessor :shape_name
72
+
73
+ # An array of subnet [OCIDs](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
74
+ # @return [Array<String>]
75
+ attr_accessor :subnet_ids
76
+
77
+ # The date and time the load balancer was created, in the format defined by RFC3339.
78
+ #
79
+ # Example: `2016-08-25T21:10:29.600Z`
80
+ #
81
+ # @return [DateTime]
82
+ attr_accessor :time_created
83
+
84
+
85
+ # Initializes the object
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ def initialize(attributes = {})
88
+ return unless attributes.is_a?(Hash)
89
+
90
+ # convert string to symbol for hash key
91
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
92
+
93
+ if attributes[:'backendSets']
94
+ self.backend_sets = attributes[:'backendSets']
95
+ end
96
+
97
+ if attributes[:'certificates']
98
+ self.certificates = attributes[:'certificates']
99
+ end
100
+
101
+ if attributes[:'compartmentId']
102
+ self.compartment_id = attributes[:'compartmentId']
103
+ end
104
+
105
+ if attributes[:'displayName']
106
+ self.display_name = attributes[:'displayName']
107
+ end
108
+
109
+ if attributes[:'id']
110
+ self.id = attributes[:'id']
111
+ end
112
+
113
+ if attributes[:'ipAddresses']
114
+ self.ip_addresses = attributes[:'ipAddresses']
115
+ end
116
+
117
+ if attributes[:'isPrivate']
118
+ self.is_private = attributes[:'isPrivate']
119
+ end
120
+
121
+ if attributes[:'lifecycleState']
122
+ self.lifecycle_state = attributes[:'lifecycleState']
123
+ end
124
+
125
+ if attributes[:'listeners']
126
+ self.listeners = attributes[:'listeners']
127
+ end
128
+
129
+ if attributes[:'shapeName']
130
+ self.shape_name = attributes[:'shapeName']
131
+ end
132
+
133
+ if attributes[:'subnetIds']
134
+ self.subnet_ids = attributes[:'subnetIds']
135
+ end
136
+
137
+ if attributes[:'timeCreated']
138
+ self.time_created = attributes[:'timeCreated']
139
+ end
140
+
141
+ end
142
+
143
+ # Custom attribute writer method checking allowed values (enum).
144
+ # @param [Object] lifecycle_state Object to be assigned
145
+ def lifecycle_state=(lifecycle_state)
146
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
147
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
148
+ else
149
+ @lifecycle_state = lifecycle_state
150
+ end
151
+ end
152
+
153
+ # Checks equality by comparing each attribute.
154
+ # @param [Object] other_object to be compared
155
+ def ==(other_object)
156
+ return true if self.equal?(other_object)
157
+ self.class == other_object.class &&
158
+ backend_sets == other_object.backend_sets &&
159
+ certificates == other_object.certificates &&
160
+ compartment_id == other_object.compartment_id &&
161
+ display_name == other_object.display_name &&
162
+ id == other_object.id &&
163
+ ip_addresses == other_object.ip_addresses &&
164
+ is_private == other_object.is_private &&
165
+ lifecycle_state == other_object.lifecycle_state &&
166
+ listeners == other_object.listeners &&
167
+ shape_name == other_object.shape_name &&
168
+ subnet_ids == other_object.subnet_ids &&
169
+ time_created == other_object.time_created
170
+ end
171
+
172
+ # @see the `==` method
173
+ # @param [Object] other_object to be compared
174
+ def eql?(other_object)
175
+ self == other_object
176
+ end
177
+
178
+ # Calculates hash code according to all attributes.
179
+ # @return [Fixnum] Hash code
180
+ def hash
181
+ [backend_sets, certificates, compartment_id, display_name, id, ip_addresses, is_private, lifecycle_state, listeners, shape_name, subnet_ids, time_created].hash
182
+ end
183
+
184
+ # Builds the object from hash
185
+ # @param [Hash] attributes Model attributes in the form of hash
186
+ # @return [Object] Returns the model itself
187
+ def build_from_hash(attributes)
188
+ return nil unless attributes.is_a?(Hash)
189
+ self.class.swagger_types.each_pair do |key, type|
190
+ if type =~ /^Array<(.*)>/i
191
+ # check to ensure the input is an array given that the the attribute
192
+ # is documented as an array but the input is not
193
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
194
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
195
+ end
196
+ elsif !attributes[self.class.attribute_map[key]].nil?
197
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
198
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
199
+ end
200
+
201
+ self
202
+ end
203
+
204
+ # Returns the string representation of the object
205
+ # @return [String] String presentation of the object
206
+ def to_s
207
+ to_hash.to_s
208
+ end
209
+
210
+ # Returns the object in the form of hash
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_hash
213
+ hash = {}
214
+ self.class.attribute_map.each_pair do |attr, param|
215
+ value = self.send(attr)
216
+ next if value.nil?
217
+ hash[param] = _to_hash(value)
218
+ end
219
+ hash
220
+ end
221
+
222
+ private
223
+
224
+ # Outputs non-array value in the form of hash
225
+ # For object, use to_hash. Otherwise, just return the value
226
+ # @param [Object] value Any valid value
227
+ # @return [Hash] Returns the value in the form of hash
228
+ def _to_hash(value)
229
+ if value.is_a?(Array)
230
+ value.compact.map{ |v| _to_hash(v) }
231
+ elsif value.is_a?(Hash)
232
+ {}.tap do |hash|
233
+ value.each { |k, v| hash[k] = _to_hash(v) }
234
+ end
235
+ elsif value.respond_to? :to_hash
236
+ value.to_hash
237
+ else
238
+ value
239
+ end
240
+ end
241
+
242
+
243
+
244
+ # Attribute mapping from ruby-style variable name to JSON key.
245
+ def self.attribute_map
246
+ {
247
+ :'backend_sets' => :'backendSets',
248
+ :'certificates' => :'certificates',
249
+ :'compartment_id' => :'compartmentId',
250
+ :'display_name' => :'displayName',
251
+ :'id' => :'id',
252
+ :'ip_addresses' => :'ipAddresses',
253
+ :'is_private' => :'isPrivate',
254
+ :'lifecycle_state' => :'lifecycleState',
255
+ :'listeners' => :'listeners',
256
+ :'shape_name' => :'shapeName',
257
+ :'subnet_ids' => :'subnetIds',
258
+ :'time_created' => :'timeCreated'
259
+ }
260
+ end
261
+
262
+ # Attribute type mapping.
263
+ def self.swagger_types
264
+ {
265
+ :'backend_sets' => :'Hash<String, OCI::LoadBalancer::Models::BackendSet>',
266
+ :'certificates' => :'Hash<String, OCI::LoadBalancer::Models::Certificate>',
267
+ :'compartment_id' => :'String',
268
+ :'display_name' => :'String',
269
+ :'id' => :'String',
270
+ :'ip_addresses' => :'Array<OCI::LoadBalancer::Models::IpAddress>',
271
+ :'is_private' => :'BOOLEAN',
272
+ :'lifecycle_state' => :'String',
273
+ :'listeners' => :'Hash<String, OCI::LoadBalancer::Models::Listener>',
274
+ :'shape_name' => :'String',
275
+ :'subnet_ids' => :'Array<String>',
276
+ :'time_created' => :'DateTime'
277
+ }
278
+ end
279
+ end
280
+ end
@@ -0,0 +1,215 @@
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::LoadBalancerHealth
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 sets that are currently in the `CRITICAL` health state. The list identifies each backend set by the
15
+ # friendly name you assigned when you created it.
16
+ #
17
+ # Example: `My_backend_set`
18
+ #
19
+ # @return [Array<String>]
20
+ attr_accessor :critical_state_backend_set_names
21
+
22
+ # The overall health status of the load balancer.
23
+ #
24
+ # * **OK:** All backend sets associated with the load balancer return a status of `OK`.
25
+ #
26
+ # * **WARNING:** At least one of the backend sets associated with the load balancer returns a status of `WARNING`,
27
+ # no backend sets return a status of `CRITICAL`, and the load balancer life cycle state is `ACTIVE`.
28
+ #
29
+ # * **CRITICAL:** One or more of the backend sets associated with the load balancer return a status of `CRITICAL`.
30
+ #
31
+ # * **UNKNOWN:** If any one of the following conditions is true:
32
+ #
33
+ # * The load balancer life cycle state is not `ACTIVE`.
34
+ #
35
+ # * No backend sets are defined for the load balancer.
36
+ #
37
+ # * More than half of the backend sets associated with the load balancer return a status of `UNKNOWN`, none of the backend
38
+ # sets return a status of `WARNING` or `CRITICAL`, and the load balancer life cycle state is `ACTIVE`.
39
+ #
40
+ # * The system could not retrieve metrics for any reason.
41
+ #
42
+ # @return [String]
43
+ attr_accessor :status
44
+
45
+ # The total number of backend sets associated with this load balancer.
46
+ #
47
+ # Example: `4`
48
+ #
49
+ # @return [Integer]
50
+ attr_accessor :total_backend_set_count
51
+
52
+ # A list of backend sets that are currently in the `UNKNOWN` health state. The list identifies each backend set by the
53
+ # friendly name you assigned when you created it.
54
+ #
55
+ # Example: `Backend set2`
56
+ #
57
+ # @return [Array<String>]
58
+ attr_accessor :unknown_state_backend_set_names
59
+
60
+ # A list of backend sets that are currently in the `WARNING` health state. The list identifies each backend set by the
61
+ # friendly name you assigned when you created it.
62
+ #
63
+ # Example: `Backend set3`
64
+ #
65
+ # @return [Array<String>]
66
+ attr_accessor :warning_state_backend_set_names
67
+
68
+
69
+ # Initializes the object
70
+ # @param [Hash] attributes Model attributes in the form of hash
71
+ def initialize(attributes = {})
72
+ return unless attributes.is_a?(Hash)
73
+
74
+ # convert string to symbol for hash key
75
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
76
+
77
+ if attributes[:'criticalStateBackendSetNames']
78
+ self.critical_state_backend_set_names = attributes[:'criticalStateBackendSetNames']
79
+ end
80
+
81
+ if attributes[:'status']
82
+ self.status = attributes[:'status']
83
+ end
84
+
85
+ if attributes[:'totalBackendSetCount']
86
+ self.total_backend_set_count = attributes[:'totalBackendSetCount']
87
+ end
88
+
89
+ if attributes[:'unknownStateBackendSetNames']
90
+ self.unknown_state_backend_set_names = attributes[:'unknownStateBackendSetNames']
91
+ end
92
+
93
+ if attributes[:'warningStateBackendSetNames']
94
+ self.warning_state_backend_set_names = attributes[:'warningStateBackendSetNames']
95
+ end
96
+
97
+ end
98
+
99
+ # Custom attribute writer method checking allowed values (enum).
100
+ # @param [Object] status Object to be assigned
101
+ def status=(status)
102
+ if status && !STATUS_ENUM.include?(status)
103
+ @status = STATUS_UNKNOWN_ENUM_VALUE
104
+ else
105
+ @status = status
106
+ end
107
+ end
108
+
109
+ # Checks equality by comparing each attribute.
110
+ # @param [Object] other_object to be compared
111
+ def ==(other_object)
112
+ return true if self.equal?(other_object)
113
+ self.class == other_object.class &&
114
+ critical_state_backend_set_names == other_object.critical_state_backend_set_names &&
115
+ status == other_object.status &&
116
+ total_backend_set_count == other_object.total_backend_set_count &&
117
+ unknown_state_backend_set_names == other_object.unknown_state_backend_set_names &&
118
+ warning_state_backend_set_names == other_object.warning_state_backend_set_names
119
+ end
120
+
121
+ # @see the `==` method
122
+ # @param [Object] other_object to be compared
123
+ def eql?(other_object)
124
+ self == other_object
125
+ end
126
+
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Fixnum] Hash code
129
+ def hash
130
+ [critical_state_backend_set_names, status, total_backend_set_count, unknown_state_backend_set_names, warning_state_backend_set_names].hash
131
+ end
132
+
133
+ # Builds the object from hash
134
+ # @param [Hash] attributes Model attributes in the form of hash
135
+ # @return [Object] Returns the model itself
136
+ def build_from_hash(attributes)
137
+ return nil unless attributes.is_a?(Hash)
138
+ self.class.swagger_types.each_pair do |key, type|
139
+ if type =~ /^Array<(.*)>/i
140
+ # check to ensure the input is an array given that the the attribute
141
+ # is documented as an array but the input is not
142
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
143
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
144
+ end
145
+ elsif !attributes[self.class.attribute_map[key]].nil?
146
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
147
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
148
+ end
149
+
150
+ self
151
+ end
152
+
153
+ # Returns the string representation of the object
154
+ # @return [String] String presentation of the object
155
+ def to_s
156
+ to_hash.to_s
157
+ end
158
+
159
+ # Returns the object in the form of hash
160
+ # @return [Hash] Returns the object in the form of hash
161
+ def to_hash
162
+ hash = {}
163
+ self.class.attribute_map.each_pair do |attr, param|
164
+ value = self.send(attr)
165
+ next if value.nil?
166
+ hash[param] = _to_hash(value)
167
+ end
168
+ hash
169
+ end
170
+
171
+ private
172
+
173
+ # Outputs non-array value in the form of hash
174
+ # For object, use to_hash. Otherwise, just return the value
175
+ # @param [Object] value Any valid value
176
+ # @return [Hash] Returns the value in the form of hash
177
+ def _to_hash(value)
178
+ if value.is_a?(Array)
179
+ value.compact.map{ |v| _to_hash(v) }
180
+ elsif value.is_a?(Hash)
181
+ {}.tap do |hash|
182
+ value.each { |k, v| hash[k] = _to_hash(v) }
183
+ end
184
+ elsif value.respond_to? :to_hash
185
+ value.to_hash
186
+ else
187
+ value
188
+ end
189
+ end
190
+
191
+
192
+
193
+ # Attribute mapping from ruby-style variable name to JSON key.
194
+ def self.attribute_map
195
+ {
196
+ :'critical_state_backend_set_names' => :'criticalStateBackendSetNames',
197
+ :'status' => :'status',
198
+ :'total_backend_set_count' => :'totalBackendSetCount',
199
+ :'unknown_state_backend_set_names' => :'unknownStateBackendSetNames',
200
+ :'warning_state_backend_set_names' => :'warningStateBackendSetNames'
201
+ }
202
+ end
203
+
204
+ # Attribute type mapping.
205
+ def self.swagger_types
206
+ {
207
+ :'critical_state_backend_set_names' => :'Array<String>',
208
+ :'status' => :'String',
209
+ :'total_backend_set_count' => :'Integer',
210
+ :'unknown_state_backend_set_names' => :'Array<String>',
211
+ :'warning_state_backend_set_names' => :'Array<String>'
212
+ }
213
+ end
214
+ end
215
+ end