AWS Storage Gateway

2019/03/27 - AWS Storage Gateway - 5 updated api methods

Changes  This change allows you to select a pool for archiving virtual tapes. Pools are associated with S3 storage classes. You can now choose to archive virtual tapes in either S3 Glacier or S3 Glacier Deep Archive storage class. CreateTapes API now takes a new PoolId parameter which can either be GLACIER or DEEP_ARCHIVE. Tapes created with this parameter will be archived in the corresponding storage class.

CreateTapeWithBarcode (updated) Link ¶
Changes (request)
{'PoolId': 'string'}

Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. A barcode is unique and can not be reused if it has already been used on a tape . This applies to barcodes used on deleted tapes. This operation is only supported in the tape gateway type.

Note

Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

See also: AWS API Documentation

Request Syntax

client.create_tape_with_barcode(
    GatewayARN='string',
    TapeSizeInBytes=123,
    TapeBarcode='string',
    KMSEncrypted=True|False,
    KMSKey='string',
    PoolId='string'
)
type GatewayARN

string

param GatewayARN

[REQUIRED]

The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tape with. Use the ListGateways operation to return a list of gateways for your account and region.

type TapeSizeInBytes

integer

param TapeSizeInBytes

[REQUIRED]

The size, in bytes, of the virtual tape that you want to create.

Note

The size must be aligned by gigabyte (1024*1024*1024 byte).

type TapeBarcode

string

param TapeBarcode

[REQUIRED]

The barcode that you want to assign to the tape.

Note

Barcodes cannot be reused. This includes barcodes used for tapes that have been deleted.

type KMSEncrypted

boolean

param KMSEncrypted

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

type KMSKey

string

param KMSKey

The Amazon Resource Name (ARN) of the AWS KMS Key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

type PoolId

string

param PoolId

The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool.

Valid values: "GLACIER", "DEEP_ARCHIVE"

rtype

dict

returns

Response Syntax

{
    'TapeARN': 'string'
}

Response Structure

  • (dict) --

    CreateTapeOutput

    • TapeARN (string) --

      A unique Amazon Resource Name (ARN) that represents the virtual tape that was created.

CreateTapes (updated) Link ¶
Changes (request)
{'PoolId': 'string'}

Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes. This operation is only supported in the tape gateway type.

Note

Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache operation to add cache storage to a gateway.

See also: AWS API Documentation

Request Syntax

client.create_tapes(
    GatewayARN='string',
    TapeSizeInBytes=123,
    ClientToken='string',
    NumTapesToCreate=123,
    TapeBarcodePrefix='string',
    KMSEncrypted=True|False,
    KMSKey='string',
    PoolId='string'
)
type GatewayARN

string

param GatewayARN

[REQUIRED]

The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tapes with. Use the ListGateways operation to return a list of gateways for your account and region.

type TapeSizeInBytes

integer

param TapeSizeInBytes

[REQUIRED]

The size, in bytes, of the virtual tapes that you want to create.

Note

The size must be aligned by gigabyte (1024*1024*1024 byte).

type ClientToken

string

param ClientToken

[REQUIRED]

A unique identifier that you use to retry a request. If you retry a request, use the same ClientToken you specified in the initial request.

Note

Using the same ClientToken prevents creating the tape multiple times.

type NumTapesToCreate

integer

param NumTapesToCreate

[REQUIRED]

The number of virtual tapes that you want to create.

type TapeBarcodePrefix

string

param TapeBarcodePrefix

[REQUIRED]

A prefix that you append to the barcode of the virtual tape you are creating. This prefix makes the barcode unique.

Note

The prefix must be 1 to 4 characters in length and must be one of the uppercase letters from A to Z.

type KMSEncrypted

boolean

param KMSEncrypted

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

type KMSKey

string

param KMSKey

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

type PoolId

string

param PoolId

The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class you chose when you created the tape. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive).

Valid values: "GLACIER", "DEEP_ARCHIVE"

rtype

dict

returns

Response Syntax

{
    'TapeARNs': [
        'string',
    ]
}

Response Structure

  • (dict) --

    CreateTapeOutput

    • TapeARNs (list) --

      A list of unique Amazon Resource Names (ARNs) that represents the virtual tapes that were created.

      • (string) --

DescribeTapeArchives (updated) Link ¶
Changes (response)
{'TapeArchives': {'PoolId': 'string'}}

Returns a description of specified virtual tapes in the virtual tape shelf (VTS). This operation is only supported in the tape gateway type.

If a specific TapeARN is not specified, AWS Storage Gateway returns a description of all virtual tapes found in the VTS associated with your account.

See also: AWS API Documentation

Request Syntax

client.describe_tape_archives(
    TapeARNs=[
        'string',
    ],
    Marker='string',
    Limit=123
)
type TapeARNs

list

param TapeARNs

Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe.

  • (string) --

type Marker

string

param Marker

An opaque string that indicates the position at which to begin describing virtual tapes.

type Limit

integer

param Limit

Specifies that the number of virtual tapes descried be limited to the specified number.

rtype

dict

returns

Response Syntax

{
    'TapeArchives': [
        {
            'TapeARN': 'string',
            'TapeBarcode': 'string',
            'TapeCreatedDate': datetime(2015, 1, 1),
            'TapeSizeInBytes': 123,
            'CompletionTime': datetime(2015, 1, 1),
            'RetrievedTo': 'string',
            'TapeStatus': 'string',
            'TapeUsedInBytes': 123,
            'KMSKey': 'string',
            'PoolId': 'string'
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    DescribeTapeArchivesOutput

    • TapeArchives (list) --

      An array of virtual tape objects in the virtual tape shelf (VTS). The description includes of the Amazon Resource Name (ARN) of the virtual tapes. The information returned includes the Amazon Resource Names (ARNs) of the tapes, size of the tapes, status of the tapes, progress of the description and tape barcode.

      • (dict) --

        Represents a virtual tape that is archived in the virtual tape shelf (VTS).

        • TapeARN (string) --

          The Amazon Resource Name (ARN) of an archived virtual tape.

        • TapeBarcode (string) --

          The barcode that identifies the archived virtual tape.

        • TapeCreatedDate (datetime) --

          The date the virtual tape was created.

        • TapeSizeInBytes (integer) --

          The size, in bytes, of the archived virtual tape.

        • CompletionTime (datetime) --

          The time that the archiving of the virtual tape was completed.

          The default time stamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

        • RetrievedTo (string) --

          The Amazon Resource Name (ARN) of the tape gateway that the virtual tape is being retrieved to.

          The virtual tape is retrieved from the virtual tape shelf (VTS).

        • TapeStatus (string) --

          The current state of the archived virtual tape.

        • TapeUsedInBytes (integer) --

          The size, in bytes, of data stored on the virtual tape.

          Note

          This value is not available for tapes created prior to May 13, 2015.

        • KMSKey (string) --

          The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

        • PoolId (string) --

          The ID of the pool that was used to archive the tape. The tapes in this pool are archived in the S3 storage class that is associated with the pool.

          Valid values: "GLACIER", "DEEP_ARCHIVE"

    • Marker (string) --

      An opaque string that indicates the position at which the virtual tapes that were fetched for description ended. Use this marker in your next request to fetch the next set of virtual tapes in the virtual tape shelf (VTS). If there are no more virtual tapes to describe, this field does not appear in the response.

DescribeTapes (updated) Link ¶
Changes (response)
{'Tapes': {'PoolId': 'string'}}

Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is not specified, returns a description of all virtual tapes associated with the specified gateway. This operation is only supported in the tape gateway type.

See also: AWS API Documentation

Request Syntax

client.describe_tapes(
    GatewayARN='string',
    TapeARNs=[
        'string',
    ],
    Marker='string',
    Limit=123
)
type GatewayARN

string

param GatewayARN

[REQUIRED]

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

type TapeARNs

list

param TapeARNs

Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe. If this parameter is not specified, Tape gateway returns a description of all virtual tapes associated with the specified gateway.

  • (string) --

type Marker

string

param Marker

A marker value, obtained in a previous call to DescribeTapes . This marker indicates which page of results to retrieve.

If not specified, the first page of results is retrieved.

type Limit

integer

param Limit

Specifies that the number of virtual tapes described be limited to the specified number.

Note

Amazon Web Services may impose its own limit, if this field is not set.

rtype

dict

returns

Response Syntax

{
    'Tapes': [
        {
            'TapeARN': 'string',
            'TapeBarcode': 'string',
            'TapeCreatedDate': datetime(2015, 1, 1),
            'TapeSizeInBytes': 123,
            'TapeStatus': 'string',
            'VTLDevice': 'string',
            'Progress': 123.0,
            'TapeUsedInBytes': 123,
            'KMSKey': 'string',
            'PoolId': 'string'
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    DescribeTapesOutput

    • Tapes (list) --

      An array of virtual tape descriptions.

      • (dict) --

        Describes a virtual tape object.

        • TapeARN (string) --

          The Amazon Resource Name (ARN) of the virtual tape.

        • TapeBarcode (string) --

          The barcode that identifies a specific virtual tape.

        • TapeCreatedDate (datetime) --

          The date the virtual tape was created.

        • TapeSizeInBytes (integer) --

          The size, in bytes, of the virtual tape capacity.

        • TapeStatus (string) --

          The current state of the virtual tape.

        • VTLDevice (string) --

          The virtual tape library (VTL) device that the virtual tape is associated with.

        • Progress (float) --

          For archiving virtual tapes, indicates how much data remains to be uploaded before archiving is complete.

          Range: 0 (not started) to 100 (complete).

        • TapeUsedInBytes (integer) --

          The size, in bytes, of data stored on the virtual tape.

          Note

          This value is not available for tapes created prior to May 13, 2015.

        • KMSKey (string) --

          The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

        • PoolId (string) --

          The ID of the pool that contains tapes that will be archived. The tapes in this pool are archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool.

          Valid values: "GLACIER", "DEEP_ARCHIVE"

    • Marker (string) --

      An opaque string which can be used as part of a subsequent DescribeTapes call to retrieve the next page of results.

      If a response does not contain a marker, then there are no more results to be retrieved.

ListTapes (updated) Link ¶
Changes (response)
{'TapeInfos': {'PoolId': 'string'}}

Lists virtual tapes in your virtual tape library (VTL) and your virtual tape shelf (VTS). You specify the tapes to list by specifying one or more tape Amazon Resource Names (ARNs). If you don't specify a tape ARN, the operation lists all virtual tapes in both your VTL and VTS.

This operation supports pagination. By default, the operation returns a maximum of up to 100 tapes. You can optionally specify the Limit parameter in the body to limit the number of tapes in the response. If the number of tapes returned in the response is truncated, the response includes a Marker element that you can use in your subsequent request to retrieve the next set of tapes. This operation is only supported in the tape gateway type.

See also: AWS API Documentation

Request Syntax

client.list_tapes(
    TapeARNs=[
        'string',
    ],
    Marker='string',
    Limit=123
)
type TapeARNs

list

param TapeARNs

The Amazon Resource Name (ARN) of each of the tapes you want to list. If you don't specify a tape ARN, the response lists all tapes in both your VTL and VTS.

  • (string) --

type Marker

string

param Marker

A string that indicates the position at which to begin the returned list of tapes.

type Limit

integer

param Limit

An optional number limit for the tapes in the list returned by this call.

rtype

dict

returns

Response Syntax

{
    'TapeInfos': [
        {
            'TapeARN': 'string',
            'TapeBarcode': 'string',
            'TapeSizeInBytes': 123,
            'TapeStatus': 'string',
            'GatewayARN': 'string',
            'PoolId': 'string'
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    A JSON object containing the following fields:

    • ListTapesOutput$Marker

    • ListTapesOutput$VolumeInfos

    • TapeInfos (list) --

      An array of TapeInfo objects, where each object describes an a single tape. If there not tapes in the tape library or VTS, then the TapeInfos is an empty array.

      • (dict) --

        Describes a virtual tape.

        • TapeARN (string) --

          The Amazon Resource Name (ARN) of a virtual tape.

        • TapeBarcode (string) --

          The barcode that identifies a specific virtual tape.

        • TapeSizeInBytes (integer) --

          The size, in bytes, of a virtual tape.

        • TapeStatus (string) --

          The status of the tape.

        • GatewayARN (string) --

          The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

        • PoolId (string) --

          The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (Glacier or Deep Archive) that corresponds to the pool.

          Valid values: "GLACIER", "DEEP_ARCHIVE"

    • Marker (string) --

      A string that indicates the position at which to begin returning the next list of tapes. Use the marker in your next request to continue pagination of tapes. If there are no more tapes to list, this element does not appear in the response body.