115 lines
3.9 KiB
TypeScript
115 lines
3.9 KiB
TypeScript
import type { Duration } from '../../core';
|
|
/**
|
|
* Algorithms which can be used by SNS to calculate the delays associated with all of the retry attempts between the first and last retries in the backoff phase.
|
|
*/
|
|
export declare enum BackoffFunction {
|
|
/**
|
|
* Arithmetic, see {@link https://docs.aws.amazon.com/images/sns/latest/dg/images/backoff-graph.png|this image} for how this function compares to others
|
|
*/
|
|
ARITHMETIC = "ARITHMETIC",
|
|
/**
|
|
* Exponential, see {@link https://docs.aws.amazon.com/images/sns/latest/dg/images/backoff-graph.png|this image} for how this function compares to others
|
|
*/
|
|
EXPONENTIAL = "EXPONENTIAL",
|
|
/**
|
|
* Geometric, see {@link https://docs.aws.amazon.com/images/sns/latest/dg/images/backoff-graph.png|this image} for how this function compares to others
|
|
*/
|
|
GEOMETRIC = "GEOMETRIC",
|
|
/**
|
|
* Linear, see {@link https://docs.aws.amazon.com/images/sns/latest/dg/images/backoff-graph.png|this image} for how this function compares to others
|
|
*/
|
|
LINEAR = "LINEAR"
|
|
}
|
|
/**
|
|
* Options for customising AWS SNS HTTP/S delivery throttling.
|
|
*/
|
|
export interface ThrottlePolicy {
|
|
/**
|
|
* The maximum number of deliveries per second, per subscription.
|
|
*
|
|
* @default - no throttling
|
|
*/
|
|
readonly maxReceivesPerSecond?: number;
|
|
}
|
|
/**
|
|
* Options for customising aspects of the content sent in AWS SNS HTTP/S requests.
|
|
*/
|
|
export interface RequestPolicy {
|
|
/**
|
|
* The content type of the notification being sent to HTTP/S endpoints.
|
|
*
|
|
* @default - text/plain; charset=UTF-8
|
|
*/
|
|
readonly headerContentType?: string;
|
|
}
|
|
/**
|
|
* Options for customising the retry policy of the delivery of SNS messages to HTTP/S endpoints.
|
|
*/
|
|
export interface HealthyRetryPolicy {
|
|
/**
|
|
* The minimum delay for a retry. Must be at least one second, not exceed `maxDelayTarget`, and correspond to a whole number of seconds.
|
|
*
|
|
* @default - 20 seconds
|
|
*/
|
|
readonly minDelayTarget?: Duration;
|
|
/**
|
|
* The maximum delay for a retry. Must be at least `minDelayTarget` less than 3,600 seconds, and correspond to a whole number of seconds,
|
|
*
|
|
* @default - 20 seconds
|
|
*/
|
|
readonly maxDelayTarget?: Duration;
|
|
/**
|
|
* The total number of retries, including immediate, pre-backoff, backoff, and post-backoff retries. Must be greater than or equal to zero and not exceed 100.
|
|
*
|
|
* @default 3
|
|
*/
|
|
readonly numRetries?: number;
|
|
/**
|
|
* The number of retries to be done immediately, with no delay between them. Must be zero or greater.
|
|
*
|
|
* @default 0
|
|
*/
|
|
readonly numNoDelayRetries?: number;
|
|
/**
|
|
* The number of retries in the pre-backoff phase, with the specified minimum delay between them. Must be zero or greater
|
|
*
|
|
* @default 0
|
|
*/
|
|
readonly numMinDelayRetries?: number;
|
|
/**
|
|
* The number of retries in the post-backoff phase, with the maximum delay between them. Must be zero or greater
|
|
*
|
|
* @default 0
|
|
*/
|
|
readonly numMaxDelayRetries?: number;
|
|
/**
|
|
* The model for backoff between retries.
|
|
*
|
|
* @default - linear
|
|
*/
|
|
readonly backoffFunction?: BackoffFunction;
|
|
}
|
|
/**
|
|
* Options for customising the delivery of SNS messages to HTTP/S endpoints.
|
|
*/
|
|
export interface DeliveryPolicy {
|
|
/**
|
|
* The retry policy of the delivery of SNS messages to HTTP/S endpoints.
|
|
*
|
|
* @default - Amazon SNS attempts up to three retries with a delay between failed attempts set at 20 seconds
|
|
*/
|
|
readonly healthyRetryPolicy?: HealthyRetryPolicy;
|
|
/**
|
|
* The throttling policy of the delivery of SNS messages to HTTP/S endpoints.
|
|
*
|
|
* @default - No throttling
|
|
*/
|
|
readonly throttlePolicy?: ThrottlePolicy;
|
|
/**
|
|
* The request of the content sent in AWS SNS HTTP/S requests.
|
|
*
|
|
* @default - The content type is set to 'text/plain; charset=UTF-8'
|
|
*/
|
|
readonly requestPolicy?: RequestPolicy;
|
|
}
|