ibm_vpc 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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:)
|