oci 2.0.6 → 2.0.7

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +23 -1
  3. data/lib/oci.rb +4 -7
  4. data/lib/oci/api_client.rb +51 -6
  5. data/lib/oci/auth/auth.rb +5 -2
  6. data/lib/oci/auth/federation_client.rb +2 -2
  7. data/lib/oci/auth/internal/auth_token_request_signer.rb +2 -2
  8. data/lib/oci/auth/security_token_container.rb +2 -2
  9. data/lib/oci/auth/session_key_supplier.rb +3 -4
  10. data/lib/oci/auth/signers/instance_principals_security_token_signer.rb +30 -17
  11. data/lib/oci/auth/signers/security_token_signer.rb +13 -6
  12. data/lib/oci/auth/signers/x509_federation_client_based_security_token_signer.rb +8 -4
  13. data/lib/oci/auth/url_based_certificate_retriever.rb +3 -4
  14. data/lib/oci/auth/util.rb +6 -4
  15. data/lib/oci/base_signer.rb +54 -50
  16. data/lib/oci/config_file_loader.rb +3 -11
  17. data/lib/oci/core/blockstorage_client.rb +211 -0
  18. data/lib/oci/core/compute_client.rb +4 -2
  19. data/lib/oci/core/core.rb +9 -0
  20. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +5 -1
  21. data/lib/oci/core/models/attach_volume_details.rb +13 -1
  22. data/lib/oci/core/models/create_public_ip_details.rb +186 -0
  23. data/lib/oci/core/models/create_vnic_details.rb +8 -2
  24. data/lib/oci/core/models/create_volume_backup_details.rb +27 -1
  25. data/lib/oci/core/models/create_volume_backup_policy_assignment_details.rb +133 -0
  26. data/lib/oci/core/models/create_volume_details.rb +15 -1
  27. data/lib/oci/core/models/get_public_ip_by_ip_address_details.rb +125 -0
  28. data/lib/oci/core/models/get_public_ip_by_private_ip_id_details.rb +124 -0
  29. data/lib/oci/core/models/i_scsi_volume_attachment.rb +5 -1
  30. data/lib/oci/core/models/public_ip.rb +328 -0
  31. data/lib/oci/core/models/update_public_ip_details.rb +140 -0
  32. data/lib/oci/core/models/volume_attachment.rb +13 -1
  33. data/lib/oci/core/models/volume_backup.rb +72 -1
  34. data/lib/oci/core/models/volume_backup_policy.rb +161 -0
  35. data/lib/oci/core/models/volume_backup_policy_assignment.rb +159 -0
  36. data/lib/oci/core/models/volume_backup_schedule.rb +191 -0
  37. data/lib/oci/core/virtual_network_client.rb +374 -4
  38. data/lib/oci/database/database_client.rb +3 -1
  39. data/lib/oci/dns/dns.rb +34 -0
  40. data/lib/oci/dns/dns_client.rb +985 -0
  41. data/lib/oci/dns/models/create_zone_details.rb +174 -0
  42. data/lib/oci/dns/models/external_master.rb +145 -0
  43. data/lib/oci/dns/models/patch_domain_records_details.rb +120 -0
  44. data/lib/oci/dns/models/patch_rr_set_details.rb +120 -0
  45. data/lib/oci/dns/models/patch_zone_records_details.rb +120 -0
  46. data/lib/oci/dns/models/record.rb +204 -0
  47. data/lib/oci/dns/models/record_collection.rb +121 -0
  48. data/lib/oci/dns/models/record_details.rb +204 -0
  49. data/lib/oci/dns/models/record_operation.rb +253 -0
  50. data/lib/oci/dns/models/rr_set.rb +123 -0
  51. data/lib/oci/dns/models/sort_order.rb +12 -0
  52. data/lib/oci/dns/models/tsig.rb +149 -0
  53. data/lib/oci/dns/models/update_domain_records_details.rb +120 -0
  54. data/lib/oci/dns/models/update_rr_set_details.rb +120 -0
  55. data/lib/oci/dns/models/update_zone_details.rb +122 -0
  56. data/lib/oci/dns/models/update_zone_records_details.rb +120 -0
  57. data/lib/oci/dns/models/zone.rb +272 -0
  58. data/lib/oci/dns/models/zone_summary.rb +230 -0
  59. data/lib/oci/dns/util.rb +2 -0
  60. data/lib/oci/errors.rb +20 -0
  61. data/lib/oci/identity/identity_client.rb +1 -0
  62. data/lib/oci/identity/models/create_dynamic_group_details.rb +4 -2
  63. data/lib/oci/identity/models/dynamic_group.rb +9 -6
  64. data/lib/oci/identity/models/update_dynamic_group_details.rb +4 -2
  65. data/lib/oci/load_balancer/load_balancer.rb +6 -0
  66. data/lib/oci/load_balancer/load_balancer_client.rb +219 -0
  67. data/lib/oci/load_balancer/models/create_listener_details.rb +17 -1
  68. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +12 -1
  69. data/lib/oci/load_balancer/models/create_path_route_set_details.rb +138 -0
  70. data/lib/oci/load_balancer/models/listener.rb +17 -1
  71. data/lib/oci/load_balancer/models/listener_details.rb +17 -1
  72. data/lib/oci/load_balancer/models/load_balancer.rb +12 -1
  73. data/lib/oci/load_balancer/models/path_match_type.rb +153 -0
  74. data/lib/oci/load_balancer/models/path_route.rb +161 -0
  75. data/lib/oci/load_balancer/models/path_route_set.rb +139 -0
  76. data/lib/oci/load_balancer/models/path_route_set_details.rb +122 -0
  77. data/lib/oci/load_balancer/models/update_listener_details.rb +17 -1
  78. data/lib/oci/load_balancer/models/update_path_route_set_details.rb +122 -0
  79. data/lib/oci/load_balancer/util.rb +1 -3
  80. data/lib/oci/object_storage/transfer/multipart/internal/file_part_io_wrapper.rb +111 -0
  81. data/lib/oci/object_storage/transfer/multipart/internal/multipart_upload_parts_collection.rb +41 -0
  82. data/lib/oci/object_storage/transfer/multipart/internal/seekable_non_file_part_io_wrapper.rb +48 -0
  83. data/lib/oci/object_storage/transfer/multipart/internal/stdin_part_io_wrapper.rb +54 -0
  84. data/lib/oci/object_storage/transfer/multipart/multipart_object_assembler.rb +545 -0
  85. data/lib/oci/object_storage/transfer/transfer.rb +31 -0
  86. data/lib/oci/object_storage/transfer/upload_manager.rb +212 -0
  87. data/lib/oci/object_storage/transfer/upload_manager_config.rb +60 -0
  88. data/lib/oci/regions.rb +3 -1
  89. data/lib/oci/response.rb +1 -3
  90. data/lib/oci/version.rb +1 -1
  91. data/lib/oci/waiter.rb +16 -11
  92. data/lib/oraclebmc.rb +1 -1
  93. metadata +46 -2
@@ -0,0 +1,2 @@
1
+ # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
2
+
@@ -73,5 +73,25 @@ module OCI
73
73
  @work_request = work_request
74
74
  end
75
75
  end
76
+
77
+ # Raised when there is an error performing a multipart upload (either a new upload or resuming
78
+ # an existing upload).
79
+ class MultipartUploadError < StandardError
80
+ # An array containing the underlying errors which caused the failure
81
+ # @return [Array]
82
+ attr_reader :errors
83
+
84
+ # The ID of multipart upload against which the error occurred, if known. This may be useful for
85
+ # resuming uploads which failed because of intermittent issues (e.g. network connectivity or
86
+ # HTTP 5xx errors received from the service)
87
+ # @return [String]
88
+ attr_reader :upload_id
89
+
90
+ def initialize(message, errors = [], upload_id = nil)
91
+ super(message)
92
+ @errors = errors
93
+ @upload_id = upload_id
94
+ end
95
+ end
76
96
  end
77
97
  end
@@ -2056,6 +2056,7 @@ module OCI
2056
2056
  # - Similarly, you can limit the results to just the memberships for a given group by specifying a `groupId`.
2057
2057
  # - You can set both the `userId` and `groupId` to determine if the specified user is in the specified group.
2058
2058
  # If the answer is no, the response is an empty list.
2059
+ # - Although`userId` and `groupId` are not indvidually required, you must set one of them.
2059
2060
  #
2060
2061
  # @param [String] compartment_id The OCID of the compartment (remember that the tenancy is simply the root compartment).
2061
2062
  #
@@ -3,7 +3,7 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
- # Properties for creating a dynamic group
6
+ # Properties for creating a dynamic group.
7
7
  class Identity::Models::CreateDynamicGroupDetails
8
8
  # **[Required]** The OCID of the tenancy containing the group.
9
9
  # @return [String]
@@ -15,7 +15,9 @@ module OCI
15
15
  # @return [String]
16
16
  attr_accessor :name
17
17
 
18
- # **[Required]** The matching rule to dynamically match an instance certificate to this dynamic group
18
+ # **[Required]** The matching rule to dynamically match an instance certificate to this dynamic group.
19
+ # For rule syntax, see [Managing Dynamic Groups](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Tasks/managingdynamicgroups.htm).
20
+ #
19
21
  # @return [String]
20
22
  attr_accessor :matching_rule
21
23
 
@@ -3,14 +3,15 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
- # An dynamic group defines a matching rule. Every bare metal/vm instance is deployed with an instance certificate.
7
- # The certificate contains metadata about the instance. It contains the instance OCID and the compartment OCID, along
6
+ # A dynamic group defines a matching rule. Every bare metal or virtual machine instance is deployed with an instance certificate.
7
+ # The certificate contains metadata about the instance. This includes the instance OCID and the compartment OCID, along
8
8
  # with a few other optional properties. When an API call is made using this instance certificate as the authenticator,
9
- # the certificate may be matched to one or multiple dynamic groups. Depending on policies written against these
10
- # dynamic groups, the instance will get access to that API.
9
+ # the certificate can be matched to one or multiple dynamic groups. The instance can then get access to the API
10
+ # based on the permissions granted in policies written for the dynamic groups.
11
11
  #
12
- # This works like regular user/group memebership. But in that case the membership is a static relationship, whereas
13
- # in dynamic group, the membership of an instance certificate to dynamic groups are determined during runtime.
12
+ # This works like regular user/group membership. But in that case, the membership is a static relationship, whereas
13
+ # in a dynamic group, the membership of an instance certificate to a dynamic group is determined during runtime.
14
+ # For more information, see [Managing Dynamic Groups](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Tasks/managingdynamicgroups.htm).
14
15
  #
15
16
  class Identity::Models::DynamicGroup
16
17
 
@@ -40,6 +41,8 @@ module OCI
40
41
  attr_accessor :description
41
42
 
42
43
  # **[Required]** A rule string that defines which instance certificates will be matched.
44
+ # For syntax, see [Managing Dynamic Groups](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Tasks/managingdynamicgroups.htm).
45
+ #
43
46
  # @return [String]
44
47
  attr_accessor :matching_rule
45
48
 
@@ -3,13 +3,15 @@
3
3
  require 'date'
4
4
 
5
5
  module OCI
6
- # Properties for updating a dynamic group
6
+ # Properties for updating a dynamic group.
7
7
  class Identity::Models::UpdateDynamicGroupDetails
8
8
  # The description you assign to the dynamic group. Does not have to be unique, and it's changeable.
9
9
  # @return [String]
10
10
  attr_accessor :description
11
11
 
12
- # The matching rule to dynamically match an instance certificate to this dynamic group
12
+ # The matching rule to dynamically match an instance certificate to this dynamic group.
13
+ # For rule syntax, see [Managing Dynamic Groups](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Tasks/managingdynamicgroups.htm).
14
+ #
13
15
  # @return [String]
14
16
  attr_accessor :matching_rule
15
17
 
@@ -22,6 +22,7 @@ require 'oci/load_balancer/models/create_backend_set_details'
22
22
  require 'oci/load_balancer/models/create_certificate_details'
23
23
  require 'oci/load_balancer/models/create_listener_details'
24
24
  require 'oci/load_balancer/models/create_load_balancer_details'
25
+ require 'oci/load_balancer/models/create_path_route_set_details'
25
26
  require 'oci/load_balancer/models/health_check_result'
26
27
  require 'oci/load_balancer/models/health_checker'
27
28
  require 'oci/load_balancer/models/health_checker_details'
@@ -34,6 +35,10 @@ require 'oci/load_balancer/models/load_balancer_health_summary'
34
35
  require 'oci/load_balancer/models/load_balancer_policy'
35
36
  require 'oci/load_balancer/models/load_balancer_protocol'
36
37
  require 'oci/load_balancer/models/load_balancer_shape'
38
+ require 'oci/load_balancer/models/path_match_type'
39
+ require 'oci/load_balancer/models/path_route'
40
+ require 'oci/load_balancer/models/path_route_set'
41
+ require 'oci/load_balancer/models/path_route_set_details'
37
42
  require 'oci/load_balancer/models/ssl_configuration'
38
43
  require 'oci/load_balancer/models/ssl_configuration_details'
39
44
  require 'oci/load_balancer/models/session_persistence_configuration_details'
@@ -42,6 +47,7 @@ require 'oci/load_balancer/models/update_backend_set_details'
42
47
  require 'oci/load_balancer/models/update_health_checker_details'
43
48
  require 'oci/load_balancer/models/update_listener_details'
44
49
  require 'oci/load_balancer/models/update_load_balancer_details'
50
+ require 'oci/load_balancer/models/update_path_route_set_details'
45
51
  require 'oci/load_balancer/models/work_request'
46
52
  require 'oci/load_balancer/models/work_request_error'
47
53
 
@@ -317,6 +317,51 @@ module OCI
317
317
  :body => post_body)
318
318
  end
319
319
 
320
+ # Adds a path route set to a load balancer. For more information, see
321
+ # [Managing Request Routing](https://docs.us-phoenix-1.oraclecloud.com/Content/Balance/Tasks/managingrequest.htm).
322
+ #
323
+ # @param [CreatePathRouteSetDetails] create_path_route_set_details The details of the path route set to add.
324
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer to add the path route set to.
325
+ # @param [Hash] opts the optional parameters
326
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
327
+ # particular request, please provide the request ID.
328
+ # (default to )
329
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
330
+ # server error without risk of executing that same action again. Retry tokens expire after 24
331
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
332
+ # has been deleted and purged from the system, then a retry of the original creation request
333
+ # may be rejected).
334
+ #
335
+ # @return [Response] A Response object with data of type nil
336
+ def create_path_route_set(create_path_route_set_details, load_balancer_id, opts = {})
337
+ logger.debug "Calling operation LoadBalancerClient#create_path_route_set." if logger
338
+
339
+ fail "Missing the required parameter 'create_path_route_set_details' when calling create_path_route_set." if create_path_route_set_details.nil?
340
+ fail "Missing the required parameter 'load_balancer_id' when calling create_path_route_set." if load_balancer_id.nil?
341
+
342
+ path = "/loadBalancers/{loadBalancerId}/pathRouteSets".sub('{loadBalancerId}', load_balancer_id.to_s)
343
+
344
+ # Query Params
345
+ query_params = {}
346
+
347
+ # Header Params
348
+ header_params = {}
349
+ header_params['accept'] = 'application/json'
350
+ header_params['content-type'] = 'application/json'
351
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
352
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
353
+
354
+ post_body = @api_client.object_to_http_body(create_path_route_set_details)
355
+
356
+ return @api_client.call_api(
357
+ :POST,
358
+ path,
359
+ endpoint,
360
+ :header_params => header_params,
361
+ :query_params => query_params,
362
+ :body => post_body)
363
+ end
364
+
320
365
  # Removes a backend server from a given load balancer and backend set.
321
366
  # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and server.
322
367
  # @param [String] backend_set_name The name of the backend set associated with the backend server.
@@ -515,6 +560,49 @@ module OCI
515
560
  :body => post_body)
516
561
  end
517
562
 
563
+ # Deletes a path route set from the specified load balancer.
564
+ #
565
+ # To delete a path route rule from a path route set, use the
566
+ # {#update_path_route_set update_path_route_set} operation.
567
+ #
568
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the path route set to delete.
569
+ # @param [String] path_route_set_name The name of the path route set to delete.
570
+ #
571
+ # Example: `path-route-set-001`
572
+ #
573
+ # @param [Hash] opts the optional parameters
574
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
575
+ # particular request, please provide the request ID.
576
+ # (default to )
577
+ # @return [Response] A Response object with data of type nil
578
+ def delete_path_route_set(load_balancer_id, path_route_set_name, opts = {})
579
+ logger.debug "Calling operation LoadBalancerClient#delete_path_route_set." if logger
580
+
581
+ fail "Missing the required parameter 'load_balancer_id' when calling delete_path_route_set." if load_balancer_id.nil?
582
+ fail "Missing the required parameter 'path_route_set_name' when calling delete_path_route_set." if path_route_set_name.nil?
583
+
584
+ path = "/loadBalancers/{loadBalancerId}/pathRouteSets/{pathRouteSetName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{pathRouteSetName}', path_route_set_name.to_s)
585
+
586
+ # Query Params
587
+ query_params = {}
588
+
589
+ # Header Params
590
+ header_params = {}
591
+ header_params['accept'] = 'application/json'
592
+ header_params['content-type'] = 'application/json'
593
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
594
+
595
+ post_body = nil
596
+
597
+ return @api_client.call_api(
598
+ :DELETE,
599
+ path,
600
+ endpoint,
601
+ :header_params => header_params,
602
+ :query_params => query_params,
603
+ :body => post_body)
604
+ end
605
+
518
606
  # Gets the specified backend server's configuration information.
519
607
  # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and server.
520
608
  # @param [String] backend_set_name The name of the backend set that includes the backend server.
@@ -795,6 +883,46 @@ module OCI
795
883
  :return_type => 'OCI::LoadBalancer::Models::LoadBalancerHealth')
796
884
  end
797
885
 
886
+ # Gets the specified path route set's configuration information.
887
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the specified load balancer.
888
+ # @param [String] path_route_set_name The name of the path route set to retrieve.
889
+ #
890
+ # Example: `path-route-set-001`
891
+ #
892
+ # @param [Hash] opts the optional parameters
893
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
894
+ # particular request, please provide the request ID.
895
+ # (default to )
896
+ # @return [Response] A Response object with data of type OCI::LoadBalancer::Models::PathRouteSet
897
+ def get_path_route_set(load_balancer_id, path_route_set_name, opts = {})
898
+ logger.debug "Calling operation LoadBalancerClient#get_path_route_set." if logger
899
+
900
+ fail "Missing the required parameter 'load_balancer_id' when calling get_path_route_set." if load_balancer_id.nil?
901
+ fail "Missing the required parameter 'path_route_set_name' when calling get_path_route_set." if path_route_set_name.nil?
902
+
903
+ path = "/loadBalancers/{loadBalancerId}/pathRouteSets/{pathRouteSetName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{pathRouteSetName}', path_route_set_name.to_s)
904
+
905
+ # Query Params
906
+ query_params = {}
907
+
908
+ # Header Params
909
+ header_params = {}
910
+ header_params['accept'] = 'application/json'
911
+ header_params['content-type'] = 'application/json'
912
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
913
+
914
+ post_body = nil
915
+
916
+ return @api_client.call_api(
917
+ :GET,
918
+ path,
919
+ endpoint,
920
+ :header_params => header_params,
921
+ :query_params => query_params,
922
+ :body => post_body,
923
+ :return_type => 'OCI::LoadBalancer::Models::PathRouteSet')
924
+ end
925
+
798
926
  # Gets the details of a work request.
799
927
  # @param [String] work_request_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the work request to retrieve.
800
928
  # @param [Hash] opts the optional parameters
@@ -1064,6 +1192,43 @@ module OCI
1064
1192
  :return_type => 'Array<OCI::LoadBalancer::Models::LoadBalancer>')
1065
1193
  end
1066
1194
 
1195
+ # Lists all path route sets associated with the specified load balancer.
1196
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the path route sets
1197
+ # to retrieve.
1198
+ #
1199
+ # @param [Hash] opts the optional parameters
1200
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1201
+ # particular request, please provide the request ID.
1202
+ # (default to )
1203
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::PathRouteSet>
1204
+ def list_path_route_sets(load_balancer_id, opts = {})
1205
+ logger.debug "Calling operation LoadBalancerClient#list_path_route_sets." if logger
1206
+
1207
+ fail "Missing the required parameter 'load_balancer_id' when calling list_path_route_sets." if load_balancer_id.nil?
1208
+
1209
+ path = "/loadBalancers/{loadBalancerId}/pathRouteSets".sub('{loadBalancerId}', load_balancer_id.to_s)
1210
+
1211
+ # Query Params
1212
+ query_params = {}
1213
+
1214
+ # Header Params
1215
+ header_params = {}
1216
+ header_params['accept'] = 'application/json'
1217
+ header_params['content-type'] = 'application/json'
1218
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1219
+
1220
+ post_body = nil
1221
+
1222
+ return @api_client.call_api(
1223
+ :GET,
1224
+ path,
1225
+ endpoint,
1226
+ :header_params => header_params,
1227
+ :query_params => query_params,
1228
+ :body => post_body,
1229
+ :return_type => 'Array<OCI::LoadBalancer::Models::PathRouteSet>')
1230
+ end
1231
+
1067
1232
  # Lists the available load balancer policies.
1068
1233
  # @param [String] compartment_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the compartment containing the load balancer policies to list.
1069
1234
  # @param [Hash] opts the optional parameters
@@ -1486,5 +1651,59 @@ module OCI
1486
1651
  :query_params => query_params,
1487
1652
  :body => post_body)
1488
1653
  end
1654
+
1655
+ # Overwrites an existing path route set on the specified load balancer. Use this operation to add, delete, or alter
1656
+ # path route rules in a path route set.
1657
+ #
1658
+ # To add a new path route rule to a path route set, the `pathRoutes` in the
1659
+ # {#update_path_route_set_details update_path_route_set_details} object must include
1660
+ # both the new path route rule to add and the existing path route rules to retain.
1661
+ #
1662
+ # @param [UpdatePathRouteSetDetails] update_path_route_set_details The configuration details to update a path route set.
1663
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the path route set to update.
1664
+ # @param [String] path_route_set_name The name of the path route set to update.
1665
+ #
1666
+ # Example: `path-route-set-001`
1667
+ #
1668
+ # @param [Hash] opts the optional parameters
1669
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1670
+ # particular request, please provide the request ID.
1671
+ # (default to )
1672
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
1673
+ # server error without risk of executing that same action again. Retry tokens expire after 24
1674
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
1675
+ # has been deleted and purged from the system, then a retry of the original creation request
1676
+ # may be rejected).
1677
+ #
1678
+ # @return [Response] A Response object with data of type nil
1679
+ def update_path_route_set(update_path_route_set_details, load_balancer_id, path_route_set_name, opts = {})
1680
+ logger.debug "Calling operation LoadBalancerClient#update_path_route_set." if logger
1681
+
1682
+ fail "Missing the required parameter 'update_path_route_set_details' when calling update_path_route_set." if update_path_route_set_details.nil?
1683
+ fail "Missing the required parameter 'load_balancer_id' when calling update_path_route_set." if load_balancer_id.nil?
1684
+ fail "Missing the required parameter 'path_route_set_name' when calling update_path_route_set." if path_route_set_name.nil?
1685
+
1686
+ path = "/loadBalancers/{loadBalancerId}/pathRouteSets/{pathRouteSetName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{pathRouteSetName}', path_route_set_name.to_s)
1687
+
1688
+ # Query Params
1689
+ query_params = {}
1690
+
1691
+ # Header Params
1692
+ header_params = {}
1693
+ header_params['accept'] = 'application/json'
1694
+ header_params['content-type'] = 'application/json'
1695
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1696
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
1697
+
1698
+ post_body = @api_client.object_to_http_body(update_path_route_set_details)
1699
+
1700
+ return @api_client.call_api(
1701
+ :PUT,
1702
+ path,
1703
+ endpoint,
1704
+ :header_params => header_params,
1705
+ :query_params => query_params,
1706
+ :body => post_body)
1707
+ end
1489
1708
  end
1490
1709
  end
@@ -26,6 +26,14 @@ module OCI
26
26
  # @return [String]
27
27
  attr_accessor :name
28
28
 
29
+ # The name of the set of path-based routing rules, {PathRouteSet},
30
+ # applied to this listener's traffic.
31
+ #
32
+ # Example: `path-route-set-001`
33
+ #
34
+ # @return [String]
35
+ attr_accessor :path_route_set_name
36
+
29
37
  # **[Required]** The communication port for the listener.
30
38
  #
31
39
  # Example: `80`
@@ -51,6 +59,7 @@ module OCI
51
59
  # @option attributes [OCI::LoadBalancer::Models::ConnectionConfiguration] :connectionConfiguration The value to assign to the {#connection_configuration} property
52
60
  # @option attributes [String] :defaultBackendSetName The value to assign to the {#default_backend_set_name} property
53
61
  # @option attributes [String] :name The value to assign to the {#name} property
62
+ # @option attributes [String] :pathRouteSetName The value to assign to the {#path_route_set_name} property
54
63
  # @option attributes [Integer] :port The value to assign to the {#port} property
55
64
  # @option attributes [String] :protocol The value to assign to the {#protocol} property
56
65
  # @option attributes [OCI::LoadBalancer::Models::SSLConfigurationDetails] :sslConfiguration The value to assign to the {#ssl_configuration} property
@@ -72,6 +81,10 @@ module OCI
72
81
  self.name = attributes[:'name']
73
82
  end
74
83
 
84
+ if attributes[:'pathRouteSetName']
85
+ self.path_route_set_name = attributes[:'pathRouteSetName']
86
+ end
87
+
75
88
  if attributes[:'port']
76
89
  self.port = attributes[:'port']
77
90
  end
@@ -94,6 +107,7 @@ module OCI
94
107
  connection_configuration == other_object.connection_configuration &&
95
108
  default_backend_set_name == other_object.default_backend_set_name &&
96
109
  name == other_object.name &&
110
+ path_route_set_name == other_object.path_route_set_name &&
97
111
  port == other_object.port &&
98
112
  protocol == other_object.protocol &&
99
113
  ssl_configuration == other_object.ssl_configuration
@@ -108,7 +122,7 @@ module OCI
108
122
  # Calculates hash code according to all attributes.
109
123
  # @return [Fixnum] Hash code
110
124
  def hash
111
- [connection_configuration, default_backend_set_name, name, port, protocol, ssl_configuration].hash
125
+ [connection_configuration, default_backend_set_name, name, path_route_set_name, port, protocol, ssl_configuration].hash
112
126
  end
113
127
 
114
128
  # Builds the object from hash
@@ -177,6 +191,7 @@ module OCI
177
191
  :'connection_configuration' => :'connectionConfiguration',
178
192
  :'default_backend_set_name' => :'defaultBackendSetName',
179
193
  :'name' => :'name',
194
+ :'path_route_set_name' => :'pathRouteSetName',
180
195
  :'port' => :'port',
181
196
  :'protocol' => :'protocol',
182
197
  :'ssl_configuration' => :'sslConfiguration'
@@ -189,6 +204,7 @@ module OCI
189
204
  :'connection_configuration' => :'OCI::LoadBalancer::Models::ConnectionConfiguration',
190
205
  :'default_backend_set_name' => :'String',
191
206
  :'name' => :'String',
207
+ :'path_route_set_name' => :'String',
192
208
  :'port' => :'Integer',
193
209
  :'protocol' => :'String',
194
210
  :'ssl_configuration' => :'OCI::LoadBalancer::Models::SSLConfigurationDetails'