Repository navigation
v0.75.0
Highlights
-
API version bumped to 2025-11-04
-
New region:
in-che(India, Chennai) added to service URL map. -
VPN Gateway: Advertised CIDRs (route mode) :
ListVPNGatewayAdvertisedCIDRsAddVPNGatewayAdvertisedCIDRCheckVPNGatewayAdvertisedCIDRRemoveVPNGatewayAdvertisedCIDR
-
VPN Gateway: Service Connections
ListVPNGatewayServiceConnectionsGetVPNGatewayServiceConnection
-
Dynamic Route Mode (BGP) plumbing added across models, patches, and prototypes.
-
Optimistic concurrency for VPN gateway connections via optional
If-Matchon DELETE and PATCH. -
Multiple fields tightened from optional → required (potentially breaking).
New Features
VPN Gateway: Advertised CIDRs (Route Mode)
-
Endpoints surfaced with options and models to manage static prefixes advertised by routing protocols:
-
Methods:
ListVPNGatewayAdvertisedCIDRs,AddVPNGatewayAdvertisedCIDR,CheckVPNGatewayAdvertisedCIDR,RemoveVPNGatewayAdvertisedCIDR -
Models/Options:
VPNGatewayAdvertisedCIDRCollectionListVPNGatewayAdvertisedCIDRsOptions,AddVPNGatewayAdvertisedCIDROptions,CheckVPNGatewayAdvertisedCIDROptions,RemoveVPNGatewayAdvertisedCIDROptions
-
VPN Gateway: Service Connections
- Methods:
ListVPNGatewayServiceConnections,GetVPNGatewayServiceConnection - Pagination supported on list (
start,limit). - Options/Models:
ListVPNGatewayServiceConnectionsOptions,GetVPNGatewayServiceConnectionOptions,VPNGatewayServiceConnectionCollection,VPNGatewayServiceConnection
Dynamic Route Mode & BGP
-
New structures to represent dynamic route mode configuration and state:
- Local identity:
VPNGatewayConnectionDynamicRouteModeLocal,...LocalPrototype - Peer side:
VPNGatewayConnectionDynamicRouteModePeer(+ address/fqdn variants) and...PeerPrototype - Tunnel state & prototypes:
VPNGatewayConnectionDynamicRouteModeTunnel,VPNGatewayConnectionTunnel,VPNGatewayConnectionTunnelPrototype
- Local identity:
-
VPNGatewayConnectionPatchgains:routing_protocol("none" | "bgp")tunnels(array ofVPNGatewayConnectionTunnel)
-
VPNGatewayConnectionPrototypegainstunnels(array ofVPNGatewayConnectionTunnelPrototype) -
VPNGatewayConnectionPeerPatchgainsasn(with restricted-ASN guard in docs)
VPN Gateway Model Extensions
-
VPNGatewaynow includes:advertised_cidrs(static prefixes to advertise)local_asn(gateway/local ASN)
New Region
GetServiceURLForRegionnow mapsin-che->https://in-che.iaas.cloud.ibm.com/v1
Enhancements
Concurrency Control on VPN Connections
-
DeleteVPNGatewayConnectionOptionsandUpdateVPNGatewayConnectionOptionsgain optionalIfMatch.- SDK sets
If-Matchheader when provided; delete/update will fail on ETag mismatch.
- SDK sets
Documentation/Comment Clarifications
- Primary IP comments for
CreateInstanceNetworkInterfaceOptionsandNetworkInterfacePrototypereflowed for clarity (no semantic change). InstanceProfileCollection.profilesdescription clarified (“The virtual server instance profiles.”).
Guide
-
Use ETags for safer updates
- For delete/patch on VPN gateway connections, supply the last-seen ETag via
IfMatchto avoid lost updates:
_, err := vpc.UpdateVPNGatewayConnection( &vpcv1.UpdateVPNGatewayConnectionOptions{ VPNGatewayID: core.StringPtr(gwID), ID: core.StringPtr(connID), IfMatch: core.StringPtr(etag), VPNGatewayConnectionPatch: map[string]interface{}{ "routing_protocol": "bgp", }, }, )
- For delete/patch on VPN gateway connections, supply the last-seen ETag via
-
Manage advertised CIDRs
- List/add/check/remove static CIDRs on route-mode gateways:
// Add a prefix _, err := vpc.AddVPNGatewayAdvertisedCIDR( vpc.NewAddVPNGatewayAdvertisedCIDROptions(gwID, "10.10.0.0/16"), ) // Verify presence _, err = vpc.CheckVPNGatewayAdvertisedCIDR( vpc.NewCheckVPNGatewayAdvertisedCIDROptions(gwID, "10.10.0.0/16"), ) // List all col, _, _ := vpc.ListVPNGatewayAdvertisedCIDRs( vpc.NewListVPNGatewayAdvertisedCIDRsOptions(gwID), )
-
Enable dynamic route mode (BGP) tunnels
- When creating or patching route-mode connections using BGP, supply tunnel IPs and, if needed, peer ASN/IKE identity:
tunnel := &vpcv1.VPNGatewayConnectionTunnelPrototype{ NeighborIP: &vpcv1.IP{Address: core.StringPtr("169.254.0.2")}, TunnelInterfaceIP: &vpcv1.IP{Address: core.StringPtr("169.254.0.1")}, } proto := &vpcv1.VPNGatewayConnectionPrototype{ Mode: core.StringPtr("route"), RoutingProtocol: core.StringPtr("bgp"), Tunnels: []vpcv1.VPNGatewayConnectionTunnelPrototype{*tunnel}, }
SDK Summary (Additions)
- Methods:
ListVPNGatewayAdvertisedCIDRs,AddVPNGatewayAdvertisedCIDR,CheckVPNGatewayAdvertisedCIDR,RemoveVPNGatewayAdvertisedCIDR,ListVPNGatewayServiceConnections,GetVPNGatewayServiceConnection - Options:
ListVPNGatewayAdvertisedCIDRsOptions,AddVPNGatewayAdvertisedCIDROptions,CheckVPNGatewayAdvertisedCIDROptions,RemoveVPNGatewayAdvertisedCIDROptions,ListVPNGatewayServiceConnectionsOptions,GetVPNGatewayServiceConnectionOptions - Models / Patches / Prototypes:
VPNGatewayAdvertisedCIDRCollection, dynamic-route models listed above,VPNGateway.advertised_cidrs,VPNGateway.local_asn,VPNGatewayConnectionPatch.routing_protocol,VPNGatewayConnectionPatch.tunnels,VPNGatewayConnectionPeerPatch.asn,VPNGatewayConnectionTunnel(Prototype)