Get details of a volume

This call returns details of the specified volume. The volume is referred to by its ID, which you can obtain by making the call to list all the volumes you've registered.

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

Request

Example request

GET /storage/volumes/rfranklin/output HTTP/1.1
Host: cavatica-api.sbgenomics.com
X-SBG-Auth-Token: 3259c50e1ac5426ea8f1273259740f75
curl  -s -H "X-SBG-Auth-Token: 6282d5e2121d43e7900e9d52b15845e7" -H "Content-type: application/json" -X GET "https://cavatica-api.sbgenomics.com/storage/volumes/rfranklin/output"

Header Fields

  <th>
    Description of value
  </th>
</tr>
  <td>
    Your CAVATICA [authentication token](doc:get-your-authentication-token).
  </td>
</tr>

<tr>
  <td>
    `Content-type`\
    *required*
  </td>

  <td>
    `application/json`
  </td>
</tr>
Key
`X-SBG-Auth-Token` *required*

Path parameters

  <th>
    Data type of value
  </th>

  <th>
    Description of value
  </th>
</tr>
  <td>
    String
  </td>

  <td>
    The volume that you want to query, which consists of username of the volume owner and volume name, for example `rfranklin/output`.
  </td>
</tr>
Key
`volume_id` *required*

Response

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

  <th>
    Data type of value
  </th>

  <th>
    Description of value
  </th>
</tr>
  <td>
    Boolean
  </td>

  <td>
    If a volume is deactivated, this field will be set to false
  </td>
</tr>

<tr>
  <td>
    `id`
  </td>

  <td>
    String
  </td>

  <td>
    ID of this volume, containing owner/name
  </td>
</tr>

<tr>
  <td>
    `name`
  </td>

  <td>
    String
  </td>

  <td>
    Name of the volume.
  </td>
</tr>

<tr>
  <td>
    `description`
  </td>

  <td>
    String
  </td>

  <td>
    The description of this volume.
  </td>
</tr>

<tr>
  <td>
    `service`
  </td>

  <td>
    Object
  </td>

  <td>
    This object more closely describes the mapping of the volume to the cloud service where the data is stored.

    See the <code><a href="#section-the-service-object">service</code> object section</a> below for an explanation of its structure.
  </td>
</tr>

<tr>
  <td>
    `created_on`
  </td>

  <td>
    String
  </td>

  <td>
    The date and time this volume was created.
  </td>
</tr>

<tr>
  <td>
    `modified_on`
  </td>

  <td>
    String
  </td>

  <td>
    The date and time this volume was last modified.
  </td>
</tr>
Key
`active`

The service object

  <th>
    Data type of value
  </th>

  <th>
    Description of value
  </th>
</tr>
  <td>
    string
  </td>

  <td>
    The type of cloud service supported. Currently the only valid values are `"s3"` for Amazon Web Services and `"gcs"` for Google Cloud Storage.
  </td>
</tr>

<tr>
  <td>
    `access_mode`
  </td>

  <td>
    string
  </td>

  <td>
    Signifies 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"`
  </td>
</tr>

<tr>
  <td>
    `prefix`
  </td>

  <td>
    String
  </td>

  <td>
    A service-specific prefix to prepend to all objects created in this volume. If the service supports folders, and this prefix includes them, the API will attempt to create any missing folders when it outputs a file.

    * default:\_ `""`
  </td>
</tr>

<tr>
  <td>
    `bucket`

    <span style="color:#871818">*applies to type:`s3` and `gcs`*</span>\
    *required*
  </td>

  <td>
    String
  </td>

  <td>
    The name of the AWS S3 or GCS bucket you wish to register as a volume.
  </td>
</tr>

<tr>
  <td>
    `root_url`

    *default:[https://s3.amazonaws.com](https://s3.amazonaws.com) for`s3` type and [https://www.googleapis.com/](https://www.googleapis.com/) for `gcs`*
  </td>

  <td>
    String
  </td>

  <td>
    Cloud provider API endpoint to use when accessing this bucket.

    For a list of AWS-supported endpoints, see <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region" target="blank">AWS Regions and Endpoints</a>.
  </td>
</tr>

<tr>
  <td>
    `credentials`
  </td>

  <td>
    Object
  </td>

  <td>
    Contains credentials for the underlying cloud provider.

    * AWS IAM user:
      * [`access-key-id`](#access-key-id)
      * [`secret_access-key`](#secret-access-key)

    For Google Cloud Storage, these credentials are:

    * [`client_email`](#client-email)
    * [`private_key`](#private-key)
  </td>
</tr>

<tr>
  <td>
    <a name="access-key-id"></a>`access_key_id`

    <span style="color:#871818">*applies to type:`s3`*</span>\
    *required*
  </td>

  <td>
    String
  </td>

  <td>
    AWS access key ID of the IAM user shared with Seven Bridges to access this bucket.
  </td>
</tr>

<tr>
  <td>
    <a name="secret-access-key"></a>`secret_access_key`

    <span style="color:#871818">*applies to type:`s3`*</span>\
    *required*
  </td>

  <td>
    String
  </td>

  <td>
    AWS secret access key of the IAM user shared with Seven Bridges to access this bucket.
  </td>
</tr>

<tr>
  <td>
    <a name="client-email"></a>`client_email`

    <span style="color:#871818">*applies to type:`gcs`*</span>\
    *required*
  </td>

  <td>
    String
  </td>

  <td>
    Google Cloud Storage user email.
  </td>
</tr>

<tr>
  <td>
    <a name="private-key"></a>`private_key`

    <span style="color:#871818">*applies to type:`gcs`*</span>\
    *required*
  </td>

  <td>
    String
  </td>

  <td>
    Google Cloud Storage private key.
  </td>
</tr>

<tr>
  <td>
    `properties`
  </td>

  <td>
    Object
  </td>

  <td>
    Contains properties of specific service.
  </td>
</tr>

<tr>
  <td>
    `sse_algorithm`

    <span style="color:#871818">*applies to type:`s3`*</span>
  </td>

  <td>
    String
  </td>

  <td>
    Use default AES256 server-side encryption or AWS KMS encryption when writing to this bucket.

    Can be:

    * AES256 (default)
    * aws:kms

    *default: AES256*
  </td>
</tr>

<tr>
  <td>
    `sse_aws_kms_key_id`

    <span style="color:#871818">*applies to type:`s3`*</span>
  </td>

  <td>
    String
  </td>

  <td>
    If AWS KMS encryption is used, this should be set to the required KMS key. If not set and `aws:kms` is set as `sse_algorithm`, default KMS key is used.
  </td>
</tr>
Key
`type`

Example response body

{
  "active": True,
  "description": "task outputs bucket",
  "id": "rfranklin/output",
  "service": {
    "type": "s3",
    "bucket": "sbg-test-output",
    "hostname": "s3.amazonaws.com",
    "access_key": "AKIAJRC7TPMRMEXAMPLE",
    "access_mode": "RW",
    "prefix": "",
    "sse_enabled": True,
    "created_time": "2016-06-29T11:13:10+02:00",
    "updated_time": "2016-06-29T12:15:10+02:00"
  }
}