oraclebmc 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -2
  3. data/lib/oraclebmc/core/blockstorage_client.rb +2 -2
  4. data/lib/oraclebmc/core/compute_client.rb +8 -7
  5. data/lib/oraclebmc/core/core.rb +17 -0
  6. data/lib/oraclebmc/core/models/create_cross_connect_details.rb +203 -0
  7. data/lib/oraclebmc/core/models/create_cross_connect_group_details.rb +132 -0
  8. data/lib/oraclebmc/core/models/create_subnet_details.rb +24 -3
  9. data/lib/oraclebmc/core/models/create_vcn_details.rb +2 -2
  10. data/lib/oraclebmc/core/models/create_virtual_circuit_details.rb +261 -0
  11. data/lib/oraclebmc/core/models/create_vnic_details.rb +202 -0
  12. data/lib/oraclebmc/core/models/cross_connect.rb +234 -0
  13. data/lib/oraclebmc/core/models/cross_connect_group.rb +187 -0
  14. data/lib/oraclebmc/core/models/cross_connect_location.rb +135 -0
  15. data/lib/oraclebmc/core/models/cross_connect_mapping.rb +191 -0
  16. data/lib/oraclebmc/core/models/cross_connect_port_speed_shape.rb +138 -0
  17. data/lib/oraclebmc/core/models/cross_connect_status.rb +201 -0
  18. data/lib/oraclebmc/core/models/dhcp_dns_option.rb +7 -7
  19. data/lib/oraclebmc/core/models/dhcp_option.rb +1 -1
  20. data/lib/oraclebmc/core/models/dhcp_search_domain_option.rb +6 -7
  21. data/lib/oraclebmc/core/models/fast_connect_provider_service.rb +146 -0
  22. data/lib/oraclebmc/core/models/image.rb +1 -1
  23. data/lib/oraclebmc/core/models/instance.rb +6 -7
  24. data/lib/oraclebmc/core/models/launch_instance_details.rb +22 -19
  25. data/lib/oraclebmc/core/models/letter_of_authority.rb +195 -0
  26. data/lib/oraclebmc/core/models/subnet.rb +26 -5
  27. data/lib/oraclebmc/core/models/update_cross_connect_details.rb +137 -0
  28. data/lib/oraclebmc/core/models/update_cross_connect_group_details.rb +121 -0
  29. data/lib/oraclebmc/core/models/update_virtual_circuit_details.rb +240 -0
  30. data/lib/oraclebmc/core/models/vcn.rb +4 -4
  31. data/lib/oraclebmc/core/models/virtual_circuit.rb +395 -0
  32. data/lib/oraclebmc/core/models/virtual_circuit_bandwidth_shape.rb +138 -0
  33. data/lib/oraclebmc/core/models/vnic.rb +4 -4
  34. data/lib/oraclebmc/core/virtual_network_client.rb +962 -85
  35. data/lib/oraclebmc/identity/identity.rb +13 -0
  36. data/lib/oraclebmc/identity/identity_client.rb +533 -8
  37. data/lib/oraclebmc/identity/models/create_identity_provider_details.rb +213 -0
  38. data/lib/oraclebmc/identity/models/create_idp_group_mapping_details.rb +134 -0
  39. data/lib/oraclebmc/identity/models/create_region_subscription_details.rb +128 -0
  40. data/lib/oraclebmc/identity/models/create_saml2_identity_provider_details.rb +155 -0
  41. data/lib/oraclebmc/identity/models/create_user_details.rb +1 -1
  42. data/lib/oraclebmc/identity/models/identity_provider.rb +257 -0
  43. data/lib/oraclebmc/identity/models/idp_group_mapping.rb +221 -0
  44. data/lib/oraclebmc/identity/models/region.rb +142 -0
  45. data/lib/oraclebmc/identity/models/region_subscription.rb +179 -0
  46. data/lib/oraclebmc/identity/models/saml2_identity_provider.rb +181 -0
  47. data/lib/oraclebmc/identity/models/tenancy.rb +159 -0
  48. data/lib/oraclebmc/identity/models/update_identity_provider_details.rb +161 -0
  49. data/lib/oraclebmc/identity/models/update_idp_group_mapping_details.rb +132 -0
  50. data/lib/oraclebmc/identity/models/update_saml2_identity_provider_details.rb +146 -0
  51. data/lib/oraclebmc/regions.rb +1 -1
  52. data/lib/oraclebmc/version.rb +1 -1
  53. metadata +32 -2
@@ -15,16 +15,29 @@ require 'oraclebmc/identity/models/compartment'
15
15
  require 'oraclebmc/identity/models/create_api_key_details'
16
16
  require 'oraclebmc/identity/models/create_compartment_details'
17
17
  require 'oraclebmc/identity/models/create_group_details'
18
+ require 'oraclebmc/identity/models/create_identity_provider_details'
19
+ require 'oraclebmc/identity/models/create_idp_group_mapping_details'
18
20
  require 'oraclebmc/identity/models/create_policy_details'
21
+ require 'oraclebmc/identity/models/create_region_subscription_details'
22
+ require 'oraclebmc/identity/models/create_saml2_identity_provider_details'
19
23
  require 'oraclebmc/identity/models/create_swift_password_details'
20
24
  require 'oraclebmc/identity/models/create_user_details'
21
25
  require 'oraclebmc/identity/models/group'
26
+ require 'oraclebmc/identity/models/identity_provider'
27
+ require 'oraclebmc/identity/models/idp_group_mapping'
22
28
  require 'oraclebmc/identity/models/policy'
29
+ require 'oraclebmc/identity/models/region'
30
+ require 'oraclebmc/identity/models/region_subscription'
31
+ require 'oraclebmc/identity/models/saml2_identity_provider'
23
32
  require 'oraclebmc/identity/models/swift_password'
33
+ require 'oraclebmc/identity/models/tenancy'
24
34
  require 'oraclebmc/identity/models/ui_password'
25
35
  require 'oraclebmc/identity/models/update_compartment_details'
26
36
  require 'oraclebmc/identity/models/update_group_details'
37
+ require 'oraclebmc/identity/models/update_identity_provider_details'
38
+ require 'oraclebmc/identity/models/update_idp_group_mapping_details'
27
39
  require 'oraclebmc/identity/models/update_policy_details'
40
+ require 'oraclebmc/identity/models/update_saml2_identity_provider_details'
28
41
  require 'oraclebmc/identity/models/update_state_details'
29
42
  require 'oraclebmc/identity/models/update_swift_password_details'
30
43
  require 'oraclebmc/identity/models/update_user_details'
@@ -214,6 +214,104 @@ module OracleBMC
214
214
  :return_type => 'OracleBMC::Identity::Models::Group')
215
215
  end
216
216
 
217
+ # Creates a new identity provider in your tenancy. For more information, see
218
+ # [Identity Providers and Federation](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/federation.htm).
219
+ #
220
+ # You must specify your tenancy's OCID as the compartment ID in the request object.
221
+ # Remember that the tenancy is simply the root compartment. For information about
222
+ # OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
223
+ #
224
+ # You must also specify a *name* for the `IdentityProvider`, which must be unique
225
+ # across all `IdentityProvider` objects in your tenancy and cannot be changed.
226
+ #
227
+ # You must also specify a *description* for the `IdentityProvider` (although
228
+ # it can be an empty string). It does not have to be unique, and you can change
229
+ # it anytime with
230
+ # {#update_identity_provider update_identity_provider}.
231
+ #
232
+ # After you send your request, the new object's `lifecycleState` will temporarily
233
+ # be CREATING. Before using the object, first make sure its `lifecycleState` has
234
+ # changed to ACTIVE.
235
+ #
236
+ # @param [CreateIdentityProviderDetails] create_identity_provider_details Request object for creating a new SAML2 identity provider.
237
+ # @param [Hash] opts the optional parameters
238
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
239
+ # server error without risk of executing that same action again. Retry tokens expire after 24
240
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
241
+ # has been deleted and purged from the system, then a retry of the original creation request
242
+ # may be rejected).
243
+ #
244
+ # @return [Response] A Response object with data of type OracleBMC::Identity::Models::IdentityProvider
245
+ def create_identity_provider(create_identity_provider_details, opts = {})
246
+ logger.debug "Calling operation IdentityClient#create_identity_provider." if logger
247
+
248
+ fail "Missing the required parameter 'create_identity_provider_details' when calling create_identity_provider." if create_identity_provider_details.nil?
249
+
250
+ path = "/identityProviders/"
251
+
252
+ # Query Params
253
+ query_params = {}
254
+
255
+ # Header Params
256
+ header_params = {}
257
+ header_params['accept'] = 'application/json'
258
+ header_params['content-type'] = 'application/json'
259
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
260
+
261
+ post_body = @api_client.object_to_http_body(create_identity_provider_details)
262
+
263
+ return @api_client.call_api(
264
+ :POST,
265
+ path,
266
+ endpoint,
267
+ :header_params => header_params,
268
+ :query_params => query_params,
269
+ :body => post_body,
270
+ :return_type => 'OracleBMC::Identity::Models::IdentityProvider')
271
+ end
272
+
273
+ # Creates a single mapping between an IdP group and an IAM Service
274
+ # {Group}.
275
+ #
276
+ # @param [CreateIdpGroupMappingDetails] create_idp_group_mapping_details Add a mapping from an SAML2.0 identity provider group to a BMC group.
277
+ # @param [String] identity_provider_id The OCID of the identity provider.
278
+ # @param [Hash] opts the optional parameters
279
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
280
+ # server error without risk of executing that same action again. Retry tokens expire after 24
281
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
282
+ # has been deleted and purged from the system, then a retry of the original creation request
283
+ # may be rejected).
284
+ #
285
+ # @return [Response] A Response object with data of type OracleBMC::Identity::Models::IdpGroupMapping
286
+ def create_idp_group_mapping(create_idp_group_mapping_details, identity_provider_id, opts = {})
287
+ logger.debug "Calling operation IdentityClient#create_idp_group_mapping." if logger
288
+
289
+ fail "Missing the required parameter 'create_idp_group_mapping_details' when calling create_idp_group_mapping." if create_idp_group_mapping_details.nil?
290
+ fail "Missing the required parameter 'identity_provider_id' when calling create_idp_group_mapping." if identity_provider_id.nil?
291
+
292
+ path = "/identityProviders/{identityProviderId}/groupMappings/".sub('{identityProviderId}', identity_provider_id.to_s)
293
+
294
+ # Query Params
295
+ query_params = {}
296
+
297
+ # Header Params
298
+ header_params = {}
299
+ header_params['accept'] = 'application/json'
300
+ header_params['content-type'] = 'application/json'
301
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
302
+
303
+ post_body = @api_client.object_to_http_body(create_idp_group_mapping_details)
304
+
305
+ return @api_client.call_api(
306
+ :POST,
307
+ path,
308
+ endpoint,
309
+ :header_params => header_params,
310
+ :query_params => query_params,
311
+ :body => post_body,
312
+ :return_type => 'OracleBMC::Identity::Models::IdpGroupMapping')
313
+ end
314
+
217
315
  # Creates a new Console one-time password for the specified user. For more information about user
218
316
  # credentials, see [User Credentials](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/usercredentials.htm).
219
317
  #
@@ -318,6 +416,47 @@ module OracleBMC
318
416
  :return_type => 'OracleBMC::Identity::Models::Policy')
319
417
  end
320
418
 
419
+ # Creates a subscription to a region for a tenancy.
420
+ #
421
+ # @param [CreateRegionSubscriptionDetails] create_region_subscription_details Request object for activate a new region.
422
+ # @param [String] tenancy_id The OCID of the tenancy.
423
+ # @param [Hash] opts the optional parameters
424
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
425
+ # server error without risk of executing that same action again. Retry tokens expire after 24
426
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
427
+ # has been deleted and purged from the system, then a retry of the original creation request
428
+ # may be rejected).
429
+ #
430
+ # @return [Response] A Response object with data of type OracleBMC::Identity::Models::RegionSubscription
431
+ def create_region_subscription(create_region_subscription_details, tenancy_id, opts = {})
432
+ logger.debug "Calling operation IdentityClient#create_region_subscription." if logger
433
+
434
+ fail "Missing the required parameter 'create_region_subscription_details' when calling create_region_subscription." if create_region_subscription_details.nil?
435
+ fail "Missing the required parameter 'tenancy_id' when calling create_region_subscription." if tenancy_id.nil?
436
+
437
+ path = "/tenancies/{tenancyId}/regionSubscriptions".sub('{tenancyId}', tenancy_id.to_s)
438
+
439
+ # Query Params
440
+ query_params = {}
441
+
442
+ # Header Params
443
+ header_params = {}
444
+ header_params['accept'] = 'application/json'
445
+ header_params['content-type'] = 'application/json'
446
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
447
+
448
+ post_body = @api_client.object_to_http_body(create_region_subscription_details)
449
+
450
+ return @api_client.call_api(
451
+ :POST,
452
+ path,
453
+ endpoint,
454
+ :header_params => header_params,
455
+ :query_params => query_params,
456
+ :body => post_body,
457
+ :return_type => 'OracleBMC::Identity::Models::RegionSubscription')
458
+ end
459
+
321
460
  # Creates a new Swift password for the specified user. For information about what Swift passwords are for, see
322
461
  # [Managing User Credentials](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Tasks/managingcredentials.htm).
323
462
  #
@@ -520,6 +659,80 @@ module OracleBMC
520
659
  :body => post_body)
521
660
  end
522
661
 
662
+ # Deletes the specified identity provider. The identity provider must not have
663
+ # any group mappings (see {IdpGroupMapping}).
664
+ #
665
+ # @param [String] identity_provider_id The OCID of the identity provider.
666
+ # @param [Hash] opts the optional parameters
667
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
668
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
669
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
670
+ #
671
+ # @return [Response] A Response object with data of type nil
672
+ def delete_identity_provider(identity_provider_id, opts = {})
673
+ logger.debug "Calling operation IdentityClient#delete_identity_provider." if logger
674
+
675
+ fail "Missing the required parameter 'identity_provider_id' when calling delete_identity_provider." if identity_provider_id.nil?
676
+
677
+ path = "/identityProviders/{identityProviderId}".sub('{identityProviderId}', identity_provider_id.to_s)
678
+
679
+ # Query Params
680
+ query_params = {}
681
+
682
+ # Header Params
683
+ header_params = {}
684
+ header_params['accept'] = 'application/json'
685
+ header_params['content-type'] = 'application/json'
686
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
687
+
688
+ post_body = nil
689
+
690
+ return @api_client.call_api(
691
+ :DELETE,
692
+ path,
693
+ endpoint,
694
+ :header_params => header_params,
695
+ :query_params => query_params,
696
+ :body => post_body)
697
+ end
698
+
699
+ # Deletes the specified group mapping.
700
+ # @param [String] identity_provider_id The OCID of the identity provider.
701
+ # @param [String] mapping_id The OCID of the group mapping.
702
+ # @param [Hash] opts the optional parameters
703
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
704
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
705
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
706
+ #
707
+ # @return [Response] A Response object with data of type nil
708
+ def delete_idp_group_mapping(identity_provider_id, mapping_id, opts = {})
709
+ logger.debug "Calling operation IdentityClient#delete_idp_group_mapping." if logger
710
+
711
+ fail "Missing the required parameter 'identity_provider_id' when calling delete_idp_group_mapping." if identity_provider_id.nil?
712
+ fail "Missing the required parameter 'mapping_id' when calling delete_idp_group_mapping." if mapping_id.nil?
713
+
714
+ path = "/identityProviders/{identityProviderId}/groupMappings/{mappingId}".sub('{identityProviderId}', identity_provider_id.to_s).sub('{mappingId}', mapping_id.to_s)
715
+
716
+ # Query Params
717
+ query_params = {}
718
+
719
+ # Header Params
720
+ header_params = {}
721
+ header_params['accept'] = 'application/json'
722
+ header_params['content-type'] = 'application/json'
723
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
724
+
725
+ post_body = nil
726
+
727
+ return @api_client.call_api(
728
+ :DELETE,
729
+ path,
730
+ endpoint,
731
+ :header_params => header_params,
732
+ :query_params => query_params,
733
+ :body => post_body)
734
+ end
735
+
523
736
  # Deletes the specified policy. The deletion takes effect typically within 10 seconds.
524
737
  # @param [String] policy_id The OCID of the policy.
525
738
  # @param [Hash] opts the optional parameters
@@ -703,6 +916,70 @@ module OracleBMC
703
916
  :return_type => 'OracleBMC::Identity::Models::Group')
704
917
  end
705
918
 
919
+ # Gets the specified identity provider's information.
920
+ # @param [String] identity_provider_id The OCID of the identity provider.
921
+ # @param [Hash] opts the optional parameters
922
+ # @return [Response] A Response object with data of type OracleBMC::Identity::Models::IdentityProvider
923
+ def get_identity_provider(identity_provider_id, opts = {})
924
+ logger.debug "Calling operation IdentityClient#get_identity_provider." if logger
925
+
926
+ fail "Missing the required parameter 'identity_provider_id' when calling get_identity_provider." if identity_provider_id.nil?
927
+
928
+ path = "/identityProviders/{identityProviderId}".sub('{identityProviderId}', identity_provider_id.to_s)
929
+
930
+ # Query Params
931
+ query_params = {}
932
+
933
+ # Header Params
934
+ header_params = {}
935
+ header_params['accept'] = 'application/json'
936
+ header_params['content-type'] = 'application/json'
937
+
938
+ post_body = nil
939
+
940
+ return @api_client.call_api(
941
+ :GET,
942
+ path,
943
+ endpoint,
944
+ :header_params => header_params,
945
+ :query_params => query_params,
946
+ :body => post_body,
947
+ :return_type => 'OracleBMC::Identity::Models::IdentityProvider')
948
+ end
949
+
950
+ # Gets the specified group mapping.
951
+ # @param [String] identity_provider_id The OCID of the identity provider.
952
+ # @param [String] mapping_id The OCID of the group mapping.
953
+ # @param [Hash] opts the optional parameters
954
+ # @return [Response] A Response object with data of type OracleBMC::Identity::Models::IdpGroupMapping
955
+ def get_idp_group_mapping(identity_provider_id, mapping_id, opts = {})
956
+ logger.debug "Calling operation IdentityClient#get_idp_group_mapping." if logger
957
+
958
+ fail "Missing the required parameter 'identity_provider_id' when calling get_idp_group_mapping." if identity_provider_id.nil?
959
+ fail "Missing the required parameter 'mapping_id' when calling get_idp_group_mapping." if mapping_id.nil?
960
+
961
+ path = "/identityProviders/{identityProviderId}/groupMappings/{mappingId}".sub('{identityProviderId}', identity_provider_id.to_s).sub('{mappingId}', mapping_id.to_s)
962
+
963
+ # Query Params
964
+ query_params = {}
965
+
966
+ # Header Params
967
+ header_params = {}
968
+ header_params['accept'] = 'application/json'
969
+ header_params['content-type'] = 'application/json'
970
+
971
+ post_body = nil
972
+
973
+ return @api_client.call_api(
974
+ :GET,
975
+ path,
976
+ endpoint,
977
+ :header_params => header_params,
978
+ :query_params => query_params,
979
+ :body => post_body,
980
+ :return_type => 'OracleBMC::Identity::Models::IdpGroupMapping')
981
+ end
982
+
706
983
  # Gets the specified policy's information.
707
984
  # @param [String] policy_id The OCID of the policy.
708
985
  # @param [Hash] opts the optional parameters
@@ -734,6 +1011,37 @@ module OracleBMC
734
1011
  :return_type => 'OracleBMC::Identity::Models::Policy')
735
1012
  end
736
1013
 
1014
+ # Get the specified tenancy's information.
1015
+ # @param [String] tenancy_id The OCID of the tenancy.
1016
+ # @param [Hash] opts the optional parameters
1017
+ # @return [Response] A Response object with data of type OracleBMC::Identity::Models::Tenancy
1018
+ def get_tenancy(tenancy_id, opts = {})
1019
+ logger.debug "Calling operation IdentityClient#get_tenancy." if logger
1020
+
1021
+ fail "Missing the required parameter 'tenancy_id' when calling get_tenancy." if tenancy_id.nil?
1022
+
1023
+ path = "/tenancies/{tenancyId}".sub('{tenancyId}', tenancy_id.to_s)
1024
+
1025
+ # Query Params
1026
+ query_params = {}
1027
+
1028
+ # Header Params
1029
+ header_params = {}
1030
+ header_params['accept'] = 'application/json'
1031
+ header_params['content-type'] = 'application/json'
1032
+
1033
+ post_body = nil
1034
+
1035
+ return @api_client.call_api(
1036
+ :GET,
1037
+ path,
1038
+ endpoint,
1039
+ :header_params => header_params,
1040
+ :query_params => query_params,
1041
+ :body => post_body,
1042
+ :return_type => 'OracleBMC::Identity::Models::Tenancy')
1043
+ end
1044
+
737
1045
  # Gets the specified user's information.
738
1046
  # @param [String] user_id The OCID of the user.
739
1047
  # @param [Hash] opts the optional parameters
@@ -871,10 +1179,6 @@ module OracleBMC
871
1179
  # for the compartment ID (remember that the tenancy is simply the root compartment).
872
1180
  # 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).
873
1181
  #
874
- # To use this and other API operations, you must be authorized in an IAM policy. If you're not authorized,
875
- # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
876
- # [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).
877
- #
878
1182
  # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
879
1183
  #
880
1184
  # @param [Hash] opts the optional parameters
@@ -955,6 +1259,93 @@ module OracleBMC
955
1259
  :return_type => 'Array<OracleBMC::Identity::Models::Group>')
956
1260
  end
957
1261
 
1262
+ # Lists all the identity providers in your tenancy. You must specify the identity provider type (e.g., `SAML2` for
1263
+ # identity providers using the SAML2.0 protocol). You must specify your tenancy's OCID as the value for the
1264
+ # compartment ID (remember that the tenancy is simply the root compartment).
1265
+ # 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).
1266
+ #
1267
+ # @param [String] protocol The protocol used for federation.
1268
+ # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
1269
+ #
1270
+ # @param [Hash] opts the optional parameters
1271
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1272
+ #
1273
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1274
+ #
1275
+ # @return [Response] A Response object with data of type Array<OracleBMC::Identity::Models::IdentityProvider>
1276
+ def list_identity_providers(protocol, compartment_id, opts = {})
1277
+ logger.debug "Calling operation IdentityClient#list_identity_providers." if logger
1278
+
1279
+ fail "Missing the required parameter 'protocol' when calling list_identity_providers." if protocol.nil?
1280
+ unless ['SAML2'].include?(protocol)
1281
+ fail "Invalid value for 'protocol', must be one of SAML2."
1282
+ end
1283
+ fail "Missing the required parameter 'compartment_id' when calling list_identity_providers." if compartment_id.nil?
1284
+
1285
+ path = "/identityProviders/"
1286
+
1287
+ # Query Params
1288
+ query_params = {}
1289
+ query_params[:'protocol'] = protocol
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<OracleBMC::Identity::Models::IdentityProvider>')
1309
+ end
1310
+
1311
+ # Lists the group mappings for the specified identity provider.
1312
+ #
1313
+ # @param [String] identity_provider_id The OCID of the identity provider.
1314
+ # @param [Hash] opts the optional parameters
1315
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \&quot;List\&quot; call.
1316
+ #
1317
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \&quot;List\&quot; call.
1318
+ #
1319
+ # @return [Response] A Response object with data of type Array<OracleBMC::Identity::Models::IdpGroupMapping>
1320
+ def list_idp_group_mappings(identity_provider_id, opts = {})
1321
+ logger.debug "Calling operation IdentityClient#list_idp_group_mappings." if logger
1322
+
1323
+ fail "Missing the required parameter 'identity_provider_id' when calling list_idp_group_mappings." if identity_provider_id.nil?
1324
+
1325
+ path = "/identityProviders/{identityProviderId}/groupMappings/".sub('{identityProviderId}', identity_provider_id.to_s)
1326
+
1327
+ # Query Params
1328
+ query_params = {}
1329
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1330
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1331
+
1332
+ # Header Params
1333
+ header_params = {}
1334
+ header_params['accept'] = 'application/json'
1335
+ header_params['content-type'] = 'application/json'
1336
+
1337
+ post_body = nil
1338
+
1339
+ return @api_client.call_api(
1340
+ :GET,
1341
+ path,
1342
+ endpoint,
1343
+ :header_params => header_params,
1344
+ :query_params => query_params,
1345
+ :body => post_body,
1346
+ :return_type => 'Array<OracleBMC::Identity::Models::IdpGroupMapping>')
1347
+ end
1348
+
958
1349
  # Lists the policies in the specified compartment (either the tenancy or another of your compartments).
959
1350
  # 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).
960
1351
  #
@@ -999,6 +1390,66 @@ module OracleBMC
999
1390
  :return_type => 'Array<OracleBMC::Identity::Models::Policy>')
1000
1391
  end
1001
1392
 
1393
+ # Lists the region subscriptions for the specified tenancy.
1394
+ # @param [String] tenancy_id The OCID of the tenancy.
1395
+ # @param [Hash] opts the optional parameters
1396
+ # @return [Response] A Response object with data of type Array<OracleBMC::Identity::Models::RegionSubscription>
1397
+ def list_region_subscriptions(tenancy_id, opts = {})
1398
+ logger.debug "Calling operation IdentityClient#list_region_subscriptions." if logger
1399
+
1400
+ fail "Missing the required parameter 'tenancy_id' when calling list_region_subscriptions." if tenancy_id.nil?
1401
+
1402
+ path = "/tenancies/{tenancyId}/regionSubscriptions".sub('{tenancyId}', tenancy_id.to_s)
1403
+
1404
+ # Query Params
1405
+ query_params = {}
1406
+
1407
+ # Header Params
1408
+ header_params = {}
1409
+ header_params['accept'] = 'application/json'
1410
+ header_params['content-type'] = 'application/json'
1411
+
1412
+ post_body = nil
1413
+
1414
+ return @api_client.call_api(
1415
+ :GET,
1416
+ path,
1417
+ endpoint,
1418
+ :header_params => header_params,
1419
+ :query_params => query_params,
1420
+ :body => post_body,
1421
+ :return_type => 'Array<OracleBMC::Identity::Models::RegionSubscription>')
1422
+ end
1423
+
1424
+ # Lists all the regions offered by Oracle Bare Metal Cloud Services.
1425
+ # @param [Hash] opts the optional parameters
1426
+ # @return [Response] A Response object with data of type Array<OracleBMC::Identity::Models::Region>
1427
+ def list_regions(opts = {})
1428
+ logger.debug "Calling operation IdentityClient#list_regions." if logger
1429
+
1430
+
1431
+ path = "/regions"
1432
+
1433
+ # Query Params
1434
+ query_params = {}
1435
+
1436
+ # Header Params
1437
+ header_params = {}
1438
+ header_params['accept'] = 'application/json'
1439
+ header_params['content-type'] = 'application/json'
1440
+
1441
+ post_body = nil
1442
+
1443
+ return @api_client.call_api(
1444
+ :GET,
1445
+ path,
1446
+ endpoint,
1447
+ :header_params => header_params,
1448
+ :query_params => query_params,
1449
+ :body => post_body,
1450
+ :return_type => 'Array<OracleBMC::Identity::Models::Region>')
1451
+ end
1452
+
1002
1453
  # Lists the Swift passwords for the specified user. The returned object contains the password's OCID, but not
1003
1454
  # the password itself. The actual password is returned only upon creation.
1004
1455
  #
@@ -1042,10 +1493,6 @@ module OracleBMC
1042
1493
  # - You can set both the `userId` and `groupId` to determine if the specified user is in the specified group.
1043
1494
  # If the answer is no, the response is an empty list.
1044
1495
  #
1045
- # To use this and other API operations, you must be authorized in an IAM policy. If you're not authorized,
1046
- # talk to an administrator. If you're an administrator who needs to write policies to give users access, see
1047
- # [Getting Started with Policies](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm).
1048
- #
1049
1496
  # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
1050
1497
  #
1051
1498
  # @param [Hash] opts the optional parameters
@@ -1241,6 +1688,84 @@ module OracleBMC
1241
1688
  :return_type => 'OracleBMC::Identity::Models::Group')
1242
1689
  end
1243
1690
 
1691
+ # Updates the specified identity provider.
1692
+ # @param [String] identity_provider_id The OCID of the identity provider.
1693
+ # @param [UpdateIdentityProviderDetails] update_identity_provider_details Request object for updating a identity provider.
1694
+ # @param [Hash] opts the optional parameters
1695
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1696
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1697
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
1698
+ #
1699
+ # @return [Response] A Response object with data of type OracleBMC::Identity::Models::IdentityProvider
1700
+ def update_identity_provider(identity_provider_id, update_identity_provider_details, opts = {})
1701
+ logger.debug "Calling operation IdentityClient#update_identity_provider." if logger
1702
+
1703
+ fail "Missing the required parameter 'identity_provider_id' when calling update_identity_provider." if identity_provider_id.nil?
1704
+ fail "Missing the required parameter 'update_identity_provider_details' when calling update_identity_provider." if update_identity_provider_details.nil?
1705
+
1706
+ path = "/identityProviders/{identityProviderId}".sub('{identityProviderId}', identity_provider_id.to_s)
1707
+
1708
+ # Query Params
1709
+ query_params = {}
1710
+
1711
+ # Header Params
1712
+ header_params = {}
1713
+ header_params['accept'] = 'application/json'
1714
+ header_params['content-type'] = 'application/json'
1715
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1716
+
1717
+ post_body = @api_client.object_to_http_body(update_identity_provider_details)
1718
+
1719
+ return @api_client.call_api(
1720
+ :PUT,
1721
+ path,
1722
+ endpoint,
1723
+ :header_params => header_params,
1724
+ :query_params => query_params,
1725
+ :body => post_body,
1726
+ :return_type => 'OracleBMC::Identity::Models::IdentityProvider')
1727
+ end
1728
+
1729
+ # Updates the specified group mapping.
1730
+ # @param [String] identity_provider_id The OCID of the identity provider.
1731
+ # @param [String] mapping_id The OCID of the group mapping.
1732
+ # @param [UpdateIdpGroupMappingDetails] update_idp_group_mapping_details Request object for updating an identity provider group mapping
1733
+ # @param [Hash] opts the optional parameters
1734
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
1735
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
1736
+ # will be updated or deleted only if the etag you provide matches the resource&#39;s current etag value.
1737
+ #
1738
+ # @return [Response] A Response object with data of type OracleBMC::Identity::Models::IdpGroupMapping
1739
+ def update_idp_group_mapping(identity_provider_id, mapping_id, update_idp_group_mapping_details, opts = {})
1740
+ logger.debug "Calling operation IdentityClient#update_idp_group_mapping." if logger
1741
+
1742
+ fail "Missing the required parameter 'identity_provider_id' when calling update_idp_group_mapping." if identity_provider_id.nil?
1743
+ fail "Missing the required parameter 'mapping_id' when calling update_idp_group_mapping." if mapping_id.nil?
1744
+ fail "Missing the required parameter 'update_idp_group_mapping_details' when calling update_idp_group_mapping." if update_idp_group_mapping_details.nil?
1745
+
1746
+ path = "/identityProviders/{identityProviderId}/groupMappings/{mappingId}".sub('{identityProviderId}', identity_provider_id.to_s).sub('{mappingId}', mapping_id.to_s)
1747
+
1748
+ # Query Params
1749
+ query_params = {}
1750
+
1751
+ # Header Params
1752
+ header_params = {}
1753
+ header_params['accept'] = 'application/json'
1754
+ header_params['content-type'] = 'application/json'
1755
+ header_params[:'if-match'] = opts[:'if_match'] if opts[:'if_match']
1756
+
1757
+ post_body = @api_client.object_to_http_body(update_idp_group_mapping_details)
1758
+
1759
+ return @api_client.call_api(
1760
+ :PUT,
1761
+ path,
1762
+ endpoint,
1763
+ :header_params => header_params,
1764
+ :query_params => query_params,
1765
+ :body => post_body,
1766
+ :return_type => 'OracleBMC::Identity::Models::IdpGroupMapping')
1767
+ end
1768
+
1244
1769
  # Updates the specified policy. You can update the description or the policy statements themselves.
1245
1770
  #
1246
1771
  # Policy changes take effect typically within 10 seconds.