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,220 @@
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::CreateLoadBalancerDetails
7
+ # @return [Hash<String, OCI::LoadBalancer::Models::BackendSetDetails>]
8
+ attr_accessor :backend_sets
9
+
10
+ # @return [Hash<String, OCI::LoadBalancer::Models::CertificateDetails>]
11
+ attr_accessor :certificates
12
+
13
+ # The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the compartment in which to create the load balancer.
14
+ # @return [String]
15
+ attr_accessor :compartment_id
16
+
17
+ # A user-friendly name. It does not have to be unique, and it is changeable.
18
+ # Avoid entering confidential information.
19
+ #
20
+ # Example: `My load balancer`
21
+ #
22
+ # @return [String]
23
+ attr_accessor :display_name
24
+
25
+ # Whether the load balancer has a VCN-local (private) IP address.
26
+ #
27
+ # If \"true\", the service assigns a private IP address to the load balancer. The load balancer requires only one subnet
28
+ # to host both the primary and secondary load balancers. The private IP address is local to the subnet. The load balancer
29
+ # is accessible only from within the VCN that contains the associated subnet, or as further restricted by your security
30
+ # list rules. The load balancer can route traffic to any backend server that is reachable from the VCN.
31
+ #
32
+ # For a private load balancer, both the primary and secondary load balancer hosts are within the same Availability Domain.
33
+ #
34
+ # If \"false\", the service assigns a public IP address to the load balancer. A load balancer with a public IP address
35
+ # requires two subnets, each in a different Availability Domain. One subnet hosts the primary load balancer and the other
36
+ # hosts the secondary (stand-by) load balancer. A public load balancer is accessible from the internet, depending on your
37
+ # VCN's [security list rules](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/securitylists.htm).
38
+ #
39
+ # Example: `false`
40
+ #
41
+ # @return [BOOLEAN]
42
+ attr_accessor :is_private
43
+
44
+ # @return [Hash<String, OCI::LoadBalancer::Models::ListenerDetails>]
45
+ attr_accessor :listeners
46
+
47
+ # A template that determines the total pre-provisioned bandwidth (ingress plus egress).
48
+ # To get a list of available shapes, use the {#list_shapes list_shapes}
49
+ # operation.
50
+ #
51
+ # Example: `100Mbps`
52
+ #
53
+ # @return [String]
54
+ attr_accessor :shape_name
55
+
56
+ # An array of subnet [OCIDs](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
57
+ # @return [Array<String>]
58
+ attr_accessor :subnet_ids
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[:'backendSets']
70
+ self.backend_sets = attributes[:'backendSets']
71
+ end
72
+
73
+ if attributes[:'certificates']
74
+ self.certificates = attributes[:'certificates']
75
+ end
76
+
77
+ if attributes[:'compartmentId']
78
+ self.compartment_id = attributes[:'compartmentId']
79
+ end
80
+
81
+ if attributes[:'displayName']
82
+ self.display_name = attributes[:'displayName']
83
+ end
84
+
85
+ if attributes[:'isPrivate']
86
+ self.is_private = attributes[:'isPrivate']
87
+ else
88
+ self.is_private = false
89
+ end
90
+
91
+ if attributes[:'listeners']
92
+ self.listeners = attributes[:'listeners']
93
+ end
94
+
95
+ if attributes[:'shapeName']
96
+ self.shape_name = attributes[:'shapeName']
97
+ end
98
+
99
+ if attributes[:'subnetIds']
100
+ self.subnet_ids = attributes[:'subnetIds']
101
+ end
102
+
103
+ end
104
+
105
+ # Checks equality by comparing each attribute.
106
+ # @param [Object] other_object to be compared
107
+ def ==(other_object)
108
+ return true if self.equal?(other_object)
109
+ self.class == other_object.class &&
110
+ backend_sets == other_object.backend_sets &&
111
+ certificates == other_object.certificates &&
112
+ compartment_id == other_object.compartment_id &&
113
+ display_name == other_object.display_name &&
114
+ is_private == other_object.is_private &&
115
+ listeners == other_object.listeners &&
116
+ shape_name == other_object.shape_name &&
117
+ subnet_ids == other_object.subnet_ids
118
+ end
119
+
120
+ # @see the `==` method
121
+ # @param [Object] other_object to be compared
122
+ def eql?(other_object)
123
+ self == other_object
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Fixnum] Hash code
128
+ def hash
129
+ [backend_sets, certificates, compartment_id, display_name, is_private, listeners, shape_name, subnet_ids].hash
130
+ end
131
+
132
+ # Builds the object from hash
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ # @return [Object] Returns the model itself
135
+ def build_from_hash(attributes)
136
+ return nil unless attributes.is_a?(Hash)
137
+ self.class.swagger_types.each_pair do |key, type|
138
+ if type =~ /^Array<(.*)>/i
139
+ # check to ensure the input is an array given that the the attribute
140
+ # is documented as an array but the input is not
141
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
142
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
143
+ end
144
+ elsif !attributes[self.class.attribute_map[key]].nil?
145
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
146
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
147
+ end
148
+
149
+ self
150
+ end
151
+
152
+ # Returns the string representation of the object
153
+ # @return [String] String presentation of the object
154
+ def to_s
155
+ to_hash.to_s
156
+ end
157
+
158
+ # Returns the object in the form of hash
159
+ # @return [Hash] Returns the object in the form of hash
160
+ def to_hash
161
+ hash = {}
162
+ self.class.attribute_map.each_pair do |attr, param|
163
+ value = self.send(attr)
164
+ next if value.nil?
165
+ hash[param] = _to_hash(value)
166
+ end
167
+ hash
168
+ end
169
+
170
+ private
171
+
172
+ # Outputs non-array value in the form of hash
173
+ # For object, use to_hash. Otherwise, just return the value
174
+ # @param [Object] value Any valid value
175
+ # @return [Hash] Returns the value in the form of hash
176
+ def _to_hash(value)
177
+ if value.is_a?(Array)
178
+ value.compact.map{ |v| _to_hash(v) }
179
+ elsif value.is_a?(Hash)
180
+ {}.tap do |hash|
181
+ value.each { |k, v| hash[k] = _to_hash(v) }
182
+ end
183
+ elsif value.respond_to? :to_hash
184
+ value.to_hash
185
+ else
186
+ value
187
+ end
188
+ end
189
+
190
+
191
+
192
+ # Attribute mapping from ruby-style variable name to JSON key.
193
+ def self.attribute_map
194
+ {
195
+ :'backend_sets' => :'backendSets',
196
+ :'certificates' => :'certificates',
197
+ :'compartment_id' => :'compartmentId',
198
+ :'display_name' => :'displayName',
199
+ :'is_private' => :'isPrivate',
200
+ :'listeners' => :'listeners',
201
+ :'shape_name' => :'shapeName',
202
+ :'subnet_ids' => :'subnetIds'
203
+ }
204
+ end
205
+
206
+ # Attribute type mapping.
207
+ def self.swagger_types
208
+ {
209
+ :'backend_sets' => :'Hash<String, OCI::LoadBalancer::Models::BackendSetDetails>',
210
+ :'certificates' => :'Hash<String, OCI::LoadBalancer::Models::CertificateDetails>',
211
+ :'compartment_id' => :'String',
212
+ :'display_name' => :'String',
213
+ :'is_private' => :'BOOLEAN',
214
+ :'listeners' => :'Hash<String, OCI::LoadBalancer::Models::ListenerDetails>',
215
+ :'shape_name' => :'String',
216
+ :'subnet_ids' => :'Array<String>'
217
+ }
218
+ end
219
+ end
220
+ end
@@ -0,0 +1,183 @@
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::HealthCheckResult
7
+
8
+ HEALTH_CHECK_STATUS_ENUM = [HEALTH_CHECK_STATUS_OK = 'OK',
9
+ HEALTH_CHECK_STATUS_INVALID_STATUS_CODE = 'INVALID_STATUS_CODE',
10
+ HEALTH_CHECK_STATUS_TIMED_OUT = 'TIMED_OUT',
11
+ HEALTH_CHECK_STATUS_REGEX_MISMATCH = 'REGEX_MISMATCH',
12
+ HEALTH_CHECK_STATUS_CONNECT_FAILED = 'CONNECT_FAILED',
13
+ HEALTH_CHECK_STATUS_IO_ERROR = 'IO_ERROR',
14
+ HEALTH_CHECK_STATUS_OFFLINE = 'OFFLINE',
15
+ HEALTH_CHECK_STATUS_UNKNOWN = 'UNKNOWN',
16
+ HEALTH_CHECK_STATUS_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
17
+
18
+ # The result of the most recent health check.
19
+ #
20
+ # @return [String]
21
+ attr_accessor :health_check_status
22
+
23
+ # The IP address of the health check status report provider. This identifier helps you differentiate same-subnet
24
+ # (private) load balancers that report health check status.
25
+ #
26
+ # Example: `10.2.0.1`
27
+ #
28
+ # @return [String]
29
+ attr_accessor :source_ip_address
30
+
31
+ # The OCID of the subnet hosting the load balancer that reported this health check status.
32
+ #
33
+ # @return [String]
34
+ attr_accessor :subnet_id
35
+
36
+ # The date and time the data was retrieved, in the format defined by RFC3339.
37
+ #
38
+ # Example: `2017-06-02T18:28:11+00:00`
39
+ #
40
+ # @return [DateTime]
41
+ attr_accessor :timestamp
42
+
43
+
44
+ # Initializes the object
45
+ # @param [Hash] attributes Model attributes in the form of hash
46
+ def initialize(attributes = {})
47
+ return unless attributes.is_a?(Hash)
48
+
49
+ # convert string to symbol for hash key
50
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
51
+
52
+ if attributes[:'healthCheckStatus']
53
+ self.health_check_status = attributes[:'healthCheckStatus']
54
+ end
55
+
56
+ if attributes[:'sourceIpAddress']
57
+ self.source_ip_address = attributes[:'sourceIpAddress']
58
+ end
59
+
60
+ if attributes[:'subnetId']
61
+ self.subnet_id = attributes[:'subnetId']
62
+ end
63
+
64
+ if attributes[:'timestamp']
65
+ self.timestamp = attributes[:'timestamp']
66
+ end
67
+
68
+ end
69
+
70
+ # Custom attribute writer method checking allowed values (enum).
71
+ # @param [Object] health_check_status Object to be assigned
72
+ def health_check_status=(health_check_status)
73
+ if health_check_status && !HEALTH_CHECK_STATUS_ENUM.include?(health_check_status)
74
+ @health_check_status = HEALTH_CHECK_STATUS_UNKNOWN_ENUM_VALUE
75
+ else
76
+ @health_check_status = health_check_status
77
+ end
78
+ end
79
+
80
+ # Checks equality by comparing each attribute.
81
+ # @param [Object] other_object to be compared
82
+ def ==(other_object)
83
+ return true if self.equal?(other_object)
84
+ self.class == other_object.class &&
85
+ health_check_status == other_object.health_check_status &&
86
+ source_ip_address == other_object.source_ip_address &&
87
+ subnet_id == other_object.subnet_id &&
88
+ timestamp == other_object.timestamp
89
+ end
90
+
91
+ # @see the `==` method
92
+ # @param [Object] other_object to be compared
93
+ def eql?(other_object)
94
+ self == other_object
95
+ end
96
+
97
+ # Calculates hash code according to all attributes.
98
+ # @return [Fixnum] Hash code
99
+ def hash
100
+ [health_check_status, source_ip_address, subnet_id, timestamp].hash
101
+ end
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def build_from_hash(attributes)
107
+ return nil unless attributes.is_a?(Hash)
108
+ self.class.swagger_types.each_pair do |key, type|
109
+ if type =~ /^Array<(.*)>/i
110
+ # check to ensure the input is an array given that the the attribute
111
+ # is documented as an array but the input is not
112
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
113
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
114
+ end
115
+ elsif !attributes[self.class.attribute_map[key]].nil?
116
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
117
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
118
+ end
119
+
120
+ self
121
+ end
122
+
123
+ # Returns the string representation of the object
124
+ # @return [String] String presentation of the object
125
+ def to_s
126
+ to_hash.to_s
127
+ end
128
+
129
+ # Returns the object in the form of hash
130
+ # @return [Hash] Returns the object in the form of hash
131
+ def to_hash
132
+ hash = {}
133
+ self.class.attribute_map.each_pair do |attr, param|
134
+ value = self.send(attr)
135
+ next if value.nil?
136
+ hash[param] = _to_hash(value)
137
+ end
138
+ hash
139
+ end
140
+
141
+ private
142
+
143
+ # Outputs non-array value in the form of hash
144
+ # For object, use to_hash. Otherwise, just return the value
145
+ # @param [Object] value Any valid value
146
+ # @return [Hash] Returns the value in the form of hash
147
+ def _to_hash(value)
148
+ if value.is_a?(Array)
149
+ value.compact.map{ |v| _to_hash(v) }
150
+ elsif value.is_a?(Hash)
151
+ {}.tap do |hash|
152
+ value.each { |k, v| hash[k] = _to_hash(v) }
153
+ end
154
+ elsif value.respond_to? :to_hash
155
+ value.to_hash
156
+ else
157
+ value
158
+ end
159
+ end
160
+
161
+
162
+
163
+ # Attribute mapping from ruby-style variable name to JSON key.
164
+ def self.attribute_map
165
+ {
166
+ :'health_check_status' => :'healthCheckStatus',
167
+ :'source_ip_address' => :'sourceIpAddress',
168
+ :'subnet_id' => :'subnetId',
169
+ :'timestamp' => :'timestamp'
170
+ }
171
+ end
172
+
173
+ # Attribute type mapping.
174
+ def self.swagger_types
175
+ {
176
+ :'health_check_status' => :'String',
177
+ :'source_ip_address' => :'String',
178
+ :'subnet_id' => :'String',
179
+ :'timestamp' => :'DateTime'
180
+ }
181
+ end
182
+ end
183
+ end
@@ -0,0 +1,224 @@
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::HealthChecker
7
+ # The interval between health checks, in milliseconds. The default is 10000 (10 seconds).
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\". Defaults to 3.
37
+ #
38
+ # Example: `3`
39
+ #
40
+ # @return [Integer]
41
+ attr_accessor :retries
42
+
43
+ # The status code a healthy backend server should return. If you configure the health check policy to use the HTTP protocol,
44
+ # you can use common HTTP status codes such as \"200\".
45
+ #
46
+ # Example: `200`
47
+ #
48
+ # @return [Integer]
49
+ attr_accessor :return_code
50
+
51
+ # The maximum time, in milliseconds, to wait for a reply to a health check. A health check is successful only if a reply
52
+ # returns within this timeout period. Defaults to 3000 (3 seconds).
53
+ #
54
+ # Example: `6000`
55
+ #
56
+ # @return [Integer]
57
+ attr_accessor :timeout_in_millis
58
+
59
+ # The path against which to run the health check.
60
+ #
61
+ # Example: `/healthcheck`
62
+ #
63
+ # @return [String]
64
+ attr_accessor :url_path
65
+
66
+
67
+ # Initializes the object
68
+ # @param [Hash] attributes Model attributes in the form of hash
69
+ def initialize(attributes = {})
70
+ return unless attributes.is_a?(Hash)
71
+
72
+ # convert string to symbol for hash key
73
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
74
+
75
+ if attributes[:'intervalInMillis']
76
+ self.interval_in_millis = attributes[:'intervalInMillis']
77
+ end
78
+
79
+ if attributes[:'port']
80
+ self.port = attributes[:'port']
81
+ end
82
+
83
+ if attributes[:'protocol']
84
+ self.protocol = attributes[:'protocol']
85
+ end
86
+
87
+ if attributes[:'responseBodyRegex']
88
+ self.response_body_regex = attributes[:'responseBodyRegex']
89
+ end
90
+
91
+ if attributes[:'retries']
92
+ self.retries = attributes[:'retries']
93
+ end
94
+
95
+ if attributes[:'returnCode']
96
+ self.return_code = attributes[:'returnCode']
97
+ end
98
+
99
+ if attributes[:'timeoutInMillis']
100
+ self.timeout_in_millis = attributes[:'timeoutInMillis']
101
+ end
102
+
103
+ if attributes[:'urlPath']
104
+ self.url_path = attributes[:'urlPath']
105
+ end
106
+
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
+ interval_in_millis == other_object.interval_in_millis &&
115
+ port == other_object.port &&
116
+ protocol == other_object.protocol &&
117
+ response_body_regex == other_object.response_body_regex &&
118
+ retries == other_object.retries &&
119
+ return_code == other_object.return_code &&
120
+ timeout_in_millis == other_object.timeout_in_millis &&
121
+ url_path == other_object.url_path
122
+ end
123
+
124
+ # @see the `==` method
125
+ # @param [Object] other_object to be compared
126
+ def eql?(other_object)
127
+ self == other_object
128
+ end
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Fixnum] Hash code
132
+ def hash
133
+ [interval_in_millis, port, protocol, response_body_regex, retries, return_code, timeout_in_millis, url_path].hash
134
+ end
135
+
136
+ # Builds the object from hash
137
+ # @param [Hash] attributes Model attributes in the form of hash
138
+ # @return [Object] Returns the model itself
139
+ def build_from_hash(attributes)
140
+ return nil unless attributes.is_a?(Hash)
141
+ self.class.swagger_types.each_pair do |key, type|
142
+ if type =~ /^Array<(.*)>/i
143
+ # check to ensure the input is an array given that the the attribute
144
+ # is documented as an array but the input is not
145
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
146
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
147
+ end
148
+ elsif !attributes[self.class.attribute_map[key]].nil?
149
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
150
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
151
+ end
152
+
153
+ self
154
+ end
155
+
156
+ # Returns the string representation of the object
157
+ # @return [String] String presentation of the object
158
+ def to_s
159
+ to_hash.to_s
160
+ end
161
+
162
+ # Returns the object in the form of hash
163
+ # @return [Hash] Returns the object in the form of hash
164
+ def to_hash
165
+ hash = {}
166
+ self.class.attribute_map.each_pair do |attr, param|
167
+ value = self.send(attr)
168
+ next if value.nil?
169
+ hash[param] = _to_hash(value)
170
+ end
171
+ hash
172
+ end
173
+
174
+ private
175
+
176
+ # Outputs non-array value in the form of hash
177
+ # For object, use to_hash. Otherwise, just return the value
178
+ # @param [Object] value Any valid value
179
+ # @return [Hash] Returns the value in the form of hash
180
+ def _to_hash(value)
181
+ if value.is_a?(Array)
182
+ value.compact.map{ |v| _to_hash(v) }
183
+ elsif value.is_a?(Hash)
184
+ {}.tap do |hash|
185
+ value.each { |k, v| hash[k] = _to_hash(v) }
186
+ end
187
+ elsif value.respond_to? :to_hash
188
+ value.to_hash
189
+ else
190
+ value
191
+ end
192
+ end
193
+
194
+
195
+
196
+ # Attribute mapping from ruby-style variable name to JSON key.
197
+ def self.attribute_map
198
+ {
199
+ :'interval_in_millis' => :'intervalInMillis',
200
+ :'port' => :'port',
201
+ :'protocol' => :'protocol',
202
+ :'response_body_regex' => :'responseBodyRegex',
203
+ :'retries' => :'retries',
204
+ :'return_code' => :'returnCode',
205
+ :'timeout_in_millis' => :'timeoutInMillis',
206
+ :'url_path' => :'urlPath'
207
+ }
208
+ end
209
+
210
+ # Attribute type mapping.
211
+ def self.swagger_types
212
+ {
213
+ :'interval_in_millis' => :'Integer',
214
+ :'port' => :'Integer',
215
+ :'protocol' => :'String',
216
+ :'response_body_regex' => :'String',
217
+ :'retries' => :'Integer',
218
+ :'return_code' => :'Integer',
219
+ :'timeout_in_millis' => :'Integer',
220
+ :'url_path' => :'String'
221
+ }
222
+ end
223
+ end
224
+ end