Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
192 commits
Select commit Hold shift + click to select a range
cff05e1
sdk migration test latest
uibm Aug 10, 2022
69681d4
migration to test 24-08-2022 sdk version
uibm Aug 24, 2022
90d65d0
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Aug 24, 2022
48f05cd
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Aug 30, 2022
03396f8
sdk update
uibm Sep 14, 2022
a5844b1
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Sep 14, 2022
6ed390a
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Sep 17, 2022
a15e9ad
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Sep 26, 2022
83c1717
sdk upgrade
uibm Sep 26, 2022
b58a318
Update vpc_v1_test.go
uibm Sep 26, 2022
cefb51c
Update config.go
uibm Sep 26, 2022
00fe1b4
Update config.go
uibm Sep 27, 2022
ad06281
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Oct 17, 2022
26bcf3c
updated sdk
uibm Oct 20, 2022
047f228
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Oct 20, 2022
edee46b
sds
uibm Oct 20, 2022
db6fff7
t2
uibm Oct 20, 2022
94fe343
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Nov 24, 2022
c57815e
updated sdk
uibm Nov 24, 2022
220f036
Update vpc_v1_test.go
uibm Nov 24, 2022
a5e954a
sdk breaking changes
uibm Nov 24, 2022
53501fb
sdk updated
uibm Dec 14, 2022
6d70566
fmt changes
uibm Dec 14, 2022
79643a4
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Dec 15, 2022
f8ae1d4
updated to latest
uibm Dec 15, 2022
0843d77
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jan 12, 2023
ddf5a3b
sdk update
uibm Jan 12, 2023
7cd244d
breaking changes on new sdk 0.30.0
uibm Jan 12, 2023
3274ad5
sdk update
uibm Feb 1, 2023
93953a1
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Feb 1, 2023
53982cf
changes
uibm Feb 1, 2023
ee19387
updated the sdk to latest on 2023-02-07
uibm Feb 8, 2023
7de689d
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Feb 8, 2023
f98e8ea
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Mar 9, 2023
186fcad
sdk update
uibm Mar 9, 2023
e72dbf3
go mod update and breaking change
uibm Mar 9, 2023
7a3f402
updated sdk
uibm Mar 23, 2023
53899b1
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Mar 23, 2023
5397994
breaking change on 0.34.0
uibm Mar 23, 2023
4acbfb9
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Mar 30, 2023
ade36e1
Update vpc_v1.go
uibm Mar 30, 2023
67e8590
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Apr 18, 2023
379fe39
sdk update on 2023-04-18
uibm Apr 18, 2023
8e2eb00
breaking changes
uibm Apr 18, 2023
1a67a0b
Update vpc_v1.go
uibm May 3, 2023
5c144c8
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm May 16, 2023
b2afd1e
Update vpc_v1.go
uibm May 16, 2023
300c2a0
Update vpc_v1.go
uibm May 25, 2023
b3d46fc
Update vpc_v1.go
uibm May 26, 2023
20e448f
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jun 5, 2023
d245cc8
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jul 6, 2023
1d06485
updated sdk
uibm Jul 6, 2023
68b7035
breaking change
uibm Jul 6, 2023
7f1a19c
Update vpc_v1.go
uibm Jul 12, 2023
84431f3
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jul 21, 2023
86ac97b
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Aug 4, 2023
576ed88
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Aug 4, 2023
a565b0f
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Sep 21, 2023
f86a7e0
udpated sdk
uibm Sep 21, 2023
4222aaa
Update go.mod
uibm Sep 21, 2023
2249fc8
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Nov 16, 2023
1a39d96
updated
uibm Nov 16, 2023
759bb13
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Nov 20, 2023
9689671
sdk update
uibm Nov 23, 2023
3371088
Update go.mod
uibm Nov 23, 2023
88e4781
Update resource_ibm_is_vpc_dns_resolution_binding.go
uibm Nov 23, 2023
53aaefd
Merge branch 'migration-go-sdk-0.44' into migration-PR-sdk-test-donot…
uibm Nov 23, 2023
45d2f8c
Update vpc_v1.go
uibm Dec 6, 2023
46deb02
Update vpc_v1.go
uibm Dec 6, 2023
9548a72
Update go.sum
uibm Dec 6, 2023
45f4c86
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Dec 14, 2023
c7d76f9
migration
uibm Dec 14, 2023
8443c01
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Dec 15, 2023
856079b
Update vpc_v1.go
uibm Dec 15, 2023
9fcdfa4
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Dec 18, 2023
22e6146
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Dec 19, 2023
6c1a940
Update vpc_v1.go
uibm Dec 20, 2023
977ce3a
migration updated
uibm Dec 20, 2023
6bbf648
Update build.sh
uibm Jan 24, 2024
cfd03c8
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jan 25, 2024
f7a9d9c
Update vpc_v1.go
uibm Jan 29, 2024
adc69cc
Update vpc_v1.go
uibm Jan 29, 2024
9f12a08
Update go.mod
uibm Jan 29, 2024
b15e759
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Mar 5, 2024
a21f46b
updated sdk
uibm Mar 5, 2024
909cb1f
breaking changes
uibm Mar 5, 2024
ff09301
sdk changes
uibm Mar 6, 2024
021de53
Update resource_ibm_is_snapshot_consistency_group.go
uibm Mar 6, 2024
1fef14e
vpn 113 changes
uibm Mar 6, 2024
38b7e55
Update resource_ibm_is_vpn_gateway_connections.go
uibm Mar 7, 2024
c09ce16
some changes
uibm Mar 7, 2024
bb59aae
updated sdk
uibm Mar 8, 2024
a55ea87
Added deprecation
uibm Mar 8, 2024
d3dbb79
made changes to sdk
uibm Mar 8, 2024
01883f8
Update resource_ibm_is_vpn_gateway_connections.go
uibm Mar 8, 2024
ad9cc50
Update resource_ibm_is_vpn_gateway_connections.go
uibm Mar 8, 2024
487cdc1
Update resource_ibm_is_vpn_gateway_connections.go
uibm Mar 8, 2024
afb2e0a
Update is_vpn_gateway_connection.html.markdown
uibm Mar 14, 2024
b76e6ce
Merge branch 'master' into vpn-advanceconfig
uibm Mar 14, 2024
58f1439
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Mar 19, 2024
bc40a41
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Mar 20, 2024
3c737fd
uodated sdk
uibm Mar 20, 2024
2cf5578
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Mar 26, 2024
411cc63
0.50.0 breaking changes
uibm Mar 26, 2024
60e0299
test
uibm Mar 28, 2024
963e68e
sdk update
uibm Apr 1, 2024
ada59c0
sdk changes
uibm Apr 1, 2024
4f32b5a
set version to todays date in sdk
deepaksibm Apr 8, 2024
f594a92
temporary fix for routing protocol in sdk.
deepaksibm Apr 12, 2024
5d3061e
Merge remote-tracking branch 'origin/buildsh-forbinaries' into vpn-ad…
uibm Apr 17, 2024
744f904
error resolved
uibm Apr 25, 2024
d7d7765
go mod changes reverted
uibm Apr 25, 2024
3a4488e
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm May 2, 2024
6d15d7c
removed sdk
uibm May 14, 2024
a3d9f9d
Merge branch 'master' into vpn-advanceconfig
uibm May 14, 2024
12b531e
Update go.sum
uibm May 14, 2024
449c375
Update data_source_ibm_is_vpn_gateway_connection.go
uibm May 15, 2024
4816252
fixed datasource errors
uibm May 15, 2024
2ffd72b
gateway fix
uibm May 15, 2024
97aae00
Update resource_ibm_is_vpn_gateway_connections.go
uibm May 15, 2024
2fb797f
Merge branch 'master' into vpn-advanceconfig
uibm May 15, 2024
50ca95d
Update resource_ibm_is_vpn_gateway_connections.go
uibm May 15, 2024
0758a90
Merge branch 'master' into vpn-advanceconfig
uibm May 15, 2024
3a0f48e
Update resource_ibm_is_vpn_gateway_connections.go
uibm May 15, 2024
695b648
Merge branch 'master' into vpn-advanceconfig
uibm May 21, 2024
8b0e38c
Update provider.go
uibm May 21, 2024
c77ce8f
Update resource_ibm_is_vpn_gateway_connections.go
uibm May 21, 2024
e1ec21e
fixed error on setting
uibm May 22, 2024
99f31a2
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm May 28, 2024
8ace53f
fixed cidrs issue
uibm May 30, 2024
2a3bfb2
Update resource_ibm_is_vpn_gateway_connections.go
uibm May 30, 2024
2702764
Update resource_ibm_is_vpn_gateway_connection_test.go
uibm May 31, 2024
feaa6c4
Update resource_ibm_is_vpn_gateway_connection_test.go
uibm May 31, 2024
b324442
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jun 5, 2024
3c247d8
Merge branch 'vpn-advanceconfig' into migration-PR-sdk-test-donot-delete
uibm Jun 5, 2024
f9df649
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jun 14, 2024
ff48e0b
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jul 4, 2024
6b743a9
updated sdk
uibm Jul 4, 2024
813d757
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Aug 27, 2024
c774fc4
Update vpc_v1.go
uibm Aug 27, 2024
4c2e8a7
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Sep 3, 2024
348c217
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Sep 11, 2024
15c6b56
sdk breaking changes
uibm Sep 3, 2024
13e65c3
Update vpc_v1.go
uibm Sep 11, 2024
d692d7f
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Oct 4, 2024
0a715ae
updated the sdk
uibm Oct 4, 2024
e8eedea
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Nov 13, 2024
33c314f
Update vpc_v1.go
uibm Nov 13, 2024
70b4997
SDK breaking changes
uibm Nov 13, 2024
49bcbe1
reverted share profile default changes
uibm Nov 14, 2024
5cf7955
migrated to 0.62.0
uibm Nov 14, 2024
5a3fbdc
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Nov 20, 2024
c6afc19
updated sdk
uibm Nov 20, 2024
141dff6
breaking changes
uibm Nov 20, 2024
8d4770e
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Dec 17, 2024
fc014af
breaking changes for 0.64.0
uibm Dec 18, 2024
d6fa93d
updated go mod with the release
uibm Dec 19, 2024
99d1b6f
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jan 9, 2025
b4f7901
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Mar 10, 2025
7337d9b
migration 0.65
uibm Mar 10, 2025
069515c
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Apr 2, 2025
bb508e2
fixed
uibm Apr 2, 2025
d1d18db
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Apr 10, 2025
a7a1087
Update vpc_v1.go
uibm Apr 10, 2025
a59fd5c
Update go.mod
uibm Apr 10, 2025
6bb48b1
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Apr 11, 2025
faf2cd4
Merge branch 'master' into migration-PR-sdk-test-donot-delete
keerthi-gp Apr 28, 2025
4e6b913
Update vpc_v1.go
uibm Jul 10, 2025
59a556d
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jul 10, 2025
fd21290
Update go.mod
uibm Jul 10, 2025
d6d3afc
breaking change
uibm Jul 10, 2025
6fc7028
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Jul 15, 2025
1d8f549
updated SDK
uibm Jul 15, 2025
239ba63
Update vpc_v1.go
uibm Jul 15, 2025
2ba4e77
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Aug 4, 2025
fa31afe
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Aug 7, 2025
cb5a32a
Update go.mod
uibm Aug 7, 2025
5f25a6f
Merge branch 'master' into migration-PR-sdk-test-donot-delete
uibm Aug 25, 2025
ad20d1f
Added endpoint-gateway resource-bindings breaking changes
uibm Aug 25, 2025
8518187
Merge branch 'master' into eg-resource-binding
uibm Aug 26, 2025
ff751db
Merge branch 'master' into eg-resource-binding
uibm Nov 6, 2025
c61cdec
remaining
uibm Nov 6, 2025
3ff2407
Merge branch 'master' into eg-resource-binding
uibm Nov 6, 2025
f207884
renamed files
uibm Nov 6, 2025
a90f25b
Update provider.go
uibm Nov 6, 2025
d2752e3
Update vpc_v1.go
uibm Nov 6, 2025
b85545c
Update vpc_v1.go
uibm Nov 6, 2025
76d9bbc
Update vpc_v1.go
uibm Nov 6, 2025
770b2b6
renmaed
uibm Nov 6, 2025
02c0e8a
Update resource_ibm_is_virtual_endpoint_gateway_test.go
uibm Nov 6, 2025
c42b0c4
updated sdk version
uibm Nov 19, 2025
798286f
Merge branch 'master' into eg-resource-binding
uibm Nov 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ require (
github.com/IBM/secrets-manager-go-sdk/v2 v2.0.15
github.com/IBM/vmware-go-sdk v0.1.5
github.com/IBM/vpc-beta-go-sdk v0.8.0
github.com/IBM/vpc-go-sdk v0.75.0
github.com/IBM/vpc-go-sdk v0.76.0
github.com/ScaleFT/sshkeys v0.0.0-20200327173127-6142f742bca5
github.com/akamai/AkamaiOPEN-edgegrid-golang v1.2.2
github.com/akamai/AkamaiOPEN-edgegrid-golang/v5 v5.0.0
Expand Down
6 changes: 2 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -168,10 +168,8 @@ github.com/IBM/vmware-go-sdk v0.1.5 h1:aQbwcJBceaaauuIoJ0OJn+ttwjb+QTX6XV9Jbrdpj
github.com/IBM/vmware-go-sdk v0.1.5/go.mod h1:OyQKRInGGsBaOyE5LIZCqH7b1DZ01BvIYa8BgGy+wWo=
github.com/IBM/vpc-beta-go-sdk v0.8.0 h1:cEPpv4iw3Ba5W2d0AWg3TIbKeJ8y1nPuUuibR5Jt9eE=
github.com/IBM/vpc-beta-go-sdk v0.8.0/go.mod h1:hORgIyTFRzXrZIK9IohaWmCRBBlYiDRagsufi7M6akE=
github.com/IBM/vpc-go-sdk v0.74.1 h1:qkWwdlILx3ZVNWht96CdlPKwhKL/y3ItN6XmwJ1rShM=
github.com/IBM/vpc-go-sdk v0.74.1/go.mod h1:8lX6TpeYBbx1Vd4KTgM3PPQ4y3auGOPuD6qq3UBDdug=
github.com/IBM/vpc-go-sdk v0.75.0 h1:8s11vR30n0eY9ptf6Osh9Bw13okhMVasb/KX9M52LEg=
github.com/IBM/vpc-go-sdk v0.75.0/go.mod h1:8lX6TpeYBbx1Vd4KTgM3PPQ4y3auGOPuD6qq3UBDdug=
github.com/IBM/vpc-go-sdk v0.76.0 h1:iuiUaGPs9ngfMZ4HkT9fVz/GX/03S2vB9BZ7Rgj+/4U=
github.com/IBM/vpc-go-sdk v0.76.0/go.mod h1:8lX6TpeYBbx1Vd4KTgM3PPQ4y3auGOPuD6qq3UBDdug=
github.com/Logicalis/asn1 v0.0.0-20190312173541-d60463189a56 h1:vuquMR410psHNax14XKNWa0Ae/kYgWJcXi0IFuX60N0=
github.com/Logicalis/asn1 v0.0.0-20190312173541-d60463189a56/go.mod h1:Zb3OT4l0mf7P/GOs2w2Ilj5sdm5Whoq3pa24dAEBHFc=
github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
Expand Down
36 changes: 21 additions & 15 deletions ibm/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -539,21 +539,25 @@ func Provider() *schema.Provider {
"ibm_is_instance_group_manager_policy": vpc.DataSourceIBMISInstanceGroupManagerPolicy(),
"ibm_is_instance_group_manager_action": vpc.DataSourceIBMISInstanceGroupManagerAction(),
"ibm_is_instance_group_manager_actions": vpc.DataSourceIBMISInstanceGroupManagerActions(),
"ibm_is_virtual_endpoint_gateways": vpc.DataSourceIBMISEndpointGateways(),
"ibm_is_virtual_endpoint_gateway_ips": vpc.DataSourceIBMISEndpointGatewayIPs(),
"ibm_is_virtual_endpoint_gateway": vpc.DataSourceIBMISEndpointGateway(),
"ibm_is_instance_template": vpc.DataSourceIBMISInstanceTemplate(),
"ibm_is_instance_templates": vpc.DataSourceIBMISInstanceTemplates(),
"ibm_is_instance_profile": vpc.DataSourceIBMISInstanceProfile(),
"ibm_is_instance_profiles": vpc.DataSourceIBMISInstanceProfiles(),
"ibm_is_instance": vpc.DataSourceIBMISInstance(),
"ibm_is_instances": vpc.DataSourceIBMISInstances(),
"ibm_is_instance_network_attachment": vpc.DataSourceIBMIsInstanceNetworkAttachment(),
"ibm_is_instance_network_attachments": vpc.DataSourceIBMIsInstanceNetworkAttachments(),
"ibm_is_instance_network_interface": vpc.DataSourceIBMIsInstanceNetworkInterface(),
"ibm_is_instance_network_interfaces": vpc.DataSourceIBMIsInstanceNetworkInterfaces(),
"ibm_is_instance_disk": vpc.DataSourceIbmIsInstanceDisk(),
"ibm_is_instance_disks": vpc.DataSourceIbmIsInstanceDisks(),
// vpe resource bindings
"ibm_is_virtual_endpoint_gateway_resource_binding": vpc.DataSourceIBMIsVirtualEndpointGatewayResourceBinding(),
"ibm_is_virtual_endpoint_gateway_resource_bindings": vpc.DataSourceIBMIsVirtualEndpointGatewayResourceBindings(),

"ibm_is_virtual_endpoint_gateways": vpc.DataSourceIBMISEndpointGateways(),
"ibm_is_virtual_endpoint_gateway_ips": vpc.DataSourceIBMISEndpointGatewayIPs(),
"ibm_is_virtual_endpoint_gateway": vpc.DataSourceIBMISEndpointGateway(),
"ibm_is_instance_template": vpc.DataSourceIBMISInstanceTemplate(),
"ibm_is_instance_templates": vpc.DataSourceIBMISInstanceTemplates(),
"ibm_is_instance_profile": vpc.DataSourceIBMISInstanceProfile(),
"ibm_is_instance_profiles": vpc.DataSourceIBMISInstanceProfiles(),
"ibm_is_instance": vpc.DataSourceIBMISInstance(),
"ibm_is_instances": vpc.DataSourceIBMISInstances(),
"ibm_is_instance_network_attachment": vpc.DataSourceIBMIsInstanceNetworkAttachment(),
"ibm_is_instance_network_attachments": vpc.DataSourceIBMIsInstanceNetworkAttachments(),
"ibm_is_instance_network_interface": vpc.DataSourceIBMIsInstanceNetworkInterface(),
"ibm_is_instance_network_interfaces": vpc.DataSourceIBMIsInstanceNetworkInterfaces(),
"ibm_is_instance_disk": vpc.DataSourceIbmIsInstanceDisk(),
"ibm_is_instance_disks": vpc.DataSourceIbmIsInstanceDisks(),

// reserved ips
"ibm_is_instance_network_interface_reserved_ip": vpc.DataSourceIBMISInstanceNICReservedIP(),
Expand Down Expand Up @@ -1367,6 +1371,7 @@ func Provider() *schema.Provider {
"ibm_is_instance_group_manager_policy": vpc.ResourceIBMISInstanceGroupManagerPolicy(),
"ibm_is_instance_group_manager_action": vpc.ResourceIBMISInstanceGroupManagerAction(),
"ibm_is_instance_volume_attachment": vpc.ResourceIBMISInstanceVolumeAttachment(),
"ibm_is_virtual_endpoint_gateway_resource_binding": vpc.ResourceIBMIsVirtualEndpointGatewayResourceBinding(),
"ibm_is_virtual_endpoint_gateway": vpc.ResourceIBMISEndpointGateway(),
"ibm_is_virtual_endpoint_gateway_ip": vpc.ResourceIBMISEndpointGatewayIP(),
"ibm_is_instance_template": vpc.ResourceIBMISInstanceTemplate(),
Expand Down Expand Up @@ -2161,6 +2166,7 @@ func Validator() validate.ValidatorDict {
"ibm_schematics_policy": schematics.ResourceIbmSchematicsPolicyValidator(),
"ibm_resource_instance": resourcecontroller.ResourceIBMResourceInstanceValidator(),
"ibm_resource_key": resourcecontroller.ResourceIBMResourceKeyValidator(),
"ibm_is_virtual_endpoint_gateway_resource_binding": vpc.ResourceIBMIsVirtualEndpointGatewayResourceBindingValidator(),
"ibm_is_virtual_endpoint_gateway": vpc.ResourceIBMISEndpointGatewayValidator(),
"ibm_resource_tag": globaltagging.ResourceIBMResourceTagValidator(),
"ibm_iam_access_tag": globaltagging.ResourceIBMIamAccessTagValidator(),
Expand Down
34 changes: 33 additions & 1 deletion ibm/service/vpc/data_source_ibm_is_virtual_endpoint_gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,14 @@ func DataSourceIBMISEndpointGateway() *schema.Resource {
isVirtualEndpointGatewayAllowDnsResolutionBinding: {
Type: schema.TypeBool,
Computed: true,
Deprecated: "This property has been deprecated in favor of dns_resolution_binding_mode.",
Description: "Indicates whether to allow this endpoint gateway to participate in DNS resolution bindings with a VPC that has dns.enable_hub set to true.",
},
"dns_resolution_binding_mode": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The DNS resolution binding mode used for this endpoint gateway:- `disabled`: The endpoint gateway is not participating in [DNS sharing for VPE gateways](/docs/vpc?topic=vpc-vpe-dns-sharing).- `primary`: The endpoint gateway is participating in [DNS sharing for VPE gateways] (/docs/vpc?topic=vpc-vpe-dns-sharing) if the VPC this endpoint gateway resides in has a DNS resolution binding to another VPC.- `per_resource_binding`: The endpoint gateway is participating in [DNS sharing for VPE gateways](/docs/vpc?topic=vpc-vpe-dns-sharing) if the VPC this endpoint gateway resides in has a DNS resolution binding to another VPC, and resource binding is enabled for the `target` service.",
},
isVirtualEndpointGatewayIPs: {
Type: schema.TypeList,
Computed: true,
Expand Down Expand Up @@ -209,7 +215,20 @@ func dataSourceIBMISEndpointGatewayRead(
result := allrecs[0]
d.SetId(*result.ID)
d.Set(isVirtualEndpointGatewayName, result.Name)
d.Set(isVirtualEndpointGatewayAllowDnsResolutionBinding, result.AllowDnsResolutionBinding)
// Handle the new dns_resolution_binding_mode field
// Handle the new dns_resolution_binding_mode field (API now only returns this field)
if result.DnsResolutionBindingMode != nil && *result.DnsResolutionBindingMode != "" {
if err = d.Set("dns_resolution_binding_mode", *result.DnsResolutionBindingMode); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting dns_resolution_binding_mode: %s", err), "(Data) ibm_is_virtual_endpoint_gateway", "read", "set-dns_resolution_binding_mode").GetDiag()
}

// Compute and set deprecated field for backward compatibility in Terraform state
allowDnsResolutionBinding := mapDnsResolutionBindingModeToBoolean(*result.DnsResolutionBindingMode)
if err = d.Set(isVirtualEndpointGatewayAllowDnsResolutionBinding, allowDnsResolutionBinding); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting allow_dns_resolution_binding: %s", err), "(Data) ibm_is_virtual_endpoint_gateway", "read", "set-allow_dns_resolution_binding").GetDiag()
}
}

d.Set(isVirtualEndpointGatewayCRN, result.CRN)
d.Set(isVirtualEndpointGatewayHealthState, result.HealthState)
d.Set(isVirtualEndpointGatewayCreatedAt, result.CreatedAt.String())
Expand Down Expand Up @@ -243,3 +262,16 @@ func dataSourceIBMISEndpointGatewayRead(
}
return nil
}

// Helper functions for field mapping during migration period
func mapDnsResolutionBindingModeToBoolean(mode string) bool {
switch mode {
case "disabled":
return false
case "primary", "per_resource_binding":
return true
default:
// Default to false for unknown values
return false
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
// Copyright IBM Corp. 2025 All Rights Reserved.
// Licensed under the Mozilla Public License v2.0

/*
* IBM OpenAPI Terraform Generator Version: 3.107.1-41b0fbd0-20250825-080732
*/

package vpc

import (
"context"
"fmt"
"log"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"

"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
"github.com/IBM/vpc-go-sdk/vpcv1"
)

func DataSourceIBMIsVirtualEndpointGatewayResourceBinding() *schema.Resource {
return &schema.Resource{
ReadContext: dataSourceIBMIsVirtualEndpointGatewayResourceBindingRead,

Schema: map[string]*schema.Schema{
"endpoint_gateway_id": &schema.Schema{
Type: schema.TypeString,
Required: true,
Description: "The endpoint gateway identifier.",
},
"endpoint_gateway_resource_binding_id": &schema.Schema{
Type: schema.TypeString,
Required: true,
Description: "The resource binding identifier.",
},
"created_at": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The date and time that the resource binding was created.",
},
"href": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The URL for this endpoint gateway resource binding.",
},
"lifecycle_reasons": &schema.Schema{
Type: schema.TypeList,
Computed: true,
Description: "The reasons for the current `lifecycle_state` (if any).",
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"code": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "A reason code for this lifecycle state:- `internal_error`: internal error (contact IBM support)- `resource_suspended_by_provider`: The resource has been suspended (contact IBM support)The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
},
"message": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "An explanation of the reason for this lifecycle state.",
},
"more_info": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "A link to documentation about the reason for this lifecycle state.",
},
},
},
},
"lifecycle_state": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The lifecycle state of the resource binding.",
},
"name": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The name for this resource binding. The name is unique across all resource bindings for the endpoint gateway.",
},
"resource_type": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The resource type.",
},
"service_endpoint": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The fully qualified domain name of the service endpoint for the resource targeted by this resource binding.",
},
"target": &schema.Schema{
Type: schema.TypeList,
Computed: true,
Description: "The target for this endpoint gateway resource binding.",
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"crn": &schema.Schema{
Type: schema.TypeString,
Computed: true,
},
},
},
},
"type": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The type of resource binding:- `weak`: The binding is not dependent on the existence of the target resource.The enumerated values for this property may[expand](https://cloud.ibm.com/apidocs/vpc#property-value-expansion) in the future.",
},
},
}
}

func dataSourceIBMIsVirtualEndpointGatewayResourceBindingRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
vpcClient, err := meta.(conns.ClientSession).VpcV1API()
if err != nil {
tfErr := flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "initialize-client")
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
return tfErr.GetDiag()
}

getEndpointGatewayResourceBindingOptions := &vpcv1.GetEndpointGatewayResourceBindingOptions{}

getEndpointGatewayResourceBindingOptions.SetEndpointGatewayID(d.Get("endpoint_gateway_id").(string))
getEndpointGatewayResourceBindingOptions.SetID(d.Get("endpoint_gateway_resource_binding_id").(string))

endpointGatewayResourceBinding, _, err := vpcClient.GetEndpointGatewayResourceBindingWithContext(context, getEndpointGatewayResourceBindingOptions)
if err != nil {
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetEndpointGatewayResourceBindingWithContext failed: %s", err.Error()), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read")
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
return tfErr.GetDiag()
}

d.SetId(fmt.Sprintf("%s/%s", *getEndpointGatewayResourceBindingOptions.EndpointGatewayID, *getEndpointGatewayResourceBindingOptions.ID))

if err = d.Set("created_at", flex.DateTimeToString(endpointGatewayResourceBinding.CreatedAt)); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting created_at: %s", err), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "set-created_at").GetDiag()
}

if err = d.Set("href", endpointGatewayResourceBinding.Href); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting href: %s", err), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "set-href").GetDiag()
}

lifecycleReasons := []map[string]interface{}{}
for _, lifecycleReasonsItem := range endpointGatewayResourceBinding.LifecycleReasons {
lifecycleReasonsItemMap, err := DataSourceIBMIsVirtualEndpointGatewayResourceBindingEndpointGatewayResourceBindingLifecycleReasonToMap(&lifecycleReasonsItem) // #nosec G601
if err != nil {
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "lifecycle_reasons-to-map").GetDiag()
}
lifecycleReasons = append(lifecycleReasons, lifecycleReasonsItemMap)
}
if err = d.Set("lifecycle_reasons", lifecycleReasons); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting lifecycle_reasons: %s", err), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "set-lifecycle_reasons").GetDiag()
}

if err = d.Set("lifecycle_state", endpointGatewayResourceBinding.LifecycleState); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting lifecycle_state: %s", err), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "set-lifecycle_state").GetDiag()
}

if err = d.Set("name", endpointGatewayResourceBinding.Name); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "set-name").GetDiag()
}

if err = d.Set("resource_type", endpointGatewayResourceBinding.ResourceType); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting resource_type: %s", err), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "set-resource_type").GetDiag()
}

if err = d.Set("service_endpoint", endpointGatewayResourceBinding.ServiceEndpoint); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting service_endpoint: %s", err), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "set-service_endpoint").GetDiag()
}

target := []map[string]interface{}{}
targetMap, err := DataSourceIBMIsVirtualEndpointGatewayResourceBindingEndpointGatewayResourceBindingTargetToMap(endpointGatewayResourceBinding.Target)
if err != nil {
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "target-to-map").GetDiag()
}
target = append(target, targetMap)
if err = d.Set("target", target); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting target: %s", err), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "set-target").GetDiag()
}

if err = d.Set("type", endpointGatewayResourceBinding.Type); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting type: %s", err), "(Data) ibm_is_virtual_endpoint_gateway_resource_binding", "read", "set-type").GetDiag()
}

return nil
}

func DataSourceIBMIsVirtualEndpointGatewayResourceBindingEndpointGatewayResourceBindingLifecycleReasonToMap(model *vpcv1.EndpointGatewayResourceBindingLifecycleReason) (map[string]interface{}, error) {
modelMap := make(map[string]interface{})
modelMap["code"] = *model.Code
modelMap["message"] = *model.Message
if model.MoreInfo != nil {
modelMap["more_info"] = *model.MoreInfo
}
return modelMap, nil
}

func DataSourceIBMIsVirtualEndpointGatewayResourceBindingEndpointGatewayResourceBindingTargetToMap(model vpcv1.EndpointGatewayResourceBindingTargetIntf) (map[string]interface{}, error) {
if _, ok := model.(*vpcv1.EndpointGatewayResourceBindingTargetCRN); ok {
return DataSourceIBMIsVirtualEndpointGatewayResourceBindingEndpointGatewayResourceBindingTargetCRNToMap(model.(*vpcv1.EndpointGatewayResourceBindingTargetCRN))
} else if _, ok := model.(*vpcv1.EndpointGatewayResourceBindingTarget); ok {
modelMap := make(map[string]interface{})
model := model.(*vpcv1.EndpointGatewayResourceBindingTarget)
if model.CRN != nil {
modelMap["crn"] = *model.CRN
}
return modelMap, nil
} else {
return nil, fmt.Errorf("Unrecognized vpcv1.EndpointGatewayResourceBindingTargetIntf subtype encountered")
}
}

func DataSourceIBMIsVirtualEndpointGatewayResourceBindingEndpointGatewayResourceBindingTargetCRNToMap(model *vpcv1.EndpointGatewayResourceBindingTargetCRN) (map[string]interface{}, error) {
modelMap := make(map[string]interface{})
modelMap["crn"] = *model.CRN
return modelMap, nil
}
Loading
Loading