aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,057 lines • 125 kB
TypeScript
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;
/**
* Returns the Amazon Resource Name (ARN) of an API destination in resource format, so it can be used in the `Resource` element of IAM permission policy statements. For more information, see [Resource types defined by Amazon EventBridge](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridge.html#amazoneventbridge-resources-for-iam-policies) in the *Service Authorization Reference* .
*
* For example, the following resource defines an IAM policy that grants permission to update a specific API destination.
*
* `Resources: ExamplePolicy: Type: AWS::IAM::Policy Properties: PolicyName: ExamplePolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - events:UpdateApiDestination Resource: - !GetAtt myApiDestination.ArnForPolicy`
*
* @cloudformationAttribute ArnForPolicy
*/
readonly attrArnForPolicy: 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.
*
* > If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.
* >
* > For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.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 identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this archive.
*/
kmsKeyIdentifier?: string;
/**
* 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 identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this archive.
*
* 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 the archive.
*
* For more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .
*
* > If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.
* >
* > For more information, see [Encrypting archives](https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html) in the *Amazon EventBridge User Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-kmskeyidentifier
*/
readonly kmsKeyIdentifier?: string;
/**
* 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.
*
* For more information, see [Connections for endpoint targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-target-connection.html) in the *Amazon EventBridge User Guide* .
*
* @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;
/**
* Returns the Amazon Resource Name (ARN) of a connection in resource format, so it can be used in the `Resource` element of IAM permission policy statements. For more information, see [Resource types defined by Amazon EventBridge](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridge.html#amazoneventbridge-resources-for-iam-policies) in the *Service Authorization Reference* .
*
* For example, the following resource defines an IAM policy that grants permission to update a specific connection.
*
* `Resources: ExamplePolicy: Type: AWS::IAM::Policy Properties: PolicyName: ExamplePolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - events:UpdateConnection Resource: - !GetAtt myConnection.ArnForPolicy`
*
* @cloudformationAttribute ArnForPolicy
*/
readonly attrArnForPolicy: string;
/**
* For connections to private APIs, the Amazon Resource Name (ARN) of the resource association EventBridge created between the connection and the private API's resource configuration.
*
* > The value of this property is set by EventBridge . Any value you specify in your template is ignored.
*
* @cloudformationAttribute AuthParameters.ConnectivityParameters.ResourceParameters.ResourceAssociationArn
*/
readonly attrAuthParametersConnectivityParametersResourceParametersResourceAssociationArn: string;
/**
* For connections to private APIs, the Amazon Resource Name (ARN) of the resource association EventBridge created between the connection and the private API's resource configuration.
*
* > The value of this property is set by EventBridge . Any value you specify in your template is ignored.
*
* @cloudformationAttribute InvocationConnectivityParameters.ResourceParameters.ResourceAssociationArn
*/
readonly attrInvocationConnectivityParametersResourceParametersResourceAssociationArn: 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;
/**
* The authorization parameters to use to authorize with the endpoint.
*/
authParameters?: CfnConnection.AuthParametersProperty | cdk.IResolvable;
/**
* A description for the connection to create.
*/
description?: string;
/**
* For connections to private APIs, the parameters to use for invoking the API.
*/
invocationConnectivityParameters?: CfnConnection.InvocationConnectivityParametersProperty | cdk.IResolvable;
/**
* The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this connection.
*/
kmsKeyIdentifier?: 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 {
/**
* Tthe 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;
/**
* For private OAuth authentication endpoints. The parameters EventBridge uses to authenticate against the endpoint.
*
* For more information, see [Authorization methods for connections](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-target-connection-auth.html) in the **Amazon EventBridge User Guide** .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-connectivityparameters
*/
readonly connectivityParameters?: CfnConnection.ConnectivityParametersProperty | 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;
}
/**
* Any 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 {
/**
* Any 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;
/**
* Any 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;
/**
* Any 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;
}
/**
* Any 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;
}
/**
* 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;
}
/**
* 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;
/**
* 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;
/**
* 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;
}
/**
* 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;
}
/**
* If you specify a private OAuth endpoint, the parameters for EventBridge to use when authenticating against the endpoint.
*
* For more information, see [Authorization methods for connections](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-target-connection-auth.html) in the **Amazon EventBridge User Guide** .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectivityparameters.html
*/
interface ConnectivityParametersProperty {
/**
* The parameters for EventBridge to use when invoking the resource endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectivityparameters.html#cfn-events-connection-connectivityparameters-resourceparameters
*/
readonly resourceParameters: cdk.IResolvable | CfnConnection.ResourceParametersProperty;
}
/**
* The parameters for EventBridge to use when invoking the resource endpoint.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-resourceparameters.html
*/
interface ResourceParametersProperty {
/**
* For connections to private APIs, the Amazon Resource Name (ARN) of the resource association EventBridge created between the connection and the private API's resource configuration.
*
* > The value of this property is set by EventBridge . Any value you specify in your template is ignored.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-resourceparameters.html#cfn-events-connection-resourceparameters-resourceassociationarn
*/
readonly resourceAssociationArn?: string;
/**
* The Amazon Resource Name (ARN) of the Amazon VPC Lattice resource configuration for the resource endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-resourceparameters.html#cfn-events-connection-resourceparameters-resourceconfigurationarn
*/
readonly resourceConfigurationArn: string;
}
/**
* For connections to private APIs, the parameters to use for invoking the API.
*
* For more information, see [Connecting to private APIs](https://docs.aws.amazon.com/eventbridge/latest/userguide/connection-private.html) in the **Amazon EventBridge User Guide** .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-invocationconnectivityparameters.html
*/
interface InvocationConnectivityParametersProperty {
/**
* The parameters for EventBridge to use when invoking the resource endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-invocationconnectivityparameters.html#cfn-events-connection-invocationconnectivityparameters-resourceparameters
*/
readonly resourceParameters: cdk.IResolvable | CfnConnection.ResourceParametersProperty;
}
}
/**
* 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;
/**
* The authorization parameters to use to authorize with the endpoint.
*
* You must include only authorization parameters for the `AuthorizationType` you specify.
*
* @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;
/**
* For connections to private APIs, the parameters to use for invoking the API.
*
* For more information, see [Connecting to private APIs](https://docs.aws.amazon.com/eventbridge/latest/userguide/connection-private.html) in the **Amazon EventBridge User Guide** .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-invocationconnectivityparameters
*/
readonly invocationConnectivityParameters?: CfnConnection.InvocationConnectivityParametersProperty | cdk.IResolvable;
/**
* The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this connection.
*
* 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 the connection.
*
* For more information, see [Identify and view keys](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html) in the *AWS Key Management Service Developer Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-kmskeyidentifier
*/
readonly kmsKeyIdentifier?: 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