oci 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +82 -0
  3. data/README.md +262 -0
  4. data/lib/oci.rb +25 -0
  5. data/lib/oci/api_client.rb +389 -0
  6. data/lib/oci/config.rb +118 -0
  7. data/lib/oci/config_file_loader.rb +96 -0
  8. data/lib/oci/core/blockstorage_client.rb +462 -0
  9. data/lib/oci/core/compute_client.rb +1415 -0
  10. data/lib/oci/core/core.rb +114 -0
  11. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +137 -0
  12. data/lib/oci/core/models/attach_vnic_details.rb +144 -0
  13. data/lib/oci/core/models/attach_volume_details.rb +165 -0
  14. data/lib/oci/core/models/capture_console_history_details.rb +120 -0
  15. data/lib/oci/core/models/console_history.rb +213 -0
  16. data/lib/oci/core/models/cpe.rb +169 -0
  17. data/lib/oci/core/models/create_cpe_details.rb +145 -0
  18. data/lib/oci/core/models/create_cross_connect_details.rb +204 -0
  19. data/lib/oci/core/models/create_cross_connect_group_details.rb +133 -0
  20. data/lib/oci/core/models/create_dhcp_details.rb +153 -0
  21. data/lib/oci/core/models/create_drg_attachment_details.rb +142 -0
  22. data/lib/oci/core/models/create_drg_details.rb +131 -0
  23. data/lib/oci/core/models/create_image_details.rb +159 -0
  24. data/lib/oci/core/models/create_instance_console_connection_details.rb +131 -0
  25. data/lib/oci/core/models/create_internet_gateway_details.rb +153 -0
  26. data/lib/oci/core/models/create_ip_sec_connection_details.rb +168 -0
  27. data/lib/oci/core/models/create_private_ip_details.rb +173 -0
  28. data/lib/oci/core/models/create_route_table_details.rb +153 -0
  29. data/lib/oci/core/models/create_security_list_details.rb +164 -0
  30. data/lib/oci/core/models/create_subnet_details.rb +257 -0
  31. data/lib/oci/core/models/create_vcn_details.rb +171 -0
  32. data/lib/oci/core/models/create_virtual_circuit_details.rb +260 -0
  33. data/lib/oci/core/models/create_vnic_details.rb +214 -0
  34. data/lib/oci/core/models/create_volume_backup_details.rb +133 -0
  35. data/lib/oci/core/models/create_volume_details.rb +170 -0
  36. data/lib/oci/core/models/cross_connect.rb +235 -0
  37. data/lib/oci/core/models/cross_connect_group.rb +187 -0
  38. data/lib/oci/core/models/cross_connect_location.rb +134 -0
  39. data/lib/oci/core/models/cross_connect_mapping.rb +190 -0
  40. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +137 -0
  41. data/lib/oci/core/models/cross_connect_status.rb +200 -0
  42. data/lib/oci/core/models/dhcp_dns_option.rb +171 -0
  43. data/lib/oci/core/models/dhcp_option.rb +135 -0
  44. data/lib/oci/core/models/dhcp_options.rb +208 -0
  45. data/lib/oci/core/models/dhcp_search_domain_option.rb +141 -0
  46. data/lib/oci/core/models/drg.rb +186 -0
  47. data/lib/oci/core/models/drg_attachment.rb +208 -0
  48. data/lib/oci/core/models/egress_security_rule.rb +198 -0
  49. data/lib/oci/core/models/export_image_details.rb +134 -0
  50. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +150 -0
  51. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +130 -0
  52. data/lib/oci/core/models/fast_connect_provider_service.rb +145 -0
  53. data/lib/oci/core/models/i_scsi_volume_attachment.rb +212 -0
  54. data/lib/oci/core/models/icmp_options.rb +131 -0
  55. data/lib/oci/core/models/image.rb +245 -0
  56. data/lib/oci/core/models/image_source_details.rb +134 -0
  57. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +150 -0
  58. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +128 -0
  59. data/lib/oci/core/models/ingress_security_rule.rb +198 -0
  60. data/lib/oci/core/models/instance.rb +307 -0
  61. data/lib/oci/core/models/instance_console_connection.rb +193 -0
  62. data/lib/oci/core/models/instance_credentials.rb +131 -0
  63. data/lib/oci/core/models/internet_gateway.rb +210 -0
  64. data/lib/oci/core/models/ip_sec_connection.rb +223 -0
  65. data/lib/oci/core/models/ip_sec_connection_device_config.rb +153 -0
  66. data/lib/oci/core/models/ip_sec_connection_device_status.rb +156 -0
  67. data/lib/oci/core/models/launch_instance_details.rb +336 -0
  68. data/lib/oci/core/models/letter_of_authority.rb +194 -0
  69. data/lib/oci/core/models/port_range.rb +133 -0
  70. data/lib/oci/core/models/private_ip.rb +248 -0
  71. data/lib/oci/core/models/route_rule.rb +135 -0
  72. data/lib/oci/core/models/route_table.rb +208 -0
  73. data/lib/oci/core/models/security_list.rb +219 -0
  74. data/lib/oci/core/models/shape.rb +122 -0
  75. data/lib/oci/core/models/subnet.rb +351 -0
  76. data/lib/oci/core/models/tcp_options.rb +135 -0
  77. data/lib/oci/core/models/tunnel_config.rb +151 -0
  78. data/lib/oci/core/models/tunnel_status.rb +178 -0
  79. data/lib/oci/core/models/udp_options.rb +135 -0
  80. data/lib/oci/core/models/update_cpe_details.rb +122 -0
  81. data/lib/oci/core/models/update_cross_connect_details.rb +138 -0
  82. data/lib/oci/core/models/update_cross_connect_group_details.rb +122 -0
  83. data/lib/oci/core/models/update_dhcp_details.rb +132 -0
  84. data/lib/oci/core/models/update_drg_attachment_details.rb +122 -0
  85. data/lib/oci/core/models/update_drg_details.rb +122 -0
  86. data/lib/oci/core/models/update_image_details.rb +124 -0
  87. data/lib/oci/core/models/update_instance_details.rb +124 -0
  88. data/lib/oci/core/models/update_internet_gateway_details.rb +133 -0
  89. data/lib/oci/core/models/update_ip_sec_connection_details.rb +122 -0
  90. data/lib/oci/core/models/update_private_ip_details.rb +157 -0
  91. data/lib/oci/core/models/update_route_table_details.rb +133 -0
  92. data/lib/oci/core/models/update_security_list_details.rb +144 -0
  93. data/lib/oci/core/models/update_subnet_details.rb +122 -0
  94. data/lib/oci/core/models/update_vcn_details.rb +122 -0
  95. data/lib/oci/core/models/update_virtual_circuit_details.rb +240 -0
  96. data/lib/oci/core/models/update_vnic_details.rb +144 -0
  97. data/lib/oci/core/models/update_volume_backup_details.rb +122 -0
  98. data/lib/oci/core/models/update_volume_details.rb +122 -0
  99. data/lib/oci/core/models/vcn.rb +276 -0
  100. data/lib/oci/core/models/virtual_circuit.rb +395 -0
  101. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +137 -0
  102. data/lib/oci/core/models/vnic.rb +287 -0
  103. data/lib/oci/core/models/vnic_attachment.rb +250 -0
  104. data/lib/oci/core/models/volume.rb +210 -0
  105. data/lib/oci/core/models/volume_attachment.rb +246 -0
  106. data/lib/oci/core/models/volume_backup.rb +235 -0
  107. data/lib/oci/core/util.rb +1 -0
  108. data/lib/oci/core/virtual_network_client.rb +3421 -0
  109. data/lib/oci/errors.rb +78 -0
  110. data/lib/oci/global_context.rb +20 -0
  111. data/lib/oci/identity/identity.rb +55 -0
  112. data/lib/oci/identity/identity_client.rb +2148 -0
  113. data/lib/oci/identity/models/add_user_to_group_details.rb +131 -0
  114. data/lib/oci/identity/models/api_key.rb +211 -0
  115. data/lib/oci/identity/models/availability_domain.rb +131 -0
  116. data/lib/oci/identity/models/compartment.rb +211 -0
  117. data/lib/oci/identity/models/create_api_key_details.rb +120 -0
  118. data/lib/oci/identity/models/create_compartment_details.rb +145 -0
  119. data/lib/oci/identity/models/create_customer_secret_key_details.rb +121 -0
  120. data/lib/oci/identity/models/create_group_details.rb +144 -0
  121. data/lib/oci/identity/models/create_identity_provider_details.rb +215 -0
  122. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +133 -0
  123. data/lib/oci/identity/models/create_policy_details.rb +173 -0
  124. data/lib/oci/identity/models/create_region_subscription_details.rb +128 -0
  125. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +154 -0
  126. data/lib/oci/identity/models/create_swift_password_details.rb +121 -0
  127. data/lib/oci/identity/models/create_user_details.rb +144 -0
  128. data/lib/oci/identity/models/customer_secret_key.rb +225 -0
  129. data/lib/oci/identity/models/customer_secret_key_summary.rb +213 -0
  130. data/lib/oci/identity/models/group.rb +211 -0
  131. data/lib/oci/identity/models/identity_provider.rb +261 -0
  132. data/lib/oci/identity/models/idp_group_mapping.rb +220 -0
  133. data/lib/oci/identity/models/policy.rb +237 -0
  134. data/lib/oci/identity/models/region.rb +143 -0
  135. data/lib/oci/identity/models/region_subscription.rb +180 -0
  136. data/lib/oci/identity/models/saml2_identity_provider.rb +180 -0
  137. data/lib/oci/identity/models/swift_password.rb +226 -0
  138. data/lib/oci/identity/models/tenancy.rb +159 -0
  139. data/lib/oci/identity/models/ui_password.rb +187 -0
  140. data/lib/oci/identity/models/update_compartment_details.rb +132 -0
  141. data/lib/oci/identity/models/update_customer_secret_key_details.rb +120 -0
  142. data/lib/oci/identity/models/update_group_details.rb +120 -0
  143. data/lib/oci/identity/models/update_identity_provider_details.rb +160 -0
  144. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +131 -0
  145. data/lib/oci/identity/models/update_policy_details.rb +148 -0
  146. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +145 -0
  147. data/lib/oci/identity/models/update_state_details.rb +121 -0
  148. data/lib/oci/identity/models/update_swift_password_details.rb +120 -0
  149. data/lib/oci/identity/models/update_user_details.rb +120 -0
  150. data/lib/oci/identity/models/user.rb +217 -0
  151. data/lib/oci/identity/models/user_group_membership.rb +209 -0
  152. data/lib/oci/identity/util.rb +1 -0
  153. data/lib/oci/internal/internal.rb +10 -0
  154. data/lib/oci/internal/util.rb +69 -0
  155. data/lib/oci/load_balancer/load_balancer.rb +51 -0
  156. data/lib/oci/load_balancer/load_balancer_client.rb +1449 -0
  157. data/lib/oci/load_balancer/models/backend.rb +220 -0
  158. data/lib/oci/load_balancer/models/backend_details.rb +206 -0
  159. data/lib/oci/load_balancer/models/backend_health.rb +158 -0
  160. data/lib/oci/load_balancer/models/backend_set.rb +182 -0
  161. data/lib/oci/load_balancer/models/backend_set_details.rb +165 -0
  162. data/lib/oci/load_balancer/models/backend_set_health.rb +207 -0
  163. data/lib/oci/load_balancer/models/certificate.rb +169 -0
  164. data/lib/oci/load_balancer/models/certificate_details.rb +205 -0
  165. data/lib/oci/load_balancer/models/create_backend_details.rb +206 -0
  166. data/lib/oci/load_balancer/models/create_backend_set_details.rb +181 -0
  167. data/lib/oci/load_balancer/models/create_certificate_details.rb +205 -0
  168. data/lib/oci/load_balancer/models/create_listener_details.rb +175 -0
  169. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +220 -0
  170. data/lib/oci/load_balancer/models/health_check_result.rb +183 -0
  171. data/lib/oci/load_balancer/models/health_checker.rb +224 -0
  172. data/lib/oci/load_balancer/models/health_checker_details.rb +223 -0
  173. data/lib/oci/load_balancer/models/ip_address.rb +139 -0
  174. data/lib/oci/load_balancer/models/listener.rb +174 -0
  175. data/lib/oci/load_balancer/models/listener_details.rb +160 -0
  176. data/lib/oci/load_balancer/models/load_balancer.rb +280 -0
  177. data/lib/oci/load_balancer/models/load_balancer_health.rb +215 -0
  178. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +168 -0
  179. data/lib/oci/load_balancer/models/load_balancer_policy.rb +120 -0
  180. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +120 -0
  181. data/lib/oci/load_balancer/models/load_balancer_shape.rb +120 -0
  182. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +141 -0
  183. data/lib/oci/load_balancer/models/ssl_configuration.rb +155 -0
  184. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +155 -0
  185. data/lib/oci/load_balancer/models/update_backend_details.rb +178 -0
  186. data/lib/oci/load_balancer/models/update_backend_set_details.rb +165 -0
  187. data/lib/oci/load_balancer/models/update_health_checker_details.rb +222 -0
  188. data/lib/oci/load_balancer/models/update_listener_details.rb +160 -0
  189. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +124 -0
  190. data/lib/oci/load_balancer/models/work_request.rb +229 -0
  191. data/lib/oci/load_balancer/models/work_request_error.rb +145 -0
  192. data/lib/oci/load_balancer/util.rb +58 -0
  193. data/lib/oci/object_storage/models/bucket.rb +216 -0
  194. data/lib/oci/object_storage/models/bucket_summary.rb +175 -0
  195. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +133 -0
  196. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +131 -0
  197. data/lib/oci/object_storage/models/create_bucket_details.rb +173 -0
  198. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +166 -0
  199. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +171 -0
  200. data/lib/oci/object_storage/models/list_objects.rb +146 -0
  201. data/lib/oci/object_storage/models/multipart_upload.rb +164 -0
  202. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +153 -0
  203. data/lib/oci/object_storage/models/object_summary.rb +153 -0
  204. data/lib/oci/object_storage/models/preauthenticated_request.rb +207 -0
  205. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +196 -0
  206. data/lib/oci/object_storage/models/update_bucket_details.rb +171 -0
  207. data/lib/oci/object_storage/object_storage.rb +30 -0
  208. data/lib/oci/object_storage/object_storage_client.rb +1185 -0
  209. data/lib/oci/object_storage/util.rb +1 -0
  210. data/lib/oci/regions.rb +43 -0
  211. data/lib/oci/response.rb +80 -0
  212. data/lib/oci/response_headers.rb +144 -0
  213. data/lib/oci/signer.rb +157 -0
  214. data/lib/oci/version.rb +5 -0
  215. data/lib/oci/waiter.rb +101 -0
  216. data/lib/oraclebmc.rb +3 -0
  217. metadata +375 -0
@@ -0,0 +1,131 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Core::Models::InstanceCredentials
7
+ # The password for the username.
8
+ # @return [String]
9
+ attr_accessor :password
10
+
11
+ # The username.
12
+ # @return [String]
13
+ attr_accessor :username
14
+
15
+
16
+ # Initializes the object
17
+ # @param [Hash] attributes Model attributes in the form of hash
18
+ def initialize(attributes = {})
19
+ return unless attributes.is_a?(Hash)
20
+
21
+ # convert string to symbol for hash key
22
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
23
+
24
+ if attributes[:'password']
25
+ self.password = attributes[:'password']
26
+ end
27
+
28
+ if attributes[:'username']
29
+ self.username = attributes[:'username']
30
+ end
31
+
32
+ end
33
+
34
+ # Checks equality by comparing each attribute.
35
+ # @param [Object] other_object to be compared
36
+ def ==(other_object)
37
+ return true if self.equal?(other_object)
38
+ self.class == other_object.class &&
39
+ password == other_object.password &&
40
+ username == other_object.username
41
+ end
42
+
43
+ # @see the `==` method
44
+ # @param [Object] other_object to be compared
45
+ def eql?(other_object)
46
+ self == other_object
47
+ end
48
+
49
+ # Calculates hash code according to all attributes.
50
+ # @return [Fixnum] Hash code
51
+ def hash
52
+ [password, username].hash
53
+ end
54
+
55
+ # Builds the object from hash
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ # @return [Object] Returns the model itself
58
+ def build_from_hash(attributes)
59
+ return nil unless attributes.is_a?(Hash)
60
+ self.class.swagger_types.each_pair do |key, type|
61
+ if type =~ /^Array<(.*)>/i
62
+ # check to ensure the input is an array given that the the attribute
63
+ # is documented as an array but the input is not
64
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
65
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
66
+ end
67
+ elsif !attributes[self.class.attribute_map[key]].nil?
68
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
69
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
70
+ end
71
+
72
+ self
73
+ end
74
+
75
+ # Returns the string representation of the object
76
+ # @return [String] String presentation of the object
77
+ def to_s
78
+ to_hash.to_s
79
+ end
80
+
81
+ # Returns the object in the form of hash
82
+ # @return [Hash] Returns the object in the form of hash
83
+ def to_hash
84
+ hash = {}
85
+ self.class.attribute_map.each_pair do |attr, param|
86
+ value = self.send(attr)
87
+ next if value.nil?
88
+ hash[param] = _to_hash(value)
89
+ end
90
+ hash
91
+ end
92
+
93
+ private
94
+
95
+ # Outputs non-array value in the form of hash
96
+ # For object, use to_hash. Otherwise, just return the value
97
+ # @param [Object] value Any valid value
98
+ # @return [Hash] Returns the value in the form of hash
99
+ def _to_hash(value)
100
+ if value.is_a?(Array)
101
+ value.compact.map{ |v| _to_hash(v) }
102
+ elsif value.is_a?(Hash)
103
+ {}.tap do |hash|
104
+ value.each { |k, v| hash[k] = _to_hash(v) }
105
+ end
106
+ elsif value.respond_to? :to_hash
107
+ value.to_hash
108
+ else
109
+ value
110
+ end
111
+ end
112
+
113
+
114
+
115
+ # Attribute mapping from ruby-style variable name to JSON key.
116
+ def self.attribute_map
117
+ {
118
+ :'password' => :'password',
119
+ :'username' => :'username'
120
+ }
121
+ end
122
+
123
+ # Attribute type mapping.
124
+ def self.swagger_types
125
+ {
126
+ :'password' => :'String',
127
+ :'username' => :'String'
128
+ }
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,210 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Core::Models::InternetGateway
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING',
9
+ LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE',
10
+ LIFECYCLE_STATE_TERMINATING = 'TERMINATING',
11
+ LIFECYCLE_STATE_TERMINATED = 'TERMINATED',
12
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
13
+
14
+ # The OCID of the compartment containing the Internet Gateway.
15
+ # @return [String]
16
+ attr_accessor :compartment_id
17
+
18
+ # A user-friendly name. Does not have to be unique, and it's changeable.
19
+ # Avoid entering confidential information.
20
+ #
21
+ # @return [String]
22
+ attr_accessor :display_name
23
+
24
+ # The Internet Gateway's Oracle ID (OCID).
25
+ # @return [String]
26
+ attr_accessor :id
27
+
28
+ # Whether the gateway is enabled. When the gateway is disabled, traffic is not
29
+ # routed to/from the Internet, regardless of route rules.
30
+ #
31
+ # @return [BOOLEAN]
32
+ attr_accessor :is_enabled
33
+
34
+ # The Internet Gateway's current state.
35
+ # @return [String]
36
+ attr_accessor :lifecycle_state
37
+
38
+ # The date and time the Internet Gateway was created, in the format defined by RFC3339.
39
+ #
40
+ # Example: `2016-08-25T21:10:29.600Z`
41
+ #
42
+ # @return [DateTime]
43
+ attr_accessor :time_created
44
+
45
+ # The OCID of the VCN the Internet Gateway belongs to.
46
+ # @return [String]
47
+ attr_accessor :vcn_id
48
+
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ return unless attributes.is_a?(Hash)
54
+
55
+ # convert string to symbol for hash key
56
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
57
+
58
+ if attributes[:'compartmentId']
59
+ self.compartment_id = attributes[:'compartmentId']
60
+ end
61
+
62
+ if attributes[:'displayName']
63
+ self.display_name = attributes[:'displayName']
64
+ end
65
+
66
+ if attributes[:'id']
67
+ self.id = attributes[:'id']
68
+ end
69
+
70
+ if attributes[:'isEnabled']
71
+ self.is_enabled = attributes[:'isEnabled']
72
+ end
73
+
74
+ if attributes[:'lifecycleState']
75
+ self.lifecycle_state = attributes[:'lifecycleState']
76
+ end
77
+
78
+ if attributes[:'timeCreated']
79
+ self.time_created = attributes[:'timeCreated']
80
+ end
81
+
82
+ if attributes[:'vcnId']
83
+ self.vcn_id = attributes[:'vcnId']
84
+ end
85
+
86
+ end
87
+
88
+ # Custom attribute writer method checking allowed values (enum).
89
+ # @param [Object] lifecycle_state Object to be assigned
90
+ def lifecycle_state=(lifecycle_state)
91
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
92
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
93
+ else
94
+ @lifecycle_state = lifecycle_state
95
+ end
96
+ end
97
+
98
+ # Checks equality by comparing each attribute.
99
+ # @param [Object] other_object to be compared
100
+ def ==(other_object)
101
+ return true if self.equal?(other_object)
102
+ self.class == other_object.class &&
103
+ compartment_id == other_object.compartment_id &&
104
+ display_name == other_object.display_name &&
105
+ id == other_object.id &&
106
+ is_enabled == other_object.is_enabled &&
107
+ lifecycle_state == other_object.lifecycle_state &&
108
+ time_created == other_object.time_created &&
109
+ vcn_id == other_object.vcn_id
110
+ end
111
+
112
+ # @see the `==` method
113
+ # @param [Object] other_object to be compared
114
+ def eql?(other_object)
115
+ self == other_object
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Fixnum] Hash code
120
+ def hash
121
+ [compartment_id, display_name, id, is_enabled, lifecycle_state, time_created, vcn_id].hash
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ self.class.swagger_types.each_pair do |key, type|
130
+ if type =~ /^Array<(.*)>/i
131
+ # check to ensure the input is an array given that the the attribute
132
+ # is documented as an array but the input is not
133
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
134
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
135
+ end
136
+ elsif !attributes[self.class.attribute_map[key]].nil?
137
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
138
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
139
+ end
140
+
141
+ self
142
+ end
143
+
144
+ # Returns the string representation of the object
145
+ # @return [String] String presentation of the object
146
+ def to_s
147
+ to_hash.to_s
148
+ end
149
+
150
+ # Returns the object in the form of hash
151
+ # @return [Hash] Returns the object in the form of hash
152
+ def to_hash
153
+ hash = {}
154
+ self.class.attribute_map.each_pair do |attr, param|
155
+ value = self.send(attr)
156
+ next if value.nil?
157
+ hash[param] = _to_hash(value)
158
+ end
159
+ hash
160
+ end
161
+
162
+ private
163
+
164
+ # Outputs non-array value in the form of hash
165
+ # For object, use to_hash. Otherwise, just return the value
166
+ # @param [Object] value Any valid value
167
+ # @return [Hash] Returns the value in the form of hash
168
+ def _to_hash(value)
169
+ if value.is_a?(Array)
170
+ value.compact.map{ |v| _to_hash(v) }
171
+ elsif value.is_a?(Hash)
172
+ {}.tap do |hash|
173
+ value.each { |k, v| hash[k] = _to_hash(v) }
174
+ end
175
+ elsif value.respond_to? :to_hash
176
+ value.to_hash
177
+ else
178
+ value
179
+ end
180
+ end
181
+
182
+
183
+
184
+ # Attribute mapping from ruby-style variable name to JSON key.
185
+ def self.attribute_map
186
+ {
187
+ :'compartment_id' => :'compartmentId',
188
+ :'display_name' => :'displayName',
189
+ :'id' => :'id',
190
+ :'is_enabled' => :'isEnabled',
191
+ :'lifecycle_state' => :'lifecycleState',
192
+ :'time_created' => :'timeCreated',
193
+ :'vcn_id' => :'vcnId'
194
+ }
195
+ end
196
+
197
+ # Attribute type mapping.
198
+ def self.swagger_types
199
+ {
200
+ :'compartment_id' => :'String',
201
+ :'display_name' => :'String',
202
+ :'id' => :'String',
203
+ :'is_enabled' => :'BOOLEAN',
204
+ :'lifecycle_state' => :'String',
205
+ :'time_created' => :'DateTime',
206
+ :'vcn_id' => :'String'
207
+ }
208
+ end
209
+ end
210
+ end
@@ -0,0 +1,223 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Core::Models::IPSecConnection
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING',
9
+ LIFECYCLE_STATE_AVAILABLE = 'AVAILABLE',
10
+ LIFECYCLE_STATE_TERMINATING = 'TERMINATING',
11
+ LIFECYCLE_STATE_TERMINATED = 'TERMINATED',
12
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
13
+
14
+ # The OCID of the compartment containing the IPSec connection.
15
+ # @return [String]
16
+ attr_accessor :compartment_id
17
+
18
+ # The OCID of the CPE.
19
+ # @return [String]
20
+ attr_accessor :cpe_id
21
+
22
+ # A user-friendly name. Does not have to be unique, and it's changeable.
23
+ # Avoid entering confidential information.
24
+ #
25
+ # @return [String]
26
+ attr_accessor :display_name
27
+
28
+ # The OCID of the DRG.
29
+ # @return [String]
30
+ attr_accessor :drg_id
31
+
32
+ # The IPSec connection's Oracle ID (OCID).
33
+ # @return [String]
34
+ attr_accessor :id
35
+
36
+ # The IPSec connection's current state.
37
+ # @return [String]
38
+ attr_accessor :lifecycle_state
39
+
40
+ # Static routes to the CPE. At least one route must be included. The CIDR must not be a
41
+ # multicast address or class E address.
42
+ #
43
+ # Example: `10.0.1.0/24`
44
+ #
45
+ # @return [Array<String>]
46
+ attr_accessor :static_routes
47
+
48
+ # The date and time the IPSec connection was created, in the format defined by RFC3339.
49
+ #
50
+ # Example: `2016-08-25T21:10:29.600Z`
51
+ #
52
+ # @return [DateTime]
53
+ attr_accessor :time_created
54
+
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ return unless attributes.is_a?(Hash)
60
+
61
+ # convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
63
+
64
+ if attributes[:'compartmentId']
65
+ self.compartment_id = attributes[:'compartmentId']
66
+ end
67
+
68
+ if attributes[:'cpeId']
69
+ self.cpe_id = attributes[:'cpeId']
70
+ end
71
+
72
+ if attributes[:'displayName']
73
+ self.display_name = attributes[:'displayName']
74
+ end
75
+
76
+ if attributes[:'drgId']
77
+ self.drg_id = attributes[:'drgId']
78
+ end
79
+
80
+ if attributes[:'id']
81
+ self.id = attributes[:'id']
82
+ end
83
+
84
+ if attributes[:'lifecycleState']
85
+ self.lifecycle_state = attributes[:'lifecycleState']
86
+ end
87
+
88
+ if attributes[:'staticRoutes']
89
+ self.static_routes = attributes[:'staticRoutes']
90
+ end
91
+
92
+ if attributes[:'timeCreated']
93
+ self.time_created = attributes[:'timeCreated']
94
+ end
95
+
96
+ end
97
+
98
+ # Custom attribute writer method checking allowed values (enum).
99
+ # @param [Object] lifecycle_state Object to be assigned
100
+ def lifecycle_state=(lifecycle_state)
101
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
102
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
103
+ else
104
+ @lifecycle_state = lifecycle_state
105
+ end
106
+ end
107
+
108
+ # Checks equality by comparing each attribute.
109
+ # @param [Object] other_object to be compared
110
+ def ==(other_object)
111
+ return true if self.equal?(other_object)
112
+ self.class == other_object.class &&
113
+ compartment_id == other_object.compartment_id &&
114
+ cpe_id == other_object.cpe_id &&
115
+ display_name == other_object.display_name &&
116
+ drg_id == other_object.drg_id &&
117
+ id == other_object.id &&
118
+ lifecycle_state == other_object.lifecycle_state &&
119
+ static_routes == other_object.static_routes &&
120
+ time_created == other_object.time_created
121
+ end
122
+
123
+ # @see the `==` method
124
+ # @param [Object] other_object to be compared
125
+ def eql?(other_object)
126
+ self == other_object
127
+ end
128
+
129
+ # Calculates hash code according to all attributes.
130
+ # @return [Fixnum] Hash code
131
+ def hash
132
+ [compartment_id, cpe_id, display_name, drg_id, id, lifecycle_state, static_routes, time_created].hash
133
+ end
134
+
135
+ # Builds the object from hash
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ # @return [Object] Returns the model itself
138
+ def build_from_hash(attributes)
139
+ return nil unless attributes.is_a?(Hash)
140
+ self.class.swagger_types.each_pair do |key, type|
141
+ if type =~ /^Array<(.*)>/i
142
+ # check to ensure the input is an array given that the the attribute
143
+ # is documented as an array but the input is not
144
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
145
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
146
+ end
147
+ elsif !attributes[self.class.attribute_map[key]].nil?
148
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
149
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
150
+ end
151
+
152
+ self
153
+ end
154
+
155
+ # Returns the string representation of the object
156
+ # @return [String] String presentation of the object
157
+ def to_s
158
+ to_hash.to_s
159
+ end
160
+
161
+ # Returns the object in the form of hash
162
+ # @return [Hash] Returns the object in the form of hash
163
+ def to_hash
164
+ hash = {}
165
+ self.class.attribute_map.each_pair do |attr, param|
166
+ value = self.send(attr)
167
+ next if value.nil?
168
+ hash[param] = _to_hash(value)
169
+ end
170
+ hash
171
+ end
172
+
173
+ private
174
+
175
+ # Outputs non-array value in the form of hash
176
+ # For object, use to_hash. Otherwise, just return the value
177
+ # @param [Object] value Any valid value
178
+ # @return [Hash] Returns the value in the form of hash
179
+ def _to_hash(value)
180
+ if value.is_a?(Array)
181
+ value.compact.map{ |v| _to_hash(v) }
182
+ elsif value.is_a?(Hash)
183
+ {}.tap do |hash|
184
+ value.each { |k, v| hash[k] = _to_hash(v) }
185
+ end
186
+ elsif value.respond_to? :to_hash
187
+ value.to_hash
188
+ else
189
+ value
190
+ end
191
+ end
192
+
193
+
194
+
195
+ # Attribute mapping from ruby-style variable name to JSON key.
196
+ def self.attribute_map
197
+ {
198
+ :'compartment_id' => :'compartmentId',
199
+ :'cpe_id' => :'cpeId',
200
+ :'display_name' => :'displayName',
201
+ :'drg_id' => :'drgId',
202
+ :'id' => :'id',
203
+ :'lifecycle_state' => :'lifecycleState',
204
+ :'static_routes' => :'staticRoutes',
205
+ :'time_created' => :'timeCreated'
206
+ }
207
+ end
208
+
209
+ # Attribute type mapping.
210
+ def self.swagger_types
211
+ {
212
+ :'compartment_id' => :'String',
213
+ :'cpe_id' => :'String',
214
+ :'display_name' => :'String',
215
+ :'drg_id' => :'String',
216
+ :'id' => :'String',
217
+ :'lifecycle_state' => :'String',
218
+ :'static_routes' => :'Array<String>',
219
+ :'time_created' => :'DateTime'
220
+ }
221
+ end
222
+ end
223
+ end