ibm_vpc 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # (C) Copyright IBM Corp. 2020, 2021.
3
+ # (C) Copyright IBM Corp. 2021.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
  #
17
- # IBM OpenAPI SDK Code Generator Version: 3.37.0-a85661cd-20210802-190136
17
+ # IBM OpenAPI SDK Code Generator Version: 3.43.0-49eab5c7-20211117-152138
18
18
  #
19
19
  # The IBM Cloud Virtual Private Cloud (VPC) API can be used to programmatically
20
- # provision and manage infrastructure resources, including virtual server instances,
21
- # subnets, volumes, and load balancers.
20
+ # provision and manage virtual server instances, along with subnets, volumes, load
21
+ # balancers, and more.
22
22
 
23
23
  require "concurrent"
24
24
  require "erb"
@@ -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 = "2021-08-03"
36
+ DEFAULT_SERVICE_VERSION = "2021-12-07"
37
37
  attr_accessor :version
38
38
  attr_accessor :generation
39
39
  ##
@@ -41,9 +41,9 @@ module IbmVpc
41
41
  # Construct a new client for the vpc service.
42
42
  #
43
43
  # @param args [Hash] The args to initialize with
44
- # @option args version [String] Requests the version of the API as of a date in the format `YYYY-MM-DD`. Any date
45
- # up to the current date may be provided. Specify the current date to request the
46
- # latest version.
44
+ # @option args version [String] Requests the API version as of a date, in format `YYYY-MM-DD`. Any date between
45
+ # `2019-01-01` and the current date may be specified. Specify the current date to
46
+ # request the latest version.
47
47
  # @option args service_url [String] The base service URL to use when contacting the service.
48
48
  # The base service_url may differ between IBM Cloud regions.
49
49
  # @option args authenticator [Object] The Authenticator instance to be configured for this service.
@@ -79,10 +79,10 @@ module IbmVpc
79
79
  # to an account and provides logical isolation from other networks. A VPC is made up
80
80
  # of resources in one or more zones. VPCs are regional, and each VPC can contain
81
81
  # resources in multiple zones in a region.
82
- # @param start [String] A server-supplied token determining what resource to start the page on.
82
+ # @param start [String] A server-provided token determining what resource to start the page on.
83
83
  # @param limit [Fixnum] The number of resources to return on a page.
84
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
85
- # in a comma-separated list of resource group identifiers.
84
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
85
+ # identifier.
86
86
  # @param classic_access [Boolean] Filters the collection to VPCs with the specified `classic_access` value.
87
87
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
88
88
  def list_vpcs(start: nil, limit: nil, resource_group_id: nil, classic_access: nil)
@@ -125,6 +125,10 @@ module IbmVpc
125
125
  # @param address_prefix_management [String] Indicates whether a default address prefix should be automatically created for
126
126
  # each zone in this VPC. If `manual`, this VPC will be created with no default
127
127
  # address prefixes.
128
+ #
129
+ # This property's value is used only when creating the VPC. Since address prefixes
130
+ # are managed identically regardless of whether they were automatically created, the
131
+ # value is not preserved as a VPC property.
128
132
  # @param classic_access [Boolean] Indicates whether this VPC should be connected to Classic Infrastructure. If true,
129
133
  # this VPC's resources will have private network connectivity to the account's
130
134
  # Classic Infrastructure resources. Only one VPC, per region, may be connected in
@@ -180,12 +184,12 @@ module IbmVpc
180
184
  # @param id [String] The VPC identifier.
181
185
  # @return [nil]
182
186
  def delete_vpc(id:)
187
+ raise ArgumentError.new("id must be provided") if id.nil?
188
+
183
189
  raise ArgumentError.new("version must be provided") if version.nil?
184
190
 
185
191
  raise ArgumentError.new("generation must be provided") if generation.nil?
186
192
 
187
- raise ArgumentError.new("id must be provided") if id.nil?
188
-
189
193
  headers = {
190
194
  }
191
195
  sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_vpc")
@@ -215,12 +219,12 @@ module IbmVpc
215
219
  # @param id [String] The VPC identifier.
216
220
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
217
221
  def get_vpc(id:)
222
+ raise ArgumentError.new("id must be provided") if id.nil?
223
+
218
224
  raise ArgumentError.new("version must be provided") if version.nil?
219
225
 
220
226
  raise ArgumentError.new("generation must be provided") if generation.nil?
221
227
 
222
- raise ArgumentError.new("id must be provided") if id.nil?
223
-
224
228
  headers = {
225
229
  }
226
230
  sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_vpc")
@@ -251,12 +255,12 @@ module IbmVpc
251
255
  # @param vpc_patch [Hash] The VPC patch.
252
256
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
253
257
  def update_vpc(id:, vpc_patch:)
258
+ raise ArgumentError.new("id must be provided") if id.nil?
259
+
254
260
  raise ArgumentError.new("version must be provided") if version.nil?
255
261
 
256
262
  raise ArgumentError.new("generation must be provided") if generation.nil?
257
263
 
258
- raise ArgumentError.new("id must be provided") if id.nil?
259
-
260
264
  raise ArgumentError.new("vpc_patch must be provided") if vpc_patch.nil?
261
265
 
262
266
  headers = {
@@ -364,8 +368,9 @@ module IbmVpc
364
368
  # @!method get_vpc_default_security_group(id:)
365
369
  # Retrieve a VPC's default security group.
366
370
  # This request retrieves the default security group for the VPC specified by the
367
- # identifier in the URL. The default security group is applied to any new network
368
- # interfaces in the VPC that do not specify a security group.
371
+ # identifier in the URL. Resources that optionally allow a security group to be
372
+ # specified upon creation will be attached to this security group if a security
373
+ # group is not specified.
369
374
  # @param id [String] The VPC identifier.
370
375
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
371
376
  def get_vpc_default_security_group(id:)
@@ -402,7 +407,7 @@ module IbmVpc
402
407
  # List all address prefixes for a VPC.
403
408
  # This request lists all address pool prefixes for a VPC.
404
409
  # @param vpc_id [String] The VPC identifier.
405
- # @param start [String] A server-supplied token determining what resource to start the page on.
410
+ # @param start [String] A server-provided token determining what resource to start the page on.
406
411
  # @param limit [Fixnum] The number of resources to return on a page.
407
412
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
408
413
  def list_vpc_address_prefixes(vpc_id:, start: nil, limit: nil)
@@ -455,9 +460,8 @@ module IbmVpc
455
460
  # The prefix length of the address prefix's CIDR must be between `/9` (8,388,608
456
461
  # addresses) and `/29` (8 addresses).
457
462
  # @param zone [ZoneIdentity] The zone this address prefix will reside in.
458
- # @param is_default [Boolean] Indicates whether this is the default prefix for this zone in this VPC. If true,
459
- # this prefix will become the default prefix for this zone in this VPC. This fails
460
- # if the VPC currently has a default address prefix for this zone.
463
+ # @param is_default [Boolean] Indicates whether this will be the default address prefix for this zone in this
464
+ # VPC. If `true`, the VPC must not have a default address prefix for this zone.
461
465
  # @param name [String] The user-defined name for this address prefix. Names must be unique within the VPC
462
466
  # the address prefix resides in. If unspecified, the name will be a hyphenated list
463
467
  # of randomly-selected words.
@@ -637,7 +641,7 @@ module IbmVpc
637
641
  # distributed across them.
638
642
  # @param vpc_id [String] The VPC identifier.
639
643
  # @param zone_name [String] Filters the collection to resources in the zone with the exact specified name.
640
- # @param start [String] A server-supplied token determining what resource to start the page on.
644
+ # @param start [String] A server-provided token determining what resource to start the page on.
641
645
  # @param limit [Fixnum] The number of resources to return on a page.
642
646
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
643
647
  def list_vpc_routes(vpc_id:, zone_name: nil, start: nil, limit: nil)
@@ -871,14 +875,12 @@ module IbmVpc
871
875
  # VPC is associated with a routing table, which controls delivery of packets sent on
872
876
  # that subnet according to the action of the most specific matching route in the
873
877
  # table. If multiple equally-specific routes exist, traffic will be distributed
874
- # across them. If no routes match, delivery will be controlled by the system's
878
+ # across them. If no routes match, delivery will be controlled by the system's
875
879
  # built-in routes.
876
880
  # @param vpc_id [String] The VPC identifier.
877
- # @param start [String] A server-supplied token determining what resource to start the page on.
881
+ # @param start [String] A server-provided token determining what resource to start the page on.
878
882
  # @param limit [Fixnum] The number of resources to return on a page.
879
- # @param is_default [Boolean] If the supplied value is `true`, filters the routing table collection to only the
880
- # default routing table. If the supplied value is `false`, filters the routing table
881
- # collection to exclude the default routing table.
883
+ # @param is_default [Boolean] Filters the collection to routing tables with the specified `is_default` value.
882
884
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
883
885
  def list_vpc_routing_tables(vpc_id:, start: nil, limit: nil, is_default: nil)
884
886
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -1134,7 +1136,7 @@ module IbmVpc
1134
1136
  # delivery will be controlled by the system's built-in routes.
1135
1137
  # @param vpc_id [String] The VPC identifier.
1136
1138
  # @param routing_table_id [String] The routing table identifier.
1137
- # @param start [String] A server-supplied token determining what resource to start the page on.
1139
+ # @param start [String] A server-provided token determining what resource to start the page on.
1138
1140
  # @param limit [Fixnum] The number of resources to return on a page.
1139
1141
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
1140
1142
  def list_vpc_routing_table_routes(vpc_id:, routing_table_id:, start: nil, limit: nil)
@@ -1383,10 +1385,10 @@ module IbmVpc
1383
1385
  # This request lists all subnets in the region. Subnets are contiguous ranges of IP
1384
1386
  # addresses specified in CIDR block notation. Each subnet is within a particular
1385
1387
  # zone and cannot span multiple zones or regions.
1386
- # @param start [String] A server-supplied token determining what resource to start the page on.
1388
+ # @param start [String] A server-provided token determining what resource to start the page on.
1387
1389
  # @param limit [Fixnum] The number of resources to return on a page.
1388
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
1389
- # in a comma-separated list of resource group identifiers.
1390
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
1391
+ # identifier.
1390
1392
  # @param routing_table_id [String] Filters the collection to subnets attached to the routing table with the specified
1391
1393
  # identifier.
1392
1394
  # @param routing_table_name [String] Filters the collection to subnets attached to the routing table with the specified
@@ -1871,7 +1873,7 @@ module IbmVpc
1871
1873
  # This request lists reserved IPs in a subnet that are unbound or bound to an
1872
1874
  # endpoint gateway.
1873
1875
  # @param subnet_id [String] The subnet identifier.
1874
- # @param start [String] A server-supplied token determining what resource to start the page on.
1876
+ # @param start [String] A server-provided token determining what resource to start the page on.
1875
1877
  # @param limit [Fixnum] The number of resources to return on a page.
1876
1878
  # @param sort [String] Sorts the returned collection by the specified property name in ascending order. A
1877
1879
  # `-` may be prepended to the name to sort in descending order. For example, the
@@ -1916,10 +1918,11 @@ module IbmVpc
1916
1918
  # Reserve an IP in a subnet.
1917
1919
  # This request reserves a system-selected IP address in a subnet.
1918
1920
  # @param subnet_id [String] The subnet identifier.
1919
- # @param auto_delete [Boolean] If set to `true`, this reserved IP will be automatically deleted when the target
1920
- # is deleted or when the reserved IP is unbound. The value cannot be set to `true`
1921
- # if the reserved IP is unbound.
1922
- # @param name [String] The user-defined name for this reserved IP. If not specified, the name will be a
1921
+ # @param auto_delete [Boolean] Indicates whether this reserved IP member will be automatically deleted when
1922
+ # either
1923
+ # `target` is deleted, or the reserved IP is unbound. Must be `false` if the
1924
+ # reserved IP is unbound.
1925
+ # @param name [String] The user-defined name for this reserved IP. If unspecified, the name will be a
1923
1926
  # hyphenated list of randomly-selected words. Names must be unique within the subnet
1924
1927
  # the reserved IP resides in. Names beginning with `ibm-` are reserved for
1925
1928
  # provider-owned resources.
@@ -2091,17 +2094,17 @@ module IbmVpc
2091
2094
  ##
2092
2095
  # @!method list_images(start: nil, limit: nil, resource_group_id: nil, name: nil, visibility: nil)
2093
2096
  # List all images.
2094
- # This request lists all provisionable images available in the region. An image
2095
- # provides source data for a volume. Images are either system-provided, or created
2096
- # from another source, such as importing from object storage.
2097
+ # This request lists all images available in the region. An image provides source
2098
+ # data for a volume. Images are either system-provided, or created from another
2099
+ # source, such as importing from object storage.
2097
2100
  #
2098
2101
  # The images will be sorted by their `created_at` property values, with the newest
2099
2102
  # first. Images with identical `created_at` values will be secondarily sorted by
2100
2103
  # ascending `id` property values.
2101
- # @param start [String] A server-supplied token determining what resource to start the page on.
2104
+ # @param start [String] A server-provided token determining what resource to start the page on.
2102
2105
  # @param limit [Fixnum] The number of resources to return on a page.
2103
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
2104
- # in a comma-separated list of resource group identifiers.
2106
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
2107
+ # identifier.
2105
2108
  # @param name [String] Filters the collection to resources with the exact specified name.
2106
2109
  # @param visibility [String] Filters the collection to images with the specified `visibility`.
2107
2110
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -2302,7 +2305,7 @@ module IbmVpc
2302
2305
  # @!method list_operating_systems(start: nil, limit: nil)
2303
2306
  # List all operating systems.
2304
2307
  # This request lists all operating systems in the region.
2305
- # @param start [String] A server-supplied token determining what resource to start the page on.
2308
+ # @param start [String] A server-provided token determining what resource to start the page on.
2306
2309
  # @param limit [Fixnum] The number of resources to return on a page.
2307
2310
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
2308
2311
  def list_operating_systems(start: nil, limit: nil)
@@ -2373,16 +2376,14 @@ module IbmVpc
2373
2376
  #########################
2374
2377
 
2375
2378
  ##
2376
- # @!method list_keys(start: nil, limit: nil, resource_group_id: nil)
2379
+ # @!method list_keys(start: nil, limit: nil)
2377
2380
  # List all keys.
2378
2381
  # This request lists all keys in the region. A key contains a public SSH key which
2379
2382
  # may be installed on instances when they are created. Private keys are not stored.
2380
- # @param start [String] A server-supplied token determining what resource to start the page on.
2383
+ # @param start [String] A server-provided token determining what resource to start the page on.
2381
2384
  # @param limit [Fixnum] The number of resources to return on a page.
2382
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
2383
- # in a comma-separated list of resource group identifiers.
2384
2385
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
2385
- def list_keys(start: nil, limit: nil, resource_group_id: nil)
2386
+ def list_keys(start: nil, limit: nil)
2386
2387
  raise ArgumentError.new("version must be provided") if version.nil?
2387
2388
 
2388
2389
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -2396,8 +2397,7 @@ module IbmVpc
2396
2397
  "version" => @version,
2397
2398
  "generation" => @generation,
2398
2399
  "start" => start,
2399
- "limit" => limit,
2400
- "resource_group.id" => resource_group_id
2400
+ "limit" => limit
2401
2401
  }
2402
2402
 
2403
2403
  method_url = "/keys"
@@ -2419,8 +2419,10 @@ module IbmVpc
2419
2419
  # object is structured in the same way as a retrieved key, and contains the
2420
2420
  # information necessary to create the new key. The public key value must be
2421
2421
  # provided.
2422
- # @param public_key [String] A unique public SSH key to import, encoded in PEM format. The key (prior to
2423
- # encoding) must be either 2048 or 4096 bits long.
2422
+ # @param public_key [String] A unique public SSH key to import, in OpenSSH format (consisting of three
2423
+ # space-separated fields: the algorithm name, base64-encoded key, and a comment).
2424
+ # The algorithm and comment fields may be omitted, as only the key field is
2425
+ # imported.
2424
2426
  # @param name [String] The unique user-defined name for this key. If unspecified, the name will be a
2425
2427
  # hyphenated list of randomly-selected words.
2426
2428
  # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
@@ -2683,7 +2685,13 @@ module IbmVpc
2683
2685
  ##
2684
2686
  # @!method create_instance_template(instance_template_prototype:)
2685
2687
  # Create an instance template.
2686
- # This request creates a new instance template.
2688
+ # This request creates a new instance template. The prototype object is structured
2689
+ # in the same way as a retrieved instance template, and contains the information
2690
+ # necessary to provision a new instance from the template.
2691
+ #
2692
+ # If a `source_template` is specified in the prototype object, its contents are
2693
+ # copied into the new template prior to copying any other properties provided in the
2694
+ # prototype object.
2687
2695
  # @param instance_template_prototype [InstanceTemplatePrototype] The instance template prototype object.
2688
2696
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
2689
2697
  def create_instance_template(instance_template_prototype:)
@@ -2836,13 +2844,13 @@ module IbmVpc
2836
2844
  end
2837
2845
 
2838
2846
  ##
2839
- # @!method list_instances(start: nil, limit: nil, resource_group_id: nil, name: nil, vpc_id: nil, vpc_crn: nil, vpc_name: nil, dedicated_host_id: nil, dedicated_host_crn: nil, dedicated_host_name: nil)
2847
+ # @!method list_instances(start: nil, limit: nil, resource_group_id: nil, name: nil, vpc_id: nil, vpc_crn: nil, vpc_name: nil, dedicated_host_id: nil, dedicated_host_crn: nil, dedicated_host_name: nil, placement_group_id: nil, placement_group_crn: nil, placement_group_name: nil)
2840
2848
  # List all instances.
2841
2849
  # This request lists all instances in the region.
2842
- # @param start [String] A server-supplied token determining what resource to start the page on.
2850
+ # @param start [String] A server-provided token determining what resource to start the page on.
2843
2851
  # @param limit [Fixnum] The number of resources to return on a page.
2844
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
2845
- # in a comma-separated list of resource group identifiers.
2852
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
2853
+ # identifier.
2846
2854
  # @param name [String] Filters the collection to resources with the exact specified name.
2847
2855
  # @param vpc_id [String] Filters the collection to resources in the VPC with the specified identifier.
2848
2856
  # @param vpc_crn [String] Filters the collection to resources in the VPC with the specified CRN.
@@ -2851,8 +2859,13 @@ module IbmVpc
2851
2859
  # identifier.
2852
2860
  # @param dedicated_host_crn [String] Filters the collection to instances on the dedicated host with the specified CRN.
2853
2861
  # @param dedicated_host_name [String] Filters the collection to instances on the dedicated host with the specified name.
2862
+ # @param placement_group_id [String] Filters the collection to instances in the placement group with the specified
2863
+ # identifier.
2864
+ # @param placement_group_crn [String] Filters the collection to instances in the placement group with the specified CRN.
2865
+ # @param placement_group_name [String] Filters the collection to instances in the placement group with the specified
2866
+ # name.
2854
2867
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
2855
- def list_instances(start: nil, limit: nil, resource_group_id: nil, name: nil, vpc_id: nil, vpc_crn: nil, vpc_name: nil, dedicated_host_id: nil, dedicated_host_crn: nil, dedicated_host_name: nil)
2868
+ def list_instances(start: nil, limit: nil, resource_group_id: nil, name: nil, vpc_id: nil, vpc_crn: nil, vpc_name: nil, dedicated_host_id: nil, dedicated_host_crn: nil, dedicated_host_name: nil, placement_group_id: nil, placement_group_crn: nil, placement_group_name: nil)
2856
2869
  raise ArgumentError.new("version must be provided") if version.nil?
2857
2870
 
2858
2871
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -2874,7 +2887,10 @@ module IbmVpc
2874
2887
  "vpc.name" => vpc_name,
2875
2888
  "dedicated_host.id" => dedicated_host_id,
2876
2889
  "dedicated_host.crn" => dedicated_host_crn,
2877
- "dedicated_host.name" => dedicated_host_name
2890
+ "dedicated_host.name" => dedicated_host_name,
2891
+ "placement_group.id" => placement_group_id,
2892
+ "placement_group.crn" => placement_group_crn,
2893
+ "placement_group.name" => placement_group_name
2878
2894
  }
2879
2895
 
2880
2896
  method_url = "/instances"
@@ -3356,8 +3372,9 @@ module IbmVpc
3356
3372
  # @param allow_ip_spoofing [Boolean] Indicates whether source IP spoofing is allowed on this interface. If false,
3357
3373
  # source IP spoofing is prevented on this interface. If true, source IP spoofing is
3358
3374
  # allowed on this interface.
3359
- # @param name [String] The user-defined name for this network interface. If unspecified, the name will be
3360
- # a hyphenated list of randomly-selected words.
3375
+ # @param name [String] The user-defined name for network interface. Names must be unique within the
3376
+ # instance the network interface resides in. If unspecified, the name will be a
3377
+ # hyphenated list of randomly-selected words.
3361
3378
  # @param primary_ipv4_address [String] The primary IPv4 address. If specified, it must be an available address on the
3362
3379
  # network interface's subnet. If unspecified, an available address on the subnet
3363
3380
  # will be automatically selected.
@@ -3660,7 +3677,7 @@ module IbmVpc
3660
3677
  # This request associates the specified floating IP with the specified network
3661
3678
  # interface, replacing any existing association. For this request to succeed, the
3662
3679
  # existing floating IP must not be required by another resource, such as a public
3663
- # gateway. A request body is not required, and if supplied, is ignored.
3680
+ # gateway. A request body is not required, and if provided, is ignored.
3664
3681
  # @param instance_id [String] The instance identifier.
3665
3682
  # @param network_interface_id [String] The network interface identifier.
3666
3683
  # @param id [String] The floating IP identifier.
@@ -3739,16 +3756,17 @@ module IbmVpc
3739
3756
  # @!method create_instance_volume_attachment(instance_id:, volume:, delete_volume_on_instance_delete: nil, name: nil)
3740
3757
  # Create a volume attachment on an instance.
3741
3758
  # This request creates a new volume attachment from a volume attachment prototype
3742
- # object. The prototype object is structured in the same way as a retrieved volume
3743
- # attachment, and contains the information necessary to create the new volume
3744
- # attachment. The creation of a new volume attachment connects a volume to an
3745
- # instance.
3759
+ # object, connecting a volume to an instance. For this request to succeed, the
3760
+ # specified volume must not be busy. The prototype object is structured in the same
3761
+ # way as a retrieved volume attachment, and contains the information necessary to
3762
+ # create the new volume attachment.
3746
3763
  # @param instance_id [String] The instance identifier.
3747
3764
  # @param volume [VolumeAttachmentPrototypeVolume] An existing volume to attach to the instance, or a prototype object for a new
3748
3765
  # volume.
3749
3766
  # @param delete_volume_on_instance_delete [Boolean] If set to true, when deleting the instance the volume will also be deleted.
3750
- # @param name [String] The user-defined name for this volume attachment. If unspecified, the name will be
3751
- # a hyphenated list of randomly-selected words.
3767
+ # @param name [String] The user-defined name for this volume attachment. Names must be unique within the
3768
+ # instance the volume attachment resides in. If unspecified, the name will be a
3769
+ # hyphenated list of randomly-selected words.
3752
3770
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
3753
3771
  def create_instance_volume_attachment(instance_id:, volume:, delete_volume_on_instance_delete: nil, name: nil)
3754
3772
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -3791,8 +3809,9 @@ module IbmVpc
3791
3809
  ##
3792
3810
  # @!method delete_instance_volume_attachment(instance_id:, id:)
3793
3811
  # Delete a volume attachment.
3794
- # This request deletes a volume attachment. The deletion of a volume attachment
3795
- # detaches a volume from an instance.
3812
+ # This request deletes a volume attachment. This operation cannot be reversed, but a
3813
+ # new volume attachment may subsequently be created for the volume. For this
3814
+ # request to succeed, the volume must not be busy.
3796
3815
  # @param instance_id [String] The instance identifier.
3797
3816
  # @param id [String] The volume attachment identifier.
3798
3817
  # @return [nil]
@@ -3921,7 +3940,7 @@ module IbmVpc
3921
3940
  # @!method list_instance_groups(start: nil, limit: nil)
3922
3941
  # List all instance groups.
3923
3942
  # This request lists all instance groups in the region.
3924
- # @param start [String] A server-supplied token determining what resource to start the page on.
3943
+ # @param start [String] A server-provided token determining what resource to start the page on.
3925
3944
  # @param limit [Fixnum] The number of resources to return on a page.
3926
3945
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
3927
3946
  def list_instance_groups(start: nil, limit: nil)
@@ -3957,13 +3976,13 @@ module IbmVpc
3957
3976
  # @!method create_instance_group(instance_template:, subnets:, application_port: nil, load_balancer: nil, load_balancer_pool: nil, membership_count: nil, name: nil, resource_group: nil)
3958
3977
  # Create an instance group.
3959
3978
  # This request creates a new instance group.
3960
- # @param instance_template [InstanceTemplateIdentity] Instance template to use when creating new instances.
3979
+ # @param instance_template [InstanceTemplateIdentity] Identifies an instance template by a unique property.
3961
3980
  # @param subnets [Array[SubnetIdentity]] The subnets to use when creating new instances.
3962
3981
  # @param application_port [Fixnum] Required if specifying a load balancer pool only. Used by the instance group when
3963
3982
  # scaling up instances to supply the port for the load balancer pool member.
3964
3983
  # @param load_balancer [LoadBalancerIdentity] The load balancer that the load balancer pool used by this group
3965
- # is in. Must be supplied when using a load balancer pool.
3966
- # @param load_balancer_pool [LoadBalancerPoolIdentity] When specified, the load balancer pool will be managed by this
3984
+ # is in. Required when using a load balancer pool.
3985
+ # @param load_balancer_pool [LoadBalancerPoolIdentity] If specified, the load balancer pool will be managed by this
3967
3986
  # group. Instances created by this group will have a new load
3968
3987
  # balancer pool member in that pool created. Must be used with
3969
3988
  # `application_port`.
@@ -4171,7 +4190,7 @@ module IbmVpc
4171
4190
  # List all managers for an instance group.
4172
4191
  # This request lists all managers for an instance group.
4173
4192
  # @param instance_group_id [String] The instance group identifier.
4174
- # @param start [String] A server-supplied token determining what resource to start the page on.
4193
+ # @param start [String] A server-provided token determining what resource to start the page on.
4175
4194
  # @param limit [Fixnum] The number of resources to return on a page.
4176
4195
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4177
4196
  def list_instance_group_managers(instance_group_id:, start: nil, limit: nil)
@@ -4376,7 +4395,7 @@ module IbmVpc
4376
4395
  # This request lists all instance group actions for an instance group manager.
4377
4396
  # @param instance_group_id [String] The instance group identifier.
4378
4397
  # @param instance_group_manager_id [String] The instance group manager identifier.
4379
- # @param start [String] A server-supplied token determining what resource to start the page on.
4398
+ # @param start [String] A server-provided token determining what resource to start the page on.
4380
4399
  # @param limit [Fixnum] The number of resources to return on a page.
4381
4400
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4382
4401
  def list_instance_group_manager_actions(instance_group_id:, instance_group_manager_id:, start: nil, limit: nil)
@@ -4595,7 +4614,7 @@ module IbmVpc
4595
4614
  # This request lists all policies for an instance group manager.
4596
4615
  # @param instance_group_id [String] The instance group identifier.
4597
4616
  # @param instance_group_manager_id [String] The instance group manager identifier.
4598
- # @param start [String] A server-supplied token determining what resource to start the page on.
4617
+ # @param start [String] A server-provided token determining what resource to start the page on.
4599
4618
  # @param limit [Fixnum] The number of resources to return on a page.
4600
4619
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4601
4620
  def list_instance_group_manager_policies(instance_group_id:, instance_group_manager_id:, start: nil, limit: nil)
@@ -4851,7 +4870,7 @@ module IbmVpc
4851
4870
  # List all memberships for an instance group.
4852
4871
  # This request lists all instance group memberships for an instance group.
4853
4872
  # @param instance_group_id [String] The instance group identifier.
4854
- # @param start [String] A server-supplied token determining what resource to start the page on.
4873
+ # @param start [String] A server-provided token determining what resource to start the page on.
4855
4874
  # @param limit [Fixnum] The number of resources to return on a page.
4856
4875
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4857
4876
  def list_instance_group_memberships(instance_group_id:, start: nil, limit: nil)
@@ -5014,18 +5033,19 @@ module IbmVpc
5014
5033
  #########################
5015
5034
 
5016
5035
  ##
5017
- # @!method list_dedicated_host_groups(start: nil, limit: nil, resource_group_id: nil, zone_name: nil)
5036
+ # @!method list_dedicated_host_groups(start: nil, limit: nil, resource_group_id: nil, zone_name: nil, name: nil)
5018
5037
  # List all dedicated host groups.
5019
5038
  # This request lists all dedicated host groups in the region. Host groups are a
5020
5039
  # collection of dedicated hosts for placement of instances. Each dedicated host must
5021
5040
  # belong to one and only one group. Host groups do not span zones.
5022
- # @param start [String] A server-supplied token determining what resource to start the page on.
5041
+ # @param start [String] A server-provided token determining what resource to start the page on.
5023
5042
  # @param limit [Fixnum] The number of resources to return on a page.
5024
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
5025
- # in a comma-separated list of resource group identifiers.
5043
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
5044
+ # identifier.
5026
5045
  # @param zone_name [String] Filters the collection to resources in the zone with the exact specified name.
5046
+ # @param name [String] Filters the collection to resources with the exact specified name.
5027
5047
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5028
- def list_dedicated_host_groups(start: nil, limit: nil, resource_group_id: nil, zone_name: nil)
5048
+ def list_dedicated_host_groups(start: nil, limit: nil, resource_group_id: nil, zone_name: nil, name: nil)
5029
5049
  raise ArgumentError.new("version must be provided") if version.nil?
5030
5050
 
5031
5051
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -5041,7 +5061,8 @@ module IbmVpc
5041
5061
  "start" => start,
5042
5062
  "limit" => limit,
5043
5063
  "resource_group.id" => resource_group_id,
5044
- "zone.name" => zone_name
5064
+ "zone.name" => zone_name,
5065
+ "name" => name
5045
5066
  }
5046
5067
 
5047
5068
  method_url = "/dedicated_host/groups"
@@ -5226,7 +5247,7 @@ module IbmVpc
5226
5247
  # This request lists all provisionable dedicated host profiles in the region. A
5227
5248
  # dedicated host profile specifies the hardware characteristics for a dedicated
5228
5249
  # host.
5229
- # @param start [String] A server-supplied token determining what resource to start the page on.
5250
+ # @param start [String] A server-provided token determining what resource to start the page on.
5230
5251
  # @param limit [Fixnum] The number of resources to return on a page.
5231
5252
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5232
5253
  def list_dedicated_host_profiles(start: nil, limit: nil)
@@ -5295,17 +5316,18 @@ module IbmVpc
5295
5316
  end
5296
5317
 
5297
5318
  ##
5298
- # @!method list_dedicated_hosts(dedicated_host_group_id: nil, start: nil, limit: nil, resource_group_id: nil, zone_name: nil)
5319
+ # @!method list_dedicated_hosts(dedicated_host_group_id: nil, start: nil, limit: nil, resource_group_id: nil, zone_name: nil, name: nil)
5299
5320
  # List all dedicated hosts.
5300
5321
  # This request lists all dedicated hosts in the region.
5301
5322
  # @param dedicated_host_group_id [String] Filters the collection to dedicated host groups with the specified identifier.
5302
- # @param start [String] A server-supplied token determining what resource to start the page on.
5323
+ # @param start [String] A server-provided token determining what resource to start the page on.
5303
5324
  # @param limit [Fixnum] The number of resources to return on a page.
5304
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
5305
- # in a comma-separated list of resource group identifiers.
5325
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
5326
+ # identifier.
5306
5327
  # @param zone_name [String] Filters the collection to resources in the zone with the exact specified name.
5328
+ # @param name [String] Filters the collection to resources with the exact specified name.
5307
5329
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5308
- def list_dedicated_hosts(dedicated_host_group_id: nil, start: nil, limit: nil, resource_group_id: nil, zone_name: nil)
5330
+ def list_dedicated_hosts(dedicated_host_group_id: nil, start: nil, limit: nil, resource_group_id: nil, zone_name: nil, name: nil)
5309
5331
  raise ArgumentError.new("version must be provided") if version.nil?
5310
5332
 
5311
5333
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -5322,7 +5344,8 @@ module IbmVpc
5322
5344
  "start" => start,
5323
5345
  "limit" => limit,
5324
5346
  "resource_group.id" => resource_group_id,
5325
- "zone.name" => zone_name
5347
+ "zone.name" => zone_name,
5348
+ "name" => name
5326
5349
  }
5327
5350
 
5328
5351
  method_url = "/dedicated_hosts"
@@ -5614,6 +5637,215 @@ module IbmVpc
5614
5637
  response
5615
5638
  end
5616
5639
  #########################
5640
+ # Placement groups
5641
+ #########################
5642
+
5643
+ ##
5644
+ # @!method list_placement_groups(start: nil, limit: nil)
5645
+ # List all placement groups.
5646
+ # This request lists all placement groups in the region.
5647
+ # @param start [String] A server-provided token determining what resource to start the page on.
5648
+ # @param limit [Fixnum] The number of resources to return on a page.
5649
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5650
+ def list_placement_groups(start: nil, limit: nil)
5651
+ raise ArgumentError.new("version must be provided") if version.nil?
5652
+
5653
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5654
+
5655
+ headers = {
5656
+ }
5657
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_placement_groups")
5658
+ headers.merge!(sdk_headers)
5659
+
5660
+ params = {
5661
+ "version" => @version,
5662
+ "generation" => @generation,
5663
+ "start" => start,
5664
+ "limit" => limit
5665
+ }
5666
+
5667
+ method_url = "/placement_groups"
5668
+
5669
+ response = request(
5670
+ method: "GET",
5671
+ url: method_url,
5672
+ headers: headers,
5673
+ params: params,
5674
+ accept_json: true
5675
+ )
5676
+ response
5677
+ end
5678
+
5679
+ ##
5680
+ # @!method create_placement_group(strategy:, name: nil, resource_group: nil)
5681
+ # Create a placement group.
5682
+ # This request creates a new placement group.
5683
+ # @param strategy [String] The strategy for this placement group
5684
+ # - `host_spread`: place on different compute hosts
5685
+ # - `power_spread`: place on compute hosts that use different power sources
5686
+ #
5687
+ # The enumerated values for this property may expand in the future. When processing
5688
+ # this property, check for and log unknown values. Optionally halt processing and
5689
+ # surface the error, or bypass the placement group on which the unexpected strategy
5690
+ # was encountered.
5691
+ # @param name [String] The unique user-defined name for this placement group. If unspecified, the name
5692
+ # will be a hyphenated list of randomly-selected words.
5693
+ # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
5694
+ # group](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used.
5695
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5696
+ def create_placement_group(strategy:, name: nil, resource_group: nil)
5697
+ raise ArgumentError.new("version must be provided") if version.nil?
5698
+
5699
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5700
+
5701
+ raise ArgumentError.new("strategy must be provided") if strategy.nil?
5702
+
5703
+ headers = {
5704
+ }
5705
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_placement_group")
5706
+ headers.merge!(sdk_headers)
5707
+
5708
+ params = {
5709
+ "version" => @version,
5710
+ "generation" => @generation
5711
+ }
5712
+
5713
+ data = {
5714
+ "strategy" => strategy,
5715
+ "name" => name,
5716
+ "resource_group" => resource_group
5717
+ }
5718
+
5719
+ method_url = "/placement_groups"
5720
+
5721
+ response = request(
5722
+ method: "POST",
5723
+ url: method_url,
5724
+ headers: headers,
5725
+ params: params,
5726
+ json: data,
5727
+ accept_json: true
5728
+ )
5729
+ response
5730
+ end
5731
+
5732
+ ##
5733
+ # @!method delete_placement_group(id:)
5734
+ # Delete a placement group.
5735
+ # This request deletes a placement group. This operation cannot be reversed. For
5736
+ # this request to succeed, the placement group must not be associated with an
5737
+ # instance.
5738
+ # @param id [String] The placement group identifier.
5739
+ # @return [nil]
5740
+ def delete_placement_group(id:)
5741
+ raise ArgumentError.new("version must be provided") if version.nil?
5742
+
5743
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5744
+
5745
+ raise ArgumentError.new("id must be provided") if id.nil?
5746
+
5747
+ headers = {
5748
+ }
5749
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_placement_group")
5750
+ headers.merge!(sdk_headers)
5751
+
5752
+ params = {
5753
+ "version" => @version,
5754
+ "generation" => @generation
5755
+ }
5756
+
5757
+ method_url = "/placement_groups/%s" % [ERB::Util.url_encode(id)]
5758
+
5759
+ request(
5760
+ method: "DELETE",
5761
+ url: method_url,
5762
+ headers: headers,
5763
+ params: params,
5764
+ accept_json: false
5765
+ )
5766
+ nil
5767
+ end
5768
+
5769
+ ##
5770
+ # @!method get_placement_group(id:)
5771
+ # Retrieve a placement group.
5772
+ # This request retrieves a single placement group specified by identifier in the
5773
+ # URL.
5774
+ # @param id [String] The placement group identifier.
5775
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5776
+ def get_placement_group(id:)
5777
+ raise ArgumentError.new("version must be provided") if version.nil?
5778
+
5779
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5780
+
5781
+ raise ArgumentError.new("id must be provided") if id.nil?
5782
+
5783
+ headers = {
5784
+ }
5785
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_placement_group")
5786
+ headers.merge!(sdk_headers)
5787
+
5788
+ params = {
5789
+ "version" => @version,
5790
+ "generation" => @generation
5791
+ }
5792
+
5793
+ method_url = "/placement_groups/%s" % [ERB::Util.url_encode(id)]
5794
+
5795
+ response = request(
5796
+ method: "GET",
5797
+ url: method_url,
5798
+ headers: headers,
5799
+ params: params,
5800
+ accept_json: true
5801
+ )
5802
+ response
5803
+ end
5804
+
5805
+ ##
5806
+ # @!method update_placement_group(id:, placement_group_patch:)
5807
+ # Update a placement group.
5808
+ # This request updates a placement group with the information provided placement
5809
+ # group patch. The placement group patch object is structured in the same way as a
5810
+ # retrieved placement group and contains only the information to be updated.
5811
+ # @param id [String] The placement group identifier.
5812
+ # @param placement_group_patch [Hash] The placement group patch.
5813
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5814
+ def update_placement_group(id:, placement_group_patch:)
5815
+ raise ArgumentError.new("version must be provided") if version.nil?
5816
+
5817
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5818
+
5819
+ raise ArgumentError.new("id must be provided") if id.nil?
5820
+
5821
+ raise ArgumentError.new("placement_group_patch must be provided") if placement_group_patch.nil?
5822
+
5823
+ headers = {
5824
+ }
5825
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_placement_group")
5826
+ headers.merge!(sdk_headers)
5827
+
5828
+ params = {
5829
+ "version" => @version,
5830
+ "generation" => @generation
5831
+ }
5832
+
5833
+ data = placement_group_patch
5834
+ headers["Content-Type"] = "application/merge-patch+json"
5835
+
5836
+ method_url = "/placement_groups/%s" % [ERB::Util.url_encode(id)]
5837
+
5838
+ response = request(
5839
+ method: "PATCH",
5840
+ url: method_url,
5841
+ headers: headers,
5842
+ params: params,
5843
+ data: data,
5844
+ accept_json: true
5845
+ )
5846
+ response
5847
+ end
5848
+ #########################
5617
5849
  # Volumes
5618
5850
  #########################
5619
5851
 
@@ -5622,7 +5854,7 @@ module IbmVpc
5622
5854
  # List all volume profiles.
5623
5855
  # This request lists all volume profiles available in the region. A volume profile
5624
5856
  # specifies the performance characteristics and pricing model for a volume.
5625
- # @param start [String] A server-supplied token determining what resource to start the page on.
5857
+ # @param start [String] A server-provided token determining what resource to start the page on.
5626
5858
  # @param limit [Fixnum] The number of resources to return on a page.
5627
5859
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5628
5860
  def list_volume_profiles(start: nil, limit: nil)
@@ -5694,7 +5926,7 @@ module IbmVpc
5694
5926
  # List all volumes.
5695
5927
  # This request lists all volumes in the region. Volumes are network-connected block
5696
5928
  # storage devices that may be attached to one or more instances in the same region.
5697
- # @param start [String] A server-supplied token determining what resource to start the page on.
5929
+ # @param start [String] A server-provided token determining what resource to start the page on.
5698
5930
  # @param limit [Fixnum] The number of resources to return on a page.
5699
5931
  # @param name [String] Filters the collection to resources with the exact specified name.
5700
5932
  # @param zone_name [String] Filters the collection to resources in the zone with the exact specified name.
@@ -5931,10 +6163,10 @@ module IbmVpc
5931
6163
  # List all snapshots.
5932
6164
  # This request lists all snapshots in the region. A snapshot preserves the data of a
5933
6165
  # volume at the time the snapshot is created.
5934
- # @param start [String] A server-supplied token determining what resource to start the page on.
6166
+ # @param start [String] A server-provided token determining what resource to start the page on.
5935
6167
  # @param limit [Fixnum] The number of resources to return on a page.
5936
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
5937
- # in a comma-separated list of resource group identifiers.
6168
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
6169
+ # identifier.
5938
6170
  # @param name [String] Filters the collection to resources with the exact specified name.
5939
6171
  # @param source_volume_id [String] Filters the collection to resources with the source volume with the specified
5940
6172
  # identifier.
@@ -6313,10 +6545,10 @@ module IbmVpc
6313
6545
  # virtual network device associated with a VPC, which allows access to the Internet.
6314
6546
  # A public gateway resides in a zone and can be connected to subnets in the same
6315
6547
  # zone only.
6316
- # @param start [String] A server-supplied token determining what resource to start the page on.
6548
+ # @param start [String] A server-provided token determining what resource to start the page on.
6317
6549
  # @param limit [Fixnum] The number of resources to return on a page.
6318
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
6319
- # in a comma-separated list of resource group identifiers.
6550
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
6551
+ # identifier.
6320
6552
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
6321
6553
  def list_public_gateways(start: nil, limit: nil, resource_group_id: nil)
6322
6554
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -6532,10 +6764,10 @@ module IbmVpc
6532
6764
  # List all floating IPs.
6533
6765
  # This request lists all floating IPs in the region. Floating IPs allow inbound and
6534
6766
  # outbound traffic from the Internet to an instance.
6535
- # @param start [String] A server-supplied token determining what resource to start the page on.
6767
+ # @param start [String] A server-provided token determining what resource to start the page on.
6536
6768
  # @param limit [Fixnum] The number of resources to return on a page.
6537
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
6538
- # in a comma-separated list of resource group identifiers.
6769
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
6770
+ # identifier.
6539
6771
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
6540
6772
  def list_floating_ips(start: nil, limit: nil, resource_group_id: nil)
6541
6773
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -6731,10 +6963,10 @@ module IbmVpc
6731
6963
  # packet filtering (5-tuple) rules for all traffic in and out of a subnet. Both
6732
6964
  # allow and deny rules can be defined, and rules are stateless such that reverse
6733
6965
  # traffic in response to allowed traffic is not automatically permitted.
6734
- # @param start [String] A server-supplied token determining what resource to start the page on.
6966
+ # @param start [String] A server-provided token determining what resource to start the page on.
6735
6967
  # @param limit [Fixnum] The number of resources to return on a page.
6736
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
6737
- # in a comma-separated list of resource group identifiers.
6968
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
6969
+ # identifier.
6738
6970
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
6739
6971
  def list_network_acls(start: nil, limit: nil, resource_group_id: nil)
6740
6972
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -6927,7 +7159,7 @@ module IbmVpc
6927
7159
  # traffic between a source CIDR block and a destination CIDR block over a particular
6928
7160
  # protocol and port range.
6929
7161
  # @param network_acl_id [String] The network ACL identifier.
6930
- # @param start [String] A server-supplied token determining what resource to start the page on.
7162
+ # @param start [String] A server-provided token determining what resource to start the page on.
6931
7163
  # @param limit [Fixnum] The number of resources to return on a page.
6932
7164
  # @param direction [String] Filters the collection to rules with the specified direction.
6933
7165
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -7142,10 +7374,10 @@ module IbmVpc
7142
7374
  # define which traffic the security group permits. Security group rules are stateful
7143
7375
  # such that reverse traffic in response to allowed traffic is automatically
7144
7376
  # permitted.
7145
- # @param start [String] A server-supplied token determining what resource to start the page on.
7377
+ # @param start [String] A server-provided token determining what resource to start the page on.
7146
7378
  # @param limit [Fixnum] The number of resources to return on a page.
7147
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
7148
- # in a comma-separated list of resource group identifiers.
7379
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
7380
+ # identifier.
7149
7381
  # @param vpc_id [String] Filters the collection to resources in the VPC with the specified identifier.
7150
7382
  # @param vpc_crn [String] Filters the collection to resources in the VPC with the specified CRN.
7151
7383
  # @param vpc_name [String] Filters the collection to resources in the VPC with the exact specified name.
@@ -7362,7 +7594,7 @@ module IbmVpc
7362
7594
  # This request lists all network interfaces associated with a security group, to
7363
7595
  # which the rules in the security group are applied.
7364
7596
  # @param security_group_id [String] The security group identifier.
7365
- # @param start [String] A server-supplied token determining what resource to start the page on.
7597
+ # @param start [String] A server-provided token determining what resource to start the page on.
7366
7598
  # @param limit [Fixnum] The number of resources to return on a page.
7367
7599
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
7368
7600
  def list_security_group_network_interfaces(security_group_id:, start: nil, limit: nil)
@@ -7484,7 +7716,7 @@ module IbmVpc
7484
7716
  # This request adds an existing network interface to an existing security group.
7485
7717
  # When a network interface is added to a security group, the security group rules
7486
7718
  # are applied to the network interface. A request body is not required, and if
7487
- # supplied, is ignored.
7719
+ # provided, is ignored.
7488
7720
  # @param security_group_id [String] The security group identifier.
7489
7721
  # @param id [String] The network interface identifier.
7490
7722
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -7738,7 +7970,7 @@ module IbmVpc
7738
7970
  # This request lists all targets associated with a security group, to which the
7739
7971
  # rules in the security group are applied.
7740
7972
  # @param security_group_id [String] The security group identifier.
7741
- # @param start [String] A server-supplied token determining what resource to start the page on.
7973
+ # @param start [String] A server-provided token determining what resource to start the page on.
7742
7974
  # @param limit [Fixnum] The number of resources to return on a page.
7743
7975
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
7744
7976
  def list_security_group_targets(security_group_id:, start: nil, limit: nil)
@@ -7776,7 +8008,7 @@ module IbmVpc
7776
8008
  # @!method delete_security_group_target_binding(security_group_id:, id:)
7777
8009
  # Remove a target from a security group.
7778
8010
  # This request removes a target from a security group. For this request to succeed,
7779
- # the target must be attached to at least one other security group. The supplied
8011
+ # the target must be attached to at least one other security group. The specified
7780
8012
  # target identifier can be:
7781
8013
  #
7782
8014
  # - A network interface identifier
@@ -7860,14 +8092,14 @@ module IbmVpc
7860
8092
  ##
7861
8093
  # @!method create_security_group_target_binding(security_group_id:, id:)
7862
8094
  # Add a target to a security group.
7863
- # This request adds a resource to an existing security group. The supplied target
8095
+ # This request adds a resource to an existing security group. The specified target
7864
8096
  # identifier can be:
7865
8097
  #
7866
8098
  # - A network interface identifier
7867
8099
  # - An application load balancer identifier
7868
8100
  #
7869
8101
  # When a target is added to a security group, the security group rules are applied
7870
- # to the target. A request body is not required, and if supplied, is ignored.
8102
+ # to the target. A request body is not required, and if provided, is ignored.
7871
8103
  # @param security_group_id [String] The security group identifier.
7872
8104
  # @param id [String] The security group target identifier.
7873
8105
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -7909,7 +8141,7 @@ module IbmVpc
7909
8141
  # @!method list_ike_policies(start: nil, limit: nil)
7910
8142
  # List all IKE policies.
7911
8143
  # This request lists all IKE policies in the region.
7912
- # @param start [String] A server-supplied token determining what resource to start the page on.
8144
+ # @param start [String] A server-provided token determining what resource to start the page on.
7913
8145
  # @param limit [Fixnum] The number of resources to return on a page.
7914
8146
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
7915
8147
  def list_ike_policies(start: nil, limit: nil)
@@ -8003,7 +8235,9 @@ module IbmVpc
8003
8235
  ##
8004
8236
  # @!method delete_ike_policy(id:)
8005
8237
  # Delete an IKE policy.
8006
- # This request deletes an IKE policy. This operation cannot be reversed.
8238
+ # This request deletes an IKE policy. This operation cannot be reversed. For this
8239
+ # request to succeed, there must not be any VPN gateway connections using this
8240
+ # policy.
8007
8241
  # @param id [String] The IKE policy identifier.
8008
8242
  # @return [nil]
8009
8243
  def delete_ike_policy(id:)
@@ -8151,7 +8385,7 @@ module IbmVpc
8151
8385
  # @!method list_ipsec_policies(start: nil, limit: nil)
8152
8386
  # List all IPsec policies.
8153
8387
  # This request lists all IPsec policies in the region.
8154
- # @param start [String] A server-supplied token determining what resource to start the page on.
8388
+ # @param start [String] A server-provided token determining what resource to start the page on.
8155
8389
  # @param limit [Fixnum] The number of resources to return on a page.
8156
8390
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8157
8391
  def list_ipsec_policies(start: nil, limit: nil)
@@ -8241,7 +8475,9 @@ module IbmVpc
8241
8475
  ##
8242
8476
  # @!method delete_ipsec_policy(id:)
8243
8477
  # Delete an IPsec policy.
8244
- # This request deletes an IPsec policy. This operation cannot be reversed.
8478
+ # This request deletes an IPsec policy. This operation cannot be reversed. For this
8479
+ # request to succeed, there must not be any VPN gateway connections using this
8480
+ # policy.
8245
8481
  # @param id [String] The IPsec policy identifier.
8246
8482
  # @return [nil]
8247
8483
  def delete_ipsec_policy(id:)
@@ -8390,10 +8626,10 @@ module IbmVpc
8390
8626
  # @!method list_vpn_gateways(start: nil, limit: nil, resource_group_id: nil, mode: nil)
8391
8627
  # List all VPN gateways.
8392
8628
  # This request lists all VPN gateways in the region.
8393
- # @param start [String] A server-supplied token determining what resource to start the page on.
8629
+ # @param start [String] A server-provided token determining what resource to start the page on.
8394
8630
  # @param limit [Fixnum] The number of resources to return on a page.
8395
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
8396
- # in a comma-separated list of resource group identifiers.
8631
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
8632
+ # identifier.
8397
8633
  # @param mode [String] Filters the collection to VPN gateways with the specified mode.
8398
8634
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8399
8635
  def list_vpn_gateways(start: nil, limit: nil, resource_group_id: nil, mode: nil)
@@ -8469,9 +8705,10 @@ module IbmVpc
8469
8705
  ##
8470
8706
  # @!method delete_vpn_gateway(id:)
8471
8707
  # Delete a VPN gateway.
8472
- # This request deletes a VPN gateway. A VPN gateway with a `status` of `pending`
8473
- # cannot be deleted. This operation deletes all VPN gateway connections associated
8474
- # with this VPN gateway. This operation cannot be reversed.
8708
+ # This request deletes a VPN gateway. This operation cannot be reversed. For this
8709
+ # request to succeed, the VPN gateway must not have a `status` of `pending`, and
8710
+ # there must not be any VPC routes using the VPN gateway's connections as a next
8711
+ # hop.
8475
8712
  # @param id [String] The VPN gateway identifier.
8476
8713
  # @return [nil]
8477
8714
  def delete_vpn_gateway(id:)
@@ -8664,6 +8901,8 @@ module IbmVpc
8664
8901
  # @!method delete_vpn_gateway_connection(vpn_gateway_id:, id:)
8665
8902
  # Delete a VPN gateway connection.
8666
8903
  # This request deletes a VPN gateway connection. This operation cannot be reversed.
8904
+ # For this request to succeed, there must not be VPC routes using this VPN
8905
+ # connection as a next hop.
8667
8906
  # @param vpn_gateway_id [String] The VPN gateway identifier.
8668
8907
  # @param id [String] The VPN gateway connection identifier.
8669
8908
  # @return [nil]
@@ -8913,7 +9152,7 @@ module IbmVpc
8913
9152
  # @!method add_vpn_gateway_connection_local_cidr(vpn_gateway_id:, id:, cidr_prefix:, prefix_length:)
8914
9153
  # Set a local CIDR on a VPN gateway connection.
8915
9154
  # This request adds the specified CIDR to the specified VPN gateway connection. A
8916
- # request body is not required, and if supplied, is ignored. This request succeeds
9155
+ # request body is not required, and if provided, is ignored. This request succeeds
8917
9156
  # if the CIDR already exists on the specified VPN gateway connection.
8918
9157
  # @param vpn_gateway_id [String] The VPN gateway identifier.
8919
9158
  # @param id [String] The VPN gateway connection identifier.
@@ -9086,7 +9325,7 @@ module IbmVpc
9086
9325
  # @!method add_vpn_gateway_connection_peer_cidr(vpn_gateway_id:, id:, cidr_prefix:, prefix_length:)
9087
9326
  # Set a peer CIDR on a VPN gateway connection.
9088
9327
  # This request adds the specified CIDR to the specified VPN gateway connection. A
9089
- # request body is not required, and if supplied, is ignored. This request succeeds
9328
+ # request body is not required, and if provided, is ignored. This request succeeds
9090
9329
  # if the CIDR already exists on the specified VPN gateway connection.
9091
9330
  # @param vpn_gateway_id [String] The VPN gateway identifier.
9092
9331
  # @param id [String] The VPN gateway connection identifier.
@@ -9137,7 +9376,7 @@ module IbmVpc
9137
9376
  # This request lists all load balancer profiles available in the region. A load
9138
9377
  # balancer profile specifies the performance characteristics and pricing model for a
9139
9378
  # load balancer.
9140
- # @param start [String] A server-supplied token determining what resource to start the page on.
9379
+ # @param start [String] A server-provided token determining what resource to start the page on.
9141
9380
  # @param limit [Fixnum] The number of resources to return on a page.
9142
9381
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
9143
9382
  def list_load_balancer_profiles(start: nil, limit: nil)
@@ -9208,7 +9447,7 @@ module IbmVpc
9208
9447
  # @!method list_load_balancers(start: nil, limit: nil)
9209
9448
  # List all load balancers.
9210
9449
  # This request lists all load balancers in the region.
9211
- # @param start [String] A server-supplied token determining what resource to start the page on.
9450
+ # @param start [String] A server-provided token determining what resource to start the page on.
9212
9451
  # @param limit [Fixnum] The number of resources to return on a page.
9213
9452
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
9214
9453
  def list_load_balancers(start: nil, limit: nil)
@@ -9241,10 +9480,12 @@ module IbmVpc
9241
9480
  end
9242
9481
 
9243
9482
  ##
9244
- # @!method create_load_balancer(is_public:, subnets:, listeners: nil, logging: nil, name: nil, pools: nil, profile: nil, resource_group: nil, security_groups: nil)
9483
+ # @!method create_load_balancer(is_public:, subnets:, listeners: nil, logging: nil, name: nil, pools: nil, profile: nil, resource_group: nil, route_mode: nil, security_groups: nil)
9245
9484
  # Create a load balancer.
9246
9485
  # This request creates and provisions a new load balancer.
9247
9486
  # @param is_public [Boolean] Indicates whether this load balancer is public or private.
9487
+ #
9488
+ # At present, if route mode is enabled, the load balancer must be private.
9248
9489
  # @param subnets [Array[SubnetIdentity]] The subnets to provision this load balancer.
9249
9490
  # @param listeners [Array[LoadBalancerListenerPrototypeLoadBalancerContext]] The listeners of this load balancer.
9250
9491
  # @param logging [LoadBalancerLogging] The logging configuration to use for this load balancer. See [VPC Datapath
@@ -9259,11 +9500,14 @@ module IbmVpc
9259
9500
  # @param profile [LoadBalancerProfileIdentity] The profile to use for this load balancer.
9260
9501
  # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
9261
9502
  # group](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used.
9503
+ # @param route_mode [Boolean] Indicates whether route mode is enabled for this load balancer.
9504
+ #
9505
+ # At present, public load balancers are not supported with route mode enabled.
9262
9506
  # @param security_groups [Array[SecurityGroupIdentity]] The security groups to use for this load balancer.
9263
9507
  #
9264
9508
  # The load balancer profile must support security groups.
9265
9509
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
9266
- def create_load_balancer(is_public:, subnets:, listeners: nil, logging: nil, name: nil, pools: nil, profile: nil, resource_group: nil, security_groups: nil)
9510
+ def create_load_balancer(is_public:, subnets:, listeners: nil, logging: nil, name: nil, pools: nil, profile: nil, resource_group: nil, route_mode: nil, security_groups: nil)
9267
9511
  raise ArgumentError.new("version must be provided") if version.nil?
9268
9512
 
9269
9513
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -9291,6 +9535,7 @@ module IbmVpc
9291
9535
  "pools" => pools,
9292
9536
  "profile" => profile,
9293
9537
  "resource_group" => resource_group,
9538
+ "route_mode" => route_mode,
9294
9539
  "security_groups" => security_groups
9295
9540
  }
9296
9541
 
@@ -9491,19 +9736,25 @@ module IbmVpc
9491
9736
  end
9492
9737
 
9493
9738
  ##
9494
- # @!method create_load_balancer_listener(load_balancer_id:, port:, protocol:, accept_proxy_protocol: nil, certificate_instance: nil, connection_limit: nil, default_pool: nil, policies: nil)
9739
+ # @!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, policies: nil, port: nil, port_max: nil, port_min: nil)
9495
9740
  # Create a listener for a load balancer.
9496
9741
  # This request creates a new listener for a load balancer.
9497
9742
  # @param load_balancer_id [String] The load balancer identifier.
9498
- # @param port [Fixnum] The listener port number. Each listener in the load balancer must have a unique
9499
- # `port` and `protocol` combination.
9500
- # @param protocol [String] The listener protocol. Load balancers in the `network` family support `tcp`. Load
9501
- # balancers in the `application` family support `tcp`, `http`, and `https`. Each
9502
- # listener in the load balancer must have a unique `port` and `protocol`
9503
- # combination.
9743
+ # @param protocol [String] The listener protocol. Each listener in the load balancer must have a unique
9744
+ # `port` and `protocol` combination. Additional restrictions:
9745
+ # - If this load balancer is in the `network` family, the protocol must be `tcp`.
9746
+ # - If this listener has `https_redirect` specified, the protocol must be `http`.
9747
+ # - If this listener is a listener's `https_redirect` target, the protocol must be
9748
+ # `https`.
9504
9749
  # @param accept_proxy_protocol [Boolean] If set to `true`, this listener will accept and forward PROXY protocol
9505
9750
  # information. Supported by load balancers in the `application` family (otherwise
9506
- # always `false`).
9751
+ # always `false`). Additional restrictions:
9752
+ # - If this listener has `https_redirect` specified, its `accept_proxy_protocol`
9753
+ # value must
9754
+ # match the `accept_proxy_protocol` value of the `https_redirect` listener.
9755
+ # - If this listener is the target of another listener's `https_redirect`, its
9756
+ # `accept_proxy_protocol` value must match that listener's `accept_proxy_protocol`
9757
+ # value.
9507
9758
  # @param certificate_instance [CertificateInstanceIdentity] The certificate instance used for SSL termination. It is applicable only to
9508
9759
  # `https`
9509
9760
  # protocol.
@@ -9513,17 +9764,36 @@ module IbmVpc
9513
9764
  # - Belong to this load balancer
9514
9765
  # - Have the same `protocol` as this listener
9515
9766
  # - Not already be the default pool for another listener.
9767
+ # @param https_redirect [LoadBalancerListenerHTTPSRedirectPrototype] The target listener that requests will be redirected to. This listener must have a
9768
+ # `protocol` of `http`, and the target listener must have a `protocol` of `https`.
9516
9769
  # @param policies [Array[LoadBalancerListenerPolicyPrototype]] The policy prototype objects for this listener.
9770
+ # @param port [Fixnum] The listener port number, or the inclusive lower bound of the port range. Each
9771
+ # listener in the load balancer must have a unique `port` and `protocol`
9772
+ # combination.
9773
+ #
9774
+ # Not supported for load balancers operating with route mode enabled.
9775
+ # @param port_max [Fixnum] The inclusive upper bound of the range of ports used by this listener. Must not be
9776
+ # less than `port_min`.
9777
+ #
9778
+ # At present, only load balancers operating with route mode enabled support
9779
+ # different values for `port_min` and `port_max`. When route mode is enabled, only
9780
+ # a value of
9781
+ # `65535` is supported for `port_max`.
9782
+ # @param port_min [Fixnum] The inclusive lower bound of the range of ports used by this listener. Must not be
9783
+ # greater than `port_max`.
9784
+ #
9785
+ # At present, only load balancers operating with route mode enabled support
9786
+ # different values for `port_min` and `port_max`. When route mode is enabled, only
9787
+ # a value of
9788
+ # `1` is supported for `port_min`.
9517
9789
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
9518
- def create_load_balancer_listener(load_balancer_id:, port:, protocol:, accept_proxy_protocol: nil, certificate_instance: nil, connection_limit: nil, default_pool: nil, policies: nil)
9790
+ 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, policies: nil, port: nil, port_max: nil, port_min: nil)
9519
9791
  raise ArgumentError.new("version must be provided") if version.nil?
9520
9792
 
9521
9793
  raise ArgumentError.new("generation must be provided") if generation.nil?
9522
9794
 
9523
9795
  raise ArgumentError.new("load_balancer_id must be provided") if load_balancer_id.nil?
9524
9796
 
9525
- raise ArgumentError.new("port must be provided") if port.nil?
9526
-
9527
9797
  raise ArgumentError.new("protocol must be provided") if protocol.nil?
9528
9798
 
9529
9799
  headers = {
@@ -9537,13 +9807,16 @@ module IbmVpc
9537
9807
  }
9538
9808
 
9539
9809
  data = {
9540
- "port" => port,
9541
9810
  "protocol" => protocol,
9542
9811
  "accept_proxy_protocol" => accept_proxy_protocol,
9543
9812
  "certificate_instance" => certificate_instance,
9544
9813
  "connection_limit" => connection_limit,
9545
9814
  "default_pool" => default_pool,
9546
- "policies" => policies
9815
+ "https_redirect" => https_redirect,
9816
+ "policies" => policies,
9817
+ "port" => port,
9818
+ "port_max" => port_max,
9819
+ "port_min" => port_min
9547
9820
  }
9548
9821
 
9549
9822
  method_url = "/load_balancers/%s/listeners" % [ERB::Util.url_encode(load_balancer_id)]
@@ -9563,6 +9836,8 @@ module IbmVpc
9563
9836
  # @!method delete_load_balancer_listener(load_balancer_id:, id:)
9564
9837
  # Delete a load balancer listener.
9565
9838
  # This request deletes a load balancer listener. This operation cannot be reversed.
9839
+ # For this operation to succeed, the listener must not be the target of another load
9840
+ # balancer listener.
9566
9841
  # @param load_balancer_id [String] The load balancer identifier.
9567
9842
  # @param id [String] The listener identifier.
9568
9843
  # @return [nil]
@@ -9738,6 +10013,8 @@ module IbmVpc
9738
10013
  # @param target [LoadBalancerListenerPolicyTargetPrototype] - If `action` is `forward`, specify a `LoadBalancerPoolIdentity`.
9739
10014
  # - If `action` is `redirect`, specify a
9740
10015
  # `LoadBalancerListenerPolicyRedirectURLPrototype`.
10016
+ # - If `action` is `https_redirect`, specify a
10017
+ # `LoadBalancerListenerPolicyHTTPSRedirectPrototype`.
9741
10018
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
9742
10019
  def create_load_balancer_listener_policy(load_balancer_id:, listener_id:, action:, priority:, name: nil, rules: nil, target: nil)
9743
10020
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -10675,10 +10952,10 @@ module IbmVpc
10675
10952
  # This request lists all endpoint gateways in the region. An endpoint gateway maps
10676
10953
  # one or more reserved IPs in a VPC to a target outside the VPC.
10677
10954
  # @param name [String] Filters the collection to resources with the exact specified name.
10678
- # @param start [String] A server-supplied token determining what resource to start the page on.
10955
+ # @param start [String] A server-provided token determining what resource to start the page on.
10679
10956
  # @param limit [Fixnum] The number of resources to return on a page.
10680
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
10681
- # in a comma-separated list of resource group identifiers.
10957
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
10958
+ # identifier.
10682
10959
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
10683
10960
  def list_endpoint_gateways(name: nil, start: nil, limit: nil, resource_group_id: nil)
10684
10961
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -10771,7 +11048,7 @@ module IbmVpc
10771
11048
  # List all reserved IPs bound to an endpoint gateway.
10772
11049
  # This request lists all reserved IPs bound to an endpoint gateway.
10773
11050
  # @param endpoint_gateway_id [String] The endpoint gateway identifier.
10774
- # @param start [String] A server-supplied token determining what resource to start the page on.
11051
+ # @param start [String] A server-provided token determining what resource to start the page on.
10775
11052
  # @param limit [Fixnum] The number of resources to return on a page.
10776
11053
  # @param sort [String] Sorts the returned collection by the specified property name in ascending order. A
10777
11054
  # `-` may be prepended to the name to sort in descending order. For example, the
@@ -11058,10 +11335,10 @@ module IbmVpc
11058
11335
  # This request lists all flow log collectors in the region. A flow log collector
11059
11336
  # summarizes data sent over one or more network interfaces within a VPC, depending
11060
11337
  # on the chosen target.
11061
- # @param start [String] A server-supplied token determining what resource to start the page on.
11338
+ # @param start [String] A server-provided token determining what resource to start the page on.
11062
11339
  # @param limit [Fixnum] The number of resources to return on a page.
11063
- # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
11064
- # in a comma-separated list of resource group identifiers.
11340
+ # @param resource_group_id [String] Filters the collection to resources in the resource group with the specified
11341
+ # identifier.
11065
11342
  # @param name [String] Filters the collection to resources with the exact specified name.
11066
11343
  # @param vpc_id [String] Filters the collection to resources in the VPC with the specified identifier.
11067
11344
  # @param vpc_crn [String] Filters the collection to resources in the VPC with the specified CRN.
@@ -11171,8 +11448,11 @@ module IbmVpc
11171
11448
  ##
11172
11449
  # @!method delete_flow_log_collector(id:)
11173
11450
  # Delete a flow log collector.
11174
- # This request stops and deletes a flow log collector. Collected flow logs remain
11175
- # available within the flow log collector's bucket.
11451
+ # This request stops and deletes a flow log collector. This operation cannot be
11452
+ # reversed.
11453
+ #
11454
+ # Collected flow logs remain available within the flow log collector's Cloud Object
11455
+ # Storage bucket.
11176
11456
  # @param id [String] The flow log collector identifier.
11177
11457
  # @return [nil]
11178
11458
  def delete_flow_log_collector(id:)