Update a volume (AWS IAM role)

📘

Navigation

This call updates the details of a specific volume.

Request

https://cgc-api.sbgenomics.com/v2/storage/volumes/{volume_id}

Example request

PATCH /v2/storage/volumes/rfranklin/output HTTP/1.1
Host: cgc-api.sbgenomics.com
X-SBG-Auth-Token: 3210a98c1db9318fa9d9273156740f74
Content-Type: application/json
curl  - -data '@patch-volume.json' -s -H "X-SBG-Auth-Token: 3210a98c1db9318fa9d9273156740f74" -H "Content-Type: application/json" -X PATCH "https://cgc-api.sbgenomics.com/storage/volumes/rfranklin/output"

Header Fields

KeyDescription of value
X-SBG-Auth-Token
required
Your CGC authentication token.
Content-type
required
application/json

Path parameters

KeyDescription of value
volume_idThe volume that you want to update.

Request body

In the body, you should enter a list of key-value pairs. The keys and the values they take are described in the following table.

KeyData type of valueDescription of value
access_modeStringSignifies whether this volume should be used for read-write ("RW") or read-only ("RO") operations.

The access mode is consulted independently of the credentials granted to Seven Bridges when the volume was created, so it is possible to use a read-write credentials to register both read-write and read-only volumes using it.

default: "RW"
descriptionStringAn optional description of this volume.
service
required
ObjectThis object should contain the information about the cloud service that this volume represents.

See the service object section for an explanation of its structure.

The service object

KeyData type of valueDescription of value
credentialsObjectThis object contains authentication parameters of your AWS IAM Role:

external_id (optional, used if an External ID is defined as required in for the role in the AWS console)
role_arn
external_idStringOptional information that you can use in an IAM role trust policy to designate who can assume the role. Must be provided if it is configured in your role trust policy on AWS. More info.
role_arnStringThe ARN (Amazon Resource Name) of your role that is used to connect your S3 bucket.
propertiesObjectContains properties of specific service.
sse_algorithmStringUse default AES256 server-side encryption when writing to this bucket. (Support for SSE-KMS and SSE-C will be added in a later release.)

Can be:
- AES256 (default)
- aws:kms
- null
sse_aws_kms_key_idStringProvide your AWS KMS ID here if you specify aws:kms as your sse_algorithm. Learn more about AWS KMS.

Example request body

{
  "description": null,
  "service": {
    "properties": {
      "sse_algorithm": "AES256"
    }
  },
}

Response

See a list of CGC-specific response codes that may be contained in the body of the response.

Response body

The response object contains information about the specified volume. The information is structured using the following key-value pairs:

KeyData type of valueDescription of value
activeBooleanIf a volume is deactivated, this field will be set to false
idStringID of this volume, containing owner/name
nameStringName of the volume.
descriptionStringThe description of this volume.
serviceObjectThis object more closely describes the mapping of the volume to the cloud service where the data is stored.

See the service object section for an explanation of its structure.
created_onStringThe date and time this volume was created.
modified_onStringThe date and time this volume was last modified.

Example response body

{
  "href": "https://cgc-api.sbgenomics.com/v2/storage/volumes/rfranklin/output",
  "id": "rfranklin/output",
  "name": "output",
  "access_mode": "RW",
  "service": {
    "type": "S3",
    "bucket": "output_bucket",
    "endpoint": "s3.amazonaws.com",
    "credentials": {
        "external_id": "external-volume-id-1234",
        "role_arn": "arn:aws:iam::123456789012:role/test-volume-00"
    },
    "properties": {
        "sse_algorithm": "AES256"
    }
  },
  "created_on": "2020-06-30T08:14:02Z",
  "modified_on": "2020-06-30T08:14:02Z",
  "active": true
}

👍

Note that you cannot view volumes that you have created via the visual interface. However, you can see all your volumes by making the call to list volumes.