UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

131 lines (130 loc) 4.19 kB
import type { Construct } from 'constructs'; import type { IConnection } from './connection'; import { HttpMethod } from './connection'; import type { IConnectionRef } from './events.generated'; import type { IResource } from '../../core'; import { Resource } from '../../core'; import type { ApiDestinationReference, IApiDestinationRef } from '../../interfaces/generated/aws-events-interfaces.generated'; /** * The event API Destination properties */ export interface ApiDestinationProps { /** * The name for the API destination. * @default - A unique name will be generated */ readonly apiDestinationName?: string; /** * A description for the API destination. * * @default - none */ readonly description?: string; /** * The ARN of the connection to use for the API destination */ readonly connection: IConnectionRef; /** * The URL to the HTTP invocation endpoint for the API destination.. */ readonly endpoint: string; /** * The method to use for the request to the HTTP invocation endpoint. * * @default HttpMethod.POST */ readonly httpMethod?: HttpMethod; /** * The maximum number of requests per second to send to the HTTP invocation endpoint. * * @default - Not rate limited */ readonly rateLimitPerSecond?: number; } /** * Interface for API Destinations */ export interface IApiDestination extends IResource, IApiDestinationRef { /** * The Name of the Api Destination created. * @attribute */ readonly apiDestinationName: string; /** * The ARN of the Api Destination created. * @attribute */ readonly apiDestinationArn: string; /** * 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. * @see https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridge.html#amazoneventbridge-resources-for-iam-policies * @attribute */ readonly apiDestinationArnForPolicy?: string; } /** * The properties to import an existing Api Destination */ export interface ApiDestinationAttributes { /** * The ARN of the Api Destination */ readonly apiDestinationArn: string; /** * The Connection to associate with the Api Destination */ readonly connection: IConnectionRef; /** * The Amazon Resource Name (ARN) of an API destination in resource format. * * @default undefined - Imported API destination does not have ARN in resource format */ readonly apiDestinationArnForPolicy?: string; } /** * Define an EventBridge Api Destination * * @resource AWS::Events::ApiDestination */ export declare class ApiDestination extends Resource implements IApiDestination { /** Uniquely identifies this class. */ static readonly PROPERTY_INJECTION_ID: string; /** * Create an Api Destination construct from an existing Api Destination ARN. * * @param scope The scope creating construct (usually `this`). * @param id The construct's id. * @param attrs The Api Destination import attributes. */ static fromApiDestinationAttributes(scope: Construct, id: string, attrs: ApiDestinationAttributes): IApiDestination; /** * The Connection to associate with Api Destination */ private readonly _connection; /** * The CfnApiDestination resource */ private readonly _resource; /** * The Name of the Api Destination created. * @attribute */ get apiDestinationName(): string; /** * The ARN of the Api Destination created. * @attribute */ get apiDestinationArn(): string; /** * The Amazon Resource Name (ARN) of an API destination in resource format. * @attribute */ get apiDestinationArnForPolicy(): string | undefined; /** * The Connection to associate with Api Destination */ get connection(): IConnection; get apiDestinationRef(): ApiDestinationReference; constructor(scope: Construct, id: string, props: ApiDestinationProps); }