oraclebmc 1.2.1 → 1.2.2

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 (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.