ibm_vpc 0.11.0 → 0.12.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd6be7ad018cd1db28cc6734533a2e4ba5ca21bbc0f9b0d9d2707d2de6773e40
4
- data.tar.gz: d878d8aba1cfa74398cacdc47fb835eab7bd10f002bdfd236d289662fbbc8d5b
3
+ metadata.gz: e219edcbeba218e10ec7645d6924b8a7dd0ce78e26a9f72232080bb5542618d3
4
+ data.tar.gz: 69a656a246dd77f901296cb28ac8438d23b69c0c0aeb9cf65361356d16ce0ddf
5
5
  SHA512:
6
- metadata.gz: e9a8e9dedae5cee96b13ff24bd9a7551c3777d0d70854b8473f23fc7b413d6c9e4021a344be35d04d19ae00cd9f71c0a81f267737c39e95f70b552694dbe2615
7
- data.tar.gz: a064c1433104630169d337b3fce651eb40bd3840f228b83e51b62a64fbb78b27121447047494817f2a8220879641d93384180fc198edb07189762cd10f288ffb
6
+ metadata.gz: 052e05fed5d95510d35b3501e6b88074306dc6befca3a574647655f219005a26ff03fa663d7c87ba0dd375a90cab58d53f7302e04d5f237ca752338a029d01bd
7
+ data.tar.gz: 8c234f89cb0f118a7026946ec263c36244e5e72d2fa82fdbf832c34abd938143c62300faf02f4577f786b9d2847b8c72be2b31a1441f13e1eeb9254aa3bf941f
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 0.11.0
2
+ current_version = 0.12.0
3
3
  commit = True
4
4
  message = Update version {current_version} -> {new_version}
5
5
 
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [0.12.0](https://github.com/IBM/vpc-ruby-sdk/compare/0.11.0...0.12.0) (2026-09-24)
2
+
3
+
4
+ ### Features
5
+
6
+ * **release:** Update SDK to support VPC API version 2026-09-01 ([#39](https://github.com/IBM/vpc-ruby-sdk/issues/39)) ([e652c8a](https://github.com/IBM/vpc-ruby-sdk/commit/e652c8a2bbfbe3097ce3be714435950d23435648))
7
+
1
8
  # [0.11.0](https://github.com/IBM/vpc-ruby-sdk/compare/0.10.0...0.11.0) (2026-04-15)
2
9
 
3
10
 
data/ibm_vpc.gemspec CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
 
33
33
  spec.add_development_dependency "bundler", "~> 2.1"
34
34
  spec.add_development_dependency "dotenv", "~> 2.4"
35
- spec.add_development_dependency "minitest"
35
+ spec.add_development_dependency "minitest", "~> 5.0"
36
36
  spec.add_development_dependency "minitest-hooks"
37
37
  spec.add_development_dependency "minitest-reporters"
38
38
  spec.add_development_dependency "minitest-retry"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IbmVpc
4
- VERSION = "0.11.0"
4
+ VERSION = "0.12.0"
5
5
  end
@@ -33,7 +33,7 @@ module IbmVpc
33
33
  include Concurrent::Async
34
34
  DEFAULT_SERVICE_NAME = "vpc"
35
35
  DEFAULT_SERVICE_URL = "https://us-south.iaas.cloud.ibm.com/v1"
36
- DEFAULT_SERVICE_VERSION = "2026-03-24"
36
+ DEFAULT_SERVICE_VERSION = "2026-09-01"
37
37
  attr_accessor :version
38
38
  attr_accessor :generation
39
39
  ##
@@ -42,7 +42,7 @@ module IbmVpc
42
42
  #
43
43
  # @param args [Hash] The args to initialize with
44
44
  # @option args version [String] The API version, in format `YYYY-MM-DD`. For the API behavior documented here,
45
- # specify any date between `2025-12-09` and `2026-03-24`.
45
+ # specify any date between `2026-09-01` and `2026-09-03`.
46
46
  # @option args service_url [String] The base service URL to use when contacting the service.
47
47
  # The base service_url may differ between IBM Cloud regions.
48
48
  # @option args authenticator [Object] The Authenticator instance to be configured for this service.
@@ -637,6 +637,48 @@ module IbmVpc
637
637
  # Bare metal servers
638
638
  #########################
639
639
 
640
+ ##
641
+ # @!method list_bare_metal_server_capacities(start: nil, limit: nil, profile_name: nil, zone_name: nil)
642
+ # List capacities for bare metal servers.
643
+ # This request lists bare metal server capacities in the region.
644
+ # @param start [String] A server-provided token determining what resource to start the page on.
645
+ # @param limit [Fixnum] The number of resources to return on a page.
646
+ # @param profile_name [String] Filters the collection to resources with a `profile.name` property matching the
647
+ # specified profile name.
648
+ # @param zone_name [String] Filters the collection to resources with a `zone.name` property matching the exact
649
+ # specified name.
650
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
651
+ def list_bare_metal_server_capacities(start: nil, limit: nil, profile_name: nil, zone_name: nil)
652
+ raise ArgumentError.new("version must be provided") if version.nil?
653
+
654
+ raise ArgumentError.new("generation must be provided") if generation.nil?
655
+
656
+ headers = {
657
+ }
658
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_bare_metal_server_capacities")
659
+ headers.merge!(sdk_headers)
660
+
661
+ params = {
662
+ "version" => @version,
663
+ "generation" => @generation,
664
+ "start" => start,
665
+ "limit" => limit,
666
+ "profile.name" => profile_name,
667
+ "zone.name" => zone_name
668
+ }
669
+
670
+ method_url = "/bare_metal_server/capacities"
671
+
672
+ response = request(
673
+ method: "GET",
674
+ url: method_url,
675
+ headers: headers,
676
+ params: params,
677
+ accept_json: true
678
+ )
679
+ response
680
+ end
681
+
640
682
  ##
641
683
  # @!method list_bare_metal_server_profiles(start: nil, limit: nil)
642
684
  # List bare metal server profiles.
@@ -1935,14 +1977,16 @@ module IbmVpc
1935
1977
  # [default
1936
1978
  # user](https://cloud.ibm.com/docs/vpc?topic=vpc-vsi_is_connecting_linux#determining-default-user-account).
1937
1979
  #
1938
- # For Windows images, at least one key must be specified, and one will be selected
1939
- # to encrypt the administrator password. Keys are optional for other images, but if
1940
- # no keys are specified, the bare metal server will be inaccessible unless the
1941
- # specified image provides another means of access.
1980
+ # For Windows images, at least one SSH key of type `rsa` must be specified. One of
1981
+ # the provided keys is selected to encrypt the administrator password. SSH keys are
1982
+ # optional for other images; however, if no keys are specified, the bare metal
1983
+ # server will be inaccessible unless the selected image provides an alternative
1984
+ # access mechanism.
1942
1985
  # @param default_trusted_profile [BareMetalServerInitializationDefaultTrustedProfilePrototype] The default trusted profile to be used when initializing the bare metal server.
1943
1986
  #
1944
1987
  # If unspecified, no default trusted profile will be made available.
1945
- # @param user_data [String] The user data to be made available when initializing the bare metal server.
1988
+ # @param user_data [String] The [user data](https://cloud.ibm.com/docs/vpc?topic=vpc-user-data) to make
1989
+ # available when setting up the bare metal server.
1946
1990
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
1947
1991
  def replace_bare_metal_server_initialization(id:, image:, keys:, default_trusted_profile: nil, user_data: nil)
1948
1992
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -5225,8 +5269,6 @@ module IbmVpc
5225
5269
  # first. This operation cannot be reversed. An image with `remote.account` set is
5226
5270
  # not allowed to be deleted. Additionally, an image cannot be deleted if it:
5227
5271
  # - has a `status` of `deleting`
5228
- # - has a `status` of `pending` with a `status_reasons` code of
5229
- # `image_request_in_progress`
5230
5272
  # - has `catalog_offering.managed` set to `true`.
5231
5273
  # @param id [String] The image identifier.
5232
5274
  # @return [nil]
@@ -7126,14 +7168,16 @@ module IbmVpc
7126
7168
  #########################
7127
7169
 
7128
7170
  ##
7129
- # @!method list_instance_profiles
7171
+ # @!method list_instance_profiles(start: nil, limit: nil)
7130
7172
  # List instance profiles.
7131
7173
  # This request lists provisionable [instance
7132
7174
  # profiles](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles) in the region. An
7133
7175
  # instance profile specifies the performance characteristics and pricing model for
7134
7176
  # an instance.
7177
+ # @param start [String] A server-provided token determining what resource to start the page on.
7178
+ # @param limit [Fixnum] The number of resources to return on a page.
7135
7179
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
7136
- def list_instance_profiles
7180
+ def list_instance_profiles(start: nil, limit: nil)
7137
7181
  raise ArgumentError.new("version must be provided") if version.nil?
7138
7182
 
7139
7183
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -7145,7 +7189,9 @@ module IbmVpc
7145
7189
 
7146
7190
  params = {
7147
7191
  "version" => @version,
7148
- "generation" => @generation
7192
+ "generation" => @generation,
7193
+ "start" => start,
7194
+ "limit" => limit
7149
7195
  }
7150
7196
 
7151
7197
  method_url = "/instance/profiles"
@@ -7510,6 +7556,57 @@ module IbmVpc
7510
7556
  response
7511
7557
  end
7512
7558
 
7559
+ ##
7560
+ # @!method create_instance_reinitialization(id:, instance_reinitialize_prototype:)
7561
+ # Reinitialize an instance.
7562
+ # This request reinitializes an instance with the information in a provided instance
7563
+ # reinitialize prototype object. The instance must be stopped. Upon successful
7564
+ # reinitiatilization, the instance will be started automatically. Capacity may not
7565
+ # be available for the instance to become `running`.
7566
+ #
7567
+ # Instances provisioned from a `catalog_offering` cannot be reinitialized.
7568
+ #
7569
+ # This operation cannot be reversed. The previous initialization data will be fully
7570
+ # replaced, the current boot volume will be destroyed and replaced, any local disks
7571
+ # will be wiped, and the boot volume attachment identifier will change.
7572
+ # @param id [String] The instance identifier.
7573
+ # @param instance_reinitialize_prototype [InstanceReinitializePrototype] The instance reinitialize prototype object.
7574
+ # @return [nil]
7575
+ def create_instance_reinitialization(id:, instance_reinitialize_prototype:)
7576
+ raise ArgumentError.new("version must be provided") if version.nil?
7577
+
7578
+ raise ArgumentError.new("generation must be provided") if generation.nil?
7579
+
7580
+ raise ArgumentError.new("id must be provided") if id.nil?
7581
+
7582
+ raise ArgumentError.new("instance_reinitialize_prototype must be provided") if instance_reinitialize_prototype.nil?
7583
+
7584
+ headers = {
7585
+ }
7586
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_instance_reinitialization")
7587
+ headers.merge!(sdk_headers)
7588
+
7589
+ params = {
7590
+ "version" => @version,
7591
+ "generation" => @generation
7592
+ }
7593
+
7594
+ data = instance_reinitialize_prototype
7595
+ headers["Content-Type"] = "application/json"
7596
+
7597
+ method_url = "/instances/%s/reinitialize" % [ERB::Util.url_encode(id)]
7598
+
7599
+ request(
7600
+ method: "POST",
7601
+ url: method_url,
7602
+ headers: headers,
7603
+ params: params,
7604
+ data: data,
7605
+ accept_json: false
7606
+ )
7607
+ nil
7608
+ end
7609
+
7513
7610
  ##
7514
7611
  # @!method create_instance_action(instance_id:, type:, force: nil)
7515
7612
  # Create an instance action.
@@ -8721,6 +8818,134 @@ module IbmVpc
8721
8818
  response
8722
8819
  end
8723
8820
 
8821
+ ##
8822
+ # @!method list_instance_software_attachments(instance_id:)
8823
+ # List instance software attachments associated with an instance.
8824
+ # This request lists software attachments associated with an instance.
8825
+ #
8826
+ # The instance software attachments will be sorted by their `created_at` property
8827
+ # values, with newest instance software attachments first. Software attachments with
8828
+ # identical
8829
+ # `created_at` property values will in turn be sorted by ascending `name` property
8830
+ # values.
8831
+ # @param instance_id [String] The virtual server instance identifier.
8832
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8833
+ def list_instance_software_attachments(instance_id:)
8834
+ raise ArgumentError.new("version must be provided") if version.nil?
8835
+
8836
+ raise ArgumentError.new("generation must be provided") if generation.nil?
8837
+
8838
+ raise ArgumentError.new("instance_id must be provided") if instance_id.nil?
8839
+
8840
+ headers = {
8841
+ }
8842
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_instance_software_attachments")
8843
+ headers.merge!(sdk_headers)
8844
+
8845
+ params = {
8846
+ "version" => @version,
8847
+ "generation" => @generation
8848
+ }
8849
+
8850
+ method_url = "/instances/%s/software_attachments" % [ERB::Util.url_encode(instance_id)]
8851
+
8852
+ response = request(
8853
+ method: "GET",
8854
+ url: method_url,
8855
+ headers: headers,
8856
+ params: params,
8857
+ accept_json: true
8858
+ )
8859
+ response
8860
+ end
8861
+
8862
+ ##
8863
+ # @!method get_instance_software_attachment(instance_id:, id:)
8864
+ # Retrieve an instance software attachment.
8865
+ # This request retrieves a single instance software attachment specified by
8866
+ # identifier in the URL.
8867
+ # @param instance_id [String] The virtual server instance identifier.
8868
+ # @param id [String] The instance software attachment identifier.
8869
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8870
+ def get_instance_software_attachment(instance_id:, id:)
8871
+ raise ArgumentError.new("version must be provided") if version.nil?
8872
+
8873
+ raise ArgumentError.new("generation must be provided") if generation.nil?
8874
+
8875
+ raise ArgumentError.new("instance_id must be provided") if instance_id.nil?
8876
+
8877
+ raise ArgumentError.new("id must be provided") if id.nil?
8878
+
8879
+ headers = {
8880
+ }
8881
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_instance_software_attachment")
8882
+ headers.merge!(sdk_headers)
8883
+
8884
+ params = {
8885
+ "version" => @version,
8886
+ "generation" => @generation
8887
+ }
8888
+
8889
+ method_url = "/instances/%s/software_attachments/%s" % [ERB::Util.url_encode(instance_id), ERB::Util.url_encode(id)]
8890
+
8891
+ response = request(
8892
+ method: "GET",
8893
+ url: method_url,
8894
+ headers: headers,
8895
+ params: params,
8896
+ accept_json: true
8897
+ )
8898
+ response
8899
+ end
8900
+
8901
+ ##
8902
+ # @!method update_instance_software_attachment(instance_id:, id:, instance_software_attachment_patch:)
8903
+ # Update an instance software attachment.
8904
+ # This request updates an instance software attachment with the information provided
8905
+ # in an instance software attachment patch object. The instance software attachment
8906
+ # patch object is structured in the same way as a retrieved instance software
8907
+ # attachment and needs to contain only the information to be updated.
8908
+ # @param instance_id [String] The virtual server instance identifier.
8909
+ # @param id [String] The instance software attachment identifier.
8910
+ # @param instance_software_attachment_patch [Hash] The instance software attachment patch.
8911
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8912
+ def update_instance_software_attachment(instance_id:, id:, instance_software_attachment_patch:)
8913
+ raise ArgumentError.new("version must be provided") if version.nil?
8914
+
8915
+ raise ArgumentError.new("generation must be provided") if generation.nil?
8916
+
8917
+ raise ArgumentError.new("instance_id must be provided") if instance_id.nil?
8918
+
8919
+ raise ArgumentError.new("id must be provided") if id.nil?
8920
+
8921
+ raise ArgumentError.new("instance_software_attachment_patch must be provided") if instance_software_attachment_patch.nil?
8922
+
8923
+ headers = {
8924
+ }
8925
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_instance_software_attachment")
8926
+ headers.merge!(sdk_headers)
8927
+
8928
+ params = {
8929
+ "version" => @version,
8930
+ "generation" => @generation
8931
+ }
8932
+
8933
+ data = instance_software_attachment_patch
8934
+ headers["Content-Type"] = "application/merge-patch+json"
8935
+
8936
+ method_url = "/instances/%s/software_attachments/%s" % [ERB::Util.url_encode(instance_id), ERB::Util.url_encode(id)]
8937
+
8938
+ response = request(
8939
+ method: "PATCH",
8940
+ url: method_url,
8941
+ headers: headers,
8942
+ params: params,
8943
+ data: data,
8944
+ accept_json: true
8945
+ )
8946
+ response
8947
+ end
8948
+
8724
8949
  ##
8725
8950
  # @!method list_instance_volume_attachments(instance_id:)
8726
8951
  # List volumes attachments on an instance.
@@ -9563,7 +9788,7 @@ module IbmVpc
9563
9788
  end
9564
9789
 
9565
9790
  ##
9566
- # @!method create_load_balancer_listener(load_balancer_id:, protocol:, accept_proxy_protocol: nil, certificate_instance: nil, connection_limit: nil, default_pool: nil, https_redirect: nil, idle_connection_timeout: nil, policies: nil, port: nil, port_max: nil, port_min: nil)
9791
+ # @!method create_load_balancer_listener(load_balancer_id:, protocol:, accept_proxy_protocol: nil, certificate_instance: nil, client_authentication: nil, connection_limit: nil, default_pool: nil, https_redirect: nil, idle_connection_timeout: nil, policies: nil, port: nil, port_max: nil, port_min: nil)
9567
9792
  # Create a listener for a load balancer.
9568
9793
  # This request creates a new listener for a load balancer.
9569
9794
  # @param load_balancer_id [String] The load balancer identifier.
@@ -9590,6 +9815,10 @@ module IbmVpc
9590
9815
  # value.
9591
9816
  # @param certificate_instance [CertificateInstanceIdentity] The certificate instance to use for SSL termination. The listener must have a
9592
9817
  # `protocol` of `https`.
9818
+ # @param client_authentication [LoadBalancerListenerClientAuthenticationPrototype] The client authentication to use for this listener.
9819
+ #
9820
+ # Supported by load balancers with `mtls_supported` set to `true`. The listener must
9821
+ # have a `protocol` of `https`.
9593
9822
  # @param connection_limit [Fixnum] The concurrent connection limit for the listener. If reached, incoming connections
9594
9823
  # may be queued or rejected.
9595
9824
  #
@@ -9659,7 +9888,7 @@ module IbmVpc
9659
9888
  # and
9660
9889
  # `https` share the TCP port space.
9661
9890
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
9662
- def create_load_balancer_listener(load_balancer_id:, protocol:, accept_proxy_protocol: nil, certificate_instance: nil, connection_limit: nil, default_pool: nil, https_redirect: nil, idle_connection_timeout: nil, policies: nil, port: nil, port_max: nil, port_min: nil)
9891
+ def create_load_balancer_listener(load_balancer_id:, protocol:, accept_proxy_protocol: nil, certificate_instance: nil, client_authentication: nil, connection_limit: nil, default_pool: nil, https_redirect: nil, idle_connection_timeout: nil, policies: nil, port: nil, port_max: nil, port_min: nil)
9663
9892
  raise ArgumentError.new("version must be provided") if version.nil?
9664
9893
 
9665
9894
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -9682,6 +9911,7 @@ module IbmVpc
9682
9911
  "protocol" => protocol,
9683
9912
  "accept_proxy_protocol" => accept_proxy_protocol,
9684
9913
  "certificate_instance" => certificate_instance,
9914
+ "client_authentication" => client_authentication,
9685
9915
  "connection_limit" => connection_limit,
9686
9916
  "default_pool" => default_pool,
9687
9917
  "https_redirect" => https_redirect,
@@ -10376,12 +10606,25 @@ module IbmVpc
10376
10606
  end
10377
10607
 
10378
10608
  ##
10379
- # @!method create_load_balancer_pool(load_balancer_id:, algorithm:, health_monitor:, protocol:, failsafe_policy: nil, members: nil, name: nil, proxy_protocol: nil, session_persistence: nil)
10609
+ # @!method create_load_balancer_pool(load_balancer_id:, algorithm:, health_monitor:, protocol:, client_authentication: nil, failsafe_policy: nil, members: nil, name: nil, proxy_protocol: nil, server_authentication: nil, session_persistence: nil)
10380
10610
  # Create a load balancer pool.
10381
10611
  # This request creates a new pool from a pool prototype object.
10382
10612
  # @param load_balancer_id [String] The load balancer identifier.
10383
- # @param algorithm [String] The load balancing algorithm. The `least_connections` algorithm is only supported
10384
- # for load balancers that have `availability` with value `subnet` in the profile.
10613
+ # @param algorithm [String] The load balancing algorithm.
10614
+ #
10615
+ # - `least_connections`: Routes traffic to the pool member with the least active
10616
+ # connections. Supported by `application` and `network` family load balancers that
10617
+ # have `availability` with value `subnet` in the profile.
10618
+ # - `round_robin`: Distributes traffic sequentially across pool members. Supported
10619
+ # by
10620
+ # `application` and `network` family load balancers.
10621
+ # - `weighted_round_robin`: Distributes traffic across pool members proportionally
10622
+ # to
10623
+ # configured member weights. Supported by `application` and `network`
10624
+ # family load balancers.
10625
+ # - `weighted_forwarding`: Forwards the layer 4 packets across backend pools
10626
+ # proportionally to configured member weights. Supported by `network` family
10627
+ # load balancers with an `asymmetric_routing_supported` value of `true`.
10385
10628
  # @param health_monitor [LoadBalancerPoolHealthMonitorPrototype] The health monitor of this pool.
10386
10629
  #
10387
10630
  # If this pool has a member targeting a load balancer then:
@@ -10402,6 +10645,16 @@ module IbmVpc
10402
10645
  # family support `tcp` and `udp` (if `udp_supported` is `true`). Load balancers in
10403
10646
  # the
10404
10647
  # `application` family support `tcp`, `http`, and `https`.
10648
+ #
10649
+ # **NOTE**: HTTP sends data in plain text, making it vulnerable to eavesdropping and
10650
+ # tampering. Additionally, HTTP has no built-in mechanism to verify the identity of
10651
+ # the server you are connecting to. It is recommended to choose `https` instead of
10652
+ # `http`. For more details, see:
10653
+ # https://www.cloudflare.com/learning/ssl/why-is-http-not-secure.
10654
+ # @param client_authentication [LoadBalancerPoolClientAuthenticationPrototype] The client authentication to use for this pool.
10655
+ #
10656
+ # Supported by load balancers with `mtls_supported` set to `true`. The pool must
10657
+ # have a `protocol` of `https`.
10405
10658
  # @param failsafe_policy [LoadBalancerPoolFailsafePolicyPrototype] The failsafe policy to use for this pool.
10406
10659
  #
10407
10660
  # If unspecified, the default failsafe policy action from the profile will be used.
@@ -10417,6 +10670,10 @@ module IbmVpc
10417
10670
  # - `disabled`: Disabled
10418
10671
  #
10419
10672
  # For load balancers in the `network` family, this property must be `disabled`.
10673
+ # @param server_authentication [LoadBalancerPoolServerAuthenticationPrototype] The server authentication to use for this pool.
10674
+ #
10675
+ # Supported by load balancers with `mtls_supported` set to `true`. The pool must
10676
+ # have a `protocol` of `https`.
10420
10677
  # @param session_persistence [LoadBalancerPoolSessionPersistencePrototype] The session persistence of this pool. If specified, the load balancer must have
10421
10678
  # `source_ip_session_persistence_supported` set to `true` in its profile.
10422
10679
  #
@@ -10424,7 +10681,7 @@ module IbmVpc
10424
10681
  # distributed
10425
10682
  # across members of the pool.
10426
10683
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
10427
- def create_load_balancer_pool(load_balancer_id:, algorithm:, health_monitor:, protocol:, failsafe_policy: nil, members: nil, name: nil, proxy_protocol: nil, session_persistence: nil)
10684
+ def create_load_balancer_pool(load_balancer_id:, algorithm:, health_monitor:, protocol:, client_authentication: nil, failsafe_policy: nil, members: nil, name: nil, proxy_protocol: nil, server_authentication: nil, session_persistence: nil)
10428
10685
  raise ArgumentError.new("version must be provided") if version.nil?
10429
10686
 
10430
10687
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -10451,10 +10708,12 @@ module IbmVpc
10451
10708
  "algorithm" => algorithm,
10452
10709
  "health_monitor" => health_monitor,
10453
10710
  "protocol" => protocol,
10711
+ "client_authentication" => client_authentication,
10454
10712
  "failsafe_policy" => failsafe_policy,
10455
10713
  "members" => members,
10456
10714
  "name" => name,
10457
10715
  "proxy_protocol" => proxy_protocol,
10716
+ "server_authentication" => server_authentication,
10458
10717
  "session_persistence" => session_persistence
10459
10718
  }
10460
10719
 
@@ -10550,14 +10809,16 @@ module IbmVpc
10550
10809
  end
10551
10810
 
10552
10811
  ##
10553
- # @!method update_load_balancer_pool(load_balancer_id:, id:, load_balancer_pool_patch:)
10812
+ # @!method update_load_balancer_pool(load_balancer_id:, id:, load_balancer_pool_patch:, if_match: nil)
10554
10813
  # Update a load balancer pool.
10555
10814
  # This request updates a load balancer pool from a pool patch.
10556
10815
  # @param load_balancer_id [String] The load balancer identifier.
10557
10816
  # @param id [String] The pool identifier.
10558
10817
  # @param load_balancer_pool_patch [Hash] The load balancer pool patch.
10818
+ # @param if_match [String] If present, the request will fail if the specified ETag value does not match the
10819
+ # resource's current ETag value. Required if the request body includes an array.
10559
10820
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
10560
- def update_load_balancer_pool(load_balancer_id:, id:, load_balancer_pool_patch:)
10821
+ def update_load_balancer_pool(load_balancer_id:, id:, load_balancer_pool_patch:, if_match: nil)
10561
10822
  raise ArgumentError.new("version must be provided") if version.nil?
10562
10823
 
10563
10824
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -10569,6 +10830,7 @@ module IbmVpc
10569
10830
  raise ArgumentError.new("load_balancer_pool_patch must be provided") if load_balancer_pool_patch.nil?
10570
10831
 
10571
10832
  headers = {
10833
+ "If-Match" => if_match
10572
10834
  }
10573
10835
  sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_load_balancer_pool")
10574
10836
  headers.merge!(sdk_headers)
@@ -14704,7 +14966,7 @@ module IbmVpc
14704
14966
  #########################
14705
14967
 
14706
14968
  ##
14707
- # @!method list_snapshot_consistency_groups(start: nil, limit: nil, resource_group_id: nil, name: nil, sort: nil, backup_policy_plan_id: nil)
14969
+ # @!method list_snapshot_consistency_groups(start: nil, limit: nil, resource_group_id: nil, name: nil, sort: nil, backup_policy_plan_id: nil, backup_policy_job_id: nil)
14708
14970
  # List snapshot consistency groups.
14709
14971
  # This request lists snapshot consistency groups in the region. A snapshot
14710
14972
  # consistency group is a collection of individual snapshots taken at the same time.
@@ -14721,8 +14983,10 @@ module IbmVpc
14721
14983
  # ascending order.
14722
14984
  # @param backup_policy_plan_id [String] Filters the collection to backup policy jobs with a `backup_policy_plan.id`
14723
14985
  # property matching the specified identifier.
14986
+ # @param backup_policy_job_id [String] Filters the collection to snapshot consistency groups with a
14987
+ # `backup_policy_job.id` property matching the specified identifier.
14724
14988
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
14725
- def list_snapshot_consistency_groups(start: nil, limit: nil, resource_group_id: nil, name: nil, sort: nil, backup_policy_plan_id: nil)
14989
+ def list_snapshot_consistency_groups(start: nil, limit: nil, resource_group_id: nil, name: nil, sort: nil, backup_policy_plan_id: nil, backup_policy_job_id: nil)
14726
14990
  raise ArgumentError.new("version must be provided") if version.nil?
14727
14991
 
14728
14992
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -14740,7 +15004,8 @@ module IbmVpc
14740
15004
  "resource_group.id" => resource_group_id,
14741
15005
  "name" => name,
14742
15006
  "sort" => sort,
14743
- "backup_policy_plan.id" => backup_policy_plan_id
15007
+ "backup_policy_plan.id" => backup_policy_plan_id,
15008
+ "backup_policy_job.id" => backup_policy_job_id
14744
15009
  }
14745
15010
 
14746
15011
  method_url = "/snapshot_consistency_groups"
@@ -19178,13 +19443,53 @@ module IbmVpc
19178
19443
  end
19179
19444
 
19180
19445
  ##
19181
- # @!method create_ike_policy(authentication_algorithm:, dh_group:, encryption_algorithm:, ike_version:, key_lifetime: nil, name: nil, resource_group: nil)
19446
+ # @!method create_ike_policy(ike_version:, authentication_algorithm: nil, authentication_algorithms: nil, dh_group: nil, dh_groups: nil, encryption_algorithm: nil, encryption_algorithms: nil, key_lifetime: nil, name: nil, resource_group: nil)
19182
19447
  # Create an IKE policy.
19183
19448
  # This request creates a new IKE policy.
19449
+ # @param ike_version [Fixnum] The IKE protocol version.
19184
19450
  # @param authentication_algorithm [String] The authentication algorithm.
19451
+ #
19452
+ # `authentication_algorithm` has been deprecated. Use `authentication_algorithms`
19453
+ # instead.
19454
+ #
19455
+ # If specified, `authentication_algorithms` must not be specified.
19456
+ # @param authentication_algorithms [Array[String]] The authentication algorithms to use for IKE Negotiation.
19457
+ #
19458
+ # If specified, `authentication_algorithm` must not be specified.
19459
+ #
19460
+ # If the IKE policy's `ike_version` is `1`, this array must contain exactly one
19461
+ # algorithm.
19462
+ #
19463
+ # The order of the algorithms in this array indicates their priority for
19464
+ # negotiation, with each algorithm having priority over the one after it.
19185
19465
  # @param dh_group [Fixnum] The Diffie-Hellman group.
19466
+ #
19467
+ # `dh_group` has been deprecated. Use `dh_groups` instead.
19468
+ #
19469
+ # If specified, `dh_groups` must not be specified.
19470
+ # @param dh_groups [Array[Fixnum]] The Diffie-Hellman groups to use for IKE negotiation.
19471
+ #
19472
+ # If specified, `dh_group` must not be specified.
19473
+ #
19474
+ # If the IKE policy's `ike_version` is `1`, this array must contain exactly one
19475
+ # algorithm.
19476
+ #
19477
+ # The order of the Diffie-Hellman groups in this array indicates their priority for
19478
+ # negotiation, with each Diffie-Hellman group having priority over the one after it.
19186
19479
  # @param encryption_algorithm [String] The encryption algorithm.
19187
- # @param ike_version [Fixnum] The IKE protocol version.
19480
+ #
19481
+ # `encryption_algorithm` has been deprecated. Use `encryption_algorithms` instead.
19482
+ #
19483
+ # If specified, `encryption_algorithms` must not be specified.
19484
+ # @param encryption_algorithms [Array[String]] The encryption algorithms to use for IKE Negotiation.
19485
+ #
19486
+ # If specified, `encryption_algorithm` must not be specified.
19487
+ #
19488
+ # If the IKE policy's `ike_version` is `1`, this array must contain exactly one
19489
+ # algorithm.
19490
+ #
19491
+ # The order of the algorithms in this array indicates their priority for
19492
+ # negotiation, with each algorithm having priority over the one after it.
19188
19493
  # @param key_lifetime [Fixnum] The key lifetime in seconds.
19189
19494
  # @param name [String] The name for this IKE policy. The name must not be used by another IKE policy in
19190
19495
  # the region. If unspecified, the name will be a hyphenated list of
@@ -19192,17 +19497,11 @@ module IbmVpc
19192
19497
  # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
19193
19498
  # group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used.
19194
19499
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
19195
- def create_ike_policy(authentication_algorithm:, dh_group:, encryption_algorithm:, ike_version:, key_lifetime: nil, name: nil, resource_group: nil)
19500
+ def create_ike_policy(ike_version:, authentication_algorithm: nil, authentication_algorithms: nil, dh_group: nil, dh_groups: nil, encryption_algorithm: nil, encryption_algorithms: nil, key_lifetime: nil, name: nil, resource_group: nil)
19196
19501
  raise ArgumentError.new("version must be provided") if version.nil?
19197
19502
 
19198
19503
  raise ArgumentError.new("generation must be provided") if generation.nil?
19199
19504
 
19200
- raise ArgumentError.new("authentication_algorithm must be provided") if authentication_algorithm.nil?
19201
-
19202
- raise ArgumentError.new("dh_group must be provided") if dh_group.nil?
19203
-
19204
- raise ArgumentError.new("encryption_algorithm must be provided") if encryption_algorithm.nil?
19205
-
19206
19505
  raise ArgumentError.new("ike_version must be provided") if ike_version.nil?
19207
19506
 
19208
19507
  headers = {
@@ -19216,10 +19515,13 @@ module IbmVpc
19216
19515
  }
19217
19516
 
19218
19517
  data = {
19518
+ "ike_version" => ike_version,
19219
19519
  "authentication_algorithm" => authentication_algorithm,
19520
+ "authentication_algorithms" => authentication_algorithms,
19220
19521
  "dh_group" => dh_group,
19522
+ "dh_groups" => dh_groups,
19221
19523
  "encryption_algorithm" => encryption_algorithm,
19222
- "ike_version" => ike_version,
19524
+ "encryption_algorithms" => encryption_algorithms,
19223
19525
  "key_lifetime" => key_lifetime,
19224
19526
  "name" => name,
19225
19527
  "resource_group" => resource_group
@@ -19428,42 +19730,82 @@ module IbmVpc
19428
19730
  end
19429
19731
 
19430
19732
  ##
19431
- # @!method create_ipsec_policy(authentication_algorithm:, encryption_algorithm:, pfs:, key_lifetime: nil, name: nil, resource_group: nil)
19733
+ # @!method create_ipsec_policy(authentication_algorithm: nil, authentication_algorithms: nil, encryption_algorithm: nil, encryption_algorithms: nil, key_lifetime: nil, name: nil, pfs: nil, pfs_groups: nil, resource_group: nil)
19432
19734
  # Create an IPsec policy.
19433
19735
  # This request creates a new IPsec policy.
19434
- # @param authentication_algorithm [String] The authentication algorithm
19736
+ # @param authentication_algorithm [String] The authentication algorithm.
19737
+ #
19738
+ # `authentication_algorithm` has been deprecated. Use `authentication_algorithms`
19739
+ # instead.
19740
+ #
19741
+ # If specified, `authentication_algorithms` must not be specified.
19435
19742
  #
19436
19743
  # Must be `disabled` if and only if the `encryption_algorithm` is `aes128gcm16`,
19437
19744
  # `aes192gcm16`, or `aes256gcm16`
19438
19745
  #
19439
19746
  # The `md5` and `sha1` algorithms have been deprecated.
19440
- # @param encryption_algorithm [String] The encryption algorithm
19747
+ # @param authentication_algorithms [Array[String]] The authentication algorithms to use for IPsec negotiation.
19748
+ #
19749
+ # If specified, `authentication_algorithm` must not be specified.
19750
+ #
19751
+ # Must be `["disabled"]` when `encryption_algorithms` has only combined-mode
19752
+ # algorithms
19753
+ # (`aes128gcm16`, `aes192gcm16`, and `aes256gcm16`).
19754
+ #
19755
+ # The `md5` and `sha1` algorithms have been deprecated.
19756
+ #
19757
+ # The order of the algorithms in this array indicates their priority for
19758
+ # negotiation, with each algorithm having priority over the one after it.
19759
+ # @param encryption_algorithm [String] The encryption algorithm.
19760
+ #
19761
+ # `encryption_algorithm` has been deprecated. Use `encryption_algorithms` instead.
19762
+ #
19763
+ # If specified, `encryption_algorithms` must not be specified.
19441
19764
  #
19442
19765
  # The `authentication_algorithm` must be `disabled` if and only if
19443
19766
  # `encryption_algorithm` is `aes128gcm16`, `aes192gcm16`, or `aes256gcm16`
19444
19767
  #
19445
19768
  # The `triple_des` algorithm has been deprecated.
19446
- # @param pfs [String] The Perfect Forward Secrecy group.
19769
+ # @param encryption_algorithms [Array[String]] The encryption algorithms to use for IPsec negotiation.
19447
19770
  #
19448
- # Groups `group_2` and `group_5` have been deprecated.
19771
+ # If specified, `encryption_algorithm` must not be specified.
19772
+ #
19773
+ # If only combined-mode encryption algorithms (`aes128gcm16`, `aes192gcm16`, and
19774
+ # `aes256gcm16`) are to be used, then `authentication_algorithms` must be
19775
+ # `["disabled"]`.
19776
+ #
19777
+ # The `triple_des` algorithm has been deprecated.
19778
+ #
19779
+ # The order of the algorithms in this array indicates their priority for
19780
+ # negotiation, with each algorithm having priority over the one after it.
19449
19781
  # @param key_lifetime [Fixnum] The key lifetime in seconds.
19450
19782
  # @param name [String] The name for this IPsec policy. The name must not be used by another IPsec policy
19451
19783
  # in the region. If unspecified, the name will be a hyphenated list of
19452
19784
  # randomly-selected words.
19785
+ # @param pfs [String] The Perfect Forward Secrecy group.
19786
+ #
19787
+ # `pfs` has been deprecated. Use `pfs_groups` instead.
19788
+ #
19789
+ # If specified, `pfs_groups` must not be specified.
19790
+ #
19791
+ # Groups `group_2` and `group_5` have been deprecated.
19792
+ # @param pfs_groups [Array[String]] The Perfect Forward Secrecy groups to use for IPsec negotiation.
19793
+ #
19794
+ # If specified, `pfs` must not be specified.
19795
+ #
19796
+ # Groups `group_2` and `group_5` have been deprecated.
19797
+ #
19798
+ # The order of the Perfect Forward Secrecy groups in this array indicates their
19799
+ # priority for negotiation, with each Perfect Forward Secrecy group having priority
19800
+ # over the one after it.
19453
19801
  # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
19454
19802
  # group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used.
19455
19803
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
19456
- def create_ipsec_policy(authentication_algorithm:, encryption_algorithm:, pfs:, key_lifetime: nil, name: nil, resource_group: nil)
19804
+ def create_ipsec_policy(authentication_algorithm: nil, authentication_algorithms: nil, encryption_algorithm: nil, encryption_algorithms: nil, key_lifetime: nil, name: nil, pfs: nil, pfs_groups: nil, resource_group: nil)
19457
19805
  raise ArgumentError.new("version must be provided") if version.nil?
19458
19806
 
19459
19807
  raise ArgumentError.new("generation must be provided") if generation.nil?
19460
19808
 
19461
- raise ArgumentError.new("authentication_algorithm must be provided") if authentication_algorithm.nil?
19462
-
19463
- raise ArgumentError.new("encryption_algorithm must be provided") if encryption_algorithm.nil?
19464
-
19465
- raise ArgumentError.new("pfs must be provided") if pfs.nil?
19466
-
19467
19809
  headers = {
19468
19810
  }
19469
19811
  sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_ipsec_policy")
@@ -19476,10 +19818,13 @@ module IbmVpc
19476
19818
 
19477
19819
  data = {
19478
19820
  "authentication_algorithm" => authentication_algorithm,
19821
+ "authentication_algorithms" => authentication_algorithms,
19479
19822
  "encryption_algorithm" => encryption_algorithm,
19480
- "pfs" => pfs,
19823
+ "encryption_algorithms" => encryption_algorithms,
19481
19824
  "key_lifetime" => key_lifetime,
19482
19825
  "name" => name,
19826
+ "pfs" => pfs,
19827
+ "pfs_groups" => pfs_groups,
19483
19828
  "resource_group" => resource_group
19484
19829
  }
19485
19830
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibm_vpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - dev@ibm.com
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-04-15 00:00:00.000000000 Z
11
+ date: 2026-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ibm_cloud_sdk_core
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '5.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '5.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: minitest-hooks
71
71
  requirement: !ruby/object:Gem::Requirement