Releases: IBM/vpc-go-sdk
v0.85.0
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
What's Changed
API Version
- Updated from
2026-04-07to2026-06-02
Breaking Changes
IKE Policy - Multiple Algorithm Support
- Constructor changed:
NewCreateIkePolicyOptions(ikeVersion)now requires onlyikeVersion - Deprecated fields (use array versions instead):
AuthenticationAlgorithm→AuthenticationAlgorithmsDhGroup→DhGroupsEncryptionAlgorithm→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→AuthenticationAlgorithmsEncryptionAlgorithm→EncryptionAlgorithmsPfs→PfsGroups
- New
multipleenum value indicates multi-algorithm support
Share Access Control
- Deprecated:
vpcaccess control mode → Usesecurity_groupinstead
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
Image Partial Availability, Zones Support
API Version Update
- Updated default API version from
2026-04-07to2026-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
availableordeprecated: 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, ordeleting: 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 resourcesdeleting: image is being deleted, and can no longer be used to create resourcesdeprecated: image is slated to be deleted, but can still be used to create resourcesfailed: image was not created successfully, and cannot be used to create resourcesobsolete: image is slated to be deleted, and can no longer be used to create resourcespartially_available: image can be used to create resources in the zones listed in thezonespropertypending: image is being imported, and cannot yet be used to create resourcesunusable: image cannot be used (seestatus_reasons[]for possible remediation)
DeleteImage Documentation Update
Simplified the conditions under which an image cannot be deleted:
- Removed the condition about
statusofpendingwithstatus_reasonscode ofimage_request_in_progress - Retained conditions:
- Image has a
statusofdeleting - Image has
catalog_offering.managedset totrue
- Image has a
Breaking Changes
None. This is a backward-compatible enhancement.
Related Constants
ImageStatusPartiallyAvailableConst = "partially_available"ListImagesOptionsStatusPartiallyAvailableConst = "partially_available"
v0.83.1
Image Partial Availability, Zones Support
API Version Update
- Updated default API version from
2026-04-07to2026-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
availableordeprecated: 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, ordeleting: 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 resourcesdeleting: image is being deleted, and can no longer be used to create resourcesdeprecated: image is slated to be deleted, but can still be used to create resourcesfailed: image was not created successfully, and cannot be used to create resourcesobsolete: image is slated to be deleted, and can no longer be used to create resourcespartially_available: image can be used to create resources in the zones listed in thezonespropertypending: image is being imported, and cannot yet be used to create resourcesunusable: image cannot be used (seestatus_reasons[]for possible remediation)
DeleteImage Documentation Update
Simplified the conditions under which an image cannot be deleted:
- Removed the condition about
statusofpendingwithstatus_reasonscode ofimage_request_in_progress - Retained conditions:
- Image has a
statusofdeleting - Image has
catalog_offering.managedset totrue
- Image has a
Breaking Changes
None. This is a backward-compatible enhancement.
Related Constants
ImageStatusPartiallyAvailableConst = "partially_available"ListImagesOptionsStatusPartiallyAvailableConst = "partially_available"
v0.83.0
Image Partial Availability, Zones Support
API Version Update
- Updated default API version from
2026-04-07to2026-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
availableordeprecated: 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, ordeleting: 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 resourcesdeleting: image is being deleted, and can no longer be used to create resourcesdeprecated: image is slated to be deleted, but can still be used to create resourcesfailed: image was not created successfully, and cannot be used to create resourcesobsolete: image is slated to be deleted, and can no longer be used to create resourcespartially_available: image can be used to create resources in the zones listed in thezonespropertypending: image is being imported, and cannot yet be used to create resourcesunusable: image cannot be used (seestatus_reasons[]for possible remediation)
DeleteImage Documentation Update
Simplified the conditions under which an image cannot be deleted:
- Removed the condition about
statusofpendingwithstatus_reasonscode ofimage_request_in_progress - Retained conditions:
- Image has a
statusofdeleting - Image has
catalog_offering.managedset totrue
- Image has a
Breaking Changes
None. This is a backward-compatible enhancement.
Related Constants
ImageStatusPartiallyAvailableConst = "partially_available"ListImagesOptionsStatusPartiallyAvailableConst = "partially_available"
v0.82.1
API Version Update
- Updated API version from
2026-03-24to2026-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 cursorlimit- Number of resources to return per page
-
Enhanced Response Structure:
first- Link to the first page of resourceslimit- Maximum number of resources per requestnext- Link to the next page (when available)total_count- Total number of resources across all pages
-
New Pager Implementation:
- Added
InstanceProfilesPagerstruct for simplified pagination - Methods available:
NewInstanceProfilesPager()- Create new pager instanceHasNext()- Check if more results are availableGetNext()- Retrieve next page of resultsGetNextWithContext()- Retrieve next page with contextGetAll()- Retrieve all results across all pagesGetAllWithContext()- Retrieve all results with context
- Added
2. Zone Information for Instance Profiles
Enhancement: Instance profiles now include zone availability information.
Changes:
- Added
zonesfield toInstanceProfilestruct - Type:
[]ZoneReference(array of zone references) - Provides list of zones in the region that support each instance profile
v0.81.1
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 volumeCreateVolumeJob- Create a new job for a volumeGetVolumeJob- Retrieve details of a specific volume jobUpdateVolumeJob- Update a volume jobDeleteVolumeJob- Delete a volume jobCancelVolumeJob- 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 resourceVolumeJobIntf- Interface for volume job typesVolumeJobCollection- Collection of volume jobs with pagination supportVolumeJobPatch- Patch model for updating volume jobsVolumeJobStatusReason- Status reason details for job state
Volume Job Prototypes
VolumeJobPrototype- Base prototype for creating volume jobsVolumeJobPrototypeIntf- Interface for job prototype typesVolumeJobPrototypeVolumeJobTypeMigratePrototype- Prototype for migration jobs
Job Type Specific Models
VolumeJobTypeMigrate- Migration job type implementationVolumeJobTypeMigrateParameters- Parameters for volume migration jobs
New Options Structs
ListVolumeJobsOptions- Options for listing volume jobsCreateVolumeJobOptions- Options for creating a volume jobGetVolumeJobOptions- Options for retrieving a volume jobUpdateVolumeJobOptions- Options for updating a volume jobDeleteVolumeJobOptions- Options for deleting a volume jobCancelVolumeJobOptions- 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
- Constant:
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
API Version Update
- Updated API version from
2026-03-24to2026-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 cursorlimit- Number of resources to return per page
-
Enhanced Response Structure:
first- Link to the first page of resourceslimit- Maximum number of resources per requestnext- Link to the next page (when available)total_count- Total number of resources across all pages
-
New Pager Implementation:
- Added
InstanceProfilesPagerstruct for simplified pagination - Methods available:
NewInstanceProfilesPager()- Create new pager instanceHasNext()- Check if more results are availableGetNext()- Retrieve next page of resultsGetNextWithContext()- Retrieve next page with contextGetAll()- Retrieve all results across all pagesGetAllWithContext()- Retrieve all results with context
- Added
2. Zone Information for Instance Profiles
Enhancement: Instance profiles now include zone availability information.
Changes:
- Added
zonesfield toInstanceProfilestruct - Type:
[]ZoneReference(array of zone references) - Provides list of zones in the region that support each instance profile
v0.81.0
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 volumeCreateVolumeJob- Create a new job for a volumeGetVolumeJob- Retrieve details of a specific volume jobUpdateVolumeJob- Update a volume jobDeleteVolumeJob- Delete a volume jobCancelVolumeJob- 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 resourceVolumeJobIntf- Interface for volume job typesVolumeJobCollection- Collection of volume jobs with pagination supportVolumeJobPatch- Patch model for updating volume jobsVolumeJobStatusReason- Status reason details for job state
Volume Job Prototypes
VolumeJobPrototype- Base prototype for creating volume jobsVolumeJobPrototypeIntf- Interface for job prototype typesVolumeJobPrototypeVolumeJobTypeMigratePrototype- Prototype for migration jobs
Job Type Specific Models
VolumeJobTypeMigrate- Migration job type implementationVolumeJobTypeMigrateParameters- Parameters for volume migration jobs
New Options Structs
ListVolumeJobsOptions- Options for listing volume jobsCreateVolumeJobOptions- Options for creating a volume jobGetVolumeJobOptions- Options for retrieving a volume jobUpdateVolumeJobOptions- Options for updating a volume jobDeleteVolumeJobOptions- Options for deleting a volume jobCancelVolumeJobOptions- 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
- Constant:
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
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