50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import type { SubscriptionProps } from './subscription';
|
|
import * as sns from '../../aws-sns';
|
|
/**
|
|
* Options for URL subscriptions.
|
|
*/
|
|
export interface UrlSubscriptionProps extends SubscriptionProps {
|
|
/**
|
|
* The message to the queue is the same as it was sent to the topic
|
|
*
|
|
* If false, the message will be wrapped in an SNS envelope.
|
|
*
|
|
* @default false
|
|
*/
|
|
readonly rawMessageDelivery?: boolean;
|
|
/**
|
|
* The subscription's protocol.
|
|
*
|
|
* @default - Protocol is derived from url
|
|
*/
|
|
readonly protocol?: sns.SubscriptionProtocol;
|
|
/**
|
|
* The delivery policy.
|
|
*
|
|
* @default - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
|
|
*/
|
|
readonly deliveryPolicy?: sns.DeliveryPolicy;
|
|
}
|
|
/**
|
|
* Use a URL as a subscription target
|
|
*
|
|
* The message will be POSTed to the given URL.
|
|
*
|
|
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html
|
|
*/
|
|
export declare class UrlSubscription implements sns.ITopicSubscription {
|
|
private readonly url;
|
|
private readonly props;
|
|
/**
|
|
* Uniquely identifies this class.
|
|
*/
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
private readonly protocol;
|
|
private readonly unresolvedUrl;
|
|
constructor(url: string, props?: UrlSubscriptionProps);
|
|
/**
|
|
* Returns a configuration for a URL to subscribe to an SNS topic
|
|
*/
|
|
bind(_topic: sns.ITopic): sns.TopicSubscriptionConfig;
|
|
}
|