Amazon EventBridge

2024/05/13 - Amazon EventBridge - 1 new 3 updated api methods

Changes  Amazon EventBridge introduces KMS customer-managed key (CMK) encryption support for custom and partner events published on EventBridge Event Bus (including default bus) and UpdateEventBus API.

UpdateEventBus (new) Link ¶

Updates the specified event bus.

See also: AWS API Documentation

Request Syntax

client.update_event_bus(
    Name='string',
    KmsKeyIdentifier='string',
    Description='string',
    DeadLetterConfig={
        'Arn': 'string'
    }
)
type Name

string

param Name

The name of the event bus.

type KmsKeyIdentifier

string

param KmsKeyIdentifier

The identifier of the KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.

If you do not specify a customer managed key identifier, EventBridge uses an Amazon Web Services owned key to encrypt events on the event bus.

For more information, see Managing keys in the Key Management Service Developer Guide .

Note

Archives and schema discovery are not supported for event buses encrypted using a customer managed key. EventBridge returns an error if:

  • You call CreateArchive on an event bus set to use a customer managed key for encryption.

  • You call CreateDiscoverer on an event bus set to use a customer managed key for encryption.

  • You call UpdatedEventBus to set a customer managed key on an event bus with an archives or schema discovery enabled.

To enable archives or schema discovery on an event bus, choose to use an Amazon Web Services owned key. For more information, see Data encryption in EventBridge in the Amazon EventBridge User Guide .

type Description

string

param Description

The event bus description.

type DeadLetterConfig

dict

param DeadLetterConfig

Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).

For more information, see Event retry policy and using dead-letter queues in the EventBridge User Guide .

  • Arn (string) --

    The ARN of the SQS queue specified as the target for the dead-letter queue.

rtype

dict

returns

Response Syntax

{
    'Arn': 'string',
    'Name': 'string',
    'KmsKeyIdentifier': 'string',
    'Description': 'string',
    'DeadLetterConfig': {
        'Arn': 'string'
    }
}

Response Structure

  • (dict) --

    • Arn (string) --

      The event bus Amazon Resource Name (ARN).

    • Name (string) --

      The event bus name.

    • KmsKeyIdentifier (string) --

      The identifier of the KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified.

      For more information, see Data encryption in EventBridge in the Amazon EventBridge User Guide .

    • Description (string) --

      The event bus description.

    • DeadLetterConfig (dict) --

      Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).

      For more information, see Event retry policy and using dead-letter queues in the EventBridge User Guide .

      • Arn (string) --

        The ARN of the SQS queue specified as the target for the dead-letter queue.

CreateEventBus (updated) Link ¶
Changes (both)
{'DeadLetterConfig': {'Arn': 'string'},
 'Description': 'string',
 'KmsKeyIdentifier': 'string'}

Creates a new event bus within your account. This can be a custom event bus which you can use to receive events from your custom applications and services, or it can be a partner event bus which can be matched to a partner event source.

See also: AWS API Documentation

Request Syntax

client.create_event_bus(
    Name='string',
    EventSourceName='string',
    Description='string',
    KmsKeyIdentifier='string',
    DeadLetterConfig={
        'Arn': 'string'
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Name

string

param Name

[REQUIRED]

The name of the new event bus.

Custom event bus names can't contain the / character, but you can use the / character in partner event bus names. In addition, for partner event buses, the name must exactly match the name of the partner event source that this event bus is matched to.

You can't use the name default for a custom event bus, as this name is already used for your account's default event bus.

type EventSourceName

string

param EventSourceName

If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.

type Description

string

param Description

The event bus description.

type KmsKeyIdentifier

string

param KmsKeyIdentifier

The identifier of the KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.

If you do not specify a customer managed key identifier, EventBridge uses an Amazon Web Services owned key to encrypt events on the event bus.

For more information, see Managing keys in the Key Management Service Developer Guide .

Note

Archives and schema discovery are not supported for event buses encrypted using a customer managed key. EventBridge returns an error if:

  • You call CreateArchive on an event bus set to use a customer managed key for encryption.

  • You call CreateDiscoverer on an event bus set to use a customer managed key for encryption.

  • You call UpdatedEventBus to set a customer managed key on an event bus with an archives or schema discovery enabled.

To enable archives or schema discovery on an event bus, choose to use an Amazon Web Services owned key. For more information, see Data encryption in EventBridge in the Amazon EventBridge User Guide .

type DeadLetterConfig

dict

param DeadLetterConfig

Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).

For more information, see Event retry policy and using dead-letter queues in the EventBridge User Guide .

  • Arn (string) --

    The ARN of the SQS queue specified as the target for the dead-letter queue.

type Tags

list

param Tags

Tags to associate with the event bus.

  • (dict) --

    A key-value pair associated with an Amazon Web Services resource. In EventBridge, rules and event buses support tagging.

    • Key (string) -- [REQUIRED]

      A string you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.

    • Value (string) -- [REQUIRED]

      The value for the specified tag key.

rtype

dict

returns

Response Syntax

{
    'EventBusArn': 'string',
    'Description': 'string',
    'KmsKeyIdentifier': 'string',
    'DeadLetterConfig': {
        'Arn': 'string'
    }
}

Response Structure

  • (dict) --

    • EventBusArn (string) --

      The ARN of the new event bus.

    • Description (string) --

      The event bus description.

    • KmsKeyIdentifier (string) --

      The identifier of the KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified.

      For more information, see Data encryption in EventBridge in the Amazon EventBridge User Guide .

    • DeadLetterConfig (dict) --

      Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).

      For more information, see Event retry policy and using dead-letter queues in the EventBridge User Guide .

      • Arn (string) --

        The ARN of the SQS queue specified as the target for the dead-letter queue.

DescribeEventBus (updated) Link ¶
Changes (response)
{'CreationTime': 'timestamp',
 'DeadLetterConfig': {'Arn': 'string'},
 'Description': 'string',
 'KmsKeyIdentifier': 'string',
 'LastModifiedTime': 'timestamp'}

Displays details about an event bus in your account. This can include the external Amazon Web Services accounts that are permitted to write events to your default event bus, and the associated policy. For custom event buses and partner event buses, it displays the name, ARN, policy, state, and creation time.

To enable your account to receive events from other accounts on its default event bus, use PutPermission.

For more information about partner event buses, see CreateEventBus.

See also: AWS API Documentation

Request Syntax

client.describe_event_bus(
    Name='string'
)
type Name

string

param Name

The name or ARN of the event bus to show details for. If you omit this, the default event bus is displayed.

rtype

dict

returns

Response Syntax

{
    'Name': 'string',
    'Arn': 'string',
    'Description': 'string',
    'KmsKeyIdentifier': 'string',
    'DeadLetterConfig': {
        'Arn': 'string'
    },
    'Policy': 'string',
    'CreationTime': datetime(2015, 1, 1),
    'LastModifiedTime': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • Name (string) --

      The name of the event bus. Currently, this is always default .

    • Arn (string) --

      The Amazon Resource Name (ARN) of the account permitted to write events to the current account.

    • Description (string) --

      The event bus description.

    • KmsKeyIdentifier (string) --

      The identifier of the KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified.

      For more information, see Data encryption in EventBridge in the Amazon EventBridge User Guide .

    • DeadLetterConfig (dict) --

      Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ).

      For more information, see Event retry policy and using dead-letter queues in the EventBridge User Guide .

      • Arn (string) --

        The ARN of the SQS queue specified as the target for the dead-letter queue.

    • Policy (string) --

      The policy that enables the external account to send events to your account.

    • CreationTime (datetime) --

      The time the event bus was created.

    • LastModifiedTime (datetime) --

      The time the event bus was last modified.

ListEventBuses (updated) Link ¶
Changes (response)
{'EventBuses': {'CreationTime': 'timestamp',
                'Description': 'string',
                'LastModifiedTime': 'timestamp'}}

Lists all the event buses in your account, including the default event bus, custom event buses, and partner event buses.

See also: AWS API Documentation

Request Syntax

client.list_event_buses(
    NamePrefix='string',
    NextToken='string',
    Limit=123
)
type NamePrefix

string

param NamePrefix

Specifying this limits the results to only those event buses with names that start with the specified prefix.

type NextToken

string

param NextToken

The token returned by a previous call to retrieve the next set of results.

type Limit

integer

param Limit

Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results.

rtype

dict

returns

Response Syntax

{
    'EventBuses': [
        {
            'Name': 'string',
            'Arn': 'string',
            'Description': 'string',
            'Policy': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'LastModifiedTime': datetime(2015, 1, 1)
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • EventBuses (list) --

      This list of event buses.

      • (dict) --

        An event bus receives events from a source, uses rules to evaluate them, applies any configured input transformation, and routes them to the appropriate target(s). Your account's default event bus receives events from Amazon Web Services services. A custom event bus can receive events from your custom applications and services. A partner event bus receives events from an event source created by an SaaS partner. These events come from the partners services or applications.

        • Name (string) --

          The name of the event bus.

        • Arn (string) --

          The ARN of the event bus.

        • Description (string) --

          The event bus description.

        • Policy (string) --

          The permissions policy of the event bus, describing which other Amazon Web Services accounts can write events to this event bus.

        • CreationTime (datetime) --

          The time the event bus was created.

        • LastModifiedTime (datetime) --

          The time the event bus was last modified.

    • NextToken (string) --

      A token you can use in a subsequent operation to retrieve the next set of results.