oci 2.4.2 → 2.4.3

Sign up to get free protection for your applications and to get access to all the features.
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
  #