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,213 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Identity::Models::CustomerSecretKeySummary
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
9
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE',
10
+ LIFECYCLE_STATE_INACTIVE = 'INACTIVE',
11
+ LIFECYCLE_STATE_DELETING = 'DELETING',
12
+ LIFECYCLE_STATE_DELETED = 'DELETED',
13
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
14
+
15
+ # The OCID of the secret key.
16
+ # @return [String]
17
+ attr_accessor :id
18
+
19
+ # The OCID of the user the password belongs to.
20
+ # @return [String]
21
+ attr_accessor :user_id
22
+
23
+ # The displayName you assign to the secret key. Does not have to be unique, and it's changeable.
24
+ # @return [String]
25
+ attr_accessor :display_name
26
+
27
+ # Date and time the `CustomerSecretKey` object was created, in the format defined by RFC3339.
28
+ #
29
+ # Example: `2016-08-25T21:10:29.600Z`
30
+ #
31
+ # @return [DateTime]
32
+ attr_accessor :time_created
33
+
34
+ # Date and time when this password will expire, in the format defined by RFC3339.
35
+ # Null if it never expires.
36
+ #
37
+ # Example: `2016-08-25T21:10:29.600Z`
38
+ #
39
+ # @return [DateTime]
40
+ attr_accessor :time_expires
41
+
42
+ # The secret key's current state. After creating a secret key, make sure its `lifecycleState` changes from
43
+ # CREATING to ACTIVE before using it.
44
+ #
45
+ # @return [String]
46
+ attr_accessor :lifecycle_state
47
+
48
+ # The detailed status of INACTIVE lifecycleState.
49
+ # @return [Integer]
50
+ attr_accessor :inactive_status
51
+
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ return unless attributes.is_a?(Hash)
57
+
58
+ # convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
60
+
61
+ if attributes[:'id']
62
+ self.id = attributes[:'id']
63
+ end
64
+
65
+ if attributes[:'userId']
66
+ self.user_id = attributes[:'userId']
67
+ end
68
+
69
+ if attributes[:'displayName']
70
+ self.display_name = attributes[:'displayName']
71
+ end
72
+
73
+ if attributes[:'timeCreated']
74
+ self.time_created = attributes[:'timeCreated']
75
+ end
76
+
77
+ if attributes[:'timeExpires']
78
+ self.time_expires = attributes[:'timeExpires']
79
+ end
80
+
81
+ if attributes[:'lifecycleState']
82
+ self.lifecycle_state = attributes[:'lifecycleState']
83
+ end
84
+
85
+ if attributes[:'inactiveStatus']
86
+ self.inactive_status = attributes[:'inactiveStatus']
87
+ end
88
+
89
+ end
90
+
91
+ # Custom attribute writer method checking allowed values (enum).
92
+ # @param [Object] lifecycle_state Object to be assigned
93
+ def lifecycle_state=(lifecycle_state)
94
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
95
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
96
+ else
97
+ @lifecycle_state = lifecycle_state
98
+ end
99
+ end
100
+
101
+ # Checks equality by comparing each attribute.
102
+ # @param [Object] other_object to be compared
103
+ def ==(other_object)
104
+ return true if self.equal?(other_object)
105
+ self.class == other_object.class &&
106
+ id == other_object.id &&
107
+ user_id == other_object.user_id &&
108
+ display_name == other_object.display_name &&
109
+ time_created == other_object.time_created &&
110
+ time_expires == other_object.time_expires &&
111
+ lifecycle_state == other_object.lifecycle_state &&
112
+ inactive_status == other_object.inactive_status
113
+ end
114
+
115
+ # @see the `==` method
116
+ # @param [Object] other_object to be compared
117
+ def eql?(other_object)
118
+ self == other_object
119
+ end
120
+
121
+ # Calculates hash code according to all attributes.
122
+ # @return [Fixnum] Hash code
123
+ def hash
124
+ [id, user_id, display_name, time_created, time_expires, lifecycle_state, inactive_status].hash
125
+ end
126
+
127
+ # Builds the object from hash
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ # @return [Object] Returns the model itself
130
+ def build_from_hash(attributes)
131
+ return nil unless attributes.is_a?(Hash)
132
+ self.class.swagger_types.each_pair do |key, type|
133
+ if type =~ /^Array<(.*)>/i
134
+ # check to ensure the input is an array given that the the attribute
135
+ # is documented as an array but the input is not
136
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
137
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
138
+ end
139
+ elsif !attributes[self.class.attribute_map[key]].nil?
140
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
141
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
142
+ end
143
+
144
+ self
145
+ end
146
+
147
+ # Returns the string representation of the object
148
+ # @return [String] String presentation of the object
149
+ def to_s
150
+ to_hash.to_s
151
+ end
152
+
153
+ # Returns the object in the form of hash
154
+ # @return [Hash] Returns the object in the form of hash
155
+ def to_hash
156
+ hash = {}
157
+ self.class.attribute_map.each_pair do |attr, param|
158
+ value = self.send(attr)
159
+ next if value.nil?
160
+ hash[param] = _to_hash(value)
161
+ end
162
+ hash
163
+ end
164
+
165
+ private
166
+
167
+ # Outputs non-array value in the form of hash
168
+ # For object, use to_hash. Otherwise, just return the value
169
+ # @param [Object] value Any valid value
170
+ # @return [Hash] Returns the value in the form of hash
171
+ def _to_hash(value)
172
+ if value.is_a?(Array)
173
+ value.compact.map{ |v| _to_hash(v) }
174
+ elsif value.is_a?(Hash)
175
+ {}.tap do |hash|
176
+ value.each { |k, v| hash[k] = _to_hash(v) }
177
+ end
178
+ elsif value.respond_to? :to_hash
179
+ value.to_hash
180
+ else
181
+ value
182
+ end
183
+ end
184
+
185
+
186
+
187
+ # Attribute mapping from ruby-style variable name to JSON key.
188
+ def self.attribute_map
189
+ {
190
+ :'id' => :'id',
191
+ :'user_id' => :'userId',
192
+ :'display_name' => :'displayName',
193
+ :'time_created' => :'timeCreated',
194
+ :'time_expires' => :'timeExpires',
195
+ :'lifecycle_state' => :'lifecycleState',
196
+ :'inactive_status' => :'inactiveStatus'
197
+ }
198
+ end
199
+
200
+ # Attribute type mapping.
201
+ def self.swagger_types
202
+ {
203
+ :'id' => :'String',
204
+ :'user_id' => :'String',
205
+ :'display_name' => :'String',
206
+ :'time_created' => :'DateTime',
207
+ :'time_expires' => :'DateTime',
208
+ :'lifecycle_state' => :'String',
209
+ :'inactive_status' => :'Integer'
210
+ }
211
+ end
212
+ end
213
+ end
@@ -0,0 +1,211 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Identity::Models::Group
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
9
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE',
10
+ LIFECYCLE_STATE_INACTIVE = 'INACTIVE',
11
+ LIFECYCLE_STATE_DELETING = 'DELETING',
12
+ LIFECYCLE_STATE_DELETED = 'DELETED',
13
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
14
+
15
+ # The OCID of the group.
16
+ # @return [String]
17
+ attr_accessor :id
18
+
19
+ # The OCID of the tenancy containing the group.
20
+ # @return [String]
21
+ attr_accessor :compartment_id
22
+
23
+ # The name you assign to the group during creation. The name must be unique across all groups in
24
+ # the tenancy and cannot be changed.
25
+ #
26
+ # @return [String]
27
+ attr_accessor :name
28
+
29
+ # The description you assign to the group. Does not have to be unique, and it's changeable.
30
+ # @return [String]
31
+ attr_accessor :description
32
+
33
+ # Date and time the group was created, in the format defined by RFC3339.
34
+ #
35
+ # Example: `2016-08-25T21:10:29.600Z`
36
+ #
37
+ # @return [DateTime]
38
+ attr_accessor :time_created
39
+
40
+ # The group's current state. After creating a group, make sure its `lifecycleState` changes from CREATING to
41
+ # ACTIVE before using it.
42
+ #
43
+ # @return [String]
44
+ attr_accessor :lifecycle_state
45
+
46
+ # The detailed status of INACTIVE lifecycleState.
47
+ # @return [Integer]
48
+ attr_accessor :inactive_status
49
+
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ return unless attributes.is_a?(Hash)
55
+
56
+ # convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
58
+
59
+ if attributes[:'id']
60
+ self.id = attributes[:'id']
61
+ end
62
+
63
+ if attributes[:'compartmentId']
64
+ self.compartment_id = attributes[:'compartmentId']
65
+ end
66
+
67
+ if attributes[:'name']
68
+ self.name = attributes[:'name']
69
+ end
70
+
71
+ if attributes[:'description']
72
+ self.description = attributes[:'description']
73
+ end
74
+
75
+ if attributes[:'timeCreated']
76
+ self.time_created = attributes[:'timeCreated']
77
+ end
78
+
79
+ if attributes[:'lifecycleState']
80
+ self.lifecycle_state = attributes[:'lifecycleState']
81
+ end
82
+
83
+ if attributes[:'inactiveStatus']
84
+ self.inactive_status = attributes[:'inactiveStatus']
85
+ end
86
+
87
+ end
88
+
89
+ # Custom attribute writer method checking allowed values (enum).
90
+ # @param [Object] lifecycle_state Object to be assigned
91
+ def lifecycle_state=(lifecycle_state)
92
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
93
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
94
+ else
95
+ @lifecycle_state = lifecycle_state
96
+ end
97
+ end
98
+
99
+ # Checks equality by comparing each attribute.
100
+ # @param [Object] other_object to be compared
101
+ def ==(other_object)
102
+ return true if self.equal?(other_object)
103
+ self.class == other_object.class &&
104
+ id == other_object.id &&
105
+ compartment_id == other_object.compartment_id &&
106
+ name == other_object.name &&
107
+ description == other_object.description &&
108
+ time_created == other_object.time_created &&
109
+ lifecycle_state == other_object.lifecycle_state &&
110
+ inactive_status == other_object.inactive_status
111
+ end
112
+
113
+ # @see the `==` method
114
+ # @param [Object] other_object to be compared
115
+ def eql?(other_object)
116
+ self == other_object
117
+ end
118
+
119
+ # Calculates hash code according to all attributes.
120
+ # @return [Fixnum] Hash code
121
+ def hash
122
+ [id, compartment_id, name, description, time_created, lifecycle_state, inactive_status].hash
123
+ end
124
+
125
+ # Builds the object from hash
126
+ # @param [Hash] attributes Model attributes in the form of hash
127
+ # @return [Object] Returns the model itself
128
+ def build_from_hash(attributes)
129
+ return nil unless attributes.is_a?(Hash)
130
+ self.class.swagger_types.each_pair do |key, type|
131
+ if type =~ /^Array<(.*)>/i
132
+ # check to ensure the input is an array given that the the attribute
133
+ # is documented as an array but the input is not
134
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
135
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
136
+ end
137
+ elsif !attributes[self.class.attribute_map[key]].nil?
138
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
139
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
140
+ end
141
+
142
+ self
143
+ end
144
+
145
+ # Returns the string representation of the object
146
+ # @return [String] String presentation of the object
147
+ def to_s
148
+ to_hash.to_s
149
+ end
150
+
151
+ # Returns the object in the form of hash
152
+ # @return [Hash] Returns the object in the form of hash
153
+ def to_hash
154
+ hash = {}
155
+ self.class.attribute_map.each_pair do |attr, param|
156
+ value = self.send(attr)
157
+ next if value.nil?
158
+ hash[param] = _to_hash(value)
159
+ end
160
+ hash
161
+ end
162
+
163
+ private
164
+
165
+ # Outputs non-array value in the form of hash
166
+ # For object, use to_hash. Otherwise, just return the value
167
+ # @param [Object] value Any valid value
168
+ # @return [Hash] Returns the value in the form of hash
169
+ def _to_hash(value)
170
+ if value.is_a?(Array)
171
+ value.compact.map{ |v| _to_hash(v) }
172
+ elsif value.is_a?(Hash)
173
+ {}.tap do |hash|
174
+ value.each { |k, v| hash[k] = _to_hash(v) }
175
+ end
176
+ elsif value.respond_to? :to_hash
177
+ value.to_hash
178
+ else
179
+ value
180
+ end
181
+ end
182
+
183
+
184
+
185
+ # Attribute mapping from ruby-style variable name to JSON key.
186
+ def self.attribute_map
187
+ {
188
+ :'id' => :'id',
189
+ :'compartment_id' => :'compartmentId',
190
+ :'name' => :'name',
191
+ :'description' => :'description',
192
+ :'time_created' => :'timeCreated',
193
+ :'lifecycle_state' => :'lifecycleState',
194
+ :'inactive_status' => :'inactiveStatus'
195
+ }
196
+ end
197
+
198
+ # Attribute type mapping.
199
+ def self.swagger_types
200
+ {
201
+ :'id' => :'String',
202
+ :'compartment_id' => :'String',
203
+ :'name' => :'String',
204
+ :'description' => :'String',
205
+ :'time_created' => :'DateTime',
206
+ :'lifecycle_state' => :'String',
207
+ :'inactive_status' => :'Integer'
208
+ }
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,261 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Identity::Models::IdentityProvider
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
9
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE',
10
+ LIFECYCLE_STATE_INACTIVE = 'INACTIVE',
11
+ LIFECYCLE_STATE_DELETING = 'DELETING',
12
+ LIFECYCLE_STATE_DELETED = 'DELETED',
13
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
14
+
15
+ # The OCID of the `IdentityProvider`.
16
+ # @return [String]
17
+ attr_accessor :id
18
+
19
+ # The OCID of the tenancy containing the `IdentityProvider`.
20
+ # @return [String]
21
+ attr_accessor :compartment_id
22
+
23
+ # The name you assign to the `IdentityProvider` during creation. The name
24
+ # must be unique across all `IdentityProvider` objects in the tenancy and
25
+ # cannot be changed. This is the name federated users see when choosing
26
+ # which identity provider to use when signing in to the Oracle Bare Metal Cloud
27
+ # Services Console.
28
+ #
29
+ # @return [String]
30
+ attr_accessor :name
31
+
32
+ # The description you assign to the `IdentityProvider` during creation. Does
33
+ # not have to be unique, and it's changeable.
34
+ #
35
+ # @return [String]
36
+ attr_accessor :description
37
+
38
+ # The identity provider service or product.
39
+ # Supported identity providers are Oracle Identity Cloud Service (IDCS) and Microsoft
40
+ # Active Directory Federation Services (ADFS).
41
+ #
42
+ # Allowed values are:
43
+ # - `ADFS`
44
+ # - `IDCS`
45
+ #
46
+ # Example: `IDCS`
47
+ #
48
+ # @return [String]
49
+ attr_accessor :product_type
50
+
51
+ # Date and time the `IdentityProvider` was created, in the format defined by RFC3339.
52
+ #
53
+ # Example: `2016-08-25T21:10:29.600Z`
54
+ #
55
+ # @return [DateTime]
56
+ attr_accessor :time_created
57
+
58
+ # The current state. After creating an `IdentityProvider`, make sure its
59
+ # `lifecycleState` changes from CREATING to ACTIVE before using it.
60
+ #
61
+ # @return [String]
62
+ attr_accessor :lifecycle_state
63
+
64
+ # The detailed status of INACTIVE lifecycleState.
65
+ # @return [Integer]
66
+ attr_accessor :inactive_status
67
+
68
+ # The protocol used for federation. Allowed value: `SAML2`.
69
+ #
70
+ # Example: `SAML2`
71
+ #
72
+ # @return [String]
73
+ attr_accessor :protocol
74
+
75
+
76
+ # Given the hash representation of a subtype of this class,
77
+ # use the info in the hash to return the class of the subtype.
78
+ def self.get_subtype(object_hash)
79
+ type = object_hash[:'protocol']
80
+
81
+ return 'OCI::Identity::Models::Saml2IdentityProvider' if type == 'SAML2'
82
+
83
+ # TODO: Log a warning when the subtype is not found.
84
+ return 'OCI::Identity::Models::IdentityProvider'
85
+ end
86
+
87
+ # Initializes the object
88
+ # @param [Hash] attributes Model attributes in the form of hash
89
+ def initialize(attributes = {})
90
+ return unless attributes.is_a?(Hash)
91
+
92
+ # convert string to symbol for hash key
93
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
94
+
95
+ if attributes[:'id']
96
+ self.id = attributes[:'id']
97
+ end
98
+
99
+ if attributes[:'compartmentId']
100
+ self.compartment_id = attributes[:'compartmentId']
101
+ end
102
+
103
+ if attributes[:'name']
104
+ self.name = attributes[:'name']
105
+ end
106
+
107
+ if attributes[:'description']
108
+ self.description = attributes[:'description']
109
+ end
110
+
111
+ if attributes[:'productType']
112
+ self.product_type = attributes[:'productType']
113
+ end
114
+
115
+ if attributes[:'timeCreated']
116
+ self.time_created = attributes[:'timeCreated']
117
+ end
118
+
119
+ if attributes[:'lifecycleState']
120
+ self.lifecycle_state = attributes[:'lifecycleState']
121
+ end
122
+
123
+ if attributes[:'inactiveStatus']
124
+ self.inactive_status = attributes[:'inactiveStatus']
125
+ end
126
+
127
+ if attributes[:'protocol']
128
+ self.protocol = attributes[:'protocol']
129
+ end
130
+
131
+ end
132
+
133
+ # Custom attribute writer method checking allowed values (enum).
134
+ # @param [Object] lifecycle_state Object to be assigned
135
+ def lifecycle_state=(lifecycle_state)
136
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
137
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
138
+ else
139
+ @lifecycle_state = lifecycle_state
140
+ end
141
+ end
142
+
143
+ # Checks equality by comparing each attribute.
144
+ # @param [Object] other_object to be compared
145
+ def ==(other_object)
146
+ return true if self.equal?(other_object)
147
+ self.class == other_object.class &&
148
+ id == other_object.id &&
149
+ compartment_id == other_object.compartment_id &&
150
+ name == other_object.name &&
151
+ description == other_object.description &&
152
+ product_type == other_object.product_type &&
153
+ time_created == other_object.time_created &&
154
+ lifecycle_state == other_object.lifecycle_state &&
155
+ inactive_status == other_object.inactive_status &&
156
+ protocol == other_object.protocol
157
+ end
158
+
159
+ # @see the `==` method
160
+ # @param [Object] other_object to be compared
161
+ def eql?(other_object)
162
+ self == other_object
163
+ end
164
+
165
+ # Calculates hash code according to all attributes.
166
+ # @return [Fixnum] Hash code
167
+ def hash
168
+ [id, compartment_id, name, description, product_type, time_created, lifecycle_state, inactive_status, protocol].hash
169
+ end
170
+
171
+ # Builds the object from hash
172
+ # @param [Hash] attributes Model attributes in the form of hash
173
+ # @return [Object] Returns the model itself
174
+ def build_from_hash(attributes)
175
+ return nil unless attributes.is_a?(Hash)
176
+ self.class.swagger_types.each_pair do |key, type|
177
+ if type =~ /^Array<(.*)>/i
178
+ # check to ensure the input is an array given that the the attribute
179
+ # is documented as an array but the input is not
180
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
181
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
182
+ end
183
+ elsif !attributes[self.class.attribute_map[key]].nil?
184
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
185
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
186
+ end
187
+
188
+ self
189
+ end
190
+
191
+ # Returns the string representation of the object
192
+ # @return [String] String presentation of the object
193
+ def to_s
194
+ to_hash.to_s
195
+ end
196
+
197
+ # Returns the object in the form of hash
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_hash
200
+ hash = {}
201
+ self.class.attribute_map.each_pair do |attr, param|
202
+ value = self.send(attr)
203
+ next if value.nil?
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ private
210
+
211
+ # Outputs non-array value in the form of hash
212
+ # For object, use to_hash. Otherwise, just return the value
213
+ # @param [Object] value Any valid value
214
+ # @return [Hash] Returns the value in the form of hash
215
+ def _to_hash(value)
216
+ if value.is_a?(Array)
217
+ value.compact.map{ |v| _to_hash(v) }
218
+ elsif value.is_a?(Hash)
219
+ {}.tap do |hash|
220
+ value.each { |k, v| hash[k] = _to_hash(v) }
221
+ end
222
+ elsif value.respond_to? :to_hash
223
+ value.to_hash
224
+ else
225
+ value
226
+ end
227
+ end
228
+
229
+
230
+
231
+ # Attribute mapping from ruby-style variable name to JSON key.
232
+ def self.attribute_map
233
+ {
234
+ :'id' => :'id',
235
+ :'compartment_id' => :'compartmentId',
236
+ :'name' => :'name',
237
+ :'description' => :'description',
238
+ :'product_type' => :'productType',
239
+ :'time_created' => :'timeCreated',
240
+ :'lifecycle_state' => :'lifecycleState',
241
+ :'inactive_status' => :'inactiveStatus',
242
+ :'protocol' => :'protocol'
243
+ }
244
+ end
245
+
246
+ # Attribute type mapping.
247
+ def self.swagger_types
248
+ {
249
+ :'id' => :'String',
250
+ :'compartment_id' => :'String',
251
+ :'name' => :'String',
252
+ :'description' => :'String',
253
+ :'product_type' => :'String',
254
+ :'time_created' => :'DateTime',
255
+ :'lifecycle_state' => :'String',
256
+ :'inactive_status' => :'Integer',
257
+ :'protocol' => :'String'
258
+ }
259
+ end
260
+ end
261
+ end