aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
93 lines (92 loc) • 2.84 kB
TypeScript
import { TargetBaseProps } from './util';
import * as api from '../../aws-apigateway';
import * as events from '../../aws-events';
import * as iam from '../../aws-iam';
/**
* Customize the API Gateway Event Target
*/
export interface ApiGatewayProps extends TargetBaseProps {
/**
* The method for api resource invoked by the rule.
*
* @default '*' that treated as ANY
*/
readonly method?: string;
/**
* The api resource invoked by the rule.
* We can use wildcards('*') to specify the path. In that case,
* an equal number of real values must be specified for pathParameterValues.
*
* @default '/'
*/
readonly path?: string;
/**
* The deploy stage of api gateway invoked by the rule.
*
* @default the value of deploymentStage.stageName of target api gateway.
*/
readonly stage?: string;
/**
* The headers to be set when requesting API
*
* @default no header parameters
*/
readonly headerParameters?: {
[key: string]: (string);
};
/**
* The path parameter values to be used to
* populate to wildcards("*") of requesting api path
*
* @default no path parameters
*/
readonly pathParameterValues?: string[];
/**
* The query parameters to be set when requesting API.
*
* @default no querystring parameters
*/
readonly queryStringParameters?: {
[key: string]: (string);
};
/**
* This will be the post request body send to the API.
*
* @default the entire EventBridge event
*/
readonly postBody?: events.RuleTargetInput;
/**
* The role to assume before invoking the target
* (i.e., the pipeline) when the given rule is triggered.
*
* @default - a new role will be created
*/
readonly eventRole?: iam.IRole;
}
/**
* Use an API Gateway REST APIs as a target for Amazon EventBridge rules.
*/
export declare class ApiGateway implements events.IRuleTarget {
private readonly props?;
private readonly _restApi;
/**
* @param restApi - IRestApi implementation to use as event target
* @param props - Properties to configure the APIGateway target
*/
constructor(restApi: api.IRestApi, props?: ApiGatewayProps | undefined);
/**
* @deprecated Use the `iRestApi` getter instead
*/
get restApi(): api.RestApi;
/**
* Returns the target IRestApi
*/
get iRestApi(): api.IRestApi;
/**
* Returns a RuleTarget that can be used to trigger this API Gateway REST APIs
* as a result from an EventBridge event.
*
* @see https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sqs-permissions
*/
bind(rule: events.IRule, _id?: string): events.RuleTargetConfig;
}