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,122 @@
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::Shape
7
+ # The name of the shape. You can enumerate all available shapes by calling
8
+ # {#list_shapes list_shapes}.
9
+ #
10
+ # @return [String]
11
+ attr_accessor :shape
12
+
13
+
14
+ # Initializes the object
15
+ # @param [Hash] attributes Model attributes in the form of hash
16
+ def initialize(attributes = {})
17
+ return unless attributes.is_a?(Hash)
18
+
19
+ # convert string to symbol for hash key
20
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
21
+
22
+ if attributes[:'shape']
23
+ self.shape = attributes[:'shape']
24
+ end
25
+
26
+ end
27
+
28
+ # Checks equality by comparing each attribute.
29
+ # @param [Object] other_object to be compared
30
+ def ==(other_object)
31
+ return true if self.equal?(other_object)
32
+ self.class == other_object.class &&
33
+ shape == other_object.shape
34
+ end
35
+
36
+ # @see the `==` method
37
+ # @param [Object] other_object to be compared
38
+ def eql?(other_object)
39
+ self == other_object
40
+ end
41
+
42
+ # Calculates hash code according to all attributes.
43
+ # @return [Fixnum] Hash code
44
+ def hash
45
+ [shape].hash
46
+ end
47
+
48
+ # Builds the object from hash
49
+ # @param [Hash] attributes Model attributes in the form of hash
50
+ # @return [Object] Returns the model itself
51
+ def build_from_hash(attributes)
52
+ return nil unless attributes.is_a?(Hash)
53
+ self.class.swagger_types.each_pair do |key, type|
54
+ if type =~ /^Array<(.*)>/i
55
+ # check to ensure the input is an array given that the the attribute
56
+ # is documented as an array but the input is not
57
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
58
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
59
+ end
60
+ elsif !attributes[self.class.attribute_map[key]].nil?
61
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
62
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
63
+ end
64
+
65
+ self
66
+ end
67
+
68
+ # Returns the string representation of the object
69
+ # @return [String] String presentation of the object
70
+ def to_s
71
+ to_hash.to_s
72
+ end
73
+
74
+ # Returns the object in the form of hash
75
+ # @return [Hash] Returns the object in the form of hash
76
+ def to_hash
77
+ hash = {}
78
+ self.class.attribute_map.each_pair do |attr, param|
79
+ value = self.send(attr)
80
+ next if value.nil?
81
+ hash[param] = _to_hash(value)
82
+ end
83
+ hash
84
+ end
85
+
86
+ private
87
+
88
+ # Outputs non-array value in the form of hash
89
+ # For object, use to_hash. Otherwise, just return the value
90
+ # @param [Object] value Any valid value
91
+ # @return [Hash] Returns the value in the form of hash
92
+ def _to_hash(value)
93
+ if value.is_a?(Array)
94
+ value.compact.map{ |v| _to_hash(v) }
95
+ elsif value.is_a?(Hash)
96
+ {}.tap do |hash|
97
+ value.each { |k, v| hash[k] = _to_hash(v) }
98
+ end
99
+ elsif value.respond_to? :to_hash
100
+ value.to_hash
101
+ else
102
+ value
103
+ end
104
+ end
105
+
106
+
107
+
108
+ # Attribute mapping from ruby-style variable name to JSON key.
109
+ def self.attribute_map
110
+ {
111
+ :'shape' => :'shape'
112
+ }
113
+ end
114
+
115
+ # Attribute type mapping.
116
+ def self.swagger_types
117
+ {
118
+ :'shape' => :'String'
119
+ }
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,351 @@
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::Subnet
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 subnet's Availability Domain.
15
+ #
16
+ # Example: `Uocm:PHX-AD-1`
17
+ #
18
+ # @return [String]
19
+ attr_accessor :availability_domain
20
+
21
+ # The subnet's CIDR block.
22
+ #
23
+ # Example: `172.16.1.0/24`
24
+ #
25
+ # @return [String]
26
+ attr_accessor :cidr_block
27
+
28
+ # The OCID of the compartment containing the subnet.
29
+ # @return [String]
30
+ attr_accessor :compartment_id
31
+
32
+ # The OCID of the set of DHCP options associated with the subnet.
33
+ #
34
+ # @return [String]
35
+ attr_accessor :dhcp_options_id
36
+
37
+ # A user-friendly name. Does not have to be unique, and it's changeable.
38
+ # Avoid entering confidential information.
39
+ #
40
+ # @return [String]
41
+ attr_accessor :display_name
42
+
43
+ # A DNS label for the subnet, used in conjunction with the VNIC's hostname and
44
+ # VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC
45
+ # within this subnet (for example, `bminstance-1.subnet123.vcn1.oraclevcn.com`).
46
+ # Must be an alphanumeric string that begins with a letter and is unique within the VCN.
47
+ # The value cannot be changed.
48
+ #
49
+ # The absence of this parameter means the Internet and VCN Resolver
50
+ # will not resolve hostnames of instances in this subnet.
51
+ #
52
+ # For more information, see
53
+ # [DNS in Your Virtual Cloud Network](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/dns.htm).
54
+ #
55
+ # Example: `subnet123`
56
+ #
57
+ # @return [String]
58
+ attr_accessor :dns_label
59
+
60
+ # The subnet's Oracle ID (OCID).
61
+ # @return [String]
62
+ attr_accessor :id
63
+
64
+ # The subnet's current state.
65
+ # @return [String]
66
+ attr_accessor :lifecycle_state
67
+
68
+ # Whether VNICs within this subnet can have public IP addresses.
69
+ # Defaults to false, which means VNICs created in this subnet will
70
+ # automatically be assigned public IP addresses unless specified
71
+ # otherwise during instance launch or VNIC creation (with the
72
+ # `assignPublicIp` flag in
73
+ # {CreateVnicDetails}).
74
+ # If `prohibitPublicIpOnVnic` is set to true, VNICs created in this
75
+ # subnet cannot have public IP addresses (that is, it's a private
76
+ # subnet).
77
+ #
78
+ # Example: `true`
79
+ #
80
+ # @return [BOOLEAN]
81
+ attr_accessor :prohibit_public_ip_on_vnic
82
+
83
+ # The OCID of the route table the subnet is using.
84
+ # @return [String]
85
+ attr_accessor :route_table_id
86
+
87
+ # OCIDs for the security lists to use for VNICs in this subnet.
88
+ # @return [Array<String>]
89
+ attr_accessor :security_list_ids
90
+
91
+ # The subnet's domain name, which consists of the subnet's DNS label,
92
+ # the VCN's DNS label, and the `oraclevcn.com` domain.
93
+ #
94
+ # For more information, see
95
+ # [DNS in Your Virtual Cloud Network](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/dns.htm).
96
+ #
97
+ # Example: `subnet123.vcn1.oraclevcn.com`
98
+ #
99
+ # @return [String]
100
+ attr_accessor :subnet_domain_name
101
+
102
+ # The date and time the subnet was created, in the format defined by RFC3339.
103
+ #
104
+ # Example: `2016-08-25T21:10:29.600Z`
105
+ #
106
+ # @return [DateTime]
107
+ attr_accessor :time_created
108
+
109
+ # The OCID of the VCN the subnet is in.
110
+ # @return [String]
111
+ attr_accessor :vcn_id
112
+
113
+ # The IP address of the virtual router.
114
+ #
115
+ # Example: `10.0.14.1`
116
+ #
117
+ # @return [String]
118
+ attr_accessor :virtual_router_ip
119
+
120
+ # The MAC address of the virtual router.
121
+ #
122
+ # Example: `00:00:17:B6:4D:DD`
123
+ #
124
+ # @return [String]
125
+ attr_accessor :virtual_router_mac
126
+
127
+
128
+ # Initializes the object
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ def initialize(attributes = {})
131
+ return unless attributes.is_a?(Hash)
132
+
133
+ # convert string to symbol for hash key
134
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
135
+
136
+ if attributes[:'availabilityDomain']
137
+ self.availability_domain = attributes[:'availabilityDomain']
138
+ end
139
+
140
+ if attributes[:'cidrBlock']
141
+ self.cidr_block = attributes[:'cidrBlock']
142
+ end
143
+
144
+ if attributes[:'compartmentId']
145
+ self.compartment_id = attributes[:'compartmentId']
146
+ end
147
+
148
+ if attributes[:'dhcpOptionsId']
149
+ self.dhcp_options_id = attributes[:'dhcpOptionsId']
150
+ end
151
+
152
+ if attributes[:'displayName']
153
+ self.display_name = attributes[:'displayName']
154
+ end
155
+
156
+ if attributes[:'dnsLabel']
157
+ self.dns_label = attributes[:'dnsLabel']
158
+ end
159
+
160
+ if attributes[:'id']
161
+ self.id = attributes[:'id']
162
+ end
163
+
164
+ if attributes[:'lifecycleState']
165
+ self.lifecycle_state = attributes[:'lifecycleState']
166
+ end
167
+
168
+ if attributes[:'prohibitPublicIpOnVnic']
169
+ self.prohibit_public_ip_on_vnic = attributes[:'prohibitPublicIpOnVnic']
170
+ end
171
+
172
+ if attributes[:'routeTableId']
173
+ self.route_table_id = attributes[:'routeTableId']
174
+ end
175
+
176
+ if attributes[:'securityListIds']
177
+ self.security_list_ids = attributes[:'securityListIds']
178
+ end
179
+
180
+ if attributes[:'subnetDomainName']
181
+ self.subnet_domain_name = attributes[:'subnetDomainName']
182
+ end
183
+
184
+ if attributes[:'timeCreated']
185
+ self.time_created = attributes[:'timeCreated']
186
+ end
187
+
188
+ if attributes[:'vcnId']
189
+ self.vcn_id = attributes[:'vcnId']
190
+ end
191
+
192
+ if attributes[:'virtualRouterIp']
193
+ self.virtual_router_ip = attributes[:'virtualRouterIp']
194
+ end
195
+
196
+ if attributes[:'virtualRouterMac']
197
+ self.virtual_router_mac = attributes[:'virtualRouterMac']
198
+ end
199
+
200
+ end
201
+
202
+ # Custom attribute writer method checking allowed values (enum).
203
+ # @param [Object] lifecycle_state Object to be assigned
204
+ def lifecycle_state=(lifecycle_state)
205
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
206
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
207
+ else
208
+ @lifecycle_state = lifecycle_state
209
+ end
210
+ end
211
+
212
+ # Checks equality by comparing each attribute.
213
+ # @param [Object] other_object to be compared
214
+ def ==(other_object)
215
+ return true if self.equal?(other_object)
216
+ self.class == other_object.class &&
217
+ availability_domain == other_object.availability_domain &&
218
+ cidr_block == other_object.cidr_block &&
219
+ compartment_id == other_object.compartment_id &&
220
+ dhcp_options_id == other_object.dhcp_options_id &&
221
+ display_name == other_object.display_name &&
222
+ dns_label == other_object.dns_label &&
223
+ id == other_object.id &&
224
+ lifecycle_state == other_object.lifecycle_state &&
225
+ prohibit_public_ip_on_vnic == other_object.prohibit_public_ip_on_vnic &&
226
+ route_table_id == other_object.route_table_id &&
227
+ security_list_ids == other_object.security_list_ids &&
228
+ subnet_domain_name == other_object.subnet_domain_name &&
229
+ time_created == other_object.time_created &&
230
+ vcn_id == other_object.vcn_id &&
231
+ virtual_router_ip == other_object.virtual_router_ip &&
232
+ virtual_router_mac == other_object.virtual_router_mac
233
+ end
234
+
235
+ # @see the `==` method
236
+ # @param [Object] other_object to be compared
237
+ def eql?(other_object)
238
+ self == other_object
239
+ end
240
+
241
+ # Calculates hash code according to all attributes.
242
+ # @return [Fixnum] Hash code
243
+ def hash
244
+ [availability_domain, cidr_block, compartment_id, dhcp_options_id, display_name, dns_label, id, lifecycle_state, prohibit_public_ip_on_vnic, route_table_id, security_list_ids, subnet_domain_name, time_created, vcn_id, virtual_router_ip, virtual_router_mac].hash
245
+ end
246
+
247
+ # Builds the object from hash
248
+ # @param [Hash] attributes Model attributes in the form of hash
249
+ # @return [Object] Returns the model itself
250
+ def build_from_hash(attributes)
251
+ return nil unless attributes.is_a?(Hash)
252
+ self.class.swagger_types.each_pair do |key, type|
253
+ if type =~ /^Array<(.*)>/i
254
+ # check to ensure the input is an array given that the the attribute
255
+ # is documented as an array but the input is not
256
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
257
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
258
+ end
259
+ elsif !attributes[self.class.attribute_map[key]].nil?
260
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
261
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
262
+ end
263
+
264
+ self
265
+ end
266
+
267
+ # Returns the string representation of the object
268
+ # @return [String] String presentation of the object
269
+ def to_s
270
+ to_hash.to_s
271
+ end
272
+
273
+ # Returns the object in the form of hash
274
+ # @return [Hash] Returns the object in the form of hash
275
+ def to_hash
276
+ hash = {}
277
+ self.class.attribute_map.each_pair do |attr, param|
278
+ value = self.send(attr)
279
+ next if value.nil?
280
+ hash[param] = _to_hash(value)
281
+ end
282
+ hash
283
+ end
284
+
285
+ private
286
+
287
+ # Outputs non-array value in the form of hash
288
+ # For object, use to_hash. Otherwise, just return the value
289
+ # @param [Object] value Any valid value
290
+ # @return [Hash] Returns the value in the form of hash
291
+ def _to_hash(value)
292
+ if value.is_a?(Array)
293
+ value.compact.map{ |v| _to_hash(v) }
294
+ elsif value.is_a?(Hash)
295
+ {}.tap do |hash|
296
+ value.each { |k, v| hash[k] = _to_hash(v) }
297
+ end
298
+ elsif value.respond_to? :to_hash
299
+ value.to_hash
300
+ else
301
+ value
302
+ end
303
+ end
304
+
305
+
306
+
307
+ # Attribute mapping from ruby-style variable name to JSON key.
308
+ def self.attribute_map
309
+ {
310
+ :'availability_domain' => :'availabilityDomain',
311
+ :'cidr_block' => :'cidrBlock',
312
+ :'compartment_id' => :'compartmentId',
313
+ :'dhcp_options_id' => :'dhcpOptionsId',
314
+ :'display_name' => :'displayName',
315
+ :'dns_label' => :'dnsLabel',
316
+ :'id' => :'id',
317
+ :'lifecycle_state' => :'lifecycleState',
318
+ :'prohibit_public_ip_on_vnic' => :'prohibitPublicIpOnVnic',
319
+ :'route_table_id' => :'routeTableId',
320
+ :'security_list_ids' => :'securityListIds',
321
+ :'subnet_domain_name' => :'subnetDomainName',
322
+ :'time_created' => :'timeCreated',
323
+ :'vcn_id' => :'vcnId',
324
+ :'virtual_router_ip' => :'virtualRouterIp',
325
+ :'virtual_router_mac' => :'virtualRouterMac'
326
+ }
327
+ end
328
+
329
+ # Attribute type mapping.
330
+ def self.swagger_types
331
+ {
332
+ :'availability_domain' => :'String',
333
+ :'cidr_block' => :'String',
334
+ :'compartment_id' => :'String',
335
+ :'dhcp_options_id' => :'String',
336
+ :'display_name' => :'String',
337
+ :'dns_label' => :'String',
338
+ :'id' => :'String',
339
+ :'lifecycle_state' => :'String',
340
+ :'prohibit_public_ip_on_vnic' => :'BOOLEAN',
341
+ :'route_table_id' => :'String',
342
+ :'security_list_ids' => :'Array<String>',
343
+ :'subnet_domain_name' => :'String',
344
+ :'time_created' => :'DateTime',
345
+ :'vcn_id' => :'String',
346
+ :'virtual_router_ip' => :'String',
347
+ :'virtual_router_mac' => :'String'
348
+ }
349
+ end
350
+ end
351
+ end