Skip to content

Releases: IBM/vpc-go-sdk

v0.85.0

11 Jun 06:29
76bcd21

Choose a tag to compare

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

04 Jun 11:29
54d78a1

Choose a tag to compare

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):
    • AuthenticationAlgorithmAuthenticationAlgorithms
    • DhGroupDhGroups
    • EncryptionAlgorithmEncryptionAlgorithms
  • 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):
    • AuthenticationAlgorithmAuthenticationAlgorithms
    • EncryptionAlgorithmEncryptionAlgorithms
    • PfsPfsGroups
  • 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

22 Apr 06:32
a61c74d

Choose a tag to compare

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

22 Apr 05:52
60575b8

Choose a tag to compare

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

22 Apr 05:47
c6eb9a0

Choose a tag to compare

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.82.1

14 Apr 13:17
669f543

Choose a tag to compare

API Version Update

  • Updated API version from 2026-03-24 to 2026-04-07

New Features

1. Pagination Support for Instance Profiles

Enhancement: Added comprehensive pagination support to the ListInstanceProfiles API endpoint.

Changes:

  • New Query Parameters:

    • start - Server-provided token for pagination cursor
    • limit - Number of resources to return per page
  • Enhanced Response Structure:

    • first - Link to the first page of resources
    • limit - Maximum number of resources per request
    • next - Link to the next page (when available)
    • total_count - Total number of resources across all pages
  • New Pager Implementation:

    • Added InstanceProfilesPager struct for simplified pagination
    • Methods available:
      • NewInstanceProfilesPager() - Create new pager instance
      • HasNext() - Check if more results are available
      • GetNext() - Retrieve next page of results
      • GetNextWithContext() - Retrieve next page with context
      • GetAll() - Retrieve all results across all pages
      • GetAllWithContext() - Retrieve all results with context

2. Zone Information for Instance Profiles

Enhancement: Instance profiles now include zone availability information.

Changes:

  • Added zones field to InstanceProfile struct
  • Type: []ZoneReference (array of zone references)
  • Provides list of zones in the region that support each instance profile

v0.81.1

14 Apr 13:13

Choose a tag to compare

Volume Jobs Support

Added comprehensive support for volume jobs, enabling asynchronous operations on block storage volumes such as migration between storage tiers.


New API Methods

Volume Job Operations

  • ListVolumeJobs - List all jobs for a volume
  • CreateVolumeJob - Create a new job for a volume
  • GetVolumeJob - Retrieve details of a specific volume job
  • UpdateVolumeJob - Update a volume job
  • DeleteVolumeJob - Delete a volume job
  • CancelVolumeJob - Cancel a running volume job

Context-Aware Variants

All methods include context-aware variants (e.g., ListVolumeJobsWithContext) for better control over request lifecycle.


New Core Models

Volume Job Models

  • VolumeJob - Core volume job resource
  • VolumeJobIntf - Interface for volume job types
  • VolumeJobCollection - Collection of volume jobs with pagination support
  • VolumeJobPatch - Patch model for updating volume jobs
  • VolumeJobStatusReason - Status reason details for job state

Volume Job Prototypes

  • VolumeJobPrototype - Base prototype for creating volume jobs
  • VolumeJobPrototypeIntf - Interface for job prototype types
  • VolumeJobPrototypeVolumeJobTypeMigratePrototype - Prototype for migration jobs

Job Type Specific Models

  • VolumeJobTypeMigrate - Migration job type implementation
  • VolumeJobTypeMigrateParameters - Parameters for volume migration jobs

New Options Structs

  • ListVolumeJobsOptions - Options for listing volume jobs
  • CreateVolumeJobOptions - Options for creating a volume job
  • GetVolumeJobOptions - Options for retrieving a volume job
  • UpdateVolumeJobOptions - Options for updating a volume job
  • DeleteVolumeJobOptions - Options for deleting a volume job
  • CancelVolumeJobOptions - Options for canceling a volume job

Pagination Support

New Pager

  • VolumeJobsPager - Automatic pagination support for listing volume jobs

Job Types

Supported Job Types

  • migrate - Volume migration between storage tiers
    • Constant: VolumeJobPrototypeJobTypeMigrateConst
    • Constant: VolumeJobPrototypeVolumeJobTypeMigratePrototypeJobTypeMigrateConst

Features

  • Full CRUD operations for volume jobs
  • Support for asynchronous volume operations
  • Job status tracking and monitoring
  • Cancellation support for running jobs
  • Pagination support for job listings
  • Type-safe job prototypes with validation
  • Context-aware request handling

v0.82.0

13 Apr 05:27
652de7e

Choose a tag to compare

API Version Update

  • Updated API version from 2026-03-24 to 2026-04-07

New Features

1. Pagination Support for Instance Profiles

Enhancement: Added comprehensive pagination support to the ListInstanceProfiles API endpoint.

Changes:

  • New Query Parameters:

    • start - Server-provided token for pagination cursor
    • limit - Number of resources to return per page
  • Enhanced Response Structure:

    • first - Link to the first page of resources
    • limit - Maximum number of resources per request
    • next - Link to the next page (when available)
    • total_count - Total number of resources across all pages
  • New Pager Implementation:

    • Added InstanceProfilesPager struct for simplified pagination
    • Methods available:
      • NewInstanceProfilesPager() - Create new pager instance
      • HasNext() - Check if more results are available
      • GetNext() - Retrieve next page of results
      • GetNextWithContext() - Retrieve next page with context
      • GetAll() - Retrieve all results across all pages
      • GetAllWithContext() - Retrieve all results with context

2. Zone Information for Instance Profiles

Enhancement: Instance profiles now include zone availability information.

Changes:

  • Added zones field to InstanceProfile struct
  • Type: []ZoneReference (array of zone references)
  • Provides list of zones in the region that support each instance profile

v0.81.0

08 Apr 02:19
0b35161

Choose a tag to compare

Volume Jobs Support

Added comprehensive support for volume jobs, enabling asynchronous operations on block storage volumes such as migration between storage tiers.


New API Methods

Volume Job Operations

  • ListVolumeJobs - List all jobs for a volume
  • CreateVolumeJob - Create a new job for a volume
  • GetVolumeJob - Retrieve details of a specific volume job
  • UpdateVolumeJob - Update a volume job
  • DeleteVolumeJob - Delete a volume job
  • CancelVolumeJob - Cancel a running volume job

Context-Aware Variants

All methods include context-aware variants (e.g., ListVolumeJobsWithContext) for better control over request lifecycle.


New Core Models

Volume Job Models

  • VolumeJob - Core volume job resource
  • VolumeJobIntf - Interface for volume job types
  • VolumeJobCollection - Collection of volume jobs with pagination support
  • VolumeJobPatch - Patch model for updating volume jobs
  • VolumeJobStatusReason - Status reason details for job state

Volume Job Prototypes

  • VolumeJobPrototype - Base prototype for creating volume jobs
  • VolumeJobPrototypeIntf - Interface for job prototype types
  • VolumeJobPrototypeVolumeJobTypeMigratePrototype - Prototype for migration jobs

Job Type Specific Models

  • VolumeJobTypeMigrate - Migration job type implementation
  • VolumeJobTypeMigrateParameters - Parameters for volume migration jobs

New Options Structs

  • ListVolumeJobsOptions - Options for listing volume jobs
  • CreateVolumeJobOptions - Options for creating a volume job
  • GetVolumeJobOptions - Options for retrieving a volume job
  • UpdateVolumeJobOptions - Options for updating a volume job
  • DeleteVolumeJobOptions - Options for deleting a volume job
  • CancelVolumeJobOptions - Options for canceling a volume job

Pagination Support

New Pager

  • VolumeJobsPager - Automatic pagination support for listing volume jobs

Job Types

Supported Job Types

  • migrate - Volume migration between storage tiers
    • Constant: VolumeJobPrototypeJobTypeMigrateConst
    • Constant: VolumeJobPrototypeVolumeJobTypeMigratePrototypeJobTypeMigrateConst

Features

  • Full CRUD operations for volume jobs
  • Support for asynchronous volume operations
  • Job status tracking and monitoring
  • Cancellation support for running jobs
  • Pagination support for job listings
  • Type-safe job prototypes with validation
  • Context-aware request handling\

Edits:

  • Breaking change : - SecurityGroupRuleRemoteCIDR, SecurityGroupRuleRemoteIP -> SecurityGroupRuleRemoteSecurityGroupRuleCIDR, SecurityGroupRuleRemoteSecurityGroupRuleIP

v0.65.1

13 Mar 13:06

Choose a tag to compare

Bug Fixes

  • Network ACL & Security Group Rules: Fixed discriminator issue on v0.65.0

SDK Compatibility Patch - Protocol Handling

  • The SDK was patched to handle additional protocol values introduced in newer API versions, ensuring older SDK releases do not fail when reading security group or network ACL rules created with expanded protocol support.

Full Changelog: v0.65.0...v0.65.1