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,141 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require_relative 'dhcp_option'
5
+
6
+ module OCI
7
+ class Core::Models::DhcpSearchDomainOption < Core::Models::DhcpOption
8
+ # A single search domain name according to [RFC 952](https://tools.ietf.org/html/rfc952)
9
+ # and [RFC 1123](https://tools.ietf.org/html/rfc1123). During a DNS query,
10
+ # the OS will append this search domain name to the value being queried.
11
+ #
12
+ # If you set {DhcpDnsOption} to `VcnLocalPlusInternet`,
13
+ # and you assign a DNS label to the VCN during creation, the search domain name in the
14
+ # VCN's default set of DHCP options is automatically set to the VCN domain
15
+ # (for example, `vcn1.oraclevcn.com`).
16
+ #
17
+ # If you don't want to use a search domain name, omit this option from the
18
+ # set of DHCP options. Do not include this option with an empty list
19
+ # of search domain names, or with an empty string as the value for any search
20
+ # domain name.
21
+ #
22
+ # @return [Array<String>]
23
+ attr_accessor :search_domain_names
24
+
25
+
26
+ # Initializes the object
27
+ # @param [Hash] attributes Model attributes in the form of hash
28
+ def initialize(attributes = {})
29
+ return unless attributes.is_a?(Hash)
30
+
31
+ attributes['type'] = 'SearchDomain'
32
+
33
+ super(attributes)
34
+
35
+ # convert string to symbol for hash key
36
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
37
+
38
+ if attributes[:'searchDomainNames']
39
+ self.search_domain_names = attributes[:'searchDomainNames']
40
+ end
41
+
42
+ end
43
+
44
+ # Checks equality by comparing each attribute.
45
+ # @param [Object] other_object to be compared
46
+ def ==(other_object)
47
+ return true if self.equal?(other_object)
48
+ self.class == other_object.class &&
49
+ type == other_object.type &&
50
+ search_domain_names == other_object.search_domain_names
51
+ end
52
+
53
+ # @see the `==` method
54
+ # @param [Object] other_object to be compared
55
+ def eql?(other_object)
56
+ self == other_object
57
+ end
58
+
59
+ # Calculates hash code according to all attributes.
60
+ # @return [Fixnum] Hash code
61
+ def hash
62
+ [type, search_domain_names].hash
63
+ end
64
+
65
+ # Builds the object from hash
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ # @return [Object] Returns the model itself
68
+ def build_from_hash(attributes)
69
+ return nil unless attributes.is_a?(Hash)
70
+ self.class.swagger_types.each_pair do |key, type|
71
+ if type =~ /^Array<(.*)>/i
72
+ # check to ensure the input is an array given that the the attribute
73
+ # is documented as an array but the input is not
74
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
75
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
76
+ end
77
+ elsif !attributes[self.class.attribute_map[key]].nil?
78
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
79
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
80
+ end
81
+
82
+ self
83
+ end
84
+
85
+ # Returns the string representation of the object
86
+ # @return [String] String presentation of the object
87
+ def to_s
88
+ to_hash.to_s
89
+ end
90
+
91
+ # Returns the object in the form of hash
92
+ # @return [Hash] Returns the object in the form of hash
93
+ def to_hash
94
+ hash = {}
95
+ self.class.attribute_map.each_pair do |attr, param|
96
+ value = self.send(attr)
97
+ next if value.nil?
98
+ hash[param] = _to_hash(value)
99
+ end
100
+ hash
101
+ end
102
+
103
+ private
104
+
105
+ # Outputs non-array value in the form of hash
106
+ # For object, use to_hash. Otherwise, just return the value
107
+ # @param [Object] value Any valid value
108
+ # @return [Hash] Returns the value in the form of hash
109
+ def _to_hash(value)
110
+ if value.is_a?(Array)
111
+ value.compact.map{ |v| _to_hash(v) }
112
+ elsif value.is_a?(Hash)
113
+ {}.tap do |hash|
114
+ value.each { |k, v| hash[k] = _to_hash(v) }
115
+ end
116
+ elsif value.respond_to? :to_hash
117
+ value.to_hash
118
+ else
119
+ value
120
+ end
121
+ end
122
+
123
+
124
+
125
+ # Attribute mapping from ruby-style variable name to JSON key.
126
+ def self.attribute_map
127
+ {
128
+ :'type' => :'type',
129
+ :'search_domain_names' => :'searchDomainNames'
130
+ }
131
+ end
132
+
133
+ # Attribute type mapping.
134
+ def self.swagger_types
135
+ {
136
+ :'type' => :'String',
137
+ :'search_domain_names' => :'Array<String>'
138
+ }
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,186 @@
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::Drg
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 DRG.
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 DRG's Oracle ID (OCID).
25
+ # @return [String]
26
+ attr_accessor :id
27
+
28
+ # The DRG's current state.
29
+ # @return [String]
30
+ attr_accessor :lifecycle_state
31
+
32
+ # The date and time the DRG was created, in the format defined by RFC3339.
33
+ #
34
+ # Example: `2016-08-25T21:10:29.600Z`
35
+ #
36
+ # @return [DateTime]
37
+ attr_accessor :time_created
38
+
39
+
40
+ # Initializes the object
41
+ # @param [Hash] attributes Model attributes in the form of hash
42
+ def initialize(attributes = {})
43
+ return unless attributes.is_a?(Hash)
44
+
45
+ # convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
47
+
48
+ if attributes[:'compartmentId']
49
+ self.compartment_id = attributes[:'compartmentId']
50
+ end
51
+
52
+ if attributes[:'displayName']
53
+ self.display_name = attributes[:'displayName']
54
+ end
55
+
56
+ if attributes[:'id']
57
+ self.id = attributes[:'id']
58
+ end
59
+
60
+ if attributes[:'lifecycleState']
61
+ self.lifecycle_state = attributes[:'lifecycleState']
62
+ end
63
+
64
+ if attributes[:'timeCreated']
65
+ self.time_created = attributes[:'timeCreated']
66
+ end
67
+
68
+ end
69
+
70
+ # Custom attribute writer method checking allowed values (enum).
71
+ # @param [Object] lifecycle_state Object to be assigned
72
+ def lifecycle_state=(lifecycle_state)
73
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
74
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
75
+ else
76
+ @lifecycle_state = lifecycle_state
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
+ compartment_id == other_object.compartment_id &&
86
+ display_name == other_object.display_name &&
87
+ id == other_object.id &&
88
+ lifecycle_state == other_object.lifecycle_state &&
89
+ time_created == other_object.time_created
90
+ end
91
+
92
+ # @see the `==` method
93
+ # @param [Object] other_object to be compared
94
+ def eql?(other_object)
95
+ self == other_object
96
+ end
97
+
98
+ # Calculates hash code according to all attributes.
99
+ # @return [Fixnum] Hash code
100
+ def hash
101
+ [compartment_id, display_name, id, lifecycle_state, time_created].hash
102
+ end
103
+
104
+ # Builds the object from hash
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ # @return [Object] Returns the model itself
107
+ def build_from_hash(attributes)
108
+ return nil unless attributes.is_a?(Hash)
109
+ self.class.swagger_types.each_pair do |key, type|
110
+ if type =~ /^Array<(.*)>/i
111
+ # check to ensure the input is an array given that the the attribute
112
+ # is documented as an array but the input is not
113
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
114
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
115
+ end
116
+ elsif !attributes[self.class.attribute_map[key]].nil?
117
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
118
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
119
+ end
120
+
121
+ self
122
+ end
123
+
124
+ # Returns the string representation of the object
125
+ # @return [String] String presentation of the object
126
+ def to_s
127
+ to_hash.to_s
128
+ end
129
+
130
+ # Returns the object in the form of hash
131
+ # @return [Hash] Returns the object in the form of hash
132
+ def to_hash
133
+ hash = {}
134
+ self.class.attribute_map.each_pair do |attr, param|
135
+ value = self.send(attr)
136
+ next if value.nil?
137
+ hash[param] = _to_hash(value)
138
+ end
139
+ hash
140
+ end
141
+
142
+ private
143
+
144
+ # Outputs non-array value in the form of hash
145
+ # For object, use to_hash. Otherwise, just return the value
146
+ # @param [Object] value Any valid value
147
+ # @return [Hash] Returns the value in the form of hash
148
+ def _to_hash(value)
149
+ if value.is_a?(Array)
150
+ value.compact.map{ |v| _to_hash(v) }
151
+ elsif value.is_a?(Hash)
152
+ {}.tap do |hash|
153
+ value.each { |k, v| hash[k] = _to_hash(v) }
154
+ end
155
+ elsif value.respond_to? :to_hash
156
+ value.to_hash
157
+ else
158
+ value
159
+ end
160
+ end
161
+
162
+
163
+
164
+ # Attribute mapping from ruby-style variable name to JSON key.
165
+ def self.attribute_map
166
+ {
167
+ :'compartment_id' => :'compartmentId',
168
+ :'display_name' => :'displayName',
169
+ :'id' => :'id',
170
+ :'lifecycle_state' => :'lifecycleState',
171
+ :'time_created' => :'timeCreated'
172
+ }
173
+ end
174
+
175
+ # Attribute type mapping.
176
+ def self.swagger_types
177
+ {
178
+ :'compartment_id' => :'String',
179
+ :'display_name' => :'String',
180
+ :'id' => :'String',
181
+ :'lifecycle_state' => :'String',
182
+ :'time_created' => :'DateTime'
183
+ }
184
+ end
185
+ end
186
+ end
@@ -0,0 +1,208 @@
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::DrgAttachment
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_ATTACHING = 'ATTACHING',
9
+ LIFECYCLE_STATE_ATTACHED = 'ATTACHED',
10
+ LIFECYCLE_STATE_DETACHING = 'DETACHING',
11
+ LIFECYCLE_STATE_DETACHED = 'DETACHED',
12
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
13
+
14
+ # The OCID of the compartment containing the DRG attachment.
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 OCID of the DRG.
25
+ # @return [String]
26
+ attr_accessor :drg_id
27
+
28
+ # The DRG attachment's Oracle ID (OCID).
29
+ # @return [String]
30
+ attr_accessor :id
31
+
32
+ # The DRG attachment's current state.
33
+ # @return [String]
34
+ attr_accessor :lifecycle_state
35
+
36
+ # The date and time the DRG attachment was created, in the format defined by RFC3339.
37
+ #
38
+ # Example: `2016-08-25T21:10:29.600Z`
39
+ #
40
+ # @return [DateTime]
41
+ attr_accessor :time_created
42
+
43
+ # The OCID of the VCN.
44
+ # @return [String]
45
+ attr_accessor :vcn_id
46
+
47
+
48
+ # Initializes the object
49
+ # @param [Hash] attributes Model attributes in the form of hash
50
+ def initialize(attributes = {})
51
+ return unless attributes.is_a?(Hash)
52
+
53
+ # convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
55
+
56
+ if attributes[:'compartmentId']
57
+ self.compartment_id = attributes[:'compartmentId']
58
+ end
59
+
60
+ if attributes[:'displayName']
61
+ self.display_name = attributes[:'displayName']
62
+ end
63
+
64
+ if attributes[:'drgId']
65
+ self.drg_id = attributes[:'drgId']
66
+ end
67
+
68
+ if attributes[:'id']
69
+ self.id = attributes[:'id']
70
+ end
71
+
72
+ if attributes[:'lifecycleState']
73
+ self.lifecycle_state = attributes[:'lifecycleState']
74
+ end
75
+
76
+ if attributes[:'timeCreated']
77
+ self.time_created = attributes[:'timeCreated']
78
+ end
79
+
80
+ if attributes[:'vcnId']
81
+ self.vcn_id = attributes[:'vcnId']
82
+ end
83
+
84
+ end
85
+
86
+ # Custom attribute writer method checking allowed values (enum).
87
+ # @param [Object] lifecycle_state Object to be assigned
88
+ def lifecycle_state=(lifecycle_state)
89
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
90
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
91
+ else
92
+ @lifecycle_state = lifecycle_state
93
+ end
94
+ end
95
+
96
+ # Checks equality by comparing each attribute.
97
+ # @param [Object] other_object to be compared
98
+ def ==(other_object)
99
+ return true if self.equal?(other_object)
100
+ self.class == other_object.class &&
101
+ compartment_id == other_object.compartment_id &&
102
+ display_name == other_object.display_name &&
103
+ drg_id == other_object.drg_id &&
104
+ id == other_object.id &&
105
+ lifecycle_state == other_object.lifecycle_state &&
106
+ time_created == other_object.time_created &&
107
+ vcn_id == other_object.vcn_id
108
+ end
109
+
110
+ # @see the `==` method
111
+ # @param [Object] other_object to be compared
112
+ def eql?(other_object)
113
+ self == other_object
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Fixnum] Hash code
118
+ def hash
119
+ [compartment_id, display_name, drg_id, id, lifecycle_state, time_created, vcn_id].hash
120
+ end
121
+
122
+ # Builds the object from hash
123
+ # @param [Hash] attributes Model attributes in the form of hash
124
+ # @return [Object] Returns the model itself
125
+ def build_from_hash(attributes)
126
+ return nil unless attributes.is_a?(Hash)
127
+ self.class.swagger_types.each_pair do |key, type|
128
+ if type =~ /^Array<(.*)>/i
129
+ # check to ensure the input is an array given that the the attribute
130
+ # is documented as an array but the input is not
131
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
132
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
133
+ end
134
+ elsif !attributes[self.class.attribute_map[key]].nil?
135
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
136
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
137
+ end
138
+
139
+ self
140
+ end
141
+
142
+ # Returns the string representation of the object
143
+ # @return [String] String presentation of the object
144
+ def to_s
145
+ to_hash.to_s
146
+ end
147
+
148
+ # Returns the object in the form of hash
149
+ # @return [Hash] Returns the object in the form of hash
150
+ def to_hash
151
+ hash = {}
152
+ self.class.attribute_map.each_pair do |attr, param|
153
+ value = self.send(attr)
154
+ next if value.nil?
155
+ hash[param] = _to_hash(value)
156
+ end
157
+ hash
158
+ end
159
+
160
+ private
161
+
162
+ # Outputs non-array value in the form of hash
163
+ # For object, use to_hash. Otherwise, just return the value
164
+ # @param [Object] value Any valid value
165
+ # @return [Hash] Returns the value in the form of hash
166
+ def _to_hash(value)
167
+ if value.is_a?(Array)
168
+ value.compact.map{ |v| _to_hash(v) }
169
+ elsif value.is_a?(Hash)
170
+ {}.tap do |hash|
171
+ value.each { |k, v| hash[k] = _to_hash(v) }
172
+ end
173
+ elsif value.respond_to? :to_hash
174
+ value.to_hash
175
+ else
176
+ value
177
+ end
178
+ end
179
+
180
+
181
+
182
+ # Attribute mapping from ruby-style variable name to JSON key.
183
+ def self.attribute_map
184
+ {
185
+ :'compartment_id' => :'compartmentId',
186
+ :'display_name' => :'displayName',
187
+ :'drg_id' => :'drgId',
188
+ :'id' => :'id',
189
+ :'lifecycle_state' => :'lifecycleState',
190
+ :'time_created' => :'timeCreated',
191
+ :'vcn_id' => :'vcnId'
192
+ }
193
+ end
194
+
195
+ # Attribute type mapping.
196
+ def self.swagger_types
197
+ {
198
+ :'compartment_id' => :'String',
199
+ :'display_name' => :'String',
200
+ :'drg_id' => :'String',
201
+ :'id' => :'String',
202
+ :'lifecycle_state' => :'String',
203
+ :'time_created' => :'DateTime',
204
+ :'vcn_id' => :'String'
205
+ }
206
+ end
207
+ end
208
+ end