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,214 @@
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::CreateVnicDetails
7
+ # Whether the VNIC should be assigned a public IP address. Defaults to whether
8
+ # the subnet is public or private. If not set and the VNIC is being created
9
+ # in a private subnet (that is, where `prohibitPublicIpOnVnic` = true in the
10
+ # {Subnet}), then no public IP address is assigned.
11
+ # If not set and the subnet is public (`prohibitPublicIpOnVnic` = false), then
12
+ # a public IP address is assigned. If set to true and
13
+ # `prohibitPublicIpOnVnic` = true, an error is returned.
14
+ #
15
+ # **Note:** This public IP address is associated with the primary private IP
16
+ # on the VNIC. Secondary private IPs cannot have public IP
17
+ # addresses associated with them. For more information, see
18
+ # [IP Addresses](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIPaddresses.htm).
19
+ #
20
+ # Example: `false`
21
+ #
22
+ # @return [BOOLEAN]
23
+ attr_accessor :assign_public_ip
24
+
25
+ # A user-friendly name for the VNIC. Does not have to be unique.
26
+ # Avoid entering confidential information.
27
+ #
28
+ # @return [String]
29
+ attr_accessor :display_name
30
+
31
+ # The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname
32
+ # portion of the primary private IP's fully qualified domain name (FQDN)
33
+ # (for example, `bminstance-1` in FQDN `bminstance-1.subnet123.vcn1.oraclevcn.com`).
34
+ # Must be unique across all VNICs in the subnet and comply with
35
+ # [RFC 952](https://tools.ietf.org/html/rfc952) and
36
+ # [RFC 1123](https://tools.ietf.org/html/rfc1123).
37
+ # The value appears in the {Vnic} object and also the
38
+ # {PrivateIp} object returned by
39
+ # {#list_private_ips list_private_ips} and
40
+ # {#get_private_ip get_private_ip}.
41
+ #
42
+ # For more information, see
43
+ # [DNS in Your Virtual Cloud Network](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/dns.htm).
44
+ #
45
+ # When launching an instance, use this `hostnameLabel` instead
46
+ # of the deprecated `hostnameLabel` in
47
+ # {#launch_instance_details launch_instance_details}.
48
+ # If you provide both, the values must match.
49
+ #
50
+ # Example: `bminstance-1`
51
+ #
52
+ # @return [String]
53
+ attr_accessor :hostname_label
54
+
55
+ # A private IP address of your choice to assign to the VNIC. Must be an
56
+ # available IP address within the subnet's CIDR. If you don't specify a
57
+ # value, Oracle automatically assigns a private IP address from the subnet.
58
+ # This is the VNIC's *primary* private IP address. The value appears in
59
+ # the {Vnic} object and also the
60
+ # {PrivateIp} object returned by
61
+ # {#list_private_ips list_private_ips} and
62
+ # {#get_private_ip get_private_ip}.
63
+ #
64
+ # Example: `10.0.3.3`
65
+ #
66
+ # @return [String]
67
+ attr_accessor :private_ip
68
+
69
+ # The OCID of the subnet to create the VNIC in. When launching an instance,
70
+ # use this `subnetId` instead of the deprecated `subnetId` in
71
+ # {#launch_instance_details launch_instance_details}.
72
+ # At least one of them is required; if you provide both, the values must match.
73
+ #
74
+ # @return [String]
75
+ attr_accessor :subnet_id
76
+
77
+
78
+ # Initializes the object
79
+ # @param [Hash] attributes Model attributes in the form of hash
80
+ def initialize(attributes = {})
81
+ return unless attributes.is_a?(Hash)
82
+
83
+ # convert string to symbol for hash key
84
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
85
+
86
+ if attributes[:'assignPublicIp']
87
+ self.assign_public_ip = attributes[:'assignPublicIp']
88
+ end
89
+
90
+ if attributes[:'displayName']
91
+ self.display_name = attributes[:'displayName']
92
+ end
93
+
94
+ if attributes[:'hostnameLabel']
95
+ self.hostname_label = attributes[:'hostnameLabel']
96
+ end
97
+
98
+ if attributes[:'privateIp']
99
+ self.private_ip = attributes[:'privateIp']
100
+ end
101
+
102
+ if attributes[:'subnetId']
103
+ self.subnet_id = attributes[:'subnetId']
104
+ end
105
+
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
+ assign_public_ip == other_object.assign_public_ip &&
114
+ display_name == other_object.display_name &&
115
+ hostname_label == other_object.hostname_label &&
116
+ private_ip == other_object.private_ip &&
117
+ subnet_id == other_object.subnet_id
118
+ end
119
+
120
+ # @see the `==` method
121
+ # @param [Object] other_object to be compared
122
+ def eql?(other_object)
123
+ self == other_object
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Fixnum] Hash code
128
+ def hash
129
+ [assign_public_ip, display_name, hostname_label, private_ip, subnet_id].hash
130
+ end
131
+
132
+ # Builds the object from hash
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ # @return [Object] Returns the model itself
135
+ def build_from_hash(attributes)
136
+ return nil unless attributes.is_a?(Hash)
137
+ self.class.swagger_types.each_pair do |key, type|
138
+ if type =~ /^Array<(.*)>/i
139
+ # check to ensure the input is an array given that the the attribute
140
+ # is documented as an array but the input is not
141
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
142
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
143
+ end
144
+ elsif !attributes[self.class.attribute_map[key]].nil?
145
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
146
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
147
+ end
148
+
149
+ self
150
+ end
151
+
152
+ # Returns the string representation of the object
153
+ # @return [String] String presentation of the object
154
+ def to_s
155
+ to_hash.to_s
156
+ end
157
+
158
+ # Returns the object in the form of hash
159
+ # @return [Hash] Returns the object in the form of hash
160
+ def to_hash
161
+ hash = {}
162
+ self.class.attribute_map.each_pair do |attr, param|
163
+ value = self.send(attr)
164
+ next if value.nil?
165
+ hash[param] = _to_hash(value)
166
+ end
167
+ hash
168
+ end
169
+
170
+ private
171
+
172
+ # Outputs non-array value in the form of hash
173
+ # For object, use to_hash. Otherwise, just return the value
174
+ # @param [Object] value Any valid value
175
+ # @return [Hash] Returns the value in the form of hash
176
+ def _to_hash(value)
177
+ if value.is_a?(Array)
178
+ value.compact.map{ |v| _to_hash(v) }
179
+ elsif value.is_a?(Hash)
180
+ {}.tap do |hash|
181
+ value.each { |k, v| hash[k] = _to_hash(v) }
182
+ end
183
+ elsif value.respond_to? :to_hash
184
+ value.to_hash
185
+ else
186
+ value
187
+ end
188
+ end
189
+
190
+
191
+
192
+ # Attribute mapping from ruby-style variable name to JSON key.
193
+ def self.attribute_map
194
+ {
195
+ :'assign_public_ip' => :'assignPublicIp',
196
+ :'display_name' => :'displayName',
197
+ :'hostname_label' => :'hostnameLabel',
198
+ :'private_ip' => :'privateIp',
199
+ :'subnet_id' => :'subnetId'
200
+ }
201
+ end
202
+
203
+ # Attribute type mapping.
204
+ def self.swagger_types
205
+ {
206
+ :'assign_public_ip' => :'BOOLEAN',
207
+ :'display_name' => :'String',
208
+ :'hostname_label' => :'String',
209
+ :'private_ip' => :'String',
210
+ :'subnet_id' => :'String'
211
+ }
212
+ end
213
+ end
214
+ end
@@ -0,0 +1,133 @@
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::CreateVolumeBackupDetails
7
+ # A user-friendly name for the volume backup. Does not have to be unique and it's changeable.
8
+ # Avoid entering confidential information.
9
+ #
10
+ # @return [String]
11
+ attr_accessor :display_name
12
+
13
+ # The OCID of the volume that needs to be backed up.
14
+ # @return [String]
15
+ attr_accessor :volume_id
16
+
17
+
18
+ # Initializes the object
19
+ # @param [Hash] attributes Model attributes in the form of hash
20
+ def initialize(attributes = {})
21
+ return unless attributes.is_a?(Hash)
22
+
23
+ # convert string to symbol for hash key
24
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
25
+
26
+ if attributes[:'displayName']
27
+ self.display_name = attributes[:'displayName']
28
+ end
29
+
30
+ if attributes[:'volumeId']
31
+ self.volume_id = attributes[:'volumeId']
32
+ end
33
+
34
+ end
35
+
36
+ # Checks equality by comparing each attribute.
37
+ # @param [Object] other_object to be compared
38
+ def ==(other_object)
39
+ return true if self.equal?(other_object)
40
+ self.class == other_object.class &&
41
+ display_name == other_object.display_name &&
42
+ volume_id == other_object.volume_id
43
+ end
44
+
45
+ # @see the `==` method
46
+ # @param [Object] other_object to be compared
47
+ def eql?(other_object)
48
+ self == other_object
49
+ end
50
+
51
+ # Calculates hash code according to all attributes.
52
+ # @return [Fixnum] Hash code
53
+ def hash
54
+ [display_name, volume_id].hash
55
+ end
56
+
57
+ # Builds the object from hash
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ # @return [Object] Returns the model itself
60
+ def build_from_hash(attributes)
61
+ return nil unless attributes.is_a?(Hash)
62
+ self.class.swagger_types.each_pair do |key, type|
63
+ if type =~ /^Array<(.*)>/i
64
+ # check to ensure the input is an array given that the the attribute
65
+ # is documented as an array but the input is not
66
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
67
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
68
+ end
69
+ elsif !attributes[self.class.attribute_map[key]].nil?
70
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
71
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
72
+ end
73
+
74
+ self
75
+ end
76
+
77
+ # Returns the string representation of the object
78
+ # @return [String] String presentation of the object
79
+ def to_s
80
+ to_hash.to_s
81
+ end
82
+
83
+ # Returns the object in the form of hash
84
+ # @return [Hash] Returns the object in the form of hash
85
+ def to_hash
86
+ hash = {}
87
+ self.class.attribute_map.each_pair do |attr, param|
88
+ value = self.send(attr)
89
+ next if value.nil?
90
+ hash[param] = _to_hash(value)
91
+ end
92
+ hash
93
+ end
94
+
95
+ private
96
+
97
+ # Outputs non-array value in the form of hash
98
+ # For object, use to_hash. Otherwise, just return the value
99
+ # @param [Object] value Any valid value
100
+ # @return [Hash] Returns the value in the form of hash
101
+ def _to_hash(value)
102
+ if value.is_a?(Array)
103
+ value.compact.map{ |v| _to_hash(v) }
104
+ elsif value.is_a?(Hash)
105
+ {}.tap do |hash|
106
+ value.each { |k, v| hash[k] = _to_hash(v) }
107
+ end
108
+ elsif value.respond_to? :to_hash
109
+ value.to_hash
110
+ else
111
+ value
112
+ end
113
+ end
114
+
115
+
116
+
117
+ # Attribute mapping from ruby-style variable name to JSON key.
118
+ def self.attribute_map
119
+ {
120
+ :'display_name' => :'displayName',
121
+ :'volume_id' => :'volumeId'
122
+ }
123
+ end
124
+
125
+ # Attribute type mapping.
126
+ def self.swagger_types
127
+ {
128
+ :'display_name' => :'String',
129
+ :'volume_id' => :'String'
130
+ }
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,170 @@
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::CreateVolumeDetails
7
+ # The Availability Domain of the volume.
8
+ #
9
+ # Example: `Uocm:PHX-AD-1`
10
+ #
11
+ # @return [String]
12
+ attr_accessor :availability_domain
13
+
14
+ # The OCID of the compartment that contains the volume.
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 size of the volume in MBs. The value must be a multiple of 1024.
25
+ # @return [Integer]
26
+ attr_accessor :size_in_mbs
27
+
28
+ # The OCID of the volume backup from which the data should be restored on the newly created volume.
29
+ #
30
+ # @return [String]
31
+ attr_accessor :volume_backup_id
32
+
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ return unless attributes.is_a?(Hash)
38
+
39
+ # convert string to symbol for hash key
40
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
41
+
42
+ if attributes[:'availabilityDomain']
43
+ self.availability_domain = attributes[:'availabilityDomain']
44
+ end
45
+
46
+ if attributes[:'compartmentId']
47
+ self.compartment_id = attributes[:'compartmentId']
48
+ end
49
+
50
+ if attributes[:'displayName']
51
+ self.display_name = attributes[:'displayName']
52
+ end
53
+
54
+ if attributes[:'sizeInMBs']
55
+ self.size_in_mbs = attributes[:'sizeInMBs']
56
+ end
57
+
58
+ if attributes[:'volumeBackupId']
59
+ self.volume_backup_id = attributes[:'volumeBackupId']
60
+ end
61
+
62
+ end
63
+
64
+ # Checks equality by comparing each attribute.
65
+ # @param [Object] other_object to be compared
66
+ def ==(other_object)
67
+ return true if self.equal?(other_object)
68
+ self.class == other_object.class &&
69
+ availability_domain == other_object.availability_domain &&
70
+ compartment_id == other_object.compartment_id &&
71
+ display_name == other_object.display_name &&
72
+ size_in_mbs == other_object.size_in_mbs &&
73
+ volume_backup_id == other_object.volume_backup_id
74
+ end
75
+
76
+ # @see the `==` method
77
+ # @param [Object] other_object to be compared
78
+ def eql?(other_object)
79
+ self == other_object
80
+ end
81
+
82
+ # Calculates hash code according to all attributes.
83
+ # @return [Fixnum] Hash code
84
+ def hash
85
+ [availability_domain, compartment_id, display_name, size_in_mbs, volume_backup_id].hash
86
+ end
87
+
88
+ # Builds the object from hash
89
+ # @param [Hash] attributes Model attributes in the form of hash
90
+ # @return [Object] Returns the model itself
91
+ def build_from_hash(attributes)
92
+ return nil unless attributes.is_a?(Hash)
93
+ self.class.swagger_types.each_pair do |key, type|
94
+ if type =~ /^Array<(.*)>/i
95
+ # check to ensure the input is an array given that the the attribute
96
+ # is documented as an array but the input is not
97
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
98
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
99
+ end
100
+ elsif !attributes[self.class.attribute_map[key]].nil?
101
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
102
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
103
+ end
104
+
105
+ self
106
+ end
107
+
108
+ # Returns the string representation of the object
109
+ # @return [String] String presentation of the object
110
+ def to_s
111
+ to_hash.to_s
112
+ end
113
+
114
+ # Returns the object in the form of hash
115
+ # @return [Hash] Returns the object in the form of hash
116
+ def to_hash
117
+ hash = {}
118
+ self.class.attribute_map.each_pair do |attr, param|
119
+ value = self.send(attr)
120
+ next if value.nil?
121
+ hash[param] = _to_hash(value)
122
+ end
123
+ hash
124
+ end
125
+
126
+ private
127
+
128
+ # Outputs non-array value in the form of hash
129
+ # For object, use to_hash. Otherwise, just return the value
130
+ # @param [Object] value Any valid value
131
+ # @return [Hash] Returns the value in the form of hash
132
+ def _to_hash(value)
133
+ if value.is_a?(Array)
134
+ value.compact.map{ |v| _to_hash(v) }
135
+ elsif value.is_a?(Hash)
136
+ {}.tap do |hash|
137
+ value.each { |k, v| hash[k] = _to_hash(v) }
138
+ end
139
+ elsif value.respond_to? :to_hash
140
+ value.to_hash
141
+ else
142
+ value
143
+ end
144
+ end
145
+
146
+
147
+
148
+ # Attribute mapping from ruby-style variable name to JSON key.
149
+ def self.attribute_map
150
+ {
151
+ :'availability_domain' => :'availabilityDomain',
152
+ :'compartment_id' => :'compartmentId',
153
+ :'display_name' => :'displayName',
154
+ :'size_in_mbs' => :'sizeInMBs',
155
+ :'volume_backup_id' => :'volumeBackupId'
156
+ }
157
+ end
158
+
159
+ # Attribute type mapping.
160
+ def self.swagger_types
161
+ {
162
+ :'availability_domain' => :'String',
163
+ :'compartment_id' => :'String',
164
+ :'display_name' => :'String',
165
+ :'size_in_mbs' => :'Integer',
166
+ :'volume_backup_id' => :'String'
167
+ }
168
+ end
169
+ end
170
+ end