UNPKG

@aws-cdk/aws-events

Version:

Amazon EventBridge Construct Library

1,091 lines 121 kB
import * as cdk from '@aws-cdk/core'; import * as cfn_parse from '@aws-cdk/core/lib/helpers-internal'; /** * Properties for defining a `CfnApiDestination` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html */ export interface CfnApiDestinationProps { /** * The ARN of the connection to use for the API destination. The destination endpoint must support the authorization type specified for the connection. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-connectionarn */ readonly connectionArn: string; /** * The method to use for the request to the HTTP invocation endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-httpmethod */ readonly httpMethod: string; /** * The URL to the HTTP invocation endpoint for the API destination. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationendpoint */ readonly invocationEndpoint: string; /** * A description for the API destination to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-description */ readonly description?: string; /** * The maximum number of requests per second to send to the HTTP invocation endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationratelimitpersecond */ readonly invocationRateLimitPerSecond?: number; /** * The name for the API destination to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-name */ readonly name?: string; } /** * A CloudFormation `AWS::Events::ApiDestination` * * Creates an API destination, which is an HTTP invocation endpoint configured as a target for events. * * When using ApiDesinations with OAuth authentication we recommend these best practices: * * - Create a secret in Secrets Manager with your OAuth credentials. * - Reference that secret in your CloudFormation template for `AWS::Events::Connection` using CloudFormation dynamic reference syntax. For more information, see [Secrets Manager secrets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-secretsmanager) . * * When the Connection resource is created the secret will be passed to EventBridge and stored in the customer account using “Service Linked Secrets,” effectively creating two secrets. This will minimize the cost because the original secret is only accessed when a CloudFormation template is created or updated, not every time an event is sent to the ApiDestination. The secret stored in the customer account by EventBridge is the one used for each event sent to the ApiDestination and AWS is responsible for the fees. * * > The secret stored in the customer account by EventBridge can’t be updated directly, only when a CloudFormation template is updated. * * For examples of CloudFormation templates that use secrets, see [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#aws-resource-events-connection--examples) . * * @cloudformationResource AWS::Events::ApiDestination * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html */ export declare class CfnApiDestination extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::ApiDestination"; /** * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApiDestination; /** * The ARN of the API destination that was created by the request. * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The ARN of the connection to use for the API destination. The destination endpoint must support the authorization type specified for the connection. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-connectionarn */ connectionArn: string; /** * The method to use for the request to the HTTP invocation endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-httpmethod */ httpMethod: string; /** * The URL to the HTTP invocation endpoint for the API destination. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationendpoint */ invocationEndpoint: string; /** * A description for the API destination to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-description */ description: string | undefined; /** * The maximum number of requests per second to send to the HTTP invocation endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationratelimitpersecond */ invocationRateLimitPerSecond: number | undefined; /** * The name for the API destination to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-name */ name: string | undefined; /** * Create a new `AWS::Events::ApiDestination`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: cdk.Construct, id: string, props: CfnApiDestinationProps); /** * Examines the CloudFormation resource and discloses attributes. * * @param inspector - tree inspector to collect and process attributes * */ inspect(inspector: cdk.TreeInspector): void; protected get cfnProperties(): { [key: string]: any; }; protected renderProperties(props: { [key: string]: any; }): { [key: string]: any; }; } /** * Properties for defining a `CfnArchive` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html */ export interface CfnArchiveProps { /** * The ARN of the event bus that sends events to the archive. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-sourcearn */ readonly sourceArn: string; /** * The name for the archive to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-archivename */ readonly archiveName?: string; /** * A description for the archive. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-description */ readonly description?: string; /** * An event pattern to use to filter events sent to the archive. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-eventpattern */ readonly eventPattern?: any | cdk.IResolvable; /** * The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-retentiondays */ readonly retentionDays?: number; } /** * A CloudFormation `AWS::Events::Archive` * * Creates an archive of events with the specified settings. When you create an archive, incoming events might not immediately start being sent to the archive. Allow a short period of time for changes to take effect. If you do not specify a pattern to filter events sent to the archive, all events are sent to the archive except replayed events. Replayed events are not sent to an archive. * * @cloudformationResource AWS::Events::Archive * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html */ export declare class CfnArchive extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::Archive"; /** * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnArchive; /** * The ARN of the archive created. * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The ARN of the event bus that sends events to the archive. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-sourcearn */ sourceArn: string; /** * The name for the archive to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-archivename */ archiveName: string | undefined; /** * A description for the archive. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-description */ description: string | undefined; /** * An event pattern to use to filter events sent to the archive. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-eventpattern */ eventPattern: any | cdk.IResolvable | undefined; /** * The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-retentiondays */ retentionDays: number | undefined; /** * Create a new `AWS::Events::Archive`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: cdk.Construct, id: string, props: CfnArchiveProps); /** * Examines the CloudFormation resource and discloses attributes. * * @param inspector - tree inspector to collect and process attributes * */ inspect(inspector: cdk.TreeInspector): void; protected get cfnProperties(): { [key: string]: any; }; protected renderProperties(props: { [key: string]: any; }): { [key: string]: any; }; } /** * Properties for defining a `CfnConnection` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html */ export interface CfnConnectionProps { /** * The type of authorization to use for the connection. * * > OAUTH tokens are refreshed when a 401 or 407 response is returned. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authorizationtype */ readonly authorizationType: string; /** * A `CreateConnectionAuthRequestParameters` object that contains the authorization parameters to use to authorize with the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authparameters */ readonly authParameters: CfnConnection.AuthParametersProperty | cdk.IResolvable; /** * A description for the connection to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-description */ readonly description?: string; /** * The name for the connection to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-name */ readonly name?: string; } /** * A CloudFormation `AWS::Events::Connection` * * Creates a connection. A connection defines the authorization type and credentials to use for authorization with an API destination HTTP endpoint. * * @cloudformationResource AWS::Events::Connection * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html */ export declare class CfnConnection extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::Connection"; /** * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnConnection; /** * The ARN of the connection that was created by the request. * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The ARN for the secret created for the connection. * @cloudformationAttribute SecretArn */ readonly attrSecretArn: string; /** * The type of authorization to use for the connection. * * > OAUTH tokens are refreshed when a 401 or 407 response is returned. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authorizationtype */ authorizationType: string; /** * A `CreateConnectionAuthRequestParameters` object that contains the authorization parameters to use to authorize with the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authparameters */ authParameters: CfnConnection.AuthParametersProperty | cdk.IResolvable; /** * A description for the connection to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-description */ description: string | undefined; /** * The name for the connection to create. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-name */ name: string | undefined; /** * Create a new `AWS::Events::Connection`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: cdk.Construct, id: string, props: CfnConnectionProps); /** * Examines the CloudFormation resource and discloses attributes. * * @param inspector - tree inspector to collect and process attributes * */ inspect(inspector: cdk.TreeInspector): void; protected get cfnProperties(): { [key: string]: any; }; protected renderProperties(props: { [key: string]: any; }): { [key: string]: any; }; } export declare namespace CfnConnection { /** * Contains the API key authorization parameters for the connection. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-apikeyauthparameters.html */ interface ApiKeyAuthParametersProperty { /** * The name of the API key to use for authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-apikeyauthparameters.html#cfn-events-connection-apikeyauthparameters-apikeyname */ readonly apiKeyName: string; /** * The value for the API key to use for authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-apikeyauthparameters.html#cfn-events-connection-apikeyauthparameters-apikeyvalue */ readonly apiKeyValue: string; } } export declare namespace CfnConnection { /** * Contains the authorization parameters to use for the connection. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html */ interface AuthParametersProperty { /** * The API Key parameters to use for authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-apikeyauthparameters */ readonly apiKeyAuthParameters?: CfnConnection.ApiKeyAuthParametersProperty | cdk.IResolvable; /** * The authorization parameters for Basic authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-basicauthparameters */ readonly basicAuthParameters?: CfnConnection.BasicAuthParametersProperty | cdk.IResolvable; /** * Additional parameters for the connection that are passed through with every invocation to the HTTP endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-invocationhttpparameters */ readonly invocationHttpParameters?: CfnConnection.ConnectionHttpParametersProperty | cdk.IResolvable; /** * The OAuth parameters to use for authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-oauthparameters */ readonly oAuthParameters?: CfnConnection.OAuthParametersProperty | cdk.IResolvable; } } export declare namespace CfnConnection { /** * Contains the Basic authorization parameters for the connection. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-basicauthparameters.html */ interface BasicAuthParametersProperty { /** * The password associated with the user name to use for Basic authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-basicauthparameters.html#cfn-events-connection-basicauthparameters-password */ readonly password: string; /** * The user name to use for Basic authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-basicauthparameters.html#cfn-events-connection-basicauthparameters-username */ readonly username: string; } } export declare namespace CfnConnection { /** * Contains the OAuth authorization parameters to use for the connection. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html */ interface ClientParametersProperty { /** * The client ID to use for OAuth authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html#cfn-events-connection-clientparameters-clientid */ readonly clientId: string; /** * The client secret assciated with the client ID to use for OAuth authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html#cfn-events-connection-clientparameters-clientsecret */ readonly clientSecret: string; } } export declare namespace CfnConnection { /** * Contains additional parameters for the connection. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html */ interface ConnectionHttpParametersProperty { /** * Contains additional body string parameters for the connection. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html#cfn-events-connection-connectionhttpparameters-bodyparameters */ readonly bodyParameters?: Array<CfnConnection.ParameterProperty | cdk.IResolvable> | cdk.IResolvable; /** * Contains additional header parameters for the connection. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html#cfn-events-connection-connectionhttpparameters-headerparameters */ readonly headerParameters?: Array<CfnConnection.ParameterProperty | cdk.IResolvable> | cdk.IResolvable; /** * Contains additional query string parameters for the connection. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html#cfn-events-connection-connectionhttpparameters-querystringparameters */ readonly queryStringParameters?: Array<CfnConnection.ParameterProperty | cdk.IResolvable> | cdk.IResolvable; } } export declare namespace CfnConnection { /** * Contains the OAuth authorization parameters to use for the connection. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html */ interface OAuthParametersProperty { /** * The URL to the authorization endpoint when OAuth is specified as the authorization type. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-authorizationendpoint */ readonly authorizationEndpoint: string; /** * A `CreateConnectionOAuthClientRequestParameters` object that contains the client parameters for OAuth authorization. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-clientparameters */ readonly clientParameters: CfnConnection.ClientParametersProperty | cdk.IResolvable; /** * The method to use for the authorization request. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-httpmethod */ readonly httpMethod: string; /** * A `ConnectionHttpParameters` object that contains details about the additional parameters to use for the connection. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-oauthhttpparameters */ readonly oAuthHttpParameters?: CfnConnection.ConnectionHttpParametersProperty | cdk.IResolvable; } } export declare namespace CfnConnection { /** * Additional query string parameter for the connection. You can include up to 100 additional query string parameters per request. Each additional parameter counts towards the event payload size, which cannot exceed 64 KB. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html */ interface ParameterProperty { /** * Specifies whether the value is secret. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html#cfn-events-connection-parameter-isvaluesecret */ readonly isValueSecret?: boolean | cdk.IResolvable; /** * The key for a query string parameter. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html#cfn-events-connection-parameter-key */ readonly key: string; /** * The value associated with the key for the query string parameter. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html#cfn-events-connection-parameter-value */ readonly value: string; } } /** * Properties for defining a `CfnEndpoint` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html */ export interface CfnEndpointProps { /** * The event buses being used by the endpoint. * * *Exactly* : `2` * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-eventbuses */ readonly eventBuses: Array<CfnEndpoint.EndpointEventBusProperty | cdk.IResolvable> | cdk.IResolvable; /** * The routing configuration of the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-routingconfig */ readonly routingConfig: CfnEndpoint.RoutingConfigProperty | cdk.IResolvable; /** * A description for the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-description */ readonly description?: string; /** * The name of the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-name */ readonly name?: string; /** * Whether event replication was enabled or disabled for this endpoint. The default state is `ENABLED` which means you must supply a `RoleArn` . If you don't have a `RoleArn` or you don't want event replication enabled, set the state to `DISABLED` . * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-replicationconfig */ readonly replicationConfig?: CfnEndpoint.ReplicationConfigProperty | cdk.IResolvable; /** * The ARN of the role used by event replication for the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-rolearn */ readonly roleArn?: string; } /** * A CloudFormation `AWS::Events::Endpoint` * * A global endpoint used to improve your application's availability by making it regional-fault tolerant. For more information about global endpoints, see [Making applications Regional-fault tolerant with global endpoints and event replication](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) in the *Amazon EventBridge User Guide* . * * @cloudformationResource AWS::Events::Endpoint * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html */ export declare class CfnEndpoint extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::Endpoint"; /** * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEndpoint; /** * The ARN of the endpoint. * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The ID of the endpoint. * @cloudformationAttribute EndpointId */ readonly attrEndpointId: string; /** * The URL of the endpoint. * @cloudformationAttribute EndpointUrl */ readonly attrEndpointUrl: string; /** * The current state of the endpoint. * @cloudformationAttribute State */ readonly attrState: string; /** * The reason the endpoint is in its current state. * @cloudformationAttribute StateReason */ readonly attrStateReason: string; /** * The event buses being used by the endpoint. * * *Exactly* : `2` * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-eventbuses */ eventBuses: Array<CfnEndpoint.EndpointEventBusProperty | cdk.IResolvable> | cdk.IResolvable; /** * The routing configuration of the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-routingconfig */ routingConfig: CfnEndpoint.RoutingConfigProperty | cdk.IResolvable; /** * A description for the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-description */ description: string | undefined; /** * The name of the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-name */ name: string | undefined; /** * Whether event replication was enabled or disabled for this endpoint. The default state is `ENABLED` which means you must supply a `RoleArn` . If you don't have a `RoleArn` or you don't want event replication enabled, set the state to `DISABLED` . * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-replicationconfig */ replicationConfig: CfnEndpoint.ReplicationConfigProperty | cdk.IResolvable | undefined; /** * The ARN of the role used by event replication for the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-rolearn */ roleArn: string | undefined; /** * Create a new `AWS::Events::Endpoint`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: cdk.Construct, id: string, props: CfnEndpointProps); /** * Examines the CloudFormation resource and discloses attributes. * * @param inspector - tree inspector to collect and process attributes * */ inspect(inspector: cdk.TreeInspector): void; protected get cfnProperties(): { [key: string]: any; }; protected renderProperties(props: { [key: string]: any; }): { [key: string]: any; }; } export declare namespace CfnEndpoint { /** * The event buses the endpoint is associated with. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-endpointeventbus.html */ interface EndpointEventBusProperty { /** * The ARN of the event bus the endpoint is associated with. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-endpointeventbus.html#cfn-events-endpoint-endpointeventbus-eventbusarn */ readonly eventBusArn: string; } } export declare namespace CfnEndpoint { /** * The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-failoverconfig.html */ interface FailoverConfigProperty { /** * The main Region of the endpoint. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-failoverconfig.html#cfn-events-endpoint-failoverconfig-primary */ readonly primary: CfnEndpoint.PrimaryProperty | cdk.IResolvable; /** * The Region that events are routed to when failover is triggered or event replication is enabled. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-failoverconfig.html#cfn-events-endpoint-failoverconfig-secondary */ readonly secondary: CfnEndpoint.SecondaryProperty | cdk.IResolvable; } } export declare namespace CfnEndpoint { /** * The primary Region of the endpoint. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-primary.html */ interface PrimaryProperty { /** * The ARN of the health check used by the endpoint to determine whether failover is triggered. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-primary.html#cfn-events-endpoint-primary-healthcheck */ readonly healthCheck: string; } } export declare namespace CfnEndpoint { /** * Endpoints can replicate all events to the secondary Region. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-replicationconfig.html */ interface ReplicationConfigProperty { /** * The state of event replication. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-replicationconfig.html#cfn-events-endpoint-replicationconfig-state */ readonly state: string; } } export declare namespace CfnEndpoint { /** * The routing configuration of the endpoint. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-routingconfig.html */ interface RoutingConfigProperty { /** * The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-routingconfig.html#cfn-events-endpoint-routingconfig-failoverconfig */ readonly failoverConfig: CfnEndpoint.FailoverConfigProperty | cdk.IResolvable; } } export declare namespace CfnEndpoint { /** * The secondary Region that processes events when failover is triggered or replication is enabled. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-secondary.html */ interface SecondaryProperty { /** * Defines the secondary Region. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-secondary.html#cfn-events-endpoint-secondary-route */ readonly route: string; } } /** * Properties for defining a `CfnEventBus` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html */ export interface CfnEventBusProps { /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-name */ readonly name: string; /** * If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-eventsourcename */ readonly eventSourceName?: string; /** * Tags to associate with the event bus. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-tags */ readonly tags?: CfnEventBus.TagEntryProperty[]; } /** * A CloudFormation `AWS::Events::EventBus` * * 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. * * @cloudformationResource AWS::Events::EventBus * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html */ export declare class CfnEventBus extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::EventBus"; /** * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEventBus; /** * The ARN of the event bus, such as `arn:aws:events:us-east-2:123456789012:event-bus/aws.partner/PartnerName/acct1/repo1` . * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The name of the event bus, such as `PartnerName/acct1/repo1` . * @cloudformationAttribute Name */ readonly attrName: string; /** * The policy for the event bus in JSON form. * @cloudformationAttribute Policy */ readonly attrPolicy: string; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-name */ name: string; /** * If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-eventsourcename */ eventSourceName: string | undefined; /** * Tags to associate with the event bus. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-tags */ tags: CfnEventBus.TagEntryProperty[] | undefined; /** * Create a new `AWS::Events::EventBus`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: cdk.Construct, id: string, props: CfnEventBusProps); /** * Examines the CloudFormation resource and discloses attributes. * * @param inspector - tree inspector to collect and process attributes * */ inspect(inspector: cdk.TreeInspector): void; protected get cfnProperties(): { [key: string]: any; }; protected renderProperties(props: { [key: string]: any; }): { [key: string]: any; }; } export declare namespace CfnEventBus { /** * A key-value pair associated with an AWS resource. In EventBridge, rules and event buses support tagging. * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-tagentry.html */ interface TagEntryProperty { /** * A string you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-tagentry.html#cfn-events-eventbus-tagentry-key */ readonly key: string; /** * The value for the specified tag key. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-tagentry.html#cfn-events-eventbus-tagentry-value */ readonly value: string; } } /** * Properties for defining a `CfnEventBusPolicy` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html */ export interface CfnEventBusPolicyProps { /** * An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this `StatementId` when you run [RemovePermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html) . * * > Each `StatementId` must be unique. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statementid */ readonly statementId: string; /** * The action that you are enabling the other account to perform. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-action */ readonly action?: string; /** * This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see [What Is AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) in the *AWS Organizations User Guide* . * * If you specify `Condition` with an AWS organization ID, and specify "*" as the value for `Principal` , you grant permission to all the accounts in the named organization. * * The `Condition` is a JSON string which must contain `Type` , `Key` , and `Value` fields. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition */ readonly condition?: CfnEventBusPolicy.ConditionProperty | cdk.IResolvable; /** * The name of the event bus associated with the rule. If you omit this, the default event bus is used. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-eventbusname */ readonly eventBusName?: string; /** * The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify "*" to permit any account to put events to your default event bus. * * If you specify "*" without specifying `Condition` , avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an `account` field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal */ readonly principal?: string; /** * A JSON string that describes the permission policy statement. You can include a `Policy` parameter in the request instead of using the `StatementId` , `Action` , `Principal` , or `Condition` parameters. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statement */ readonly statement?: any | cdk.IResolvable; } /** * A CloudFormation `AWS::Events::EventBusPolicy` * * Running `PutPermission` permits the specified AWS account or AWS organization to put events to the specified *event bus* . Amazon EventBridge (CloudWatch Events) rules in your account are triggered by these events arriving to an event bus in your account. * * For another account to send events to your account, that external account must have an EventBridge rule with your account's event bus as a target. * * To enable multiple AWS accounts to put events to your event bus, run `PutPermission` once for each of these accounts. Or, if all the accounts are members of the same AWS organization, you can run `PutPermission` once specifying `Principal` as "*" and specifying the AWS organization ID in `Condition` , to grant permissions to all accounts in that organization. * * If you grant permissions using an organization, then accounts in that organization must specify a `RoleArn` with proper permissions when they use `PutTarget` to add your account's event bus as a target. For more information, see [Sending and Receiving Events Between AWS Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide* . * * The permission policy on the event bus cannot exceed 10 KB in size. * * @cloudformationResource AWS::Events::EventBusPolicy * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html */ export declare class CfnEventBusPolicy extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::EventBusPolicy"; /** * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEventBusPolicy; /** * An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this `StatementId` when you run [