oci 2.3.0 → 2.3.1

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/oci/core/blockstorage_client.rb +412 -13
  4. data/lib/oci/core/blockstorage_client_composite_operations.rb +158 -0
  5. data/lib/oci/core/compute_client.rb +6 -7
  6. data/lib/oci/core/core.rb +13 -0
  7. data/lib/oci/core/models/boot_volume.rb +68 -1
  8. data/lib/oci/core/models/boot_volume_backup.rb +435 -0
  9. data/lib/oci/core/models/boot_volume_source_details.rb +163 -0
  10. data/lib/oci/core/models/boot_volume_source_from_boot_volume_backup_details.rb +154 -0
  11. data/lib/oci/core/models/boot_volume_source_from_boot_volume_details.rb +154 -0
  12. data/lib/oci/core/models/create_boot_volume_backup_details.rb +227 -0
  13. data/lib/oci/core/models/create_boot_volume_details.rb +250 -0
  14. data/lib/oci/core/models/create_service_gateway_details.rb +228 -0
  15. data/lib/oci/core/models/egress_security_rule.rb +44 -3
  16. data/lib/oci/core/models/ingress_security_rule.rb +47 -3
  17. data/lib/oci/core/models/instance_source_via_image_details.rb +0 -1
  18. data/lib/oci/core/models/route_rule.rb +59 -2
  19. data/lib/oci/core/models/service.rb +185 -0
  20. data/lib/oci/core/models/service_gateway.rb +325 -0
  21. data/lib/oci/core/models/service_id_request_details.rb +151 -0
  22. data/lib/oci/core/models/service_id_response_details.rb +165 -0
  23. data/lib/oci/core/models/update_boot_volume_backup_details.rb +189 -0
  24. data/lib/oci/core/models/update_boot_volume_details.rb +41 -4
  25. data/lib/oci/core/models/update_service_gateway_details.rb +225 -0
  26. data/lib/oci/core/models/volume_group.rb +21 -7
  27. data/lib/oci/core/models/volume_group_backup.rb +39 -7
  28. data/lib/oci/core/models/volume_group_source_from_volumes_details.rb +1 -1
  29. data/lib/oci/core/virtual_network_client.rb +582 -1
  30. data/lib/oci/core/virtual_network_client_composite_operations.rb +119 -0
  31. data/lib/oci/version.rb +1 -1
  32. metadata +15 -2
@@ -5,7 +5,7 @@ require_relative 'volume_group_source_details'
5
5
 
6
6
  # rubocop:disable Lint/UnneededCopDisableDirective
7
7
  module OCI
8
- # Specifies volumes in a volume group.
8
+ # Specifies the volumes in a volume group.
9
9
  class Core::Models::VolumeGroupSourceFromVolumesDetails < Core::Models::VolumeGroupSourceDetails # rubocop:disable Metrics/LineLength
10
10
  # **[Required]** OCIDs for the volumes in this volume group.
11
11
  # @return [Array<String>]
@@ -94,6 +94,74 @@ module OCI
94
94
  @api_client.config.logger
95
95
  end
96
96
 
97
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
98
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
99
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
100
+
101
+
102
+ # Enables the specified service on the specified gateway. In other words, enables the service
103
+ # gateway to send traffic to the specified service. You must also set up a route rule with the
104
+ # service's `cidrBlock` as the rule's destination CIDR and the gateway as the rule's target.
105
+ # See {RouteTable}.
106
+ #
107
+ # **Note:** The `AttachServiceId` operation is an easy way to enable an individual service on
108
+ # the service gateway. Compare it with
109
+ # {#update_service_gateway update_service_gateway}, which also
110
+ # lets you enable an individual service. However, with `UpdateServiceGateway`, you must specify
111
+ # the *entire* list of services you want enabled on the service gateway.
112
+ #
113
+ # @param [String] service_gateway_id The service gateway's [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
114
+ # @param [OCI::Core::Models::ServiceIdRequestDetails] attach_service_details ServiceId of Service to be attached to a Service Gateway.
115
+ # @param [Hash] opts the optional parameters
116
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
117
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
118
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
119
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
120
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
121
+ #
122
+ # @return [Response] A Response object with data of type {OCI::Core::Models::ServiceGateway ServiceGateway}
123
+ def attach_service_id(service_gateway_id, attach_service_details, opts = {})
124
+ logger.debug 'Calling operation VirtualNetworkClient#attach_service_id.' if logger
125
+
126
+ raise "Missing the required parameter 'service_gateway_id' when calling attach_service_id." if service_gateway_id.nil?
127
+ raise "Missing the required parameter 'attach_service_details' when calling attach_service_id." if attach_service_details.nil?
128
+ raise "Parameter value for 'service_gateway_id' must not be blank" if OCI::Internal::Util.blank_string?(service_gateway_id)
129
+
130
+ path = '/serviceGateways/{serviceGatewayId}/actions/attachService'.sub('{serviceGatewayId}', service_gateway_id.to_s)
131
+ operation_signing_strategy = :standard
132
+
133
+ # rubocop:disable Style/NegatedIf
134
+ # Query Params
135
+ query_params = {}
136
+
137
+ # Header Params
138
+ header_params = {}
139
+ header_params['accept'] = 'application/json'
140
+ header_params['content-type'] = 'application/json'
141
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
142
+ # rubocop:enable Style/NegatedIf
143
+
144
+ post_body = @api_client.object_to_http_body(attach_service_details)
145
+
146
+ # rubocop:disable Metrics/BlockLength
147
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#attach_service_id') do
148
+ @api_client.call_api(
149
+ :POST,
150
+ path,
151
+ endpoint,
152
+ header_params: header_params,
153
+ query_params: query_params,
154
+ operation_signing_strategy: operation_signing_strategy,
155
+ body: post_body,
156
+ return_type: 'OCI::Core::Models::ServiceGateway'
157
+ )
158
+ end
159
+ # rubocop:enable Metrics/BlockLength
160
+ end
161
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
162
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
163
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
164
+
97
165
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
98
166
  # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
99
167
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
@@ -772,7 +840,7 @@ module OCI
772
840
 
773
841
 
774
842
  # Creates a new Internet Gateway for the specified VCN. For more information, see
775
- # [Connectivity to the Internet](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIGs.htm).
843
+ # [Access to the Internet](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingIGs.htm).
776
844
  #
777
845
  # For the purposes of access control, you must provide the OCID of the compartment where you want the Internet
778
846
  # Gateway to reside. Notice that the Internet Gateway doesn't have to be in the same compartment as the VCN or
@@ -1336,6 +1404,73 @@ module OCI
1336
1404
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1337
1405
 
1338
1406
 
1407
+ # Creates a new service gateway in the specified compartment.
1408
+ #
1409
+ # For the purposes of access control, you must provide the OCID of the compartment where you want
1410
+ # the service gateway to reside. For more information about compartments and access control, see
1411
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
1412
+ # For information about OCIDs, see [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
1413
+ #
1414
+ # You may optionally specify a *display name* for the service gateway, otherwise a default is provided.
1415
+ # It does not have to be unique, and you can change it. Avoid entering confidential information.
1416
+ #
1417
+ # @param [OCI::Core::Models::CreateServiceGatewayDetails] create_service_gateway_details Details for creating a service gateway.
1418
+ # @param [Hash] opts the optional parameters
1419
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
1420
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
1421
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
1422
+ # server error without risk of executing that same action again. Retry tokens expire after 24
1423
+ # hours, but can be invalidated before then due to conflicting operations (for example, if a resource
1424
+ # has been deleted and purged from the system, then a retry of the original creation request
1425
+ # may be rejected).
1426
+ #
1427
+ # @return [Response] A Response object with data of type {OCI::Core::Models::ServiceGateway ServiceGateway}
1428
+ def create_service_gateway(create_service_gateway_details, opts = {})
1429
+ logger.debug 'Calling operation VirtualNetworkClient#create_service_gateway.' if logger
1430
+
1431
+ raise "Missing the required parameter 'create_service_gateway_details' when calling create_service_gateway." if create_service_gateway_details.nil?
1432
+
1433
+ path = '/serviceGateways'
1434
+ operation_signing_strategy = :standard
1435
+
1436
+ # rubocop:disable Style/NegatedIf
1437
+ # Query Params
1438
+ query_params = {}
1439
+
1440
+ # Header Params
1441
+ header_params = {}
1442
+ header_params['accept'] = 'application/json'
1443
+ header_params['content-type'] = 'application/json'
1444
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
1445
+ # rubocop:enable Style/NegatedIf
1446
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
1447
+
1448
+ post_body = @api_client.object_to_http_body(create_service_gateway_details)
1449
+
1450
+ # rubocop:disable Metrics/BlockLength
1451
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#create_service_gateway') do
1452
+ @api_client.call_api(
1453
+ :POST,
1454
+ path,
1455
+ endpoint,
1456
+ header_params: header_params,
1457
+ query_params: query_params,
1458
+ operation_signing_strategy: operation_signing_strategy,
1459
+ body: post_body,
1460
+ return_type: 'OCI::Core::Models::ServiceGateway'
1461
+ )
1462
+ end
1463
+ # rubocop:enable Metrics/BlockLength
1464
+ end
1465
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
1466
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
1467
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
1468
+
1469
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
1470
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
1471
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1472
+
1473
+
1339
1474
  # Creates a new subnet in the specified VCN. You can't change the size of the subnet after creation,
1340
1475
  # so it's important to think about the size of subnets you need before creating them.
1341
1476
  # For more information, see [VCNs and Subnets](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/managingVCNs.htm).
@@ -2434,6 +2569,63 @@ module OCI
2434
2569
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2435
2570
 
2436
2571
 
2572
+ # Deletes the specified service gateway. There must not be a route table that lists the service
2573
+ # gateway as a target.
2574
+ #
2575
+ # @param [String] service_gateway_id The service gateway's [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
2576
+ # @param [Hash] opts the optional parameters
2577
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
2578
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
2579
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2580
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2581
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
2582
+ #
2583
+ # @return [Response] A Response object with data of type nil
2584
+ def delete_service_gateway(service_gateway_id, opts = {})
2585
+ logger.debug 'Calling operation VirtualNetworkClient#delete_service_gateway.' if logger
2586
+
2587
+ raise "Missing the required parameter 'service_gateway_id' when calling delete_service_gateway." if service_gateway_id.nil?
2588
+ raise "Parameter value for 'service_gateway_id' must not be blank" if OCI::Internal::Util.blank_string?(service_gateway_id)
2589
+
2590
+ path = '/serviceGateways/{serviceGatewayId}'.sub('{serviceGatewayId}', service_gateway_id.to_s)
2591
+ operation_signing_strategy = :standard
2592
+
2593
+ # rubocop:disable Style/NegatedIf
2594
+ # Query Params
2595
+ query_params = {}
2596
+
2597
+ # Header Params
2598
+ header_params = {}
2599
+ header_params['accept'] = 'application/json'
2600
+ header_params['content-type'] = 'application/json'
2601
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
2602
+ # rubocop:enable Style/NegatedIf
2603
+
2604
+ post_body = nil
2605
+
2606
+ # rubocop:disable Metrics/BlockLength
2607
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#delete_service_gateway') do
2608
+ @api_client.call_api(
2609
+ :DELETE,
2610
+ path,
2611
+ endpoint,
2612
+ header_params: header_params,
2613
+ query_params: query_params,
2614
+ operation_signing_strategy: operation_signing_strategy,
2615
+ body: post_body
2616
+ )
2617
+ end
2618
+ # rubocop:enable Metrics/BlockLength
2619
+ end
2620
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2621
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
2622
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
2623
+
2624
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2625
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
2626
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2627
+
2628
+
2437
2629
  # Deletes the specified subnet, but only if there are no instances in the subnet. This is an asynchronous
2438
2630
  # operation. The subnet's `lifecycleState` will change to TERMINATING temporarily. If there are any
2439
2631
  # instances in the subnet, the state will instead change back to AVAILABLE.
@@ -2605,6 +2797,77 @@ module OCI
2605
2797
  # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
2606
2798
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
2607
2799
 
2800
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2801
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
2802
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2803
+
2804
+
2805
+ # Disables the specified service on the specified gateway. In other words, stops the service
2806
+ # gateway from sending traffic to the specified service. You do not need to remove any route
2807
+ # rules that specify this service's `cidrBlock` as the destination CIDR. However, consider
2808
+ # removing the rules if your intent is to permanently disable use of the service through this
2809
+ # service gateway.
2810
+ #
2811
+ # **Note:** The `DetachServiceId` operation is an easy way to disable an individual service on
2812
+ # the service gateway. Compare it with
2813
+ # {#update_service_gateway update_service_gateway}, which also
2814
+ # lets you disable an individual service. However, with `UpdateServiceGateway`, you must specify
2815
+ # the *entire* list of services you want enabled on the service gateway. `UpdateServiceGateway`
2816
+ # also lets you block all traffic through the service gateway without having to disable each of
2817
+ # the individual services.
2818
+ #
2819
+ # @param [String] service_gateway_id The service gateway's [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
2820
+ # @param [OCI::Core::Models::ServiceIdRequestDetails] detach_service_details ServiceId of Service to be detached from a Service Gateway.
2821
+ # @param [Hash] opts the optional parameters
2822
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
2823
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
2824
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
2825
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
2826
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
2827
+ #
2828
+ # @return [Response] A Response object with data of type {OCI::Core::Models::ServiceGateway ServiceGateway}
2829
+ def detach_service_id(service_gateway_id, detach_service_details, opts = {})
2830
+ logger.debug 'Calling operation VirtualNetworkClient#detach_service_id.' if logger
2831
+
2832
+ raise "Missing the required parameter 'service_gateway_id' when calling detach_service_id." if service_gateway_id.nil?
2833
+ raise "Missing the required parameter 'detach_service_details' when calling detach_service_id." if detach_service_details.nil?
2834
+ raise "Parameter value for 'service_gateway_id' must not be blank" if OCI::Internal::Util.blank_string?(service_gateway_id)
2835
+
2836
+ path = '/serviceGateways/{serviceGatewayId}/actions/detachService'.sub('{serviceGatewayId}', service_gateway_id.to_s)
2837
+ operation_signing_strategy = :standard
2838
+
2839
+ # rubocop:disable Style/NegatedIf
2840
+ # Query Params
2841
+ query_params = {}
2842
+
2843
+ # Header Params
2844
+ header_params = {}
2845
+ header_params['accept'] = 'application/json'
2846
+ header_params['content-type'] = 'application/json'
2847
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
2848
+ # rubocop:enable Style/NegatedIf
2849
+
2850
+ post_body = @api_client.object_to_http_body(detach_service_details)
2851
+
2852
+ # rubocop:disable Metrics/BlockLength
2853
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#detach_service_id') do
2854
+ @api_client.call_api(
2855
+ :POST,
2856
+ path,
2857
+ endpoint,
2858
+ header_params: header_params,
2859
+ query_params: query_params,
2860
+ operation_signing_strategy: operation_signing_strategy,
2861
+ body: post_body,
2862
+ return_type: 'OCI::Core::Models::ServiceGateway'
2863
+ )
2864
+ end
2865
+ # rubocop:enable Metrics/BlockLength
2866
+ end
2867
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2868
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
2869
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
2870
+
2608
2871
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2609
2872
  # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
2610
2873
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
@@ -3763,6 +4026,113 @@ module OCI
3763
4026
  # rubocop:disable Lint/UnusedMethodArgument
3764
4027
 
3765
4028
 
4029
+ # Gets the specified service's information.
4030
+ #
4031
+ # @param [String] service_id The service's [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
4032
+ # @param [Hash] opts the optional parameters
4033
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
4034
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
4035
+ # @return [Response] A Response object with data of type {OCI::Core::Models::Service Service}
4036
+ def get_service(service_id, opts = {})
4037
+ logger.debug 'Calling operation VirtualNetworkClient#get_service.' if logger
4038
+
4039
+ raise "Missing the required parameter 'service_id' when calling get_service." if service_id.nil?
4040
+ raise "Parameter value for 'service_id' must not be blank" if OCI::Internal::Util.blank_string?(service_id)
4041
+
4042
+ path = '/services/{serviceId}'.sub('{serviceId}', service_id.to_s)
4043
+ operation_signing_strategy = :standard
4044
+
4045
+ # rubocop:disable Style/NegatedIf
4046
+ # Query Params
4047
+ query_params = {}
4048
+
4049
+ # Header Params
4050
+ header_params = {}
4051
+ header_params['accept'] = 'application/json'
4052
+ header_params['content-type'] = 'application/json'
4053
+ # rubocop:enable Style/NegatedIf
4054
+
4055
+ post_body = nil
4056
+
4057
+ # rubocop:disable Metrics/BlockLength
4058
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#get_service') do
4059
+ @api_client.call_api(
4060
+ :GET,
4061
+ path,
4062
+ endpoint,
4063
+ header_params: header_params,
4064
+ query_params: query_params,
4065
+ operation_signing_strategy: operation_signing_strategy,
4066
+ body: post_body,
4067
+ return_type: 'OCI::Core::Models::Service'
4068
+ )
4069
+ end
4070
+ # rubocop:enable Metrics/BlockLength
4071
+ end
4072
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4073
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
4074
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
4075
+ # rubocop:enable Lint/UnusedMethodArgument
4076
+
4077
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4078
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
4079
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
4080
+ # rubocop:disable Lint/UnusedMethodArgument
4081
+
4082
+
4083
+ # Gets the specified service gateway's information.
4084
+ # @param [String] service_gateway_id The service gateway's [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
4085
+ # @param [Hash] opts the optional parameters
4086
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
4087
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
4088
+ # @return [Response] A Response object with data of type {OCI::Core::Models::ServiceGateway ServiceGateway}
4089
+ def get_service_gateway(service_gateway_id, opts = {})
4090
+ logger.debug 'Calling operation VirtualNetworkClient#get_service_gateway.' if logger
4091
+
4092
+ raise "Missing the required parameter 'service_gateway_id' when calling get_service_gateway." if service_gateway_id.nil?
4093
+ raise "Parameter value for 'service_gateway_id' must not be blank" if OCI::Internal::Util.blank_string?(service_gateway_id)
4094
+
4095
+ path = '/serviceGateways/{serviceGatewayId}'.sub('{serviceGatewayId}', service_gateway_id.to_s)
4096
+ operation_signing_strategy = :standard
4097
+
4098
+ # rubocop:disable Style/NegatedIf
4099
+ # Query Params
4100
+ query_params = {}
4101
+
4102
+ # Header Params
4103
+ header_params = {}
4104
+ header_params['accept'] = 'application/json'
4105
+ header_params['content-type'] = 'application/json'
4106
+ # rubocop:enable Style/NegatedIf
4107
+
4108
+ post_body = nil
4109
+
4110
+ # rubocop:disable Metrics/BlockLength
4111
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#get_service_gateway') do
4112
+ @api_client.call_api(
4113
+ :GET,
4114
+ path,
4115
+ endpoint,
4116
+ header_params: header_params,
4117
+ query_params: query_params,
4118
+ operation_signing_strategy: operation_signing_strategy,
4119
+ body: post_body,
4120
+ return_type: 'OCI::Core::Models::ServiceGateway'
4121
+ )
4122
+ end
4123
+ # rubocop:enable Metrics/BlockLength
4124
+ end
4125
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4126
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
4127
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
4128
+ # rubocop:enable Lint/UnusedMethodArgument
4129
+
4130
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4131
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
4132
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
4133
+ # rubocop:disable Lint/UnusedMethodArgument
4134
+
4135
+
3766
4136
  # Gets the specified subnet's information.
3767
4137
  # @param [String] subnet_id The OCID of the subnet.
3768
4138
  # @param [Hash] opts the optional parameters
@@ -5408,6 +5778,157 @@ module OCI
5408
5778
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
5409
5779
 
5410
5780
 
5781
+ # Lists the service gateways in the specified compartment. You may optionally specify a VCN OCID
5782
+ # to filter the results by VCN.
5783
+ #
5784
+ # @param [String] compartment_id The OCID of the compartment.
5785
+ # @param [Hash] opts the optional parameters
5786
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
5787
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
5788
+ # @option opts [String] :vcn_id The OCID of the VCN.
5789
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
5790
+ #
5791
+ # Example: `500`
5792
+ #
5793
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
5794
+ #
5795
+ # @option opts [String] :sort_by The field to sort by. You can provide one sort order (`sortOrder`). Default order for
5796
+ # TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
5797
+ # sort order is case sensitive.
5798
+ #
5799
+ # **Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
5800
+ # optionally filter by Availability Domain if the scope of the resource type is within a
5801
+ # single Availability Domain. If you call one of these \"List\" operations without specifying
5802
+ # an Availability Domain, the resources are grouped by Availability Domain, then sorted.
5803
+ #
5804
+ # Allowed values are: TIMECREATED, DISPLAYNAME
5805
+ # @option opts [String] :sort_order The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order
5806
+ # is case sensitive.
5807
+ #
5808
+ # Allowed values are: ASC, DESC
5809
+ # @option opts [String] :lifecycle_state A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.
5810
+ #
5811
+ # @return [Response] A Response object with data of type Array<{OCI::Core::Models::ServiceGateway ServiceGateway}>
5812
+ def list_service_gateways(compartment_id, opts = {})
5813
+ logger.debug 'Calling operation VirtualNetworkClient#list_service_gateways.' if logger
5814
+
5815
+ raise "Missing the required parameter 'compartment_id' when calling list_service_gateways." if compartment_id.nil?
5816
+
5817
+ if opts[:sort_by] && !%w[TIMECREATED DISPLAYNAME].include?(opts[:sort_by])
5818
+ raise 'Invalid value for "sort_by", must be one of TIMECREATED, DISPLAYNAME.'
5819
+ end
5820
+
5821
+ if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
5822
+ raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
5823
+ end
5824
+
5825
+ if opts[:lifecycle_state] && !OCI::Core::Models::ServiceGateway::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
5826
+ raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Core::Models::ServiceGateway::LIFECYCLE_STATE_ENUM.'
5827
+ end
5828
+
5829
+ path = '/serviceGateways'
5830
+ operation_signing_strategy = :standard
5831
+
5832
+ # rubocop:disable Style/NegatedIf
5833
+ # Query Params
5834
+ query_params = {}
5835
+ query_params[:compartmentId] = compartment_id
5836
+ query_params[:vcnId] = opts[:vcn_id] if opts[:vcn_id]
5837
+ query_params[:limit] = opts[:limit] if opts[:limit]
5838
+ query_params[:page] = opts[:page] if opts[:page]
5839
+ query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
5840
+ query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
5841
+ query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]
5842
+
5843
+ # Header Params
5844
+ header_params = {}
5845
+ header_params['accept'] = 'application/json'
5846
+ header_params['content-type'] = 'application/json'
5847
+ # rubocop:enable Style/NegatedIf
5848
+
5849
+ post_body = nil
5850
+
5851
+ # rubocop:disable Metrics/BlockLength
5852
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#list_service_gateways') do
5853
+ @api_client.call_api(
5854
+ :GET,
5855
+ path,
5856
+ endpoint,
5857
+ header_params: header_params,
5858
+ query_params: query_params,
5859
+ operation_signing_strategy: operation_signing_strategy,
5860
+ body: post_body,
5861
+ return_type: 'Array<OCI::Core::Models::ServiceGateway>'
5862
+ )
5863
+ end
5864
+ # rubocop:enable Metrics/BlockLength
5865
+ end
5866
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
5867
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
5868
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
5869
+
5870
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
5871
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
5872
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
5873
+
5874
+
5875
+ # Lists the available services that you can access through a service gateway in this region.
5876
+ #
5877
+ # @param [Hash] opts the optional parameters
5878
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
5879
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
5880
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
5881
+ #
5882
+ # Example: `500`
5883
+ #
5884
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
5885
+ #
5886
+ # @return [Response] A Response object with data of type Array<{OCI::Core::Models::Service Service}>
5887
+ def list_services(opts = {})
5888
+ logger.debug 'Calling operation VirtualNetworkClient#list_services.' if logger
5889
+
5890
+
5891
+ path = '/services'
5892
+ operation_signing_strategy = :standard
5893
+
5894
+ # rubocop:disable Style/NegatedIf
5895
+ # Query Params
5896
+ query_params = {}
5897
+ query_params[:limit] = opts[:limit] if opts[:limit]
5898
+ query_params[:page] = opts[:page] if opts[:page]
5899
+
5900
+ # Header Params
5901
+ header_params = {}
5902
+ header_params['accept'] = 'application/json'
5903
+ header_params['content-type'] = 'application/json'
5904
+ # rubocop:enable Style/NegatedIf
5905
+
5906
+ post_body = nil
5907
+
5908
+ # rubocop:disable Metrics/BlockLength
5909
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#list_services') do
5910
+ @api_client.call_api(
5911
+ :GET,
5912
+ path,
5913
+ endpoint,
5914
+ header_params: header_params,
5915
+ query_params: query_params,
5916
+ operation_signing_strategy: operation_signing_strategy,
5917
+ body: post_body,
5918
+ return_type: 'Array<OCI::Core::Models::Service>'
5919
+ )
5920
+ end
5921
+ # rubocop:enable Metrics/BlockLength
5922
+ end
5923
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
5924
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
5925
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
5926
+
5927
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
5928
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
5929
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
5930
+
5931
+
5411
5932
  # Lists the subnets in the specified VCN and the specified compartment.
5412
5933
  #
5413
5934
  # @param [String] compartment_id The OCID of the compartment.
@@ -6704,6 +7225,66 @@ module OCI
6704
7225
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
6705
7226
 
6706
7227
 
7228
+ # Updates the specified service gateway. The information you provide overwrites the existing
7229
+ # attributes of the gateway.
7230
+ #
7231
+ # @param [String] service_gateway_id The service gateway's [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
7232
+ # @param [OCI::Core::Models::UpdateServiceGatewayDetails] update_service_gateway_details Details object for updating a service gateway.
7233
+ # @param [Hash] opts the optional parameters
7234
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
7235
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
7236
+ # @option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
7237
+ # parameter to the value of the etag from a previous GET or POST response for that resource. The resource
7238
+ # will be updated or deleted only if the etag you provide matches the resource's current etag value.
7239
+ #
7240
+ # @return [Response] A Response object with data of type {OCI::Core::Models::ServiceGateway ServiceGateway}
7241
+ def update_service_gateway(service_gateway_id, update_service_gateway_details, opts = {})
7242
+ logger.debug 'Calling operation VirtualNetworkClient#update_service_gateway.' if logger
7243
+
7244
+ raise "Missing the required parameter 'service_gateway_id' when calling update_service_gateway." if service_gateway_id.nil?
7245
+ raise "Missing the required parameter 'update_service_gateway_details' when calling update_service_gateway." if update_service_gateway_details.nil?
7246
+ raise "Parameter value for 'service_gateway_id' must not be blank" if OCI::Internal::Util.blank_string?(service_gateway_id)
7247
+
7248
+ path = '/serviceGateways/{serviceGatewayId}'.sub('{serviceGatewayId}', service_gateway_id.to_s)
7249
+ operation_signing_strategy = :standard
7250
+
7251
+ # rubocop:disable Style/NegatedIf
7252
+ # Query Params
7253
+ query_params = {}
7254
+
7255
+ # Header Params
7256
+ header_params = {}
7257
+ header_params['accept'] = 'application/json'
7258
+ header_params['content-type'] = 'application/json'
7259
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
7260
+ # rubocop:enable Style/NegatedIf
7261
+
7262
+ post_body = @api_client.object_to_http_body(update_service_gateway_details)
7263
+
7264
+ # rubocop:disable Metrics/BlockLength
7265
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'VirtualNetworkClient#update_service_gateway') do
7266
+ @api_client.call_api(
7267
+ :PUT,
7268
+ path,
7269
+ endpoint,
7270
+ header_params: header_params,
7271
+ query_params: query_params,
7272
+ operation_signing_strategy: operation_signing_strategy,
7273
+ body: post_body,
7274
+ return_type: 'OCI::Core::Models::ServiceGateway'
7275
+ )
7276
+ end
7277
+ # rubocop:enable Metrics/BlockLength
7278
+ end
7279
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
7280
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
7281
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
7282
+
7283
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
7284
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
7285
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
7286
+
7287
+
6707
7288
  # Updates the specified subnet's display name. Avoid entering confidential information.
6708
7289
  #
6709
7290
  # @param [String] subnet_id The OCID of the subnet.