UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,085 lines 115 kB
import * as cdk from "../../core"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; /** * 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 * @see 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: string; /** * Build a CfnApiDestination from CloudFormation properties * * 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: constructs.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. */ connectionArn: string; /** * A description for the API destination to create. */ description?: string; /** * The method to use for the request to the HTTP invocation endpoint. */ httpMethod: string; /** * The URL to the HTTP invocation endpoint for the API destination. */ invocationEndpoint: string; /** * The maximum number of requests per second to send to the HTTP invocation endpoint. */ invocationRateLimitPerSecond?: number; /** * The name for the API destination to create. */ name?: string; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnApiDestinationProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnApiDestination` * * @struct * @stability external * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-connectionarn */ readonly connectionArn: string; /** * A description for the API destination to create. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-description */ readonly description?: string; /** * The method to use for the request to the HTTP invocation endpoint. * * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationendpoint */ readonly invocationEndpoint: string; /** * The maximum number of requests per second to send to the HTTP invocation endpoint. * * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-name */ readonly name?: string; } /** * 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. * * > Archives and schema discovery are not supported for event buses encrypted using a customer managed key. EventBridge returns an error if: * > * > - You call `[CreateArchive](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateArchive.html)` on an event bus set to use a customer managed key for encryption. * > - You call `[CreateDiscoverer](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html#CreateDiscoverer)` on an event bus set to use a customer managed key for encryption. * > - You call `[UpdatedEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdatedEventBus.html)` 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 AWS owned key . For more information, see [Data encryption in EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption.html) in the *Amazon EventBridge User Guide* . * * @cloudformationResource AWS::Events::Archive * @stability external * @see 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: string; /** * Build a CfnArchive from CloudFormation properties * * 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: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnArchive; /** * The ARN of the archive created. * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The name for the archive to create. */ archiveName?: string; /** * A description for the archive. */ description?: string; /** * An event pattern to use to filter events sent to the archive. */ eventPattern?: any | cdk.IResolvable; /** * The number of days to retain events for. */ retentionDays?: number; /** * The ARN of the event bus that sends events to the archive. */ sourceArn: string; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnArchiveProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnArchive` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html */ export interface CfnArchiveProps { /** * The name for the archive to create. * * @see 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. * * @see 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. * * @see 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 * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-retentiondays */ readonly retentionDays?: number; /** * The ARN of the event bus that sends events to the archive. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-sourcearn */ readonly sourceArn: string; } /** * 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 * @see 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: string; /** * Build a CfnConnection from CloudFormation properties * * 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: constructs.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. */ authorizationType: string; /** * A `CreateConnectionAuthRequestParameters` object that contains the authorization parameters to use to authorize with the endpoint. */ authParameters: CfnConnection.AuthParametersProperty | cdk.IResolvable; /** * A description for the connection to create. */ description?: string; /** * The name for the connection to create. */ name?: string; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnConnectionProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnConnection { /** * Contains the authorization parameters to use for the connection. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html */ interface AuthParametersProperty { /** * The API Key parameters to use for authorization. * * @see 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. * * @see 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. * * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-oauthparameters */ readonly oAuthParameters?: cdk.IResolvable | CfnConnection.OAuthParametersProperty; } /** * Contains additional parameters for the connection. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html */ interface ConnectionHttpParametersProperty { /** * Contains additional body string parameters for the connection. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html#cfn-events-connection-connectionhttpparameters-bodyparameters */ readonly bodyParameters?: Array<cdk.IResolvable | CfnConnection.ParameterProperty> | cdk.IResolvable; /** * Contains additional header parameters for the connection. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html#cfn-events-connection-connectionhttpparameters-headerparameters */ readonly headerParameters?: Array<cdk.IResolvable | CfnConnection.ParameterProperty> | cdk.IResolvable; /** * Contains additional query string parameters for the connection. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html#cfn-events-connection-connectionhttpparameters-querystringparameters */ readonly queryStringParameters?: Array<cdk.IResolvable | CfnConnection.ParameterProperty> | cdk.IResolvable; } /** * 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 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html */ interface ParameterProperty { /** * Specifies whether the value is secret. * * @default - true * @see 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. * * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html#cfn-events-connection-parameter-value */ readonly value: string; } /** * Contains the Basic authorization parameters for the connection. * * @struct * @stability external * @see 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. * * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-basicauthparameters.html#cfn-events-connection-basicauthparameters-username */ readonly username: string; } /** * Contains the API key authorization parameters for the connection. * * @struct * @stability external * @see 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. * * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-apikeyauthparameters.html#cfn-events-connection-apikeyauthparameters-apikeyvalue */ readonly apiKeyValue: string; } /** * Contains the OAuth authorization parameters to use for the connection. * * @struct * @stability external * @see 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. * * @see 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. * * @see 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. * * @see 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. * * @see 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; } /** * Contains the OAuth authorization parameters to use for the connection. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html */ interface ClientParametersProperty { /** * The client ID to use for OAuth authorization. * * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html#cfn-events-connection-clientparameters-clientsecret */ readonly clientSecret: string; } } /** * Properties for defining a `CfnConnection` * * @struct * @stability external * @see 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. * * @see 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. * * @see 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. * * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-name */ readonly name?: string; } /** * 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 * @see 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: string; /** * Build a CfnEndpoint from CloudFormation properties * * 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: constructs.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 main Region of the endpoint. * * @cloudformationAttribute State */ readonly attrState: string; /** * The reason the endpoint is in its current state. * * @cloudformationAttribute StateReason */ readonly attrStateReason: string; /** * A description for the endpoint. */ description?: string; /** * The event buses being used by the endpoint. */ eventBuses: Array<CfnEndpoint.EndpointEventBusProperty | cdk.IResolvable> | cdk.IResolvable; /** * The name of the endpoint. */ name?: string; /** * Whether event replication was enabled or disabled for this endpoint. */ replicationConfig?: cdk.IResolvable | CfnEndpoint.ReplicationConfigProperty; /** * The ARN of the role used by event replication for the endpoint. */ roleArn?: string; /** * The routing configuration of the endpoint. */ routingConfig: cdk.IResolvable | CfnEndpoint.RoutingConfigProperty; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnEndpointProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnEndpoint { /** * The event buses the endpoint is associated with. * * @struct * @stability external * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-endpointeventbus.html#cfn-events-endpoint-endpointeventbus-eventbusarn */ readonly eventBusArn: string; } /** * Endpoints can replicate all events to the secondary Region. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-replicationconfig.html */ interface ReplicationConfigProperty { /** * The state of event replication. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-replicationconfig.html#cfn-events-endpoint-replicationconfig-state */ readonly state: string; } /** * The routing configuration of the endpoint. * * @struct * @stability external * @see 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. * * @see 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; } /** * The failover configuration for an endpoint. * * This includes what triggers failover and what happens when it's triggered. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-failoverconfig.html */ interface FailoverConfigProperty { /** * The main Region of the endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-failoverconfig.html#cfn-events-endpoint-failoverconfig-primary */ readonly primary: cdk.IResolvable | CfnEndpoint.PrimaryProperty; /** * The Region that events are routed to when failover is triggered or event replication is enabled. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-failoverconfig.html#cfn-events-endpoint-failoverconfig-secondary */ readonly secondary: cdk.IResolvable | CfnEndpoint.SecondaryProperty; } /** * The secondary Region that processes events when failover is triggered or replication is enabled. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-secondary.html */ interface SecondaryProperty { /** * Defines the secondary Region. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-secondary.html#cfn-events-endpoint-secondary-route */ readonly route: string; } /** * The primary Region of the endpoint. * * @struct * @stability external * @see 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-primary.html#cfn-events-endpoint-primary-healthcheck */ readonly healthCheck: string; } } /** * Properties for defining a `CfnEndpoint` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html */ export interface CfnEndpointProps { /** * A description for the endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-description */ readonly description?: string; /** * The event buses being used by the endpoint. * * *Exactly* : `2` * * @see 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 name of the endpoint. * * @see 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` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-replicationconfig */ readonly replicationConfig?: cdk.IResolvable | CfnEndpoint.ReplicationConfigProperty; /** * The ARN of the role used by event replication for the endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-rolearn */ readonly roleArn?: string; /** * The routing configuration of the endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-routingconfig */ readonly routingConfig: cdk.IResolvable | CfnEndpoint.RoutingConfigProperty; } /** * Specifies an 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. * * > As an aid to help you jumpstart developing CloudFormation templates, the EventBridge console enables you to create templates from the existing event buses in your account. For more information, see [Generating CloudFormation templates from an EventBridge event bus](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-generate-event-bus-template.html) in the *Amazon EventBridge User Guide* . * * @cloudformationResource AWS::Events::EventBus * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html */ export declare class CfnEventBus extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnEventBus from CloudFormation properties * * 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: constructs.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; /** * @cloudformationAttribute Policy */ readonly attrPolicy: string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ). */ deadLetterConfig?: CfnEventBus.DeadLetterConfigProperty | cdk.IResolvable; /** * The event bus description. */ description?: string; /** * If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with. */ eventSourceName?: string; /** * The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. */ kmsKeyIdentifier?: string; /** * The name of the new event bus. */ name: string; /** * The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus. */ policy?: any | cdk.IResolvable | string; /** * Tags to associate with the event bus. */ tags?: Array<cdk.CfnTag>; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnEventBusProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnEventBus { /** * Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ). * * For more information, see [Using dead-letter queues to process undelivered events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-event-delivery.html#eb-rule-dlq) in the *EventBridge User Guide* . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-deadletterconfig.html */ interface DeadLetterConfigProperty { /** * The ARN of the SQS queue specified as the target for the dead-letter queue. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-deadletterconfig.html#cfn-events-eventbus-deadletterconfig-arn */ readonly arn?: string; } } /** * Properties for defining a `CfnEventBus` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html */ export interface CfnEventBusProps { /** * Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ). * * For more information, see [Using dead-letter queues to process undelivered events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-event-delivery.html#eb-rule-dlq) in the *EventBridge User Guide* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-deadletterconfig */ readonly deadLetterConfig?: CfnEventBus.DeadLetterConfigProperty | cdk.IResolvable; /** * The event bus description. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-description */ readonly description?: string; /** * If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-eventsourcename */ readonly eventSourceName?: string; /** * The identifier of the AWS 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 AWS owned key to encrypt events on the event bus. * * For more information, see [Managing keys](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html) in the *AWS Key Management Service Developer Guide* . * * > Archives and schema discovery are not supported for event buses encrypted using a customer managed key. EventBridge returns an error if: * > * > - You call `[CreateArchive](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateArchive.html)` on an event bus set to use a customer managed key for encryption. * > - You call `[CreateDiscoverer](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html#CreateDiscoverer)` on an event bus set to use a customer managed key for encryption. * > - You call `[UpdatedEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdatedEventBus.html)` 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 AWS owned key . For more information, see [Data encryption in EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption.html) in the *Amazon EventBridge User Guide* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-kmskeyidentifier */ readonly kmsKeyIdentifier?: 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-name */ readonly name: string; /** * The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-policy */ readonly policy?: any | cdk.IResolvable | string; /** * Tags to associate with the event bus. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * Running `PutPermission` permits the specified AWS account or AWS organization to put events to the specified *event bus* . * * Amazon EventBridge 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 * @see 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: string; /** * Build a CfnEventBusPolicy from CloudFormation properties * * 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: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEventBusPolicy; /** * @cloudformationAttribute Id */ readonly attrId: string; /** * The action that you are enabling the other account to perform. */ 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. */ condition?: CfnEventBusPolicy.ConditionProperty | cdk.IResolvable; /** * The name of the event bus associated with the rule. */ eventBusName?: string; /** * The 12-digit AWS account ID that you are permitting to put events to your default event bus. */ principal?: string; /** * A JSON string that describes the permission policy statement. */ statement?: any | cdk.IResolvable; /** * An identifier string for the external account that you are granting permissions to. */ statementId: string; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnEventBusPolicyProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnEventBusPolicy { /** * A JSON string which you can use to limit the event bus permissions you are granting to only accounts that fulfill the condition. * * Currently, the only supported condition is membership in a certain AWS organization. The string must contain `Type` , `Key` , and `Value` fields. The `Value` field specifies the ID of the AWS organization. Following is an example value for `Condition` : * * `'{"Type" : "StringEquals", "Key": "aws:PrincipalOrgID", "Value": "o-1234567890"}'` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html */ interface ConditionProperty { /** * Specifies the key for the condition. * * Currently the only supported key is `aws:PrincipalOrgID` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-key */ readonly key?: string; /** * Specifies the type of condition. * * Currently the only supported value is `StringEquals` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-type */ readonly type?: string; /** * Specifies the value for the key. * * Currently, this must be the ID of the organization. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-value */ readonly value?: string; } } /** * Properties for defining a `CfnEventBusPolicy` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html */ export interface CfnEventBusPolicyProps { /** * The action that you are enabling the other account to perform. * * @see 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