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,78 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module Errors
5
+ # The base error for all requests that return error responses from the service.
6
+ class ServiceError < StandardError
7
+ # HTTP status code (such as 200 or 404)
8
+ #
9
+ # @return [Integer]
10
+ attr_reader :status_code
11
+
12
+ # A service-specific error code
13
+ #
14
+ # @return [String]
15
+ attr_reader :service_code
16
+
17
+ # The request ID, taken from the opc-request-id header.
18
+ #
19
+ # @return [String]
20
+ attr_reader :request_id
21
+
22
+ # The error message
23
+ #
24
+ # @return [String]
25
+ attr_reader :message
26
+
27
+
28
+ def initialize(status_code, service_code, request_id, message)
29
+ # We need to mask the message attribute here as otherwise we use StandardError's
30
+ # implementation, which calls to_s and so referencing "message" in our to_s in
31
+ # this class would go into an infinite loop
32
+
33
+ @message = if message.nil? || message.strip.empty?
34
+ "The service returned error code #{status_code}"
35
+ else
36
+ message.strip
37
+ end
38
+
39
+ super @message
40
+
41
+ @status_code = status_code
42
+ @service_code = service_code
43
+ @request_id = request_id
44
+ end
45
+
46
+ def to_s
47
+ "{ 'message': '#{message}', 'status': #{status_code}, " \
48
+ "'code': '#{service_code}', 'opc-request-id': '#{request_id}' }"
49
+ end
50
+ end
51
+
52
+ # The base error for all network issues (that is, requests that do not reach the server)
53
+ class NetworkError < StandardError
54
+ # Error code, which is mapped to Net::HTTPResponse's message or exception's message property
55
+ attr_reader :code
56
+
57
+ def initialize(code)
58
+ super 'Request could not be completed due to a network error.'
59
+ @code = code
60
+ end
61
+ end
62
+
63
+ # Raised when the maximum wait time is exceeded.
64
+ class MaximumWaitTimeExceededError < StandardError; end
65
+
66
+ # Raised when a work request returns as failed while waiting on completion.
67
+ class WorkRequestFailedError < StandardError
68
+ # The failed work request.
69
+ attr_reader :work_request
70
+
71
+ def initialize(work_request)
72
+ # TODO: May also want to include error_details.
73
+ super "Work request failed. ID: #{work_request.id}"
74
+ @work_request = work_request
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,20 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require_relative 'config_file_loader'
4
+ require_relative 'api_client'
5
+ require_relative 'signer'
6
+
7
+ # Top level module for the Oracle Cloud Infrastructure SDK
8
+ module OCI
9
+ # Gets the global Config, or loads the default config file if a Config has not been set.
10
+ #
11
+ # @return [Config]
12
+ def self.config
13
+ @config ||= ConfigFileLoader.load_config
14
+ end
15
+
16
+ # Set the global Config
17
+ def self.config=(c)
18
+ @config = c
19
+ end
20
+ end
@@ -0,0 +1,55 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module Identity
5
+ module Models
6
+ end
7
+ end
8
+ end
9
+
10
+ # Require models
11
+ require 'oci/identity/models/add_user_to_group_details'
12
+ require 'oci/identity/models/api_key'
13
+ require 'oci/identity/models/availability_domain'
14
+ require 'oci/identity/models/compartment'
15
+ require 'oci/identity/models/create_api_key_details'
16
+ require 'oci/identity/models/create_compartment_details'
17
+ require 'oci/identity/models/create_customer_secret_key_details'
18
+ require 'oci/identity/models/create_group_details'
19
+ require 'oci/identity/models/create_identity_provider_details'
20
+ require 'oci/identity/models/create_idp_group_mapping_details'
21
+ require 'oci/identity/models/create_policy_details'
22
+ require 'oci/identity/models/create_region_subscription_details'
23
+ require 'oci/identity/models/create_saml2_identity_provider_details'
24
+ require 'oci/identity/models/create_swift_password_details'
25
+ require 'oci/identity/models/create_user_details'
26
+ require 'oci/identity/models/customer_secret_key'
27
+ require 'oci/identity/models/customer_secret_key_summary'
28
+ require 'oci/identity/models/group'
29
+ require 'oci/identity/models/identity_provider'
30
+ require 'oci/identity/models/idp_group_mapping'
31
+ require 'oci/identity/models/policy'
32
+ require 'oci/identity/models/region'
33
+ require 'oci/identity/models/region_subscription'
34
+ require 'oci/identity/models/saml2_identity_provider'
35
+ require 'oci/identity/models/swift_password'
36
+ require 'oci/identity/models/tenancy'
37
+ require 'oci/identity/models/ui_password'
38
+ require 'oci/identity/models/update_compartment_details'
39
+ require 'oci/identity/models/update_customer_secret_key_details'
40
+ require 'oci/identity/models/update_group_details'
41
+ require 'oci/identity/models/update_identity_provider_details'
42
+ require 'oci/identity/models/update_idp_group_mapping_details'
43
+ require 'oci/identity/models/update_policy_details'
44
+ require 'oci/identity/models/update_saml2_identity_provider_details'
45
+ require 'oci/identity/models/update_state_details'
46
+ require 'oci/identity/models/update_swift_password_details'
47
+ require 'oci/identity/models/update_user_details'
48
+ require 'oci/identity/models/user'
49
+ require 'oci/identity/models/user_group_membership'
50
+
51
+ # Require generated clients
52
+ require 'oci/identity/identity_client'
53
+
54
+ # Require service utilities
55
+ require 'oci/identity/util'
@@ -0,0 +1,2148 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require "uri"
4
+ require "logger"
5
+
6
+ module OCI
7
+
8
+ class Identity::IdentityClient
9
+
10
+ # Client used to make HTTP requests.
11
+ # @return [OCI::ApiClient]
12
+ attr_reader :api_client
13
+
14
+ # Fully qualified endpoint URL
15
+ # @return [String]
16
+ attr_reader :endpoint
17
+
18
+ # The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}.
19
+ # @return [String]
20
+ attr_accessor :region
21
+
22
+ # Creates a new IdentityClient.
23
+ # If a config is not specified, then the global OCI.config will be used.
24
+ #
25
+ # A region must be specified in either the config or the region parameter. If specified
26
+ # in both, then the region parameter will be used.
27
+ #
28
+ # @param [Config] config A Config object.
29
+ # @param [String] region A region used to determine the service endpoint. This will usually
30
+ # correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.
31
+ #
32
+ def initialize(config:nil, region:nil)
33
+ config ||= OCI.config
34
+ config.validate
35
+
36
+ signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase, private_key_content: config.key_content)
37
+ @api_client = ApiClient.new(config, signer)
38
+
39
+ region ||= config.region
40
+ self.region = region
41
+ end
42
+
43
+ # Set the region that will be used to determine the service endpoint.
44
+ # This will usually correspond to a value in {OCI::Regions::REGION_ENUM},
45
+ # but may be an arbitrary string.
46
+ def region=(r)
47
+ @region = r
48
+
49
+ fail 'A region must be specified.' unless @region
50
+
51
+ @endpoint = OCI::Regions.get_service_endpoint(@region, :IdentityClient) + '/20160918'
52
+ logger.info "IdentityClient endpoint set to '#{endpoint}'." if logger
53
+ end
54
+
55
+ # @return [Logger] The logger for this client. May be nil.
56
+ def logger
57
+ @api_client.config.logger
58
+ end
59
+
60
+
61
+ # Adds the specified user to the specified group and returns a `UserGroupMembership` object with its own OCID.
62
+ #
63
+ # After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the
64
+ # object, first make sure its `lifecycleState` has changed to ACTIVE.
65
+ #
66
+ # @param [AddUserToGroupDetails] add_user_to_group_details Request object for adding a user to a group.
67
+ # @param [Hash] opts the optional parameters
68
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
69
+ # server error without risk of executing that same action again. Retry tokens expire after 24
70
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
71
+ # has been deleted and purged from the system, then a retry of the original creation request
72
+ # may be rejected).
73
+ #
74
+ # @return [Response] A Response object with data of type OCI::Identity::Models::UserGroupMembership
75
+ def add_user_to_group(add_user_to_group_details, opts = {})
76
+ logger.debug "Calling operation IdentityClient#add_user_to_group." if logger
77
+
78
+ fail "Missing the required parameter 'add_user_to_group_details' when calling add_user_to_group." if add_user_to_group_details.nil?
79
+
80
+ path = "/userGroupMemberships/"
81
+
82
+ # Query Params
83
+ query_params = {}
84
+
85
+ # Header Params
86
+ header_params = {}
87
+ header_params['accept'] = 'application/json'
88
+ header_params['content-type'] = 'application/json'
89
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
90
+
91
+ post_body = @api_client.object_to_http_body(add_user_to_group_details)
92
+
93
+ return @api_client.call_api(
94
+ :POST,
95
+ path,
96
+ endpoint,
97
+ :header_params => header_params,
98
+ :query_params => query_params,
99
+ :body => post_body,
100
+ :return_type => 'OCI::Identity::Models::UserGroupMembership')
101
+ end
102
+
103
+ # Creates a new compartment in your tenancy.
104
+ #
105
+ # **Important:** Compartments cannot be renamed or deleted.
106
+ #
107
+ # You must specify your tenancy's OCID as the compartment ID in the request object. Remember that the tenancy
108
+ # is simply the root compartment. For information about OCIDs, see
109
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
110
+ #
111
+ # You must also specify a *name* for the compartment, which must be unique across all compartments in
112
+ # your tenancy and cannot be changed. You can use this name or the OCID when writing policies that apply
113
+ # to the compartment. For more information about policies, see
114
+ # [How Policies Work](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policies.htm).
115
+ #
116
+ # You must also specify a *description* for the compartment (although it can be an empty string). It does
117
+ # not have to be unique, and you can change it anytime with
118
+ # {#update_compartment update_compartment}.
119
+ #
120
+ # After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the
121
+ # object, first make sure its `lifecycleState` has changed to ACTIVE.
122
+ #
123
+ # @param [CreateCompartmentDetails] create_compartment_details Request object for creating a new compartment.
124
+ # @param [Hash] opts the optional parameters
125
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
126
+ # server error without risk of executing that same action again. Retry tokens expire after 24
127
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
128
+ # has been deleted and purged from the system, then a retry of the original creation request
129
+ # may be rejected).
130
+ #
131
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Compartment
132
+ def create_compartment(create_compartment_details, opts = {})
133
+ logger.debug "Calling operation IdentityClient#create_compartment." if logger
134
+
135
+ fail "Missing the required parameter 'create_compartment_details' when calling create_compartment." if create_compartment_details.nil?
136
+
137
+ path = "/compartments/"
138
+
139
+ # Query Params
140
+ query_params = {}
141
+
142
+ # Header Params
143
+ header_params = {}
144
+ header_params['accept'] = 'application/json'
145
+ header_params['content-type'] = 'application/json'
146
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
147
+
148
+ post_body = @api_client.object_to_http_body(create_compartment_details)
149
+
150
+ return @api_client.call_api(
151
+ :POST,
152
+ path,
153
+ endpoint,
154
+ :header_params => header_params,
155
+ :query_params => query_params,
156
+ :body => post_body,
157
+ :return_type => 'OCI::Identity::Models::Compartment')
158
+ end
159
+
160
+ # Creates a new secret key for the specified user. Secret keys are used for authentication with the Object Storage Service's Amazon S3
161
+ # compatible API. For information, see
162
+ # [Managing User Credentials](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Tasks/managingcredentials.htm).
163
+ #
164
+ # You must specify a *description* for the secret key (although it can be an empty string). It does not
165
+ # have to be unique, and you can change it anytime with
166
+ # {#update_customer_secret_key update_customer_secret_key}.
167
+ #
168
+ # Every user has permission to create a secret key for *their own user ID*. An administrator in your organization
169
+ # does not need to write a policy to give users this ability. To compare, administrators who have permission to the
170
+ # tenancy can use this operation to create a secret key for any user, including themselves.
171
+ #
172
+ # @param [CreateCustomerSecretKeyDetails] create_customer_secret_key_details Request object for creating a new secret key.
173
+ # @param [String] user_id The OCID of the user.
174
+ # @param [Hash] opts the optional parameters
175
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
176
+ # server error without risk of executing that same action again. Retry tokens expire after 24
177
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
178
+ # has been deleted and purged from the system, then a retry of the original creation request
179
+ # may be rejected).
180
+ #
181
+ # @return [Response] A Response object with data of type OCI::Identity::Models::CustomerSecretKey
182
+ def create_customer_secret_key(create_customer_secret_key_details, user_id, opts = {})
183
+ logger.debug "Calling operation IdentityClient#create_customer_secret_key." if logger
184
+
185
+ fail "Missing the required parameter 'create_customer_secret_key_details' when calling create_customer_secret_key." if create_customer_secret_key_details.nil?
186
+ fail "Missing the required parameter 'user_id' when calling create_customer_secret_key." if user_id.nil?
187
+
188
+ path = "/users/{userId}/customerSecretKeys/".sub('{userId}', user_id.to_s)
189
+
190
+ # Query Params
191
+ query_params = {}
192
+
193
+ # Header Params
194
+ header_params = {}
195
+ header_params['accept'] = 'application/json'
196
+ header_params['content-type'] = 'application/json'
197
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
198
+
199
+ post_body = @api_client.object_to_http_body(create_customer_secret_key_details)
200
+
201
+ return @api_client.call_api(
202
+ :POST,
203
+ path,
204
+ endpoint,
205
+ :header_params => header_params,
206
+ :query_params => query_params,
207
+ :body => post_body,
208
+ :return_type => 'OCI::Identity::Models::CustomerSecretKey')
209
+ end
210
+
211
+ # Creates a new group in your tenancy.
212
+ #
213
+ # You must specify your tenancy's OCID as the compartment ID in the request object (remember that the tenancy
214
+ # is simply the root compartment). Notice that IAM resources (users, groups, compartments, and some policies)
215
+ # reside within the tenancy itself, unlike cloud resources such as compute instances, which typically
216
+ # reside within compartments inside the tenancy. For information about OCIDs, see
217
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
218
+ #
219
+ # You must also specify a *name* for the group, which must be unique across all groups in your tenancy and
220
+ # cannot be changed. You can use this name or the OCID when writing policies that apply to the group. For more
221
+ # information about policies, see [How Policies Work](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policies.htm).
222
+ #
223
+ # You must also specify a *description* for the group (although it can be an empty string). It does not
224
+ # have to be unique, and you can change it anytime with {#update_group update_group}.
225
+ #
226
+ # After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the
227
+ # object, first make sure its `lifecycleState` has changed to ACTIVE.
228
+ #
229
+ # After creating the group, you need to put users in it and write policies for it.
230
+ # See {#add_user_to_group add_user_to_group} and
231
+ # {#create_policy create_policy}.
232
+ #
233
+ # @param [CreateGroupDetails] create_group_details Request object for creating a new group.
234
+ # @param [Hash] opts the optional parameters
235
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
236
+ # server error without risk of executing that same action again. Retry tokens expire after 24
237
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
238
+ # has been deleted and purged from the system, then a retry of the original creation request
239
+ # may be rejected).
240
+ #
241
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Group
242
+ def create_group(create_group_details, opts = {})
243
+ logger.debug "Calling operation IdentityClient#create_group." if logger
244
+
245
+ fail "Missing the required parameter 'create_group_details' when calling create_group." if create_group_details.nil?
246
+
247
+ path = "/groups/"
248
+
249
+ # Query Params
250
+ query_params = {}
251
+
252
+ # Header Params
253
+ header_params = {}
254
+ header_params['accept'] = 'application/json'
255
+ header_params['content-type'] = 'application/json'
256
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
257
+
258
+ post_body = @api_client.object_to_http_body(create_group_details)
259
+
260
+ return @api_client.call_api(
261
+ :POST,
262
+ path,
263
+ endpoint,
264
+ :header_params => header_params,
265
+ :query_params => query_params,
266
+ :body => post_body,
267
+ :return_type => 'OCI::Identity::Models::Group')
268
+ end
269
+
270
+ # Creates a new identity provider in your tenancy. For more information, see
271
+ # [Identity Providers and Federation](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/federation.htm).
272
+ #
273
+ # You must specify your tenancy's OCID as the compartment ID in the request object.
274
+ # Remember that the tenancy is simply the root compartment. For information about
275
+ # OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
276
+ #
277
+ # You must also specify a *name* for the `IdentityProvider`, which must be unique
278
+ # across all `IdentityProvider` objects in your tenancy and cannot be changed.
279
+ #
280
+ # You must also specify a *description* for the `IdentityProvider` (although
281
+ # it can be an empty string). It does not have to be unique, and you can change
282
+ # it anytime with
283
+ # {#update_identity_provider update_identity_provider}.
284
+ #
285
+ # After you send your request, the new object's `lifecycleState` will temporarily
286
+ # be CREATING. Before using the object, first make sure its `lifecycleState` has
287
+ # changed to ACTIVE.
288
+ #
289
+ # @param [CreateIdentityProviderDetails] create_identity_provider_details Request object for creating a new SAML2 identity provider.
290
+ # @param [Hash] opts the optional parameters
291
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
292
+ # server error without risk of executing that same action again. Retry tokens expire after 24
293
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
294
+ # has been deleted and purged from the system, then a retry of the original creation request
295
+ # may be rejected).
296
+ #
297
+ # @return [Response] A Response object with data of type OCI::Identity::Models::IdentityProvider
298
+ def create_identity_provider(create_identity_provider_details, opts = {})
299
+ logger.debug "Calling operation IdentityClient#create_identity_provider." if logger
300
+
301
+ fail "Missing the required parameter 'create_identity_provider_details' when calling create_identity_provider." if create_identity_provider_details.nil?
302
+
303
+ path = "/identityProviders/"
304
+
305
+ # Query Params
306
+ query_params = {}
307
+
308
+ # Header Params
309
+ header_params = {}
310
+ header_params['accept'] = 'application/json'
311
+ header_params['content-type'] = 'application/json'
312
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
313
+
314
+ post_body = @api_client.object_to_http_body(create_identity_provider_details)
315
+
316
+ return @api_client.call_api(
317
+ :POST,
318
+ path,
319
+ endpoint,
320
+ :header_params => header_params,
321
+ :query_params => query_params,
322
+ :body => post_body,
323
+ :return_type => 'OCI::Identity::Models::IdentityProvider')
324
+ end
325
+
326
+ # Creates a single mapping between an IdP group and an IAM Service
327
+ # {Group}.
328
+ #
329
+ # @param [CreateIdpGroupMappingDetails] create_idp_group_mapping_details Add a mapping from an SAML2.0 identity provider group to a BMC group.
330
+ # @param [String] identity_provider_id The OCID of the identity provider.
331
+ # @param [Hash] opts the optional parameters
332
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
333
+ # server error without risk of executing that same action again. Retry tokens expire after 24
334
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
335
+ # has been deleted and purged from the system, then a retry of the original creation request
336
+ # may be rejected).
337
+ #
338
+ # @return [Response] A Response object with data of type OCI::Identity::Models::IdpGroupMapping
339
+ def create_idp_group_mapping(create_idp_group_mapping_details, identity_provider_id, opts = {})
340
+ logger.debug "Calling operation IdentityClient#create_idp_group_mapping." if logger
341
+
342
+ fail "Missing the required parameter 'create_idp_group_mapping_details' when calling create_idp_group_mapping." if create_idp_group_mapping_details.nil?
343
+ fail "Missing the required parameter 'identity_provider_id' when calling create_idp_group_mapping." if identity_provider_id.nil?
344
+
345
+ path = "/identityProviders/{identityProviderId}/groupMappings/".sub('{identityProviderId}', identity_provider_id.to_s)
346
+
347
+ # Query Params
348
+ query_params = {}
349
+
350
+ # Header Params
351
+ header_params = {}
352
+ header_params['accept'] = 'application/json'
353
+ header_params['content-type'] = 'application/json'
354
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
355
+
356
+ post_body = @api_client.object_to_http_body(create_idp_group_mapping_details)
357
+
358
+ return @api_client.call_api(
359
+ :POST,
360
+ path,
361
+ endpoint,
362
+ :header_params => header_params,
363
+ :query_params => query_params,
364
+ :body => post_body,
365
+ :return_type => 'OCI::Identity::Models::IdpGroupMapping')
366
+ end
367
+
368
+ # Creates a new Console one-time password for the specified user. For more information about user
369
+ # credentials, see [User Credentials](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/usercredentials.htm).
370
+ #
371
+ # Use this operation after creating a new user, or if a user forgets their password. The new one-time
372
+ # password is returned to you in the response, and you must securely deliver it to the user. They'll
373
+ # be prompted to change this password the next time they sign in to the Console. If they don't change
374
+ # it within 7 days, the password will expire and you'll need to create a new one-time password for the
375
+ # user.
376
+ #
377
+ # **Note:** The user's Console login is the unique name you specified when you created the user
378
+ # (see {#create_user create_user}).
379
+ #
380
+ # @param [String] user_id The OCID of the user.
381
+ # @param [Hash] opts the optional parameters
382
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
383
+ # server error without risk of executing that same action again. Retry tokens expire after 24
384
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
385
+ # has been deleted and purged from the system, then a retry of the original creation request
386
+ # may be rejected).
387
+ #
388
+ # @return [Response] A Response object with data of type OCI::Identity::Models::UIPassword
389
+ def create_or_reset_ui_password(user_id, opts = {})
390
+ logger.debug "Calling operation IdentityClient#create_or_reset_ui_password." if logger
391
+
392
+ fail "Missing the required parameter 'user_id' when calling create_or_reset_ui_password." if user_id.nil?
393
+
394
+ path = "/users/{userId}/uiPassword".sub('{userId}', user_id.to_s)
395
+
396
+ # Query Params
397
+ query_params = {}
398
+
399
+ # Header Params
400
+ header_params = {}
401
+ header_params['accept'] = 'application/json'
402
+ header_params['content-type'] = 'application/json'
403
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
404
+
405
+ post_body = nil
406
+
407
+ return @api_client.call_api(
408
+ :POST,
409
+ path,
410
+ endpoint,
411
+ :header_params => header_params,
412
+ :query_params => query_params,
413
+ :body => post_body,
414
+ :return_type => 'OCI::Identity::Models::UIPassword')
415
+ end
416
+
417
+ # Creates a new policy in the specified compartment (either the tenancy or another of your compartments).
418
+ # If you're new to policies, see [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).
419
+ #
420
+ # You must specify a *name* for the policy, which must be unique across all policies in your tenancy
421
+ # and cannot be changed.
422
+ #
423
+ # You must also specify a *description* for the policy (although it can be an empty string). It does not
424
+ # have to be unique, and you can change it anytime with {#update_policy update_policy}.
425
+ #
426
+ # You must specify one or more policy statements in the statements array. For information about writing
427
+ # policies, see [How Policies Work](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policies.htm) and
428
+ # [Common Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/commonpolicies.htm).
429
+ #
430
+ # After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the
431
+ # object, first make sure its `lifecycleState` has changed to ACTIVE.
432
+ #
433
+ # New policies take effect typically within 10 seconds.
434
+ #
435
+ # @param [CreatePolicyDetails] create_policy_details Request object for creating a new policy.
436
+ # @param [Hash] opts the optional parameters
437
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
438
+ # server error without risk of executing that same action again. Retry tokens expire after 24
439
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
440
+ # has been deleted and purged from the system, then a retry of the original creation request
441
+ # may be rejected).
442
+ #
443
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Policy
444
+ def create_policy(create_policy_details, opts = {})
445
+ logger.debug "Calling operation IdentityClient#create_policy." if logger
446
+
447
+ fail "Missing the required parameter 'create_policy_details' when calling create_policy." if create_policy_details.nil?
448
+
449
+ path = "/policies/"
450
+
451
+ # Query Params
452
+ query_params = {}
453
+
454
+ # Header Params
455
+ header_params = {}
456
+ header_params['accept'] = 'application/json'
457
+ header_params['content-type'] = 'application/json'
458
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
459
+
460
+ post_body = @api_client.object_to_http_body(create_policy_details)
461
+
462
+ return @api_client.call_api(
463
+ :POST,
464
+ path,
465
+ endpoint,
466
+ :header_params => header_params,
467
+ :query_params => query_params,
468
+ :body => post_body,
469
+ :return_type => 'OCI::Identity::Models::Policy')
470
+ end
471
+
472
+ # Creates a subscription to a region for a tenancy.
473
+ #
474
+ # @param [CreateRegionSubscriptionDetails] create_region_subscription_details Request object for activate a new region.
475
+ # @param [String] tenancy_id The OCID of the tenancy.
476
+ # @param [Hash] opts the optional parameters
477
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
478
+ # server error without risk of executing that same action again. Retry tokens expire after 24
479
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
480
+ # has been deleted and purged from the system, then a retry of the original creation request
481
+ # may be rejected).
482
+ #
483
+ # @return [Response] A Response object with data of type OCI::Identity::Models::RegionSubscription
484
+ def create_region_subscription(create_region_subscription_details, tenancy_id, opts = {})
485
+ logger.debug "Calling operation IdentityClient#create_region_subscription." if logger
486
+
487
+ fail "Missing the required parameter 'create_region_subscription_details' when calling create_region_subscription." if create_region_subscription_details.nil?
488
+ fail "Missing the required parameter 'tenancy_id' when calling create_region_subscription." if tenancy_id.nil?
489
+
490
+ path = "/tenancies/{tenancyId}/regionSubscriptions".sub('{tenancyId}', tenancy_id.to_s)
491
+
492
+ # Query Params
493
+ query_params = {}
494
+
495
+ # Header Params
496
+ header_params = {}
497
+ header_params['accept'] = 'application/json'
498
+ header_params['content-type'] = 'application/json'
499
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
500
+
501
+ post_body = @api_client.object_to_http_body(create_region_subscription_details)
502
+
503
+ return @api_client.call_api(
504
+ :POST,
505
+ path,
506
+ endpoint,
507
+ :header_params => header_params,
508
+ :query_params => query_params,
509
+ :body => post_body,
510
+ :return_type => 'OCI::Identity::Models::RegionSubscription')
511
+ end
512
+
513
+ # Creates a new Swift password for the specified user. For information about what Swift passwords are for, see
514
+ # [Managing User Credentials](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Tasks/managingcredentials.htm).
515
+ #
516
+ # You must specify a *description* for the Swift password (although it can be an empty string). It does not
517
+ # have to be unique, and you can change it anytime with
518
+ # {#update_swift_password update_swift_password}.
519
+ #
520
+ # Every user has permission to create a Swift password for *their own user ID*. An administrator in your organization
521
+ # does not need to write a policy to give users this ability. To compare, administrators who have permission to the
522
+ # tenancy can use this operation to create a Swift password for any user, including themselves.
523
+ #
524
+ # @param [CreateSwiftPasswordDetails] create_swift_password_details Request object for creating a new swift password.
525
+ # @param [String] user_id The OCID of the user.
526
+ # @param [Hash] opts the optional parameters
527
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
528
+ # server error without risk of executing that same action again. Retry tokens expire after 24
529
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
530
+ # has been deleted and purged from the system, then a retry of the original creation request
531
+ # may be rejected).
532
+ #
533
+ # @return [Response] A Response object with data of type OCI::Identity::Models::SwiftPassword
534
+ def create_swift_password(create_swift_password_details, user_id, opts = {})
535
+ logger.debug "Calling operation IdentityClient#create_swift_password." if logger
536
+
537
+ fail "Missing the required parameter 'create_swift_password_details' when calling create_swift_password." if create_swift_password_details.nil?
538
+ fail "Missing the required parameter 'user_id' when calling create_swift_password." if user_id.nil?
539
+
540
+ path = "/users/{userId}/swiftPasswords/".sub('{userId}', user_id.to_s)
541
+
542
+ # Query Params
543
+ query_params = {}
544
+
545
+ # Header Params
546
+ header_params = {}
547
+ header_params['accept'] = 'application/json'
548
+ header_params['content-type'] = 'application/json'
549
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
550
+
551
+ post_body = @api_client.object_to_http_body(create_swift_password_details)
552
+
553
+ return @api_client.call_api(
554
+ :POST,
555
+ path,
556
+ endpoint,
557
+ :header_params => header_params,
558
+ :query_params => query_params,
559
+ :body => post_body,
560
+ :return_type => 'OCI::Identity::Models::SwiftPassword')
561
+ end
562
+
563
+ # Creates a new user in your tenancy. For conceptual information about users, your tenancy, and other
564
+ # IAM Service components, see [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
565
+ #
566
+ # You must specify your tenancy's OCID as the compartment ID in the request object (remember that the
567
+ # tenancy is simply the root compartment). Notice that IAM resources (users, groups, compartments, and
568
+ # some policies) reside within the tenancy itself, unlike cloud resources such as compute instances,
569
+ # which typically reside within compartments inside the tenancy. For information about OCIDs, see
570
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
571
+ #
572
+ # You must also specify a *name* for the user, which must be unique across all users in your tenancy
573
+ # and cannot be changed. Allowed characters: No spaces. Only letters, numerals, hyphens, periods,
574
+ # underscores, +, and @. If you specify a name that's already in use, you'll get a 409 error.
575
+ # This name will be the user's login to the Console. You might want to pick a
576
+ # name that your company's own identity system (e.g., Active Directory, LDAP, etc.) already uses.
577
+ # If you delete a user and then create a new user with the same name, they'll be considered different
578
+ # users because they have different OCIDs.
579
+ #
580
+ # You must also specify a *description* for the user (although it can be an empty string).
581
+ # It does not have to be unique, and you can change it anytime with
582
+ # {#update_user update_user}. You can use the field to provide the user's
583
+ # full name, a description, a nickname, or other information to generally identify the user.
584
+ #
585
+ # After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before
586
+ # using the object, first make sure its `lifecycleState` has changed to ACTIVE.
587
+ #
588
+ # A new user has no permissions until you place the user in one or more groups (see
589
+ # {#add_user_to_group add_user_to_group}). If the user needs to
590
+ # access the Console, you need to provide the user a password (see
591
+ # {#create_or_reset_ui_password create_or_reset_ui_password}).
592
+ # If the user needs to access the Oracle Bare Metal Cloud Services REST API, you need to upload a
593
+ # public API signing key for that user (see
594
+ # [Required Keys and OCIDs](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm) and also
595
+ # {#upload_api_key upload_api_key}).
596
+ #
597
+ # **Important:** Make sure to inform the new user which compartment(s) they have access to.
598
+ #
599
+ # @param [CreateUserDetails] create_user_details Request object for creating a new user.
600
+ # @param [Hash] opts the optional parameters
601
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
602
+ # server error without risk of executing that same action again. Retry tokens expire after 24
603
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
604
+ # has been deleted and purged from the system, then a retry of the original creation request
605
+ # may be rejected).
606
+ #
607
+ # @return [Response] A Response object with data of type OCI::Identity::Models::User
608
+ def create_user(create_user_details, opts = {})
609
+ logger.debug "Calling operation IdentityClient#create_user." if logger
610
+
611
+ fail "Missing the required parameter 'create_user_details' when calling create_user." if create_user_details.nil?
612
+
613
+ path = "/users/"
614
+
615
+ # Query Params
616
+ query_params = {}
617
+
618
+ # Header Params
619
+ header_params = {}
620
+ header_params['accept'] = 'application/json'
621
+ header_params['content-type'] = 'application/json'
622
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
623
+
624
+ post_body = @api_client.object_to_http_body(create_user_details)
625
+
626
+ return @api_client.call_api(
627
+ :POST,
628
+ path,
629
+ endpoint,
630
+ :header_params => header_params,
631
+ :query_params => query_params,
632
+ :body => post_body,
633
+ :return_type => 'OCI::Identity::Models::User')
634
+ end
635
+
636
+ # Deletes the specified API signing key for the specified user.
637
+ #
638
+ # Every user has permission to use this operation to delete a key for *their own user ID*. An
639
+ # administrator in your organization does not need to write a policy to give users this ability.
640
+ # To compare, administrators who have permission to the tenancy can use this operation to delete
641
+ # a key for any user, including themselves.
642
+ #
643
+ # @param [String] user_id The OCID of the user.
644
+ # @param [String] fingerprint The key's fingerprint.
645
+ # @param [Hash] opts the optional parameters
646
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
647
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
648
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
649
+ #
650
+ # @return [Response] A Response object with data of type nil
651
+ def delete_api_key(user_id, fingerprint, opts = {})
652
+ logger.debug "Calling operation IdentityClient#delete_api_key." if logger
653
+
654
+ fail "Missing the required parameter 'user_id' when calling delete_api_key." if user_id.nil?
655
+ fail "Missing the required parameter 'fingerprint' when calling delete_api_key." if fingerprint.nil?
656
+
657
+ path = "/users/{userId}/apiKeys/{fingerprint}".sub('{userId}', user_id.to_s).sub('{fingerprint}', fingerprint.to_s)
658
+
659
+ # Query Params
660
+ query_params = {}
661
+
662
+ # Header Params
663
+ header_params = {}
664
+ header_params['accept'] = 'application/json'
665
+ header_params['content-type'] = 'application/json'
666
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
667
+
668
+ post_body = nil
669
+
670
+ return @api_client.call_api(
671
+ :DELETE,
672
+ path,
673
+ endpoint,
674
+ :header_params => header_params,
675
+ :query_params => query_params,
676
+ :body => post_body)
677
+ end
678
+
679
+ # Deletes the specified secret key for the specified user.
680
+ #
681
+ # @param [String] user_id The OCID of the user.
682
+ # @param [String] customer_secret_key_id The OCID of the secret key.
683
+ # @param [Hash] opts the optional parameters
684
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
685
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
686
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
687
+ #
688
+ # @return [Response] A Response object with data of type nil
689
+ def delete_customer_secret_key(user_id, customer_secret_key_id, opts = {})
690
+ logger.debug "Calling operation IdentityClient#delete_customer_secret_key." if logger
691
+
692
+ fail "Missing the required parameter 'user_id' when calling delete_customer_secret_key." if user_id.nil?
693
+ fail "Missing the required parameter 'customer_secret_key_id' when calling delete_customer_secret_key." if customer_secret_key_id.nil?
694
+
695
+ path = "/users/{userId}/customerSecretKeys/{customerSecretKeyId}".sub('{userId}', user_id.to_s).sub('{customerSecretKeyId}', customer_secret_key_id.to_s)
696
+
697
+ # Query Params
698
+ query_params = {}
699
+
700
+ # Header Params
701
+ header_params = {}
702
+ header_params['accept'] = 'application/json'
703
+ header_params['content-type'] = 'application/json'
704
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
705
+
706
+ post_body = nil
707
+
708
+ return @api_client.call_api(
709
+ :DELETE,
710
+ path,
711
+ endpoint,
712
+ :header_params => header_params,
713
+ :query_params => query_params,
714
+ :body => post_body)
715
+ end
716
+
717
+ # Deletes the specified group. The group must be empty.
718
+ #
719
+ # @param [String] group_id The OCID of the group.
720
+ # @param [Hash] opts the optional parameters
721
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
722
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
723
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
724
+ #
725
+ # @return [Response] A Response object with data of type nil
726
+ def delete_group(group_id, opts = {})
727
+ logger.debug "Calling operation IdentityClient#delete_group." if logger
728
+
729
+ fail "Missing the required parameter 'group_id' when calling delete_group." if group_id.nil?
730
+
731
+ path = "/groups/{groupId}".sub('{groupId}', group_id.to_s)
732
+
733
+ # Query Params
734
+ query_params = {}
735
+
736
+ # Header Params
737
+ header_params = {}
738
+ header_params['accept'] = 'application/json'
739
+ header_params['content-type'] = 'application/json'
740
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
741
+
742
+ post_body = nil
743
+
744
+ return @api_client.call_api(
745
+ :DELETE,
746
+ path,
747
+ endpoint,
748
+ :header_params => header_params,
749
+ :query_params => query_params,
750
+ :body => post_body)
751
+ end
752
+
753
+ # Deletes the specified identity provider. The identity provider must not have
754
+ # any group mappings (see {IdpGroupMapping}).
755
+ #
756
+ # @param [String] identity_provider_id The OCID of the identity provider.
757
+ # @param [Hash] opts the optional parameters
758
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
759
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
760
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
761
+ #
762
+ # @return [Response] A Response object with data of type nil
763
+ def delete_identity_provider(identity_provider_id, opts = {})
764
+ logger.debug "Calling operation IdentityClient#delete_identity_provider." if logger
765
+
766
+ fail "Missing the required parameter 'identity_provider_id' when calling delete_identity_provider." if identity_provider_id.nil?
767
+
768
+ path = "/identityProviders/{identityProviderId}".sub('{identityProviderId}', identity_provider_id.to_s)
769
+
770
+ # Query Params
771
+ query_params = {}
772
+
773
+ # Header Params
774
+ header_params = {}
775
+ header_params['accept'] = 'application/json'
776
+ header_params['content-type'] = 'application/json'
777
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
778
+
779
+ post_body = nil
780
+
781
+ return @api_client.call_api(
782
+ :DELETE,
783
+ path,
784
+ endpoint,
785
+ :header_params => header_params,
786
+ :query_params => query_params,
787
+ :body => post_body)
788
+ end
789
+
790
+ # Deletes the specified group mapping.
791
+ # @param [String] identity_provider_id The OCID of the identity provider.
792
+ # @param [String] mapping_id The OCID of the group mapping.
793
+ # @param [Hash] opts the optional parameters
794
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
795
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
796
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
797
+ #
798
+ # @return [Response] A Response object with data of type nil
799
+ def delete_idp_group_mapping(identity_provider_id, mapping_id, opts = {})
800
+ logger.debug "Calling operation IdentityClient#delete_idp_group_mapping." if logger
801
+
802
+ fail "Missing the required parameter 'identity_provider_id' when calling delete_idp_group_mapping." if identity_provider_id.nil?
803
+ fail "Missing the required parameter 'mapping_id' when calling delete_idp_group_mapping." if mapping_id.nil?
804
+
805
+ path = "/identityProviders/{identityProviderId}/groupMappings/{mappingId}".sub('{identityProviderId}', identity_provider_id.to_s).sub('{mappingId}', mapping_id.to_s)
806
+
807
+ # Query Params
808
+ query_params = {}
809
+
810
+ # Header Params
811
+ header_params = {}
812
+ header_params['accept'] = 'application/json'
813
+ header_params['content-type'] = 'application/json'
814
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
815
+
816
+ post_body = nil
817
+
818
+ return @api_client.call_api(
819
+ :DELETE,
820
+ path,
821
+ endpoint,
822
+ :header_params => header_params,
823
+ :query_params => query_params,
824
+ :body => post_body)
825
+ end
826
+
827
+ # Deletes the specified policy. The deletion takes effect typically within 10 seconds.
828
+ # @param [String] policy_id The OCID of the policy.
829
+ # @param [Hash] opts the optional parameters
830
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
831
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
832
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
833
+ #
834
+ # @return [Response] A Response object with data of type nil
835
+ def delete_policy(policy_id, opts = {})
836
+ logger.debug "Calling operation IdentityClient#delete_policy." if logger
837
+
838
+ fail "Missing the required parameter 'policy_id' when calling delete_policy." if policy_id.nil?
839
+
840
+ path = "/policies/{policyId}".sub('{policyId}', policy_id.to_s)
841
+
842
+ # Query Params
843
+ query_params = {}
844
+
845
+ # Header Params
846
+ header_params = {}
847
+ header_params['accept'] = 'application/json'
848
+ header_params['content-type'] = 'application/json'
849
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
850
+
851
+ post_body = nil
852
+
853
+ return @api_client.call_api(
854
+ :DELETE,
855
+ path,
856
+ endpoint,
857
+ :header_params => header_params,
858
+ :query_params => query_params,
859
+ :body => post_body)
860
+ end
861
+
862
+ # Deletes the specified Swift password for the specified user.
863
+ #
864
+ # @param [String] user_id The OCID of the user.
865
+ # @param [String] swift_password_id The OCID of the Swift password.
866
+ # @param [Hash] opts the optional parameters
867
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
868
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
869
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
870
+ #
871
+ # @return [Response] A Response object with data of type nil
872
+ def delete_swift_password(user_id, swift_password_id, opts = {})
873
+ logger.debug "Calling operation IdentityClient#delete_swift_password." if logger
874
+
875
+ fail "Missing the required parameter 'user_id' when calling delete_swift_password." if user_id.nil?
876
+ fail "Missing the required parameter 'swift_password_id' when calling delete_swift_password." if swift_password_id.nil?
877
+
878
+ path = "/users/{userId}/swiftPasswords/{swiftPasswordId}".sub('{userId}', user_id.to_s).sub('{swiftPasswordId}', swift_password_id.to_s)
879
+
880
+ # Query Params
881
+ query_params = {}
882
+
883
+ # Header Params
884
+ header_params = {}
885
+ header_params['accept'] = 'application/json'
886
+ header_params['content-type'] = 'application/json'
887
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
888
+
889
+ post_body = nil
890
+
891
+ return @api_client.call_api(
892
+ :DELETE,
893
+ path,
894
+ endpoint,
895
+ :header_params => header_params,
896
+ :query_params => query_params,
897
+ :body => post_body)
898
+ end
899
+
900
+ # Deletes the specified user. The user must not be in any groups.
901
+ # @param [String] user_id The OCID of the user.
902
+ # @param [Hash] opts the optional parameters
903
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
904
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
905
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
906
+ #
907
+ # @return [Response] A Response object with data of type nil
908
+ def delete_user(user_id, opts = {})
909
+ logger.debug "Calling operation IdentityClient#delete_user." if logger
910
+
911
+ fail "Missing the required parameter 'user_id' when calling delete_user." if user_id.nil?
912
+
913
+ path = "/users/{userId}".sub('{userId}', user_id.to_s)
914
+
915
+ # Query Params
916
+ query_params = {}
917
+
918
+ # Header Params
919
+ header_params = {}
920
+ header_params['accept'] = 'application/json'
921
+ header_params['content-type'] = 'application/json'
922
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
923
+
924
+ post_body = nil
925
+
926
+ return @api_client.call_api(
927
+ :DELETE,
928
+ path,
929
+ endpoint,
930
+ :header_params => header_params,
931
+ :query_params => query_params,
932
+ :body => post_body)
933
+ end
934
+
935
+ # Gets the specified compartment's information.
936
+ #
937
+ # This operation does not return a list of all the resources inside the compartment. There is no single
938
+ # API operation that does that. Compartments can contain multiple types of resources (instances, block
939
+ # storage volumes, etc.). To find out what's in a compartment, you must call the \"List\" operation for
940
+ # each resource type and specify the compartment's OCID as a query parameter in the request. For example,
941
+ # call the {#list_instances list_instances} operation in the Cloud Compute
942
+ # Service or the {#list_volumes list_volumes} operation in Cloud Block Storage.
943
+ #
944
+ # @param [String] compartment_id The OCID of the compartment.
945
+ # @param [Hash] opts the optional parameters
946
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Compartment
947
+ def get_compartment(compartment_id, opts = {})
948
+ logger.debug "Calling operation IdentityClient#get_compartment." if logger
949
+
950
+ fail "Missing the required parameter 'compartment_id' when calling get_compartment." if compartment_id.nil?
951
+
952
+ path = "/compartments/{compartmentId}".sub('{compartmentId}', compartment_id.to_s)
953
+
954
+ # Query Params
955
+ query_params = {}
956
+
957
+ # Header Params
958
+ header_params = {}
959
+ header_params['accept'] = 'application/json'
960
+ header_params['content-type'] = 'application/json'
961
+
962
+ post_body = nil
963
+
964
+ return @api_client.call_api(
965
+ :GET,
966
+ path,
967
+ endpoint,
968
+ :header_params => header_params,
969
+ :query_params => query_params,
970
+ :body => post_body,
971
+ :return_type => 'OCI::Identity::Models::Compartment')
972
+ end
973
+
974
+ # Gets the specified group's information.
975
+ #
976
+ # This operation does not return a list of all the users in the group. To do that, use
977
+ # {#list_user_group_memberships list_user_group_memberships} and
978
+ # provide the group's OCID as a query parameter in the request.
979
+ #
980
+ # @param [String] group_id The OCID of the group.
981
+ # @param [Hash] opts the optional parameters
982
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Group
983
+ def get_group(group_id, opts = {})
984
+ logger.debug "Calling operation IdentityClient#get_group." if logger
985
+
986
+ fail "Missing the required parameter 'group_id' when calling get_group." if group_id.nil?
987
+
988
+ path = "/groups/{groupId}".sub('{groupId}', group_id.to_s)
989
+
990
+ # Query Params
991
+ query_params = {}
992
+
993
+ # Header Params
994
+ header_params = {}
995
+ header_params['accept'] = 'application/json'
996
+ header_params['content-type'] = 'application/json'
997
+
998
+ post_body = nil
999
+
1000
+ return @api_client.call_api(
1001
+ :GET,
1002
+ path,
1003
+ endpoint,
1004
+ :header_params => header_params,
1005
+ :query_params => query_params,
1006
+ :body => post_body,
1007
+ :return_type => 'OCI::Identity::Models::Group')
1008
+ end
1009
+
1010
+ # Gets the specified identity provider's information.
1011
+ # @param [String] identity_provider_id The OCID of the identity provider.
1012
+ # @param [Hash] opts the optional parameters
1013
+ # @return [Response] A Response object with data of type OCI::Identity::Models::IdentityProvider
1014
+ def get_identity_provider(identity_provider_id, opts = {})
1015
+ logger.debug "Calling operation IdentityClient#get_identity_provider." if logger
1016
+
1017
+ fail "Missing the required parameter 'identity_provider_id' when calling get_identity_provider." if identity_provider_id.nil?
1018
+
1019
+ path = "/identityProviders/{identityProviderId}".sub('{identityProviderId}', identity_provider_id.to_s)
1020
+
1021
+ # Query Params
1022
+ query_params = {}
1023
+
1024
+ # Header Params
1025
+ header_params = {}
1026
+ header_params['accept'] = 'application/json'
1027
+ header_params['content-type'] = 'application/json'
1028
+
1029
+ post_body = nil
1030
+
1031
+ return @api_client.call_api(
1032
+ :GET,
1033
+ path,
1034
+ endpoint,
1035
+ :header_params => header_params,
1036
+ :query_params => query_params,
1037
+ :body => post_body,
1038
+ :return_type => 'OCI::Identity::Models::IdentityProvider')
1039
+ end
1040
+
1041
+ # Gets the specified group mapping.
1042
+ # @param [String] identity_provider_id The OCID of the identity provider.
1043
+ # @param [String] mapping_id The OCID of the group mapping.
1044
+ # @param [Hash] opts the optional parameters
1045
+ # @return [Response] A Response object with data of type OCI::Identity::Models::IdpGroupMapping
1046
+ def get_idp_group_mapping(identity_provider_id, mapping_id, opts = {})
1047
+ logger.debug "Calling operation IdentityClient#get_idp_group_mapping." if logger
1048
+
1049
+ fail "Missing the required parameter 'identity_provider_id' when calling get_idp_group_mapping." if identity_provider_id.nil?
1050
+ fail "Missing the required parameter 'mapping_id' when calling get_idp_group_mapping." if mapping_id.nil?
1051
+
1052
+ path = "/identityProviders/{identityProviderId}/groupMappings/{mappingId}".sub('{identityProviderId}', identity_provider_id.to_s).sub('{mappingId}', mapping_id.to_s)
1053
+
1054
+ # Query Params
1055
+ query_params = {}
1056
+
1057
+ # Header Params
1058
+ header_params = {}
1059
+ header_params['accept'] = 'application/json'
1060
+ header_params['content-type'] = 'application/json'
1061
+
1062
+ post_body = nil
1063
+
1064
+ return @api_client.call_api(
1065
+ :GET,
1066
+ path,
1067
+ endpoint,
1068
+ :header_params => header_params,
1069
+ :query_params => query_params,
1070
+ :body => post_body,
1071
+ :return_type => 'OCI::Identity::Models::IdpGroupMapping')
1072
+ end
1073
+
1074
+ # Gets the specified policy's information.
1075
+ # @param [String] policy_id The OCID of the policy.
1076
+ # @param [Hash] opts the optional parameters
1077
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Policy
1078
+ def get_policy(policy_id, opts = {})
1079
+ logger.debug "Calling operation IdentityClient#get_policy." if logger
1080
+
1081
+ fail "Missing the required parameter 'policy_id' when calling get_policy." if policy_id.nil?
1082
+
1083
+ path = "/policies/{policyId}".sub('{policyId}', policy_id.to_s)
1084
+
1085
+ # Query Params
1086
+ query_params = {}
1087
+
1088
+ # Header Params
1089
+ header_params = {}
1090
+ header_params['accept'] = 'application/json'
1091
+ header_params['content-type'] = 'application/json'
1092
+
1093
+ post_body = nil
1094
+
1095
+ return @api_client.call_api(
1096
+ :GET,
1097
+ path,
1098
+ endpoint,
1099
+ :header_params => header_params,
1100
+ :query_params => query_params,
1101
+ :body => post_body,
1102
+ :return_type => 'OCI::Identity::Models::Policy')
1103
+ end
1104
+
1105
+ # Get the specified tenancy's information.
1106
+ # @param [String] tenancy_id The OCID of the tenancy.
1107
+ # @param [Hash] opts the optional parameters
1108
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Tenancy
1109
+ def get_tenancy(tenancy_id, opts = {})
1110
+ logger.debug "Calling operation IdentityClient#get_tenancy." if logger
1111
+
1112
+ fail "Missing the required parameter 'tenancy_id' when calling get_tenancy." if tenancy_id.nil?
1113
+
1114
+ path = "/tenancies/{tenancyId}".sub('{tenancyId}', tenancy_id.to_s)
1115
+
1116
+ # Query Params
1117
+ query_params = {}
1118
+
1119
+ # Header Params
1120
+ header_params = {}
1121
+ header_params['accept'] = 'application/json'
1122
+ header_params['content-type'] = 'application/json'
1123
+
1124
+ post_body = nil
1125
+
1126
+ return @api_client.call_api(
1127
+ :GET,
1128
+ path,
1129
+ endpoint,
1130
+ :header_params => header_params,
1131
+ :query_params => query_params,
1132
+ :body => post_body,
1133
+ :return_type => 'OCI::Identity::Models::Tenancy')
1134
+ end
1135
+
1136
+ # Gets the specified user's information.
1137
+ # @param [String] user_id The OCID of the user.
1138
+ # @param [Hash] opts the optional parameters
1139
+ # @return [Response] A Response object with data of type OCI::Identity::Models::User
1140
+ def get_user(user_id, opts = {})
1141
+ logger.debug "Calling operation IdentityClient#get_user." if logger
1142
+
1143
+ fail "Missing the required parameter 'user_id' when calling get_user." if user_id.nil?
1144
+
1145
+ path = "/users/{userId}".sub('{userId}', user_id.to_s)
1146
+
1147
+ # Query Params
1148
+ query_params = {}
1149
+
1150
+ # Header Params
1151
+ header_params = {}
1152
+ header_params['accept'] = 'application/json'
1153
+ header_params['content-type'] = 'application/json'
1154
+
1155
+ post_body = nil
1156
+
1157
+ return @api_client.call_api(
1158
+ :GET,
1159
+ path,
1160
+ endpoint,
1161
+ :header_params => header_params,
1162
+ :query_params => query_params,
1163
+ :body => post_body,
1164
+ :return_type => 'OCI::Identity::Models::User')
1165
+ end
1166
+
1167
+ # Gets the specified UserGroupMembership's information.
1168
+ # @param [String] user_group_membership_id The OCID of the userGroupMembership.
1169
+ # @param [Hash] opts the optional parameters
1170
+ # @return [Response] A Response object with data of type OCI::Identity::Models::UserGroupMembership
1171
+ def get_user_group_membership(user_group_membership_id, opts = {})
1172
+ logger.debug "Calling operation IdentityClient#get_user_group_membership." if logger
1173
+
1174
+ fail "Missing the required parameter 'user_group_membership_id' when calling get_user_group_membership." if user_group_membership_id.nil?
1175
+
1176
+ path = "/userGroupMemberships/{userGroupMembershipId}".sub('{userGroupMembershipId}', user_group_membership_id.to_s)
1177
+
1178
+ # Query Params
1179
+ query_params = {}
1180
+
1181
+ # Header Params
1182
+ header_params = {}
1183
+ header_params['accept'] = 'application/json'
1184
+ header_params['content-type'] = 'application/json'
1185
+
1186
+ post_body = nil
1187
+
1188
+ return @api_client.call_api(
1189
+ :GET,
1190
+ path,
1191
+ endpoint,
1192
+ :header_params => header_params,
1193
+ :query_params => query_params,
1194
+ :body => post_body,
1195
+ :return_type => 'OCI::Identity::Models::UserGroupMembership')
1196
+ end
1197
+
1198
+ # Lists the API signing keys for the specified user. A user can have a maximum of three keys.
1199
+ #
1200
+ # Every user has permission to use this API call for *their own user ID*. An administrator in your
1201
+ # organization does not need to write a policy to give users this ability.
1202
+ #
1203
+ # @param [String] user_id The OCID of the user.
1204
+ # @param [Hash] opts the optional parameters
1205
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::ApiKey>
1206
+ def list_api_keys(user_id, opts = {})
1207
+ logger.debug "Calling operation IdentityClient#list_api_keys." if logger
1208
+
1209
+ fail "Missing the required parameter 'user_id' when calling list_api_keys." if user_id.nil?
1210
+
1211
+ path = "/users/{userId}/apiKeys/".sub('{userId}', user_id.to_s)
1212
+
1213
+ # Query Params
1214
+ query_params = {}
1215
+
1216
+ # Header Params
1217
+ header_params = {}
1218
+ header_params['accept'] = 'application/json'
1219
+ header_params['content-type'] = 'application/json'
1220
+
1221
+ post_body = nil
1222
+
1223
+ return @api_client.call_api(
1224
+ :GET,
1225
+ path,
1226
+ endpoint,
1227
+ :header_params => header_params,
1228
+ :query_params => query_params,
1229
+ :body => post_body,
1230
+ :return_type => 'Array<OCI::Identity::Models::ApiKey>')
1231
+ end
1232
+
1233
+ # Lists the Availability Domains in your tenancy. Specify the OCID of either the tenancy or another
1234
+ # of your compartments as the value for the compartment ID (remember that the tenancy is simply the root compartment).
1235
+ # See [Where to Get the Tenancy's OCID and User's OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm#five).
1236
+ #
1237
+ # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
1238
+ #
1239
+ # @param [Hash] opts the optional parameters
1240
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::AvailabilityDomain>
1241
+ def list_availability_domains(compartment_id, opts = {})
1242
+ logger.debug "Calling operation IdentityClient#list_availability_domains." if logger
1243
+
1244
+ fail "Missing the required parameter 'compartment_id' when calling list_availability_domains." if compartment_id.nil?
1245
+
1246
+ path = "/availabilityDomains/"
1247
+
1248
+ # Query Params
1249
+ query_params = {}
1250
+ query_params[:'compartmentId'] = compartment_id
1251
+
1252
+ # Header Params
1253
+ header_params = {}
1254
+ header_params['accept'] = 'application/json'
1255
+ header_params['content-type'] = 'application/json'
1256
+
1257
+ post_body = nil
1258
+
1259
+ return @api_client.call_api(
1260
+ :GET,
1261
+ path,
1262
+ endpoint,
1263
+ :header_params => header_params,
1264
+ :query_params => query_params,
1265
+ :body => post_body,
1266
+ :return_type => 'Array<OCI::Identity::Models::AvailabilityDomain>')
1267
+ end
1268
+
1269
+ # Lists the compartments in your tenancy. You must specify your tenancy's OCID as the value
1270
+ # for the compartment ID (remember that the tenancy is simply the root compartment).
1271
+ # See [Where to Get the Tenancy's OCID and User's OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm#five).
1272
+ #
1273
+ # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
1274
+ #
1275
+ # @param [Hash] opts the optional parameters
1276
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1277
+ #
1278
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1279
+ #
1280
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::Compartment>
1281
+ def list_compartments(compartment_id, opts = {})
1282
+ logger.debug "Calling operation IdentityClient#list_compartments." if logger
1283
+
1284
+ fail "Missing the required parameter 'compartment_id' when calling list_compartments." if compartment_id.nil?
1285
+
1286
+ path = "/compartments/"
1287
+
1288
+ # Query Params
1289
+ query_params = {}
1290
+ query_params[:'compartmentId'] = compartment_id
1291
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1292
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1293
+
1294
+ # Header Params
1295
+ header_params = {}
1296
+ header_params['accept'] = 'application/json'
1297
+ header_params['content-type'] = 'application/json'
1298
+
1299
+ post_body = nil
1300
+
1301
+ return @api_client.call_api(
1302
+ :GET,
1303
+ path,
1304
+ endpoint,
1305
+ :header_params => header_params,
1306
+ :query_params => query_params,
1307
+ :body => post_body,
1308
+ :return_type => 'Array<OCI::Identity::Models::Compartment>')
1309
+ end
1310
+
1311
+ # Lists the secret keys for the specified user. The returned object contains the secret key's OCID, but not
1312
+ # the secret key itself. The actual secret key is returned only upon creation.
1313
+ #
1314
+ # @param [String] user_id The OCID of the user.
1315
+ # @param [Hash] opts the optional parameters
1316
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::CustomerSecretKeySummary>
1317
+ def list_customer_secret_keys(user_id, opts = {})
1318
+ logger.debug "Calling operation IdentityClient#list_customer_secret_keys." if logger
1319
+
1320
+ fail "Missing the required parameter 'user_id' when calling list_customer_secret_keys." if user_id.nil?
1321
+
1322
+ path = "/users/{userId}/customerSecretKeys/".sub('{userId}', user_id.to_s)
1323
+
1324
+ # Query Params
1325
+ query_params = {}
1326
+
1327
+ # Header Params
1328
+ header_params = {}
1329
+ header_params['accept'] = 'application/json'
1330
+ header_params['content-type'] = 'application/json'
1331
+
1332
+ post_body = nil
1333
+
1334
+ return @api_client.call_api(
1335
+ :GET,
1336
+ path,
1337
+ endpoint,
1338
+ :header_params => header_params,
1339
+ :query_params => query_params,
1340
+ :body => post_body,
1341
+ :return_type => 'Array<OCI::Identity::Models::CustomerSecretKeySummary>')
1342
+ end
1343
+
1344
+ # Lists the groups in your tenancy. You must specify your tenancy's OCID as the value for
1345
+ # the compartment ID (remember that the tenancy is simply the root compartment).
1346
+ # See [Where to Get the Tenancy's OCID and User's OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm#five).
1347
+ #
1348
+ # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
1349
+ #
1350
+ # @param [Hash] opts the optional parameters
1351
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1352
+ #
1353
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1354
+ #
1355
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::Group>
1356
+ def list_groups(compartment_id, opts = {})
1357
+ logger.debug "Calling operation IdentityClient#list_groups." if logger
1358
+
1359
+ fail "Missing the required parameter 'compartment_id' when calling list_groups." if compartment_id.nil?
1360
+
1361
+ path = "/groups/"
1362
+
1363
+ # Query Params
1364
+ query_params = {}
1365
+ query_params[:'compartmentId'] = compartment_id
1366
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1367
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1368
+
1369
+ # Header Params
1370
+ header_params = {}
1371
+ header_params['accept'] = 'application/json'
1372
+ header_params['content-type'] = 'application/json'
1373
+
1374
+ post_body = nil
1375
+
1376
+ return @api_client.call_api(
1377
+ :GET,
1378
+ path,
1379
+ endpoint,
1380
+ :header_params => header_params,
1381
+ :query_params => query_params,
1382
+ :body => post_body,
1383
+ :return_type => 'Array<OCI::Identity::Models::Group>')
1384
+ end
1385
+
1386
+ # Lists all the identity providers in your tenancy. You must specify the identity provider type (e.g., `SAML2` for
1387
+ # identity providers using the SAML2.0 protocol). You must specify your tenancy's OCID as the value for the
1388
+ # compartment ID (remember that the tenancy is simply the root compartment).
1389
+ # See [Where to Get the Tenancy's OCID and User's OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm#five).
1390
+ #
1391
+ # @param [String] protocol The protocol used for federation.
1392
+ # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
1393
+ #
1394
+ # @param [Hash] opts the optional parameters
1395
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1396
+ #
1397
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1398
+ #
1399
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::IdentityProvider>
1400
+ def list_identity_providers(protocol, compartment_id, opts = {})
1401
+ logger.debug "Calling operation IdentityClient#list_identity_providers." if logger
1402
+
1403
+ fail "Missing the required parameter 'protocol' when calling list_identity_providers." if protocol.nil?
1404
+ unless ['SAML2'].include?(protocol)
1405
+ fail "Invalid value for 'protocol', must be one of SAML2."
1406
+ end
1407
+ fail "Missing the required parameter 'compartment_id' when calling list_identity_providers." if compartment_id.nil?
1408
+
1409
+ path = "/identityProviders/"
1410
+
1411
+ # Query Params
1412
+ query_params = {}
1413
+ query_params[:'protocol'] = protocol
1414
+ query_params[:'compartmentId'] = compartment_id
1415
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1416
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1417
+
1418
+ # Header Params
1419
+ header_params = {}
1420
+ header_params['accept'] = 'application/json'
1421
+ header_params['content-type'] = 'application/json'
1422
+
1423
+ post_body = nil
1424
+
1425
+ return @api_client.call_api(
1426
+ :GET,
1427
+ path,
1428
+ endpoint,
1429
+ :header_params => header_params,
1430
+ :query_params => query_params,
1431
+ :body => post_body,
1432
+ :return_type => 'Array<OCI::Identity::Models::IdentityProvider>')
1433
+ end
1434
+
1435
+ # Lists the group mappings for the specified identity provider.
1436
+ #
1437
+ # @param [String] identity_provider_id The OCID of the identity provider.
1438
+ # @param [Hash] opts the optional parameters
1439
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1440
+ #
1441
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1442
+ #
1443
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::IdpGroupMapping>
1444
+ def list_idp_group_mappings(identity_provider_id, opts = {})
1445
+ logger.debug "Calling operation IdentityClient#list_idp_group_mappings." if logger
1446
+
1447
+ fail "Missing the required parameter 'identity_provider_id' when calling list_idp_group_mappings." if identity_provider_id.nil?
1448
+
1449
+ path = "/identityProviders/{identityProviderId}/groupMappings/".sub('{identityProviderId}', identity_provider_id.to_s)
1450
+
1451
+ # Query Params
1452
+ query_params = {}
1453
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1454
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1455
+
1456
+ # Header Params
1457
+ header_params = {}
1458
+ header_params['accept'] = 'application/json'
1459
+ header_params['content-type'] = 'application/json'
1460
+
1461
+ post_body = nil
1462
+
1463
+ return @api_client.call_api(
1464
+ :GET,
1465
+ path,
1466
+ endpoint,
1467
+ :header_params => header_params,
1468
+ :query_params => query_params,
1469
+ :body => post_body,
1470
+ :return_type => 'Array<OCI::Identity::Models::IdpGroupMapping>')
1471
+ end
1472
+
1473
+ # Lists the policies in the specified compartment (either the tenancy or another of your compartments).
1474
+ # See [Where to Get the Tenancy's OCID and User's OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm#five).
1475
+ #
1476
+ # To determine which policies apply to a particular group or compartment, you must view the individual
1477
+ # statements inside all your policies. There isn't a way to automatically obtain that information via the API.
1478
+ #
1479
+ # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
1480
+ #
1481
+ # @param [Hash] opts the optional parameters
1482
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1483
+ #
1484
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1485
+ #
1486
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::Policy>
1487
+ def list_policies(compartment_id, opts = {})
1488
+ logger.debug "Calling operation IdentityClient#list_policies." if logger
1489
+
1490
+ fail "Missing the required parameter 'compartment_id' when calling list_policies." if compartment_id.nil?
1491
+
1492
+ path = "/policies/"
1493
+
1494
+ # Query Params
1495
+ query_params = {}
1496
+ query_params[:'compartmentId'] = compartment_id
1497
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1498
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1499
+
1500
+ # Header Params
1501
+ header_params = {}
1502
+ header_params['accept'] = 'application/json'
1503
+ header_params['content-type'] = 'application/json'
1504
+
1505
+ post_body = nil
1506
+
1507
+ return @api_client.call_api(
1508
+ :GET,
1509
+ path,
1510
+ endpoint,
1511
+ :header_params => header_params,
1512
+ :query_params => query_params,
1513
+ :body => post_body,
1514
+ :return_type => 'Array<OCI::Identity::Models::Policy>')
1515
+ end
1516
+
1517
+ # Lists the region subscriptions for the specified tenancy.
1518
+ # @param [String] tenancy_id The OCID of the tenancy.
1519
+ # @param [Hash] opts the optional parameters
1520
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::RegionSubscription>
1521
+ def list_region_subscriptions(tenancy_id, opts = {})
1522
+ logger.debug "Calling operation IdentityClient#list_region_subscriptions." if logger
1523
+
1524
+ fail "Missing the required parameter 'tenancy_id' when calling list_region_subscriptions." if tenancy_id.nil?
1525
+
1526
+ path = "/tenancies/{tenancyId}/regionSubscriptions".sub('{tenancyId}', tenancy_id.to_s)
1527
+
1528
+ # Query Params
1529
+ query_params = {}
1530
+
1531
+ # Header Params
1532
+ header_params = {}
1533
+ header_params['accept'] = 'application/json'
1534
+ header_params['content-type'] = 'application/json'
1535
+
1536
+ post_body = nil
1537
+
1538
+ return @api_client.call_api(
1539
+ :GET,
1540
+ path,
1541
+ endpoint,
1542
+ :header_params => header_params,
1543
+ :query_params => query_params,
1544
+ :body => post_body,
1545
+ :return_type => 'Array<OCI::Identity::Models::RegionSubscription>')
1546
+ end
1547
+
1548
+ # Lists all the regions offered by Oracle Bare Metal Cloud Services.
1549
+ # @param [Hash] opts the optional parameters
1550
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::Region>
1551
+ def list_regions(opts = {})
1552
+ logger.debug "Calling operation IdentityClient#list_regions." if logger
1553
+
1554
+
1555
+ path = "/regions"
1556
+
1557
+ # Query Params
1558
+ query_params = {}
1559
+
1560
+ # Header Params
1561
+ header_params = {}
1562
+ header_params['accept'] = 'application/json'
1563
+ header_params['content-type'] = 'application/json'
1564
+
1565
+ post_body = nil
1566
+
1567
+ return @api_client.call_api(
1568
+ :GET,
1569
+ path,
1570
+ endpoint,
1571
+ :header_params => header_params,
1572
+ :query_params => query_params,
1573
+ :body => post_body,
1574
+ :return_type => 'Array<OCI::Identity::Models::Region>')
1575
+ end
1576
+
1577
+ # Lists the Swift passwords for the specified user. The returned object contains the password's OCID, but not
1578
+ # the password itself. The actual password is returned only upon creation.
1579
+ #
1580
+ # @param [String] user_id The OCID of the user.
1581
+ # @param [Hash] opts the optional parameters
1582
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::SwiftPassword>
1583
+ def list_swift_passwords(user_id, opts = {})
1584
+ logger.debug "Calling operation IdentityClient#list_swift_passwords." if logger
1585
+
1586
+ fail "Missing the required parameter 'user_id' when calling list_swift_passwords." if user_id.nil?
1587
+
1588
+ path = "/users/{userId}/swiftPasswords/".sub('{userId}', user_id.to_s)
1589
+
1590
+ # Query Params
1591
+ query_params = {}
1592
+
1593
+ # Header Params
1594
+ header_params = {}
1595
+ header_params['accept'] = 'application/json'
1596
+ header_params['content-type'] = 'application/json'
1597
+
1598
+ post_body = nil
1599
+
1600
+ return @api_client.call_api(
1601
+ :GET,
1602
+ path,
1603
+ endpoint,
1604
+ :header_params => header_params,
1605
+ :query_params => query_params,
1606
+ :body => post_body,
1607
+ :return_type => 'Array<OCI::Identity::Models::SwiftPassword>')
1608
+ end
1609
+
1610
+ # Lists the `UserGroupMembership` objects in your tenancy. You must specify your tenancy's OCID
1611
+ # as the value for the compartment ID
1612
+ # (see [Where to Get the Tenancy's OCID and User's OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm#five)).
1613
+ # You must also then filter the list in one of these ways:
1614
+ #
1615
+ # - You can limit the results to just the memberships for a given user by specifying a `userId`.
1616
+ # - Similarly, you can limit the results to just the memberships for a given group by specifying a `groupId`.
1617
+ # - You can set both the `userId` and `groupId` to determine if the specified user is in the specified group.
1618
+ # If the answer is no, the response is an empty list.
1619
+ #
1620
+ # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
1621
+ #
1622
+ # @param [Hash] opts the optional parameters
1623
+ # @option opts [String] :user_id The OCID of the user.
1624
+ # @option opts [String] :group_id The OCID of the group.
1625
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1626
+ #
1627
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1628
+ #
1629
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::UserGroupMembership>
1630
+ def list_user_group_memberships(compartment_id, opts = {})
1631
+ logger.debug "Calling operation IdentityClient#list_user_group_memberships." if logger
1632
+
1633
+ fail "Missing the required parameter 'compartment_id' when calling list_user_group_memberships." if compartment_id.nil?
1634
+
1635
+ path = "/userGroupMemberships/"
1636
+
1637
+ # Query Params
1638
+ query_params = {}
1639
+ query_params[:'compartmentId'] = compartment_id
1640
+ query_params[:'userId'] = opts[:'user_id'] if opts[:'user_id']
1641
+ query_params[:'groupId'] = opts[:'group_id'] if opts[:'group_id']
1642
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1643
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1644
+
1645
+ # Header Params
1646
+ header_params = {}
1647
+ header_params['accept'] = 'application/json'
1648
+ header_params['content-type'] = 'application/json'
1649
+
1650
+ post_body = nil
1651
+
1652
+ return @api_client.call_api(
1653
+ :GET,
1654
+ path,
1655
+ endpoint,
1656
+ :header_params => header_params,
1657
+ :query_params => query_params,
1658
+ :body => post_body,
1659
+ :return_type => 'Array<OCI::Identity::Models::UserGroupMembership>')
1660
+ end
1661
+
1662
+ # Lists the users in your tenancy. You must specify your tenancy's OCID as the value for the
1663
+ # compartment ID (remember that the tenancy is simply the root compartment).
1664
+ # See [Where to Get the Tenancy's OCID and User's OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm#five).
1665
+ #
1666
+ # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
1667
+ #
1668
+ # @param [Hash] opts the optional parameters
1669
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1670
+ #
1671
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1672
+ #
1673
+ # @return [Response] A Response object with data of type Array<OCI::Identity::Models::User>
1674
+ def list_users(compartment_id, opts = {})
1675
+ logger.debug "Calling operation IdentityClient#list_users." if logger
1676
+
1677
+ fail "Missing the required parameter 'compartment_id' when calling list_users." if compartment_id.nil?
1678
+
1679
+ path = "/users/"
1680
+
1681
+ # Query Params
1682
+ query_params = {}
1683
+ query_params[:'compartmentId'] = compartment_id
1684
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1685
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1686
+
1687
+ # Header Params
1688
+ header_params = {}
1689
+ header_params['accept'] = 'application/json'
1690
+ header_params['content-type'] = 'application/json'
1691
+
1692
+ post_body = nil
1693
+
1694
+ return @api_client.call_api(
1695
+ :GET,
1696
+ path,
1697
+ endpoint,
1698
+ :header_params => header_params,
1699
+ :query_params => query_params,
1700
+ :body => post_body,
1701
+ :return_type => 'Array<OCI::Identity::Models::User>')
1702
+ end
1703
+
1704
+ # Removes a user from a group by deleting the corresponding `UserGroupMembership`.
1705
+ # @param [String] user_group_membership_id The OCID of the userGroupMembership.
1706
+ # @param [Hash] opts the optional parameters
1707
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1708
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1709
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1710
+ #
1711
+ # @return [Response] A Response object with data of type nil
1712
+ def remove_user_from_group(user_group_membership_id, opts = {})
1713
+ logger.debug "Calling operation IdentityClient#remove_user_from_group." if logger
1714
+
1715
+ fail "Missing the required parameter 'user_group_membership_id' when calling remove_user_from_group." if user_group_membership_id.nil?
1716
+
1717
+ path = "/userGroupMemberships/{userGroupMembershipId}".sub('{userGroupMembershipId}', user_group_membership_id.to_s)
1718
+
1719
+ # Query Params
1720
+ query_params = {}
1721
+
1722
+ # Header Params
1723
+ header_params = {}
1724
+ header_params['accept'] = 'application/json'
1725
+ header_params['content-type'] = 'application/json'
1726
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1727
+
1728
+ post_body = nil
1729
+
1730
+ return @api_client.call_api(
1731
+ :DELETE,
1732
+ path,
1733
+ endpoint,
1734
+ :header_params => header_params,
1735
+ :query_params => query_params,
1736
+ :body => post_body)
1737
+ end
1738
+
1739
+ # Updates the specified compartment's description.
1740
+ # @param [String] compartment_id The OCID of the compartment.
1741
+ # @param [UpdateCompartmentDetails] update_compartment_details Request object for updating a compartment.
1742
+ # @param [Hash] opts the optional parameters
1743
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1744
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1745
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1746
+ #
1747
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Compartment
1748
+ def update_compartment(compartment_id, update_compartment_details, opts = {})
1749
+ logger.debug "Calling operation IdentityClient#update_compartment." if logger
1750
+
1751
+ fail "Missing the required parameter 'compartment_id' when calling update_compartment." if compartment_id.nil?
1752
+ fail "Missing the required parameter 'update_compartment_details' when calling update_compartment." if update_compartment_details.nil?
1753
+
1754
+ path = "/compartments/{compartmentId}".sub('{compartmentId}', compartment_id.to_s)
1755
+
1756
+ # Query Params
1757
+ query_params = {}
1758
+
1759
+ # Header Params
1760
+ header_params = {}
1761
+ header_params['accept'] = 'application/json'
1762
+ header_params['content-type'] = 'application/json'
1763
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1764
+
1765
+ post_body = @api_client.object_to_http_body(update_compartment_details)
1766
+
1767
+ return @api_client.call_api(
1768
+ :PUT,
1769
+ path,
1770
+ endpoint,
1771
+ :header_params => header_params,
1772
+ :query_params => query_params,
1773
+ :body => post_body,
1774
+ :return_type => 'OCI::Identity::Models::Compartment')
1775
+ end
1776
+
1777
+ # Updates the specified secret key's description.
1778
+ #
1779
+ # @param [String] user_id The OCID of the user.
1780
+ # @param [String] customer_secret_key_id The OCID of the secret key.
1781
+ # @param [UpdateCustomerSecretKeyDetails] update_customer_secret_key_details Request object for updating a secret key.
1782
+ # @param [Hash] opts the optional parameters
1783
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1784
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1785
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1786
+ #
1787
+ # @return [Response] A Response object with data of type OCI::Identity::Models::CustomerSecretKeySummary
1788
+ def update_customer_secret_key(user_id, customer_secret_key_id, update_customer_secret_key_details, opts = {})
1789
+ logger.debug "Calling operation IdentityClient#update_customer_secret_key." if logger
1790
+
1791
+ fail "Missing the required parameter 'user_id' when calling update_customer_secret_key." if user_id.nil?
1792
+ fail "Missing the required parameter 'customer_secret_key_id' when calling update_customer_secret_key." if customer_secret_key_id.nil?
1793
+ fail "Missing the required parameter 'update_customer_secret_key_details' when calling update_customer_secret_key." if update_customer_secret_key_details.nil?
1794
+
1795
+ path = "/users/{userId}/customerSecretKeys/{customerSecretKeyId}".sub('{userId}', user_id.to_s).sub('{customerSecretKeyId}', customer_secret_key_id.to_s)
1796
+
1797
+ # Query Params
1798
+ query_params = {}
1799
+
1800
+ # Header Params
1801
+ header_params = {}
1802
+ header_params['accept'] = 'application/json'
1803
+ header_params['content-type'] = 'application/json'
1804
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1805
+
1806
+ post_body = @api_client.object_to_http_body(update_customer_secret_key_details)
1807
+
1808
+ return @api_client.call_api(
1809
+ :PUT,
1810
+ path,
1811
+ endpoint,
1812
+ :header_params => header_params,
1813
+ :query_params => query_params,
1814
+ :body => post_body,
1815
+ :return_type => 'OCI::Identity::Models::CustomerSecretKeySummary')
1816
+ end
1817
+
1818
+ # Updates the specified group.
1819
+ # @param [String] group_id The OCID of the group.
1820
+ # @param [UpdateGroupDetails] update_group_details Request object for updating a group.
1821
+ # @param [Hash] opts the optional parameters
1822
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1823
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1824
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1825
+ #
1826
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Group
1827
+ def update_group(group_id, update_group_details, opts = {})
1828
+ logger.debug "Calling operation IdentityClient#update_group." if logger
1829
+
1830
+ fail "Missing the required parameter 'group_id' when calling update_group." if group_id.nil?
1831
+ fail "Missing the required parameter 'update_group_details' when calling update_group." if update_group_details.nil?
1832
+
1833
+ path = "/groups/{groupId}".sub('{groupId}', group_id.to_s)
1834
+
1835
+ # Query Params
1836
+ query_params = {}
1837
+
1838
+ # Header Params
1839
+ header_params = {}
1840
+ header_params['accept'] = 'application/json'
1841
+ header_params['content-type'] = 'application/json'
1842
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1843
+
1844
+ post_body = @api_client.object_to_http_body(update_group_details)
1845
+
1846
+ return @api_client.call_api(
1847
+ :PUT,
1848
+ path,
1849
+ endpoint,
1850
+ :header_params => header_params,
1851
+ :query_params => query_params,
1852
+ :body => post_body,
1853
+ :return_type => 'OCI::Identity::Models::Group')
1854
+ end
1855
+
1856
+ # Updates the specified identity provider.
1857
+ # @param [String] identity_provider_id The OCID of the identity provider.
1858
+ # @param [UpdateIdentityProviderDetails] update_identity_provider_details Request object for updating a identity provider.
1859
+ # @param [Hash] opts the optional parameters
1860
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1861
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1862
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1863
+ #
1864
+ # @return [Response] A Response object with data of type OCI::Identity::Models::IdentityProvider
1865
+ def update_identity_provider(identity_provider_id, update_identity_provider_details, opts = {})
1866
+ logger.debug "Calling operation IdentityClient#update_identity_provider." if logger
1867
+
1868
+ fail "Missing the required parameter 'identity_provider_id' when calling update_identity_provider." if identity_provider_id.nil?
1869
+ fail "Missing the required parameter 'update_identity_provider_details' when calling update_identity_provider." if update_identity_provider_details.nil?
1870
+
1871
+ path = "/identityProviders/{identityProviderId}".sub('{identityProviderId}', identity_provider_id.to_s)
1872
+
1873
+ # Query Params
1874
+ query_params = {}
1875
+
1876
+ # Header Params
1877
+ header_params = {}
1878
+ header_params['accept'] = 'application/json'
1879
+ header_params['content-type'] = 'application/json'
1880
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1881
+
1882
+ post_body = @api_client.object_to_http_body(update_identity_provider_details)
1883
+
1884
+ return @api_client.call_api(
1885
+ :PUT,
1886
+ path,
1887
+ endpoint,
1888
+ :header_params => header_params,
1889
+ :query_params => query_params,
1890
+ :body => post_body,
1891
+ :return_type => 'OCI::Identity::Models::IdentityProvider')
1892
+ end
1893
+
1894
+ # Updates the specified group mapping.
1895
+ # @param [String] identity_provider_id The OCID of the identity provider.
1896
+ # @param [String] mapping_id The OCID of the group mapping.
1897
+ # @param [UpdateIdpGroupMappingDetails] update_idp_group_mapping_details Request object for updating an identity provider group mapping
1898
+ # @param [Hash] opts the optional parameters
1899
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1900
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1901
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1902
+ #
1903
+ # @return [Response] A Response object with data of type OCI::Identity::Models::IdpGroupMapping
1904
+ def update_idp_group_mapping(identity_provider_id, mapping_id, update_idp_group_mapping_details, opts = {})
1905
+ logger.debug "Calling operation IdentityClient#update_idp_group_mapping." if logger
1906
+
1907
+ fail "Missing the required parameter 'identity_provider_id' when calling update_idp_group_mapping." if identity_provider_id.nil?
1908
+ fail "Missing the required parameter 'mapping_id' when calling update_idp_group_mapping." if mapping_id.nil?
1909
+ fail "Missing the required parameter 'update_idp_group_mapping_details' when calling update_idp_group_mapping." if update_idp_group_mapping_details.nil?
1910
+
1911
+ path = "/identityProviders/{identityProviderId}/groupMappings/{mappingId}".sub('{identityProviderId}', identity_provider_id.to_s).sub('{mappingId}', mapping_id.to_s)
1912
+
1913
+ # Query Params
1914
+ query_params = {}
1915
+
1916
+ # Header Params
1917
+ header_params = {}
1918
+ header_params['accept'] = 'application/json'
1919
+ header_params['content-type'] = 'application/json'
1920
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1921
+
1922
+ post_body = @api_client.object_to_http_body(update_idp_group_mapping_details)
1923
+
1924
+ return @api_client.call_api(
1925
+ :PUT,
1926
+ path,
1927
+ endpoint,
1928
+ :header_params => header_params,
1929
+ :query_params => query_params,
1930
+ :body => post_body,
1931
+ :return_type => 'OCI::Identity::Models::IdpGroupMapping')
1932
+ end
1933
+
1934
+ # Updates the specified policy. You can update the description or the policy statements themselves.
1935
+ #
1936
+ # Policy changes take effect typically within 10 seconds.
1937
+ #
1938
+ # @param [String] policy_id The OCID of the policy.
1939
+ # @param [UpdatePolicyDetails] update_policy_details Request object for updating a policy.
1940
+ # @param [Hash] opts the optional parameters
1941
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1942
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1943
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1944
+ #
1945
+ # @return [Response] A Response object with data of type OCI::Identity::Models::Policy
1946
+ def update_policy(policy_id, update_policy_details, opts = {})
1947
+ logger.debug "Calling operation IdentityClient#update_policy." if logger
1948
+
1949
+ fail "Missing the required parameter 'policy_id' when calling update_policy." if policy_id.nil?
1950
+ fail "Missing the required parameter 'update_policy_details' when calling update_policy." if update_policy_details.nil?
1951
+
1952
+ path = "/policies/{policyId}".sub('{policyId}', policy_id.to_s)
1953
+
1954
+ # Query Params
1955
+ query_params = {}
1956
+
1957
+ # Header Params
1958
+ header_params = {}
1959
+ header_params['accept'] = 'application/json'
1960
+ header_params['content-type'] = 'application/json'
1961
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1962
+
1963
+ post_body = @api_client.object_to_http_body(update_policy_details)
1964
+
1965
+ return @api_client.call_api(
1966
+ :PUT,
1967
+ path,
1968
+ endpoint,
1969
+ :header_params => header_params,
1970
+ :query_params => query_params,
1971
+ :body => post_body,
1972
+ :return_type => 'OCI::Identity::Models::Policy')
1973
+ end
1974
+
1975
+ # Updates the specified Swift password's description.
1976
+ #
1977
+ # @param [String] user_id The OCID of the user.
1978
+ # @param [String] swift_password_id The OCID of the Swift password.
1979
+ # @param [UpdateSwiftPasswordDetails] update_swift_password_details Request object for updating a Swift password.
1980
+ # @param [Hash] opts the optional parameters
1981
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1982
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1983
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
1984
+ #
1985
+ # @return [Response] A Response object with data of type OCI::Identity::Models::SwiftPassword
1986
+ def update_swift_password(user_id, swift_password_id, update_swift_password_details, opts = {})
1987
+ logger.debug "Calling operation IdentityClient#update_swift_password." if logger
1988
+
1989
+ fail "Missing the required parameter 'user_id' when calling update_swift_password." if user_id.nil?
1990
+ fail "Missing the required parameter 'swift_password_id' when calling update_swift_password." if swift_password_id.nil?
1991
+ fail "Missing the required parameter 'update_swift_password_details' when calling update_swift_password." if update_swift_password_details.nil?
1992
+
1993
+ path = "/users/{userId}/swiftPasswords/{swiftPasswordId}".sub('{userId}', user_id.to_s).sub('{swiftPasswordId}', swift_password_id.to_s)
1994
+
1995
+ # Query Params
1996
+ query_params = {}
1997
+
1998
+ # Header Params
1999
+ header_params = {}
2000
+ header_params['accept'] = 'application/json'
2001
+ header_params['content-type'] = 'application/json'
2002
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2003
+
2004
+ post_body = @api_client.object_to_http_body(update_swift_password_details)
2005
+
2006
+ return @api_client.call_api(
2007
+ :PUT,
2008
+ path,
2009
+ endpoint,
2010
+ :header_params => header_params,
2011
+ :query_params => query_params,
2012
+ :body => post_body,
2013
+ :return_type => 'OCI::Identity::Models::SwiftPassword')
2014
+ end
2015
+
2016
+ # Updates the description of the specified user.
2017
+ # @param [String] user_id The OCID of the user.
2018
+ # @param [UpdateUserDetails] update_user_details Request object for updating a user.
2019
+ # @param [Hash] opts the optional parameters
2020
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2021
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2022
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
2023
+ #
2024
+ # @return [Response] A Response object with data of type OCI::Identity::Models::User
2025
+ def update_user(user_id, update_user_details, opts = {})
2026
+ logger.debug "Calling operation IdentityClient#update_user." if logger
2027
+
2028
+ fail "Missing the required parameter 'user_id' when calling update_user." if user_id.nil?
2029
+ fail "Missing the required parameter 'update_user_details' when calling update_user." if update_user_details.nil?
2030
+
2031
+ path = "/users/{userId}".sub('{userId}', user_id.to_s)
2032
+
2033
+ # Query Params
2034
+ query_params = {}
2035
+
2036
+ # Header Params
2037
+ header_params = {}
2038
+ header_params['accept'] = 'application/json'
2039
+ header_params['content-type'] = 'application/json'
2040
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2041
+
2042
+ post_body = @api_client.object_to_http_body(update_user_details)
2043
+
2044
+ return @api_client.call_api(
2045
+ :PUT,
2046
+ path,
2047
+ endpoint,
2048
+ :header_params => header_params,
2049
+ :query_params => query_params,
2050
+ :body => post_body,
2051
+ :return_type => 'OCI::Identity::Models::User')
2052
+ end
2053
+
2054
+ # Updates the state of the specified user.
2055
+ #
2056
+ # @param [String] user_id The OCID of the user.
2057
+ # @param [UpdateStateDetails] update_state_details Request object for updating a user state.
2058
+ # @param [Hash] opts the optional parameters
2059
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2060
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2061
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
2062
+ #
2063
+ # @return [Response] A Response object with data of type OCI::Identity::Models::User
2064
+ def update_user_state(user_id, update_state_details, opts = {})
2065
+ logger.debug "Calling operation IdentityClient#update_user_state." if logger
2066
+
2067
+ fail "Missing the required parameter 'user_id' when calling update_user_state." if user_id.nil?
2068
+ fail "Missing the required parameter 'update_state_details' when calling update_user_state." if update_state_details.nil?
2069
+
2070
+ path = "/users/{userId}/state/".sub('{userId}', user_id.to_s)
2071
+
2072
+ # Query Params
2073
+ query_params = {}
2074
+
2075
+ # Header Params
2076
+ header_params = {}
2077
+ header_params['accept'] = 'application/json'
2078
+ header_params['content-type'] = 'application/json'
2079
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
2080
+
2081
+ post_body = @api_client.object_to_http_body(update_state_details)
2082
+
2083
+ return @api_client.call_api(
2084
+ :PUT,
2085
+ path,
2086
+ endpoint,
2087
+ :header_params => header_params,
2088
+ :query_params => query_params,
2089
+ :body => post_body,
2090
+ :return_type => 'OCI::Identity::Models::User')
2091
+ end
2092
+
2093
+ # Uploads an API signing key for the specified user.
2094
+ #
2095
+ # Every user has permission to use this operation to upload a key for *their own user ID*. An
2096
+ # administrator in your organization does not need to write a policy to give users this ability.
2097
+ # To compare, administrators who have permission to the tenancy can use this operation to upload a
2098
+ # key for any user, including themselves.
2099
+ #
2100
+ # **Important:** Even though you have permission to upload an API key, you might not yet
2101
+ # have permission to do much else. If you try calling an operation unrelated to your own credential
2102
+ # management (e.g., `ListUsers`, `LaunchInstance`) and receive an \"unauthorized\" error,
2103
+ # check with an administrator to confirm which IAM Service group(s) you're in and what access
2104
+ # you have. Also confirm you're working in the correct compartment.
2105
+ #
2106
+ # After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using
2107
+ # the object, first make sure its `lifecycleState` has changed to ACTIVE.
2108
+ #
2109
+ # @param [String] user_id The OCID of the user.
2110
+ # @param [CreateApiKeyDetails] create_api_key_details Request object for uploading an API key for a user.
2111
+ # @param [Hash] opts the optional parameters
2112
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
2113
+ # server error without risk of executing that same action again. Retry tokens expire after 24
2114
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
2115
+ # has been deleted and purged from the system, then a retry of the original creation request
2116
+ # may be rejected).
2117
+ #
2118
+ # @return [Response] A Response object with data of type OCI::Identity::Models::ApiKey
2119
+ def upload_api_key(user_id, create_api_key_details, opts = {})
2120
+ logger.debug "Calling operation IdentityClient#upload_api_key." if logger
2121
+
2122
+ fail "Missing the required parameter 'user_id' when calling upload_api_key." if user_id.nil?
2123
+ fail "Missing the required parameter 'create_api_key_details' when calling upload_api_key." if create_api_key_details.nil?
2124
+
2125
+ path = "/users/{userId}/apiKeys/".sub('{userId}', user_id.to_s)
2126
+
2127
+ # Query Params
2128
+ query_params = {}
2129
+
2130
+ # Header Params
2131
+ header_params = {}
2132
+ header_params['accept'] = 'application/json'
2133
+ header_params['content-type'] = 'application/json'
2134
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
2135
+
2136
+ post_body = @api_client.object_to_http_body(create_api_key_details)
2137
+
2138
+ return @api_client.call_api(
2139
+ :POST,
2140
+ path,
2141
+ endpoint,
2142
+ :header_params => header_params,
2143
+ :query_params => query_params,
2144
+ :body => post_body,
2145
+ :return_type => 'OCI::Identity::Models::ApiKey')
2146
+ end
2147
+ end
2148
+ end