Skip to content

fix(deps): update module github.com/ibm/vpc-go-sdk to v0.93.0 - #657

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/github.com-ibm-vpc-go-sdk-0.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/github.com-ibm-vpc-go-sdk-0.x

Conversation

@renovate

@renovate renovate Bot commented Apr 27, 2026 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
github.com/IBM/vpc-go-sdk v0.69.1 → v0.93.0 age confidence

Release Notes

IBM/vpc-go-sdk (github.com/IBM/vpc-go-sdk)

v0.93.0

Compare Source

What's Changed

SDK Version
  • Updated from 0.92.0 to 0.93.0
API Version
  • Updated from 2026-09-24 to 2026-10-06
Breaking Changes
VPN Gateways — Subnet Field Made Optional (nil-subnet Hazard)

The Subnet property of both VPNGateway and VPNGatewayPrototype has been made optional (the SDK field now has the omitempty JSON tag and validation was relaxed).

With the introduction of Regional VPN Gateways (which span across multiple zones and are not bound to a single subnet), the API returns null for this field when regional gateways are listed or retrieved.

  • Critical Hazard: Any existing client code that dereferences Subnet fields directly (e.g., *gateway.Subnet.ID or *gateway.Subnet.Name) without a safety check will panic at runtime with a nil pointer dereference when processing regional VPN gateways.
Field / Model Old Validation Tag New Validation Tag Runtime Behavior
VPNGateway.Subnet json:"subnet" validate:"required" json:"subnet,omitempty" nil for regional gateways; populated for zonal gateways
VPNGatewayPrototype.Subnet json:"subnet" validate:"required" json:"subnet,omitempty" nil for regional gateways; populated for zonal gateways
Polymorphic VPN Gateway Structure Redesign — Struct Deletions

To support zonal and regional gateways cleanly, the polymorphic inheritance model for VPN Gateways was completely updated. The old mode-specific structures and constructors have been removed in favor of new availability-mode polymorphic structures.

The following structures have been deleted from the SDK:

  • VPNGatewayPolicyMode (replaced by VPNGatewayZonalAvailabilityModeVPNGatewayPolicyMode and generic interface models)
  • VPNGatewayRouteMode (replaced by VPNGatewayZonalAvailabilityModeVPNGatewayRouteMode / VPNGatewayRegionalAvailabilityModeVPNGatewayRouteMode)
  • VPNGatewayPrototypeVPNGatewayPolicyModePrototype
  • VPNGatewayPrototypeVPNGatewayRouteModePrototype

The following initializers and constructors have been deleted:

  • (*VpcV1).NewVPNGatewayPrototypeVPNGatewayPolicyModePrototype
  • (*VpcV1).NewVPNGatewayPrototypeVPNGatewayRouteModePrototype
  • UnmarshalVPNGatewayPolicyMode, UnmarshalVPNGatewayRouteMode, UnmarshalVPNGatewayPrototypeVPNGatewayPolicyModePrototype, UnmarshalVPNGatewayPrototypeVPNGatewayRouteModePrototype

Customer code referencing these deleted types or using their original constructors will fail to compile.

VPN Gateway Member Private IP Type Change

The PrivateIP property on VPNGatewayMember has changed its type from *ReservedIPReference to *ReservedIPReferenceVPNGatewayMemberContext. This is a compile-time breaking type change for any client code explicitly assigning or type-asserting this nested property.


New Features
VPN Gateway Availability Modes (Zonal & Regional)
  • Added support for Regional VPN Gateways (spanning zones for high availability) alongside traditional Zonal VPN Gateways.
  • Added the AvailabilityMode property to VPNGateway, VPNGatewayPrototype, and VPNGatewayPatch to specify and view the gateway's availability mode (zonal or regional).
Per-Member VPN Gateway Management
  • Added support for managing and querying individual members of a VPN Gateway.
  • New API Methods:
    • ListVPNGatewayMembers / ListVPNGatewayMembersWithContext
    • GetVPNGatewayMember / GetVPNGatewayMemberWithContext
    • ReplaceVPNGatewayMember / ReplaceVPNGatewayMemberWithContext
  • New Option/Payload Structures:
    • ListVPNGatewayMembersOptions
    • GetVPNGatewayMemberOptions
    • ReplaceVPNGatewayMemberOptions
    • VPNGatewayMemberCollection
    • VPNGatewayMemberPrototype
    • VPNGatewayMemberPrivateIPPrototype / VPNGatewayMemberPrivateIPPrototypeReservedIPPrototypeVPNGatewayContext

Migration Examples
// ────────────────────────────────────────────────────────────
// VPN Gateway Subnet: before (SDK ≤ 0.92.0)
// ────────────────────────────────────────────────────────────
// Assumed subnet was always present; will panic on regional gateways:
subnetID := *gateway.Subnet.ID // ❌ Will panic if gateway is regional

// ────────────────────────────────────────────────────────────
// VPN Gateway Subnet: after (SDK 0.93.0)
// ────────────────────────────────────────────────────────────
// Always use a nil check before accessing subnet fields:
var subnetID string
if gateway.Subnet != nil {
    subnetID = *gateway.Subnet.ID
    fmt.Println("Zonal Gateway Subnet ID:", subnetID)
} else {
    fmt.Println("Regional Gateway (no single subnet)")
}

// ────────────────────────────────────────────────────────────
// Creating a Zonal VPN Gateway: before (SDK ≤ 0.92.0)
// ────────────────────────────────────────────────────────────
proto, err := vpcService.NewVPNGatewayPrototypeVPNGatewayRouteModePrototype(subnetIdentity) // ❌ Deleted constructor

// ────────────────────────────────────────────────────────────
// Creating a Zonal VPN Gateway: after (SDK 0.93.0)
// ────────────────────────────────────────────────────────────
// Use the new zonal availability constructors:
proto, err := vpcService.NewVPNGatewayPrototypeVPNGatewayZonalAvailabilityModeBySubnetVPNGatewayZonalAvailabilityModeBySubnetVPNGatewayRouteModePrototype(subnetIdentity)

Affected Methods

The following SDK methods return VPNGateway / VPNGatewayPrototype related resources and are affected by the Subnet, AvailabilityMode, and Members changes:

  • ListVPNGateways / ListVPNGatewaysWithPager
  • GetVPNGateway
  • CreateVPNGateway
  • UpdateVPNGateway

v0.92.0

Compare Source

What's Changed

API Version
  • Updated from 2026-09-01 to 2026-09-24
Breaking Changes

N/A

New Features
Snapshot Software Attachments

New SDK support for managing software attachments on snapshots. Software attachments track catalog offering entitlements (licensable software) associated with a snapshot.

New methods:

Method Description
ListSnapshotSoftwareAttachments / ListSnapshotSoftwareAttachmentsWithContext List all software attachments for a snapshot
GetSnapshotSoftwareAttachment / GetSnapshotSoftwareAttachmentWithContext Retrieve a single snapshot software attachment by ID
UpdateSnapshotSoftwareAttachment / UpdateSnapshotSoftwareAttachmentWithContext Update a snapshot software attachment

New types:

Type Description
SnapshotSoftwareAttachment Represents a software attachment on a snapshot
SnapshotSoftwareAttachmentCollection Collection returned by the list method
SnapshotSoftwareAttachmentReference Lightweight reference to a snapshot software attachment
SnapshotSoftwareAttachmentPatch Patch object for update operations
SnapshotSoftwareAttachmentCatalogOffering Catalog offering (version + optional billing plan) linked to the attachment
SnapshotSoftwareAttachmentEntitlement Entitlement details for the attachment's licensable software
SnapshotSoftwareAttachmentEntitlementLicensableSoftware Licensable software details within the entitlement
SnapshotSoftwareAttachmentEntitlementLicensableSoftwareVendor Vendor details for the licensable software

New options types:

  • ListSnapshotSoftwareAttachmentsOptions
  • GetSnapshotSoftwareAttachmentOptions
  • UpdateSnapshotSoftwareAttachmentOptions

New field on Snapshot struct:

  • SoftwareAttachments []SnapshotSoftwareAttachmentReference — the software attachments associated with this snapshot
Volume Software Attachments

New SDK support for managing software attachments on volumes, mirroring the snapshot capability.

New methods:

Method Description
ListVolumeSoftwareAttachments / ListVolumeSoftwareAttachmentsWithContext List all software attachments for a volume
GetVolumeSoftwareAttachment / GetVolumeSoftwareAttachmentWithContext Retrieve a single volume software attachment by ID
UpdateVolumeSoftwareAttachment / UpdateVolumeSoftwareAttachmentWithContext Update a volume software attachment

New types:

Type Description
VolumeSoftwareAttachment Represents a software attachment on a volume
VolumeSoftwareAttachmentCollection Collection returned by the list method
VolumeSoftwareAttachmentReference Lightweight reference to a volume software attachment
VolumeSoftwareAttachmentPatch Patch object for update operations
VolumeSoftwareAttachmentCatalogOffering Catalog offering (version + optional billing plan) linked to the attachment
VolumeSoftwareAttachmentEntitlement Entitlement details for the attachment's licensable software
VolumeSoftwareAttachmentEntitlementLicensableSoftware Licensable software details within the entitlement
VolumeSoftwareAttachmentEntitlementLicensableSoftwareVendor Vendor details for the licensable software

New options types:

  • ListVolumeSoftwareAttachmentsOptions
  • GetVolumeSoftwareAttachmentOptions
  • UpdateVolumeSoftwareAttachmentOptions

New field on Volume struct:

  • SoftwareAttachments []VolumeSoftwareAttachmentReference — the software attachments associated with this volume
New Constants
Constant Value
SnapshotSoftwareAttachmentResourceTypeSnapshotSoftwareAttachmentConst "snapshot_software_attachment"
SnapshotSoftwareAttachmentReferenceResourceTypeSnapshotSoftwareAttachmentConst "snapshot_software_attachment"
VolumeSoftwareAttachmentResourceTypeVolumeSoftwareAttachmentConst "volume_software_attachment"
VolumeSoftwareAttachmentReferenceResourceTypeVolumeSoftwareAttachmentConst "volume_software_attachment"
Golang version update
  • The minimum required Go toolchain is now 1.26.0 (raised from 1.25.0 as a result of upgrading go-sdk-core to v5.23.4). Customers using Go 1.25 or earlier with GOTOOLCHAIN=local must upgrade their toolchain; those using the default GOTOOLCHAIN=auto will be unaffected.

v0.91.0

Compare Source

What's Changed

API Version
  • Updated from 2026-08-18 to 2026-09-01
Breaking Changes

Important: The changes below apply when using API version 2026-09-01 or later (the new default).
If your client explicitly pins version to 2026-08-31 or earlier, no changes are required.

Instance Profiles — vcpu_count Response Shape Changed

The vcpu_count property returned by GET /instance/profiles and GET /instance/profiles/{name} has changed its response type.

API version vcpu_count type supported_vcpu_count
2026-08-31 and earlier fixed (single integer value) present — contains the enum of supported values
2026-09-01 and later enum / range / dependent (array of supported values) removed

The SDK InstanceProfile.VcpuCount field is typed as InstanceProfileVcpuIntf. The concrete type returned at runtime is always *InstanceProfileVcpu (the base struct) — the unmarshaller reads the type field and populates the relevant fields (Value, Default, Values, Min, Max, Step) on that single struct. No struct field rename is required, but code that assumed the type string was always "fixed" must be updated to handle "enum", "range", and "dependent" as well.

Instance Profiles — supported_vcpu_count Field Removed
  • The SupportedVcpuCount field (*InstanceProfileSupportedVcpuCountEnum) has been removed from the InstanceProfile struct.
  • The InstanceProfileSupportedVcpuCountEnum type, its constants, and its unmarshaller have been deleted from the SDK.
  • The values previously returned in supported_vcpu_count are now returned directly in vcpu_count.
New Features
  • New Region — India (Mumbai): in-mum is now a supported region endpoint
    • Region identifier: in-mum
    • Service URL: https://in-mum.iaas.cloud.ibm.com/v1
Migration Examples
// ────────────────────────────────────────────────────────────
// vcpu_count: before (API version ≤ 2026-08-31)
// Wire response: {"type": "fixed", "value": 4}
// ────────────────────────────────────────────────────────────
profile, _, _ := vpcService.GetInstanceProfile(getOptions)

// The unmarshaller always returns *InstanceProfileVcpu; read via Type string.
vcpu := profile.VcpuCount.(*vpcv1.InstanceProfileVcpu)
if *vcpu.Type == "fixed" {
    fmt.Println("vCPU count:", *vcpu.Value) // single integer
}

// Reading the allowed values used to require the separate supported_vcpu_count field:
vcpuValues := profile.SupportedVcpuCount.Values // ❌ field removed in 0.91.0

// ────────────────────────────────────────────────────────────
// vcpu_count: after (API version ≥ 2026-09-01, SDK 0.91.0)
// Wire response: {"type": "enum", "default": 2, "values": [2]}
// ────────────────────────────────────────────────────────────
profile, _, _ := vpcService.GetInstanceProfile(getOptions)

// Cast to the base struct and branch on the Type string:
vcpu := profile.VcpuCount.(*vpcv1.InstanceProfileVcpu)
switch *vcpu.Type {
case "enum":
    fmt.Println("supported vCPU values:", vcpu.Values) // ✅ replaces supported_vcpu_count
    fmt.Println("default vCPU:", *vcpu.Default)
case "range":
    fmt.Printf("vCPU range: %d – %d (step %d)\n", *vcpu.Min, *vcpu.Max, *vcpu.Step)
case "dependent":
    fmt.Println("vCPU count depends on instance configuration")
case "fixed":
    fmt.Println("fixed vCPU count:", *vcpu.Value)
}

// ────────────────────────────────────────────────────────────
// New region — India (Mumbai)
// ────────────────────────────────────────────────────────────
url, err := vpcv1.GetServiceURLForRegion("in-mum")
// url == "https://in-mum.iaas.cloud.ibm.com/v1"
Affected Methods

The following SDK methods return InstanceProfile objects and are affected by the vcpu_count / supported_vcpu_count changes:

  • ListInstanceProfiles / ListInstanceProfilesWithPager
  • GetInstanceProfile
Notes
  • The valid API version date range is now 2026-09-01 through 2026-09-03
  • The InstanceProfileVcpuIntf interface and the base InstanceProfileVcpu struct remain unchanged. The unmarshaller always populates *InstanceProfileVcpu and sets the Type field to "fixed", "enum", "range", or "dependent" — read Type to determine which fields are populated rather than asserting to a concrete subtype
  • Only the now-redundant InstanceProfileSupportedVcpuCountEnum type was removed from the SDK
  • Clients that continue to pin version to 2026-08-31 or earlier will keep receiving vcpu_count as fixed and supported_vcpu_count in the response; the removed SDK struct fields mean those clients should upgrade anyway

v0.90.0

Compare Source

What's Changed

API Version Bump

  • Default API version updated from 2026-08-04 -> 2026-08-18.

New Features

Load Balancer - Asymmetric Routing Support

Added asymmetric_routing_supported to both LoadBalancer and LoadBalancerProfile to expose whether a load balancer (or a load balancer with a given profile) supports asymmetric routing.

New field on existing structs:

Struct Field Description
LoadBalancer AsymmetricRoutingSupported *bool Indicates whether this load balancer supports asymmetric routing
LoadBalancerProfile AsymmetricRoutingSupported LoadBalancerProfileAsymmetricRoutingSupportedIntf Profile-level asymmetric routing support descriptor (fixed or dependent)

New types added:

Type Description
LoadBalancerProfileAsymmetricRoutingSupported Base polymorphic struct with Type and Value fields
LoadBalancerProfileAsymmetricRoutingSupportedFixed Concrete subtype — asymmetric routing support is a fixed value for the profile
LoadBalancerProfileAsymmetricRoutingSupportedDependent Concrete subtype — asymmetric routing support depends on the load balancer's configuration
LoadBalancerProfileAsymmetricRoutingSupportedIntf Interface satisfied by all AsymmetricRoutingSupported subtypes

New constants:

Constant Value
LoadBalancerProfileAsymmetricRoutingSupportedTypeFixedConst "fixed"
LoadBalancerProfileAsymmetricRoutingSupportedFixedTypeFixedConst "fixed"
LoadBalancerProfileAsymmetricRoutingSupportedDependentTypeDependentConst "dependent"

New unmarshal functions:

  • UnmarshalLoadBalancerProfileAsymmetricRoutingSupported
  • UnmarshalLoadBalancerProfileAsymmetricRoutingSupportedFixed
  • UnmarshalLoadBalancerProfileAsymmetricRoutingSupportedDependent

Load Balancer Pools - weighted_forwarding Algorithm

Added a new weighted_forwarding algorithm value for load balancer pools. This algorithm forwards layer 4 packets across backend pools proportionally to configured member weights, and is supported by network family load balancers with asymmetric_routing_supported set to true.

New constants added across all pool-related types:

Constant Value
CreateLoadBalancerPoolOptionsAlgorithmWeightedForwardingConst "weighted_forwarding"
LoadBalancerPoolAlgorithmWeightedForwardingConst "weighted_forwarding"
LoadBalancerPoolPatchAlgorithmWeightedForwardingConst "weighted_forwarding"
LoadBalancerPoolPrototypeLoadBalancerContextAlgorithmWeightedForwardingConst "weighted_forwarding"

v0.89.0

Compare Source

What's Changed

API Version Bump

  • Default API version updated from 2026-07-21 -> 2026-08-04.

New Features

Bare Metal Server - Capacity Listing

Added support for listing available bare metal server capacities in a region using the new ListBareMetalServerCapacities operation.

New types added:

Type Description
ListBareMetalServerCapacitiesOptions Options for listing capacities, including start, limit, profile.name, and zone.name filters
BareMetalServerCapacity Represents a zone where a specific bare metal server profile has available capacity
BareMetalServerCapacityCollection Paginated response model containing available bare metal server capacities
BareMetalServerCapacitiesPager Pager helper for iterating through paginated bare metal server capacity results

Added helpers:

  • BareMetalServerCapacityCollection.GetNextStart() - returns the start token for the next page.
  • NewBareMetalServerCapacitiesPager() - creates a pager for traversing capacity pages.

Updated Structs

  • BareMetalServerProfile - added Zones field to indicate which zones in the region support the bare metal server profile.

Tests

  • Added unit tests for ListBareMetalServerCapacities, including success, invalid response, request failure, timeout, missing response body, and pagination scenarios.

Documentation / Generated Changes

  • Updated the documented supported API range to 2026-04-07 through 2026-08-13.
  • Updated the internal service problem component version to 2026-08-04.
  • Included generated formatting and comment-only regeneration changes in SDK code.

v0.88.0

Compare Source

What's Changed

API Version Bump

  • Default API version updated from 2026-06-23 -> 2026-07-21.

New Features

Instance Reinitialization

Adds support for reinitializing a virtual server instance. An instance can be reinitialized while stopped, replacing its boot volume and initialization data (keys, user data, trusted profile) non-destructively to the instance resource itself.

New operation:

Method Endpoint Description
CreateInstanceReinitialization POST /instances/{id}/reinitialize Reinitialize a stopped instance

New options struct:

  • CreateInstanceReinitializationOptions — takes an id (instance identifier) and an InstanceReinitializePrototype.

New model interface & base struct:

Type Description
InstanceReinitializePrototypeIntf Interface satisfied by all three concrete subtypes
InstanceReinitializePrototype Base struct with optional DefaultTrustedProfile, Keys, UserData, BootVolumeAttachment, and Image

New concrete model subtypes:

Type Required Field Boot Source
InstanceReinitializePrototypeInstanceReinitializeByImage Image (ImageIdentityIntf) An image (must be same OS family & licensing model)
InstanceReinitializePrototypeInstanceReinitializeBySnapshot BootVolumeAttachment (BySourceSnapshotContext) A snapshot
InstanceReinitializePrototypeInstanceReinitializeByVolume BootVolumeAttachment (ByVolumeContext) An existing boot volume

New constructor helpers:

  • NewCreateInstanceReinitializationOptions(id, prototype)
  • NewInstanceReinitializePrototypeInstanceReinitializeByImage(image)
  • NewInstanceReinitializePrototypeInstanceReinitializeBySnapshot(bootVolumeAttachment)
  • NewInstanceReinitializePrototypeInstanceReinitializeByVolume(bootVolumeAttachment)

v0.87.1

Compare Source

What's Changed


unmarshalinstancetemplate supports threads_per_core

v0.87.0

Compare Source

What's Changed

API Version Bump

  • Default API version updated from 2026-06-16 → 2026-06-23.

New Features

Instance – Software Attachments

New support for managing software attachments on virtual server instances. Three new API operations allow you to list, get, and update software attachments on an instance.

New API operations:

Method Description
ListInstanceSoftwareAttachments List all software attachments for an instance
GetInstanceSoftwareAttachment Retrieve a specific software attachment
UpdateInstanceSoftwareAttachment Update (patch) a software attachment

New types added:

Type Description
InstanceSoftwareAttachment Full representation of a software attachment on an instance
InstanceSoftwareAttachmentCatalogOffering The catalog offering associated with the software attachment
InstanceSoftwareAttachmentCollection Collection wrapper for listing software attachments
InstanceSoftwareAttachmentEntitlement Entitlement info for the software (includes licensed software list)
InstanceSoftwareAttachmentEntitlementLicensedSoftware A single licensed software entry in the entitlement
InstanceSoftwareAttachmentEntitlementLicensedSoftwareVendor Vendor information for licensed software
InstanceSoftwareAttachmentLifecycleReason A reason code + message describing the current lifecycle state
InstanceSoftwareAttachmentOfferingInstance The offering instance associated with this attachment
InstanceSoftwareAttachmentPatch Patch payload for updating a software attachment
InstanceSoftwareAttachmentReference A reference to a software attachment (used from Instance)

New options types:

Type Description
GetInstanceSoftwareAttachmentOptions Options for GetInstanceSoftwareAttachment
ListInstanceSoftwareAttachmentsOptions Options for ListInstanceSoftwareAttachments
UpdateInstanceSoftwareAttachmentOptions Options for UpdateInstanceSoftwareAttachment

New lifecycle state constants (InstanceSoftwareAttachment.LifecycleState):

  • deleting, failed, pending, stable, suspended, updating, waiting

New lifecycle reason code constants (InstanceSoftwareAttachmentLifecycleReason.Code):

  • failed_licensing, failed_registration, internal_error, pending_registration

Updated structs:

  • Instance – added SoftwareAttachments []InstanceSoftwareAttachmentReference field.

Instance – Threads Per Core

New support for configuring the number of threads per core for virtual server instances.

Updated structs:

  • Instance – added ThreadsPerCore *int64 (the current threads per core for the instance).
  • InstancePatch – added ThreadsPerCore *int64 (patchable; instance must be stopping or stopped).
  • InstancePrototype – added ThreadsPerCore *int64 (set at creation; defaults to profile value if unspecified).
  • InstanceTemplate – added ThreadsPerCore *int64.
  • InstanceTemplatePrototype – added ThreadsPerCore *int64.

Instance Profile – New Enum Descriptors

Two new profile capability descriptors for vCPU count and threads per core:

New types added:

Type Description
InstanceProfileSupportedVcpuCountEnum Enumerated supported vCPU counts for a profile (type: "enum", values []int64)
InstanceProfileThreadsPerCoreEnum Enumerated supported threads-per-core values for a profile (type: "enum", default *int64, values []int64)

Updated struct: InstanceProfile – updated fields:

  • SupportedVcpuCount changed to *InstanceProfileSupportedVcpuCountEnum.
  • ThreadsPerCore changed to *InstanceProfileThreadsPerCoreEnum.

Instance Lifecycle Reason – New Code
  • InstanceLifecycleReasonCodeFailedLicensingConst = "failed_licensing" added to InstanceLifecycleReason.Code — indicates that allocation of one or more software licenses has failed.

Load Balancer – mTLS Support

New mutual TLS (mTLS) support for load balancer listeners and pools, gated by a new mtls_supported flag on the load balancer and its profile.

New types added:

Type Description
LoadBalancerListenerClientAuthentication Client auth config present on an existing listener
LoadBalancerListenerClientAuthenticationPatch Patch payload to update listener client authentication
LoadBalancerListenerClientAuthenticationPrototype Prototype for setting client auth when creating a listener; constructor: NewLoadBalancerListenerClientAuthenticationPrototype
LoadBalancerListenerClientAuthenticationCertificateAuthorityPatch Base discriminated type for patching the CA on listener client auth
LoadBalancerListenerClientAuthenticationCertificateAuthorityPatchByCRN CRN-keyed variant; constructor: NewLoadBalancerListenerClientAuthenticationCertificateAuthorityPatchByCRN
LoadBalancerPoolClientAuthentication Client auth config present on an existing pool
LoadBalancerPoolClientAuthenticationPatch Patch payload to update pool client authentication
LoadBalancerPoolClientAuthenticationPrototype Prototype for setting client auth when creating a pool; constructor: NewLoadBalancerPoolClientAuthenticationPrototype
LoadBalancerPoolServerAuthentication Server authentication config present on an existing pool (absent if pool.protocol != https)
LoadBalancerPoolServerAuthenticationPatch Patch payload to update pool server authentication
LoadBalancerPoolServerAuthenticationPrototype Prototype for setting server auth when creating a pool
LoadBalancerProfileMtlsSupported Base type indicating mTLS support on a profile
LoadBalancerProfileMtlsSupportedFixed Fixed-value variant (type: "fixed")
LoadBalancerProfileMtlsSupportedDependent Dependent-on-config variant (type: "dependent")

Updated structs:

  • LoadBalancer – added MtlsSupported *bool.
  • LoadBalancerListener – added ClientAuthentication *LoadBalancerListenerClientAuthentication.
  • LoadBalancerListenerPatch – added ClientAuthentication *LoadBalancerListenerClientAuthenticationPatch (set null to remove).
  • LoadBalancerListenerPrototypeLoadBalancerContext – added ClientAuthentication *LoadBalancerListenerClientAuthenticationPrototype.
  • CreateLoadBalancerListenerOptions – added ClientAuthentication field + SetClientAuthentication setter.
  • LoadBalancerPool – added ClientAuthentication *LoadBalancerPoolClientAuthentication and ServerAuthentication *LoadBalancerPoolServerAuthentication.
  • LoadBalancerPoolPatch – added ClientAuthentication *LoadBalancerPoolClientAuthenticationPatch and ServerAuthentication *LoadBalancerPoolServerAuthenticationPatch (set null to remove each).
  • LoadBalancerPoolPrototypeLoadBalancerContext – added ClientAuthentication and ServerAuthentication prototype fields.
  • CreateLoadBalancerPoolOptions – added ClientAuthentication + ServerAuthentication fields and their respective setters.
  • LoadBalancerProfile – added MtlsSupported LoadBalancerProfileMtlsSupportedIntf.

v0.86.0

Compare Source

What's Changed

API Version Bump

  • Default API version updated from 2026-06-09 -> 2026-06-16.

New Features

Load Balancer - Advanced Health Checks

New support for advanced HTTP/HTTPS health check configuration on load balancer pools. This feature is gated by the new advanced_health_checks_supported flag on the load balancer and its profile.

New types added:

Type Description
LoadBalancerPoolHealthMonitorTypeHttphttpsRequest HTTP request config (body, headers, method) used for health checks
LoadBalancerPoolHealthMonitorTypeHttphttpsRequestHeader A single HTTP request header (field + value) for health checks
LoadBalancerPoolHealthMonitorTypeHttphttpsRequestHeaderPrototype Prototype for creating a request header
LoadBalancerPoolHealthMonitorTypeHttphttpsRequestPatch Patch type to update HTTP request config on a health monitor
LoadBalancerPoolHealthMonitorTypeHttphttpsRequestPrototype Prototype (discriminated union) for setting request config when creating a health monitor
LoadBalancerPoolHealthMonitorTypeHttphttpsRequestPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsRequestGetPrototype GET-method variant of the request prototype
LoadBalancerPoolHealthMonitorTypeHttphttpsRequestPrototypeLoadBalancerPoolHealthMonitorTypeHttphttpsRequestPostPrototype POST-method variant of the request prototype
LoadBalancerPoolHealthMonitorTypeHttphttpsResponse HTTP response config (status codes, body regex) for health checks
LoadBalancerPoolHealthMonitorTypeHttphttpsResponsePatch Patch type to update HTTP response config on a health monitor
LoadBalancerPoolHealthMonitorTypeHttphttpsResponsePrototype Prototype for setting response config when creating a health monitor

Updated structs:

  • LoadBalancerPoolHealthMonitor - added optional Request and Response fields.
  • LoadBalancerPoolHealthMonitorPatch - added optional Request and Response patch fields.
  • LoadBalancerPoolHealthMonitorPrototype - added optional Request and Response prototype fields.

Load Balancer - FQDN Pool Members

New support for specifying pool members by their fully qualified domain name (FQDN), gated by the new fqdn_pool_members_supported flag.

New types added:

Type Description
LoadBalancerPoolMemberTargetFqdn Represents a pool member target identified by FQDN
LoadBalancerPoolMemberTargetPrototypeFqdn Prototype for creating a pool member target using an FQDN; constructor: NewLoadBalancerPoolMemberTargetPrototypeFqdn

Updated structs:

  • LoadBalancerPoolMemberTarget - added Fqdn field; added LoadBalancerPoolMemberTargetFqdn to the list of discriminator variants.
  • LoadBalancerPoolMemberTargetPrototype - added Fqdn field; added LoadBalancerPoolMemberTargetPrototypeFqdn variant.

Load Balancer - New Profile Capability Fields

Two new profile-level capability descriptors with fixed / dependent discriminated subtypes:

Type Description
LoadBalancerProfileAdvancedHealthCheckSupported Indicates whether advanced health checks are supported (base)
LoadBalancerProfileAdvancedHealthCheckSupportedFixed Fixed value variant
LoadBalancerProfileAdvancedHealthCheckSupportedDependent Dependent-on-config variant
LoadBalancerProfileFqdnSupported Indicates whether FQDN pool members are supported (base)
LoadBalancerProfileFqdnSupportedFixed Fixed value variant
LoadBalancerProfileFqdnSupportedDependent Dependent-on-config variant

Updated struct: LoadBalancerProfile - added fields:

  • AdvancedHealthChecksSupported (LoadBalancerProfileAdvancedHealthCheckSupportedIntf)
  • FqdnPoolMembersSupported (LoadBalancerProfileFqdnSupportedIntf)

Updated struct: LoadBalancer - added fields:

  • AdvancedHealthChecksSupported *bool - indicates whether this load balancer supports advanced health checks.
  • FqdnPoolMembersSupported *bool - indicates whether this load balancer supports FQDN-based pool members.

Load Balancer - starts_with Condition for Listener Policy Rules

A new starts_with condition constant has been added to listener policy rules:

  • CreateLoadBalancerListenerPolicyRuleOptionsConditionStartsWithConst = "starts_with"
  • LoadBalancerListenerPolicyRuleConditionStartsWithConst = "starts_with"
  • LoadBalancerListenerPolicyRulePatchConditionStartsWithConst = "starts_with"
  • LoadBalancerListenerPolicyRulePrototypeConditionStartsWithConst = "starts_with"

Load Balancer Pool - If-Match Header on Update

UpdateLoadBalancerPoolWithContext now supports optimistic concurrency control via the If-Match header:

  • UpdateLoadBalancerPoolOptions has a new IfMatch *string field.
  • New setter: SetIfMatch(ifMatch string).
  • If provided, the header If-Match: <etag> is included in the outbound PATCH request.

Documentation / Clarifications

  • BareMetalServerInitializationPrototype.Keys: Doc updated - Windows images now explicitly require at least one SSH key of type rsa.
  • BareMetalServerInitializationPrototype.UserData: Doc updated to include a link to IBM Cloud user-data documentation.

v0.85.0

Compare Source

What's Changed

BackupPolicyJobReference struct (new)

A new model BackupPolicyJobReference has been introduced to represent a reference to a backup policy job. It carries the following fields:

Field Type Required Description
Deleted *Deleted No Present when the referenced resource has been deleted.
Href *string Yes URL for this backup policy job.
ID *string Yes Unique identifier for this backup policy job.
ResourceType *string Yes Resource type; always "backup_policy_job".

An associated constant BackupPolicyJobReferenceResourceTypeBackupPolicyJobConst and an unmarshaller UnmarshalBackupPolicyJobReference have also been added.


SnapshotConsistencyGroup.BackupPolicyJob field (new)

The SnapshotConsistencyGroup struct now includes an optional BackupPolicyJob *BackupPolicyJobReference field. When present, it identifies the backup policy job that created the snapshot consistency group. Snapshot consistency groups sharing the same backup policy job identifier represent snapshots of the same instance taken across different storage generations.


ListSnapshotConsistencyGroupsOptions.BackupPolicyJobID filter (new)

A new filter field BackupPolicyJobID *string has been added to ListSnapshotConsistencyGroupsOptions, allowing callers to filter the snapshot consistency groups collection by backup_policy_job.id.

A corresponding setter SetBackupPolicyJobID has been added:

options.SetBackupPolicyJobID("r006-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

The query parameter is propagated in ListSnapshotConsistencyGroupsWithContext via backup_policy_job.id.


Changes

API version bumped to 2026-06-09

The default API version string used by the client has been updated from 2026-06-02 to 2026-06-09:


Backup policy instance type — multi-generation clarification

The documentation comments for BackupPolicyPrototypeBackupPolicyMatchResourceTypeInstancePrototype.MatchResourceType have been updated to clarify multi-storage-generation behaviour:


Snapshot consistency group prototype — storage_generation constraint relaxed

The documentation comments for the Snapshots field on both SnapshotConsistencyGroupPrototype and SnapshotConsistencyGroupPrototypeSnapshotConsistencyGroupBySnapshots have been updated:


Breaking Changes

None.


Bug Fixes

None.

v0.84.0

Compare Source

What's Changed

API Version
  • Updated from 2026-04-07 to 2026-06-02
Breaking Changes
IKE Policy - Multiple Algorithm Support
  • Constructor changed: NewCreateIkePolicyOptions(ikeVersion) now requires only ikeVersion
  • Deprecated fields (use array versions instead):
    • AuthenticationAlgorithm → AuthenticationAlgorithms
    • DhGroup → DhGroups
    • EncryptionAlgorithm → EncryptionAlgorithms
  • Algorithm arrays support priority-based negotiation (first = highest priority)
  • IKE v1 requires exactly one algorithm per array
IPsec Policy - Multiple Algorithm Support
  • Deprecated fields (use array versions instead):
    • AuthenticationAlgorithm → AuthenticationAlgorithms
    • EncryptionAlgorithm → EncryptionAlgorithms
    • Pfs → PfsGroups
  • New multiple enum value indicates multi-algorithm support
Share Access Control
  • Deprecated: vpc access control mode → Use security_group instead
New Features
  • VPN Policies: Support for multiple algorithms with priority-based negotiation
  • Volume Capacity: Storage Gen 2 now supports up to 32,000 GB (Gen 1 remains 250 GB)
  • Default Volume Capacity: System images default to 100 GB or image minimum (whichever is larger)
Migration Examples
// IKE Policy - Old (deprecated)
options := vpcService.NewCreateIkePolicyOptions("sha256", 14, "aes256", 2)

// IKE Policy - New (recommended)
options := vpcService.NewCreateIkePolicyOptions(2)
options.SetAuthenticationAlgorithms([]string{"sha256", "sha384"})
options.SetDhGroups([]int64{14, 15})
options.SetEncryptionAlgorithms([]string{"aes256", "aes192"})

// IPsec Policy - Old (deprecated)
options.SetAuthenticationAlgorithm("sha256")
options.SetPfs("group_14")

// IPsec Policy - New (recommended)
options.SetAuthenticationAlgorithms([]string{"sha256", "sha384"})
options.SetPfsGroups([]string{"group_14", "group_15"})

// Share - Old (deprecated)
sharePrototype.SetAccessControlMode("vpc")

// Share - New (recommended)
sharePrototype.SetAccessControlMode("security_group")
Notes
  • Deprecated fields continue to work but will be removed in future releases
  • Combined-mode encryption (aes*gcm16) requires authentication_algorithms: ["disabled"]

v0.83.2

Compare Source

Image Partial Availability, Zones Support

API Version Update

  • Updated default API version from 2026-04-07 to 2026-04-14

Image Resource Enhancements

New zones Property

Added support for the zones property in the Image resource, which indicates the zones where an image is available for use:

  • When image status is available or deprecated: includes all zones in the region
  • When image status is partially_available: includes one or more zones in the region
  • When image status is failed, obsolete, pending, unusable, or deleting: array is empty
New Image Status: partially_available

Added new status constant ImageStatusPartiallyAvailableConst to support images that are available in some zones but not all zones in a region.

Updated Image Status Documentation

Improved documentation formatting for image status values:

  • available: image can be used to create resources
  • deleting: image is being deleted, and can no longer be used to create resources
  • deprecated: image is slated to be deleted, but can still be used to create resources
  • failed: image was not created successfully, and cannot be used to create resources
  • obsolete: image is slated to be deleted, and can no longer be used to create resources
  • partially_available: image can be used to create resources in the zones listed in the zones property
  • pending: image is being imported, and cannot yet be used to create resources
  • unusable: image cannot be used (see status_reasons[] for possible remediation)
DeleteImage Documentation Update

Simplified the conditions under which an image cannot be deleted:

  • Removed the condition about status of pending with status_reasons code of image_request_in_progress
  • Retained conditions:
    • Image has a status of deleting
    • Image has catalog_offering.managed set to true

Breaking Changes

None. This is a backward-compatible enhancement.

Related Constants

  • ImageStatusPartiallyAvailableConst = "partially_available"
  • ListImagesOptionsStatusPartiallyAvailableConst = "partially_available"

v0.83.1

Compare Source

Image Partial Availability, Zones Support

API Version Update

  • Updated default API version from 2026-04-07 to 2026-04-14

Image Resource Enhancements

New zones Property

Added support for the zones property in the Image resource, which indicates the zones where an image is available for use:

  • When image status is available or deprecated: includes all zones in the region
  • When image status is partially_available: includes one or more zones in the region
  • When image status is failed, obsolete, pending, unusable, or deleting: array is empty
New Image Status: partially_available

Added new status constant ImageStatusPartiallyAvailableConst to support images that are available in some zones but not all zones in a region.

Updated Image Status Documentation

Improved documentation formatting for image status values:

  • available: image can be used to create resources
  • deleting: image is being deleted, and can no longer be used to create resources
  • deprecated: image is slated to be deleted, but can still be used to create resources
  • failed: image was not created successfully, and cannot be used to create resources
  • obsolete: image is slated to be deleted, and can no longer be used to create resources
  • partially_available: image can be used to create resources in the zones listed in the zones property
  • pending: image is being imported, and cannot yet be used to create resources
  • unusable: image cannot be used (see status_reasons[] for possible remediation)
DeleteImage Documentation Update

Simplified the conditions under which an image cannot be deleted:

  • Removed the condition about status of pending with status_reasons code of image_request_in_progress
  • Retained conditions:
    • Image has a status of deleting
    • Image has catalog_offering.managed set to true

Breaking Changes

None. This is a backward-compatible enhancement.

Related Constants

  • ImageStatusPartiallyAvailableConst = "partially_available"
  • ListImagesOptionsStatusPartiallyAvailableConst = "partially_available"

v0.83.0

Compare Source

Image Partial Availability, Zones Support

API Version Update

  • Updated default API version from 2026-04-07 to 2026-04-14

Image Resource Enhancements

New zones Property

Added support for the zones property in the Image resource, which indicates the zones where an image is available for use:

  • When image status is available or deprecated: includes all zones in the region
  • When image status is partially_available: includes one or more zones in the region
  • When image status is failed, obsolete, pending, unusable, or deleting: array is empty
New Image Status: partially_available

Added new status constant ImageStatusPartiallyAvailableConst to support images that are available in some zones but not all zones in a region.

Updated Image Status Documentation

Improved documentation formatting for image status values:

  • available: image can be used to create resources
  • deleting: image is being deleted, and can no l

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate

renovate Bot commented Apr 27, 2026 •

Copy link
Copy Markdown
Contributor Author

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 6 additional dependencies were updated

Details:

Package Change
github.com/IBM/go-sdk-core/v5 v5.23.1 -> v5.23.4
github.com/gabriel-vasile/mimetype v1.4.13 -> v1.4.15
github.com/go-openapi/strfmt v0.27.0 -> v0.27.2
github.com/go-playground/validator/v10 v10.30.3 -> v10.30.4
github.com/leodido/go-urn v1.4.0 -> v1.5.0
github.com/oklog/ulid/v2 v2.1.1 -> v2.1.2

@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from b3e1e0c to fcfcefa Compare June 4, 2026 13:48
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.83.2 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.84.0 Jun 4, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from fcfcefa to b854aa8 Compare June 11, 2026 11:37
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.84.0 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.85.0 Jun 11, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from b854aa8 to 334e964 Compare June 17, 2026 15:00
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.85.0 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.86.0 Jun 17, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from 334e964 to 9491792 Compare June 30, 2026 16:44
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.86.0 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.87.0 Jun 30, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from 9491792 to 655b547 Compare July 9, 2026 18:00
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.87.0 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.87.1 Jul 9, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from 655b547 to 8347d60 Compare August 5, 2026 14:49
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.87.1 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.88.0 Aug 5, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from 8347d60 to 4cbb684 Compare August 13, 2026 22:26
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.88.0 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.89.0 Aug 13, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from 4cbb684 to b96c8a5 Compare August 20, 2026 10:06
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.89.0 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.90.0 Aug 20, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from b96c8a5 to b0b5ecd Compare September 3, 2026 21:00
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.90.0 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.91.0 Sep 3, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch 2 times, most recently from 44f1f5e to 4cad0c7 Compare September 15, 2026 20:04
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from 4cad0c7 to 1f4fe78 Compare October 1, 2026 03:22
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.91.0 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.92.0 Oct 1, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch 6 times, most recently from b6ee8ec to f3add44 Compare October 9, 2026 06:10
@renovate renovate Bot changed the title fix(deps): update module github.com/ibm/vpc-go-sdk to v0.92.0 fix(deps): update module github.com/ibm/vpc-go-sdk to v0.93.0 Oct 9, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch 2 times, most recently from f88a5fe to 3f0c7bb Compare October 20, 2026 16:16
@renovate
renovate Bot force-pushed the renovate/github.com-ibm-vpc-go-sdk-0.x branch from 3f0c7bb to 2025c10 Compare October 29, 2026 12:05

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants