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,307 @@
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::Instance
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_PROVISIONING = 'PROVISIONING',
9
+ LIFECYCLE_STATE_RUNNING = 'RUNNING',
10
+ LIFECYCLE_STATE_STARTING = 'STARTING',
11
+ LIFECYCLE_STATE_STOPPING = 'STOPPING',
12
+ LIFECYCLE_STATE_STOPPED = 'STOPPED',
13
+ LIFECYCLE_STATE_CREATING_IMAGE = 'CREATING_IMAGE',
14
+ LIFECYCLE_STATE_TERMINATING = 'TERMINATING',
15
+ LIFECYCLE_STATE_TERMINATED = 'TERMINATED',
16
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
17
+
18
+ # The Availability Domain the instance is running in.
19
+ #
20
+ # Example: `Uocm:PHX-AD-1`
21
+ #
22
+ # @return [String]
23
+ attr_accessor :availability_domain
24
+
25
+ # The OCID of the compartment that contains the instance.
26
+ # @return [String]
27
+ attr_accessor :compartment_id
28
+
29
+ # A user-friendly name. Does not have to be unique, and it's changeable.
30
+ # Avoid entering confidential information.
31
+ #
32
+ # Example: `My bare metal instance`
33
+ #
34
+ # @return [String]
35
+ attr_accessor :display_name
36
+
37
+ # Additional metadata key/value pairs that you provide. They serve a similar purpose and functionality from fields in the 'metadata' object.
38
+ #
39
+ # They are distinguished from 'metadata' fields in that these can be nested JSON objects (whereas 'metadata' fields are string/string maps only).
40
+ #
41
+ # If you don't need nested metadata values, it is strongly advised to avoid using this object and use the Metadata object instead.
42
+ #
43
+ # @return [Hash<String, Object>]
44
+ attr_accessor :extended_metadata
45
+
46
+ # The OCID of the instance.
47
+ # @return [String]
48
+ attr_accessor :id
49
+
50
+ # The image used to boot the instance. You can enumerate all available images by calling
51
+ # {#list_images list_images}.
52
+ #
53
+ # @return [String]
54
+ attr_accessor :image_id
55
+
56
+ # When an Oracle Bare Metal Cloud Services or virtual machine
57
+ # instance boots, the iPXE firmware that runs on the instance is
58
+ # configured to run an iPXE script to continue the boot process.
59
+ #
60
+ # If you want more control over the boot process, you can provide
61
+ # your own custom iPXE script that will run when the instance boots;
62
+ # however, you should be aware that the same iPXE script will run
63
+ # every time an instance boots; not only after the initial
64
+ # LaunchInstance call.
65
+ #
66
+ # The default iPXE script connects to the instance's local boot
67
+ # volume over iSCSI and performs a network boot. If you use a custom iPXE
68
+ # script and want to network-boot from the instance's local boot volume
69
+ # over iSCSI the same way as the default iPXE script, you should use the
70
+ # following iSCSI IP address: 169.254.0.2, and boot volume IQN:
71
+ # iqn.2015-02.oracle.boot.
72
+ #
73
+ # For more information about the Bring Your Own Image feature of
74
+ # Oracle Bare Metal Cloud Services, see
75
+ # [Bring Your Own Image](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/References/bringyourownimage.htm).
76
+ #
77
+ # For more information about iPXE, see http://ipxe.org.
78
+ #
79
+ # @return [String]
80
+ attr_accessor :ipxe_script
81
+
82
+ # The current state of the instance.
83
+ # @return [String]
84
+ attr_accessor :lifecycle_state
85
+
86
+ # Custom metadata that you provide.
87
+ # @return [Hash<String, String>]
88
+ attr_accessor :metadata
89
+
90
+ # The region that contains the Availability Domain the instance is running in.
91
+ #
92
+ # Example: `phx`
93
+ #
94
+ # @return [String]
95
+ attr_accessor :region
96
+
97
+ # The shape of the instance. The shape determines the number of CPUs and the amount of memory
98
+ # allocated to the instance. You can enumerate all available shapes by calling
99
+ # {#list_shapes list_shapes}.
100
+ #
101
+ # @return [String]
102
+ attr_accessor :shape
103
+
104
+ # The date and time the instance was created, in the format defined by RFC3339.
105
+ #
106
+ # Example: `2016-08-25T21:10:29.600Z`
107
+ #
108
+ # @return [DateTime]
109
+ attr_accessor :time_created
110
+
111
+
112
+ # Initializes the object
113
+ # @param [Hash] attributes Model attributes in the form of hash
114
+ def initialize(attributes = {})
115
+ return unless attributes.is_a?(Hash)
116
+
117
+ # convert string to symbol for hash key
118
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
119
+
120
+ if attributes[:'availabilityDomain']
121
+ self.availability_domain = attributes[:'availabilityDomain']
122
+ end
123
+
124
+ if attributes[:'compartmentId']
125
+ self.compartment_id = attributes[:'compartmentId']
126
+ end
127
+
128
+ if attributes[:'displayName']
129
+ self.display_name = attributes[:'displayName']
130
+ end
131
+
132
+ if attributes[:'extendedMetadata']
133
+ self.extended_metadata = attributes[:'extendedMetadata']
134
+ end
135
+
136
+ if attributes[:'id']
137
+ self.id = attributes[:'id']
138
+ end
139
+
140
+ if attributes[:'imageId']
141
+ self.image_id = attributes[:'imageId']
142
+ end
143
+
144
+ if attributes[:'ipxeScript']
145
+ self.ipxe_script = attributes[:'ipxeScript']
146
+ end
147
+
148
+ if attributes[:'lifecycleState']
149
+ self.lifecycle_state = attributes[:'lifecycleState']
150
+ end
151
+
152
+ if attributes[:'metadata']
153
+ self.metadata = attributes[:'metadata']
154
+ end
155
+
156
+ if attributes[:'region']
157
+ self.region = attributes[:'region']
158
+ end
159
+
160
+ if attributes[:'shape']
161
+ self.shape = attributes[:'shape']
162
+ end
163
+
164
+ if attributes[:'timeCreated']
165
+ self.time_created = attributes[:'timeCreated']
166
+ end
167
+
168
+ end
169
+
170
+ # Custom attribute writer method checking allowed values (enum).
171
+ # @param [Object] lifecycle_state Object to be assigned
172
+ def lifecycle_state=(lifecycle_state)
173
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
174
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
175
+ else
176
+ @lifecycle_state = lifecycle_state
177
+ end
178
+ end
179
+
180
+ # Checks equality by comparing each attribute.
181
+ # @param [Object] other_object to be compared
182
+ def ==(other_object)
183
+ return true if self.equal?(other_object)
184
+ self.class == other_object.class &&
185
+ availability_domain == other_object.availability_domain &&
186
+ compartment_id == other_object.compartment_id &&
187
+ display_name == other_object.display_name &&
188
+ extended_metadata == other_object.extended_metadata &&
189
+ id == other_object.id &&
190
+ image_id == other_object.image_id &&
191
+ ipxe_script == other_object.ipxe_script &&
192
+ lifecycle_state == other_object.lifecycle_state &&
193
+ metadata == other_object.metadata &&
194
+ region == other_object.region &&
195
+ shape == other_object.shape &&
196
+ time_created == other_object.time_created
197
+ end
198
+
199
+ # @see the `==` method
200
+ # @param [Object] other_object to be compared
201
+ def eql?(other_object)
202
+ self == other_object
203
+ end
204
+
205
+ # Calculates hash code according to all attributes.
206
+ # @return [Fixnum] Hash code
207
+ def hash
208
+ [availability_domain, compartment_id, display_name, extended_metadata, id, image_id, ipxe_script, lifecycle_state, metadata, region, shape, time_created].hash
209
+ end
210
+
211
+ # Builds the object from hash
212
+ # @param [Hash] attributes Model attributes in the form of hash
213
+ # @return [Object] Returns the model itself
214
+ def build_from_hash(attributes)
215
+ return nil unless attributes.is_a?(Hash)
216
+ self.class.swagger_types.each_pair do |key, type|
217
+ if type =~ /^Array<(.*)>/i
218
+ # check to ensure the input is an array given that the the attribute
219
+ # is documented as an array but the input is not
220
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
221
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
222
+ end
223
+ elsif !attributes[self.class.attribute_map[key]].nil?
224
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
225
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
226
+ end
227
+
228
+ self
229
+ end
230
+
231
+ # Returns the string representation of the object
232
+ # @return [String] String presentation of the object
233
+ def to_s
234
+ to_hash.to_s
235
+ end
236
+
237
+ # Returns the object in the form of hash
238
+ # @return [Hash] Returns the object in the form of hash
239
+ def to_hash
240
+ hash = {}
241
+ self.class.attribute_map.each_pair do |attr, param|
242
+ value = self.send(attr)
243
+ next if value.nil?
244
+ hash[param] = _to_hash(value)
245
+ end
246
+ hash
247
+ end
248
+
249
+ private
250
+
251
+ # Outputs non-array value in the form of hash
252
+ # For object, use to_hash. Otherwise, just return the value
253
+ # @param [Object] value Any valid value
254
+ # @return [Hash] Returns the value in the form of hash
255
+ def _to_hash(value)
256
+ if value.is_a?(Array)
257
+ value.compact.map{ |v| _to_hash(v) }
258
+ elsif value.is_a?(Hash)
259
+ {}.tap do |hash|
260
+ value.each { |k, v| hash[k] = _to_hash(v) }
261
+ end
262
+ elsif value.respond_to? :to_hash
263
+ value.to_hash
264
+ else
265
+ value
266
+ end
267
+ end
268
+
269
+
270
+
271
+ # Attribute mapping from ruby-style variable name to JSON key.
272
+ def self.attribute_map
273
+ {
274
+ :'availability_domain' => :'availabilityDomain',
275
+ :'compartment_id' => :'compartmentId',
276
+ :'display_name' => :'displayName',
277
+ :'extended_metadata' => :'extendedMetadata',
278
+ :'id' => :'id',
279
+ :'image_id' => :'imageId',
280
+ :'ipxe_script' => :'ipxeScript',
281
+ :'lifecycle_state' => :'lifecycleState',
282
+ :'metadata' => :'metadata',
283
+ :'region' => :'region',
284
+ :'shape' => :'shape',
285
+ :'time_created' => :'timeCreated'
286
+ }
287
+ end
288
+
289
+ # Attribute type mapping.
290
+ def self.swagger_types
291
+ {
292
+ :'availability_domain' => :'String',
293
+ :'compartment_id' => :'String',
294
+ :'display_name' => :'String',
295
+ :'extended_metadata' => :'Hash<String, Object>',
296
+ :'id' => :'String',
297
+ :'image_id' => :'String',
298
+ :'ipxe_script' => :'String',
299
+ :'lifecycle_state' => :'String',
300
+ :'metadata' => :'Hash<String, String>',
301
+ :'region' => :'String',
302
+ :'shape' => :'String',
303
+ :'time_created' => :'DateTime'
304
+ }
305
+ end
306
+ end
307
+ end
@@ -0,0 +1,193 @@
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::InstanceConsoleConnection
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_ACTIVE = 'ACTIVE',
9
+ LIFECYCLE_STATE_CREATING = 'CREATING',
10
+ LIFECYCLE_STATE_DELETED = 'DELETED',
11
+ LIFECYCLE_STATE_DELETING = 'DELETING',
12
+ LIFECYCLE_STATE_FAILED = 'FAILED',
13
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
14
+
15
+ # The OCID of the compartment to contain the ConsoleConnection
16
+ # @return [String]
17
+ attr_accessor :compartment_id
18
+
19
+ # The ssh connection string to the instance console
20
+ # @return [String]
21
+ attr_accessor :connection_string
22
+
23
+ # The fingerprint of the ssh publicKey.
24
+ # @return [String]
25
+ attr_accessor :fingerprint
26
+
27
+ # The OCID of the instance console connection
28
+ # @return [String]
29
+ attr_accessor :id
30
+
31
+ # The host instance OCID
32
+ # @return [String]
33
+ attr_accessor :instance_id
34
+
35
+ # The current state of the instance console connection.
36
+ # @return [String]
37
+ attr_accessor :lifecycle_state
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[:'connectionString']
53
+ self.connection_string = attributes[:'connectionString']
54
+ end
55
+
56
+ if attributes[:'fingerprint']
57
+ self.fingerprint = attributes[:'fingerprint']
58
+ end
59
+
60
+ if attributes[:'id']
61
+ self.id = attributes[:'id']
62
+ end
63
+
64
+ if attributes[:'instanceId']
65
+ self.instance_id = attributes[:'instanceId']
66
+ end
67
+
68
+ if attributes[:'lifecycleState']
69
+ self.lifecycle_state = attributes[:'lifecycleState']
70
+ end
71
+
72
+ end
73
+
74
+ # Custom attribute writer method checking allowed values (enum).
75
+ # @param [Object] lifecycle_state Object to be assigned
76
+ def lifecycle_state=(lifecycle_state)
77
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
78
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
79
+ else
80
+ @lifecycle_state = lifecycle_state
81
+ end
82
+ end
83
+
84
+ # Checks equality by comparing each attribute.
85
+ # @param [Object] other_object to be compared
86
+ def ==(other_object)
87
+ return true if self.equal?(other_object)
88
+ self.class == other_object.class &&
89
+ compartment_id == other_object.compartment_id &&
90
+ connection_string == other_object.connection_string &&
91
+ fingerprint == other_object.fingerprint &&
92
+ id == other_object.id &&
93
+ instance_id == other_object.instance_id &&
94
+ lifecycle_state == other_object.lifecycle_state
95
+ end
96
+
97
+ # @see the `==` method
98
+ # @param [Object] other_object to be compared
99
+ def eql?(other_object)
100
+ self == other_object
101
+ end
102
+
103
+ # Calculates hash code according to all attributes.
104
+ # @return [Fixnum] Hash code
105
+ def hash
106
+ [compartment_id, connection_string, fingerprint, id, instance_id, lifecycle_state].hash
107
+ end
108
+
109
+ # Builds the object from hash
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ # @return [Object] Returns the model itself
112
+ def build_from_hash(attributes)
113
+ return nil unless attributes.is_a?(Hash)
114
+ self.class.swagger_types.each_pair do |key, type|
115
+ if type =~ /^Array<(.*)>/i
116
+ # check to ensure the input is an array given that the the attribute
117
+ # is documented as an array but the input is not
118
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
119
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
120
+ end
121
+ elsif !attributes[self.class.attribute_map[key]].nil?
122
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
123
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
124
+ end
125
+
126
+ self
127
+ end
128
+
129
+ # Returns the string representation of the object
130
+ # @return [String] String presentation of the object
131
+ def to_s
132
+ to_hash.to_s
133
+ end
134
+
135
+ # Returns the object in the form of hash
136
+ # @return [Hash] Returns the object in the form of hash
137
+ def to_hash
138
+ hash = {}
139
+ self.class.attribute_map.each_pair do |attr, param|
140
+ value = self.send(attr)
141
+ next if value.nil?
142
+ hash[param] = _to_hash(value)
143
+ end
144
+ hash
145
+ end
146
+
147
+ private
148
+
149
+ # Outputs non-array value in the form of hash
150
+ # For object, use to_hash. Otherwise, just return the value
151
+ # @param [Object] value Any valid value
152
+ # @return [Hash] Returns the value in the form of hash
153
+ def _to_hash(value)
154
+ if value.is_a?(Array)
155
+ value.compact.map{ |v| _to_hash(v) }
156
+ elsif value.is_a?(Hash)
157
+ {}.tap do |hash|
158
+ value.each { |k, v| hash[k] = _to_hash(v) }
159
+ end
160
+ elsif value.respond_to? :to_hash
161
+ value.to_hash
162
+ else
163
+ value
164
+ end
165
+ end
166
+
167
+
168
+
169
+ # Attribute mapping from ruby-style variable name to JSON key.
170
+ def self.attribute_map
171
+ {
172
+ :'compartment_id' => :'compartmentId',
173
+ :'connection_string' => :'connectionString',
174
+ :'fingerprint' => :'fingerprint',
175
+ :'id' => :'id',
176
+ :'instance_id' => :'instanceId',
177
+ :'lifecycle_state' => :'lifecycleState'
178
+ }
179
+ end
180
+
181
+ # Attribute type mapping.
182
+ def self.swagger_types
183
+ {
184
+ :'compartment_id' => :'String',
185
+ :'connection_string' => :'String',
186
+ :'fingerprint' => :'String',
187
+ :'id' => :'String',
188
+ :'instance_id' => :'String',
189
+ :'lifecycle_state' => :'String'
190
+ }
191
+ end
192
+ end
193
+ end