---
name: vpc-bs_snapshots_software_attachments
title: Updating Block Storage for VPC snapshot software attachments
description: You can update the name of the software attachments of a snapshot.
last-updated: 2026-10-15
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/vpc?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Updating Block Storage for VPC snapshot software attachments
{: #snapshots-vpc-software-attachments}

You can update the name of the software attachments of a snapshot.
{: shortdesc}

Provisioning a virtual server instance from a catalog image with a software billing plan creates a boot volume with a software attachment. The software attachment contains the software plan and licensable software details. When you create a snapshot of that boot volume, the snapshot inherits the software attachment. Snapshots that were created before this feature was available and that reference a software billing plan are also updated with a software attachment. You can update the software attachment of the snapshot from the CLI, API, or Terraform.

## Updating a snapshot software attachment in the console
{: #snapshots-vpc-software-attachments-ui}
{: ui}

Updating a snapshot software attachment is not supported in the console. To update a snapshot software attachment, use the CLI, API, or Terraform instructions.

## Updating a snapshot software attachment with the CLI
{: #updating-snapshots-vpc-software-attachments-cli}
{: cli}

Before you can use the CLI, you must install the IBM Cloud CLI and the VPC CLI plug-in. For more information, see the [CLI prerequisites](https://cloud.ibm.com/docs/vpc?topic=vpc-set-up-environment&format=markdown#cli-prerequisites-setup).
{: requirement}

To update a snapshot software attachment, use the [`ibmcloud is snapshot-software-attachment-update`](https://cloud.ibm.com/docs/vpc?topic=vpc-vpc-reference&format=markdown#snapshot-software-attachment-update) command. The `SNAPSHOT` variable is the ID or name of the snapshot. The `SWAC` variable is the ID or name of the snapshot software attachment. The `--name` value is the new name for the snapshot software attachment.

```sh
ibmcloud is snapshot-software-attachment-update SNAPSHOT SWAC --name NEW_NAME [--output JSON] [-q, --quiet]
```
{: pre}

The following example renames the software attachment `my-snapshot-software-attachment` to `my-renamed-snapshot-software-attachment` for the snapshot `my-snapshot`.

```sh
ibmcloud is snapshot-software-attachment-update my-snapshot my-snapshot-software-attachment --name my-renamed-snapshot-software-attachment
```
{: pre}

For more information about available command options, see [`ibmcloud is snapshot-software-attachment-update`](https://cloud.ibm.com/docs/vpc?topic=vpc-vpc-reference&format=markdown#snapshot-software-attachment-update).

## Retrieving a snapshot software attachment with the CLI
{: #snapshots-vpc-retrieve-software-attachment-cli}
{: cli}

You can retrieve a specific software attachment of a snapshot by ID or name from the CLI. Use [`ibmcloud is snapshot-software-attachment`](https://cloud.ibm.com/docs/vpc?topic=vpc-vpc-reference&format=markdown#snapshot-software-attachment-view). The `SNAPSHOT` variable is the ID or name of the snapshot. The `SWAC` variable is the snapshot software attachment ID or name.

```sh
ibmcloud is snapshot-software-attachment SNAPSHOT SWAC [--output JSON] [-q, --quiet]
```
{: pre}

- To retrieve a snapshot software attachment by ID, specify the software attachment ID as the `SWAC` variable.

   The following example retrieves the software attachment with ID `r134-fbb5d014-5cf1-4bf9-af23-86fc238c3c0a` for the snapshot `cli-snap`.

   ```sh
   ibmcloud is snapshot-software-attachment cli-snap r134-fbb5d014-5cf1-4bf9-af23-86fc238c3c0a
   ```
   {: pre}

- To retrieve a snapshot software attachment by name, specify the software attachment name as the `SWAC` variable.

   The following example retrieves the software attachment named `twiddling-thud-stash-reliant` for the snapshot `cli-snap`.

   ```sh
   ibmcloud is snapshot-software-attachment cli-snap twiddling-thud-stash-reliant
   ```
   {: pre}

For more information about available command options, see [`ibmcloud is snapshot-software-attachment`](https://cloud.ibm.com/docs/vpc?topic=vpc-vpc-reference&format=markdown#snapshot-software-attachment-view).

## Updating a snapshot software attachment with the API
{: #snapshots-vpc-software-attachments-api}
{: api}

Make a `PATCH /snapshots/{snapshot_id}/software_attachments/{id}` request and specify the snapshot ID and the software attachment ID to update the software attachment with the information that is provided in a snapshot software attachment patch object.

The following example updates a software attachment with an ID of `$software_attachment_id` for a snapshot with an ID of `$snapshot_id`.

```sh
curl -X PATCH "https://us-south.iaas.cloud.ibm.com/v1/snapshots/$snapshot_id/software_attachments/$software_attachment_id?version=2026-06-23&generation=2" \
  -H "accept: application/json" \
  -H "Content-Type: application/merge-patch+json" \
  -H "Authorization: Bearer $iam_token" \
  -d '{"name":"my-renamed-snapshot-software-attachment"}'
```
{: pre}

For more information, see [Update a snapshot software attachment](https://cloud.ibm.com/docs/apis/vpc/latest#update-snapshot-software-attachment) in the VPC API reference.

## Retrieving a snapshot software attachment with the API
{: #get-snapshot-software-attachment-api}
{: api}

Make a `GET /snapshots/{snapshot_id}/software_attachments/{id}` request and specify the software attachment ID and snapshot ID. This request retrieves a single snapshot software attachment that is specified by an identifier in the URL.

The following example retrieves a specific software attachment with an ID of `$software_attachment_id` for a snapshot with a snapshot ID of `$snapshot_id`.

```sh
curl -X GET "https://us-south.iaas.cloud.ibm.com/v1/snapshot/$snapshot_id/software_attachments/$software_attachment_id?version=2026-06-23&generation=2" -H "accept: application/json" -H "Authorization: Bearer $iam_token"
```
{: pre}

For more information, see [Retrieve a snapshot software attachment](https://cloud.ibm.com/docs/apis/vpc/latest#get-snapshot-software-attachment) in the VPC API.

## Updating a snapshot software attachment with Terraform
{: #snapshots-vpc-software-attachments-terraform}
{: terraform}

You can't directly create a software attachment. The software attachment is automatically created when a snapshot is created from a boot volume that has an associated software billing plan.

You use the `ibm_is_snapshot_software_attachment` resource to manage an existing attachment by adopting it and setting its name. The `snapshot_id` argument is the snapshot identifier. The `name` argument is the name to set on the snapshot software attachment.

The following example sets the name of the software attachment.

```terraform
resource "ibm_is_snapshot_software_attachment" "is_snapshot_software_attachment_instance" {
  name = "my-software-attachment"
  snapshot_id = "snapshot_id"
}
```
{: codeblock}

After you define the resource, run `terraform apply` to adopt the attachment and apply the name.

To update the name of an existing software attachment, update the `name` argument and run `terraform plan` to preview the changes, then run `terraform apply` to apply them.

You can't delete a software attachment by using Terraform. The lifecycle of a software attachment is linked to the snapshot that it is associated with. Running `terraform destroy` on the `ibm_is_snapshot_software_attachment` resource removes it only from the Terraform state.

For more information, see [ibm_is_snapshot_software_attachment](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/is_snapshot_software_attachment){: external}.</

## Retrieving a snapshot software attachment with Terraform
{: #retrieve-snapshot-software-attachment-manage-terraform}
{: terraform}

You can use Terraform to retrieve the software attachments of a snapshot.

- To retrieve a specific snapshot software attachment by ID, use the `ibm_is_snapshot_software_attachment` data source. Specify the `snapshot_id` and `is_snapshot_software_attachment_id` arguments.

   ```terraform
   data "ibm_is_snapshot_software_attachment" "is_snapshot_software_attachment_instance" {
     snapshot_id                        = ibm_is_snapshot_software_attachment.is_snapshot_software_attachment_instance.snapshot_id
     is_snapshot_software_attachment_id = ibm_is_snapshot_software_attachment.is_snapshot_software_attachment_instance.is_snapshot_software_attachment_id
   }
   ```
   {: codeblock}

- To list all software attachments for a snapshot, use the `ibm_is_snapshot_software_attachments` data source. Specify the `snapshot_id` argument.

   ```terraform
   data "ibm_is_snapshot_software_attachments" "is_snapshot_software_attachments_instance" {
     snapshot_id = ibm_is_snapshot_software_attachment.is_snapshot_software_attachment_instance.snapshot_id
   }
   ```
   {: codeblock}

For more information, see [ibm_is_snapshot_software_attachment](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/data-sources/is_snapshot_software_attachment){: external}.

## Next steps
{: #snapshots-vpc-software-attachments-next-steps}

* [View Block Storage for VPC snapshot software attachments](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-view&format=markdown#snapshots-vpc-view-software-attachments-cli)
* [Rename snapshots](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-rename&format=markdown)
* [Share snapshots with another account](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-share&format=markdown)
* [Manage Block Storage for VPC snapshot tags](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-tags&format=markdown)