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.
- checksums.yaml +4 -4
- data/.bumpversion.cfg +1 -1
- data/CHANGELOG.md +7 -0
- data/ibm_vpc.gemspec +0 -1
- data/lib/ibm_vpc/version.rb +1 -1
- data/lib/ibm_vpc/vpc_v1.rb +435 -155
- metadata +2 -16
data/lib/ibm_vpc/vpc_v1.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# (C) Copyright IBM Corp.
|
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.
|
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
|
21
|
-
#
|
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-
|
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
|
45
|
-
#
|
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-
|
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
|
85
|
-
#
|
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.
|
368
|
-
#
|
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-
|
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
|
459
|
-
#
|
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-
|
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.
|
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-
|
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]
|
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-
|
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-
|
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
|
1389
|
-
#
|
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-
|
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]
|
1920
|
-
#
|
1921
|
-
#
|
1922
|
-
#
|
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
|
2095
|
-
#
|
2096
|
-
#
|
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-
|
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
|
2104
|
-
#
|
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-
|
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
|
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-
|
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
|
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,
|
2423
|
-
#
|
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-
|
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
|
2845
|
-
#
|
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
|
3360
|
-
#
|
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
|
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
|
3743
|
-
#
|
3744
|
-
#
|
3745
|
-
#
|
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.
|
3751
|
-
#
|
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.
|
3795
|
-
#
|
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-
|
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]
|
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.
|
3966
|
-
# @param load_balancer_pool [LoadBalancerPoolIdentity]
|
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-
|
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-
|
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-
|
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-
|
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-
|
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
|
5025
|
-
#
|
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-
|
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-
|
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
|
5305
|
-
#
|
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-
|
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-
|
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-
|
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
|
5937
|
-
#
|
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-
|
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
|
6319
|
-
#
|
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-
|
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
|
6538
|
-
#
|
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-
|
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
|
6737
|
-
#
|
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-
|
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-
|
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
|
7148
|
-
#
|
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-
|
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
|
-
#
|
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-
|
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
|
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
|
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
|
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-
|
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-
|
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-
|
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
|
8396
|
-
#
|
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.
|
8473
|
-
#
|
8474
|
-
#
|
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
|
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
|
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-
|
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-
|
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:,
|
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
|
9499
|
-
# `port` and `protocol` combination.
|
9500
|
-
#
|
9501
|
-
#
|
9502
|
-
#
|
9503
|
-
#
|
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:,
|
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
|
-
"
|
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-
|
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
|
10681
|
-
#
|
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-
|
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-
|
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
|
11064
|
-
#
|
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.
|
11175
|
-
#
|
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:)
|