oci 2.4.2 → 2.4.3

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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/oci/core/models/attach_paravirtualized_volume_details.rb +21 -4
  4. data/lib/oci/core/models/boot_volume_attachment.rb +18 -4
  5. data/lib/oci/core/models/create_drg_attachment_details.rb +3 -0
  6. data/lib/oci/core/models/create_local_peering_gateway_details.rb +3 -0
  7. data/lib/oci/core/models/cross_connect_mapping.rb +8 -8
  8. data/lib/oci/core/models/dhcp_dns_option.rb +1 -1
  9. data/lib/oci/core/models/drg_attachment.rb +4 -1
  10. data/lib/oci/core/models/i_scsi_volume_attachment.rb +5 -1
  11. data/lib/oci/core/models/launch_instance_details.rb +18 -4
  12. data/lib/oci/core/models/launch_options.rb +18 -4
  13. data/lib/oci/core/models/local_peering_gateway.rb +4 -1
  14. data/lib/oci/core/models/paravirtualized_volume_attachment.rb +8 -4
  15. data/lib/oci/core/models/service.rb +1 -1
  16. data/lib/oci/core/models/update_drg_attachment_details.rb +4 -1
  17. data/lib/oci/core/models/update_local_peering_gateway_details.rb +4 -1
  18. data/lib/oci/core/models/volume_attachment.rb +18 -4
  19. data/lib/oci/core/models/volume_backup_schedule.rb +1 -1
  20. data/lib/oci/core/virtual_network_client.rb +1 -1
  21. data/lib/oci/database/database.rb +1 -0
  22. data/lib/oci/database/models/autonomous_data_warehouse.rb +132 -137
  23. data/lib/oci/database/models/autonomous_data_warehouse_backup.rb +77 -83
  24. data/lib/oci/database/models/autonomous_data_warehouse_backup_summary.rb +77 -77
  25. data/lib/oci/database/models/autonomous_data_warehouse_connection_strings.rb +22 -22
  26. data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +133 -133
  27. data/lib/oci/database/models/autonomous_database.rb +132 -137
  28. data/lib/oci/database/models/autonomous_database_backup.rb +77 -83
  29. data/lib/oci/database/models/autonomous_database_backup_summary.rb +77 -77
  30. data/lib/oci/database/models/autonomous_database_connection_strings.rb +22 -22
  31. data/lib/oci/database/models/autonomous_database_summary.rb +133 -133
  32. data/lib/oci/database/models/backup.rb +102 -109
  33. data/lib/oci/database/models/backup_summary.rb +101 -101
  34. data/lib/oci/database/models/complete_external_backup_job_details.rb +39 -39
  35. data/lib/oci/database/models/create_autonomous_data_warehouse_backup_details.rb +18 -18
  36. data/lib/oci/database/models/create_autonomous_data_warehouse_details.rb +52 -52
  37. data/lib/oci/database/models/create_autonomous_database_backup_details.rb +18 -18
  38. data/lib/oci/database/models/create_autonomous_database_details.rb +52 -52
  39. data/lib/oci/database/models/create_data_guard_association_details.rb +22 -22
  40. data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +5 -5
  41. data/lib/oci/database/models/create_data_guard_association_with_new_db_system_details.rb +218 -0
  42. data/lib/oci/database/models/create_database_details.rb +62 -62
  43. data/lib/oci/database/models/create_database_from_backup_details.rb +18 -18
  44. data/lib/oci/database/models/create_db_home_details.rb +21 -21
  45. data/lib/oci/database/models/create_db_home_from_backup_details.rb +14 -14
  46. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +14 -14
  47. data/lib/oci/database/models/create_external_backup_job_details.rb +80 -80
  48. data/lib/oci/database/models/data_guard_association.rb +132 -144
  49. data/lib/oci/database/models/data_guard_association_summary.rb +131 -131
  50. data/lib/oci/database/models/database.rb +100 -108
  51. data/lib/oci/database/models/database_summary.rb +99 -99
  52. data/lib/oci/database/models/db_home.rb +39 -51
  53. data/lib/oci/database/models/db_home_summary.rb +39 -39
  54. data/lib/oci/database/models/db_node.rb +50 -58
  55. data/lib/oci/database/models/db_node_summary.rb +49 -49
  56. data/lib/oci/database/models/db_system.rb +295 -300
  57. data/lib/oci/database/models/db_system_shape_summary.rb +46 -46
  58. data/lib/oci/database/models/db_system_summary.rb +295 -280
  59. data/lib/oci/database/models/db_version_summary.rb +28 -14
  60. data/lib/oci/database/models/external_backup_job.rb +34 -34
  61. data/lib/oci/database/models/generate_autonomous_data_warehouse_wallet_details.rb +1 -1
  62. data/lib/oci/database/models/generate_autonomous_database_wallet_details.rb +1 -1
  63. data/lib/oci/database/models/launch_db_system_base.rb +160 -145
  64. data/lib/oci/database/models/launch_db_system_details.rb +59 -55
  65. data/lib/oci/database/models/launch_db_system_from_backup_details.rb +59 -55
  66. data/lib/oci/database/models/patch.rb +45 -53
  67. data/lib/oci/database/models/patch_details.rb +14 -14
  68. data/lib/oci/database/models/patch_history_entry.rb +48 -51
  69. data/lib/oci/database/models/patch_history_entry_summary.rb +47 -47
  70. data/lib/oci/database/models/patch_summary.rb +44 -44
  71. data/lib/oci/database/models/restore_database_details.rb +15 -15
  72. data/lib/oci/database/models/update_autonomous_data_warehouse_details.rb +36 -36
  73. data/lib/oci/database/models/update_autonomous_database_details.rb +36 -36
  74. data/lib/oci/database/models/update_database_details.rb +22 -22
  75. data/lib/oci/database/models/update_db_system_details.rb +38 -38
  76. data/lib/oci/dns/dns.rb +1 -0
  77. data/lib/oci/dns/dns_client.rb +14 -13
  78. data/lib/oci/dns/models/create_zone_details.rb +39 -2
  79. data/lib/oci/dns/models/external_master.rb +3 -1
  80. data/lib/oci/dns/models/nameserver.rb +149 -0
  81. data/lib/oci/dns/models/record.rb +3 -1
  82. data/lib/oci/dns/models/record_details.rb +3 -1
  83. data/lib/oci/dns/models/record_operation.rb +3 -1
  84. data/lib/oci/dns/models/tsig.rb +3 -2
  85. data/lib/oci/dns/models/update_zone_details.rb +40 -2
  86. data/lib/oci/dns/models/zone.rb +54 -6
  87. data/lib/oci/dns/models/zone_summary.rb +79 -5
  88. data/lib/oci/identity/identity.rb +4 -0
  89. data/lib/oci/identity/identity_client.rb +176 -0
  90. data/lib/oci/identity/identity_client_composite_operations.rb +40 -0
  91. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +20 -4
  92. data/lib/oci/identity/models/identity_provider_group_summary.rb +226 -0
  93. data/lib/oci/identity/models/saml2_identity_provider.rb +20 -4
  94. data/lib/oci/identity/models/scim_client_credentials.rb +168 -0
  95. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +20 -4
  96. data/lib/oci/identity/models/update_user_capabilities_details.rb +214 -0
  97. data/lib/oci/identity/models/user.rb +42 -4
  98. data/lib/oci/identity/models/user_capabilities.rb +209 -0
  99. data/lib/oci/regions.rb +10 -9
  100. data/lib/oci/version.rb +1 -1
  101. metadata +8 -2
@@ -6,6 +6,9 @@ require 'logger'
6
6
  # rubocop:disable Lint/UnneededCopDisableDirective
7
7
  module OCI
8
8
  # A DNS zone.
9
+ #
10
+ # *Warning:* Oracle recommends that you avoid using any confidential information when you supply string values using the API.
11
+ #
9
12
  class Dns::Models::ZoneSummary # rubocop:disable Metrics/LineLength
10
13
  ZONE_TYPE_ENUM = [
11
14
  ZONE_TYPE_PRIMARY = 'PRIMARY'.freeze,
@@ -13,6 +16,15 @@ module OCI
13
16
  ZONE_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
14
17
  ].freeze
15
18
 
19
+ LIFECYCLE_STATE_ENUM = [
20
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
21
+ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
22
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
23
+ LIFECYCLE_STATE_DELETING = 'DELETING'.freeze,
24
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
25
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
26
+ ].freeze
27
+
16
28
  # The name of the zone.
17
29
  # @return [String]
18
30
  attr_accessor :name
@@ -26,6 +38,19 @@ module OCI
26
38
  # @return [String]
27
39
  attr_accessor :compartment_id
28
40
 
41
+ # Simple key-value pair that is applied without any predefined name, type, or scope.
42
+ # For more information, see [Resource Tags](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
43
+ # Example: `{\"bar-key\": \"value\"}`
44
+ #
45
+ # @return [Hash<String, String>]
46
+ attr_accessor :freeform_tags
47
+
48
+ # Usage of predefined tag keys. These predefined keys are scoped to a namespace.
49
+ # Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`
50
+ #
51
+ # @return [Hash<String, Hash<String, Object>>]
52
+ attr_accessor :defined_tags
53
+
29
54
  # The canonical absolute URL of the resource.
30
55
  # @return [String]
31
56
  attr_accessor :self_uri
@@ -34,7 +59,7 @@ module OCI
34
59
  # @return [String]
35
60
  attr_accessor :id
36
61
 
37
- # The date and time the image was created in \"YYYY-MM-ddThh:mmZ\" format
62
+ # The date and time the resource was created in \"YYYY-MM-ddThh:mmZ\" format
38
63
  # with a Z offset, as defined by RFC 3339.
39
64
  #
40
65
  # **Example:** `2016-07-22T17:23:59:60Z`
@@ -54,6 +79,10 @@ module OCI
54
79
  # @return [Integer]
55
80
  attr_accessor :serial
56
81
 
82
+ # The current state of the zone resource.
83
+ # @return [String]
84
+ attr_reader :lifecycle_state
85
+
57
86
  # Attribute mapping from ruby-style variable name to JSON key.
58
87
  def self.attribute_map
59
88
  {
@@ -61,11 +90,14 @@ module OCI
61
90
  'name': :'name',
62
91
  'zone_type': :'zoneType',
63
92
  'compartment_id': :'compartmentId',
93
+ 'freeform_tags': :'freeformTags',
94
+ 'defined_tags': :'definedTags',
64
95
  'self_uri': :'self',
65
96
  'id': :'id',
66
97
  'time_created': :'timeCreated',
67
98
  'version': :'version',
68
- 'serial': :'serial'
99
+ 'serial': :'serial',
100
+ 'lifecycle_state': :'lifecycleState'
69
101
  # rubocop:enable Style/SymbolLiteral
70
102
  }
71
103
  end
@@ -77,11 +109,14 @@ module OCI
77
109
  'name': :'String',
78
110
  'zone_type': :'String',
79
111
  'compartment_id': :'String',
112
+ 'freeform_tags': :'Hash<String, String>',
113
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
80
114
  'self_uri': :'String',
81
115
  'id': :'String',
82
116
  'time_created': :'DateTime',
83
117
  'version': :'String',
84
- 'serial': :'Integer'
118
+ 'serial': :'Integer',
119
+ 'lifecycle_state': :'String'
85
120
  # rubocop:enable Style/SymbolLiteral
86
121
  }
87
122
  end
@@ -95,11 +130,14 @@ module OCI
95
130
  # @option attributes [String] :name The value to assign to the {#name} property
96
131
  # @option attributes [String] :zone_type The value to assign to the {#zone_type} property
97
132
  # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
133
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
134
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
98
135
  # @option attributes [String] :self_uri The value to assign to the {#self_uri} property
99
136
  # @option attributes [String] :id The value to assign to the {#id} property
100
137
  # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
101
138
  # @option attributes [String] :version The value to assign to the {#version} property
102
139
  # @option attributes [Integer] :serial The value to assign to the {#serial} property
140
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
103
141
  def initialize(attributes = {})
104
142
  return unless attributes.is_a?(Hash)
105
143
 
@@ -120,6 +158,18 @@ module OCI
120
158
 
121
159
  self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
122
160
 
161
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
162
+
163
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
164
+
165
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
166
+
167
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
168
+
169
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
170
+
171
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
172
+
123
173
  self.self_uri = attributes[:'self'] if attributes[:'self']
124
174
 
125
175
  raise 'You cannot provide both :self and :self_uri' if attributes.key?(:'self') && attributes.key?(:'self_uri')
@@ -137,6 +187,12 @@ module OCI
137
187
  self.version = attributes[:'version'] if attributes[:'version']
138
188
 
139
189
  self.serial = attributes[:'serial'] if attributes[:'serial']
190
+
191
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
192
+
193
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
194
+
195
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
140
196
  end
141
197
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
142
198
  # rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -156,6 +212,21 @@ module OCI
156
212
  # rubocop:enable Style/ConditionalAssignment
157
213
  end
158
214
 
215
+ # Custom attribute writer method checking allowed values (enum).
216
+ # @param [Object] lifecycle_state Object to be assigned
217
+ def lifecycle_state=(lifecycle_state)
218
+ # rubocop:disable Style/ConditionalAssignment
219
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
220
+ # rubocop: disable Metrics/LineLength
221
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
222
+ # rubocop: enable Metrics/LineLength
223
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
224
+ else
225
+ @lifecycle_state = lifecycle_state
226
+ end
227
+ # rubocop:enable Style/ConditionalAssignment
228
+ end
229
+
159
230
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
160
231
 
161
232
 
@@ -168,11 +239,14 @@ module OCI
168
239
  name == other.name &&
169
240
  zone_type == other.zone_type &&
170
241
  compartment_id == other.compartment_id &&
242
+ freeform_tags == other.freeform_tags &&
243
+ defined_tags == other.defined_tags &&
171
244
  self_uri == other.self_uri &&
172
245
  id == other.id &&
173
246
  time_created == other.time_created &&
174
247
  version == other.version &&
175
- serial == other.serial
248
+ serial == other.serial &&
249
+ lifecycle_state == other.lifecycle_state
176
250
  end
177
251
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
178
252
 
@@ -188,7 +262,7 @@ module OCI
188
262
  # Calculates hash code according to all attributes.
189
263
  # @return [Fixnum] Hash code
190
264
  def hash
191
- [name, zone_type, compartment_id, self_uri, id, time_created, version, serial].hash
265
+ [name, zone_type, compartment_id, freeform_tags, defined_tags, self_uri, id, time_created, version, serial, lifecycle_state].hash
192
266
  end
193
267
  # rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
194
268
 
@@ -37,11 +37,13 @@ require 'oci/identity/models/dynamic_group'
37
37
  require 'oci/identity/models/fault_domain'
38
38
  require 'oci/identity/models/group'
39
39
  require 'oci/identity/models/identity_provider'
40
+ require 'oci/identity/models/identity_provider_group_summary'
40
41
  require 'oci/identity/models/idp_group_mapping'
41
42
  require 'oci/identity/models/policy'
42
43
  require 'oci/identity/models/region'
43
44
  require 'oci/identity/models/region_subscription'
44
45
  require 'oci/identity/models/saml2_identity_provider'
46
+ require 'oci/identity/models/scim_client_credentials'
45
47
  require 'oci/identity/models/smtp_credential'
46
48
  require 'oci/identity/models/smtp_credential_summary'
47
49
  require 'oci/identity/models/swift_password'
@@ -65,8 +67,10 @@ require 'oci/identity/models/update_state_details'
65
67
  require 'oci/identity/models/update_swift_password_details'
66
68
  require 'oci/identity/models/update_tag_details'
67
69
  require 'oci/identity/models/update_tag_namespace_details'
70
+ require 'oci/identity/models/update_user_capabilities_details'
68
71
  require 'oci/identity/models/update_user_details'
69
72
  require 'oci/identity/models/user'
73
+ require 'oci/identity/models/user_capabilities'
70
74
  require 'oci/identity/models/user_group_membership'
71
75
  require 'oci/identity/models/work_request'
72
76
  require 'oci/identity/models/work_request_error'
@@ -3187,6 +3187,63 @@ module OCI
3187
3187
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
3188
3188
 
3189
3189
 
3190
+ # Lists the identity provider groups.
3191
+ # @param [String] identity_provider_id The OCID of the identity provider.
3192
+ # @param [Hash] opts the optional parameters
3193
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
3194
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
3195
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
3196
+ #
3197
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
3198
+ #
3199
+ # @return [Response] A Response object with data of type Array<{OCI::Identity::Models::IdentityProviderGroupSummary IdentityProviderGroupSummary}>
3200
+ def list_identity_provider_groups(identity_provider_id, opts = {})
3201
+ logger.debug 'Calling operation IdentityClient#list_identity_provider_groups.' if logger
3202
+
3203
+ raise "Missing the required parameter 'identity_provider_id' when calling list_identity_provider_groups." if identity_provider_id.nil?
3204
+ raise "Parameter value for 'identity_provider_id' must not be blank" if OCI::Internal::Util.blank_string?(identity_provider_id)
3205
+
3206
+ path = '/identityProviders/{identityProviderId}/groups/'.sub('{identityProviderId}', identity_provider_id.to_s)
3207
+ operation_signing_strategy = :standard
3208
+
3209
+ # rubocop:disable Style/NegatedIf
3210
+ # Query Params
3211
+ query_params = {}
3212
+ query_params[:page] = opts[:page] if opts[:page]
3213
+ query_params[:limit] = opts[:limit] if opts[:limit]
3214
+
3215
+ # Header Params
3216
+ header_params = {}
3217
+ header_params[:accept] = 'application/json'
3218
+ header_params[:'content-type'] = 'application/json'
3219
+ # rubocop:enable Style/NegatedIf
3220
+
3221
+ post_body = nil
3222
+
3223
+ # rubocop:disable Metrics/BlockLength
3224
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'IdentityClient#list_identity_provider_groups') do
3225
+ @api_client.call_api(
3226
+ :GET,
3227
+ path,
3228
+ endpoint,
3229
+ header_params: header_params,
3230
+ query_params: query_params,
3231
+ operation_signing_strategy: operation_signing_strategy,
3232
+ body: post_body,
3233
+ return_type: 'Array<OCI::Identity::Models::IdentityProviderGroupSummary>'
3234
+ )
3235
+ end
3236
+ # rubocop:enable Metrics/BlockLength
3237
+ end
3238
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3239
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
3240
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
3241
+
3242
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3243
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
3244
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
3245
+
3246
+
3190
3247
  # Lists all the identity providers in your tenancy. You must specify the identity provider type (e.g., `SAML2` for
3191
3248
  # identity providers using the SAML2.0 protocol). You must specify your tenancy's OCID as the value for the
3192
3249
  # compartment ID (remember that the tenancy is simply the root compartment).
@@ -3799,6 +3856,10 @@ module OCI
3799
3856
  #
3800
3857
  # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
3801
3858
  #
3859
+ # @option opts [String] :identity_provider_id The id of the identity provider.
3860
+ #
3861
+ # @option opts [String] :external_identifier The id of a user in the identity provider.
3862
+ #
3802
3863
  # @return [Response] A Response object with data of type Array<{OCI::Identity::Models::User User}>
3803
3864
  def list_users(compartment_id, opts = {})
3804
3865
  logger.debug 'Calling operation IdentityClient#list_users.' if logger
@@ -3814,6 +3875,8 @@ module OCI
3814
3875
  query_params[:compartmentId] = compartment_id
3815
3876
  query_params[:page] = opts[:page] if opts[:page]
3816
3877
  query_params[:limit] = opts[:limit] if opts[:limit]
3878
+ query_params[:identityProviderId] = opts[:identity_provider_id] if opts[:identity_provider_id]
3879
+ query_params[:externalIdentifier] = opts[:external_identifier] if opts[:external_identifier]
3817
3880
 
3818
3881
  # Header Params
3819
3882
  header_params = {}
@@ -3958,6 +4021,60 @@ module OCI
3958
4021
  # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
3959
4022
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
3960
4023
 
4024
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4025
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
4026
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
4027
+ # rubocop:disable Lint/UnusedMethodArgument
4028
+
4029
+
4030
+ # Resets the OAuth2 client credentials for the SCIM client associated with this identity provider.
4031
+ #
4032
+ # @param [String] identity_provider_id The OCID of the identity provider.
4033
+ # @param [Hash] opts the optional parameters
4034
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
4035
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
4036
+ # @return [Response] A Response object with data of type {OCI::Identity::Models::ScimClientCredentials ScimClientCredentials}
4037
+ def reset_idp_scim_client(identity_provider_id, opts = {})
4038
+ logger.debug 'Calling operation IdentityClient#reset_idp_scim_client.' if logger
4039
+
4040
+ raise "Missing the required parameter 'identity_provider_id' when calling reset_idp_scim_client." if identity_provider_id.nil?
4041
+ raise "Parameter value for 'identity_provider_id' must not be blank" if OCI::Internal::Util.blank_string?(identity_provider_id)
4042
+
4043
+ path = '/identityProviders/{identityProviderId}/actions/resetScimClient/'.sub('{identityProviderId}', identity_provider_id.to_s)
4044
+ operation_signing_strategy = :standard
4045
+
4046
+ # rubocop:disable Style/NegatedIf
4047
+ # Query Params
4048
+ query_params = {}
4049
+
4050
+ # Header Params
4051
+ header_params = {}
4052
+ header_params[:accept] = 'application/json'
4053
+ header_params[:'content-type'] = 'application/json'
4054
+ # rubocop:enable Style/NegatedIf
4055
+
4056
+ post_body = nil
4057
+
4058
+ # rubocop:disable Metrics/BlockLength
4059
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'IdentityClient#reset_idp_scim_client') do
4060
+ @api_client.call_api(
4061
+ :POST,
4062
+ path,
4063
+ endpoint,
4064
+ header_params: header_params,
4065
+ query_params: query_params,
4066
+ operation_signing_strategy: operation_signing_strategy,
4067
+ body: post_body,
4068
+ return_type: 'OCI::Identity::Models::ScimClientCredentials'
4069
+ )
4070
+ end
4071
+ # rubocop:enable Metrics/BlockLength
4072
+ end
4073
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4074
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
4075
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
4076
+ # rubocop:enable Lint/UnusedMethodArgument
4077
+
3961
4078
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3962
4079
  # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
3963
4080
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
@@ -4751,6 +4868,65 @@ module OCI
4751
4868
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
4752
4869
 
4753
4870
 
4871
+ # Updates the capabilities of the specified user.
4872
+ #
4873
+ # @param [String] user_id The OCID of the user.
4874
+ # @param [OCI::Identity::Models::UpdateUserCapabilitiesDetails] update_user_capabilities_details Request object for updating user capabilities.
4875
+ # @param [Hash] opts the optional parameters
4876
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
4877
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
4878
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
4879
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
4880
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
4881
+ #
4882
+ # @return [Response] A Response object with data of type {OCI::Identity::Models::User User}
4883
+ def update_user_capabilities(user_id, update_user_capabilities_details, opts = {})
4884
+ logger.debug 'Calling operation IdentityClient#update_user_capabilities.' if logger
4885
+
4886
+ raise "Missing the required parameter 'user_id' when calling update_user_capabilities." if user_id.nil?
4887
+ raise "Missing the required parameter 'update_user_capabilities_details' when calling update_user_capabilities." if update_user_capabilities_details.nil?
4888
+ raise "Parameter value for 'user_id' must not be blank" if OCI::Internal::Util.blank_string?(user_id)
4889
+
4890
+ path = '/users/{userId}/capabilities/'.sub('{userId}', user_id.to_s)
4891
+ operation_signing_strategy = :standard
4892
+
4893
+ # rubocop:disable Style/NegatedIf
4894
+ # Query Params
4895
+ query_params = {}
4896
+
4897
+ # Header Params
4898
+ header_params = {}
4899
+ header_params[:accept] = 'application/json'
4900
+ header_params[:'content-type'] = 'application/json'
4901
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
4902
+ # rubocop:enable Style/NegatedIf
4903
+
4904
+ post_body = @api_client.object_to_http_body(update_user_capabilities_details)
4905
+
4906
+ # rubocop:disable Metrics/BlockLength
4907
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'IdentityClient#update_user_capabilities') do
4908
+ @api_client.call_api(
4909
+ :PUT,
4910
+ path,
4911
+ endpoint,
4912
+ header_params: header_params,
4913
+ query_params: query_params,
4914
+ operation_signing_strategy: operation_signing_strategy,
4915
+ body: post_body,
4916
+ return_type: 'OCI::Identity::Models::User'
4917
+ )
4918
+ end
4919
+ # rubocop:enable Metrics/BlockLength
4920
+ end
4921
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4922
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
4923
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
4924
+
4925
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4926
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
4927
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
4928
+
4929
+
4754
4930
  # Updates the state of the specified user.
4755
4931
  #
4756
4932
  # @param [String] user_id The OCID of the user.
@@ -867,6 +867,46 @@ module OCI
867
867
  # rubocop:disable Layout/EmptyLines
868
868
 
869
869
 
870
+ # Calls {OCI::Identity::IdentityClient#update_user_capabilities} and then waits for the {OCI::Identity::Models::User} acted upon
871
+ # to enter the given state(s).
872
+ #
873
+ # @param [String] user_id The OCID of the user.
874
+ # @param [OCI::Identity::Models::UpdateUserCapabilitiesDetails] update_user_capabilities_details Request object for updating user capabilities.
875
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::Identity::Models::User#lifecycle_state}
876
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::Identity::IdentityClient#update_user_capabilities}
877
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
878
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
879
+ # * max_wait_seconds The maximum time to wait, in seconds
880
+ #
881
+ # @return [OCI::Response] A {OCI::Response} object with data of type {OCI::Identity::Models::User}
882
+ def update_user_capabilities_and_wait_for_state(user_id, update_user_capabilities_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
883
+ operation_result = @service_client.update_user_capabilities(user_id, update_user_capabilities_details, base_operation_opts)
884
+
885
+ return operation_result if wait_for_states.empty?
886
+
887
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
888
+ wait_for_resource_id = operation_result.data.id
889
+
890
+ begin
891
+ waiter_result = @service_client.get_user(wait_for_resource_id).wait_until(
892
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
893
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
894
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
895
+ )
896
+ result_to_return = waiter_result
897
+
898
+ return result_to_return
899
+ rescue StandardError
900
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
901
+ end
902
+ end
903
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
904
+ # rubocop:enable Layout/EmptyLines
905
+
906
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
907
+ # rubocop:disable Layout/EmptyLines
908
+
909
+
870
910
  # Calls {OCI::Identity::IdentityClient#update_user_state} and then waits for the {OCI::Identity::Models::User} acted upon
871
911
  # to enter the given state(s).
872
912
  #