ibm_vpc 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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:)