Glacier / Client / set_vault_notifications

set_vault_notifications#

Glacier.Client.set_vault_notifications(**kwargs)#

This operation configures notifications that will be sent when specific events happen to a vault. By default, you don’t get any notifications.

To configure vault notifications, send a PUT request to the notification-configuration subresource of the vault. The request should include a JSON document that provides an Amazon SNS topic and specific events for which you want Amazon S3 Glacier to send notifications to the topic.

Amazon SNS topics must grant permission to the vault to be allowed to publish notifications to the topic. You can configure a vault to publish a notification for the following vault events:

  • ArchiveRetrievalCompleted This event occurs when a job that was initiated for an archive retrieval is completed ( InitiateJob). The status of the completed job can be “Succeeded” or “Failed”. The notification sent to the SNS topic is the same output as returned from DescribeJob.

  • InventoryRetrievalCompleted This event occurs when a job that was initiated for an inventory retrieval is completed ( InitiateJob). The status of the completed job can be “Succeeded” or “Failed”. The notification sent to the SNS topic is the same output as returned from DescribeJob.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don’t have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon S3 Glacier and Set Vault Notification Configuration in the Amazon Glacier Developer Guide.

See also: AWS API Documentation

Request Syntax

response = client.set_vault_notifications(
    vaultName='string',
    vaultNotificationConfig={
        'SNSTopic': 'string',
        'Events': [
            'string',
        ]
    }
)
Parameters:
  • accountId (string) –

    The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single ‘ -’ (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (‘-’) in the ID.

    Note: this parameter is set to “-” bydefault if no value is not specified.

  • vaultName (string) –

    [REQUIRED]

    The name of the vault.

  • vaultNotificationConfig (dict) –

    Provides options for specifying notification configuration.

    • SNSTopic (string) –

      The Amazon Simple Notification Service (Amazon SNS) topic Amazon Resource Name (ARN).

    • Events (list) –

      A list of one or more events for which Amazon S3 Glacier will send a notification to the specified Amazon SNS topic.

      • (string) –

Returns:

None

Exceptions

  • Glacier.Client.exceptions.ResourceNotFoundException

  • Glacier.Client.exceptions.InvalidParameterValueException

  • Glacier.Client.exceptions.MissingParameterValueException

  • Glacier.Client.exceptions.ServiceUnavailableException

Examples

The example sets the examplevault notification configuration.

response = client.set_vault_notifications(
    accountId='-',
    vaultName='examplevault',
    vaultNotificationConfig={
        'Events': [
            'ArchiveRetrievalCompleted',
            'InventoryRetrievalCompleted',
        ],
        'SNSTopic': 'arn:aws:sns:us-west-2:012345678901:mytopic',
    },
)

print(response)

Expected Output:

{
    'ResponseMetadata': {
        '...': '...',
    },
}