ibm_vpc 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 759955977eafb4f6a4e9d472eda5152a794842ab8c0085dd4650f7808583650b
4
- data.tar.gz: 35273180fc285b966a649d18e894a257d18ba80fada818c836586b00691fc587
3
+ metadata.gz: 60719caf6879e4d58a619e4eb953399bd500ced3cbabd91e8383ff34cde39d59
4
+ data.tar.gz: d32e7df59bdc82170c92ac3bf7e3ffcc7c6f983330afd9b8558fc43c20a94339
5
5
  SHA512:
6
- metadata.gz: 44ddbdeeb55534f6e57448004abae5092f4e093bc88f37efc5335b9ceba45f24283e9f7ace8b28ea5a031b15411558a0236751e8a0725f1658ffa3f71125732e
7
- data.tar.gz: d20d856c371f7619dc29e158ecb186b84abeefd1401bac7098322ef42babc68e078b411a8247cba79b02b0972f3a39310b0d79638ba0318e2db84861eddcc475
6
+ metadata.gz: 1f72d779b99145bba4cf97acbb5cb5caa6858caac0e21705cba57055cc7697d00fbe1b8b2900200bd923e08e69df473a3c96d6604f1bcea396f5df7d96bef1ec
7
+ data.tar.gz: 3084882603d56ebdfbdff437e061b232d7104e702d2d417bda0d7efad8eeab164dc14522f04dc84e3dcfacea29714734b5433b6df039f5009c70ed2f85484fa6
data/.bumpversion.cfg CHANGED
@@ -1,13 +1,9 @@
1
1
  [bumpversion]
2
- current_version = 0.0.1
2
+ current_version = 0.3.0
3
3
  commit = True
4
4
  message = Update version {current_version} -> {new_version}
5
5
 
6
6
  [bumpversion:file:lib/ibm_vpc/version.rb]
7
- search = VERSION = '{current_version}'
8
- replace = VERSION = '{new_version}'
9
-
10
- [bumpversion:file:README.md]
11
- search = {current_version}
12
- replace = {new_version}
7
+ search = VERSION = "{current_version}"
8
+ replace = VERSION = "{new_version}"
13
9
 
data/.releaserc ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "debug": true,
3
+ "tagFormat": '${version}',
4
+ "plugins": [
5
+ "@semantic-release/commit-analyzer",
6
+ "@semantic-release/release-notes-generator",
7
+ "@semantic-release/changelog",
8
+ [
9
+ "@semantic-release/exec",
10
+ {
11
+ "prepareCmd": "bump2version --allow-dirty --current-version ${lastRelease.version} --new-version ${nextRelease.version} patch"
12
+ }
13
+ ],
14
+ [
15
+ "@semantic-release/git",
16
+ {
17
+ "message": "chore(release): ${nextRelease.version} release notes\n\n${nextRelease.notes}"
18
+ }
19
+ ],
20
+ "@semantic-release/github"
21
+ ]
22
+ }
data/.travis.yml CHANGED
@@ -1,12 +1,16 @@
1
1
  language: ruby
2
- dist: trusty
3
2
  cache: bundler
3
+ sudo: required
4
+
5
+ rvm:
6
+ - 2.5.1
7
+ - 2.6.1
4
8
 
5
9
  notifications:
6
- email: true
10
+ email: false
7
11
 
8
12
  matrix:
9
- fast_finish: true
13
+ fast_finish: true
10
14
 
11
15
  before_install:
12
16
  - git fetch --tags
@@ -22,28 +26,26 @@ install:
22
26
  script:
23
27
  - bundle exec rake
24
28
 
25
- # To enable semantic-release, uncomment these sections.
26
- # before_deploy:
27
- # - pip install --user bumpversion
28
- # - npm install -g semantic-release
29
- # - npm install -g @semantic-release/changelog
30
- # - npm install -g @semantic-release/exec
31
- # - npm install -g @semantic-release/git
32
- # - npm install -g @semantic-release/github
33
- # - npm install -g @semantic-release/commit-analyzer
34
- #
35
- # deploy:
36
- # - provider: script
37
- # script: npx semantic-release
38
- # skip_cleanup: true
39
- # on:
40
- # branch: master
41
- # rvm: 2.5.1
42
- #
43
- # - provider: rubygems
44
- # api_key: $RUBYGEMS_API_KEY
45
- # gem: ibm_vpc
46
- # on:
47
- # rvm: '2.5.1'
48
- # branch: master
49
- #
29
+ before_deploy:
30
+ - pip install bump2version
31
+ - npm install -g semantic-release
32
+ - npm install -g @semantic-release/changelog
33
+ - npm install -g @semantic-release/exec
34
+ - npm install -g @semantic-release/git
35
+ - npm install -g @semantic-release/github
36
+ - npm install -g @semantic-release/commit-analyzer
37
+
38
+ deploy:
39
+ - provider: script
40
+ script: npx semantic-release
41
+ skip_cleanup: true
42
+ on:
43
+ branch: master
44
+ rvm: 2.5.1
45
+
46
+ - provider: rubygems
47
+ api_key: $RUBYGEMS_API_KEY
48
+ gem: ibm_vpc
49
+ on:
50
+ rvm: '2.5.1'
51
+ branch: master
data/CHANGELOG.md CHANGED
@@ -1,2 +1,11 @@
1
+ # [0.3.0](https://github.com/IBM/vpc-ruby-sdk/compare/0.2.0...0.3.0) (2021-09-14)
2
+
3
+
4
+ ### Features
5
+
6
+ * **0.3.0:** Updating gem to use API version 2021-08-03 ([#11](https://github.com/IBM/vpc-ruby-sdk/issues/11)) ([9a04617](https://github.com/IBM/vpc-ruby-sdk/commit/9a04617a222ae476af48a57f12d49315bad7674e))
7
+ * **sem-rel:** Fix semantic-releases adding .releaserc ([#13](https://github.com/IBM/vpc-ruby-sdk/issues/13)) ([220aec5](https://github.com/IBM/vpc-ruby-sdk/commit/220aec5d5516d7e6ced22a8ffb2ca47d6b2f7117))
8
+ * **travis:** fix travis and attempt to create a new release ([#12](https://github.com/IBM/vpc-ruby-sdk/issues/12)) ([4f8c822](https://github.com/IBM/vpc-ruby-sdk/commit/4f8c822fc89b251892933fdcab07c8dcaecb4871))
9
+
1
10
  = 0.0.1
2
11
  * Initial release
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  [![Build Status](https://travis.ibm.com/ibmcloud/vpc-ruby-sdk.svg?token=swhipuowmWLkVNjPbrfs&branch=master)](https://travis.ibm.com/ibmcloud/vpc-ruby-sdk)
2
2
  [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
3
+ [![Gem Version](https://badge.fury.io/rb/ibm_vpc.svg)](https://badge.fury.io/rb/ibm_vpc)
3
4
  # IBM Cloud VPC Ruby SDK
4
5
 
5
6
  Ruby client library to interact with various [IBM Cloud VPC APIs](https://cloud.ibm.com/apidocs?category=compute).
@@ -90,7 +91,7 @@ Setting up and using the API client is simple, just pass in your authenticator o
90
91
 
91
92
  # Pass the authenticator into the VpcV1 service
92
93
  vpc_v1 = IbmVpc::VpcV1.new(
93
- version: "2020-12-15" # Will default to the latest version if not specified
94
+ version: "2021-08-03" # Will default to the latest version if not specified
94
95
  authenticator: authenticator
95
96
  )
96
97
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IbmVpc
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # (C) Copyright IBM Corp. 2020.
3
+ # (C) Copyright IBM Corp. 2020, 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,7 +14,7 @@
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.22.0-937b9a1c-20201211-223043
17
+ # IBM OpenAPI SDK Code Generator Version: 3.37.0-a85661cd-20210802-190136
18
18
  #
19
19
  # The IBM Cloud Virtual Private Cloud (VPC) API can be used to programmatically
20
20
  # provision and manage infrastructure resources, including virtual server instances,
@@ -26,7 +26,6 @@ require "json"
26
26
  require "ibm_cloud_sdk_core"
27
27
  require_relative "./common.rb"
28
28
 
29
- # Module for the IBM Cloud VPC APIs
30
29
  module IbmVpc
31
30
  ##
32
31
  # The vpc V1 service.
@@ -34,7 +33,7 @@ module IbmVpc
34
33
  include Concurrent::Async
35
34
  DEFAULT_SERVICE_NAME = "vpc"
36
35
  DEFAULT_SERVICE_URL = "https://us-south.iaas.cloud.ibm.com/v1"
37
- DEFAULT_SERVICE_VERSION = "2020-12-15"
36
+ DEFAULT_SERVICE_VERSION = "2021-08-03"
38
37
  attr_accessor :version
39
38
  attr_accessor :generation
40
39
  ##
@@ -76,18 +75,15 @@ module IbmVpc
76
75
  ##
77
76
  # @!method list_vpcs(start: nil, limit: nil, resource_group_id: nil, classic_access: nil)
78
77
  # List all VPCs.
79
- # This request lists all VPCs. A VPC is a virtual network that belongs to an account
80
- # and provides logical isolation from other networks. A VPC is made up of resources
81
- # in one or more zones. VPCs are regional, and each VPC can contain resources in
82
- # multiple zones in a region.
78
+ # This request lists all VPCs in the region. A VPC is a virtual network that belongs
79
+ # to an account and provides logical isolation from other networks. A VPC is made up
80
+ # of resources in one or more zones. VPCs are regional, and each VPC can contain
81
+ # resources in multiple zones in a region.
83
82
  # @param start [String] A server-supplied token determining what resource to start the page on.
84
83
  # @param limit [Fixnum] The number of resources to return on a page.
85
84
  # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
86
85
  # in a comma-separated list of resource group identifiers.
87
- # @param classic_access [Boolean] The `classic_access` parameter filters the returned collection by the supplied
88
- # field. If the supplied field is `true`, only Classic Access VPCs will be returned.
89
- # If the supplied field is `false`, only VPCs without Classic Access will be
90
- # returned.
86
+ # @param classic_access [Boolean] Filters the collection to VPCs with the specified `classic_access` value.
91
87
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
92
88
  def list_vpcs(start: nil, limit: nil, resource_group_id: nil, classic_access: nil)
93
89
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -175,7 +171,7 @@ module IbmVpc
175
171
 
176
172
  ##
177
173
  # @!method delete_vpc(id:)
178
- # Delete specified VPC.
174
+ # Delete a VPC.
179
175
  # This request deletes a VPC. This operation cannot be reversed. For this request to
180
176
  # succeed, the VPC must not contain any instances, subnets, or public gateways. All
181
177
  # security groups and network ACLs associated with the VPC are automatically
@@ -214,7 +210,7 @@ module IbmVpc
214
210
 
215
211
  ##
216
212
  # @!method get_vpc(id:)
217
- # Retrieve specified VPC.
213
+ # Retrieve a VPC.
218
214
  # This request retrieves a single VPC specified by the identifier in the URL.
219
215
  # @param id [String] The VPC identifier.
220
216
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -249,7 +245,7 @@ module IbmVpc
249
245
 
250
246
  ##
251
247
  # @!method update_vpc(id:, vpc_patch:)
252
- # Update specified VPC.
248
+ # Update a VPC.
253
249
  # This request updates a VPC's name.
254
250
  # @param id [String] The VPC identifier.
255
251
  # @param vpc_patch [Hash] The VPC patch.
@@ -403,7 +399,7 @@ module IbmVpc
403
399
 
404
400
  ##
405
401
  # @!method list_vpc_address_prefixes(vpc_id:, start: nil, limit: nil)
406
- # List all address pool prefixes for a VPC.
402
+ # List all address prefixes for a VPC.
407
403
  # This request lists all address pool prefixes for a VPC.
408
404
  # @param vpc_id [String] The VPC identifier.
409
405
  # @param start [String] A server-supplied token determining what resource to start the page on.
@@ -442,17 +438,23 @@ module IbmVpc
442
438
 
443
439
  ##
444
440
  # @!method create_vpc_address_prefix(vpc_id:, cidr:, zone:, is_default: nil, name: nil)
445
- # Create an address pool prefix.
441
+ # Create an address prefix for a VPC.
446
442
  # This request creates a new prefix from a prefix prototype object. The prototype
447
443
  # object is structured in the same way as a retrieved prefix, and contains the
448
444
  # information necessary to create the new prefix.
449
445
  # @param vpc_id [String] The VPC identifier.
450
446
  # @param cidr [String] The IPv4 range of the address prefix, expressed in CIDR format. The request must
451
- # not overlap with any existing address prefixes in the VPC, and must fall within
452
- # the [RFC 1918](https://tools.ietf.org/html/rfc1918) address ranges. The prefix
453
- # length of the address prefix's CIDR must be between `/9` (8,388,608 addresses) and
454
- # `/29` (8 addresses).
455
- # @param zone [ZoneIdentity] The zone this address prefix is to belong to.
447
+ # not overlap with any existing address prefixes in the VPC or any of the following
448
+ # reserved address ranges:
449
+ # - `127.0.0.0/8` (IPv4 loopback addresses)
450
+ # - `161.26.0.0/16` (IBM services)
451
+ # - `166.8.0.0/14` (Cloud Service Endpoints)
452
+ # - `169.254.0.0/16` (IPv4 link-local addresses)
453
+ # - `224.0.0.0/4` (IPv4 multicast addresses)
454
+ #
455
+ # The prefix length of the address prefix's CIDR must be between `/9` (8,388,608
456
+ # addresses) and `/29` (8 addresses).
457
+ # @param zone [ZoneIdentity] The zone this address prefix will reside in.
456
458
  # @param is_default [Boolean] Indicates whether this is the default prefix for this zone in this VPC. If true,
457
459
  # this prefix will become the default prefix for this zone in this VPC. This fails
458
460
  # if the VPC currently has a default address prefix for this zone.
@@ -503,7 +505,7 @@ module IbmVpc
503
505
 
504
506
  ##
505
507
  # @!method delete_vpc_address_prefix(vpc_id:, id:)
506
- # Delete specified address pool prefix.
508
+ # Delete an address prefix.
507
509
  # This request deletes a prefix. This operation cannot be reversed. The request will
508
510
  # fail if any subnets use addresses from this prefix.
509
511
  # @param vpc_id [String] The VPC identifier.
@@ -542,7 +544,7 @@ module IbmVpc
542
544
 
543
545
  ##
544
546
  # @!method get_vpc_address_prefix(vpc_id:, id:)
545
- # Retrieve specified address pool prefix.
547
+ # Retrieve an address prefix.
546
548
  # This request retrieves a single prefix specified by the identifier in the URL.
547
549
  # @param vpc_id [String] The VPC identifier.
548
550
  # @param id [String] The prefix identifier.
@@ -580,7 +582,7 @@ module IbmVpc
580
582
 
581
583
  ##
582
584
  # @!method update_vpc_address_prefix(vpc_id:, id:, address_prefix_patch:)
583
- # Update an address pool prefix.
585
+ # Update an address prefix.
584
586
  # This request updates a prefix with the information in a provided prefix patch. The
585
587
  # prefix patch object is structured in the same way as a retrieved prefix and
586
588
  # contains only the information to be updated.
@@ -627,8 +629,8 @@ module IbmVpc
627
629
 
628
630
  ##
629
631
  # @!method list_vpc_routes(vpc_id:, zone_name: nil, start: nil, limit: nil)
630
- # List all routes in the VPC's default routing table.
631
- # This request retrieves routes in the VPC's default routing table. Each route is
632
+ # List all routes in a VPC's default routing table.
633
+ # This request lists all routes in the VPC's default routing table. Each route is
632
634
  # zone-specific and directs any packets matching its destination CIDR block to a
633
635
  # `next_hop` IP address. The most specific route matching a packet's destination
634
636
  # will be used. If multiple equally-specific routes exist, traffic will be
@@ -671,8 +673,8 @@ module IbmVpc
671
673
  end
672
674
 
673
675
  ##
674
- # @!method create_vpc_route(vpc_id:, destination:, next_hop:, zone:, action: nil, name: nil)
675
- # Create a route in the VPC's default routing table.
676
+ # @!method create_vpc_route(vpc_id:, destination:, zone:, action: nil, name: nil, next_hop: nil)
677
+ # Create a route in a VPC's default routing table.
676
678
  # This request creates a new route in the VPC's default routing table. The route
677
679
  # prototype object is structured in the same way as a retrieved route, and contains
678
680
  # the information necessary to create the new route. The request will fail if the
@@ -682,19 +684,22 @@ module IbmVpc
682
684
  # the same destination, and only if both routes have an `action` of `deliver` and
683
685
  # the
684
686
  # `next_hop` is an IP address.
685
- # @param next_hop [RouteNextHopPrototype] If `action` is `deliver`, the next hop that packets will be delivered to. For
686
- # other `action` values, its `address` will be `0.0.0.0`.
687
687
  # @param zone [ZoneIdentity] The zone to apply the route to. (Traffic from subnets in this zone will be
688
688
  # subject to this route.).
689
689
  # @param action [String] The action to perform with a packet matching the route:
690
690
  # - `delegate`: delegate to the system's built-in routes
691
+ # - `delegate_vpc`: delegate to the system's built-in routes, ignoring
692
+ # Internet-bound
693
+ # routes
691
694
  # - `deliver`: deliver the packet to the specified `next_hop`
692
695
  # - `drop`: drop the packet.
693
696
  # @param name [String] The user-defined name for this route. If unspecified, the name will be a
694
697
  # hyphenated list of randomly-selected words. Names must be unique within the VPC
695
698
  # routing table the route resides in.
699
+ # @param next_hop [RouteNextHopPrototype] If `action` is `deliver`, the next hop that packets will be delivered to. For
700
+ # other `action` values, it must be omitted or specified as `0.0.0.0`.
696
701
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
697
- def create_vpc_route(vpc_id:, destination:, next_hop:, zone:, action: nil, name: nil)
702
+ def create_vpc_route(vpc_id:, destination:, zone:, action: nil, name: nil, next_hop: nil)
698
703
  raise ArgumentError.new("version must be provided") if version.nil?
699
704
 
700
705
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -703,8 +708,6 @@ module IbmVpc
703
708
 
704
709
  raise ArgumentError.new("destination must be provided") if destination.nil?
705
710
 
706
- raise ArgumentError.new("next_hop must be provided") if next_hop.nil?
707
-
708
711
  raise ArgumentError.new("zone must be provided") if zone.nil?
709
712
 
710
713
  headers = {
@@ -719,10 +722,10 @@ module IbmVpc
719
722
 
720
723
  data = {
721
724
  "destination" => destination,
722
- "next_hop" => next_hop,
723
725
  "zone" => zone,
724
726
  "action" => action,
725
- "name" => name
727
+ "name" => name,
728
+ "next_hop" => next_hop
726
729
  }
727
730
 
728
731
  method_url = "/vpcs/%s/routes" % [ERB::Util.url_encode(vpc_id)]
@@ -740,7 +743,7 @@ module IbmVpc
740
743
 
741
744
  ##
742
745
  # @!method delete_vpc_route(vpc_id:, id:)
743
- # Delete the specified route in the VPC's default routing table.
746
+ # Delete a VPC route.
744
747
  # This request deletes a route. This operation cannot be reversed.
745
748
  # @param vpc_id [String] The VPC identifier.
746
749
  # @param id [String] The route identifier.
@@ -778,7 +781,7 @@ module IbmVpc
778
781
 
779
782
  ##
780
783
  # @!method get_vpc_route(vpc_id:, id:)
781
- # Retrieve the specified route in the VPC's default routing table.
784
+ # Retrieve a VPC route.
782
785
  # This request retrieves a single route specified by the identifier in the URL.
783
786
  # @param vpc_id [String] The VPC identifier.
784
787
  # @param id [String] The route identifier.
@@ -816,7 +819,7 @@ module IbmVpc
816
819
 
817
820
  ##
818
821
  # @!method update_vpc_route(vpc_id:, id:, route_patch:)
819
- # Update the specified route in the VPC's default routing table.
822
+ # Update a VPC route.
820
823
  # This request updates a route with the information in a provided route patch. The
821
824
  # route patch object is structured in the same way as a retrieved route and contains
822
825
  # only the information to be updated.
@@ -911,7 +914,7 @@ module IbmVpc
911
914
 
912
915
  ##
913
916
  # @!method create_vpc_routing_table(vpc_id:, name: nil, route_direct_link_ingress: nil, route_transit_gateway_ingress: nil, route_vpc_zone_ingress: nil, routes: nil)
914
- # Create a VPC routing table.
917
+ # Create a routing table for a VPC.
915
918
  # This request creates a user-defined routing table from a routing table prototype
916
919
  # object. The prototype object is structured in the same way as a retrieved routing
917
920
  # table, and contains the information necessary to create the new routing table.
@@ -953,8 +956,8 @@ module IbmVpc
953
956
  # is an IP address within the VPC's address prefix ranges. Therefore, if an incoming
954
957
  # packet matches a route with a `next_hop` of an internet-bound IP address or a VPN
955
958
  # gateway connection, the packet will be dropped.
956
- # @param routes [Array[RoutePrototype]] Array of route prototype objects for routes to create for this routing table. If
957
- # unspecified, the routing table will be created with no routes.
959
+ # @param routes [Array[RoutePrototype]] The prototype objects for routes to create for this routing table. If unspecified,
960
+ # the routing table will be created with no routes.
958
961
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
959
962
  def create_vpc_routing_table(vpc_id:, name: nil, route_direct_link_ingress: nil, route_transit_gateway_ingress: nil, route_vpc_zone_ingress: nil, routes: nil)
960
963
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -996,7 +999,7 @@ module IbmVpc
996
999
 
997
1000
  ##
998
1001
  # @!method delete_vpc_routing_table(vpc_id:, id:)
999
- # Delete specified VPC routing table.
1002
+ # Delete a VPC routing table.
1000
1003
  # This request deletes a routing table. A routing table cannot be deleted if it is
1001
1004
  # associated with any subnets in the VPC. Additionally, a VPC's default routing
1002
1005
  # table cannot be deleted. This operation cannot be reversed.
@@ -1036,7 +1039,7 @@ module IbmVpc
1036
1039
 
1037
1040
  ##
1038
1041
  # @!method get_vpc_routing_table(vpc_id:, id:)
1039
- # Retrieve specified VPC routing table.
1042
+ # Retrieve a VPC routing table.
1040
1043
  # This request retrieves a single routing table specified by the identifier in the
1041
1044
  # URL.
1042
1045
  # @param vpc_id [String] The VPC identifier.
@@ -1075,7 +1078,7 @@ module IbmVpc
1075
1078
 
1076
1079
  ##
1077
1080
  # @!method update_vpc_routing_table(vpc_id:, id:, routing_table_patch:)
1078
- # Update specified VPC routing table.
1081
+ # Update a VPC routing table.
1079
1082
  # This request updates a routing table with the information in a provided routing
1080
1083
  # table patch. The patch object is structured in the same way as a retrieved table
1081
1084
  # and contains only the information to be updated.
@@ -1122,13 +1125,13 @@ module IbmVpc
1122
1125
 
1123
1126
  ##
1124
1127
  # @!method list_vpc_routing_table_routes(vpc_id:, routing_table_id:, start: nil, limit: nil)
1125
- # List all the routes of a VPC routing table.
1126
- # This request lists all the routes for the specified VPC routing table. If a
1127
- # subnet has been associated with this routing table, delivery of packets sent on a
1128
- # subnet is performed according to the action of the most specific matching route in
1129
- # the table (provided the subnet and route are in the same zone). If multiple
1130
- # equally-specific routes exist, traffic will be distributed across them. If no
1131
- # routes match, delivery will be controlled by the system's built-in routes.
1128
+ # List all routes in a VPC routing table.
1129
+ # This request lists all routes in a VPC routing table. If a subnet has been
1130
+ # associated with this routing table, delivery of packets sent on a subnet is
1131
+ # performed according to the action of the most specific matching route in the table
1132
+ # (provided the subnet and route are in the same zone). If multiple equally-specific
1133
+ # routes exist, traffic will be distributed across them. If no routes match,
1134
+ # delivery will be controlled by the system's built-in routes.
1132
1135
  # @param vpc_id [String] The VPC identifier.
1133
1136
  # @param routing_table_id [String] The routing table identifier.
1134
1137
  # @param start [String] A server-supplied token determining what resource to start the page on.
@@ -1168,8 +1171,8 @@ module IbmVpc
1168
1171
  end
1169
1172
 
1170
1173
  ##
1171
- # @!method create_vpc_routing_table_route(vpc_id:, routing_table_id:, destination:, next_hop:, zone:, action: nil, name: nil)
1172
- # Create a VPC route.
1174
+ # @!method create_vpc_routing_table_route(vpc_id:, routing_table_id:, destination:, zone:, action: nil, name: nil, next_hop: nil)
1175
+ # Create a route in a VPC routing table.
1173
1176
  # This request creates a new VPC route from a VPC route prototype object. The
1174
1177
  # prototype object is structured in the same way as a retrieved VPC route and
1175
1178
  # contains the information necessary to create the route.
@@ -1179,19 +1182,22 @@ module IbmVpc
1179
1182
  # the same destination, and only if both routes have an `action` of `deliver` and
1180
1183
  # the
1181
1184
  # `next_hop` is an IP address.
1182
- # @param next_hop [RouteNextHopPrototype] If `action` is `deliver`, the next hop that packets will be delivered to. For
1183
- # other `action` values, its `address` will be `0.0.0.0`.
1184
1185
  # @param zone [ZoneIdentity] The zone to apply the route to. (Traffic from subnets in this zone will be
1185
1186
  # subject to this route.).
1186
1187
  # @param action [String] The action to perform with a packet matching the route:
1187
1188
  # - `delegate`: delegate to the system's built-in routes
1189
+ # - `delegate_vpc`: delegate to the system's built-in routes, ignoring
1190
+ # Internet-bound
1191
+ # routes
1188
1192
  # - `deliver`: deliver the packet to the specified `next_hop`
1189
1193
  # - `drop`: drop the packet.
1190
1194
  # @param name [String] The user-defined name for this route. If unspecified, the name will be a
1191
1195
  # hyphenated list of randomly-selected words. Names must be unique within the VPC
1192
1196
  # routing table the route resides in.
1197
+ # @param next_hop [RouteNextHopPrototype] If `action` is `deliver`, the next hop that packets will be delivered to. For
1198
+ # other `action` values, it must be omitted or specified as `0.0.0.0`.
1193
1199
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
1194
- def create_vpc_routing_table_route(vpc_id:, routing_table_id:, destination:, next_hop:, zone:, action: nil, name: nil)
1200
+ def create_vpc_routing_table_route(vpc_id:, routing_table_id:, destination:, zone:, action: nil, name: nil, next_hop: nil)
1195
1201
  raise ArgumentError.new("version must be provided") if version.nil?
1196
1202
 
1197
1203
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -1202,8 +1208,6 @@ module IbmVpc
1202
1208
 
1203
1209
  raise ArgumentError.new("destination must be provided") if destination.nil?
1204
1210
 
1205
- raise ArgumentError.new("next_hop must be provided") if next_hop.nil?
1206
-
1207
1211
  raise ArgumentError.new("zone must be provided") if zone.nil?
1208
1212
 
1209
1213
  headers = {
@@ -1218,10 +1222,10 @@ module IbmVpc
1218
1222
 
1219
1223
  data = {
1220
1224
  "destination" => destination,
1221
- "next_hop" => next_hop,
1222
1225
  "zone" => zone,
1223
1226
  "action" => action,
1224
- "name" => name
1227
+ "name" => name,
1228
+ "next_hop" => next_hop
1225
1229
  }
1226
1230
 
1227
1231
  method_url = "/vpcs/%s/routing_tables/%s/routes" % [ERB::Util.url_encode(vpc_id), ERB::Util.url_encode(routing_table_id)]
@@ -1239,7 +1243,7 @@ module IbmVpc
1239
1243
 
1240
1244
  ##
1241
1245
  # @!method delete_vpc_routing_table_route(vpc_id:, routing_table_id:, id:)
1242
- # Delete the specified VPC route.
1246
+ # Delete a VPC routing table route.
1243
1247
  # This request deletes a VPC route. This operation cannot be reversed.
1244
1248
  # @param vpc_id [String] The VPC identifier.
1245
1249
  # @param routing_table_id [String] The routing table identifier.
@@ -1280,7 +1284,7 @@ module IbmVpc
1280
1284
 
1281
1285
  ##
1282
1286
  # @!method get_vpc_routing_table_route(vpc_id:, routing_table_id:, id:)
1283
- # Retrieve the specified VPC route.
1287
+ # Retrieve a VPC routing table route.
1284
1288
  # This request retrieves a single VPC route specified by the identifier in the URL
1285
1289
  # path.
1286
1290
  # @param vpc_id [String] The VPC identifier.
@@ -1322,7 +1326,7 @@ module IbmVpc
1322
1326
 
1323
1327
  ##
1324
1328
  # @!method update_vpc_routing_table_route(vpc_id:, routing_table_id:, id:, route_patch:)
1325
- # Update the specified VPC route.
1329
+ # Update a VPC routing table route.
1326
1330
  # This request updates a VPC route with the information provided in a route patch
1327
1331
  # object. The patch object is structured in the same way as a retrieved VPC route
1328
1332
  # and needs to contain only the information to be updated.
@@ -1383,9 +1387,10 @@ module IbmVpc
1383
1387
  # @param limit [Fixnum] The number of resources to return on a page.
1384
1388
  # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
1385
1389
  # in a comma-separated list of resource group identifiers.
1386
- # @param routing_table_id [String] Filters the collection to subnets with the routing table of the specified
1390
+ # @param routing_table_id [String] Filters the collection to subnets attached to the routing table with the specified
1387
1391
  # identifier.
1388
- # @param routing_table_name [String] Filters the collection to subnets with the routing table of the specified name.
1392
+ # @param routing_table_name [String] Filters the collection to subnets attached to the routing table with the specified
1393
+ # name.
1389
1394
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
1390
1395
  def list_subnets(start: nil, limit: nil, resource_group_id: nil, routing_table_id: nil, routing_table_name: nil)
1391
1396
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -1463,7 +1468,7 @@ module IbmVpc
1463
1468
 
1464
1469
  ##
1465
1470
  # @!method delete_subnet(id:)
1466
- # Delete specified subnet.
1471
+ # Delete a subnet.
1467
1472
  # This request deletes a subnet. This operation cannot be reversed. For this request
1468
1473
  # to succeed, the subnet must not be referenced by any network interfaces, VPN
1469
1474
  # gateways, or load balancers. A delete operation automatically detaches the subnet
@@ -1503,7 +1508,7 @@ module IbmVpc
1503
1508
 
1504
1509
  ##
1505
1510
  # @!method get_subnet(id:)
1506
- # Retrieve specified subnet.
1511
+ # Retrieve a subnet.
1507
1512
  # This request retrieves a single subnet specified by the identifier in the URL.
1508
1513
  # @param id [String] The subnet identifier.
1509
1514
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -1538,7 +1543,7 @@ module IbmVpc
1538
1543
 
1539
1544
  ##
1540
1545
  # @!method update_subnet(id:, subnet_patch:)
1541
- # Update specified subnet.
1546
+ # Update a subnet.
1542
1547
  # This request updates a subnet with the information in a provided subnet patch. The
1543
1548
  # subnet patch object is structured in the same way as a retrieved subnet and
1544
1549
  # contains only the information to be updated.
@@ -1863,16 +1868,16 @@ module IbmVpc
1863
1868
  ##
1864
1869
  # @!method list_subnet_reserved_ips(subnet_id:, start: nil, limit: nil, sort: nil)
1865
1870
  # List all reserved IPs in a subnet.
1866
- # This request lists reserved IPs in the subnet that are unbound or bound to an
1871
+ # This request lists reserved IPs in a subnet that are unbound or bound to an
1867
1872
  # endpoint gateway.
1868
1873
  # @param subnet_id [String] The subnet identifier.
1869
1874
  # @param start [String] A server-supplied token determining what resource to start the page on.
1870
1875
  # @param limit [Fixnum] The number of resources to return on a page.
1871
- # @param sort [String] Sorts the returned collection by the specified field name in ascending order. A
1872
- # `-` may be prepended to the field name to sort in descending order. For example,
1873
- # the value
1874
- # `-created_at` sorts the collection by the `created_at` field in descending order,
1875
- # and the value `name` sorts it by the `name` field in ascending order.
1876
+ # @param sort [String] Sorts the returned collection by the specified property name in ascending order. A
1877
+ # `-` may be prepended to the name to sort in descending order. For example, the
1878
+ # value `-created_at` sorts the collection by the `created_at` property in
1879
+ # descending order, and the value `name` sorts it by the `name` property in
1880
+ # ascending order.
1876
1881
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
1877
1882
  def list_subnet_reserved_ips(subnet_id:, start: nil, limit: nil, sort: nil)
1878
1883
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -1958,7 +1963,7 @@ module IbmVpc
1958
1963
 
1959
1964
  ##
1960
1965
  # @!method delete_subnet_reserved_ip(subnet_id:, id:)
1961
- # Release specified reserved IP.
1966
+ # Release a reserved IP.
1962
1967
  # This request releases a reserved IP. This operation cannot be reversed.
1963
1968
  # @param subnet_id [String] The subnet identifier.
1964
1969
  # @param id [String] The reserved IP identifier.
@@ -1996,7 +2001,7 @@ module IbmVpc
1996
2001
 
1997
2002
  ##
1998
2003
  # @!method get_subnet_reserved_ip(subnet_id:, id:)
1999
- # Retrieve specified reserved IP.
2004
+ # Retrieve a reserved IP.
2000
2005
  # This request retrieves a single reserved IP specified by the identifier in the
2001
2006
  # URL.
2002
2007
  # @param subnet_id [String] The subnet identifier.
@@ -2035,7 +2040,7 @@ module IbmVpc
2035
2040
 
2036
2041
  ##
2037
2042
  # @!method update_subnet_reserved_ip(subnet_id:, id:, reserved_ip_patch:)
2038
- # Update specified reserved IP.
2043
+ # Update a reserved IP.
2039
2044
  # This request updates a reserved IP with the information in a provided reserved IP
2040
2045
  # patch. The reserved IP patch object is structured in the same way as a retrieved
2041
2046
  # reserved IP and contains only the information to be updated.
@@ -2137,8 +2142,9 @@ module IbmVpc
2137
2142
  # Create an image.
2138
2143
  # This request creates a new image from an image prototype object. The prototype
2139
2144
  # object is structured in the same way as a retrieved image, and contains the
2140
- # information necessary to create the new image. A URL to the image file on object
2141
- # storage must be provided.
2145
+ # information necessary to create the new image. If an image is being imported, a
2146
+ # URL to the image file on object storage must be specified. If an image is being
2147
+ # created from an existing volume, that volume must be specified.
2142
2148
  # @param image_prototype [ImagePrototype] The image prototype object.
2143
2149
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
2144
2150
  def create_image(image_prototype:)
@@ -2176,10 +2182,11 @@ module IbmVpc
2176
2182
 
2177
2183
  ##
2178
2184
  # @!method delete_image(id:)
2179
- # Delete specified image.
2180
- # This request deletes an image. This operation cannot be reversed. System-provided
2181
- # images are not allowed to be deleted. An image with a `status` of `pending`,
2182
- # `tentative`, or `deleting` cannot be deleted.
2185
+ # Delete an image.
2186
+ # This request deletes an image. This operation cannot be reversed. A
2187
+ # system-provided image is not allowed to be deleted. Additionally, an image cannot
2188
+ # be deleted if it has a
2189
+ # `status` of `pending`, `tentative`, or `deleting`.
2183
2190
  # @param id [String] The image identifier.
2184
2191
  # @return [nil]
2185
2192
  def delete_image(id:)
@@ -2213,7 +2220,7 @@ module IbmVpc
2213
2220
 
2214
2221
  ##
2215
2222
  # @!method get_image(id:)
2216
- # Retrieve the specified image.
2223
+ # Retrieve an image.
2217
2224
  # This request retrieves a single image specified by the identifier in the URL.
2218
2225
  # @param id [String] The image identifier.
2219
2226
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -2248,10 +2255,10 @@ module IbmVpc
2248
2255
 
2249
2256
  ##
2250
2257
  # @!method update_image(id:, image_patch:)
2251
- # Update specified image.
2258
+ # Update an image.
2252
2259
  # This request updates an image with the information in a provided image patch. The
2253
2260
  # image patch object is structured in the same way as a retrieved image and contains
2254
- # only the information to be updated. System-provided images are not allowed to be
2261
+ # only the information to be updated. A system-provided image is not allowed to be
2255
2262
  # updated. An image with a `status` of `deleting` cannot be updated.
2256
2263
  # @param id [String] The image identifier.
2257
2264
  # @param image_patch [Hash] The image patch.
@@ -2293,8 +2300,8 @@ module IbmVpc
2293
2300
 
2294
2301
  ##
2295
2302
  # @!method list_operating_systems(start: nil, limit: nil)
2296
- # Retrieves all operating systems.
2297
- # This request retrieves all operating systems.
2303
+ # List all operating systems.
2304
+ # This request lists all operating systems in the region.
2298
2305
  # @param start [String] A server-supplied token determining what resource to start the page on.
2299
2306
  # @param limit [Fixnum] The number of resources to return on a page.
2300
2307
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -2329,7 +2336,7 @@ module IbmVpc
2329
2336
 
2330
2337
  ##
2331
2338
  # @!method get_operating_system(name:)
2332
- # Retrieves an operating system.
2339
+ # Retrieve an operating system.
2333
2340
  # This request retrieves a single operating system specified by the name in the URL.
2334
2341
  # @param name [String] The operating system name.
2335
2342
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -2366,14 +2373,16 @@ module IbmVpc
2366
2373
  #########################
2367
2374
 
2368
2375
  ##
2369
- # @!method list_keys(resource_group_id: nil)
2376
+ # @!method list_keys(start: nil, limit: nil, resource_group_id: nil)
2370
2377
  # List all keys.
2371
- # This request lists all keys. A key contains a public SSH key which may be
2372
- # installed on instances when they are created. Private keys are not stored.
2378
+ # This request lists all keys in the region. A key contains a public SSH key which
2379
+ # may be installed on instances when they are created. Private keys are not stored.
2380
+ # @param start [String] A server-supplied token determining what resource to start the page on.
2381
+ # @param limit [Fixnum] The number of resources to return on a page.
2373
2382
  # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
2374
2383
  # in a comma-separated list of resource group identifiers.
2375
2384
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
2376
- def list_keys(resource_group_id: nil)
2385
+ def list_keys(start: nil, limit: nil, resource_group_id: nil)
2377
2386
  raise ArgumentError.new("version must be provided") if version.nil?
2378
2387
 
2379
2388
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -2386,6 +2395,8 @@ module IbmVpc
2386
2395
  params = {
2387
2396
  "version" => @version,
2388
2397
  "generation" => @generation,
2398
+ "start" => start,
2399
+ "limit" => limit,
2389
2400
  "resource_group.id" => resource_group_id
2390
2401
  }
2391
2402
 
@@ -2455,7 +2466,7 @@ module IbmVpc
2455
2466
 
2456
2467
  ##
2457
2468
  # @!method delete_key(id:)
2458
- # Delete specified key.
2469
+ # Delete a key.
2459
2470
  # This request deletes a key. This operation cannot be reversed.
2460
2471
  # @param id [String] The key identifier.
2461
2472
  # @return [nil]
@@ -2490,7 +2501,7 @@ module IbmVpc
2490
2501
 
2491
2502
  ##
2492
2503
  # @!method get_key(id:)
2493
- # Retrieve specified key.
2504
+ # Retrieve a key.
2494
2505
  # This request retrieves a single key specified by the identifier in the URL.
2495
2506
  # @param id [String] The key identifier.
2496
2507
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -2525,7 +2536,7 @@ module IbmVpc
2525
2536
 
2526
2537
  ##
2527
2538
  # @!method update_key(id:, key_patch:)
2528
- # Update specified key.
2539
+ # Update a key.
2529
2540
  # This request updates a key's name.
2530
2541
  # @param id [String] The key identifier.
2531
2542
  # @param key_patch [Hash] The key patch.
@@ -2604,7 +2615,7 @@ module IbmVpc
2604
2615
 
2605
2616
  ##
2606
2617
  # @!method get_instance_profile(name:)
2607
- # Retrieve specified instance profile.
2618
+ # Retrieve an instance profile.
2608
2619
  # This request retrieves a single instance profile specified by the name in the URL.
2609
2620
  # @param name [String] The instance profile name.
2610
2621
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -2639,7 +2650,7 @@ module IbmVpc
2639
2650
 
2640
2651
  ##
2641
2652
  # @!method list_instance_templates
2642
- # Get instance templates.
2653
+ # List all instance templates.
2643
2654
  # This request lists all instance templates in the region.
2644
2655
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
2645
2656
  def list_instance_templates
@@ -2710,7 +2721,7 @@ module IbmVpc
2710
2721
 
2711
2722
  ##
2712
2723
  # @!method delete_instance_template(id:)
2713
- # Delete specified instance template.
2724
+ # Delete an instance template.
2714
2725
  # This request deletes the instance template. This operation cannot be reversed.
2715
2726
  # @param id [String] The instance template identifier.
2716
2727
  # @return [nil]
@@ -2745,7 +2756,7 @@ module IbmVpc
2745
2756
 
2746
2757
  ##
2747
2758
  # @!method get_instance_template(id:)
2748
- # Retrieve specified instance template.
2759
+ # Retrieve an instance template.
2749
2760
  # This request retrieves a single instance template specified by the identifier in
2750
2761
  # the URL.
2751
2762
  # @param id [String] The instance template identifier.
@@ -2781,7 +2792,7 @@ module IbmVpc
2781
2792
 
2782
2793
  ##
2783
2794
  # @!method update_instance_template(id:, instance_template_patch:)
2784
- # Update specified instance template.
2795
+ # Update an instance template.
2785
2796
  # This request updates an instance template with the information provided in the
2786
2797
  # instance template patch. The instance template patch object is structured in the
2787
2798
  # same way as a retrieved instance template and contains only the information to be
@@ -2825,7 +2836,7 @@ module IbmVpc
2825
2836
  end
2826
2837
 
2827
2838
  ##
2828
- # @!method list_instances(start: nil, limit: nil, resource_group_id: nil, name: nil, vpc_id: nil, vpc_crn: nil, vpc_name: nil)
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)
2829
2840
  # List all instances.
2830
2841
  # This request lists all instances in the region.
2831
2842
  # @param start [String] A server-supplied token determining what resource to start the page on.
@@ -2836,8 +2847,12 @@ module IbmVpc
2836
2847
  # @param vpc_id [String] Filters the collection to resources in the VPC with the specified identifier.
2837
2848
  # @param vpc_crn [String] Filters the collection to resources in the VPC with the specified CRN.
2838
2849
  # @param vpc_name [String] Filters the collection to resources in the VPC with the exact specified name.
2850
+ # @param dedicated_host_id [String] Filters the collection to instances on the dedicated host with the specified
2851
+ # identifier.
2852
+ # @param dedicated_host_crn [String] Filters the collection to instances on the dedicated host with the specified CRN.
2853
+ # @param dedicated_host_name [String] Filters the collection to instances on the dedicated host with the specified name.
2839
2854
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
2840
- def list_instances(start: nil, limit: nil, resource_group_id: nil, name: nil, vpc_id: nil, vpc_crn: nil, vpc_name: nil)
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)
2841
2856
  raise ArgumentError.new("version must be provided") if version.nil?
2842
2857
 
2843
2858
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -2856,7 +2871,10 @@ module IbmVpc
2856
2871
  "name" => name,
2857
2872
  "vpc.id" => vpc_id,
2858
2873
  "vpc.crn" => vpc_crn,
2859
- "vpc.name" => vpc_name
2874
+ "vpc.name" => vpc_name,
2875
+ "dedicated_host.id" => dedicated_host_id,
2876
+ "dedicated_host.crn" => dedicated_host_crn,
2877
+ "dedicated_host.name" => dedicated_host_name
2860
2878
  }
2861
2879
 
2862
2880
  method_url = "/instances"
@@ -2915,7 +2933,7 @@ module IbmVpc
2915
2933
 
2916
2934
  ##
2917
2935
  # @!method delete_instance(id:)
2918
- # Delete specified instance.
2936
+ # Delete an instance.
2919
2937
  # This request deletes an instance. This operation cannot be reversed. Any floating
2920
2938
  # IPs associated with the instance's network interfaces are implicitly
2921
2939
  # disassociated. All flow log collectors with `auto_delete` set to `true` targeting
@@ -2988,7 +3006,7 @@ module IbmVpc
2988
3006
 
2989
3007
  ##
2990
3008
  # @!method update_instance(id:, instance_patch:)
2991
- # Update specified instance.
3009
+ # Update an instance.
2992
3010
  # This request updates an instance with the information in a provided instance
2993
3011
  # patch. The instance patch object is structured in the same way as a retrieved
2994
3012
  # instance and contains only the information to be updated.
@@ -3032,7 +3050,7 @@ module IbmVpc
3032
3050
 
3033
3051
  ##
3034
3052
  # @!method get_instance_initialization(id:)
3035
- # Retrieve configuration used to initialize the instance.
3053
+ # Retrieve initialization configuration for an instance.
3036
3054
  # This request retrieves configuration variables used to initialize the instance,
3037
3055
  # such as SSH keys and the Windows administrator password.
3038
3056
  # @param id [String] The instance identifier.
@@ -3113,6 +3131,178 @@ module IbmVpc
3113
3131
  response
3114
3132
  end
3115
3133
 
3134
+ ##
3135
+ # @!method create_instance_console_access_token(instance_id:, console_type:, force: nil)
3136
+ # Create a console access token for an instance.
3137
+ # This request creates a new single-use console access token for an instance. All
3138
+ # console configuration is provided at token create time, and the token is
3139
+ # subsequently used in the `access_token` query parameter for the WebSocket request.
3140
+ # The access token is only valid for a short period of time, and a maximum of one
3141
+ # token is valid for a given instance at a time.
3142
+ # @param instance_id [String] The instance identifier.
3143
+ # @param console_type [String] The instance console type for which this token may be used.
3144
+ # @param force [Boolean] Indicates whether to disconnect an existing serial console session as the serial
3145
+ # console cannot be shared. This has no effect on VNC consoles.
3146
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
3147
+ def create_instance_console_access_token(instance_id:, console_type:, force: nil)
3148
+ raise ArgumentError.new("version must be provided") if version.nil?
3149
+
3150
+ raise ArgumentError.new("generation must be provided") if generation.nil?
3151
+
3152
+ raise ArgumentError.new("instance_id must be provided") if instance_id.nil?
3153
+
3154
+ raise ArgumentError.new("console_type must be provided") if console_type.nil?
3155
+
3156
+ headers = {
3157
+ }
3158
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_instance_console_access_token")
3159
+ headers.merge!(sdk_headers)
3160
+
3161
+ params = {
3162
+ "version" => @version,
3163
+ "generation" => @generation
3164
+ }
3165
+
3166
+ data = {
3167
+ "console_type" => console_type,
3168
+ "force" => force
3169
+ }
3170
+
3171
+ method_url = "/instances/%s/console_access_token" % [ERB::Util.url_encode(instance_id)]
3172
+
3173
+ response = request(
3174
+ method: "POST",
3175
+ url: method_url,
3176
+ headers: headers,
3177
+ params: params,
3178
+ json: data,
3179
+ accept_json: true
3180
+ )
3181
+ response
3182
+ end
3183
+
3184
+ ##
3185
+ # @!method list_instance_disks(instance_id:)
3186
+ # List all disks on an instance.
3187
+ # This request lists all disks on an instance. A disk is a block device that is
3188
+ # locally attached to the instance's physical host and is also referred to as
3189
+ # instance storage. By default, the listed disks are sorted by their `created_at`
3190
+ # property values, with the newest disk first.
3191
+ # @param instance_id [String] The instance identifier.
3192
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
3193
+ def list_instance_disks(instance_id:)
3194
+ raise ArgumentError.new("version must be provided") if version.nil?
3195
+
3196
+ raise ArgumentError.new("generation must be provided") if generation.nil?
3197
+
3198
+ raise ArgumentError.new("instance_id must be provided") if instance_id.nil?
3199
+
3200
+ headers = {
3201
+ }
3202
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_instance_disks")
3203
+ headers.merge!(sdk_headers)
3204
+
3205
+ params = {
3206
+ "version" => @version,
3207
+ "generation" => @generation
3208
+ }
3209
+
3210
+ method_url = "/instances/%s/disks" % [ERB::Util.url_encode(instance_id)]
3211
+
3212
+ response = request(
3213
+ method: "GET",
3214
+ url: method_url,
3215
+ headers: headers,
3216
+ params: params,
3217
+ accept_json: true
3218
+ )
3219
+ response
3220
+ end
3221
+
3222
+ ##
3223
+ # @!method get_instance_disk(instance_id:, id:)
3224
+ # Retrieve an instance disk.
3225
+ # This request retrieves a single instance disk specified by the identifier in the
3226
+ # URL.
3227
+ # @param instance_id [String] The instance identifier.
3228
+ # @param id [String] The instance disk identifier.
3229
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
3230
+ def get_instance_disk(instance_id:, id:)
3231
+ raise ArgumentError.new("version must be provided") if version.nil?
3232
+
3233
+ raise ArgumentError.new("generation must be provided") if generation.nil?
3234
+
3235
+ raise ArgumentError.new("instance_id must be provided") if instance_id.nil?
3236
+
3237
+ raise ArgumentError.new("id must be provided") if id.nil?
3238
+
3239
+ headers = {
3240
+ }
3241
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_instance_disk")
3242
+ headers.merge!(sdk_headers)
3243
+
3244
+ params = {
3245
+ "version" => @version,
3246
+ "generation" => @generation
3247
+ }
3248
+
3249
+ method_url = "/instances/%s/disks/%s" % [ERB::Util.url_encode(instance_id), ERB::Util.url_encode(id)]
3250
+
3251
+ response = request(
3252
+ method: "GET",
3253
+ url: method_url,
3254
+ headers: headers,
3255
+ params: params,
3256
+ accept_json: true
3257
+ )
3258
+ response
3259
+ end
3260
+
3261
+ ##
3262
+ # @!method update_instance_disk(instance_id:, id:, instance_disk_patch:)
3263
+ # Update an instance disk.
3264
+ # This request updates the instance disk with the information in a provided patch.
3265
+ # @param instance_id [String] The instance identifier.
3266
+ # @param id [String] The instance disk identifier.
3267
+ # @param instance_disk_patch [Hash] The instance disk patch.
3268
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
3269
+ def update_instance_disk(instance_id:, id:, instance_disk_patch:)
3270
+ raise ArgumentError.new("version must be provided") if version.nil?
3271
+
3272
+ raise ArgumentError.new("generation must be provided") if generation.nil?
3273
+
3274
+ raise ArgumentError.new("instance_id must be provided") if instance_id.nil?
3275
+
3276
+ raise ArgumentError.new("id must be provided") if id.nil?
3277
+
3278
+ raise ArgumentError.new("instance_disk_patch must be provided") if instance_disk_patch.nil?
3279
+
3280
+ headers = {
3281
+ }
3282
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_instance_disk")
3283
+ headers.merge!(sdk_headers)
3284
+
3285
+ params = {
3286
+ "version" => @version,
3287
+ "generation" => @generation
3288
+ }
3289
+
3290
+ data = instance_disk_patch
3291
+ headers["Content-Type"] = "application/merge-patch+json"
3292
+
3293
+ method_url = "/instances/%s/disks/%s" % [ERB::Util.url_encode(instance_id), ERB::Util.url_encode(id)]
3294
+
3295
+ response = request(
3296
+ method: "PATCH",
3297
+ url: method_url,
3298
+ headers: headers,
3299
+ params: params,
3300
+ data: data,
3301
+ accept_json: true
3302
+ )
3303
+ response
3304
+ end
3305
+
3116
3306
  ##
3117
3307
  # @!method list_instance_network_interfaces(instance_id:)
3118
3308
  # List all network interfaces on an instance.
@@ -3154,7 +3344,7 @@ module IbmVpc
3154
3344
 
3155
3345
  ##
3156
3346
  # @!method create_instance_network_interface(instance_id:, subnet:, allow_ip_spoofing: nil, name: nil, primary_ipv4_address: nil, security_groups: nil)
3157
- # Create a network interface.
3347
+ # Create a network interface on an instance.
3158
3348
  # This request creates a new network interface from a network interface prototype
3159
3349
  # object. The prototype object is structured in the same way as a retrieved network
3160
3350
  # interface, and contains the information necessary to create the new network
@@ -3215,7 +3405,7 @@ module IbmVpc
3215
3405
 
3216
3406
  ##
3217
3407
  # @!method delete_instance_network_interface(instance_id:, id:)
3218
- # Delete specified network interface.
3408
+ # Delete a network interface.
3219
3409
  # This request deletes a network interface. This operation cannot be reversed. Any
3220
3410
  # floating IPs associated with the network interface are implicitly disassociated.
3221
3411
  # All flow log collectors with `auto_delete` set to `true` targeting the network
@@ -3257,7 +3447,7 @@ module IbmVpc
3257
3447
 
3258
3448
  ##
3259
3449
  # @!method get_instance_network_interface(instance_id:, id:)
3260
- # Retrieve specified network interface.
3450
+ # Retrieve a network interface.
3261
3451
  # This request retrieves a single network interface specified by the identifier in
3262
3452
  # the URL.
3263
3453
  # @param instance_id [String] The instance identifier.
@@ -3297,10 +3487,10 @@ module IbmVpc
3297
3487
  ##
3298
3488
  # @!method update_instance_network_interface(instance_id:, id:, network_interface_patch:)
3299
3489
  # Update a network interface.
3300
- # This request updates a network interface with the information in a provided
3301
- # network interface patch. The network interface patch object is structured in the
3302
- # same way as a retrieved network interface and can contain an updated name and/or
3303
- # port speed.
3490
+ # This request updates a network interface with the information provided in a
3491
+ # network interface patch object. The network interface patch object is structured
3492
+ # in the same way as a retrieved network interface and needs to contain only the
3493
+ # information to be updated.
3304
3494
  # @param instance_id [String] The instance identifier.
3305
3495
  # @param id [String] The network interface identifier.
3306
3496
  # @param network_interface_patch [Hash] The network interface patch.
@@ -3382,7 +3572,7 @@ module IbmVpc
3382
3572
 
3383
3573
  ##
3384
3574
  # @!method remove_instance_network_interface_floating_ip(instance_id:, network_interface_id:, id:)
3385
- # Disassociate specified floating IP.
3575
+ # Disassociate a floating IP from a network interface.
3386
3576
  # This request disassociates the specified floating IP from the specified network
3387
3577
  # interface.
3388
3578
  # @param instance_id [String] The instance identifier.
@@ -3510,8 +3700,8 @@ module IbmVpc
3510
3700
 
3511
3701
  ##
3512
3702
  # @!method list_instance_volume_attachments(instance_id:)
3513
- # List all volumes attached to an instance.
3514
- # This request lists all volume attachments for an instance. A volume attachment
3703
+ # List all volumes attachments on an instance.
3704
+ # This request lists all volume attachments on an instance. A volume attachment
3515
3705
  # connects a volume to an instance. Each instance may have many volume attachments
3516
3706
  # but each volume attachment connects exactly one instance to exactly one volume.
3517
3707
  # @param instance_id [String] The instance identifier.
@@ -3547,14 +3737,15 @@ module IbmVpc
3547
3737
 
3548
3738
  ##
3549
3739
  # @!method create_instance_volume_attachment(instance_id:, volume:, delete_volume_on_instance_delete: nil, name: nil)
3550
- # Create a volume attachment, connecting a volume to an instance.
3740
+ # Create a volume attachment on an instance.
3551
3741
  # This request creates a new volume attachment from a volume attachment prototype
3552
3742
  # object. The prototype object is structured in the same way as a retrieved volume
3553
3743
  # attachment, and contains the information necessary to create the new volume
3554
3744
  # attachment. The creation of a new volume attachment connects a volume to an
3555
3745
  # instance.
3556
3746
  # @param instance_id [String] The instance identifier.
3557
- # @param volume [VolumeIdentity] The identity of the volume to attach to the instance.
3747
+ # @param volume [VolumeAttachmentPrototypeVolume] An existing volume to attach to the instance, or a prototype object for a new
3748
+ # volume.
3558
3749
  # @param delete_volume_on_instance_delete [Boolean] If set to true, when deleting the instance the volume will also be deleted.
3559
3750
  # @param name [String] The user-defined name for this volume attachment. If unspecified, the name will be
3560
3751
  # a hyphenated list of randomly-selected words.
@@ -3599,7 +3790,7 @@ module IbmVpc
3599
3790
 
3600
3791
  ##
3601
3792
  # @!method delete_instance_volume_attachment(instance_id:, id:)
3602
- # Delete a volume attachment, detaching a volume from an instance.
3793
+ # Delete a volume attachment.
3603
3794
  # This request deletes a volume attachment. The deletion of a volume attachment
3604
3795
  # detaches a volume from an instance.
3605
3796
  # @param instance_id [String] The instance identifier.
@@ -3638,7 +3829,7 @@ module IbmVpc
3638
3829
 
3639
3830
  ##
3640
3831
  # @!method get_instance_volume_attachment(instance_id:, id:)
3641
- # Retrieve specified volume attachment.
3832
+ # Retrieve a volume attachment.
3642
3833
  # This request retrieves a single volume attachment specified by the identifier in
3643
3834
  # the URL.
3644
3835
  # @param instance_id [String] The instance identifier.
@@ -3678,9 +3869,10 @@ module IbmVpc
3678
3869
  ##
3679
3870
  # @!method update_instance_volume_attachment(instance_id:, id:, volume_attachment_patch:)
3680
3871
  # Update a volume attachment.
3681
- # This request updates a volume attachment with the information in a provided volume
3682
- # attachment patch. The volume attachment patch object is structured in the same way
3683
- # as a retrieved volume attachment and can contain an updated name.
3872
+ # This request updates a volume attachment with the information provided in a volume
3873
+ # attachment patch object. The volume attachment patch object is structured in the
3874
+ # same way as a retrieved volume attachment and needs to contain only the
3875
+ # information to be updated.
3684
3876
  # @param instance_id [String] The instance identifier.
3685
3877
  # @param id [String] The volume attachment identifier.
3686
3878
  # @param volume_attachment_patch [Hash] The volume attachment patch.
@@ -3766,7 +3958,7 @@ module IbmVpc
3766
3958
  # Create an instance group.
3767
3959
  # This request creates a new instance group.
3768
3960
  # @param instance_template [InstanceTemplateIdentity] Instance template to use when creating new instances.
3769
- # @param subnets [Array[SubnetIdentity]] Array of identities to subnets to use when creating new instances.
3961
+ # @param subnets [Array[SubnetIdentity]] The subnets to use when creating new instances.
3770
3962
  # @param application_port [Fixnum] Required if specifying a load balancer pool only. Used by the instance group when
3771
3963
  # scaling up instances to supply the port for the load balancer pool member.
3772
3964
  # @param load_balancer [LoadBalancerIdentity] The load balancer that the load balancer pool used by this group
@@ -3825,7 +4017,7 @@ module IbmVpc
3825
4017
 
3826
4018
  ##
3827
4019
  # @!method delete_instance_group(id:)
3828
- # Delete specified instance group.
4020
+ # Delete an instance group.
3829
4021
  # This request deletes an instance group. This operation cannot be reversed. Any
3830
4022
  # instances associated with the group will be deleted.
3831
4023
  # @param id [String] The instance group identifier.
@@ -3861,7 +4053,7 @@ module IbmVpc
3861
4053
 
3862
4054
  ##
3863
4055
  # @!method get_instance_group(id:)
3864
- # Retrieve specified instance group.
4056
+ # Retrieve an instance group.
3865
4057
  # This request retrieves a single instance group specified by identifier in the URL.
3866
4058
  # @param id [String] The instance group identifier.
3867
4059
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -3896,7 +4088,7 @@ module IbmVpc
3896
4088
 
3897
4089
  ##
3898
4090
  # @!method update_instance_group(id:, instance_group_patch:)
3899
- # Update specified instance group.
4091
+ # Update an instance group.
3900
4092
  # This request updates an instance group with the information provided instance
3901
4093
  # group patch. The instance group patch object is structured in the same way as a
3902
4094
  # retrieved instance group and contains only the information to be updated.
@@ -3940,7 +4132,7 @@ module IbmVpc
3940
4132
 
3941
4133
  ##
3942
4134
  # @!method delete_instance_group_load_balancer(instance_group_id:)
3943
- # Delete specified instance group load balancer.
4135
+ # Delete an instance group load balancer.
3944
4136
  # This request unbinds the instance group from the load balancer pool, and deletes
3945
4137
  # the load balancer pool members.
3946
4138
  # @param instance_group_id [String] The instance group identifier.
@@ -3975,12 +4167,14 @@ module IbmVpc
3975
4167
  end
3976
4168
 
3977
4169
  ##
3978
- # @!method list_instance_group_managers(instance_group_id:)
4170
+ # @!method list_instance_group_managers(instance_group_id:, start: nil, limit: nil)
3979
4171
  # List all managers for an instance group.
3980
- # This request retrieves instance group managers.
4172
+ # This request lists all managers for an instance group.
3981
4173
  # @param instance_group_id [String] The instance group identifier.
4174
+ # @param start [String] A server-supplied token determining what resource to start the page on.
4175
+ # @param limit [Fixnum] The number of resources to return on a page.
3982
4176
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
3983
- def list_instance_group_managers(instance_group_id:)
4177
+ def list_instance_group_managers(instance_group_id:, start: nil, limit: nil)
3984
4178
  raise ArgumentError.new("version must be provided") if version.nil?
3985
4179
 
3986
4180
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -3994,7 +4188,9 @@ module IbmVpc
3994
4188
 
3995
4189
  params = {
3996
4190
  "version" => @version,
3997
- "generation" => @generation
4191
+ "generation" => @generation,
4192
+ "start" => start,
4193
+ "limit" => limit
3998
4194
  }
3999
4195
 
4000
4196
  method_url = "/instance_groups/%s/managers" % [ERB::Util.url_encode(instance_group_id)]
@@ -4011,7 +4207,7 @@ module IbmVpc
4011
4207
 
4012
4208
  ##
4013
4209
  # @!method create_instance_group_manager(instance_group_id:, instance_group_manager_prototype:)
4014
- # Create an instance group manager.
4210
+ # Create a manager for an instance group.
4015
4211
  # This request creates a new instance group manager.
4016
4212
  # @param instance_group_id [String] The instance group identifier.
4017
4213
  # @param instance_group_manager_prototype [InstanceGroupManagerPrototype] The instance group manager prototype object.
@@ -4053,7 +4249,7 @@ module IbmVpc
4053
4249
 
4054
4250
  ##
4055
4251
  # @!method delete_instance_group_manager(instance_group_id:, id:)
4056
- # Delete specified instance group manager.
4252
+ # Delete an instance group manager.
4057
4253
  # This request deletes an instance group manager. This operation cannot be reversed.
4058
4254
  # @param instance_group_id [String] The instance group identifier.
4059
4255
  # @param id [String] The instance group manager identifier.
@@ -4091,7 +4287,7 @@ module IbmVpc
4091
4287
 
4092
4288
  ##
4093
4289
  # @!method get_instance_group_manager(instance_group_id:, id:)
4094
- # Retrieve specified instance group.
4290
+ # Retrieve an instance group manager.
4095
4291
  # This request retrieves a single instance group manager specified by identifier in
4096
4292
  # the URL.
4097
4293
  # @param instance_group_id [String] The instance group identifier.
@@ -4130,7 +4326,7 @@ module IbmVpc
4130
4326
 
4131
4327
  ##
4132
4328
  # @!method update_instance_group_manager(instance_group_id:, id:, instance_group_manager_patch:)
4133
- # Update specified instance group manager.
4329
+ # Update an instance group manager.
4134
4330
  # This request updates an instance group manager with the information provided
4135
4331
  # instance group manager patch.
4136
4332
  # @param instance_group_id [String] The instance group identifier.
@@ -4175,13 +4371,15 @@ module IbmVpc
4175
4371
  end
4176
4372
 
4177
4373
  ##
4178
- # @!method list_instance_group_manager_policies(instance_group_id:, instance_group_manager_id:)
4179
- # List all policies for an instance group manager.
4180
- # This request lists all instance group policies for an instance group manager.
4374
+ # @!method list_instance_group_manager_actions(instance_group_id:, instance_group_manager_id:, start: nil, limit: nil)
4375
+ # List all actions for an instance group manager.
4376
+ # This request lists all instance group actions for an instance group manager.
4181
4377
  # @param instance_group_id [String] The instance group identifier.
4182
4378
  # @param instance_group_manager_id [String] The instance group manager identifier.
4379
+ # @param start [String] A server-supplied token determining what resource to start the page on.
4380
+ # @param limit [Fixnum] The number of resources to return on a page.
4183
4381
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4184
- def list_instance_group_manager_policies(instance_group_id:, instance_group_manager_id:)
4382
+ def list_instance_group_manager_actions(instance_group_id:, instance_group_manager_id:, start: nil, limit: nil)
4185
4383
  raise ArgumentError.new("version must be provided") if version.nil?
4186
4384
 
4187
4385
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -4192,15 +4390,17 @@ module IbmVpc
4192
4390
 
4193
4391
  headers = {
4194
4392
  }
4195
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_instance_group_manager_policies")
4393
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_instance_group_manager_actions")
4196
4394
  headers.merge!(sdk_headers)
4197
4395
 
4198
4396
  params = {
4199
4397
  "version" => @version,
4200
- "generation" => @generation
4398
+ "generation" => @generation,
4399
+ "start" => start,
4400
+ "limit" => limit
4201
4401
  }
4202
4402
 
4203
- method_url = "/instance_groups/%s/managers/%s/policies" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id)]
4403
+ method_url = "/instance_groups/%s/managers/%s/actions" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id)]
4204
4404
 
4205
4405
  response = request(
4206
4406
  method: "GET",
@@ -4213,14 +4413,14 @@ module IbmVpc
4213
4413
  end
4214
4414
 
4215
4415
  ##
4216
- # @!method create_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, instance_group_manager_policy_prototype:)
4217
- # Create an instance group manager policy.
4218
- # This request creates a new instance group manager policy.
4416
+ # @!method create_instance_group_manager_action(instance_group_id:, instance_group_manager_id:, instance_group_manager_action_prototype:)
4417
+ # Create an instance group manager action.
4418
+ # This request creates a new instance group manager action.
4219
4419
  # @param instance_group_id [String] The instance group identifier.
4220
4420
  # @param instance_group_manager_id [String] The instance group manager identifier.
4221
- # @param instance_group_manager_policy_prototype [InstanceGroupManagerPolicyPrototype] The instance group manager policy prototype object.
4421
+ # @param instance_group_manager_action_prototype [InstanceGroupManagerActionPrototype] The instance group manager action prototype object.
4222
4422
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4223
- def create_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, instance_group_manager_policy_prototype:)
4423
+ def create_instance_group_manager_action(instance_group_id:, instance_group_manager_id:, instance_group_manager_action_prototype:)
4224
4424
  raise ArgumentError.new("version must be provided") if version.nil?
4225
4425
 
4226
4426
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -4229,11 +4429,11 @@ module IbmVpc
4229
4429
 
4230
4430
  raise ArgumentError.new("instance_group_manager_id must be provided") if instance_group_manager_id.nil?
4231
4431
 
4232
- raise ArgumentError.new("instance_group_manager_policy_prototype must be provided") if instance_group_manager_policy_prototype.nil?
4432
+ raise ArgumentError.new("instance_group_manager_action_prototype must be provided") if instance_group_manager_action_prototype.nil?
4233
4433
 
4234
4434
  headers = {
4235
4435
  }
4236
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_instance_group_manager_policy")
4436
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_instance_group_manager_action")
4237
4437
  headers.merge!(sdk_headers)
4238
4438
 
4239
4439
  params = {
@@ -4241,10 +4441,10 @@ module IbmVpc
4241
4441
  "generation" => @generation
4242
4442
  }
4243
4443
 
4244
- data = instance_group_manager_policy_prototype
4444
+ data = instance_group_manager_action_prototype
4245
4445
  headers["Content-Type"] = "application/json"
4246
4446
 
4247
- method_url = "/instance_groups/%s/managers/%s/policies" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id)]
4447
+ method_url = "/instance_groups/%s/managers/%s/actions" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id)]
4248
4448
 
4249
4449
  response = request(
4250
4450
  method: "POST",
@@ -4258,15 +4458,15 @@ module IbmVpc
4258
4458
  end
4259
4459
 
4260
4460
  ##
4261
- # @!method delete_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:)
4262
- # Delete specified instance group manager policy.
4263
- # This request deletes an instance group manager policy. This operation cannot be
4461
+ # @!method delete_instance_group_manager_action(instance_group_id:, instance_group_manager_id:, id:)
4462
+ # Delete specified instance group manager action.
4463
+ # This request deletes an instance group manager action. This operation cannot be
4264
4464
  # reversed.
4265
4465
  # @param instance_group_id [String] The instance group identifier.
4266
4466
  # @param instance_group_manager_id [String] The instance group manager identifier.
4267
- # @param id [String] The instance group manager policy identifier.
4467
+ # @param id [String] The instance group manager action identifier.
4268
4468
  # @return [nil]
4269
- def delete_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:)
4469
+ def delete_instance_group_manager_action(instance_group_id:, instance_group_manager_id:, id:)
4270
4470
  raise ArgumentError.new("version must be provided") if version.nil?
4271
4471
 
4272
4472
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -4279,7 +4479,7 @@ module IbmVpc
4279
4479
 
4280
4480
  headers = {
4281
4481
  }
4282
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_instance_group_manager_policy")
4482
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_instance_group_manager_action")
4283
4483
  headers.merge!(sdk_headers)
4284
4484
 
4285
4485
  params = {
@@ -4287,7 +4487,7 @@ module IbmVpc
4287
4487
  "generation" => @generation
4288
4488
  }
4289
4489
 
4290
- method_url = "/instance_groups/%s/managers/%s/policies/%s" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id), ERB::Util.url_encode(id)]
4490
+ method_url = "/instance_groups/%s/managers/%s/actions/%s" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id), ERB::Util.url_encode(id)]
4291
4491
 
4292
4492
  request(
4293
4493
  method: "DELETE",
@@ -4300,15 +4500,15 @@ module IbmVpc
4300
4500
  end
4301
4501
 
4302
4502
  ##
4303
- # @!method get_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:)
4304
- # Retrieve specified instance group manager policy.
4305
- # This request retrieves a single instance group manager policy specified by
4503
+ # @!method get_instance_group_manager_action(instance_group_id:, instance_group_manager_id:, id:)
4504
+ # Retrieve specified instance group manager action.
4505
+ # This request retrieves a single instance group manager action specified by
4306
4506
  # identifier in the URL.
4307
4507
  # @param instance_group_id [String] The instance group identifier.
4308
4508
  # @param instance_group_manager_id [String] The instance group manager identifier.
4309
- # @param id [String] The instance group manager policy identifier.
4509
+ # @param id [String] The instance group manager action identifier.
4310
4510
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4311
- def get_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:)
4511
+ def get_instance_group_manager_action(instance_group_id:, instance_group_manager_id:, id:)
4312
4512
  raise ArgumentError.new("version must be provided") if version.nil?
4313
4513
 
4314
4514
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -4321,7 +4521,7 @@ module IbmVpc
4321
4521
 
4322
4522
  headers = {
4323
4523
  }
4324
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_instance_group_manager_policy")
4524
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_instance_group_manager_action")
4325
4525
  headers.merge!(sdk_headers)
4326
4526
 
4327
4527
  params = {
@@ -4329,7 +4529,7 @@ module IbmVpc
4329
4529
  "generation" => @generation
4330
4530
  }
4331
4531
 
4332
- method_url = "/instance_groups/%s/managers/%s/policies/%s" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id), ERB::Util.url_encode(id)]
4532
+ method_url = "/instance_groups/%s/managers/%s/actions/%s" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id), ERB::Util.url_encode(id)]
4333
4533
 
4334
4534
  response = request(
4335
4535
  method: "GET",
@@ -4342,15 +4542,15 @@ module IbmVpc
4342
4542
  end
4343
4543
 
4344
4544
  ##
4345
- # @!method update_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:, instance_group_manager_policy_patch:)
4346
- # Update specified instance group manager policy.
4347
- # This request updates an instance group manager policy.
4545
+ # @!method update_instance_group_manager_action(instance_group_id:, instance_group_manager_id:, id:, instance_group_manager_action_patch:)
4546
+ # Update specified instance group manager action.
4547
+ # This request updates an instance group manager action.
4348
4548
  # @param instance_group_id [String] The instance group identifier.
4349
4549
  # @param instance_group_manager_id [String] The instance group manager identifier.
4350
- # @param id [String] The instance group manager policy identifier.
4351
- # @param instance_group_manager_policy_patch [Hash] The instance group manager policy patch.
4550
+ # @param id [String] The instance group manager action identifier.
4551
+ # @param instance_group_manager_action_patch [Hash] The instance group manager action patch.
4352
4552
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4353
- def update_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:, instance_group_manager_policy_patch:)
4553
+ def update_instance_group_manager_action(instance_group_id:, instance_group_manager_id:, id:, instance_group_manager_action_patch:)
4354
4554
  raise ArgumentError.new("version must be provided") if version.nil?
4355
4555
 
4356
4556
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -4361,11 +4561,11 @@ module IbmVpc
4361
4561
 
4362
4562
  raise ArgumentError.new("id must be provided") if id.nil?
4363
4563
 
4364
- raise ArgumentError.new("instance_group_manager_policy_patch must be provided") if instance_group_manager_policy_patch.nil?
4564
+ raise ArgumentError.new("instance_group_manager_action_patch must be provided") if instance_group_manager_action_patch.nil?
4365
4565
 
4366
4566
  headers = {
4367
4567
  }
4368
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_instance_group_manager_policy")
4568
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_instance_group_manager_action")
4369
4569
  headers.merge!(sdk_headers)
4370
4570
 
4371
4571
  params = {
@@ -4373,10 +4573,10 @@ module IbmVpc
4373
4573
  "generation" => @generation
4374
4574
  }
4375
4575
 
4376
- data = instance_group_manager_policy_patch
4576
+ data = instance_group_manager_action_patch
4377
4577
  headers["Content-Type"] = "application/merge-patch+json"
4378
4578
 
4379
- method_url = "/instance_groups/%s/managers/%s/policies/%s" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id), ERB::Util.url_encode(id)]
4579
+ method_url = "/instance_groups/%s/managers/%s/actions/%s" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id), ERB::Util.url_encode(id)]
4380
4580
 
4381
4581
  response = request(
4382
4582
  method: "PATCH",
@@ -4390,59 +4590,69 @@ module IbmVpc
4390
4590
  end
4391
4591
 
4392
4592
  ##
4393
- # @!method delete_instance_group_memberships(instance_group_id:)
4394
- # Delete all memberships from the instance group.
4395
- # This request deletes all memberships of an instance group. This operation cannot
4396
- # be reversed. reversed. Any memberships that have
4397
- # `delete_instance_on_membership_delete` set to `true` will also have their
4398
- # instances deleted.
4593
+ # @!method list_instance_group_manager_policies(instance_group_id:, instance_group_manager_id:, start: nil, limit: nil)
4594
+ # List all policies for an instance group manager.
4595
+ # This request lists all policies for an instance group manager.
4399
4596
  # @param instance_group_id [String] The instance group identifier.
4400
- # @return [nil]
4401
- def delete_instance_group_memberships(instance_group_id:)
4597
+ # @param instance_group_manager_id [String] The instance group manager identifier.
4598
+ # @param start [String] A server-supplied token determining what resource to start the page on.
4599
+ # @param limit [Fixnum] The number of resources to return on a page.
4600
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4601
+ def list_instance_group_manager_policies(instance_group_id:, instance_group_manager_id:, start: nil, limit: nil)
4402
4602
  raise ArgumentError.new("version must be provided") if version.nil?
4403
4603
 
4404
4604
  raise ArgumentError.new("generation must be provided") if generation.nil?
4405
4605
 
4406
4606
  raise ArgumentError.new("instance_group_id must be provided") if instance_group_id.nil?
4407
4607
 
4608
+ raise ArgumentError.new("instance_group_manager_id must be provided") if instance_group_manager_id.nil?
4609
+
4408
4610
  headers = {
4409
4611
  }
4410
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_instance_group_memberships")
4612
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_instance_group_manager_policies")
4411
4613
  headers.merge!(sdk_headers)
4412
4614
 
4413
4615
  params = {
4414
4616
  "version" => @version,
4415
- "generation" => @generation
4617
+ "generation" => @generation,
4618
+ "start" => start,
4619
+ "limit" => limit
4416
4620
  }
4417
4621
 
4418
- method_url = "/instance_groups/%s/memberships" % [ERB::Util.url_encode(instance_group_id)]
4622
+ method_url = "/instance_groups/%s/managers/%s/policies" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id)]
4419
4623
 
4420
- request(
4421
- method: "DELETE",
4624
+ response = request(
4625
+ method: "GET",
4422
4626
  url: method_url,
4423
4627
  headers: headers,
4424
4628
  params: params,
4425
- accept_json: false
4629
+ accept_json: true
4426
4630
  )
4427
- nil
4631
+ response
4428
4632
  end
4429
4633
 
4430
4634
  ##
4431
- # @!method list_instance_group_memberships(instance_group_id:)
4432
- # List all memberships for the instance group.
4433
- # This request lists all instance group memberships for an instance group.
4635
+ # @!method create_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, instance_group_manager_policy_prototype:)
4636
+ # Create a policy for an instance group manager.
4637
+ # This request creates a new instance group manager policy.
4434
4638
  # @param instance_group_id [String] The instance group identifier.
4639
+ # @param instance_group_manager_id [String] The instance group manager identifier.
4640
+ # @param instance_group_manager_policy_prototype [InstanceGroupManagerPolicyPrototype] The instance group manager policy prototype object.
4435
4641
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4436
- def list_instance_group_memberships(instance_group_id:)
4642
+ def create_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, instance_group_manager_policy_prototype:)
4437
4643
  raise ArgumentError.new("version must be provided") if version.nil?
4438
4644
 
4439
4645
  raise ArgumentError.new("generation must be provided") if generation.nil?
4440
4646
 
4441
4647
  raise ArgumentError.new("instance_group_id must be provided") if instance_group_id.nil?
4442
4648
 
4649
+ raise ArgumentError.new("instance_group_manager_id must be provided") if instance_group_manager_id.nil?
4650
+
4651
+ raise ArgumentError.new("instance_group_manager_policy_prototype must be provided") if instance_group_manager_policy_prototype.nil?
4652
+
4443
4653
  headers = {
4444
4654
  }
4445
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_instance_group_memberships")
4655
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_instance_group_manager_policy")
4446
4656
  headers.merge!(sdk_headers)
4447
4657
 
4448
4658
  params = {
@@ -4450,35 +4660,248 @@ module IbmVpc
4450
4660
  "generation" => @generation
4451
4661
  }
4452
4662
 
4453
- method_url = "/instance_groups/%s/memberships" % [ERB::Util.url_encode(instance_group_id)]
4663
+ data = instance_group_manager_policy_prototype
4664
+ headers["Content-Type"] = "application/json"
4665
+
4666
+ method_url = "/instance_groups/%s/managers/%s/policies" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id)]
4454
4667
 
4455
4668
  response = request(
4456
- method: "GET",
4669
+ method: "POST",
4457
4670
  url: method_url,
4458
4671
  headers: headers,
4459
4672
  params: params,
4673
+ data: data,
4460
4674
  accept_json: true
4461
4675
  )
4462
4676
  response
4463
4677
  end
4464
4678
 
4465
4679
  ##
4466
- # @!method delete_instance_group_membership(instance_group_id:, id:)
4467
- # Delete specified instance group membership.
4468
- # This request deletes a memberships of an instance group. This operation cannot be
4469
- # reversed. reversed. If the membership has `delete_instance_on_membership_delete`
4470
- # set to `true`, the instance will also be deleted.
4680
+ # @!method delete_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:)
4681
+ # Delete an instance group manager policy.
4682
+ # This request deletes an instance group manager policy. This operation cannot be
4683
+ # reversed.
4471
4684
  # @param instance_group_id [String] The instance group identifier.
4472
- # @param id [String] The instance group membership identifier.
4685
+ # @param instance_group_manager_id [String] The instance group manager identifier.
4686
+ # @param id [String] The instance group manager policy identifier.
4473
4687
  # @return [nil]
4474
- def delete_instance_group_membership(instance_group_id:, id:)
4688
+ def delete_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:)
4475
4689
  raise ArgumentError.new("version must be provided") if version.nil?
4476
4690
 
4477
4691
  raise ArgumentError.new("generation must be provided") if generation.nil?
4478
4692
 
4479
4693
  raise ArgumentError.new("instance_group_id must be provided") if instance_group_id.nil?
4480
4694
 
4481
- raise ArgumentError.new("id must be provided") if id.nil?
4695
+ raise ArgumentError.new("instance_group_manager_id must be provided") if instance_group_manager_id.nil?
4696
+
4697
+ raise ArgumentError.new("id must be provided") if id.nil?
4698
+
4699
+ headers = {
4700
+ }
4701
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_instance_group_manager_policy")
4702
+ headers.merge!(sdk_headers)
4703
+
4704
+ params = {
4705
+ "version" => @version,
4706
+ "generation" => @generation
4707
+ }
4708
+
4709
+ method_url = "/instance_groups/%s/managers/%s/policies/%s" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id), ERB::Util.url_encode(id)]
4710
+
4711
+ request(
4712
+ method: "DELETE",
4713
+ url: method_url,
4714
+ headers: headers,
4715
+ params: params,
4716
+ accept_json: false
4717
+ )
4718
+ nil
4719
+ end
4720
+
4721
+ ##
4722
+ # @!method get_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:)
4723
+ # Retrieve an instance group manager policy.
4724
+ # This request retrieves a single instance group manager policy specified by
4725
+ # identifier in the URL.
4726
+ # @param instance_group_id [String] The instance group identifier.
4727
+ # @param instance_group_manager_id [String] The instance group manager identifier.
4728
+ # @param id [String] The instance group manager policy identifier.
4729
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4730
+ def get_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:)
4731
+ raise ArgumentError.new("version must be provided") if version.nil?
4732
+
4733
+ raise ArgumentError.new("generation must be provided") if generation.nil?
4734
+
4735
+ raise ArgumentError.new("instance_group_id must be provided") if instance_group_id.nil?
4736
+
4737
+ raise ArgumentError.new("instance_group_manager_id must be provided") if instance_group_manager_id.nil?
4738
+
4739
+ raise ArgumentError.new("id must be provided") if id.nil?
4740
+
4741
+ headers = {
4742
+ }
4743
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_instance_group_manager_policy")
4744
+ headers.merge!(sdk_headers)
4745
+
4746
+ params = {
4747
+ "version" => @version,
4748
+ "generation" => @generation
4749
+ }
4750
+
4751
+ method_url = "/instance_groups/%s/managers/%s/policies/%s" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id), ERB::Util.url_encode(id)]
4752
+
4753
+ response = request(
4754
+ method: "GET",
4755
+ url: method_url,
4756
+ headers: headers,
4757
+ params: params,
4758
+ accept_json: true
4759
+ )
4760
+ response
4761
+ end
4762
+
4763
+ ##
4764
+ # @!method update_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:, instance_group_manager_policy_patch:)
4765
+ # Update an instance group manager policy.
4766
+ # This request updates an instance group manager policy.
4767
+ # @param instance_group_id [String] The instance group identifier.
4768
+ # @param instance_group_manager_id [String] The instance group manager identifier.
4769
+ # @param id [String] The instance group manager policy identifier.
4770
+ # @param instance_group_manager_policy_patch [Hash] The instance group manager policy patch.
4771
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4772
+ def update_instance_group_manager_policy(instance_group_id:, instance_group_manager_id:, id:, instance_group_manager_policy_patch:)
4773
+ raise ArgumentError.new("version must be provided") if version.nil?
4774
+
4775
+ raise ArgumentError.new("generation must be provided") if generation.nil?
4776
+
4777
+ raise ArgumentError.new("instance_group_id must be provided") if instance_group_id.nil?
4778
+
4779
+ raise ArgumentError.new("instance_group_manager_id must be provided") if instance_group_manager_id.nil?
4780
+
4781
+ raise ArgumentError.new("id must be provided") if id.nil?
4782
+
4783
+ raise ArgumentError.new("instance_group_manager_policy_patch must be provided") if instance_group_manager_policy_patch.nil?
4784
+
4785
+ headers = {
4786
+ }
4787
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_instance_group_manager_policy")
4788
+ headers.merge!(sdk_headers)
4789
+
4790
+ params = {
4791
+ "version" => @version,
4792
+ "generation" => @generation
4793
+ }
4794
+
4795
+ data = instance_group_manager_policy_patch
4796
+ headers["Content-Type"] = "application/merge-patch+json"
4797
+
4798
+ method_url = "/instance_groups/%s/managers/%s/policies/%s" % [ERB::Util.url_encode(instance_group_id), ERB::Util.url_encode(instance_group_manager_id), ERB::Util.url_encode(id)]
4799
+
4800
+ response = request(
4801
+ method: "PATCH",
4802
+ url: method_url,
4803
+ headers: headers,
4804
+ params: params,
4805
+ data: data,
4806
+ accept_json: true
4807
+ )
4808
+ response
4809
+ end
4810
+
4811
+ ##
4812
+ # @!method delete_instance_group_memberships(instance_group_id:)
4813
+ # Delete all memberships from an instance group.
4814
+ # This request deletes all memberships of an instance group. This operation cannot
4815
+ # be reversed. reversed. Any memberships that have
4816
+ # `delete_instance_on_membership_delete` set to `true` will also have their
4817
+ # instances deleted.
4818
+ # @param instance_group_id [String] The instance group identifier.
4819
+ # @return [nil]
4820
+ def delete_instance_group_memberships(instance_group_id:)
4821
+ raise ArgumentError.new("version must be provided") if version.nil?
4822
+
4823
+ raise ArgumentError.new("generation must be provided") if generation.nil?
4824
+
4825
+ raise ArgumentError.new("instance_group_id must be provided") if instance_group_id.nil?
4826
+
4827
+ headers = {
4828
+ }
4829
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_instance_group_memberships")
4830
+ headers.merge!(sdk_headers)
4831
+
4832
+ params = {
4833
+ "version" => @version,
4834
+ "generation" => @generation
4835
+ }
4836
+
4837
+ method_url = "/instance_groups/%s/memberships" % [ERB::Util.url_encode(instance_group_id)]
4838
+
4839
+ request(
4840
+ method: "DELETE",
4841
+ url: method_url,
4842
+ headers: headers,
4843
+ params: params,
4844
+ accept_json: false
4845
+ )
4846
+ nil
4847
+ end
4848
+
4849
+ ##
4850
+ # @!method list_instance_group_memberships(instance_group_id:, start: nil, limit: nil)
4851
+ # List all memberships for an instance group.
4852
+ # This request lists all instance group memberships for an instance group.
4853
+ # @param instance_group_id [String] The instance group identifier.
4854
+ # @param start [String] A server-supplied token determining what resource to start the page on.
4855
+ # @param limit [Fixnum] The number of resources to return on a page.
4856
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4857
+ def list_instance_group_memberships(instance_group_id:, start: nil, limit: nil)
4858
+ raise ArgumentError.new("version must be provided") if version.nil?
4859
+
4860
+ raise ArgumentError.new("generation must be provided") if generation.nil?
4861
+
4862
+ raise ArgumentError.new("instance_group_id must be provided") if instance_group_id.nil?
4863
+
4864
+ headers = {
4865
+ }
4866
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_instance_group_memberships")
4867
+ headers.merge!(sdk_headers)
4868
+
4869
+ params = {
4870
+ "version" => @version,
4871
+ "generation" => @generation,
4872
+ "start" => start,
4873
+ "limit" => limit
4874
+ }
4875
+
4876
+ method_url = "/instance_groups/%s/memberships" % [ERB::Util.url_encode(instance_group_id)]
4877
+
4878
+ response = request(
4879
+ method: "GET",
4880
+ url: method_url,
4881
+ headers: headers,
4882
+ params: params,
4883
+ accept_json: true
4884
+ )
4885
+ response
4886
+ end
4887
+
4888
+ ##
4889
+ # @!method delete_instance_group_membership(instance_group_id:, id:)
4890
+ # Delete an instance group membership.
4891
+ # This request deletes a memberships of an instance group. This operation cannot be
4892
+ # reversed. reversed. If the membership has `delete_instance_on_membership_delete`
4893
+ # set to `true`, the instance will also be deleted.
4894
+ # @param instance_group_id [String] The instance group identifier.
4895
+ # @param id [String] The instance group membership identifier.
4896
+ # @return [nil]
4897
+ def delete_instance_group_membership(instance_group_id:, id:)
4898
+ raise ArgumentError.new("version must be provided") if version.nil?
4899
+
4900
+ raise ArgumentError.new("generation must be provided") if generation.nil?
4901
+
4902
+ raise ArgumentError.new("instance_group_id must be provided") if instance_group_id.nil?
4903
+
4904
+ raise ArgumentError.new("id must be provided") if id.nil?
4482
4905
 
4483
4906
  headers = {
4484
4907
  }
@@ -4504,7 +4927,7 @@ module IbmVpc
4504
4927
 
4505
4928
  ##
4506
4929
  # @!method get_instance_group_membership(instance_group_id:, id:)
4507
- # Retrieve specified instance group membership.
4930
+ # Retrieve an instance group membership.
4508
4931
  # This request retrieves a single instance group membership specified by identifier
4509
4932
  # in the URL.
4510
4933
  # @param instance_group_id [String] The instance group identifier.
@@ -4543,7 +4966,7 @@ module IbmVpc
4543
4966
 
4544
4967
  ##
4545
4968
  # @!method update_instance_group_membership(instance_group_id:, id:, instance_group_membership_patch:)
4546
- # Update specified instance group membership.
4969
+ # Update an instance group membership.
4547
4970
  # This request updates an instance group membership with the information provided
4548
4971
  # instance group membership patch.
4549
4972
  # @param instance_group_id [String] The instance group identifier.
@@ -4639,7 +5062,7 @@ module IbmVpc
4639
5062
  # This request creates a new dedicated host group.
4640
5063
  # @param _class [String] The dedicated host profile class for hosts in this group.
4641
5064
  # @param family [String] The dedicated host profile family for hosts in this group.
4642
- # @param zone [ZoneIdentity] The zone to provision the dedicated host group in.
5065
+ # @param zone [ZoneIdentity] The zone this dedicated host group will reside in.
4643
5066
  # @param name [String] The unique user-defined name for this dedicated host group. If unspecified, the
4644
5067
  # name will be a hyphenated list of randomly-selected words.
4645
5068
  # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
@@ -4683,7 +5106,7 @@ module IbmVpc
4683
5106
 
4684
5107
  ##
4685
5108
  # @!method delete_dedicated_host_group(id:)
4686
- # Delete specified dedicated host group.
5109
+ # Delete a dedicated host group.
4687
5110
  # This request deletes a dedicated host group.
4688
5111
  # @param id [String] The dedicated host group identifier.
4689
5112
  # @return [nil]
@@ -4754,7 +5177,7 @@ module IbmVpc
4754
5177
 
4755
5178
  ##
4756
5179
  # @!method update_dedicated_host_group(id:, dedicated_host_group_patch:)
4757
- # Update specified dedicated host group.
5180
+ # Update a dedicated host group.
4758
5181
  # This request updates a dedicated host group with the information in a provided
4759
5182
  # dedicated host group patch. The dedicated host group patch object is structured in
4760
5183
  # the same way as a retrieved dedicated host group and contains only the information
@@ -4800,7 +5223,7 @@ module IbmVpc
4800
5223
  ##
4801
5224
  # @!method list_dedicated_host_profiles(start: nil, limit: nil)
4802
5225
  # List all dedicated host profiles.
4803
- # This request lists provisionable dedicated host profiles in the region. A
5226
+ # This request lists all provisionable dedicated host profiles in the region. A
4804
5227
  # dedicated host profile specifies the hardware characteristics for a dedicated
4805
5228
  # host.
4806
5229
  # @param start [String] A server-supplied token determining what resource to start the page on.
@@ -4837,7 +5260,7 @@ module IbmVpc
4837
5260
 
4838
5261
  ##
4839
5262
  # @!method get_dedicated_host_profile(name:)
4840
- # Retrieve specified dedicated host profile.
5263
+ # Retrieve a dedicated host profile.
4841
5264
  # This request retrieves a single dedicated host profile specified by the name in
4842
5265
  # the URL.
4843
5266
  # @param name [String] The dedicated host profile name.
@@ -4874,8 +5297,8 @@ module IbmVpc
4874
5297
  ##
4875
5298
  # @!method list_dedicated_hosts(dedicated_host_group_id: nil, start: nil, limit: nil, resource_group_id: nil, zone_name: nil)
4876
5299
  # List all dedicated hosts.
4877
- # This request lists all dedicated hosts.
4878
- # @param dedicated_host_group_id [String] Filters the collection to dedicated host groups with specified identifier.
5300
+ # This request lists all dedicated hosts in the region.
5301
+ # @param dedicated_host_group_id [String] Filters the collection to dedicated host groups with the specified identifier.
4879
5302
  # @param start [String] A server-supplied token determining what resource to start the page on.
4880
5303
  # @param limit [Fixnum] The number of resources to return on a page.
4881
5304
  # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
@@ -4954,21 +5377,24 @@ module IbmVpc
4954
5377
  end
4955
5378
 
4956
5379
  ##
4957
- # @!method delete_dedicated_host(id:)
4958
- # Delete specified dedicated host.
4959
- # This request deletes a dedicated host.
4960
- # @param id [String] The dedicated host identifier.
4961
- # @return [nil]
4962
- def delete_dedicated_host(id:)
5380
+ # @!method list_dedicated_host_disks(dedicated_host_id:)
5381
+ # List all disks on a dedicated host.
5382
+ # This request lists all disks on a dedicated host. A disk is a physical device
5383
+ # that is locally attached to the compute node. By default, the listed disks are
5384
+ # sorted by their
5385
+ # `created_at` property values, with the newest disk first.
5386
+ # @param dedicated_host_id [String] The dedicated host identifier.
5387
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5388
+ def list_dedicated_host_disks(dedicated_host_id:)
4963
5389
  raise ArgumentError.new("version must be provided") if version.nil?
4964
5390
 
4965
5391
  raise ArgumentError.new("generation must be provided") if generation.nil?
4966
5392
 
4967
- raise ArgumentError.new("id must be provided") if id.nil?
5393
+ raise ArgumentError.new("dedicated_host_id must be provided") if dedicated_host_id.nil?
4968
5394
 
4969
5395
  headers = {
4970
5396
  }
4971
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_dedicated_host")
5397
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_dedicated_host_disks")
4972
5398
  headers.merge!(sdk_headers)
4973
5399
 
4974
5400
  params = {
@@ -4976,35 +5402,38 @@ module IbmVpc
4976
5402
  "generation" => @generation
4977
5403
  }
4978
5404
 
4979
- method_url = "/dedicated_hosts/%s" % [ERB::Util.url_encode(id)]
5405
+ method_url = "/dedicated_hosts/%s/disks" % [ERB::Util.url_encode(dedicated_host_id)]
4980
5406
 
4981
- request(
4982
- method: "DELETE",
5407
+ response = request(
5408
+ method: "GET",
4983
5409
  url: method_url,
4984
5410
  headers: headers,
4985
5411
  params: params,
4986
- accept_json: false
5412
+ accept_json: true
4987
5413
  )
4988
- nil
5414
+ response
4989
5415
  end
4990
5416
 
4991
5417
  ##
4992
- # @!method get_dedicated_host(id:)
4993
- # Retrieve a dedicated host.
4994
- # This request retrieves a single dedicated host specified by the identifiers in the
4995
- # URL.
4996
- # @param id [String] The dedicated host identifier.
5418
+ # @!method get_dedicated_host_disk(dedicated_host_id:, id:)
5419
+ # Retrieve a dedicated host disk.
5420
+ # This request retrieves a single dedicated host disk specified by the identifier in
5421
+ # the URL.
5422
+ # @param dedicated_host_id [String] The dedicated host identifier.
5423
+ # @param id [String] The dedicated host disk identifier.
4997
5424
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
4998
- def get_dedicated_host(id:)
5425
+ def get_dedicated_host_disk(dedicated_host_id:, id:)
4999
5426
  raise ArgumentError.new("version must be provided") if version.nil?
5000
5427
 
5001
5428
  raise ArgumentError.new("generation must be provided") if generation.nil?
5002
5429
 
5430
+ raise ArgumentError.new("dedicated_host_id must be provided") if dedicated_host_id.nil?
5431
+
5003
5432
  raise ArgumentError.new("id must be provided") if id.nil?
5004
5433
 
5005
5434
  headers = {
5006
5435
  }
5007
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_dedicated_host")
5436
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_dedicated_host_disk")
5008
5437
  headers.merge!(sdk_headers)
5009
5438
 
5010
5439
  params = {
@@ -5012,7 +5441,7 @@ module IbmVpc
5012
5441
  "generation" => @generation
5013
5442
  }
5014
5443
 
5015
- method_url = "/dedicated_hosts/%s" % [ERB::Util.url_encode(id)]
5444
+ method_url = "/dedicated_hosts/%s/disks/%s" % [ERB::Util.url_encode(dedicated_host_id), ERB::Util.url_encode(id)]
5016
5445
 
5017
5446
  response = request(
5018
5447
  method: "GET",
@@ -5025,26 +5454,28 @@ module IbmVpc
5025
5454
  end
5026
5455
 
5027
5456
  ##
5028
- # @!method update_dedicated_host(id:, dedicated_host_patch:)
5029
- # Update specified dedicated host.
5030
- # This request updates a dedicated host with the information in a provided dedicated
5031
- # host patch. The dedicated host patch object is structured in the same way as a
5032
- # retrieved dedicated host and contains only the information to be updated.
5033
- # @param id [String] The dedicated host identifier.
5034
- # @param dedicated_host_patch [Hash] The dedicated host patch.
5457
+ # @!method update_dedicated_host_disk(dedicated_host_id:, id:, dedicated_host_disk_patch:)
5458
+ # Update a dedicated host disk.
5459
+ # This request updates the dedicated host disk with the information in a provided
5460
+ # patch.
5461
+ # @param dedicated_host_id [String] The dedicated host identifier.
5462
+ # @param id [String] The dedicated host disk identifier.
5463
+ # @param dedicated_host_disk_patch [Hash] The dedicated host disk patch.
5035
5464
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5036
- def update_dedicated_host(id:, dedicated_host_patch:)
5465
+ def update_dedicated_host_disk(dedicated_host_id:, id:, dedicated_host_disk_patch:)
5037
5466
  raise ArgumentError.new("version must be provided") if version.nil?
5038
5467
 
5039
5468
  raise ArgumentError.new("generation must be provided") if generation.nil?
5040
5469
 
5470
+ raise ArgumentError.new("dedicated_host_id must be provided") if dedicated_host_id.nil?
5471
+
5041
5472
  raise ArgumentError.new("id must be provided") if id.nil?
5042
5473
 
5043
- raise ArgumentError.new("dedicated_host_patch must be provided") if dedicated_host_patch.nil?
5474
+ raise ArgumentError.new("dedicated_host_disk_patch must be provided") if dedicated_host_disk_patch.nil?
5044
5475
 
5045
5476
  headers = {
5046
5477
  }
5047
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_dedicated_host")
5478
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_dedicated_host_disk")
5048
5479
  headers.merge!(sdk_headers)
5049
5480
 
5050
5481
  params = {
@@ -5052,10 +5483,10 @@ module IbmVpc
5052
5483
  "generation" => @generation
5053
5484
  }
5054
5485
 
5055
- data = dedicated_host_patch
5486
+ data = dedicated_host_disk_patch
5056
5487
  headers["Content-Type"] = "application/merge-patch+json"
5057
5488
 
5058
- method_url = "/dedicated_hosts/%s" % [ERB::Util.url_encode(id)]
5489
+ method_url = "/dedicated_hosts/%s/disks/%s" % [ERB::Util.url_encode(dedicated_host_id), ERB::Util.url_encode(id)]
5059
5490
 
5060
5491
  response = request(
5061
5492
  method: "PATCH",
@@ -5067,100 +5498,472 @@ module IbmVpc
5067
5498
  )
5068
5499
  response
5069
5500
  end
5070
- #########################
5071
- # Volumes
5072
- #########################
5073
5501
 
5074
5502
  ##
5075
- # @!method list_volume_profiles(start: nil, limit: nil)
5076
- # List all volume profiles.
5077
- # This request lists all volume profiles available in the region. A volume profile
5078
- # specifies the performance characteristics and pricing model for a volume.
5079
- # @param start [String] A server-supplied token determining what resource to start the page on.
5080
- # @param limit [Fixnum] The number of resources to return on a page.
5503
+ # @!method delete_dedicated_host(id:)
5504
+ # Delete a dedicated host.
5505
+ # This request deletes a dedicated host.
5506
+ # @param id [String] The dedicated host identifier.
5507
+ # @return [nil]
5508
+ def delete_dedicated_host(id:)
5509
+ raise ArgumentError.new("version must be provided") if version.nil?
5510
+
5511
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5512
+
5513
+ raise ArgumentError.new("id must be provided") if id.nil?
5514
+
5515
+ headers = {
5516
+ }
5517
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_dedicated_host")
5518
+ headers.merge!(sdk_headers)
5519
+
5520
+ params = {
5521
+ "version" => @version,
5522
+ "generation" => @generation
5523
+ }
5524
+
5525
+ method_url = "/dedicated_hosts/%s" % [ERB::Util.url_encode(id)]
5526
+
5527
+ request(
5528
+ method: "DELETE",
5529
+ url: method_url,
5530
+ headers: headers,
5531
+ params: params,
5532
+ accept_json: false
5533
+ )
5534
+ nil
5535
+ end
5536
+
5537
+ ##
5538
+ # @!method get_dedicated_host(id:)
5539
+ # Retrieve a dedicated host.
5540
+ # This request retrieves a single dedicated host specified by the identifiers in the
5541
+ # URL.
5542
+ # @param id [String] The dedicated host identifier.
5543
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5544
+ def get_dedicated_host(id:)
5545
+ raise ArgumentError.new("version must be provided") if version.nil?
5546
+
5547
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5548
+
5549
+ raise ArgumentError.new("id must be provided") if id.nil?
5550
+
5551
+ headers = {
5552
+ }
5553
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_dedicated_host")
5554
+ headers.merge!(sdk_headers)
5555
+
5556
+ params = {
5557
+ "version" => @version,
5558
+ "generation" => @generation
5559
+ }
5560
+
5561
+ method_url = "/dedicated_hosts/%s" % [ERB::Util.url_encode(id)]
5562
+
5563
+ response = request(
5564
+ method: "GET",
5565
+ url: method_url,
5566
+ headers: headers,
5567
+ params: params,
5568
+ accept_json: true
5569
+ )
5570
+ response
5571
+ end
5572
+
5573
+ ##
5574
+ # @!method update_dedicated_host(id:, dedicated_host_patch:)
5575
+ # Update a dedicated host.
5576
+ # This request updates a dedicated host with the information in a provided dedicated
5577
+ # host patch. The dedicated host patch object is structured in the same way as a
5578
+ # retrieved dedicated host and contains only the information to be updated.
5579
+ # @param id [String] The dedicated host identifier.
5580
+ # @param dedicated_host_patch [Hash] The dedicated host patch.
5581
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5582
+ def update_dedicated_host(id:, dedicated_host_patch:)
5583
+ raise ArgumentError.new("version must be provided") if version.nil?
5584
+
5585
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5586
+
5587
+ raise ArgumentError.new("id must be provided") if id.nil?
5588
+
5589
+ raise ArgumentError.new("dedicated_host_patch must be provided") if dedicated_host_patch.nil?
5590
+
5591
+ headers = {
5592
+ }
5593
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_dedicated_host")
5594
+ headers.merge!(sdk_headers)
5595
+
5596
+ params = {
5597
+ "version" => @version,
5598
+ "generation" => @generation
5599
+ }
5600
+
5601
+ data = dedicated_host_patch
5602
+ headers["Content-Type"] = "application/merge-patch+json"
5603
+
5604
+ method_url = "/dedicated_hosts/%s" % [ERB::Util.url_encode(id)]
5605
+
5606
+ response = request(
5607
+ method: "PATCH",
5608
+ url: method_url,
5609
+ headers: headers,
5610
+ params: params,
5611
+ data: data,
5612
+ accept_json: true
5613
+ )
5614
+ response
5615
+ end
5616
+ #########################
5617
+ # Volumes
5618
+ #########################
5619
+
5620
+ ##
5621
+ # @!method list_volume_profiles(start: nil, limit: nil)
5622
+ # List all volume profiles.
5623
+ # This request lists all volume profiles available in the region. A volume profile
5624
+ # specifies the performance characteristics and pricing model for a volume.
5625
+ # @param start [String] A server-supplied token determining what resource to start the page on.
5626
+ # @param limit [Fixnum] The number of resources to return on a page.
5627
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5628
+ def list_volume_profiles(start: nil, limit: nil)
5629
+ raise ArgumentError.new("version must be provided") if version.nil?
5630
+
5631
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5632
+
5633
+ headers = {
5634
+ }
5635
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_volume_profiles")
5636
+ headers.merge!(sdk_headers)
5637
+
5638
+ params = {
5639
+ "version" => @version,
5640
+ "generation" => @generation,
5641
+ "start" => start,
5642
+ "limit" => limit
5643
+ }
5644
+
5645
+ method_url = "/volume/profiles"
5646
+
5647
+ response = request(
5648
+ method: "GET",
5649
+ url: method_url,
5650
+ headers: headers,
5651
+ params: params,
5652
+ accept_json: true
5653
+ )
5654
+ response
5655
+ end
5656
+
5657
+ ##
5658
+ # @!method get_volume_profile(name:)
5659
+ # Retrieve a volume profile.
5660
+ # This request retrieves a single volume profile specified by the name in the URL.
5661
+ # @param name [String] The volume profile name.
5662
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5663
+ def get_volume_profile(name:)
5664
+ raise ArgumentError.new("version must be provided") if version.nil?
5665
+
5666
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5667
+
5668
+ raise ArgumentError.new("name must be provided") if name.nil?
5669
+
5670
+ headers = {
5671
+ }
5672
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_volume_profile")
5673
+ headers.merge!(sdk_headers)
5674
+
5675
+ params = {
5676
+ "version" => @version,
5677
+ "generation" => @generation
5678
+ }
5679
+
5680
+ method_url = "/volume/profiles/%s" % [ERB::Util.url_encode(name)]
5681
+
5682
+ response = request(
5683
+ method: "GET",
5684
+ url: method_url,
5685
+ headers: headers,
5686
+ params: params,
5687
+ accept_json: true
5688
+ )
5689
+ response
5690
+ end
5691
+
5692
+ ##
5693
+ # @!method list_volumes(start: nil, limit: nil, name: nil, zone_name: nil)
5694
+ # List all volumes.
5695
+ # This request lists all volumes in the region. Volumes are network-connected block
5696
+ # storage devices that may be attached to one or more instances in the same region.
5697
+ # @param start [String] A server-supplied token determining what resource to start the page on.
5698
+ # @param limit [Fixnum] The number of resources to return on a page.
5699
+ # @param name [String] Filters the collection to resources with the exact specified name.
5700
+ # @param zone_name [String] Filters the collection to resources in the zone with the exact specified name.
5701
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5702
+ def list_volumes(start: nil, limit: nil, name: nil, zone_name: nil)
5703
+ raise ArgumentError.new("version must be provided") if version.nil?
5704
+
5705
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5706
+
5707
+ headers = {
5708
+ }
5709
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_volumes")
5710
+ headers.merge!(sdk_headers)
5711
+
5712
+ params = {
5713
+ "version" => @version,
5714
+ "generation" => @generation,
5715
+ "start" => start,
5716
+ "limit" => limit,
5717
+ "name" => name,
5718
+ "zone.name" => zone_name
5719
+ }
5720
+
5721
+ method_url = "/volumes"
5722
+
5723
+ response = request(
5724
+ method: "GET",
5725
+ url: method_url,
5726
+ headers: headers,
5727
+ params: params,
5728
+ accept_json: true
5729
+ )
5730
+ response
5731
+ end
5732
+
5733
+ ##
5734
+ # @!method create_volume(volume_prototype:)
5735
+ # Create a volume.
5736
+ # This request creates a new volume from a volume prototype object. The prototype
5737
+ # object is structured in the same way as a retrieved volume, and contains the
5738
+ # information necessary to create the new volume.
5739
+ # @param volume_prototype [VolumePrototype] The volume prototype object.
5740
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5741
+ def create_volume(volume_prototype:)
5742
+ raise ArgumentError.new("version must be provided") if version.nil?
5743
+
5744
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5745
+
5746
+ raise ArgumentError.new("volume_prototype must be provided") if volume_prototype.nil?
5747
+
5748
+ headers = {
5749
+ }
5750
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_volume")
5751
+ headers.merge!(sdk_headers)
5752
+
5753
+ params = {
5754
+ "version" => @version,
5755
+ "generation" => @generation
5756
+ }
5757
+
5758
+ data = volume_prototype
5759
+ headers["Content-Type"] = "application/json"
5760
+
5761
+ method_url = "/volumes"
5762
+
5763
+ response = request(
5764
+ method: "POST",
5765
+ url: method_url,
5766
+ headers: headers,
5767
+ params: params,
5768
+ data: data,
5769
+ accept_json: true
5770
+ )
5771
+ response
5772
+ end
5773
+
5774
+ ##
5775
+ # @!method delete_volume(id:)
5776
+ # Delete a volume.
5777
+ # This request deletes a volume. This operation cannot be reversed. For this request
5778
+ # to succeed, the volume must not be attached to any instances.
5779
+ # @param id [String] The volume identifier.
5780
+ # @return [nil]
5781
+ def delete_volume(id:)
5782
+ raise ArgumentError.new("version must be provided") if version.nil?
5783
+
5784
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5785
+
5786
+ raise ArgumentError.new("id must be provided") if id.nil?
5787
+
5788
+ headers = {
5789
+ }
5790
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_volume")
5791
+ headers.merge!(sdk_headers)
5792
+
5793
+ params = {
5794
+ "version" => @version,
5795
+ "generation" => @generation
5796
+ }
5797
+
5798
+ method_url = "/volumes/%s" % [ERB::Util.url_encode(id)]
5799
+
5800
+ request(
5801
+ method: "DELETE",
5802
+ url: method_url,
5803
+ headers: headers,
5804
+ params: params,
5805
+ accept_json: false
5806
+ )
5807
+ nil
5808
+ end
5809
+
5810
+ ##
5811
+ # @!method get_volume(id:)
5812
+ # Retrieve a volume.
5813
+ # This request retrieves a single volume specified by the identifier in the URL.
5814
+ # @param id [String] The volume identifier.
5815
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5816
+ def get_volume(id:)
5817
+ raise ArgumentError.new("version must be provided") if version.nil?
5818
+
5819
+ raise ArgumentError.new("generation must be provided") if generation.nil?
5820
+
5821
+ raise ArgumentError.new("id must be provided") if id.nil?
5822
+
5823
+ headers = {
5824
+ }
5825
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_volume")
5826
+ headers.merge!(sdk_headers)
5827
+
5828
+ params = {
5829
+ "version" => @version,
5830
+ "generation" => @generation
5831
+ }
5832
+
5833
+ method_url = "/volumes/%s" % [ERB::Util.url_encode(id)]
5834
+
5835
+ response = request(
5836
+ method: "GET",
5837
+ url: method_url,
5838
+ headers: headers,
5839
+ params: params,
5840
+ accept_json: true
5841
+ )
5842
+ response
5843
+ end
5844
+
5845
+ ##
5846
+ # @!method update_volume(id:, volume_patch:)
5847
+ # Update a volume.
5848
+ # This request updates a volume with the information in a provided volume patch. The
5849
+ # volume patch object is structured in the same way as a retrieved volume and
5850
+ # contains only the information to be updated.
5851
+ # @param id [String] The volume identifier.
5852
+ # @param volume_patch [Hash] The volume patch.
5081
5853
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5082
- def list_volume_profiles(start: nil, limit: nil)
5854
+ def update_volume(id:, volume_patch:)
5083
5855
  raise ArgumentError.new("version must be provided") if version.nil?
5084
5856
 
5085
5857
  raise ArgumentError.new("generation must be provided") if generation.nil?
5086
5858
 
5859
+ raise ArgumentError.new("id must be provided") if id.nil?
5860
+
5861
+ raise ArgumentError.new("volume_patch must be provided") if volume_patch.nil?
5862
+
5087
5863
  headers = {
5088
5864
  }
5089
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_volume_profiles")
5865
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_volume")
5090
5866
  headers.merge!(sdk_headers)
5091
5867
 
5092
5868
  params = {
5093
5869
  "version" => @version,
5094
- "generation" => @generation,
5095
- "start" => start,
5096
- "limit" => limit
5870
+ "generation" => @generation
5097
5871
  }
5098
5872
 
5099
- method_url = "/volume/profiles"
5873
+ data = volume_patch
5874
+ headers["Content-Type"] = "application/merge-patch+json"
5875
+
5876
+ method_url = "/volumes/%s" % [ERB::Util.url_encode(id)]
5100
5877
 
5101
5878
  response = request(
5102
- method: "GET",
5879
+ method: "PATCH",
5103
5880
  url: method_url,
5104
5881
  headers: headers,
5105
5882
  params: params,
5883
+ data: data,
5106
5884
  accept_json: true
5107
5885
  )
5108
5886
  response
5109
5887
  end
5888
+ #########################
5889
+ # Snapshots
5890
+ #########################
5110
5891
 
5111
5892
  ##
5112
- # @!method get_volume_profile(name:)
5113
- # Retrieve specified volume profile.
5114
- # This request retrieves a single volume profile specified by the name in the URL.
5115
- # @param name [String] The volume profile name.
5116
- # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5117
- def get_volume_profile(name:)
5893
+ # @!method delete_snapshots(source_volume_id:)
5894
+ # Delete a filtered collection of snapshots.
5895
+ # This request deletes all snapshots created from a specific source volume.
5896
+ # @param source_volume_id [String] Filters the collection to resources with the source volume with the specified
5897
+ # identifier.
5898
+ # @return [nil]
5899
+ def delete_snapshots(source_volume_id:)
5118
5900
  raise ArgumentError.new("version must be provided") if version.nil?
5119
5901
 
5120
5902
  raise ArgumentError.new("generation must be provided") if generation.nil?
5121
5903
 
5122
- raise ArgumentError.new("name must be provided") if name.nil?
5904
+ raise ArgumentError.new("source_volume_id must be provided") if source_volume_id.nil?
5123
5905
 
5124
5906
  headers = {
5125
5907
  }
5126
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_volume_profile")
5908
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_snapshots")
5127
5909
  headers.merge!(sdk_headers)
5128
5910
 
5129
5911
  params = {
5130
5912
  "version" => @version,
5131
- "generation" => @generation
5913
+ "generation" => @generation,
5914
+ "source_volume.id" => source_volume_id
5132
5915
  }
5133
5916
 
5134
- method_url = "/volume/profiles/%s" % [ERB::Util.url_encode(name)]
5917
+ method_url = "/snapshots"
5135
5918
 
5136
- response = request(
5137
- method: "GET",
5919
+ request(
5920
+ method: "DELETE",
5138
5921
  url: method_url,
5139
5922
  headers: headers,
5140
5923
  params: params,
5141
- accept_json: true
5924
+ accept_json: false
5142
5925
  )
5143
- response
5926
+ nil
5144
5927
  end
5145
5928
 
5146
5929
  ##
5147
- # @!method list_volumes(start: nil, limit: nil, name: nil, zone_name: nil)
5148
- # List all volumes.
5149
- # This request lists all volumes in the region. Volumes are network-connected block
5150
- # storage devices that may be attached to one or more instances in the same region.
5930
+ # @!method list_snapshots(start: nil, limit: nil, resource_group_id: nil, name: nil, source_volume_id: nil, source_volume_crn: nil, source_image_id: nil, source_image_crn: nil, sort: nil)
5931
+ # List all snapshots.
5932
+ # This request lists all snapshots in the region. A snapshot preserves the data of a
5933
+ # volume at the time the snapshot is created.
5151
5934
  # @param start [String] A server-supplied token determining what resource to start the page on.
5152
5935
  # @param limit [Fixnum] The number of resources to return on a page.
5936
+ # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
5937
+ # in a comma-separated list of resource group identifiers.
5153
5938
  # @param name [String] Filters the collection to resources with the exact specified name.
5154
- # @param zone_name [String] Filters the collection to resources in the zone with the exact specified name.
5939
+ # @param source_volume_id [String] Filters the collection to resources with the source volume with the specified
5940
+ # identifier.
5941
+ # @param source_volume_crn [String] Filters the collection to resources with the source volume with the specified CRN.
5942
+ # @param source_image_id [String] Filters the collection to resources with the source image with the specified
5943
+ # identifier.
5944
+ #
5945
+ # This parameter also supports the values `null` and `not:null` which filter the
5946
+ # collection to resources which have no source image or any existent source image,
5947
+ # respectively.
5948
+ # @param source_image_crn [String] Filters the collection to resources with the source volume with the specified CRN.
5949
+ #
5950
+ # This parameter also supports the values `null` and `not:null` which filter the
5951
+ # collection to resources which have no source image or any existent source image,
5952
+ # respectively.
5953
+ # @param sort [String] Sorts the returned collection by the specified property name in ascending order. A
5954
+ # `-` may be prepended to the name to sort in descending order. For example, the
5955
+ # value `-created_at` sorts the collection by the `created_at` property in
5956
+ # descending order, and the value `name` sorts it by the `name` property in
5957
+ # ascending order.
5155
5958
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5156
- def list_volumes(start: nil, limit: nil, name: nil, zone_name: nil)
5959
+ def list_snapshots(start: nil, limit: nil, resource_group_id: nil, name: nil, source_volume_id: nil, source_volume_crn: nil, source_image_id: nil, source_image_crn: nil, sort: nil)
5157
5960
  raise ArgumentError.new("version must be provided") if version.nil?
5158
5961
 
5159
5962
  raise ArgumentError.new("generation must be provided") if generation.nil?
5160
5963
 
5161
5964
  headers = {
5162
5965
  }
5163
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_volumes")
5966
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_snapshots")
5164
5967
  headers.merge!(sdk_headers)
5165
5968
 
5166
5969
  params = {
@@ -5168,11 +5971,16 @@ module IbmVpc
5168
5971
  "generation" => @generation,
5169
5972
  "start" => start,
5170
5973
  "limit" => limit,
5974
+ "resource_group.id" => resource_group_id,
5171
5975
  "name" => name,
5172
- "zone.name" => zone_name
5976
+ "source_volume.id" => source_volume_id,
5977
+ "source_volume.crn" => source_volume_crn,
5978
+ "source_image.id" => source_image_id,
5979
+ "source_image.crn" => source_image_crn,
5980
+ "sort" => sort
5173
5981
  }
5174
5982
 
5175
- method_url = "/volumes"
5983
+ method_url = "/snapshots"
5176
5984
 
5177
5985
  response = request(
5178
5986
  method: "GET",
@@ -5185,23 +5993,27 @@ module IbmVpc
5185
5993
  end
5186
5994
 
5187
5995
  ##
5188
- # @!method create_volume(volume_prototype:)
5189
- # Create a volume.
5190
- # This request creates a new volume from a volume prototype object. The prototype
5191
- # object is structured in the same way as a retrieved volume, and contains the
5192
- # information necessary to create the new volume.
5193
- # @param volume_prototype [VolumePrototype] The volume prototype object.
5996
+ # @!method create_snapshot(source_volume:, name: nil, resource_group: nil)
5997
+ # Create a snapshot.
5998
+ # This request creates a new snapshot from a snapshot prototype object. The
5999
+ # prototype object is structured in the same way as a retrieved snapshot, and
6000
+ # contains the information necessary to provision the new snapshot.
6001
+ # @param source_volume [VolumeIdentity] The volume to snapshot.
6002
+ # @param name [String] The unique user-defined name for this snapshot. If unspecified, the name will be a
6003
+ # hyphenated list of randomly-selected words.
6004
+ # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
6005
+ # group](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used.
5194
6006
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5195
- def create_volume(volume_prototype:)
6007
+ def create_snapshot(source_volume:, name: nil, resource_group: nil)
5196
6008
  raise ArgumentError.new("version must be provided") if version.nil?
5197
6009
 
5198
6010
  raise ArgumentError.new("generation must be provided") if generation.nil?
5199
6011
 
5200
- raise ArgumentError.new("volume_prototype must be provided") if volume_prototype.nil?
6012
+ raise ArgumentError.new("source_volume must be provided") if source_volume.nil?
5201
6013
 
5202
6014
  headers = {
5203
6015
  }
5204
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_volume")
6016
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_snapshot")
5205
6017
  headers.merge!(sdk_headers)
5206
6018
 
5207
6019
  params = {
@@ -5209,30 +6021,32 @@ module IbmVpc
5209
6021
  "generation" => @generation
5210
6022
  }
5211
6023
 
5212
- data = volume_prototype
5213
- headers["Content-Type"] = "application/json"
6024
+ data = {
6025
+ "source_volume" => source_volume,
6026
+ "name" => name,
6027
+ "resource_group" => resource_group
6028
+ }
5214
6029
 
5215
- method_url = "/volumes"
6030
+ method_url = "/snapshots"
5216
6031
 
5217
6032
  response = request(
5218
6033
  method: "POST",
5219
6034
  url: method_url,
5220
6035
  headers: headers,
5221
6036
  params: params,
5222
- data: data,
6037
+ json: data,
5223
6038
  accept_json: true
5224
6039
  )
5225
6040
  response
5226
6041
  end
5227
6042
 
5228
6043
  ##
5229
- # @!method delete_volume(id:)
5230
- # Delete specified volume.
5231
- # This request deletes a volume. This operation cannot be reversed. For this request
5232
- # to succeed, the volume must not be attached to any instances.
5233
- # @param id [String] The volume identifier.
6044
+ # @!method delete_snapshot(id:)
6045
+ # Delete a snapshot.
6046
+ # This request deletes a snapshot. This operation cannot be reversed.
6047
+ # @param id [String] The snapshot identifier.
5234
6048
  # @return [nil]
5235
- def delete_volume(id:)
6049
+ def delete_snapshot(id:)
5236
6050
  raise ArgumentError.new("version must be provided") if version.nil?
5237
6051
 
5238
6052
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -5241,7 +6055,7 @@ module IbmVpc
5241
6055
 
5242
6056
  headers = {
5243
6057
  }
5244
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_volume")
6058
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_snapshot")
5245
6059
  headers.merge!(sdk_headers)
5246
6060
 
5247
6061
  params = {
@@ -5249,7 +6063,7 @@ module IbmVpc
5249
6063
  "generation" => @generation
5250
6064
  }
5251
6065
 
5252
- method_url = "/volumes/%s" % [ERB::Util.url_encode(id)]
6066
+ method_url = "/snapshots/%s" % [ERB::Util.url_encode(id)]
5253
6067
 
5254
6068
  request(
5255
6069
  method: "DELETE",
@@ -5262,12 +6076,12 @@ module IbmVpc
5262
6076
  end
5263
6077
 
5264
6078
  ##
5265
- # @!method get_volume(id:)
5266
- # Retrieve specified volume.
5267
- # This request retrieves a single volume specified by the identifier in the URL.
5268
- # @param id [String] The volume identifier.
6079
+ # @!method get_snapshot(id:)
6080
+ # Retrieve a snapshot.
6081
+ # This request retrieves a single snapshot specified by the identifier in the URL.
6082
+ # @param id [String] The snapshot identifier.
5269
6083
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5270
- def get_volume(id:)
6084
+ def get_snapshot(id:)
5271
6085
  raise ArgumentError.new("version must be provided") if version.nil?
5272
6086
 
5273
6087
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -5276,7 +6090,7 @@ module IbmVpc
5276
6090
 
5277
6091
  headers = {
5278
6092
  }
5279
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_volume")
6093
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_snapshot")
5280
6094
  headers.merge!(sdk_headers)
5281
6095
 
5282
6096
  params = {
@@ -5284,7 +6098,7 @@ module IbmVpc
5284
6098
  "generation" => @generation
5285
6099
  }
5286
6100
 
5287
- method_url = "/volumes/%s" % [ERB::Util.url_encode(id)]
6101
+ method_url = "/snapshots/%s" % [ERB::Util.url_encode(id)]
5288
6102
 
5289
6103
  response = request(
5290
6104
  method: "GET",
@@ -5297,26 +6111,24 @@ module IbmVpc
5297
6111
  end
5298
6112
 
5299
6113
  ##
5300
- # @!method update_volume(id:, volume_patch:)
5301
- # Update specified volume.
5302
- # This request updates a volume with the information in a provided volume patch. The
5303
- # volume patch object is structured in the same way as a retrieved volume and
5304
- # contains only the information to be updated.
5305
- # @param id [String] The volume identifier.
5306
- # @param volume_patch [Hash] The volume patch.
6114
+ # @!method update_snapshot(id:, snapshot_patch:)
6115
+ # Update a snapshot.
6116
+ # This request updates a snapshot's name.
6117
+ # @param id [String] The snapshot identifier.
6118
+ # @param snapshot_patch [Hash] The snapshot patch.
5307
6119
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
5308
- def update_volume(id:, volume_patch:)
6120
+ def update_snapshot(id:, snapshot_patch:)
5309
6121
  raise ArgumentError.new("version must be provided") if version.nil?
5310
6122
 
5311
6123
  raise ArgumentError.new("generation must be provided") if generation.nil?
5312
6124
 
5313
6125
  raise ArgumentError.new("id must be provided") if id.nil?
5314
6126
 
5315
- raise ArgumentError.new("volume_patch must be provided") if volume_patch.nil?
6127
+ raise ArgumentError.new("snapshot_patch must be provided") if snapshot_patch.nil?
5316
6128
 
5317
6129
  headers = {
5318
6130
  }
5319
- sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_volume")
6131
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_snapshot")
5320
6132
  headers.merge!(sdk_headers)
5321
6133
 
5322
6134
  params = {
@@ -5324,10 +6136,10 @@ module IbmVpc
5324
6136
  "generation" => @generation
5325
6137
  }
5326
6138
 
5327
- data = volume_patch
6139
+ data = snapshot_patch
5328
6140
  headers["Content-Type"] = "application/merge-patch+json"
5329
6141
 
5330
- method_url = "/volumes/%s" % [ERB::Util.url_encode(id)]
6142
+ method_url = "/snapshots/%s" % [ERB::Util.url_encode(id)]
5331
6143
 
5332
6144
  response = request(
5333
6145
  method: "PATCH",
@@ -5497,9 +6309,10 @@ module IbmVpc
5497
6309
  ##
5498
6310
  # @!method list_public_gateways(start: nil, limit: nil, resource_group_id: nil)
5499
6311
  # List all public gateways.
5500
- # This request lists all public gateways. A public gateway is a virtual network
5501
- # device associated with a VPC, which allows access to the Internet. A public
5502
- # gateway resides in a zone and can be connected to subnets in the same zone only.
6312
+ # This request lists all public gateways in the region. A public gateway is a
6313
+ # virtual network device associated with a VPC, which allows access to the Internet.
6314
+ # A public gateway resides in a zone and can be connected to subnets in the same
6315
+ # zone only.
5503
6316
  # @param start [String] A server-supplied token determining what resource to start the page on.
5504
6317
  # @param limit [Fixnum] The number of resources to return on a page.
5505
6318
  # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
@@ -5547,7 +6360,7 @@ module IbmVpc
5547
6360
  # gateway has been created, its floating IP cannot be unbound. A public gateway must
5548
6361
  # be explicitly attached to each subnet it will provide connectivity for.
5549
6362
  # @param vpc [VPCIdentity] The VPC this public gateway will serve.
5550
- # @param zone [ZoneIdentity] The zone where this public gateway will be created.
6363
+ # @param zone [ZoneIdentity] The zone this public gateway will reside in.
5551
6364
  # @param floating_ip [PublicGatewayFloatingIPPrototype]
5552
6365
  # @param name [String] The user-defined name for this public gateway. Names must be unique within the VPC
5553
6366
  # the public gateway resides in. If unspecified, the name will be a hyphenated list
@@ -5597,7 +6410,7 @@ module IbmVpc
5597
6410
 
5598
6411
  ##
5599
6412
  # @!method delete_public_gateway(id:)
5600
- # Delete specified public gateway.
6413
+ # Delete a public gateway.
5601
6414
  # This request deletes a public gateway. This operation cannot be reversed. For this
5602
6415
  # request to succeed, the public gateway must not be attached to any subnets. The
5603
6416
  # public gateway's floating IP will be automatically unbound. If the floating IP was
@@ -5635,7 +6448,7 @@ module IbmVpc
5635
6448
 
5636
6449
  ##
5637
6450
  # @!method get_public_gateway(id:)
5638
- # Retrieve specified public gateway.
6451
+ # Retrieve a public gateway.
5639
6452
  # This request retrieves a single public gateway specified by the identifier in the
5640
6453
  # URL.
5641
6454
  # @param id [String] The public gateway identifier.
@@ -5671,7 +6484,7 @@ module IbmVpc
5671
6484
 
5672
6485
  ##
5673
6486
  # @!method update_public_gateway(id:, public_gateway_patch:)
5674
- # Update a public gateway's name.
6487
+ # Update a public gateway.
5675
6488
  # This request updates a public gateway's name.
5676
6489
  # @param id [String] The public gateway identifier.
5677
6490
  # @param public_gateway_patch [Hash] The public gateway patch.
@@ -5717,8 +6530,8 @@ module IbmVpc
5717
6530
  ##
5718
6531
  # @!method list_floating_ips(start: nil, limit: nil, resource_group_id: nil)
5719
6532
  # List all floating IPs.
5720
- # This request retrieves all floating IPs in the region. Floating IPs allow inbound
5721
- # and outbound traffic from the Internet to an instance.
6533
+ # This request lists all floating IPs in the region. Floating IPs allow inbound and
6534
+ # outbound traffic from the Internet to an instance.
5722
6535
  # @param start [String] A server-supplied token determining what resource to start the page on.
5723
6536
  # @param limit [Fixnum] The number of resources to return on a page.
5724
6537
  # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
@@ -5795,7 +6608,7 @@ module IbmVpc
5795
6608
 
5796
6609
  ##
5797
6610
  # @!method delete_floating_ip(id:)
5798
- # Release the specified floating IP.
6611
+ # Release a floating IP.
5799
6612
  # This request disassociates (if associated) and releases a floating IP. This
5800
6613
  # operation cannot be reversed. For this request to succeed, the floating IP must
5801
6614
  # not be required by another resource, such as a public gateway.
@@ -5832,7 +6645,7 @@ module IbmVpc
5832
6645
 
5833
6646
  ##
5834
6647
  # @!method get_floating_ip(id:)
5835
- # Retrieve the specified floating IP.
6648
+ # Retrieve a floating IP.
5836
6649
  # This request retrieves a single floating IP specified by the identifier in the
5837
6650
  # URL.
5838
6651
  # @param id [String] The floating IP identifier.
@@ -5868,7 +6681,7 @@ module IbmVpc
5868
6681
 
5869
6682
  ##
5870
6683
  # @!method update_floating_ip(id:, floating_ip_patch:)
5871
- # Update the specified floating IP.
6684
+ # Update a floating IP.
5872
6685
  # This request updates a floating IP's name and/or target.
5873
6686
  # @param id [String] The floating IP identifier.
5874
6687
  # @param floating_ip_patch [Hash] The floating IP patch.
@@ -5994,7 +6807,7 @@ module IbmVpc
5994
6807
 
5995
6808
  ##
5996
6809
  # @!method delete_network_acl(id:)
5997
- # Delete specified network ACL.
6810
+ # Delete a network ACL.
5998
6811
  # This request deletes a network ACL. This operation cannot be reversed. For this
5999
6812
  # request to succeed, the network ACL must not be the default network ACL for any
6000
6813
  # VPCs, and the network ACL must not be attached to any subnets.
@@ -6031,7 +6844,7 @@ module IbmVpc
6031
6844
 
6032
6845
  ##
6033
6846
  # @!method get_network_acl(id:)
6034
- # Retrieve specified network ACL.
6847
+ # Retrieve a network ACL.
6035
6848
  # This request retrieves a single network ACL specified by the identifier in the
6036
6849
  # URL.
6037
6850
  # @param id [String] The network ACL identifier.
@@ -6152,7 +6965,7 @@ module IbmVpc
6152
6965
 
6153
6966
  ##
6154
6967
  # @!method create_network_acl_rule(network_acl_id:, network_acl_rule_prototype:)
6155
- # Create a rule.
6968
+ # Create a rule for a network ACL.
6156
6969
  # This request creates a new rule from a network ACL rule prototype object. The
6157
6970
  # prototype object is structured in the same way as a retrieved rule, and contains
6158
6971
  # the information necessary to create the new rule.
@@ -6196,7 +7009,7 @@ module IbmVpc
6196
7009
 
6197
7010
  ##
6198
7011
  # @!method delete_network_acl_rule(network_acl_id:, id:)
6199
- # Delete specified rule.
7012
+ # Delete a network ACL rule.
6200
7013
  # This request deletes a rule. This operation cannot be reversed.
6201
7014
  # @param network_acl_id [String] The network ACL identifier.
6202
7015
  # @param id [String] The rule identifier.
@@ -6234,7 +7047,7 @@ module IbmVpc
6234
7047
 
6235
7048
  ##
6236
7049
  # @!method get_network_acl_rule(network_acl_id:, id:)
6237
- # Retrieve specified rule.
7050
+ # Retrieve a network ACL rule.
6238
7051
  # This request retrieves a single rule specified by the identifier in the URL.
6239
7052
  # @param network_acl_id [String] The network ACL identifier.
6240
7053
  # @param id [String] The rule identifier.
@@ -6272,7 +7085,7 @@ module IbmVpc
6272
7085
 
6273
7086
  ##
6274
7087
  # @!method update_network_acl_rule(network_acl_id:, id:, network_acl_rule_patch:)
6275
- # Update a rule.
7088
+ # Update a network ACL rule.
6276
7089
  # This request updates a rule with the information in a provided rule patch. The
6277
7090
  # rule patch object contains only the information to be updated. The request will
6278
7091
  # fail if the information is not applicable to the rule's protocol.
@@ -6323,12 +7136,12 @@ module IbmVpc
6323
7136
  ##
6324
7137
  # @!method list_security_groups(start: nil, limit: nil, resource_group_id: nil, vpc_id: nil, vpc_crn: nil, vpc_name: nil)
6325
7138
  # List all security groups.
6326
- # This request lists all existing security groups. Security groups provide a
6327
- # convenient way to apply IP filtering rules to instances in the associated VPC.
6328
- # With security groups, all traffic is denied by default, and rules added to
6329
- # security groups define which traffic the security group permits. Security group
6330
- # rules are stateful such that reverse traffic in response to allowed traffic is
6331
- # automatically permitted.
7139
+ # This request lists all security groups in the region. Security groups provide a
7140
+ # way to apply IP filtering rules to instances in the associated VPC. With security
7141
+ # groups, all traffic is denied by default, and rules added to security groups
7142
+ # define which traffic the security group permits. Security group rules are stateful
7143
+ # such that reverse traffic in response to allowed traffic is automatically
7144
+ # permitted.
6332
7145
  # @param start [String] A server-supplied token determining what resource to start the page on.
6333
7146
  # @param limit [Fixnum] The number of resources to return on a page.
6334
7147
  # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
@@ -6385,8 +7198,8 @@ module IbmVpc
6385
7198
  # the security group resides in.
6386
7199
  # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
6387
7200
  # group](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used.
6388
- # @param rules [Array[SecurityGroupRulePrototype]] Array of rule prototype objects for rules to be created for this security group.
6389
- # If unspecified, no rules will be created, resulting in all traffic being denied.
7201
+ # @param rules [Array[SecurityGroupRulePrototype]] The prototype objects for rules to be created for this security group. If
7202
+ # unspecified, no rules will be created, resulting in all traffic being denied.
6390
7203
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
6391
7204
  def create_security_group(vpc:, name: nil, resource_group: nil, rules: nil)
6392
7205
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -6545,8 +7358,8 @@ module IbmVpc
6545
7358
 
6546
7359
  ##
6547
7360
  # @!method list_security_group_network_interfaces(security_group_id:, start: nil, limit: nil)
6548
- # List a security group's network interfaces.
6549
- # This request lists all network interfaces associated with the security group, to
7361
+ # List all network interfaces associated with a security group.
7362
+ # This request lists all network interfaces associated with a security group, to
6550
7363
  # which the rules in the security group are applied.
6551
7364
  # @param security_group_id [String] The security group identifier.
6552
7365
  # @param start [String] A server-supplied token determining what resource to start the page on.
@@ -6708,11 +7521,10 @@ module IbmVpc
6708
7521
 
6709
7522
  ##
6710
7523
  # @!method list_security_group_rules(security_group_id:)
6711
- # List all the rules of a security group.
6712
- # This request lists all the security group rules for a particular security group.
6713
- # These rules define what traffic the security group permits. Security group rules
6714
- # are stateful, such that reverse traffic in response to allowed traffic is
6715
- # automatically permitted.
7524
+ # List all rules in a security group.
7525
+ # This request lists all rules in a security group. These rules define what traffic
7526
+ # the security group permits. Security group rules are stateful, such that reverse
7527
+ # traffic in response to allowed traffic is automatically permitted.
6716
7528
  # @param security_group_id [String] The security group identifier.
6717
7529
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
6718
7530
  def list_security_group_rules(security_group_id:)
@@ -6746,7 +7558,7 @@ module IbmVpc
6746
7558
 
6747
7559
  ##
6748
7560
  # @!method create_security_group_rule(security_group_id:, security_group_rule_prototype:)
6749
- # Create a security group rule.
7561
+ # Create a rule for a security group.
6750
7562
  # This request creates a new security group rule from a security group rule
6751
7563
  # prototype object. The prototype object is structured in the same way as a
6752
7564
  # retrieved security group rule and contains the information necessary to create the
@@ -6919,6 +7731,176 @@ module IbmVpc
6919
7731
  )
6920
7732
  response
6921
7733
  end
7734
+
7735
+ ##
7736
+ # @!method list_security_group_targets(security_group_id:, start: nil, limit: nil)
7737
+ # List all targets associated with a security group.
7738
+ # This request lists all targets associated with a security group, to which the
7739
+ # rules in the security group are applied.
7740
+ # @param security_group_id [String] The security group identifier.
7741
+ # @param start [String] A server-supplied token determining what resource to start the page on.
7742
+ # @param limit [Fixnum] The number of resources to return on a page.
7743
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
7744
+ def list_security_group_targets(security_group_id:, start: nil, limit: nil)
7745
+ raise ArgumentError.new("version must be provided") if version.nil?
7746
+
7747
+ raise ArgumentError.new("generation must be provided") if generation.nil?
7748
+
7749
+ raise ArgumentError.new("security_group_id must be provided") if security_group_id.nil?
7750
+
7751
+ headers = {
7752
+ }
7753
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_security_group_targets")
7754
+ headers.merge!(sdk_headers)
7755
+
7756
+ params = {
7757
+ "version" => @version,
7758
+ "generation" => @generation,
7759
+ "start" => start,
7760
+ "limit" => limit
7761
+ }
7762
+
7763
+ method_url = "/security_groups/%s/targets" % [ERB::Util.url_encode(security_group_id)]
7764
+
7765
+ response = request(
7766
+ method: "GET",
7767
+ url: method_url,
7768
+ headers: headers,
7769
+ params: params,
7770
+ accept_json: true
7771
+ )
7772
+ response
7773
+ end
7774
+
7775
+ ##
7776
+ # @!method delete_security_group_target_binding(security_group_id:, id:)
7777
+ # Remove a target from a security group.
7778
+ # This request removes a target from a security group. For this request to succeed,
7779
+ # the target must be attached to at least one other security group. The supplied
7780
+ # target identifier can be:
7781
+ #
7782
+ # - A network interface identifier
7783
+ # - An application load balancer identifier
7784
+ #
7785
+ # Security groups are stateful, so any changes to a target's security groups are
7786
+ # applied to new connections. Existing connections are not affected.
7787
+ # @param security_group_id [String] The security group identifier.
7788
+ # @param id [String] The security group target identifier.
7789
+ # @return [nil]
7790
+ def delete_security_group_target_binding(security_group_id:, id:)
7791
+ raise ArgumentError.new("version must be provided") if version.nil?
7792
+
7793
+ raise ArgumentError.new("generation must be provided") if generation.nil?
7794
+
7795
+ raise ArgumentError.new("security_group_id must be provided") if security_group_id.nil?
7796
+
7797
+ raise ArgumentError.new("id must be provided") if id.nil?
7798
+
7799
+ headers = {
7800
+ }
7801
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_security_group_target_binding")
7802
+ headers.merge!(sdk_headers)
7803
+
7804
+ params = {
7805
+ "version" => @version,
7806
+ "generation" => @generation
7807
+ }
7808
+
7809
+ method_url = "/security_groups/%s/targets/%s" % [ERB::Util.url_encode(security_group_id), ERB::Util.url_encode(id)]
7810
+
7811
+ request(
7812
+ method: "DELETE",
7813
+ url: method_url,
7814
+ headers: headers,
7815
+ params: params,
7816
+ accept_json: false
7817
+ )
7818
+ nil
7819
+ end
7820
+
7821
+ ##
7822
+ # @!method get_security_group_target(security_group_id:, id:)
7823
+ # Retrieve a security group target.
7824
+ # This request retrieves a single target specified by the identifier in the URL
7825
+ # path. The target must be an existing target of the security group.
7826
+ # @param security_group_id [String] The security group identifier.
7827
+ # @param id [String] The security group target identifier.
7828
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
7829
+ def get_security_group_target(security_group_id:, id:)
7830
+ raise ArgumentError.new("version must be provided") if version.nil?
7831
+
7832
+ raise ArgumentError.new("generation must be provided") if generation.nil?
7833
+
7834
+ raise ArgumentError.new("security_group_id must be provided") if security_group_id.nil?
7835
+
7836
+ raise ArgumentError.new("id must be provided") if id.nil?
7837
+
7838
+ headers = {
7839
+ }
7840
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_security_group_target")
7841
+ headers.merge!(sdk_headers)
7842
+
7843
+ params = {
7844
+ "version" => @version,
7845
+ "generation" => @generation
7846
+ }
7847
+
7848
+ method_url = "/security_groups/%s/targets/%s" % [ERB::Util.url_encode(security_group_id), ERB::Util.url_encode(id)]
7849
+
7850
+ response = request(
7851
+ method: "GET",
7852
+ url: method_url,
7853
+ headers: headers,
7854
+ params: params,
7855
+ accept_json: true
7856
+ )
7857
+ response
7858
+ end
7859
+
7860
+ ##
7861
+ # @!method create_security_group_target_binding(security_group_id:, id:)
7862
+ # Add a target to a security group.
7863
+ # This request adds a resource to an existing security group. The supplied target
7864
+ # identifier can be:
7865
+ #
7866
+ # - A network interface identifier
7867
+ # - An application load balancer identifier
7868
+ #
7869
+ # When a target is added to a security group, the security group rules are applied
7870
+ # to the target. A request body is not required, and if supplied, is ignored.
7871
+ # @param security_group_id [String] The security group identifier.
7872
+ # @param id [String] The security group target identifier.
7873
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
7874
+ def create_security_group_target_binding(security_group_id:, id:)
7875
+ raise ArgumentError.new("version must be provided") if version.nil?
7876
+
7877
+ raise ArgumentError.new("generation must be provided") if generation.nil?
7878
+
7879
+ raise ArgumentError.new("security_group_id must be provided") if security_group_id.nil?
7880
+
7881
+ raise ArgumentError.new("id must be provided") if id.nil?
7882
+
7883
+ headers = {
7884
+ }
7885
+ sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_security_group_target_binding")
7886
+ headers.merge!(sdk_headers)
7887
+
7888
+ params = {
7889
+ "version" => @version,
7890
+ "generation" => @generation
7891
+ }
7892
+
7893
+ method_url = "/security_groups/%s/targets/%s" % [ERB::Util.url_encode(security_group_id), ERB::Util.url_encode(id)]
7894
+
7895
+ response = request(
7896
+ method: "PUT",
7897
+ url: method_url,
7898
+ headers: headers,
7899
+ params: params,
7900
+ accept_json: true
7901
+ )
7902
+ response
7903
+ end
6922
7904
  #########################
6923
7905
  # VPN gateways
6924
7906
  #########################
@@ -6926,8 +7908,7 @@ module IbmVpc
6926
7908
  ##
6927
7909
  # @!method list_ike_policies(start: nil, limit: nil)
6928
7910
  # List all IKE policies.
6929
- # This request retrieves a paginated list of all IKE policies that belong to this
6930
- # account.
7911
+ # This request lists all IKE policies in the region.
6931
7912
  # @param start [String] A server-supplied token determining what resource to start the page on.
6932
7913
  # @param limit [Fixnum] The number of resources to return on a page.
6933
7914
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -7056,7 +8037,7 @@ module IbmVpc
7056
8037
 
7057
8038
  ##
7058
8039
  # @!method get_ike_policy(id:)
7059
- # Retrieve the specified IKE policy.
8040
+ # Retrieve an IKE policy.
7060
8041
  # This request retrieves a single IKE policy specified by the identifier in the URL.
7061
8042
  # @param id [String] The IKE policy identifier.
7062
8043
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -7133,8 +8114,8 @@ module IbmVpc
7133
8114
 
7134
8115
  ##
7135
8116
  # @!method list_ike_policy_connections(id:)
7136
- # List all connections that use the specified IKE policy.
7137
- # This request lists all the connections that use the specified policy.
8117
+ # List all VPN gateway connections that use a specified IKE policy.
8118
+ # This request lists all VPN gateway connections that use a policy.
7138
8119
  # @param id [String] The IKE policy identifier.
7139
8120
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
7140
8121
  def list_ike_policy_connections(id:)
@@ -7169,8 +8150,7 @@ module IbmVpc
7169
8150
  ##
7170
8151
  # @!method list_ipsec_policies(start: nil, limit: nil)
7171
8152
  # List all IPsec policies.
7172
- # This request retrieves a paginated list of all IPsec policies that belong to this
7173
- # account.
8153
+ # This request lists all IPsec policies in the region.
7174
8154
  # @param start [String] A server-supplied token determining what resource to start the page on.
7175
8155
  # @param limit [Fixnum] The number of resources to return on a page.
7176
8156
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -7295,7 +8275,7 @@ module IbmVpc
7295
8275
 
7296
8276
  ##
7297
8277
  # @!method get_ipsec_policy(id:)
7298
- # Retrieve the specified IPsec policy.
8278
+ # Retrieve an IPsec policy.
7299
8279
  # This request retrieves a single IPsec policy specified by the identifier in the
7300
8280
  # URL.
7301
8281
  # @param id [String] The IPsec policy identifier.
@@ -7373,8 +8353,8 @@ module IbmVpc
7373
8353
 
7374
8354
  ##
7375
8355
  # @!method list_ipsec_policy_connections(id:)
7376
- # List all connections that use the specified IPsec policy.
7377
- # This request lists all the connections that use the specified policy.
8356
+ # List all VPN gateway connections that use a specified IPsec policy.
8357
+ # This request lists all VPN gateway connections that use a policy.
7378
8358
  # @param id [String] The IPsec policy identifier.
7379
8359
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
7380
8360
  def list_ipsec_policy_connections(id:)
@@ -7409,8 +8389,7 @@ module IbmVpc
7409
8389
  ##
7410
8390
  # @!method list_vpn_gateways(start: nil, limit: nil, resource_group_id: nil, mode: nil)
7411
8391
  # List all VPN gateways.
7412
- # This request retrieves a paginated list of all VPN gateways that belong to this
7413
- # account.
8392
+ # This request lists all VPN gateways in the region.
7414
8393
  # @param start [String] A server-supplied token determining what resource to start the page on.
7415
8394
  # @param limit [Fixnum] The number of resources to return on a page.
7416
8395
  # @param resource_group_id [String] Filters the collection to resources within one of the resource groups identified
@@ -7526,7 +8505,7 @@ module IbmVpc
7526
8505
 
7527
8506
  ##
7528
8507
  # @!method get_vpn_gateway(id:)
7529
- # Retrieve the specified VPN gateway.
8508
+ # Retrieve a VPN gateway.
7530
8509
  # This request retrieves a single VPN gateway specified by the identifier in the
7531
8510
  # URL.
7532
8511
  # @param id [String] The VPN gateway identifier.
@@ -7605,7 +8584,7 @@ module IbmVpc
7605
8584
  ##
7606
8585
  # @!method list_vpn_gateway_connections(vpn_gateway_id:, status: nil)
7607
8586
  # List all connections of a VPN gateway.
7608
- # This request lists all the connections of a particular VPN gateway.
8587
+ # This request lists all connections of a VPN gateway.
7609
8588
  # @param vpn_gateway_id [String] The VPN gateway identifier.
7610
8589
  # @param status [String] Filters the collection to VPN gateway connections with the specified status.
7611
8590
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -7641,7 +8620,7 @@ module IbmVpc
7641
8620
 
7642
8621
  ##
7643
8622
  # @!method create_vpn_gateway_connection(vpn_gateway_id:, vpn_gateway_connection_prototype:)
7644
- # Create a VPN gateway connection.
8623
+ # Create a connection for a VPN gateway.
7645
8624
  # This request creates a new VPN gateway connection.
7646
8625
  # @param vpn_gateway_id [String] The VPN gateway identifier.
7647
8626
  # @param vpn_gateway_connection_prototype [VPNGatewayConnectionPrototype] The VPN gateway connection prototype object.
@@ -7721,7 +8700,7 @@ module IbmVpc
7721
8700
 
7722
8701
  ##
7723
8702
  # @!method get_vpn_gateway_connection(vpn_gateway_id:, id:)
7724
- # Retrieve the specified VPN gateway connection.
8703
+ # Retrieve a VPN gateway connection.
7725
8704
  # This request retrieves a single VPN gateway connection specified by the identifier
7726
8705
  # in the URL.
7727
8706
  # @param vpn_gateway_id [String] The VPN gateway identifier.
@@ -7806,8 +8785,7 @@ module IbmVpc
7806
8785
  ##
7807
8786
  # @!method list_vpn_gateway_connection_local_cidrs(vpn_gateway_id:, id:)
7808
8787
  # List all local CIDRs for a VPN gateway connection.
7809
- # This request lists all local CIDRs for a VPN gateway connection specified by the
7810
- # identifier in the URL.
8788
+ # This request lists all local CIDRs for a VPN gateway connection.
7811
8789
  # @param vpn_gateway_id [String] The VPN gateway identifier.
7812
8790
  # @param id [String] The VPN gateway connection identifier.
7813
8791
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -7980,8 +8958,7 @@ module IbmVpc
7980
8958
  ##
7981
8959
  # @!method list_vpn_gateway_connection_peer_cidrs(vpn_gateway_id:, id:)
7982
8960
  # List all peer CIDRs for a VPN gateway connection.
7983
- # This request lists all peer CIDRs for a VPN gateway connection specified by the
7984
- # identifier in the URL.
8961
+ # This request lists all peer CIDRs for a VPN gateway connection.
7985
8962
  # @param vpn_gateway_id [String] The VPN gateway identifier.
7986
8963
  # @param id [String] The VPN gateway connection identifier.
7987
8964
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -8194,7 +9171,7 @@ module IbmVpc
8194
9171
 
8195
9172
  ##
8196
9173
  # @!method get_load_balancer_profile(name:)
8197
- # Retrieve specified load balancer profile.
9174
+ # Retrieve a load balancer profile.
8198
9175
  # This request retrieves a load balancer profile specified by the name in the URL.
8199
9176
  # @param name [String] The load balancer profile name.
8200
9177
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -8228,12 +9205,13 @@ module IbmVpc
8228
9205
  end
8229
9206
 
8230
9207
  ##
8231
- # @!method list_load_balancers
9208
+ # @!method list_load_balancers(start: nil, limit: nil)
8232
9209
  # List all load balancers.
8233
- # This request retrieves a paginated list of all load balancers that belong to this
8234
- # account.
9210
+ # This request lists all load balancers in the region.
9211
+ # @param start [String] A server-supplied token determining what resource to start the page on.
9212
+ # @param limit [Fixnum] The number of resources to return on a page.
8235
9213
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8236
- def list_load_balancers
9214
+ def list_load_balancers(start: nil, limit: nil)
8237
9215
  raise ArgumentError.new("version must be provided") if version.nil?
8238
9216
 
8239
9217
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -8245,7 +9223,9 @@ module IbmVpc
8245
9223
 
8246
9224
  params = {
8247
9225
  "version" => @version,
8248
- "generation" => @generation
9226
+ "generation" => @generation,
9227
+ "start" => start,
9228
+ "limit" => limit
8249
9229
  }
8250
9230
 
8251
9231
  method_url = "/load_balancers"
@@ -8261,8 +9241,8 @@ module IbmVpc
8261
9241
  end
8262
9242
 
8263
9243
  ##
8264
- # @!method create_load_balancer(is_public:, subnets:, listeners: nil, logging: nil, name: nil, pools: nil, profile: nil, resource_group: nil)
8265
- # Create and provision a load balancer.
9244
+ # @!method create_load_balancer(is_public:, subnets:, listeners: nil, logging: nil, name: nil, pools: nil, profile: nil, resource_group: nil, security_groups: nil)
9245
+ # Create a load balancer.
8266
9246
  # This request creates and provisions a new load balancer.
8267
9247
  # @param is_public [Boolean] Indicates whether this load balancer is public or private.
8268
9248
  # @param subnets [Array[SubnetIdentity]] The subnets to provision this load balancer.
@@ -8279,8 +9259,11 @@ module IbmVpc
8279
9259
  # @param profile [LoadBalancerProfileIdentity] The profile to use for this load balancer.
8280
9260
  # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
8281
9261
  # group](https://cloud.ibm.com/apidocs/resource-manager#introduction) is used.
9262
+ # @param security_groups [Array[SecurityGroupIdentity]] The security groups to use for this load balancer.
9263
+ #
9264
+ # The load balancer profile must support security groups.
8282
9265
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8283
- def create_load_balancer(is_public:, subnets:, listeners: nil, logging: nil, name: nil, pools: nil, profile: nil, resource_group: nil)
9266
+ def create_load_balancer(is_public:, subnets:, listeners: nil, logging: nil, name: nil, pools: nil, profile: nil, resource_group: nil, security_groups: nil)
8284
9267
  raise ArgumentError.new("version must be provided") if version.nil?
8285
9268
 
8286
9269
  raise ArgumentError.new("generation must be provided") if generation.nil?
@@ -8307,7 +9290,8 @@ module IbmVpc
8307
9290
  "name" => name,
8308
9291
  "pools" => pools,
8309
9292
  "profile" => profile,
8310
- "resource_group" => resource_group
9293
+ "resource_group" => resource_group,
9294
+ "security_groups" => security_groups
8311
9295
  }
8312
9296
 
8313
9297
  method_url = "/load_balancers"
@@ -8438,9 +9422,8 @@ module IbmVpc
8438
9422
 
8439
9423
  ##
8440
9424
  # @!method get_load_balancer_statistics(id:)
8441
- # List statistics of a load balancer.
8442
- # This request lists statistics of a load balancer specified by the identifier in
8443
- # the URL path.
9425
+ # List all statistics of a load balancer.
9426
+ # This request lists statistics of a load balancer.
8444
9427
  # @param id [String] The load balancer identifier.
8445
9428
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8446
9429
  def get_load_balancer_statistics(id:)
@@ -8474,8 +9457,8 @@ module IbmVpc
8474
9457
 
8475
9458
  ##
8476
9459
  # @!method list_load_balancer_listeners(load_balancer_id:)
8477
- # List all listeners of the load balancer.
8478
- # This request retrieves a list of all listeners that belong to the load balancer.
9460
+ # List all listeners for a load balancer.
9461
+ # This request lists all listeners for a load balancer.
8479
9462
  # @param load_balancer_id [String] The load balancer identifier.
8480
9463
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8481
9464
  def list_load_balancer_listeners(load_balancer_id:)
@@ -8509,8 +9492,8 @@ module IbmVpc
8509
9492
 
8510
9493
  ##
8511
9494
  # @!method create_load_balancer_listener(load_balancer_id:, port:, protocol:, accept_proxy_protocol: nil, certificate_instance: nil, connection_limit: nil, default_pool: nil, policies: nil)
8512
- # Create a listener.
8513
- # This request creates a new listener to the load balancer.
9495
+ # Create a listener for a load balancer.
9496
+ # This request creates a new listener for a load balancer.
8514
9497
  # @param load_balancer_id [String] The load balancer identifier.
8515
9498
  # @param port [Fixnum] The listener port number. Each listener in the load balancer must have a unique
8516
9499
  # `port` and `protocol` combination.
@@ -8530,7 +9513,7 @@ module IbmVpc
8530
9513
  # - Belong to this load balancer
8531
9514
  # - Have the same `protocol` as this listener
8532
9515
  # - Not already be the default pool for another listener.
8533
- # @param policies [Array[LoadBalancerListenerPolicyPrototype]] The list of policies of this listener.
9516
+ # @param policies [Array[LoadBalancerListenerPolicyPrototype]] The policy prototype objects for this listener.
8534
9517
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8535
9518
  def create_load_balancer_listener(load_balancer_id:, port:, protocol:, accept_proxy_protocol: nil, certificate_instance: nil, connection_limit: nil, default_pool: nil, policies: nil)
8536
9519
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -8578,7 +9561,7 @@ module IbmVpc
8578
9561
 
8579
9562
  ##
8580
9563
  # @!method delete_load_balancer_listener(load_balancer_id:, id:)
8581
- # Delete a listener.
9564
+ # Delete a load balancer listener.
8582
9565
  # This request deletes a load balancer listener. This operation cannot be reversed.
8583
9566
  # @param load_balancer_id [String] The load balancer identifier.
8584
9567
  # @param id [String] The listener identifier.
@@ -8616,7 +9599,7 @@ module IbmVpc
8616
9599
 
8617
9600
  ##
8618
9601
  # @!method get_load_balancer_listener(load_balancer_id:, id:)
8619
- # Retrieve a listener.
9602
+ # Retrieve a load balancer listener.
8620
9603
  # This request retrieves a single listener specified by the identifier in the URL
8621
9604
  # path.
8622
9605
  # @param load_balancer_id [String] The load balancer identifier.
@@ -8655,7 +9638,7 @@ module IbmVpc
8655
9638
 
8656
9639
  ##
8657
9640
  # @!method update_load_balancer_listener(load_balancer_id:, id:, load_balancer_listener_patch:)
8658
- # Update a listener.
9641
+ # Update a load balancer listener.
8659
9642
  # This request updates a load balancer listener from a listener patch.
8660
9643
  # @param load_balancer_id [String] The load balancer identifier.
8661
9644
  # @param id [String] The listener identifier.
@@ -8700,8 +9683,8 @@ module IbmVpc
8700
9683
 
8701
9684
  ##
8702
9685
  # @!method list_load_balancer_listener_policies(load_balancer_id:, listener_id:)
8703
- # List all policies of the load balancer listener.
8704
- # Retrieves a list of all policies belonging to the load balancer listener.
9686
+ # List all policies for a load balancer listener.
9687
+ # This request lists all policies for a load balancer listener.
8705
9688
  # @param load_balancer_id [String] The load balancer identifier.
8706
9689
  # @param listener_id [String] The listener identifier.
8707
9690
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -8738,21 +9721,23 @@ module IbmVpc
8738
9721
 
8739
9722
  ##
8740
9723
  # @!method create_load_balancer_listener_policy(load_balancer_id:, listener_id:, action:, priority:, name: nil, rules: nil, target: nil)
8741
- # Create a policy for the load balancer listener.
8742
- # Creates a new policy to the load balancer listener.
9724
+ # Create a policy for a load balancer listener.
9725
+ # Creates a new policy for a load balancer listener.
8743
9726
  # @param load_balancer_id [String] The load balancer identifier.
8744
9727
  # @param listener_id [String] The listener identifier.
8745
9728
  # @param action [String] The policy action.
9729
+ #
9730
+ # The enumerated values for this property are expected to expand in the future. When
9731
+ # processing this property, check for and log unknown values. Optionally halt
9732
+ # processing and surface the error, or bypass the policy on which the unexpected
9733
+ # property value was encountered.
8746
9734
  # @param priority [Fixnum] Priority of the policy. Lower value indicates higher priority.
8747
9735
  # @param name [String] The user-defined name for this policy. Names must be unique within the load
8748
9736
  # balancer listener the policy resides in.
8749
- # @param rules [Array[LoadBalancerListenerPolicyRulePrototype]] The list of rules of this policy.
8750
- # @param target [LoadBalancerListenerPolicyTargetPrototype] When `action` is `forward`, `LoadBalancerPoolIdentity` is required to specify
8751
- # which
8752
- # pool the load balancer forwards the traffic to. When `action` is `redirect`,
8753
- # `LoadBalancerListenerPolicyRedirectURLPrototype` is required to specify the url
8754
- # and
8755
- # http status code used in the redirect response.
9737
+ # @param rules [Array[LoadBalancerListenerPolicyRulePrototype]] The rule prototype objects for this policy.
9738
+ # @param target [LoadBalancerListenerPolicyTargetPrototype] - If `action` is `forward`, specify a `LoadBalancerPoolIdentity`.
9739
+ # - If `action` is `redirect`, specify a
9740
+ # `LoadBalancerListenerPolicyRedirectURLPrototype`.
8756
9741
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8757
9742
  def create_load_balancer_listener_policy(load_balancer_id:, listener_id:, action:, priority:, name: nil, rules: nil, target: nil)
8758
9743
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -8800,7 +9785,7 @@ module IbmVpc
8800
9785
 
8801
9786
  ##
8802
9787
  # @!method delete_load_balancer_listener_policy(load_balancer_id:, listener_id:, id:)
8803
- # Delete a policy of the load balancer listener.
9788
+ # Delete a load balancer listener policy.
8804
9789
  # Deletes a policy of the load balancer listener. This operation cannot be reversed.
8805
9790
  # @param load_balancer_id [String] The load balancer identifier.
8806
9791
  # @param listener_id [String] The listener identifier.
@@ -8841,7 +9826,7 @@ module IbmVpc
8841
9826
 
8842
9827
  ##
8843
9828
  # @!method get_load_balancer_listener_policy(load_balancer_id:, listener_id:, id:)
8844
- # Retrieve a policy of the load balancer listener.
9829
+ # Retrieve a load balancer listener policy.
8845
9830
  # Retrieve a single policy specified by the identifier in the URL path.
8846
9831
  # @param load_balancer_id [String] The load balancer identifier.
8847
9832
  # @param listener_id [String] The listener identifier.
@@ -8882,7 +9867,7 @@ module IbmVpc
8882
9867
 
8883
9868
  ##
8884
9869
  # @!method update_load_balancer_listener_policy(load_balancer_id:, listener_id:, id:, load_balancer_listener_policy_patch:)
8885
- # Update a policy of the load balancer listener.
9870
+ # Update a load balancer listener policy.
8886
9871
  # Updates a policy from a policy patch.
8887
9872
  # @param load_balancer_id [String] The load balancer identifier.
8888
9873
  # @param listener_id [String] The listener identifier.
@@ -8930,8 +9915,8 @@ module IbmVpc
8930
9915
 
8931
9916
  ##
8932
9917
  # @!method list_load_balancer_listener_policy_rules(load_balancer_id:, listener_id:, policy_id:)
8933
- # List all rules of the load balancer listener policy.
8934
- # Retrieves a list of all rules belonging to the load balancer listener policy.
9918
+ # List all rules of a load balancer listener policy.
9919
+ # This request lists all rules of a load balancer listener policy.
8935
9920
  # @param load_balancer_id [String] The load balancer identifier.
8936
9921
  # @param listener_id [String] The listener identifier.
8937
9922
  # @param policy_id [String] The policy identifier.
@@ -8971,15 +9956,29 @@ module IbmVpc
8971
9956
 
8972
9957
  ##
8973
9958
  # @!method create_load_balancer_listener_policy_rule(load_balancer_id:, listener_id:, policy_id:, condition:, type:, value:, field: nil)
8974
- # Create a rule for the load balancer listener policy.
9959
+ # Create a rule for a load balancer listener policy.
8975
9960
  # Creates a new rule for the load balancer listener policy.
8976
9961
  # @param load_balancer_id [String] The load balancer identifier.
8977
9962
  # @param listener_id [String] The listener identifier.
8978
9963
  # @param policy_id [String] The policy identifier.
8979
9964
  # @param condition [String] The condition of the rule.
8980
9965
  # @param type [String] The type of the rule.
9966
+ #
9967
+ # Body rules are applied to form-encoded request bodies using the `UTF-8` character
9968
+ # set.
8981
9969
  # @param value [String] Value to be matched for rule condition.
8982
- # @param field [String] HTTP header field. This is only applicable to "header" rule type.
9970
+ #
9971
+ # If the rule type is `query` and the rule condition is not `matches_regex`, the
9972
+ # value must be percent-encoded.
9973
+ # @param field [String] The field. This is applicable to `header`, `query`, and `body` rule types.
9974
+ #
9975
+ # If the rule type is `header`, this property is required.
9976
+ #
9977
+ # If the rule type is `query`, this is optional. If specified and the rule condition
9978
+ # is not
9979
+ # `matches_regex`, the value must be percent-encoded.
9980
+ #
9981
+ # If the rule type is `body`, this is optional.
8983
9982
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
8984
9983
  def create_load_balancer_listener_policy_rule(load_balancer_id:, listener_id:, policy_id:, condition:, type:, value:, field: nil)
8985
9984
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -9030,7 +10029,7 @@ module IbmVpc
9030
10029
 
9031
10030
  ##
9032
10031
  # @!method delete_load_balancer_listener_policy_rule(load_balancer_id:, listener_id:, policy_id:, id:)
9033
- # Delete a rule from the load balancer listener policy.
10032
+ # Delete a load balancer listener policy rule.
9034
10033
  # Deletes a rule from the load balancer listener policy. This operation cannot be
9035
10034
  # reversed.
9036
10035
  # @param load_balancer_id [String] The load balancer identifier.
@@ -9075,7 +10074,7 @@ module IbmVpc
9075
10074
 
9076
10075
  ##
9077
10076
  # @!method get_load_balancer_listener_policy_rule(load_balancer_id:, listener_id:, policy_id:, id:)
9078
- # Retrieve a rule of the load balancer listener policy.
10077
+ # Retrieve a load balancer listener policy rule.
9079
10078
  # Retrieves a single rule specified by the identifier in the URL path.
9080
10079
  # @param load_balancer_id [String] The load balancer identifier.
9081
10080
  # @param listener_id [String] The listener identifier.
@@ -9119,7 +10118,7 @@ module IbmVpc
9119
10118
 
9120
10119
  ##
9121
10120
  # @!method update_load_balancer_listener_policy_rule(load_balancer_id:, listener_id:, policy_id:, id:, load_balancer_listener_policy_rule_patch:)
9122
- # Update a rule of the load balancer listener policy.
10121
+ # Update a load balancer listener policy rule.
9123
10122
  # Updates a rule of the load balancer listener policy.
9124
10123
  # @param load_balancer_id [String] The load balancer identifier.
9125
10124
  # @param listener_id [String] The listener identifier.
@@ -9170,8 +10169,8 @@ module IbmVpc
9170
10169
 
9171
10170
  ##
9172
10171
  # @!method list_load_balancer_pools(load_balancer_id:)
9173
- # List all pools of the load balancer.
9174
- # This request lists all pools that belong to the load balancer.
10172
+ # List all pools of a load balancer.
10173
+ # This request lists all pools of a load balancer.
9175
10174
  # @param load_balancer_id [String] The load balancer identifier.
9176
10175
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
9177
10176
  def list_load_balancer_pools(load_balancer_id:)
@@ -9276,7 +10275,7 @@ module IbmVpc
9276
10275
 
9277
10276
  ##
9278
10277
  # @!method delete_load_balancer_pool(load_balancer_id:, id:)
9279
- # Delete a pool.
10278
+ # Delete a load balancer pool.
9280
10279
  # This request deletes a load balancer pool. This operation cannot be reversed. The
9281
10280
  # pool must not currently be the default pool for any listener in the load balancer.
9282
10281
  # @param load_balancer_id [String] The load balancer identifier.
@@ -9398,8 +10397,8 @@ module IbmVpc
9398
10397
 
9399
10398
  ##
9400
10399
  # @!method list_load_balancer_pool_members(load_balancer_id:, pool_id:)
9401
- # List all members of the load balancer pool.
9402
- # This request retrieves a paginated list of all members that belong to the pool.
10400
+ # List all members of a load balancer pool.
10401
+ # This request lists all members of a load balancer pool.
9403
10402
  # @param load_balancer_id [String] The load balancer identifier.
9404
10403
  # @param pool_id [String] The pool identifier.
9405
10404
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -9436,7 +10435,7 @@ module IbmVpc
9436
10435
 
9437
10436
  ##
9438
10437
  # @!method create_load_balancer_pool_member(load_balancer_id:, pool_id:, port:, target:, weight: nil)
9439
- # Create a member in the load balancer pool.
10438
+ # Create a member in a load balancer pool.
9440
10439
  # This request creates a new member and adds the member to the pool.
9441
10440
  # @param load_balancer_id [String] The load balancer identifier.
9442
10441
  # @param pool_id [String] The pool identifier.
@@ -9491,12 +10490,12 @@ module IbmVpc
9491
10490
 
9492
10491
  ##
9493
10492
  # @!method replace_load_balancer_pool_members(load_balancer_id:, pool_id:, members:)
9494
- # Update members of the load balancer pool.
9495
- # This request updates members of the load balancer pool from a collection of member
9496
- # prototype objects.
10493
+ # Replace load balancer pool members.
10494
+ # This request replaces the existing members of the load balancer pool with new
10495
+ # members created from the collection of member prototype objects.
9497
10496
  # @param load_balancer_id [String] The load balancer identifier.
9498
10497
  # @param pool_id [String] The pool identifier.
9499
- # @param members [Array[LoadBalancerPoolMemberPrototype]] Array of pool member prototype objects.
10498
+ # @param members [Array[LoadBalancerPoolMemberPrototype]] The member prototype objects for this pool.
9500
10499
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
9501
10500
  def replace_load_balancer_pool_members(load_balancer_id:, pool_id:, members:)
9502
10501
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -9538,7 +10537,7 @@ module IbmVpc
9538
10537
 
9539
10538
  ##
9540
10539
  # @!method delete_load_balancer_pool_member(load_balancer_id:, pool_id:, id:)
9541
- # Delete a member from the load balancer pool.
10540
+ # Delete a load balancer pool member.
9542
10541
  # This request deletes a member from the pool. This operation cannot be reversed.
9543
10542
  # @param load_balancer_id [String] The load balancer identifier.
9544
10543
  # @param pool_id [String] The pool identifier.
@@ -9579,7 +10578,7 @@ module IbmVpc
9579
10578
 
9580
10579
  ##
9581
10580
  # @!method get_load_balancer_pool_member(load_balancer_id:, pool_id:, id:)
9582
- # Retrieve a member in the load balancer pool.
10581
+ # Retrieve a load balancer pool member.
9583
10582
  # This request retrieves a single member specified by the identifier in the URL
9584
10583
  # path.
9585
10584
  # @param load_balancer_id [String] The load balancer identifier.
@@ -9621,7 +10620,7 @@ module IbmVpc
9621
10620
 
9622
10621
  ##
9623
10622
  # @!method update_load_balancer_pool_member(load_balancer_id:, pool_id:, id:, load_balancer_pool_member_patch:)
9624
- # Update a member in the load balancer pool.
10623
+ # Update a load balancer pool member.
9625
10624
  # This request updates an existing member from a member patch.
9626
10625
  # @param load_balancer_id [String] The load balancer identifier.
9627
10626
  # @param pool_id [String] The pool identifier.
@@ -9673,8 +10672,8 @@ module IbmVpc
9673
10672
  ##
9674
10673
  # @!method list_endpoint_gateways(name: nil, start: nil, limit: nil, resource_group_id: nil)
9675
10674
  # List all endpoint gateways.
9676
- # This request lists all endpoint gateways. An endpoint gateway maps one or more
9677
- # reserved IPs in a VPC to a target outside the VPC.
10675
+ # This request lists all endpoint gateways in the region. An endpoint gateway maps
10676
+ # one or more reserved IPs in a VPC to a target outside the VPC.
9678
10677
  # @param name [String] Filters the collection to resources with the exact specified name.
9679
10678
  # @param start [String] A server-supplied token determining what resource to start the page on.
9680
10679
  # @param limit [Fixnum] The number of resources to return on a page.
@@ -9719,7 +10718,8 @@ module IbmVpc
9719
10718
  # reserved IPs in a VPC to a target outside the VPC.
9720
10719
  # @param target [EndpointGatewayTargetPrototype] The target for this endpoint gateway.
9721
10720
  # @param vpc [VPCIdentity] The VPC this endpoint gateway will serve.
9722
- # @param ips [Array[EndpointGatewayReservedIP]] A list of reserved IPs to attach to this endpoint gateway.
10721
+ # @param ips [Array[EndpointGatewayReservedIP]] The reserved IPs to bind to this endpoint gateway. At most one reserved IP per
10722
+ # zone is allowed.
9723
10723
  # @param name [String] The user-defined name for this endpoint gateway. If unspecified, the name will be
9724
10724
  # a hyphenated list of randomly-selected words. Names must be unique within the VPC
9725
10725
  # this endpoint gateway is serving.
@@ -9769,15 +10769,15 @@ module IbmVpc
9769
10769
  ##
9770
10770
  # @!method list_endpoint_gateway_ips(endpoint_gateway_id:, start: nil, limit: nil, sort: nil)
9771
10771
  # List all reserved IPs bound to an endpoint gateway.
9772
- # This request retrieves all reserved IPs bound to an endpoint gateway.
10772
+ # This request lists all reserved IPs bound to an endpoint gateway.
9773
10773
  # @param endpoint_gateway_id [String] The endpoint gateway identifier.
9774
10774
  # @param start [String] A server-supplied token determining what resource to start the page on.
9775
10775
  # @param limit [Fixnum] The number of resources to return on a page.
9776
- # @param sort [String] Sorts the returned collection by the specified field name in ascending order. A
9777
- # `-` may be prepended to the field name to sort in descending order. For example,
9778
- # the value
9779
- # `-created_at` sorts the collection by the `created_at` field in descending order,
9780
- # and the value `name` sorts it by the `name` field in ascending order.
10776
+ # @param sort [String] Sorts the returned collection by the specified property name in ascending order. A
10777
+ # `-` may be prepended to the name to sort in descending order. For example, the
10778
+ # value `-created_at` sorts the collection by the `created_at` property in
10779
+ # descending order, and the value `name` sorts it by the `name` property in
10780
+ # ascending order.
9781
10781
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
9782
10782
  def list_endpoint_gateway_ips(endpoint_gateway_id:, start: nil, limit: nil, sort: nil)
9783
10783
  raise ArgumentError.new("version must be provided") if version.nil?
@@ -9894,8 +10894,11 @@ module IbmVpc
9894
10894
  # @!method add_endpoint_gateway_ip(endpoint_gateway_id:, id:)
9895
10895
  # Bind a reserved IP to an endpoint gateway.
9896
10896
  # This request binds the specified reserved IP to the specified endpoint gateway.
9897
- # For this request to succeed, the reserved IP must currently be unbound and must
9898
- # not have a floating IP bound to it.
10897
+ # The reserved IP:
10898
+ #
10899
+ # - must currently be unbound
10900
+ # - must not be in the same zone as any other reserved IP bound to the endpoint
10901
+ # gateway.
9899
10902
  # @param endpoint_gateway_id [String] The endpoint gateway identifier.
9900
10903
  # @param id [String] The reserved IP identifier.
9901
10904
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -10052,7 +11055,7 @@ module IbmVpc
10052
11055
  ##
10053
11056
  # @!method list_flow_log_collectors(start: nil, limit: nil, resource_group_id: nil, name: nil, vpc_id: nil, vpc_crn: nil, vpc_name: nil, target_id: nil, target_resource_type: nil)
10054
11057
  # List all flow log collectors.
10055
- # This request retrieves all flow log collectors in the region. A flow log collector
11058
+ # This request lists all flow log collectors in the region. A flow log collector
10056
11059
  # summarizes data sent over one or more network interfaces within a VPC, depending
10057
11060
  # on the chosen target.
10058
11061
  # @param start [String] A server-supplied token determining what resource to start the page on.
@@ -10114,13 +11117,12 @@ module IbmVpc
10114
11117
  # The bucket must exist and an IAM service authorization must grant
10115
11118
  # `IBM Cloud Flow Logs` resources of `VPC Infrastructure Services` writer
10116
11119
  # access to the bucket.
10117
- # @param target [FlowLogCollectorTargetPrototype] The target this collector is collecting flow logs for. If the target is an
11120
+ # @param target [FlowLogCollectorTargetPrototype] The target this collector will collect flow logs for. If the target is an
10118
11121
  # instance,
10119
11122
  # subnet, or VPC, flow logs will not be collected for any network interfaces within
10120
11123
  # the
10121
11124
  # target that are themselves the target of a more specific flow log collector.
10122
- # @param active [Boolean] Indicates whether this collector is active. If false, this collector is created in
10123
- # inactive mode.
11125
+ # @param active [Boolean] Indicates whether this collector will be active upon creation.
10124
11126
  # @param name [String] The unique user-defined name for this flow log collector. If unspecified, the name
10125
11127
  # will be a hyphenated list of randomly-selected words.
10126
11128
  # @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
@@ -10168,7 +11170,7 @@ module IbmVpc
10168
11170
 
10169
11171
  ##
10170
11172
  # @!method delete_flow_log_collector(id:)
10171
- # Delete the specified flow log collector.
11173
+ # Delete a flow log collector.
10172
11174
  # This request stops and deletes a flow log collector. Collected flow logs remain
10173
11175
  # available within the flow log collector's bucket.
10174
11176
  # @param id [String] The flow log collector identifier.
@@ -10204,7 +11206,7 @@ module IbmVpc
10204
11206
 
10205
11207
  ##
10206
11208
  # @!method get_flow_log_collector(id:)
10207
- # Retrieve the specified flow log collector.
11209
+ # Retrieve a flow log collector.
10208
11210
  # This request retrieves a single flow log collector specified by the identifier in
10209
11211
  # the URL.
10210
11212
  # @param id [String] The flow log collector identifier.
@@ -10240,7 +11242,7 @@ module IbmVpc
10240
11242
 
10241
11243
  ##
10242
11244
  # @!method update_flow_log_collector(id:, flow_log_collector_patch:)
10243
- # Update the specified flow log collector.
11245
+ # Update a flow log collector.
10244
11246
  # This request updates a flow log collector with the information in a provided flow
10245
11247
  # log collector patch. The flow log collector patch object is structured in the same
10246
11248
  # way as a retrieved flow log collector and contains only the information to be