ibm_vpc 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.bumpversion.cfg +1 -1
- data/CHANGELOG.md +7 -0
- data/Rakefile +1 -1
- data/lib/ibm_vpc/version.rb +1 -1
- data/lib/ibm_vpc/vpc_v1.rb +464 -27
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cb3ed1f0836aa77adae565fd4cdd3d9a51d00172fd0e8987ff606459039d276
|
4
|
+
data.tar.gz: 473477e94aa11ea542ea268f9927c774cbb5387bd452ef99e0ce6c135f76e00e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18ddc7834140647379aee47b05808dd74f40ba49f2e87c7eea9e31dcbc98c2611a151dc5b1beb6be30aa3181382d26272eb506740fc4d61f47c82a25f6e5aa33
|
7
|
+
data.tar.gz: 8a40f28991f9ddfce6b12fb201723b31c6f3979807ac8c3e0c67edf3f7f7035dcce55995e7faedf107f1c2c4c14749282ee653c1b6939428ed25b942b422315b
|
data/.bumpversion.cfg
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
# [0.10.0](https://github.com/IBM/vpc-ruby-sdk/compare/0.9.0...0.10.0) (2025-07-16)
|
2
|
+
|
3
|
+
|
4
|
+
### Features
|
5
|
+
|
6
|
+
* **release:** Update SDK to support VPC API version 2025-07-15 ([#36](https://github.com/IBM/vpc-ruby-sdk/issues/36)) ([413c3ad](https://github.com/IBM/vpc-ruby-sdk/commit/413c3ad3a55715ced2ca4d7738b38a1a83adceab))
|
7
|
+
|
1
8
|
# [0.9.0](https://github.com/IBM/vpc-ruby-sdk/compare/0.8.0...0.9.0) (2025-05-27)
|
2
9
|
|
3
10
|
|
data/Rakefile
CHANGED
@@ -48,7 +48,7 @@ end
|
|
48
48
|
|
49
49
|
desc "Run tests and generate a code coverage report"
|
50
50
|
task :coverage do
|
51
|
-
ENV["COVERAGE"] = "true" if ENV["
|
51
|
+
ENV["COVERAGE"] = "true" if ENV["GITHUB_ACTIONS"] || ENV["CI"].nil?
|
52
52
|
Rake::Task["test"].execute
|
53
53
|
end
|
54
54
|
|
data/lib/ibm_vpc/version.rb
CHANGED
data/lib/ibm_vpc/vpc_v1.rb
CHANGED
@@ -33,7 +33,7 @@ module IbmVpc
|
|
33
33
|
include Concurrent::Async
|
34
34
|
DEFAULT_SERVICE_NAME = "vpc"
|
35
35
|
DEFAULT_SERVICE_URL = "https://us-south.iaas.cloud.ibm.com/v1"
|
36
|
-
DEFAULT_SERVICE_VERSION = "2025-
|
36
|
+
DEFAULT_SERVICE_VERSION = "2025-07-15"
|
37
37
|
attr_accessor :version
|
38
38
|
attr_accessor :generation
|
39
39
|
##
|
@@ -42,7 +42,7 @@ module IbmVpc
|
|
42
42
|
#
|
43
43
|
# @param args [Hash] The args to initialize with
|
44
44
|
# @option args version [String] The API version, in format `YYYY-MM-DD`. For the API behavior documented here,
|
45
|
-
# specify any date between `2025-
|
45
|
+
# specify any date between `2025-06-30` and `2025-07-15`.
|
46
46
|
# @option args service_url [String] The base service URL to use when contacting the service.
|
47
47
|
# The base service_url may differ between IBM Cloud regions.
|
48
48
|
# @option args authenticator [Object] The Authenticator instance to be configured for this service.
|
@@ -209,7 +209,8 @@ module IbmVpc
|
|
209
209
|
#
|
210
210
|
# All security groups and network ACLs associated with the VPC are automatically
|
211
211
|
# deleted. All flow log collectors with `auto_delete` set to `true` targeting the
|
212
|
-
# VPC or any resource in the VPC are automatically deleted.
|
212
|
+
# VPC or any resource in the VPC are automatically deleted. All public address
|
213
|
+
# ranges attached to the VPC are automatically detached.
|
213
214
|
# @param id [String] The VPC identifier.
|
214
215
|
# @param if_match [String] If present, the request will fail if the specified ETag value does not match the
|
215
216
|
# resource's current ETag value.
|
@@ -752,9 +753,16 @@ module IbmVpc
|
|
752
753
|
# retrieved DNS resolution binding, and contains the information necessary to create
|
753
754
|
# the new DNS resolution binding.
|
754
755
|
#
|
755
|
-
# For this request to succeed
|
756
|
-
# specified by the identifier in the URL
|
757
|
-
# resolution
|
756
|
+
# For this request to succeed:
|
757
|
+
# - The VPC specified by the identifier in the URL must not already have a DNS
|
758
|
+
# resolution
|
759
|
+
# binding
|
760
|
+
# - The VPC specified by the identifier in the URL must have `dns.enable_hub` set to
|
761
|
+
# `false`
|
762
|
+
# - The updated DNS sharing connected topology must not contain more than one
|
763
|
+
# endpoint
|
764
|
+
# gateway with `allow_dns_resolution_binding` set to `true` targeting the same
|
765
|
+
# service.
|
758
766
|
#
|
759
767
|
# See [About DNS sharing for VPE gateways](/docs/vpc?topic=vpc-vpe-dns-sharing) for
|
760
768
|
# more information.
|
@@ -2526,7 +2534,7 @@ module IbmVpc
|
|
2526
2534
|
#########################
|
2527
2535
|
|
2528
2536
|
##
|
2529
|
-
# @!method list_images(start: nil, limit: nil, resource_group_id: nil, name: nil, status: nil, visibility: nil, user_data_format: nil,
|
2537
|
+
# @!method list_images(start: nil, limit: nil, resource_group_id: nil, name: nil, status: nil, visibility: nil, user_data_format: nil, remote_account_id: nil)
|
2530
2538
|
# List images.
|
2531
2539
|
# This request lists images available in the region. An image provides source data
|
2532
2540
|
# for a volume. Images are either system-provided, or created from another source,
|
@@ -2543,10 +2551,14 @@ module IbmVpc
|
|
2543
2551
|
# specified value.
|
2544
2552
|
# @param user_data_format [Array[String]] Filters the collection to images with a `user_data_format` property matching one
|
2545
2553
|
# of the specified comma-separated values.
|
2546
|
-
# @param
|
2547
|
-
# specified
|
2554
|
+
# @param remote_account_id [String] Filters the collection to images with a `remote.account.id` property matching the
|
2555
|
+
# specified account identifier.
|
2556
|
+
#
|
2557
|
+
# This parameter also supports the values null and not:null which filter the
|
2558
|
+
# collection to resources which have no remote account identifier or any remote
|
2559
|
+
# account identifier, respectively.
|
2548
2560
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
2549
|
-
def list_images(start: nil, limit: nil, resource_group_id: nil, name: nil, status: nil, visibility: nil, user_data_format: nil,
|
2561
|
+
def list_images(start: nil, limit: nil, resource_group_id: nil, name: nil, status: nil, visibility: nil, user_data_format: nil, remote_account_id: nil)
|
2550
2562
|
raise ArgumentError.new("version must be provided") if version.nil?
|
2551
2563
|
|
2552
2564
|
raise ArgumentError.new("generation must be provided") if generation.nil?
|
@@ -2568,7 +2580,7 @@ module IbmVpc
|
|
2568
2580
|
"status" => status,
|
2569
2581
|
"visibility" => visibility,
|
2570
2582
|
"user_data_format" => user_data_format,
|
2571
|
-
"
|
2583
|
+
"remote.account.id" => remote_account_id
|
2572
2584
|
}
|
2573
2585
|
|
2574
2586
|
method_url = "/images"
|
@@ -2630,9 +2642,8 @@ module IbmVpc
|
|
2630
2642
|
# @!method delete_image(id:)
|
2631
2643
|
# Delete an image.
|
2632
2644
|
# This request deletes an image. Any active image export jobs will be completed
|
2633
|
-
# first. This operation cannot be reversed. An image with
|
2634
|
-
#
|
2635
|
-
# if it:
|
2645
|
+
# first. This operation cannot be reversed. An image with `remote.account` set is
|
2646
|
+
# not allowed to be deleted. Additionally, an image cannot be deleted if it:
|
2636
2647
|
# - has a `status` of `deleting`
|
2637
2648
|
# - has a `status` of `pending` with a `status_reasons` code of
|
2638
2649
|
# `image_request_in_progress`
|
@@ -2708,9 +2719,8 @@ module IbmVpc
|
|
2708
2719
|
# Update an image.
|
2709
2720
|
# This request updates an image with the information in a provided image patch. The
|
2710
2721
|
# image patch object is structured in the same way as a retrieved image and contains
|
2711
|
-
# only the information to be updated. An image with
|
2712
|
-
#
|
2713
|
-
# updated.
|
2722
|
+
# only the information to be updated. An image with `remote.account` set is not
|
2723
|
+
# allowed to be updated. An image with a `status` of `deleting` cannot be updated.
|
2714
2724
|
# @param id [String] The image identifier.
|
2715
2725
|
# @param image_patch [Hash] The image patch.
|
2716
2726
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -2749,6 +2759,47 @@ module IbmVpc
|
|
2749
2759
|
response
|
2750
2760
|
end
|
2751
2761
|
|
2762
|
+
##
|
2763
|
+
# @!method list_image_bare_metal_server_profiles(id:, start: nil, limit: nil)
|
2764
|
+
# List bare metal server profiles compatible with an image.
|
2765
|
+
# This request lists bare metal server profiles compatible with an image's
|
2766
|
+
# `allowed_use.bare_metal_server`, `operating_system.architecture` and
|
2767
|
+
# `user_data_format` properties, sorted by ascending `name` property values.
|
2768
|
+
# @param id [String] The image identifier.
|
2769
|
+
# @param start [String] A server-provided token determining what resource to start the page on.
|
2770
|
+
# @param limit [Fixnum] The number of resources to return on a page.
|
2771
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
2772
|
+
def list_image_bare_metal_server_profiles(id:, start: nil, limit: nil)
|
2773
|
+
raise ArgumentError.new("version must be provided") if version.nil?
|
2774
|
+
|
2775
|
+
raise ArgumentError.new("generation must be provided") if generation.nil?
|
2776
|
+
|
2777
|
+
raise ArgumentError.new("id must be provided") if id.nil?
|
2778
|
+
|
2779
|
+
headers = {
|
2780
|
+
}
|
2781
|
+
sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_image_bare_metal_server_profiles")
|
2782
|
+
headers.merge!(sdk_headers)
|
2783
|
+
|
2784
|
+
params = {
|
2785
|
+
"version" => @version,
|
2786
|
+
"generation" => @generation,
|
2787
|
+
"start" => start,
|
2788
|
+
"limit" => limit
|
2789
|
+
}
|
2790
|
+
|
2791
|
+
method_url = "/images/%s/bare_metal_server_profiles" % [ERB::Util.url_encode(id)]
|
2792
|
+
|
2793
|
+
response = request(
|
2794
|
+
method: "GET",
|
2795
|
+
url: method_url,
|
2796
|
+
headers: headers,
|
2797
|
+
params: params,
|
2798
|
+
accept_json: true
|
2799
|
+
)
|
2800
|
+
response
|
2801
|
+
end
|
2802
|
+
|
2752
2803
|
##
|
2753
2804
|
# @!method deprecate_image(id:)
|
2754
2805
|
# Deprecate an image.
|
@@ -2761,7 +2812,7 @@ module IbmVpc
|
|
2761
2812
|
# - have `catalog_offering.managed` set to `false`
|
2762
2813
|
# - not have `deprecation_at` set
|
2763
2814
|
#
|
2764
|
-
# An image with
|
2815
|
+
# An image with `remote.account` set is not allowed to be deprecated.
|
2765
2816
|
# @param id [String] The image identifier.
|
2766
2817
|
# @return [nil]
|
2767
2818
|
def deprecate_image(id:)
|
@@ -2793,6 +2844,47 @@ module IbmVpc
|
|
2793
2844
|
nil
|
2794
2845
|
end
|
2795
2846
|
|
2847
|
+
##
|
2848
|
+
# @!method list_image_instance_profiles(id:, start: nil, limit: nil)
|
2849
|
+
# List instance profiles compatible with an image.
|
2850
|
+
# This request lists instance profiles compatible with an image's
|
2851
|
+
# `allowed_use.instance`, `operating_system.architecture` and
|
2852
|
+
# `user_data_format` properties, sorted by ascending `name` property values.
|
2853
|
+
# @param id [String] The image identifier.
|
2854
|
+
# @param start [String] A server-provided token determining what resource to start the page on.
|
2855
|
+
# @param limit [Fixnum] The number of resources to return on a page.
|
2856
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
2857
|
+
def list_image_instance_profiles(id:, start: nil, limit: nil)
|
2858
|
+
raise ArgumentError.new("version must be provided") if version.nil?
|
2859
|
+
|
2860
|
+
raise ArgumentError.new("generation must be provided") if generation.nil?
|
2861
|
+
|
2862
|
+
raise ArgumentError.new("id must be provided") if id.nil?
|
2863
|
+
|
2864
|
+
headers = {
|
2865
|
+
}
|
2866
|
+
sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_image_instance_profiles")
|
2867
|
+
headers.merge!(sdk_headers)
|
2868
|
+
|
2869
|
+
params = {
|
2870
|
+
"version" => @version,
|
2871
|
+
"generation" => @generation,
|
2872
|
+
"start" => start,
|
2873
|
+
"limit" => limit
|
2874
|
+
}
|
2875
|
+
|
2876
|
+
method_url = "/images/%s/instance_profiles" % [ERB::Util.url_encode(id)]
|
2877
|
+
|
2878
|
+
response = request(
|
2879
|
+
method: "GET",
|
2880
|
+
url: method_url,
|
2881
|
+
headers: headers,
|
2882
|
+
params: params,
|
2883
|
+
accept_json: true
|
2884
|
+
)
|
2885
|
+
response
|
2886
|
+
end
|
2887
|
+
|
2796
2888
|
##
|
2797
2889
|
# @!method obsolete_image(id:)
|
2798
2890
|
# Obsolete an image.
|
@@ -2805,7 +2897,7 @@ module IbmVpc
|
|
2805
2897
|
# - not have `deprecation_at` set in the future
|
2806
2898
|
# - not have `obsolescence_at` set
|
2807
2899
|
#
|
2808
|
-
# An image with
|
2900
|
+
# An image with `remote.account` set is not allowed to be obsoleted.
|
2809
2901
|
# @param id [String] The image identifier.
|
2810
2902
|
# @return [nil]
|
2811
2903
|
def obsolete_image(id:)
|
@@ -3718,6 +3810,10 @@ module IbmVpc
|
|
3718
3810
|
# prototype object is structured in the same way as a retrieved instance, and
|
3719
3811
|
# contains the information necessary to provision the new instance. The instance is
|
3720
3812
|
# automatically started.
|
3813
|
+
#
|
3814
|
+
# For this request to succeed, the properties in the request must adhere to the
|
3815
|
+
# source's
|
3816
|
+
# `allowed_use` property.
|
3721
3817
|
# @param instance_prototype [InstancePrototype] The instance prototype object.
|
3722
3818
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
3723
3819
|
def create_instance(instance_prototype:)
|
@@ -3839,6 +3935,10 @@ module IbmVpc
|
|
3839
3935
|
# This request updates an instance with the information in a provided instance
|
3840
3936
|
# patch. The instance patch object is structured in the same way as a retrieved
|
3841
3937
|
# instance and contains only the information to be updated.
|
3938
|
+
#
|
3939
|
+
# For this request to succeed, the properties in the request must adhere to the
|
3940
|
+
# `allowed_use` property in the volume referenced by
|
3941
|
+
# `boot_volume_attachment.volume`.
|
3842
3942
|
# @param id [String] The virtual server instance identifier.
|
3843
3943
|
# @param instance_patch [Hash] The instance patch.
|
3844
3944
|
# @param if_match [String] If present, the request will fail if the specified ETag value does not match the
|
@@ -4019,8 +4119,7 @@ module IbmVpc
|
|
4019
4119
|
# @param cluster_network_interface [InstanceClusterNetworkAttachmentPrototypeClusterNetworkInterface] A cluster network interface for the instance cluster network attachment. This can
|
4020
4120
|
# be
|
4021
4121
|
# specified using an existing cluster network interface that does not already have a
|
4022
|
-
# `target`,
|
4023
|
-
# or a prototype object for a new cluster network interface.
|
4122
|
+
# `target`, or a prototype object for a new cluster network interface.
|
4024
4123
|
#
|
4025
4124
|
# This instance must reside in the same VPC as the specified cluster network
|
4026
4125
|
# interface. The
|
@@ -7713,6 +7812,9 @@ module IbmVpc
|
|
7713
7812
|
# prototype object is structured in the same way as a retrieved bare metal server,
|
7714
7813
|
# and contains the information necessary to provision the new bare metal server. The
|
7715
7814
|
# bare metal server is automatically started.
|
7815
|
+
#
|
7816
|
+
# For this request to succeed, the properties in the request must adhere to the
|
7817
|
+
# source image's `allowed_use` property.
|
7716
7818
|
# @param bare_metal_server_prototype [BareMetalServerPrototype] The bare metal server prototype object.
|
7717
7819
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
7718
7820
|
def create_bare_metal_server(bare_metal_server_prototype:)
|
@@ -8728,6 +8830,9 @@ module IbmVpc
|
|
8728
8830
|
# This request updates a bare metal server with the information in a provided patch.
|
8729
8831
|
# The bare metal server patch object is structured in the same way as a retrieved
|
8730
8832
|
# bare metal server and contains only the information to be updated.
|
8833
|
+
#
|
8834
|
+
# For this request to succeed, the properties in the request must adhere to the
|
8835
|
+
# `allowed_use` property of the disk referenced in the server's `boot_target`.
|
8731
8836
|
# @param id [String] The bare metal server identifier.
|
8732
8837
|
# @param bare_metal_server_patch [Hash] The bare metal server patch.
|
8733
8838
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
@@ -8852,6 +8957,9 @@ module IbmVpc
|
|
8852
8957
|
# This request reinitializes a bare metal server with the specified image and SSH
|
8853
8958
|
# keys. The server must be stopped. Upon successful reinitiatilization, the bare
|
8854
8959
|
# metal server will be started automatically.
|
8960
|
+
#
|
8961
|
+
# For this request to succeed, the properties of the server which would result from
|
8962
|
+
# the reinitialization must adhere to the specified image's `allowed_use` property.
|
8855
8963
|
# @param id [String] The bare metal server identifier.
|
8856
8964
|
# @param image [ImageIdentity] The image to be used when provisioning the bare metal server.
|
8857
8965
|
# @param keys [Array[KeyIdentity]] The public SSH keys to install on the bare metal server. Keys will be made
|
@@ -9329,6 +9437,49 @@ module IbmVpc
|
|
9329
9437
|
)
|
9330
9438
|
response
|
9331
9439
|
end
|
9440
|
+
|
9441
|
+
##
|
9442
|
+
# @!method list_volume_instance_profiles(id:, start: nil, limit: nil)
|
9443
|
+
# List instance profiles compatible with a volume.
|
9444
|
+
# This request lists instance profiles compatible with a volume's
|
9445
|
+
# `allowed_use.instance`, `operating_system.architecture` and
|
9446
|
+
# `operating_system.user_data_format` properties, sorted by ascending `name`
|
9447
|
+
# property values. The specified volume must be bootable (have an `operating_system`
|
9448
|
+
# property).
|
9449
|
+
# @param id [String] The volume identifier.
|
9450
|
+
# @param start [String] A server-provided token determining what resource to start the page on.
|
9451
|
+
# @param limit [Fixnum] The number of resources to return on a page.
|
9452
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
9453
|
+
def list_volume_instance_profiles(id:, start: nil, limit: nil)
|
9454
|
+
raise ArgumentError.new("version must be provided") if version.nil?
|
9455
|
+
|
9456
|
+
raise ArgumentError.new("generation must be provided") if generation.nil?
|
9457
|
+
|
9458
|
+
raise ArgumentError.new("id must be provided") if id.nil?
|
9459
|
+
|
9460
|
+
headers = {
|
9461
|
+
}
|
9462
|
+
sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_volume_instance_profiles")
|
9463
|
+
headers.merge!(sdk_headers)
|
9464
|
+
|
9465
|
+
params = {
|
9466
|
+
"version" => @version,
|
9467
|
+
"generation" => @generation,
|
9468
|
+
"start" => start,
|
9469
|
+
"limit" => limit
|
9470
|
+
}
|
9471
|
+
|
9472
|
+
method_url = "/volumes/%s/instance_profiles" % [ERB::Util.url_encode(id)]
|
9473
|
+
|
9474
|
+
response = request(
|
9475
|
+
method: "GET",
|
9476
|
+
url: method_url,
|
9477
|
+
headers: headers,
|
9478
|
+
params: params,
|
9479
|
+
accept_json: true
|
9480
|
+
)
|
9481
|
+
response
|
9482
|
+
end
|
9332
9483
|
#########################
|
9333
9484
|
# Snapshots
|
9334
9485
|
#########################
|
@@ -10008,6 +10159,48 @@ module IbmVpc
|
|
10008
10159
|
)
|
10009
10160
|
response
|
10010
10161
|
end
|
10162
|
+
|
10163
|
+
##
|
10164
|
+
# @!method list_snapshot_instance_profiles(id:, start: nil, limit: nil)
|
10165
|
+
# List instance profiles compatible with a snapshot.
|
10166
|
+
# This request lists instance profiles compatible with a snapshot's
|
10167
|
+
# `allowed_use.instance`, `operating_system.architecture` and
|
10168
|
+
# `operating_system.user_data_format` properties, sorted by ascending `name`
|
10169
|
+
# property values. The specified snapshot must be bootable.
|
10170
|
+
# @param id [String] The snapshot identifier.
|
10171
|
+
# @param start [String] A server-provided token determining what resource to start the page on.
|
10172
|
+
# @param limit [Fixnum] The number of resources to return on a page.
|
10173
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
10174
|
+
def list_snapshot_instance_profiles(id:, start: nil, limit: nil)
|
10175
|
+
raise ArgumentError.new("version must be provided") if version.nil?
|
10176
|
+
|
10177
|
+
raise ArgumentError.new("generation must be provided") if generation.nil?
|
10178
|
+
|
10179
|
+
raise ArgumentError.new("id must be provided") if id.nil?
|
10180
|
+
|
10181
|
+
headers = {
|
10182
|
+
}
|
10183
|
+
sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_snapshot_instance_profiles")
|
10184
|
+
headers.merge!(sdk_headers)
|
10185
|
+
|
10186
|
+
params = {
|
10187
|
+
"version" => @version,
|
10188
|
+
"generation" => @generation,
|
10189
|
+
"start" => start,
|
10190
|
+
"limit" => limit
|
10191
|
+
}
|
10192
|
+
|
10193
|
+
method_url = "/snapshots/%s/instance_profiles" % [ERB::Util.url_encode(id)]
|
10194
|
+
|
10195
|
+
response = request(
|
10196
|
+
method: "GET",
|
10197
|
+
url: method_url,
|
10198
|
+
headers: headers,
|
10199
|
+
params: params,
|
10200
|
+
accept_json: true
|
10201
|
+
)
|
10202
|
+
response
|
10203
|
+
end
|
10011
10204
|
#########################
|
10012
10205
|
# Shares
|
10013
10206
|
#########################
|
@@ -13892,6 +14085,224 @@ module IbmVpc
|
|
13892
14085
|
response
|
13893
14086
|
end
|
13894
14087
|
#########################
|
14088
|
+
# Public address ranges
|
14089
|
+
#########################
|
14090
|
+
|
14091
|
+
##
|
14092
|
+
# @!method list_public_address_ranges(start: nil, limit: nil, resource_group_id: nil)
|
14093
|
+
# List public address ranges.
|
14094
|
+
# This request lists [public address
|
14095
|
+
# ranges](https://cloud.ibm.com/docs/vpc?topic=vpc-about-par) in the region. A
|
14096
|
+
# public address range is a contiguous block of public IP addresses that can be
|
14097
|
+
# bound to a `target` that specifies a `vpc` and a `zone`. Incoming traffic for
|
14098
|
+
# these IP addresses will be routed according to the VPC's ingress routing table.
|
14099
|
+
# @param start [String] A server-provided token determining what resource to start the page on.
|
14100
|
+
# @param limit [Fixnum] The number of resources to return on a page.
|
14101
|
+
# @param resource_group_id [String] Filters the collection to resources with a `resource_group.id` property matching
|
14102
|
+
# the specified identifier.
|
14103
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
14104
|
+
def list_public_address_ranges(start: nil, limit: nil, resource_group_id: nil)
|
14105
|
+
raise ArgumentError.new("version must be provided") if version.nil?
|
14106
|
+
|
14107
|
+
raise ArgumentError.new("generation must be provided") if generation.nil?
|
14108
|
+
|
14109
|
+
headers = {
|
14110
|
+
}
|
14111
|
+
sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "list_public_address_ranges")
|
14112
|
+
headers.merge!(sdk_headers)
|
14113
|
+
|
14114
|
+
params = {
|
14115
|
+
"version" => @version,
|
14116
|
+
"generation" => @generation,
|
14117
|
+
"start" => start,
|
14118
|
+
"limit" => limit,
|
14119
|
+
"resource_group.id" => resource_group_id
|
14120
|
+
}
|
14121
|
+
|
14122
|
+
method_url = "/public_address_ranges"
|
14123
|
+
|
14124
|
+
response = request(
|
14125
|
+
method: "GET",
|
14126
|
+
url: method_url,
|
14127
|
+
headers: headers,
|
14128
|
+
params: params,
|
14129
|
+
accept_json: true
|
14130
|
+
)
|
14131
|
+
response
|
14132
|
+
end
|
14133
|
+
|
14134
|
+
##
|
14135
|
+
# @!method create_public_address_range(ipv4_address_count:, name: nil, resource_group: nil, target: nil)
|
14136
|
+
# Create a public address range.
|
14137
|
+
# This request creates a new public address range from a public address range
|
14138
|
+
# prototype object. The prototype object is structured in the same way as a
|
14139
|
+
# retrieved public address range, and contains the information necessary to create
|
14140
|
+
# the new public address range.
|
14141
|
+
# @param ipv4_address_count [Fixnum] The total number of public IPv4 addresses required. Must be a power of 2.
|
14142
|
+
# @param name [String] The name for this public address range. The name must not be used by another
|
14143
|
+
# public address range in the region. If unspecified, the name will be a hyphenated
|
14144
|
+
# list of randomly-selected words.
|
14145
|
+
# @param resource_group [ResourceGroupIdentity] The resource group to use. If unspecified, the account's [default resource
|
14146
|
+
# group](https://cloud.ibm.com/apidocs/resource-manager#introduction) will be used.
|
14147
|
+
# @param target [PublicAddressRangeTargetPrototype] The target to bind this public address range to. If unspecified, the public
|
14148
|
+
# address
|
14149
|
+
# range will not be bound to a target at creation.
|
14150
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
14151
|
+
def create_public_address_range(ipv4_address_count:, name: nil, resource_group: nil, target: nil)
|
14152
|
+
raise ArgumentError.new("version must be provided") if version.nil?
|
14153
|
+
|
14154
|
+
raise ArgumentError.new("generation must be provided") if generation.nil?
|
14155
|
+
|
14156
|
+
raise ArgumentError.new("ipv4_address_count must be provided") if ipv4_address_count.nil?
|
14157
|
+
|
14158
|
+
headers = {
|
14159
|
+
}
|
14160
|
+
sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "create_public_address_range")
|
14161
|
+
headers.merge!(sdk_headers)
|
14162
|
+
|
14163
|
+
params = {
|
14164
|
+
"version" => @version,
|
14165
|
+
"generation" => @generation
|
14166
|
+
}
|
14167
|
+
|
14168
|
+
data = {
|
14169
|
+
"ipv4_address_count" => ipv4_address_count,
|
14170
|
+
"name" => name,
|
14171
|
+
"resource_group" => resource_group,
|
14172
|
+
"target" => target
|
14173
|
+
}
|
14174
|
+
|
14175
|
+
method_url = "/public_address_ranges"
|
14176
|
+
|
14177
|
+
response = request(
|
14178
|
+
method: "POST",
|
14179
|
+
url: method_url,
|
14180
|
+
headers: headers,
|
14181
|
+
params: params,
|
14182
|
+
json: data,
|
14183
|
+
accept_json: true
|
14184
|
+
)
|
14185
|
+
response
|
14186
|
+
end
|
14187
|
+
|
14188
|
+
##
|
14189
|
+
# @!method delete_public_address_range(id:)
|
14190
|
+
# Delete a public address range.
|
14191
|
+
# This request deletes a public address range. If the public address range is bound
|
14192
|
+
# to a
|
14193
|
+
# `target`, it will be unbound. This operation cannot be reversed.
|
14194
|
+
# @param id [String] The public address range identifier.
|
14195
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
14196
|
+
def delete_public_address_range(id:)
|
14197
|
+
raise ArgumentError.new("version must be provided") if version.nil?
|
14198
|
+
|
14199
|
+
raise ArgumentError.new("generation must be provided") if generation.nil?
|
14200
|
+
|
14201
|
+
raise ArgumentError.new("id must be provided") if id.nil?
|
14202
|
+
|
14203
|
+
headers = {
|
14204
|
+
}
|
14205
|
+
sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "delete_public_address_range")
|
14206
|
+
headers.merge!(sdk_headers)
|
14207
|
+
|
14208
|
+
params = {
|
14209
|
+
"version" => @version,
|
14210
|
+
"generation" => @generation
|
14211
|
+
}
|
14212
|
+
|
14213
|
+
method_url = "/public_address_ranges/%s" % [ERB::Util.url_encode(id)]
|
14214
|
+
|
14215
|
+
response = request(
|
14216
|
+
method: "DELETE",
|
14217
|
+
url: method_url,
|
14218
|
+
headers: headers,
|
14219
|
+
params: params,
|
14220
|
+
accept_json: true
|
14221
|
+
)
|
14222
|
+
response
|
14223
|
+
end
|
14224
|
+
|
14225
|
+
##
|
14226
|
+
# @!method get_public_address_range(id:)
|
14227
|
+
# Retrieve a public address range.
|
14228
|
+
# This request retrieves a single public address range specified by the identifier
|
14229
|
+
# in the URL.
|
14230
|
+
# @param id [String] The public address range identifier.
|
14231
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
14232
|
+
def get_public_address_range(id:)
|
14233
|
+
raise ArgumentError.new("version must be provided") if version.nil?
|
14234
|
+
|
14235
|
+
raise ArgumentError.new("generation must be provided") if generation.nil?
|
14236
|
+
|
14237
|
+
raise ArgumentError.new("id must be provided") if id.nil?
|
14238
|
+
|
14239
|
+
headers = {
|
14240
|
+
}
|
14241
|
+
sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "get_public_address_range")
|
14242
|
+
headers.merge!(sdk_headers)
|
14243
|
+
|
14244
|
+
params = {
|
14245
|
+
"version" => @version,
|
14246
|
+
"generation" => @generation
|
14247
|
+
}
|
14248
|
+
|
14249
|
+
method_url = "/public_address_ranges/%s" % [ERB::Util.url_encode(id)]
|
14250
|
+
|
14251
|
+
response = request(
|
14252
|
+
method: "GET",
|
14253
|
+
url: method_url,
|
14254
|
+
headers: headers,
|
14255
|
+
params: params,
|
14256
|
+
accept_json: true
|
14257
|
+
)
|
14258
|
+
response
|
14259
|
+
end
|
14260
|
+
|
14261
|
+
##
|
14262
|
+
# @!method update_public_address_range(id:, public_address_range_patch:)
|
14263
|
+
# Update a public address range.
|
14264
|
+
# This request updates a public address range with the information in a provided
|
14265
|
+
# public address range patch. The public address range patch object is structured in
|
14266
|
+
# the same way as a retrieved public address range and contains only the information
|
14267
|
+
# to be updated.
|
14268
|
+
# @param id [String] The public address range identifier.
|
14269
|
+
# @param public_address_range_patch [Hash] The public address range patch.
|
14270
|
+
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
14271
|
+
def update_public_address_range(id:, public_address_range_patch:)
|
14272
|
+
raise ArgumentError.new("version must be provided") if version.nil?
|
14273
|
+
|
14274
|
+
raise ArgumentError.new("generation must be provided") if generation.nil?
|
14275
|
+
|
14276
|
+
raise ArgumentError.new("id must be provided") if id.nil?
|
14277
|
+
|
14278
|
+
raise ArgumentError.new("public_address_range_patch must be provided") if public_address_range_patch.nil?
|
14279
|
+
|
14280
|
+
headers = {
|
14281
|
+
}
|
14282
|
+
sdk_headers = Common.new.get_sdk_headers("vpc", "V1", "update_public_address_range")
|
14283
|
+
headers.merge!(sdk_headers)
|
14284
|
+
|
14285
|
+
params = {
|
14286
|
+
"version" => @version,
|
14287
|
+
"generation" => @generation
|
14288
|
+
}
|
14289
|
+
|
14290
|
+
data = public_address_range_patch
|
14291
|
+
headers["Content-Type"] = "application/merge-patch+json"
|
14292
|
+
|
14293
|
+
method_url = "/public_address_ranges/%s" % [ERB::Util.url_encode(id)]
|
14294
|
+
|
14295
|
+
response = request(
|
14296
|
+
method: "PATCH",
|
14297
|
+
url: method_url,
|
14298
|
+
headers: headers,
|
14299
|
+
params: params,
|
14300
|
+
data: data,
|
14301
|
+
accept_json: true
|
14302
|
+
)
|
14303
|
+
response
|
14304
|
+
end
|
14305
|
+
#########################
|
13895
14306
|
# Network ACLs
|
13896
14307
|
#########################
|
13897
14308
|
|
@@ -18624,6 +19035,10 @@ module IbmVpc
|
|
18624
19035
|
# List endpoint gateways.
|
18625
19036
|
# This request lists endpoint gateways in the region. An endpoint gateway maps one
|
18626
19037
|
# or more reserved IPs in a VPC to a target outside the VPC.
|
19038
|
+
#
|
19039
|
+
# The endpoint gateways will be sorted by their `created_at` property values, with
|
19040
|
+
# newest endpoint gateway first. Endpoint gateways with identical `created_at`
|
19041
|
+
# property values will in turn be sorted by ascending `name` property values.
|
18627
19042
|
# @param name [String] Filters the collection to resources with a `name` property matching the exact
|
18628
19043
|
# specified name.
|
18629
19044
|
# @param start [String] A server-provided token determining what resource to start the page on.
|
@@ -18681,18 +19096,37 @@ module IbmVpc
|
|
18681
19096
|
##
|
18682
19097
|
# @!method create_endpoint_gateway(target:, vpc:, allow_dns_resolution_binding: nil, ips: nil, name: nil, resource_group: nil, security_groups: nil)
|
18683
19098
|
# Create an endpoint gateway.
|
18684
|
-
# This request creates a new endpoint gateway
|
18685
|
-
#
|
19099
|
+
# This request creates a new endpoint gateway from an endpoint gateway prototype
|
19100
|
+
# object. The prototype object is structured in the same way as a retrieved endpoint
|
19101
|
+
# gateway, and contains the information necessary to create a new endpoint gateway.
|
19102
|
+
# An endpoint gateway maps one or more reserved IPs in a VPC to a target service
|
19103
|
+
# outside the VPC.
|
18686
19104
|
# @param target [EndpointGatewayTargetPrototype] The target to use for this endpoint gateway. The target:
|
18687
19105
|
# - Must not already be the target of another endpoint gateway in the VPC
|
18688
|
-
# - Must not have a service endpoint that
|
18689
|
-
#
|
18690
|
-
#
|
19106
|
+
# - Must not have a service endpoint that overlaps with any `service_endpoints` of
|
19107
|
+
# another endpoint gateway in the VPC.
|
19108
|
+
#
|
19109
|
+
# If `allow_dns_resolution_binding` is `true`, then there must not be another
|
19110
|
+
# endpoint
|
19111
|
+
# gateway with `allow_dns_resolution_binding` set to `true` in the [DNS
|
19112
|
+
# sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected topology that:
|
19113
|
+
# - Has the same `target` as this endpoint gateway
|
19114
|
+
# - Has `service_endpoints` that overlap with the `service_endpoints` for this
|
19115
|
+
# endpoint
|
19116
|
+
# gateway.
|
18691
19117
|
# @param vpc [VPCIdentity] The VPC this endpoint gateway will reside in.
|
18692
19118
|
# @param allow_dns_resolution_binding [Boolean] Indicates whether to allow DNS resolution for this endpoint gateway when the VPC
|
18693
19119
|
# this endpoint gateway resides in has a DNS resolution binding to a VPC with
|
18694
19120
|
# `dns.enable_hub` set to `true`.
|
18695
19121
|
#
|
19122
|
+
# If `true`, then there must not be another endpoint gateway with
|
19123
|
+
# `allow_dns_resolution_binding` set to `true` in the [DNS
|
19124
|
+
# sharing](/docs/vpc?topic=vpc-vpe-dns-sharing) connected topology that:
|
19125
|
+
# - Has the same `target` as this endpoint gateway
|
19126
|
+
# - Has `service_endpoints` that overlap with the `service_endpoints` for this
|
19127
|
+
# endpoint
|
19128
|
+
# gateway.
|
19129
|
+
#
|
18696
19130
|
# Must be `true` if the VPC this endpoint gateway resides in has `dns.enable_hub`
|
18697
19131
|
# set to
|
18698
19132
|
# `true`.
|
@@ -18992,7 +19426,10 @@ module IbmVpc
|
|
18992
19426
|
##
|
18993
19427
|
# @!method update_endpoint_gateway(id:, endpoint_gateway_patch:)
|
18994
19428
|
# Update an endpoint gateway.
|
18995
|
-
# This request updates an endpoint gateway
|
19429
|
+
# This request updates an endpoint gateway with the information in a provided
|
19430
|
+
# endpoint gateway patch. The endpoint gateway patch object is structured in the
|
19431
|
+
# same way as a retrieved endpoint gateway and contains only the information to be
|
19432
|
+
# updated.
|
18996
19433
|
# @param id [String] The endpoint gateway identifier.
|
18997
19434
|
# @param endpoint_gateway_patch [Hash] The endpoint gateway patch.
|
18998
19435
|
# @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ibm_vpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dev@ibm.com
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ibm_cloud_sdk_core
|