agent-claw: automated task changes
This commit is contained in:
114
cdk/node_modules/aws-cdk-lib/aws-sns/lib/delivery-policy.d.ts
generated
vendored
Normal file
114
cdk/node_modules/aws-cdk-lib/aws-sns/lib/delivery-policy.d.ts
generated
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
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;
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/delivery-policy.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/delivery-policy.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BackoffFunction=void 0;var BackoffFunction;(function(BackoffFunction2){BackoffFunction2.ARITHMETIC="ARITHMETIC",BackoffFunction2.EXPONENTIAL="EXPONENTIAL",BackoffFunction2.GEOMETRIC="GEOMETRIC",BackoffFunction2.LINEAR="LINEAR"})(BackoffFunction||(exports.BackoffFunction=BackoffFunction={}));
|
||||
11
cdk/node_modules/aws-cdk-lib/aws-sns/lib/index.d.ts
generated
vendored
Normal file
11
cdk/node_modules/aws-cdk-lib/aws-sns/lib/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import './private/default-traits';
|
||||
export * from './policy';
|
||||
export * from './topic';
|
||||
export * from './topic-base';
|
||||
export * from './subscription';
|
||||
export * from './subscriber';
|
||||
export * from './subscription-filter';
|
||||
export * from './delivery-policy';
|
||||
export * from './sns.generated';
|
||||
export * from './sns-grants.generated';
|
||||
import './sns-augmentations.generated';
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/index.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/index.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
57
cdk/node_modules/aws-cdk-lib/aws-sns/lib/policy.d.ts
generated
vendored
Normal file
57
cdk/node_modules/aws-cdk-lib/aws-sns/lib/policy.d.ts
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
import type { Construct } from 'constructs';
|
||||
import type { ITopic } from './topic-base';
|
||||
import { PolicyDocument, PolicyStatement } from '../../aws-iam';
|
||||
import { Resource } from '../../core';
|
||||
/**
|
||||
* Properties to associate SNS topics with a policy
|
||||
*/
|
||||
export interface TopicPolicyProps {
|
||||
/**
|
||||
* The set of topics this policy applies to.
|
||||
*/
|
||||
readonly topics: ITopic[];
|
||||
/**
|
||||
* IAM policy document to apply to topic(s).
|
||||
* @default empty policy document
|
||||
*/
|
||||
readonly policyDocument?: PolicyDocument;
|
||||
/**
|
||||
* Adds a statement to enforce encryption of data in transit when publishing to the topic.
|
||||
*
|
||||
* For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit.
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
readonly enforceSSL?: boolean;
|
||||
}
|
||||
/**
|
||||
* The policy for an SNS Topic
|
||||
*
|
||||
* Policies define the operations that are allowed on this resource.
|
||||
*
|
||||
* You almost never need to define this construct directly.
|
||||
*
|
||||
* All AWS resources that support resource policies have a method called
|
||||
* `addToResourcePolicy()`, which will automatically create a new resource
|
||||
* policy if one doesn't exist yet, otherwise it will add to the existing
|
||||
* policy.
|
||||
*
|
||||
* Prefer to use `addToResourcePolicy()` instead.
|
||||
*/
|
||||
export declare class TopicPolicy extends Resource {
|
||||
/**
|
||||
* Uniquely identifies this class.
|
||||
*/
|
||||
static readonly PROPERTY_INJECTION_ID: string;
|
||||
/**
|
||||
* The IAM policy document for this policy.
|
||||
*/
|
||||
readonly document: PolicyDocument;
|
||||
constructor(scope: Construct, id: string, props: TopicPolicyProps);
|
||||
/**
|
||||
* Adds a statement to enforce encryption of data in transit when publishing to the topic.
|
||||
*
|
||||
* For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit.
|
||||
*/
|
||||
protected createSSLPolicyDocument(topicArn: string): PolicyStatement;
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/policy.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/policy.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";var __esDecorate=exports&&exports.__esDecorate||function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!="function")throw new TypeError("Function expected");return f}for(var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value",target=!descriptorIn&&ctor?contextIn.static?ctor:ctor.prototype:null,descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{}),_,done=!1,i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!="object")throw new TypeError("Object expected");(_=accept(result.get))&&(descriptor.get=_),(_=accept(result.set))&&(descriptor.set=_),(_=accept(result.init))&&initializers.unshift(_)}else(_=accept(result))&&(kind==="field"?initializers.unshift(_):descriptor[key]=_)}target&&Object.defineProperty(target,contextIn.name,descriptor),done=!0},__runInitializers=exports&&exports.__runInitializers||function(thisArg,initializers,value){for(var useValue=arguments.length>2,i=0;i<initializers.length;i++)value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg);return useValue?value:void 0};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TopicPolicy=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var sns_generated_1=()=>{var tmp=require("./sns.generated");return sns_generated_1=()=>tmp,tmp},aws_iam_1=()=>{var tmp=require("../../aws-iam");return aws_iam_1=()=>tmp,tmp},core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp},metadata_resource_1=()=>{var tmp=require("../../core/lib/metadata-resource");return metadata_resource_1=()=>tmp,tmp},prop_injectable_1=()=>{var tmp=require("../../core/lib/prop-injectable");return prop_injectable_1=()=>tmp,tmp};let TopicPolicy=(()=>{let _classDecorators=[prop_injectable_1().propertyInjectable],_classDescriptor,_classExtraInitializers=[],_classThis,_classSuper=core_1().Resource;var TopicPolicy2=class extends _classSuper{static{_classThis=this}static{const _metadata=typeof Symbol=="function"&&Symbol.metadata?Object.create(_classSuper[Symbol.metadata]??null):void 0;__esDecorate(null,_classDescriptor={value:_classThis},_classDecorators,{kind:"class",name:_classThis.name,metadata:_metadata},null,_classExtraInitializers),TopicPolicy2=_classThis=_classDescriptor.value,_metadata&&Object.defineProperty(_classThis,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:_metadata})}static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sns.TopicPolicy",version:"2.252.0"};static PROPERTY_INJECTION_ID="aws-cdk-lib.aws-sns.TopicPolicy";document=new(aws_iam_1()).PolicyDocument({assignSids:!0});constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sns_TopicPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,TopicPolicy2),error}(0,metadata_resource_1().addConstructMetadata)(this,props),this.document=props.policyDocument??this.document,props.enforceSSL&&props.topics.map(t=>this.document.addStatements(this.createSSLPolicyDocument(t.topicArn))),new(sns_generated_1()).CfnTopicPolicy(this,"Resource",{policyDocument:this.document,topics:props.topics.map(t=>t.topicArn)})}createSSLPolicyDocument(topicArn){return new(aws_iam_1()).PolicyStatement({sid:"AllowPublishThroughSSLOnly",actions:["sns:Publish"],effect:aws_iam_1().Effect.DENY,resources:[topicArn],conditions:{Bool:{"aws:SecureTransport":"false"}},principals:[new(aws_iam_1()).StarPrincipal]})}static{__runInitializers(_classThis,_classExtraInitializers)}};return TopicPolicy2=_classThis})();exports.TopicPolicy=TopicPolicy;
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/private/default-traits.d.ts
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/private/default-traits.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/private/default-traits.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/private/default-traits.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var aws_iam_1=()=>{var tmp=require("../../../aws-iam");return aws_iam_1=()=>tmp,tmp},aws_kms_1=()=>{var tmp=require("../../../aws-kms");return aws_kms_1=()=>tmp,tmp},cfn_key_matcher_1=()=>{var tmp=require("../../../aws-kms/lib/private/cfn-key-matcher");return cfn_key_matcher_1=()=>tmp,tmp},core_1=()=>{var tmp=require("../../../core");return core_1=()=>tmp,tmp},helpers_internal_1=()=>{var tmp=require("../../../core/lib/helpers-internal");return helpers_internal_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp},sns_generated_1=()=>{var tmp=require("../sns.generated");return sns_generated_1=()=>tmp,tmp};class TopicWithPolicyFactory{forResource(resource){return ifCfnTopic(resource,r=>new CfnTopicWithPolicy(r))}}class CfnTopicWithPolicy{topic;env;policy;policyDocument;constructor(topic){this.topic=topic,this.env=topic.env}addToResourcePolicy(statement){return this.policy||(this.policy=new(sns_generated_1()).CfnTopicPolicy(this.topic,"TopicPolicy",{topics:[this.topic.ref],policyDocument:{Statement:[]}})),this.policyDocument||(this.policyDocument=aws_iam_1().PolicyDocument.fromJson(this.policy.policyDocument??{Statement:[]})),this.policyDocument.addStatements(statement),this.policy.policyDocument=this.policyDocument.toJSON(),{statementAdded:!0,policyDependable:this.policy}}}class EncryptedTopicFactory{forResource(resource){return ifCfnTopic(resource,r=>new EncryptedCfnTopic(r))}}class EncryptedCfnTopic{topic;env;constructor(topic){this.topic=topic,this.env=topic.env}grantOnKey(grantee,...actions){const key=tryFindKmsKeyForTopic(this.topic);return{grant:key?aws_kms_1().KeyGrants.fromKey(key).actions(grantee,...actions):void 0}}}function ifCfnTopic(resource,factory){if(!sns_generated_1().CfnTopic.isCfnTopic(resource))throw new(core_1()).ValidationError((0,literal_string_1().lit)`Construct`,`Construct ${resource.node.path} is not of type CfnTopic`,resource);return factory(resource)}function tryFindKmsKeyForTopic(topic){const kmsMasterKeyId=topic.kmsMasterKeyId;if(kmsMasterKeyId)return helpers_internal_1().ConstructReflection.of(topic).findRelatedCfnResource(new(cfn_key_matcher_1()).CfnKeyMatcher(kmsMasterKeyId))}aws_iam_1().DefaultPolicyFactories.set("AWS::SNS::Topic",new TopicWithPolicyFactory),aws_iam_1().DefaultEncryptedResourceFactories.set("AWS::SNS::Topic",new EncryptedTopicFactory);
|
||||
125
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-augmentations.generated.d.ts
generated
vendored
Normal file
125
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-augmentations.generated.d.ts
generated
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
import * as cw from "../../aws-cloudwatch";
|
||||
declare module "./topic-base" {
|
||||
interface ITopic {
|
||||
/**
|
||||
* Return the given named metric for this Topic
|
||||
*/
|
||||
metric(metricName: string, props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* Metric for the size of messages published through this topic
|
||||
*
|
||||
* Average over 5 minutes
|
||||
*/
|
||||
metricPublishSize(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages published to your Amazon SNS topics.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfMessagesPublished(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsDelivered(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages that Amazon SNS failed to deliver.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsFailed(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages that were rejected by subscription filter policies.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsFilteredOut(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages that were rejected by subscription filter policies because the messages have no attributes.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsFilteredOutNoMessageAttributes(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages that were rejected by subscription filter policies because the messages' attributes are invalid
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsFilteredOutInvalidAttributes(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The charges you have accrued since the start of the current calendar month for sending SMS messages.
|
||||
*
|
||||
* Maximum over 5 minutes
|
||||
*/
|
||||
metricSMSMonthToDateSpentUSD(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The rate of successful SMS message deliveries.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricSMSSuccessRate(props?: cw.MetricOptions): cw.Metric;
|
||||
}
|
||||
}
|
||||
declare module "./topic-base" {
|
||||
interface TopicBase {
|
||||
/**
|
||||
* Return the given named metric for this Topic
|
||||
*/
|
||||
metric(metricName: string, props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* Metric for the size of messages published through this topic
|
||||
*
|
||||
* Average over 5 minutes
|
||||
*/
|
||||
metricPublishSize(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages published to your Amazon SNS topics.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfMessagesPublished(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsDelivered(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages that Amazon SNS failed to deliver.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsFailed(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages that were rejected by subscription filter policies.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsFilteredOut(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages that were rejected by subscription filter policies because the messages have no attributes.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsFilteredOutNoMessageAttributes(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The number of messages that were rejected by subscription filter policies because the messages' attributes are invalid
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricNumberOfNotificationsFilteredOutInvalidAttributes(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The charges you have accrued since the start of the current calendar month for sending SMS messages.
|
||||
*
|
||||
* Maximum over 5 minutes
|
||||
*/
|
||||
metricSMSMonthToDateSpentUSD(props?: cw.MetricOptions): cw.Metric;
|
||||
/**
|
||||
* The rate of successful SMS message deliveries.
|
||||
*
|
||||
* Sum over 5 minutes
|
||||
*/
|
||||
metricSMSSuccessRate(props?: cw.MetricOptions): cw.Metric;
|
||||
}
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-augmentations.generated.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-augmentations.generated.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var cw=()=>{var tmp=require("../../aws-cloudwatch");return cw=()=>tmp,tmp},topic_base_1=()=>{var tmp=require("./topic-base");return topic_base_1=()=>tmp,tmp};topic_base_1().TopicBase.prototype.metric=function(metricName,props){return new(cw()).Metric({namespace:"AWS/SNS",metricName,dimensionsMap:{TopicName:this.topicName},...props}).attachTo(this)},topic_base_1().TopicBase.prototype.metricPublishSize=function(props){return this.metric("PublishSize",{statistic:"Average",...props})},topic_base_1().TopicBase.prototype.metricNumberOfMessagesPublished=function(props){return this.metric("NumberOfMessagesPublished",{statistic:"Sum",...props})},topic_base_1().TopicBase.prototype.metricNumberOfNotificationsDelivered=function(props){return this.metric("NumberOfNotificationsDelivered",{statistic:"Sum",...props})},topic_base_1().TopicBase.prototype.metricNumberOfNotificationsFailed=function(props){return this.metric("NumberOfNotificationsFailed",{statistic:"Sum",...props})},topic_base_1().TopicBase.prototype.metricNumberOfNotificationsFilteredOut=function(props){return this.metric("NumberOfNotificationsFilteredOut",{statistic:"Sum",...props})},topic_base_1().TopicBase.prototype.metricNumberOfNotificationsFilteredOutNoMessageAttributes=function(props){return this.metric("NumberOfNotificationsFilteredOut-NoMessageAttributes",{statistic:"Sum",...props})},topic_base_1().TopicBase.prototype.metricNumberOfNotificationsFilteredOutInvalidAttributes=function(props){return this.metric("NumberOfNotificationsFilteredOut-InvalidAttributes",{statistic:"Sum",...props})},topic_base_1().TopicBase.prototype.metricSMSMonthToDateSpentUSD=function(props){return this.metric("SMSMonthToDateSpentUSD",{statistic:"Maximum",...props})},topic_base_1().TopicBase.prototype.metricSMSSuccessRate=function(props){return this.metric("SMSSuccessRate",{statistic:"Sum",...props})};
|
||||
41
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-canned-metrics.generated.d.ts
generated
vendored
Normal file
41
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-canned-metrics.generated.d.ts
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
export interface MetricWithDims<D> {
|
||||
readonly namespace: string;
|
||||
readonly metricName: string;
|
||||
readonly statistic: string;
|
||||
readonly dimensionsMap: D;
|
||||
}
|
||||
export declare class SNSMetrics {
|
||||
static numberOfNotificationsDeliveredSum(this: void, dimensions: {
|
||||
TopicName: string;
|
||||
}): MetricWithDims<{
|
||||
TopicName: string;
|
||||
}>;
|
||||
static numberOfNotificationsFailedSum(this: void, dimensions: {
|
||||
TopicName: string;
|
||||
}): MetricWithDims<{
|
||||
TopicName: string;
|
||||
}>;
|
||||
static numberOfMessagesPublishedSum(this: void, dimensions: {
|
||||
TopicName: string;
|
||||
}): MetricWithDims<{
|
||||
TopicName: string;
|
||||
}>;
|
||||
static publishSizeAverage(this: void, dimensions: {
|
||||
TopicName: string;
|
||||
}): MetricWithDims<{
|
||||
TopicName: string;
|
||||
}>;
|
||||
static smsSuccessRateSum(this: void, dimensions: {
|
||||
Country: string;
|
||||
SMSType: string;
|
||||
}): MetricWithDims<{
|
||||
Country: string;
|
||||
SMSType: string;
|
||||
}>;
|
||||
static phoneNumberDirectSum(this: void, dimensions: {
|
||||
PhoneNumber: string;
|
||||
}): MetricWithDims<{
|
||||
PhoneNumber: string;
|
||||
}>;
|
||||
static smsMonthToDateSpentUsdSum(this: void, dimensions: {}): MetricWithDims<{}>;
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-canned-metrics.generated.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-canned-metrics.generated.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SNSMetrics=void 0;class SNSMetrics{static numberOfNotificationsDeliveredSum(dimensions){return{namespace:"AWS/SNS",metricName:"NumberOfNotificationsDelivered",dimensionsMap:dimensions,statistic:"Sum"}}static numberOfNotificationsFailedSum(dimensions){return{namespace:"AWS/SNS",metricName:"NumberOfNotificationsFailed",dimensionsMap:dimensions,statistic:"Sum"}}static numberOfMessagesPublishedSum(dimensions){return{namespace:"AWS/SNS",metricName:"NumberOfMessagesPublished",dimensionsMap:dimensions,statistic:"Sum"}}static publishSizeAverage(dimensions){return{namespace:"AWS/SNS",metricName:"PublishSize",dimensionsMap:dimensions,statistic:"Average"}}static smsSuccessRateSum(dimensions){return{namespace:"AWS/SNS",metricName:"SMSSuccessRate",dimensionsMap:dimensions,statistic:"Sum"}}static phoneNumberDirectSum(dimensions){return{namespace:"AWS/SNS",metricName:"PhoneNumberDirect",dimensionsMap:dimensions,statistic:"Sum"}}static smsMonthToDateSpentUsdSum(dimensions){return{namespace:"AWS/SNS",metricName:"SMSMonthToDateSpentUSD",dimensionsMap:dimensions,statistic:"Sum"}}}exports.SNSMetrics=SNSMetrics;
|
||||
28
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-grants.generated.d.ts
generated
vendored
Normal file
28
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-grants.generated.d.ts
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import * as sns from "./sns.generated";
|
||||
import * as iam from "../../aws-iam";
|
||||
import * as cdk from "../../core/lib";
|
||||
/**
|
||||
* Collection of grant methods for a ITopicRef
|
||||
*/
|
||||
export declare class TopicGrants {
|
||||
/**
|
||||
* Creates grants for TopicGrants
|
||||
*/
|
||||
static fromTopic(resource: sns.ITopicRef): TopicGrants;
|
||||
protected readonly resource: sns.ITopicRef;
|
||||
protected readonly encryptedResource?: iam.IEncryptedResource;
|
||||
protected readonly policyResource?: iam.IResourceWithPolicyV2;
|
||||
private constructor();
|
||||
/**
|
||||
* Grant the given identity custom permissions
|
||||
*/
|
||||
actions(grantee: iam.IGrantable, actions: Array<string>, options?: cdk.EncryptedPermissionsOptions): iam.Grant;
|
||||
/**
|
||||
* Grant topic publishing permissions to the given identity
|
||||
*/
|
||||
publish(grantee: iam.IGrantable): iam.Grant;
|
||||
/**
|
||||
* Grant topic subscribing permissions to the given identity
|
||||
*/
|
||||
subscribe(grantee: iam.IGrantable): iam.Grant;
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-grants.generated.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns-grants.generated.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TopicGrants=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var sns=()=>{var tmp=require("./sns.generated");return sns=()=>tmp,tmp},iam=()=>{var tmp=require("../../aws-iam");return iam=()=>tmp,tmp};class TopicGrants{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sns.TopicGrants",version:"2.252.0"};static fromTopic(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_sns_ITopicRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromTopic),error}return new TopicGrants({resource,encryptedResource:iam().EncryptedResources.of(resource),policyResource:iam().ResourceWithPolicies.of(resource)})}resource;encryptedResource;policyResource;constructor(props){this.resource=props.resource,this.encryptedResource=props.encryptedResource,this.policyResource=props.policyResource}actions(grantee,actions,options={}){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee),jsiiDeprecationWarnings().aws_cdk_lib_EncryptedPermissionsOptions(options)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.actions),error}const result=this.policyResource?iam().Grant.addToPrincipalOrResource({actions,grantee,resourceArns:options.resourceArns??[sns().CfnTopic.arnForTopic(this.resource)],resource:this.policyResource}):iam().Grant.addToPrincipal({actions,grantee,resourceArns:options.resourceArns??[sns().CfnTopic.arnForTopic(this.resource)]});return options.keyActions&&options.keyActions.length>0&&this.encryptedResource?.grantOnKey(grantee,...options.keyActions),result}publish(grantee){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.publish),error}const actions=["sns:Publish"];return this.actions(grantee,actions,{keyActions:["kms:Decrypt","kms:GenerateDataKey*"]})}subscribe(grantee){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.subscribe),error}const actions=["sns:Subscribe"];return this.actions(grantee,actions,{})}}exports.TopicGrants=TopicGrants;
|
||||
906
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns.generated.d.ts
generated
vendored
Normal file
906
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns.generated.d.ts
generated
vendored
Normal file
@@ -0,0 +1,906 @@
|
||||
import * as cdk from "../../core/lib";
|
||||
import * as constructs from "constructs";
|
||||
import * as cfn_parse from "../../core/lib/helpers-internal";
|
||||
import { aws_iam as iamRefs, aws_kinesisfirehose as kinesisFirehoseRefs, aws_kms as kmsRefs, aws_lambda as lambdaRefs, aws_sns as snsRefs, aws_sqs as sqsRefs } from "../../interfaces";
|
||||
import { ISubscriptionRef, ITopicInlinePolicyRef, ITopicPolicyRef, ITopicRef, SubscriptionReference, TopicInlinePolicyReference, TopicPolicyReference, TopicReference } from "../../interfaces/generated/aws-sns-interfaces.generated";
|
||||
/**
|
||||
* The `AWS::SNS::Subscription` resource subscribes an endpoint to an Amazon topic.
|
||||
*
|
||||
* For a subscription to be created, the owner of the endpoint must` confirm the subscription.
|
||||
*
|
||||
* @cloudformationResource AWS::SNS::Subscription
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html
|
||||
*/
|
||||
export declare class CfnSubscription extends cdk.CfnResource implements cdk.IInspectable, ISubscriptionRef {
|
||||
/**
|
||||
* The CloudFormation resource type name for this resource class.
|
||||
*/
|
||||
static readonly CFN_RESOURCE_TYPE_NAME: string;
|
||||
/**
|
||||
* Build a CfnSubscription 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): CfnSubscription;
|
||||
/**
|
||||
* Checks whether the given object is a CfnSubscription
|
||||
*/
|
||||
static isCfnSubscription(x: any): x is CfnSubscription;
|
||||
static arnForSubscription(resource: ISubscriptionRef): string;
|
||||
/**
|
||||
* The delivery policy JSON assigned to the subscription.
|
||||
*/
|
||||
private _deliveryPolicy?;
|
||||
/**
|
||||
* The subscription's endpoint.
|
||||
*/
|
||||
private _endpoint?;
|
||||
/**
|
||||
* The filter policy JSON assigned to the subscription.
|
||||
*/
|
||||
private _filterPolicy?;
|
||||
/**
|
||||
* This attribute lets you choose the filtering scope by using one of the following string value types:.
|
||||
*/
|
||||
private _filterPolicyScope?;
|
||||
/**
|
||||
* The subscription's protocol.
|
||||
*/
|
||||
private _protocol;
|
||||
/**
|
||||
* When set to `true` , enables raw message delivery.
|
||||
*/
|
||||
private _rawMessageDelivery?;
|
||||
/**
|
||||
* When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue.
|
||||
*/
|
||||
private _redrivePolicy?;
|
||||
/**
|
||||
* For cross-region subscriptions, the region in which the topic resides.
|
||||
*/
|
||||
private _region?;
|
||||
/**
|
||||
* Specifies whether Amazon resends the notification to the subscription when a message's attribute changes.
|
||||
*/
|
||||
private _replayPolicy?;
|
||||
/**
|
||||
* This property applies only to Amazon Data Firehose delivery stream subscriptions.
|
||||
*/
|
||||
private _subscriptionRoleArn?;
|
||||
/**
|
||||
* The ARN of the topic to subscribe to.
|
||||
*/
|
||||
private _topicArn;
|
||||
protected readonly cfnPropertyNames: Record<string, string>;
|
||||
/**
|
||||
* Create a new `AWS::SNS::Subscription`.
|
||||
*
|
||||
* @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: CfnSubscriptionProps);
|
||||
get subscriptionRef(): SubscriptionReference;
|
||||
/**
|
||||
* The delivery policy JSON assigned to the subscription.
|
||||
*/
|
||||
get deliveryPolicy(): any | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* The delivery policy JSON assigned to the subscription.
|
||||
*/
|
||||
set deliveryPolicy(value: any | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* The subscription's endpoint.
|
||||
*/
|
||||
get endpoint(): string | undefined;
|
||||
/**
|
||||
* The subscription's endpoint.
|
||||
*/
|
||||
set endpoint(value: string | undefined);
|
||||
/**
|
||||
* The filter policy JSON assigned to the subscription.
|
||||
*/
|
||||
get filterPolicy(): any | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* The filter policy JSON assigned to the subscription.
|
||||
*/
|
||||
set filterPolicy(value: any | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* This attribute lets you choose the filtering scope by using one of the following string value types:.
|
||||
*/
|
||||
get filterPolicyScope(): string | undefined;
|
||||
/**
|
||||
* This attribute lets you choose the filtering scope by using one of the following string value types:.
|
||||
*/
|
||||
set filterPolicyScope(value: string | undefined);
|
||||
/**
|
||||
* The subscription's protocol.
|
||||
*/
|
||||
get protocol(): string;
|
||||
/**
|
||||
* The subscription's protocol.
|
||||
*/
|
||||
set protocol(value: string);
|
||||
/**
|
||||
* When set to `true` , enables raw message delivery.
|
||||
*/
|
||||
get rawMessageDelivery(): boolean | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* When set to `true` , enables raw message delivery.
|
||||
*/
|
||||
set rawMessageDelivery(value: boolean | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue.
|
||||
*/
|
||||
get redrivePolicy(): any | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue.
|
||||
*/
|
||||
set redrivePolicy(value: any | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* For cross-region subscriptions, the region in which the topic resides.
|
||||
*/
|
||||
get region(): string | undefined;
|
||||
/**
|
||||
* For cross-region subscriptions, the region in which the topic resides.
|
||||
*/
|
||||
set region(value: string | undefined);
|
||||
/**
|
||||
* Specifies whether Amazon resends the notification to the subscription when a message's attribute changes.
|
||||
*/
|
||||
get replayPolicy(): any | cdk.IResolvable | string | undefined;
|
||||
/**
|
||||
* Specifies whether Amazon resends the notification to the subscription when a message's attribute changes.
|
||||
*/
|
||||
set replayPolicy(value: any | cdk.IResolvable | string | undefined);
|
||||
/**
|
||||
* This property applies only to Amazon Data Firehose delivery stream subscriptions.
|
||||
*/
|
||||
get subscriptionRoleArn(): string | undefined;
|
||||
/**
|
||||
* This property applies only to Amazon Data Firehose delivery stream subscriptions.
|
||||
*/
|
||||
set subscriptionRoleArn(value: string | undefined);
|
||||
/**
|
||||
* The ARN of the topic to subscribe to.
|
||||
*/
|
||||
get topicArn(): string;
|
||||
/**
|
||||
* The ARN of the topic to subscribe to.
|
||||
*/
|
||||
set topicArn(value: string);
|
||||
/**
|
||||
* Returns the ARN of the subscription created by the `AWS::SNS::Subscription` resource.
|
||||
*
|
||||
* @cloudformationAttribute Arn
|
||||
*/
|
||||
get attrArn(): string;
|
||||
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 `CfnSubscription`
|
||||
*
|
||||
* @struct
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html
|
||||
*/
|
||||
export interface CfnSubscriptionProps {
|
||||
/**
|
||||
* The delivery policy JSON assigned to the subscription.
|
||||
*
|
||||
* Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message delivery retries](https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html) in the *Amazon Developer Guide* .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-deliverypolicy
|
||||
*/
|
||||
readonly deliveryPolicy?: any | cdk.IResolvable;
|
||||
/**
|
||||
* The subscription's endpoint.
|
||||
*
|
||||
* The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-endpoint
|
||||
*/
|
||||
readonly endpoint?: kinesisFirehoseRefs.IDeliveryStreamRef | lambdaRefs.IFunctionRef | lambdaRefs.IVersionRef | sqsRefs.IQueueRef | string;
|
||||
/**
|
||||
* The filter policy JSON assigned to the subscription.
|
||||
*
|
||||
* Enables the subscriber to filter out unwanted messages. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message filtering](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) in the *Amazon Developer Guide* .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy
|
||||
*/
|
||||
readonly filterPolicy?: any | cdk.IResolvable;
|
||||
/**
|
||||
* This attribute lets you choose the filtering scope by using one of the following string value types:.
|
||||
*
|
||||
* - `MessageAttributes` (default) - The filter is applied on the message attributes.
|
||||
* - `MessageBody` - The filter is applied on the message body.
|
||||
*
|
||||
* > `Null` is not a valid value for `FilterPolicyScope` . To delete a filter policy, delete the `FilterPolicy` property but keep `FilterPolicyScope` property as is.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicyscope
|
||||
*/
|
||||
readonly filterPolicyScope?: string;
|
||||
/**
|
||||
* The subscription's protocol.
|
||||
*
|
||||
* For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-protocol
|
||||
*/
|
||||
readonly protocol: string;
|
||||
/**
|
||||
* When set to `true` , enables raw message delivery.
|
||||
*
|
||||
* Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-rawmessagedelivery
|
||||
*/
|
||||
readonly rawMessageDelivery?: boolean | cdk.IResolvable;
|
||||
/**
|
||||
* When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue.
|
||||
*
|
||||
* Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
|
||||
*
|
||||
* For more information about the redrive policy and dead-letter queues, see [Amazon SQS dead-letter queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) in the *Amazon SQS Developer Guide* .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy
|
||||
*/
|
||||
readonly redrivePolicy?: any | cdk.IResolvable;
|
||||
/**
|
||||
* For cross-region subscriptions, the region in which the topic resides.
|
||||
*
|
||||
* If no region is specified, CloudFormation uses the region of the caller as the default.
|
||||
*
|
||||
* If you perform an update operation that only updates the `Region` property of a `AWS::SNS::Subscription` resource, that operation will fail unless you are either:
|
||||
*
|
||||
* - Updating the `Region` from `NULL` to the caller region.
|
||||
* - Updating the `Region` from the caller region to `NULL` .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region
|
||||
*/
|
||||
readonly region?: string;
|
||||
/**
|
||||
* Specifies whether Amazon resends the notification to the subscription when a message's attribute changes.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-replaypolicy
|
||||
*/
|
||||
readonly replayPolicy?: any | cdk.IResolvable | string;
|
||||
/**
|
||||
* This property applies only to Amazon Data Firehose delivery stream subscriptions.
|
||||
*
|
||||
* Specify the ARN of the IAM role that has the following:
|
||||
*
|
||||
* - Permission to write to the Amazon Data Firehose delivery stream
|
||||
* - Amazon listed as a trusted entity
|
||||
*
|
||||
* Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see [Fanout to Amazon Data Firehose delivery streams](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html) in the *Amazon Developer Guide.*
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-subscriptionrolearn
|
||||
*/
|
||||
readonly subscriptionRoleArn?: iamRefs.IRoleRef | string;
|
||||
/**
|
||||
* The ARN of the topic to subscribe to.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-topicarn
|
||||
*/
|
||||
readonly topicArn: snsRefs.ITopicRef | string;
|
||||
}
|
||||
/**
|
||||
* The `AWS::SNS::Topic` resource creates a topic to which notifications can be published.
|
||||
*
|
||||
* > One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [Amazon endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *AWS General Reference* .
|
||||
*
|
||||
* @cloudformationResource AWS::SNS::Topic
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html
|
||||
*/
|
||||
export declare class CfnTopic extends cdk.CfnResource implements cdk.IInspectable, ITopicRef, cdk.ITaggable {
|
||||
/**
|
||||
* The CloudFormation resource type name for this resource class.
|
||||
*/
|
||||
static readonly CFN_RESOURCE_TYPE_NAME: string;
|
||||
/**
|
||||
* Build a CfnTopic 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): CfnTopic;
|
||||
/**
|
||||
* Checks whether the given object is a CfnTopic
|
||||
*/
|
||||
static isCfnTopic(x: any): x is CfnTopic;
|
||||
static arnForTopic(resource: ITopicRef): string;
|
||||
/**
|
||||
* The `ArchivePolicy` determines the number of days Amazon retains messages in FIFO topics.
|
||||
*/
|
||||
private _archivePolicy?;
|
||||
/**
|
||||
* `ContentBasedDeduplication` enables deduplication of messages based on their content for FIFO topics.
|
||||
*/
|
||||
private _contentBasedDeduplication?;
|
||||
/**
|
||||
* The body of the policy document you want to use for this topic.
|
||||
*/
|
||||
private _dataProtectionPolicy?;
|
||||
/**
|
||||
* The `DeliveryStatusLogging` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:.
|
||||
*/
|
||||
private _deliveryStatusLogging?;
|
||||
/**
|
||||
* The display name to use for an Amazon topic with SMS subscriptions.
|
||||
*/
|
||||
private _displayName?;
|
||||
/**
|
||||
* Specifies the throughput quota and deduplication behavior to apply for the FIFO topic.
|
||||
*/
|
||||
private _fifoThroughputScope?;
|
||||
/**
|
||||
* Set to true to create a FIFO topic.
|
||||
*/
|
||||
private _fifoTopic?;
|
||||
/**
|
||||
* The ID of an AWS managed customer master key (CMK) for Amazon or a custom CMK.
|
||||
*/
|
||||
private _kmsMasterKeyId?;
|
||||
/**
|
||||
* The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS.
|
||||
*/
|
||||
private _signatureVersion?;
|
||||
/**
|
||||
* The Amazon subscriptions (endpoints) for this topic.
|
||||
*/
|
||||
private _subscription?;
|
||||
/**
|
||||
* Tag Manager which manages the tags for this resource
|
||||
*/
|
||||
readonly tags: cdk.TagManager;
|
||||
/**
|
||||
* The list of tags to add to a new topic.
|
||||
*/
|
||||
private _tagsRaw?;
|
||||
/**
|
||||
* The name of the topic you want to create.
|
||||
*/
|
||||
private _topicName?;
|
||||
/**
|
||||
* Tracing mode of an Amazon topic.
|
||||
*/
|
||||
private _tracingConfig?;
|
||||
protected readonly cfnPropertyNames: Record<string, string>;
|
||||
/**
|
||||
* Create a new `AWS::SNS::Topic`.
|
||||
*
|
||||
* @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?: CfnTopicProps);
|
||||
get topicRef(): TopicReference;
|
||||
/**
|
||||
* The `ArchivePolicy` determines the number of days Amazon retains messages in FIFO topics.
|
||||
*/
|
||||
get archivePolicy(): any | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* The `ArchivePolicy` determines the number of days Amazon retains messages in FIFO topics.
|
||||
*/
|
||||
set archivePolicy(value: any | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* `ContentBasedDeduplication` enables deduplication of messages based on their content for FIFO topics.
|
||||
*/
|
||||
get contentBasedDeduplication(): boolean | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* `ContentBasedDeduplication` enables deduplication of messages based on their content for FIFO topics.
|
||||
*/
|
||||
set contentBasedDeduplication(value: boolean | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* The body of the policy document you want to use for this topic.
|
||||
*/
|
||||
get dataProtectionPolicy(): any | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* The body of the policy document you want to use for this topic.
|
||||
*/
|
||||
set dataProtectionPolicy(value: any | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* The `DeliveryStatusLogging` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:.
|
||||
*/
|
||||
get deliveryStatusLogging(): Array<cdk.IResolvable | CfnTopic.LoggingConfigProperty> | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* The `DeliveryStatusLogging` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:.
|
||||
*/
|
||||
set deliveryStatusLogging(value: Array<cdk.IResolvable | CfnTopic.LoggingConfigProperty> | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* The display name to use for an Amazon topic with SMS subscriptions.
|
||||
*/
|
||||
get displayName(): string | undefined;
|
||||
/**
|
||||
* The display name to use for an Amazon topic with SMS subscriptions.
|
||||
*/
|
||||
set displayName(value: string | undefined);
|
||||
/**
|
||||
* Specifies the throughput quota and deduplication behavior to apply for the FIFO topic.
|
||||
*/
|
||||
get fifoThroughputScope(): string | undefined;
|
||||
/**
|
||||
* Specifies the throughput quota and deduplication behavior to apply for the FIFO topic.
|
||||
*/
|
||||
set fifoThroughputScope(value: string | undefined);
|
||||
/**
|
||||
* Set to true to create a FIFO topic.
|
||||
*/
|
||||
get fifoTopic(): boolean | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* Set to true to create a FIFO topic.
|
||||
*/
|
||||
set fifoTopic(value: boolean | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* The ID of an AWS managed customer master key (CMK) for Amazon or a custom CMK.
|
||||
*/
|
||||
get kmsMasterKeyId(): string | undefined;
|
||||
/**
|
||||
* The ID of an AWS managed customer master key (CMK) for Amazon or a custom CMK.
|
||||
*/
|
||||
set kmsMasterKeyId(value: string | undefined);
|
||||
/**
|
||||
* The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS.
|
||||
*/
|
||||
get signatureVersion(): string | undefined;
|
||||
/**
|
||||
* The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS.
|
||||
*/
|
||||
set signatureVersion(value: string | undefined);
|
||||
/**
|
||||
* The Amazon subscriptions (endpoints) for this topic.
|
||||
*/
|
||||
get subscription(): Array<cdk.IResolvable | CfnTopic.SubscriptionProperty> | cdk.IResolvable | undefined;
|
||||
/**
|
||||
* The Amazon subscriptions (endpoints) for this topic.
|
||||
*/
|
||||
set subscription(value: Array<cdk.IResolvable | CfnTopic.SubscriptionProperty> | cdk.IResolvable | undefined);
|
||||
/**
|
||||
* The list of tags to add to a new topic.
|
||||
*/
|
||||
get tagsRaw(): Array<cdk.CfnTag> | undefined;
|
||||
/**
|
||||
* The list of tags to add to a new topic.
|
||||
*/
|
||||
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
|
||||
/**
|
||||
* The name of the topic you want to create.
|
||||
*/
|
||||
get topicName(): string | undefined;
|
||||
/**
|
||||
* The name of the topic you want to create.
|
||||
*/
|
||||
set topicName(value: string | undefined);
|
||||
/**
|
||||
* Tracing mode of an Amazon topic.
|
||||
*/
|
||||
get tracingConfig(): string | undefined;
|
||||
/**
|
||||
* Tracing mode of an Amazon topic.
|
||||
*/
|
||||
set tracingConfig(value: string | undefined);
|
||||
/**
|
||||
* Returns the ARN of an Amazon topic.
|
||||
*
|
||||
* @cloudformationAttribute TopicArn
|
||||
*/
|
||||
get attrTopicArn(): string;
|
||||
/**
|
||||
* Returns the name of an Amazon topic.
|
||||
*
|
||||
* @cloudformationAttribute TopicName
|
||||
*/
|
||||
get attrTopicName(): string;
|
||||
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 CfnTopic {
|
||||
/**
|
||||
* `Subscription` is an embedded property that describes the subscription endpoints of an Amazon topic.
|
||||
*
|
||||
* > For full control over subscription behavior (for example, delivery policy, filtering, raw message delivery, and cross-region subscriptions), use the [AWS::SNS::Subscription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html) resource.
|
||||
*
|
||||
* @struct
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-subscription.html
|
||||
*/
|
||||
interface SubscriptionProperty {
|
||||
/**
|
||||
* The endpoint that receives notifications from the Amazon topic.
|
||||
*
|
||||
* The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-subscription.html#cfn-sns-topic-subscription-endpoint
|
||||
*/
|
||||
readonly endpoint: string;
|
||||
/**
|
||||
* The subscription's protocol.
|
||||
*
|
||||
* For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-subscription.html#cfn-sns-topic-subscription-protocol
|
||||
*/
|
||||
readonly protocol: string;
|
||||
}
|
||||
/**
|
||||
* The `LoggingConfig` property type specifies the `Delivery` status logging configuration for an [`AWS::SNS::Topic`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html) .
|
||||
*
|
||||
* @struct
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html
|
||||
*/
|
||||
interface LoggingConfigProperty {
|
||||
/**
|
||||
* The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html#cfn-sns-topic-loggingconfig-failurefeedbackrolearn
|
||||
*/
|
||||
readonly failureFeedbackRoleArn?: string;
|
||||
/**
|
||||
* Indicates one of the supported protocols for the Amazon SNS topic.
|
||||
*
|
||||
* > At least one of the other three `LoggingConfig` properties is recommend along with `Protocol` .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html#cfn-sns-topic-loggingconfig-protocol
|
||||
*/
|
||||
readonly protocol: string;
|
||||
/**
|
||||
* The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html#cfn-sns-topic-loggingconfig-successfeedbackrolearn
|
||||
*/
|
||||
readonly successFeedbackRoleArn?: string;
|
||||
/**
|
||||
* The percentage of successful message deliveries to be logged in Amazon CloudWatch.
|
||||
*
|
||||
* Valid percentage values range from 0 to 100.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html#cfn-sns-topic-loggingconfig-successfeedbacksamplerate
|
||||
*/
|
||||
readonly successFeedbackSampleRate?: string;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Properties for defining a `CfnTopic`
|
||||
*
|
||||
* @struct
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html
|
||||
*/
|
||||
export interface CfnTopicProps {
|
||||
/**
|
||||
* The `ArchivePolicy` determines the number of days Amazon retains messages in FIFO topics.
|
||||
*
|
||||
* You can set a retention period ranging from 1 to 365 days. This property is only applicable to FIFO topics; attempting to use it with standard topics will result in a creation failure.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-archivepolicy
|
||||
*/
|
||||
readonly archivePolicy?: any | cdk.IResolvable;
|
||||
/**
|
||||
* `ContentBasedDeduplication` enables deduplication of messages based on their content for FIFO topics.
|
||||
*
|
||||
* By default, this property is set to false. If you create a FIFO topic with `ContentBasedDeduplication` set to false, you must provide a `MessageDeduplicationId` for each `Publish` action. When set to true, Amazon automatically generates a `MessageDeduplicationId` using a SHA-256 hash of the message body (excluding message attributes). You can optionally override this generated value by specifying a `MessageDeduplicationId` in the `Publish` action. Note that this property only applies to FIFO topics; using it with standard topics will cause the creation to fail.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-contentbaseddeduplication
|
||||
*/
|
||||
readonly contentBasedDeduplication?: boolean | cdk.IResolvable;
|
||||
/**
|
||||
* The body of the policy document you want to use for this topic.
|
||||
*
|
||||
* You can only add one policy per topic.
|
||||
*
|
||||
* The policy must be in JSON string format.
|
||||
*
|
||||
* Length Constraints: Maximum length of 30,720.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-dataprotectionpolicy
|
||||
*/
|
||||
readonly dataProtectionPolicy?: any | cdk.IResolvable;
|
||||
/**
|
||||
* The `DeliveryStatusLogging` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:.
|
||||
*
|
||||
* - HTTP
|
||||
* - Amazon Kinesis Data Firehose
|
||||
* - AWS Lambda
|
||||
* - Platform application endpoint
|
||||
* - Amazon Simple Queue Service
|
||||
*
|
||||
* Once configured, log entries are sent to Amazon CloudWatch Logs.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-deliverystatuslogging
|
||||
*/
|
||||
readonly deliveryStatusLogging?: Array<cdk.IResolvable | CfnTopic.LoggingConfigProperty> | cdk.IResolvable;
|
||||
/**
|
||||
* The display name to use for an Amazon topic with SMS subscriptions.
|
||||
*
|
||||
* The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-displayname
|
||||
*/
|
||||
readonly displayName?: string;
|
||||
/**
|
||||
* Specifies the throughput quota and deduplication behavior to apply for the FIFO topic.
|
||||
*
|
||||
* Valid values are `Topic` or `MessageGroup` .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-fifothroughputscope
|
||||
*/
|
||||
readonly fifoThroughputScope?: string;
|
||||
/**
|
||||
* Set to true to create a FIFO topic.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-fifotopic
|
||||
*/
|
||||
readonly fifoTopic?: boolean | cdk.IResolvable;
|
||||
/**
|
||||
* The ID of an AWS managed customer master key (CMK) for Amazon or a custom CMK.
|
||||
*
|
||||
* For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms) . For more examples, see `[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)` in the *AWS Key Management Service API Reference* .
|
||||
*
|
||||
* This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html) .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-kmsmasterkeyid
|
||||
*/
|
||||
readonly kmsMasterKeyId?: kmsRefs.IAliasRef | kmsRefs.IKeyRef | string;
|
||||
/**
|
||||
* The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS.
|
||||
*
|
||||
* By default, `SignatureVersion` is set to `1` .
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-signatureversion
|
||||
*/
|
||||
readonly signatureVersion?: string;
|
||||
/**
|
||||
* The Amazon subscriptions (endpoints) for this topic.
|
||||
*
|
||||
* > If you specify the `Subscription` property in the `AWS::SNS::Topic` resource and it creates an associated subscription resource, the associated subscription is not deleted when the `AWS::SNS::Topic` resource is deleted.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-subscription
|
||||
*/
|
||||
readonly subscription?: Array<cdk.IResolvable | CfnTopic.SubscriptionProperty> | cdk.IResolvable;
|
||||
/**
|
||||
* The list of tags to add to a new topic.
|
||||
*
|
||||
* > To be able to tag a topic on creation, you must have the `sns:CreateTopic` and `sns:TagResource` permissions.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-tags
|
||||
*/
|
||||
readonly tags?: Array<cdk.CfnTag>;
|
||||
/**
|
||||
* The name of the topic you want to create.
|
||||
*
|
||||
* Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with `.fifo` .
|
||||
*
|
||||
* If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the topic name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .
|
||||
*
|
||||
* > If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-topicname
|
||||
*/
|
||||
readonly topicName?: string;
|
||||
/**
|
||||
* Tracing mode of an Amazon topic.
|
||||
*
|
||||
* By default `TracingConfig` is set to `PassThrough` , and the topic passes through the tracing header it receives from an Amazon publisher to its subscriptions. If set to `Active` , Amazon will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html#cfn-sns-topic-tracingconfig
|
||||
*/
|
||||
readonly tracingConfig?: string;
|
||||
}
|
||||
/**
|
||||
* The `AWS::SNS::TopicInlinePolicy` resource associates one Amazon topic with one policy.
|
||||
*
|
||||
* @cloudformationResource AWS::SNS::TopicInlinePolicy
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html
|
||||
*/
|
||||
export declare class CfnTopicInlinePolicy extends cdk.CfnResource implements cdk.IInspectable, ITopicInlinePolicyRef {
|
||||
/**
|
||||
* The CloudFormation resource type name for this resource class.
|
||||
*/
|
||||
static readonly CFN_RESOURCE_TYPE_NAME: string;
|
||||
/**
|
||||
* Build a CfnTopicInlinePolicy 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): CfnTopicInlinePolicy;
|
||||
/**
|
||||
* Checks whether the given object is a CfnTopicInlinePolicy
|
||||
*/
|
||||
static isCfnTopicInlinePolicy(x: any): x is CfnTopicInlinePolicy;
|
||||
/**
|
||||
* A policy document that contains permissions to add to the specified Amazon topic.
|
||||
*/
|
||||
private _policyDocument;
|
||||
/**
|
||||
* The Amazon Resource Name (ARN) of the topic to which you want to add the policy.
|
||||
*/
|
||||
private _topicArn;
|
||||
protected readonly cfnPropertyNames: Record<string, string>;
|
||||
/**
|
||||
* Create a new `AWS::SNS::TopicInlinePolicy`.
|
||||
*
|
||||
* @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: CfnTopicInlinePolicyProps);
|
||||
get topicInlinePolicyRef(): TopicInlinePolicyReference;
|
||||
/**
|
||||
* A policy document that contains permissions to add to the specified Amazon topic.
|
||||
*/
|
||||
get policyDocument(): any | cdk.IResolvable;
|
||||
/**
|
||||
* A policy document that contains permissions to add to the specified Amazon topic.
|
||||
*/
|
||||
set policyDocument(value: any | cdk.IResolvable);
|
||||
/**
|
||||
* The Amazon Resource Name (ARN) of the topic to which you want to add the policy.
|
||||
*/
|
||||
get topicArn(): string;
|
||||
/**
|
||||
* The Amazon Resource Name (ARN) of the topic to which you want to add the policy.
|
||||
*/
|
||||
set topicArn(value: string);
|
||||
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 `CfnTopicInlinePolicy`
|
||||
*
|
||||
* @struct
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html
|
||||
*/
|
||||
export interface CfnTopicInlinePolicyProps {
|
||||
/**
|
||||
* A policy document that contains permissions to add to the specified Amazon topic.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html#cfn-sns-topicinlinepolicy-policydocument
|
||||
*/
|
||||
readonly policyDocument: any | cdk.IResolvable;
|
||||
/**
|
||||
* The Amazon Resource Name (ARN) of the topic to which you want to add the policy.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html#cfn-sns-topicinlinepolicy-topicarn
|
||||
*/
|
||||
readonly topicArn: string;
|
||||
}
|
||||
/**
|
||||
* The `AWS::SNS::TopicPolicy` resource associates Amazon topics with a policy.
|
||||
*
|
||||
* For an example snippet, see [Declaring an Amazon policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *CloudFormation User Guide* .
|
||||
*
|
||||
* @cloudformationResource AWS::SNS::TopicPolicy
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html
|
||||
*/
|
||||
export declare class CfnTopicPolicy extends cdk.CfnResource implements cdk.IInspectable, ITopicPolicyRef {
|
||||
/**
|
||||
* The CloudFormation resource type name for this resource class.
|
||||
*/
|
||||
static readonly CFN_RESOURCE_TYPE_NAME: string;
|
||||
/**
|
||||
* Build a CfnTopicPolicy 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): CfnTopicPolicy;
|
||||
/**
|
||||
* Checks whether the given object is a CfnTopicPolicy
|
||||
*/
|
||||
static isCfnTopicPolicy(x: any): x is CfnTopicPolicy;
|
||||
/**
|
||||
* A policy document that contains permissions to add to the specified SNS topics.
|
||||
*/
|
||||
private _policyDocument;
|
||||
/**
|
||||
* The Amazon Resource Names (ARN) of the topics to which you want to add the policy.
|
||||
*/
|
||||
private _topics;
|
||||
protected readonly cfnPropertyNames: Record<string, string>;
|
||||
/**
|
||||
* Create a new `AWS::SNS::TopicPolicy`.
|
||||
*
|
||||
* @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: CfnTopicPolicyProps);
|
||||
get topicPolicyRef(): TopicPolicyReference;
|
||||
/**
|
||||
* A policy document that contains permissions to add to the specified SNS topics.
|
||||
*/
|
||||
get policyDocument(): any | cdk.IResolvable;
|
||||
/**
|
||||
* A policy document that contains permissions to add to the specified SNS topics.
|
||||
*/
|
||||
set policyDocument(value: any | cdk.IResolvable);
|
||||
/**
|
||||
* The Amazon Resource Names (ARN) of the topics to which you want to add the policy.
|
||||
*/
|
||||
get topics(): Array<string>;
|
||||
/**
|
||||
* The Amazon Resource Names (ARN) of the topics to which you want to add the policy.
|
||||
*/
|
||||
set topics(value: Array<string>);
|
||||
/**
|
||||
* The provider-assigned unique ID for this managed resource.
|
||||
*
|
||||
* @cloudformationAttribute Id
|
||||
*/
|
||||
get attrId(): string;
|
||||
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 `CfnTopicPolicy`
|
||||
*
|
||||
* @struct
|
||||
* @stability external
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html
|
||||
*/
|
||||
export interface CfnTopicPolicyProps {
|
||||
/**
|
||||
* A policy document that contains permissions to add to the specified SNS topics.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html#cfn-sns-topicpolicy-policydocument
|
||||
*/
|
||||
readonly policyDocument: any | cdk.IResolvable;
|
||||
/**
|
||||
* The Amazon Resource Names (ARN) of the topics to which you want to add the policy.
|
||||
*
|
||||
* You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)` resource.
|
||||
*
|
||||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html#cfn-sns-topicpolicy-topics
|
||||
*/
|
||||
readonly topics: Array<string>;
|
||||
}
|
||||
export type { ISubscriptionRef, SubscriptionReference };
|
||||
export type { ITopicRef, TopicReference };
|
||||
export type { ITopicInlinePolicyRef, TopicInlinePolicyReference };
|
||||
export type { ITopicPolicyRef, TopicPolicyReference };
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns.generated.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/sns.generated.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
44
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscriber.d.ts
generated
vendored
Normal file
44
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscriber.d.ts
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import type { Construct, IDependable } from 'constructs';
|
||||
import type { SubscriptionOptions } from './subscription';
|
||||
import type { ITopic } from './topic-base';
|
||||
/**
|
||||
* Subscription configuration
|
||||
*/
|
||||
export interface TopicSubscriptionConfig extends SubscriptionOptions {
|
||||
/**
|
||||
* The scope in which to create the SNS subscription resource. Normally you'd
|
||||
* want the subscription to be created on the consuming stack because the
|
||||
* topic is usually referenced by the consumer's resource policy (e.g. SQS
|
||||
* queue policy). Otherwise, it will cause a cyclic reference.
|
||||
*
|
||||
* If this is undefined, the subscription will be created on the topic's stack.
|
||||
*
|
||||
* @default - use the topic as the scope of the subscription, in which case `subscriberId` must be defined.
|
||||
*/
|
||||
readonly subscriberScope?: Construct;
|
||||
/**
|
||||
* The id of the SNS subscription resource created under `scope`. In most
|
||||
* cases, it is recommended to use the `uniqueId` of the topic you are
|
||||
* subscribing to.
|
||||
*/
|
||||
readonly subscriberId: string;
|
||||
/**
|
||||
* The resources that need to be created before the subscription can be safely created.
|
||||
* For example for SQS subscription, the subscription needs to have a dependency on the SQS queue policy
|
||||
* in order for the subscription to successfully deliver messages.
|
||||
*
|
||||
* @default - empty list
|
||||
*/
|
||||
readonly subscriptionDependency?: IDependable;
|
||||
}
|
||||
/**
|
||||
* Topic subscription
|
||||
*/
|
||||
export interface ITopicSubscription {
|
||||
/**
|
||||
* Returns a configuration used to subscribe to an SNS topic
|
||||
*
|
||||
* @param topic topic for which subscription will be configured
|
||||
*/
|
||||
bind(topic: ITopic): TopicSubscriptionConfig;
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscriber.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscriber.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
||||
114
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscription-filter.d.ts
generated
vendored
Normal file
114
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscription-filter.d.ts
generated
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
/**
|
||||
* Conditions that can be applied to string attributes.
|
||||
*/
|
||||
export interface StringConditions {
|
||||
/**
|
||||
* Match one or more values.
|
||||
* @default - None
|
||||
*/
|
||||
readonly allowlist?: string[];
|
||||
/**
|
||||
* Match any value that doesn't include any of the specified values.
|
||||
* @default - None
|
||||
*/
|
||||
readonly denylist?: string[];
|
||||
/**
|
||||
* Matches values that begins with the specified prefixes.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly matchPrefixes?: string[];
|
||||
/**
|
||||
* Matches values that end with the specified suffixes.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly matchSuffixes?: string[];
|
||||
}
|
||||
/**
|
||||
* Between condition for a numeric attribute.
|
||||
*/
|
||||
export interface BetweenCondition {
|
||||
/**
|
||||
* The start value.
|
||||
*/
|
||||
readonly start: number;
|
||||
/**
|
||||
* The stop value.
|
||||
*/
|
||||
readonly stop: number;
|
||||
}
|
||||
/**
|
||||
* Conditions that can be applied to numeric attributes.
|
||||
*/
|
||||
export interface NumericConditions {
|
||||
/**
|
||||
* Match one or more values.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly allowlist?: number[];
|
||||
/**
|
||||
* Match values that are greater than the specified value.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly greaterThan?: number;
|
||||
/**
|
||||
* Match values that are greater than or equal to the specified value.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly greaterThanOrEqualTo?: number;
|
||||
/**
|
||||
* Match values that are less than the specified value.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly lessThan?: number;
|
||||
/**
|
||||
* Match values that are less than or equal to the specified value.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly lessThanOrEqualTo?: number;
|
||||
/**
|
||||
* Match values that are between the specified values.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly between?: BetweenCondition;
|
||||
/**
|
||||
* Match values that are strictly between the specified values.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly betweenStrict?: BetweenCondition;
|
||||
}
|
||||
/**
|
||||
* A subscription filter for an attribute.
|
||||
*/
|
||||
export declare class SubscriptionFilter {
|
||||
readonly conditions: any[];
|
||||
/**
|
||||
* Returns a subscription filter for a string attribute.
|
||||
*/
|
||||
static stringFilter(stringConditions: StringConditions): SubscriptionFilter;
|
||||
/**
|
||||
* Returns a subscription filter for a numeric attribute.
|
||||
*/
|
||||
static numericFilter(numericConditions: NumericConditions): SubscriptionFilter;
|
||||
/**
|
||||
* Returns a subscription filter for attribute key matching.
|
||||
*/
|
||||
static existsFilter(): SubscriptionFilter;
|
||||
/**
|
||||
* Returns a subscription filter for absence of attribute key.
|
||||
*/
|
||||
static notExistsFilter(): SubscriptionFilter;
|
||||
/**
|
||||
*
|
||||
* @param conditions conditions that specify the message attributes that should be included, excluded, matched, etc.
|
||||
*/
|
||||
constructor(conditions?: any[]);
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscription-filter.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscription-filter.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SubscriptionFilter=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var errors_1=()=>{var tmp=require("../../core/lib/errors");return errors_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp};class SubscriptionFilter{conditions;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sns.SubscriptionFilter",version:"2.252.0"};static stringFilter(stringConditions){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sns_StringConditions(stringConditions)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.stringFilter),error}const conditions=new Array;if(stringConditions.whitelist&&stringConditions.allowlist)throw new(errors_1()).UnscopedValidationError((0,literal_string_1().lit)`DeprecatedPleaseInstead`,"`whitelist` is deprecated; please use `allowlist` instead");if(stringConditions.blacklist&&stringConditions.denylist)throw new(errors_1()).UnscopedValidationError((0,literal_string_1().lit)`DeprecatedPleaseInstead`,"`blacklist` is deprecated; please use `denylist` instead");const allowlist=stringConditions.allowlist??stringConditions.whitelist,denylist=stringConditions.denylist??stringConditions.blacklist;return allowlist&&conditions.push(...allowlist),denylist&&conditions.push({"anything-but":denylist}),stringConditions.matchPrefixes&&conditions.push(...stringConditions.matchPrefixes.map(p=>({prefix:p}))),stringConditions.matchSuffixes&&conditions.push(...stringConditions.matchSuffixes.map(s=>({suffix:s}))),new SubscriptionFilter(conditions)}static numericFilter(numericConditions){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sns_NumericConditions(numericConditions)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.numericFilter),error}const conditions=new Array;if(numericConditions.whitelist&&numericConditions.allowlist)throw new(errors_1()).UnscopedValidationError((0,literal_string_1().lit)`DeprecatedPleaseInstead`,"`whitelist` is deprecated; please use `allowlist` instead");const allowlist=numericConditions.allowlist??numericConditions.whitelist;return allowlist&&conditions.push(...allowlist.map(v=>({numeric:["=",v]}))),numericConditions.greaterThan!==void 0&&conditions.push({numeric:[">",numericConditions.greaterThan]}),numericConditions.greaterThanOrEqualTo!==void 0&&conditions.push({numeric:[">=",numericConditions.greaterThanOrEqualTo]}),numericConditions.lessThan!==void 0&&conditions.push({numeric:["<",numericConditions.lessThan]}),numericConditions.lessThanOrEqualTo!==void 0&&conditions.push({numeric:["<=",numericConditions.lessThanOrEqualTo]}),numericConditions.between&&conditions.push({numeric:[">=",numericConditions.between.start,"<=",numericConditions.between.stop]}),numericConditions.betweenStrict&&conditions.push({numeric:[">",numericConditions.betweenStrict.start,"<",numericConditions.betweenStrict.stop]}),new SubscriptionFilter(conditions)}static existsFilter(){return new SubscriptionFilter([{exists:!0}])}static notExistsFilter(){return new SubscriptionFilter([{exists:!1}])}constructor(conditions=[]){this.conditions=conditions}}exports.SubscriptionFilter=SubscriptionFilter;
|
||||
217
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscription.d.ts
generated
vendored
Normal file
217
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscription.d.ts
generated
vendored
Normal file
@@ -0,0 +1,217 @@
|
||||
import type { Construct } from 'constructs';
|
||||
import type { DeliveryPolicy } from './delivery-policy';
|
||||
import type { SubscriptionFilter } from './subscription-filter';
|
||||
import type { ITopic } from './topic-base';
|
||||
import type { IQueue } from '../../aws-sqs';
|
||||
import { Resource } from '../../core';
|
||||
/**
|
||||
* Options for creating a new subscription
|
||||
*/
|
||||
export interface SubscriptionOptions {
|
||||
/**
|
||||
* What type of subscription to add.
|
||||
*/
|
||||
readonly protocol: SubscriptionProtocol;
|
||||
/**
|
||||
* The subscription endpoint.
|
||||
*
|
||||
* The meaning of this value depends on the value for 'protocol'.
|
||||
*/
|
||||
readonly endpoint: string;
|
||||
/**
|
||||
* true if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be
|
||||
* sent to HTTP/S and Amazon SQS endpoints. For more information, see GetSubscriptionAttributes in the Amazon Simple
|
||||
* Notification Service API Reference.
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
readonly rawMessageDelivery?: boolean;
|
||||
/**
|
||||
* The filter policy.
|
||||
*
|
||||
* @default - all messages are delivered
|
||||
*/
|
||||
readonly filterPolicy?: {
|
||||
[attribute: string]: SubscriptionFilter;
|
||||
};
|
||||
/**
|
||||
* The filter policy that is applied on the message body.
|
||||
* To apply a filter policy to the message attributes, use `filterPolicy`. A maximum of one of `filterPolicyWithMessageBody` and `filterPolicy` may be used.
|
||||
*
|
||||
* @default - all messages are delivered
|
||||
*/
|
||||
readonly filterPolicyWithMessageBody?: {
|
||||
[attribute: string]: FilterOrPolicy;
|
||||
};
|
||||
/**
|
||||
* The region where the topic resides, in the case of cross-region subscriptions
|
||||
* @link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region
|
||||
* @default - the region where the CloudFormation stack is being deployed.
|
||||
*/
|
||||
readonly region?: string;
|
||||
/**
|
||||
* Queue to be used as dead letter queue.
|
||||
* If not passed no dead letter queue is enabled.
|
||||
*
|
||||
* @default - No dead letter queue enabled.
|
||||
*/
|
||||
readonly deadLetterQueue?: IQueue;
|
||||
/**
|
||||
* Arn of role allowing access to firehose delivery stream.
|
||||
* Required for a firehose subscription protocol.
|
||||
* @default - No subscription role is provided
|
||||
*/
|
||||
readonly subscriptionRoleArn?: string;
|
||||
/**
|
||||
* 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?: DeliveryPolicy;
|
||||
}
|
||||
/**
|
||||
* Properties for creating a new subscription
|
||||
*/
|
||||
export interface SubscriptionProps extends SubscriptionOptions {
|
||||
/**
|
||||
* The topic to subscribe to.
|
||||
*/
|
||||
readonly topic: ITopic;
|
||||
}
|
||||
/**
|
||||
* A new subscription.
|
||||
*
|
||||
* Prefer to use the `ITopic.addSubscription()` methods to create instances of
|
||||
* this class.
|
||||
*/
|
||||
export declare class Subscription extends Resource {
|
||||
/**
|
||||
* Uniquely identifies this class.
|
||||
*/
|
||||
static readonly PROPERTY_INJECTION_ID: string;
|
||||
/**
|
||||
* The DLQ associated with this subscription if present.
|
||||
*/
|
||||
readonly deadLetterQueue?: IQueue;
|
||||
private readonly filterPolicy?;
|
||||
private readonly filterPolicyWithMessageBody?;
|
||||
constructor(scope: Construct, id: string, props: SubscriptionProps);
|
||||
private renderDeliveryPolicy;
|
||||
private buildDeadLetterQueue;
|
||||
private buildDeadLetterConfig;
|
||||
}
|
||||
/**
|
||||
* The type of subscription, controlling the type of the endpoint parameter.
|
||||
*/
|
||||
export declare enum SubscriptionProtocol {
|
||||
/**
|
||||
* JSON-encoded message is POSTED to an HTTP url.
|
||||
*/
|
||||
HTTP = "http",
|
||||
/**
|
||||
* JSON-encoded message is POSTed to an HTTPS url.
|
||||
*/
|
||||
HTTPS = "https",
|
||||
/**
|
||||
* Notifications are sent via email.
|
||||
*/
|
||||
EMAIL = "email",
|
||||
/**
|
||||
* Notifications are JSON-encoded and sent via mail.
|
||||
*/
|
||||
EMAIL_JSON = "email-json",
|
||||
/**
|
||||
* Notification is delivered by SMS
|
||||
*/
|
||||
SMS = "sms",
|
||||
/**
|
||||
* Notifications are enqueued into an SQS queue.
|
||||
*/
|
||||
SQS = "sqs",
|
||||
/**
|
||||
* JSON-encoded notifications are sent to a mobile app endpoint.
|
||||
*/
|
||||
APPLICATION = "application",
|
||||
/**
|
||||
* Notifications trigger a Lambda function.
|
||||
*/
|
||||
LAMBDA = "lambda",
|
||||
/**
|
||||
* Notifications put records into a firehose delivery stream.
|
||||
*/
|
||||
FIREHOSE = "firehose"
|
||||
}
|
||||
/**
|
||||
* The type of the MessageBody at a given key value pair
|
||||
*/
|
||||
export declare enum FilterOrPolicyType {
|
||||
/**
|
||||
* The filter of the MessageBody
|
||||
*/
|
||||
FILTER = 0,
|
||||
/**
|
||||
* A nested key of the MessageBody
|
||||
*/
|
||||
POLICY = 1
|
||||
}
|
||||
/**
|
||||
* Class for building the FilterPolicy by avoiding union types
|
||||
*/
|
||||
export declare abstract class FilterOrPolicy {
|
||||
/**
|
||||
* Filter of MessageBody
|
||||
*/
|
||||
static filter(filter: SubscriptionFilter): Filter;
|
||||
/**
|
||||
* Policy of MessageBody
|
||||
*/
|
||||
static policy(policy: {
|
||||
[attribute: string]: FilterOrPolicy;
|
||||
}): Policy;
|
||||
/**
|
||||
* Type switch for disambiguating between subclasses
|
||||
*/
|
||||
abstract readonly type: FilterOrPolicyType;
|
||||
/**
|
||||
* Check if instance is `Policy` type
|
||||
*/
|
||||
isPolicy(): this is Policy;
|
||||
/**
|
||||
* Check if instance is `Filter` type
|
||||
*/
|
||||
isFilter(): this is Filter;
|
||||
}
|
||||
/**
|
||||
* Filter implementation of FilterOrPolicy
|
||||
*/
|
||||
export declare class Filter extends FilterOrPolicy {
|
||||
readonly filterDoc: SubscriptionFilter;
|
||||
/**
|
||||
* Type used in DFS buildFilterPolicyWithMessageBody to determine json value type
|
||||
*/
|
||||
readonly type = FilterOrPolicyType.FILTER;
|
||||
/**
|
||||
* Policy constructor
|
||||
* @param filterDoc filter argument to construct
|
||||
*/
|
||||
constructor(filterDoc: SubscriptionFilter);
|
||||
}
|
||||
/**
|
||||
* Policy Implementation of FilterOrPolicy
|
||||
*/
|
||||
export declare class Policy extends FilterOrPolicy {
|
||||
readonly policyDoc: {
|
||||
[attribute: string]: FilterOrPolicy;
|
||||
};
|
||||
/**
|
||||
* Type used in DFS buildFilterPolicyWithMessageBody to determine json value type
|
||||
*/
|
||||
readonly type = FilterOrPolicyType.POLICY;
|
||||
/**
|
||||
* Policy constructor
|
||||
* @param policyDoc policy argument to construct
|
||||
*/
|
||||
constructor(policyDoc: {
|
||||
[attribute: string]: FilterOrPolicy;
|
||||
});
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscription.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/subscription.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
149
cdk/node_modules/aws-cdk-lib/aws-sns/lib/topic-base.d.ts
generated
vendored
Normal file
149
cdk/node_modules/aws-cdk-lib/aws-sns/lib/topic-base.d.ts
generated
vendored
Normal file
@@ -0,0 +1,149 @@
|
||||
import type { Construct } from 'constructs';
|
||||
import { TopicGrants } from './sns-grants.generated';
|
||||
import type { ITopicRef, TopicReference } from './sns.generated';
|
||||
import type { ITopicSubscription } from './subscriber';
|
||||
import { Subscription } from './subscription';
|
||||
import type * as notifications from '../../aws-codestarnotifications';
|
||||
import * as iam from '../../aws-iam';
|
||||
import type { GrantOnKeyResult, IEncryptedResource, IGrantable } from '../../aws-iam';
|
||||
import type { IKey } from '../../aws-kms';
|
||||
import type { IResource, ResourceProps } from '../../core';
|
||||
import { Resource } from '../../core';
|
||||
/**
|
||||
* Represents an SNS topic
|
||||
*/
|
||||
export interface ITopic extends IResource, notifications.INotificationRuleTarget, ITopicRef {
|
||||
/**
|
||||
* The ARN of the topic
|
||||
*
|
||||
* @attribute
|
||||
*/
|
||||
readonly topicArn: string;
|
||||
/**
|
||||
* The name of the topic
|
||||
*
|
||||
* @attribute
|
||||
*/
|
||||
readonly topicName: string;
|
||||
/**
|
||||
* A KMS Key, either managed by this CDK app, or imported.
|
||||
*
|
||||
* This property applies only to server-side encryption.
|
||||
*
|
||||
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
|
||||
*
|
||||
* @default None
|
||||
*/
|
||||
readonly masterKey?: IKey;
|
||||
/**
|
||||
* Enables content-based deduplication for FIFO topics.
|
||||
*
|
||||
* @attribute
|
||||
*/
|
||||
readonly contentBasedDeduplication: boolean;
|
||||
/**
|
||||
* Whether this topic is an Amazon SNS FIFO queue. If false, this is a standard topic.
|
||||
*
|
||||
* @attribute
|
||||
*/
|
||||
readonly fifo: boolean;
|
||||
/**
|
||||
* Subscribe some endpoint to this topic
|
||||
*/
|
||||
addSubscription(subscription: ITopicSubscription): Subscription;
|
||||
/**
|
||||
* Adds a statement to the IAM resource policy associated with this topic.
|
||||
*
|
||||
* If this topic was created in this stack (`new Topic`), a topic policy
|
||||
* will be automatically created upon the first call to `addToResourcePolicy`. If
|
||||
* the topic is imported (`Topic.import`), then this is a no-op.
|
||||
*/
|
||||
addToResourcePolicy(statement: iam.PolicyStatement): iam.AddToResourcePolicyResult;
|
||||
/**
|
||||
* Grant topic publishing permissions to the given identity
|
||||
*/
|
||||
grantPublish(identity: iam.IGrantable): iam.Grant;
|
||||
/**
|
||||
* Grant topic subscribing permissions to the given identity
|
||||
*/
|
||||
grantSubscribe(identity: iam.IGrantable): iam.Grant;
|
||||
}
|
||||
/**
|
||||
* Either a new or imported Topic
|
||||
*/
|
||||
export declare abstract class TopicBase extends Resource implements ITopic, IEncryptedResource {
|
||||
abstract readonly topicArn: string;
|
||||
abstract readonly topicName: string;
|
||||
abstract readonly masterKey?: IKey;
|
||||
abstract readonly fifo: boolean;
|
||||
abstract readonly contentBasedDeduplication: boolean;
|
||||
/**
|
||||
* Collection of grant methods for a Topic
|
||||
*/
|
||||
readonly grants: TopicGrants;
|
||||
/**
|
||||
* Controls automatic creation of policy objects.
|
||||
*
|
||||
* Set by subclasses.
|
||||
*/
|
||||
protected abstract readonly autoCreatePolicy: boolean;
|
||||
/**
|
||||
* Adds a statement to enforce encryption of data in transit when publishing to the topic.
|
||||
*/
|
||||
protected enforceSSL?: boolean;
|
||||
private policy?;
|
||||
constructor(scope: Construct, id: string, props?: ResourceProps);
|
||||
get topicRef(): TopicReference;
|
||||
/**
|
||||
* Subscribe some endpoint to this topic
|
||||
*/
|
||||
addSubscription(topicSubscription: ITopicSubscription): Subscription;
|
||||
/**
|
||||
* Adds a statement to the IAM resource policy associated with this topic.
|
||||
*
|
||||
* If this topic was created in this stack (`new Topic`), a topic policy
|
||||
* will be automatically created upon the first call to `addToResourcePolicy`.
|
||||
* However, if `enforceSSL` is set to `true`, the policy has already been created
|
||||
* before the first call to this method.
|
||||
*
|
||||
* If the topic is imported (`Topic.import`), then this is a no-op.
|
||||
*/
|
||||
addToResourcePolicy(statement: iam.PolicyStatement): iam.AddToResourcePolicyResult;
|
||||
/**
|
||||
* Adds a SSL policy to the topic resource policy.
|
||||
*/
|
||||
protected addSSLPolicy(): void;
|
||||
/**
|
||||
* Creates a topic policy for this topic.
|
||||
*/
|
||||
protected createTopicPolicy(): void;
|
||||
/**
|
||||
* Adds a statement to enforce encryption of data in transit when publishing to the topic.
|
||||
*
|
||||
* For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit.
|
||||
*/
|
||||
protected createSSLPolicyDocument(): iam.PolicyStatement;
|
||||
grantOnKey(grantee: IGrantable, ...actions: string[]): GrantOnKeyResult;
|
||||
/**
|
||||
* Grant topic publishing permissions to the given identity
|
||||
*
|
||||
* The use of this method is discouraged. Please use `grants.publish()` instead.
|
||||
*
|
||||
* [disable-awslint:no-grants]
|
||||
*/
|
||||
grantPublish(grantee: iam.IGrantable): iam.Grant;
|
||||
/**
|
||||
* Grant topic subscribing permissions to the given identity
|
||||
*
|
||||
* The use of this method is discouraged. Please use `grants.subscribe()` instead.
|
||||
*
|
||||
* [disable-awslint:no-grants]
|
||||
*/
|
||||
grantSubscribe(grantee: iam.IGrantable): iam.Grant;
|
||||
/**
|
||||
* Represents a notification target
|
||||
* That allows SNS topic to associate with this rule target.
|
||||
*/
|
||||
bindAsNotificationRuleTarget(_scope: Construct): notifications.NotificationRuleTargetConfig;
|
||||
private nextTokenId;
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/topic-base.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/topic-base.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TopicBase=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var policy_1=()=>{var tmp=require("./policy");return policy_1=()=>tmp,tmp},sns_grants_generated_1=()=>{var tmp=require("./sns-grants.generated");return sns_grants_generated_1=()=>tmp,tmp},subscription_1=()=>{var tmp=require("./subscription");return subscription_1=()=>tmp,tmp},iam=()=>{var tmp=require("../../aws-iam");return iam=()=>tmp,tmp},core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp},errors_1=()=>{var tmp=require("../../core/lib/errors");return errors_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp};class TopicBase extends core_1().Resource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sns.TopicBase",version:"2.252.0"};grants=sns_grants_generated_1().TopicGrants.fromTopic(this);enforceSSL;policy;constructor(scope,id,props={}){super(scope,id,props);try{jsiiDeprecationWarnings().aws_cdk_lib_ResourceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,TopicBase),error}this.node.addValidation({validate:()=>this.policy?.document.validateForResourcePolicy()??[]})}get topicRef(){return{topicArn:this.topicArn}}addSubscription(topicSubscription){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sns_ITopicSubscription(topicSubscription)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addSubscription),error}const subscriptionConfig=topicSubscription.bind(this),scope=subscriptionConfig.subscriberScope||this;let id=subscriptionConfig.subscriberId;if(core_1().Token.isUnresolved(subscriptionConfig.subscriberId)&&(id=this.nextTokenId(scope)),scope.node.tryFindChild(id))throw new(errors_1()).ValidationError((0,literal_string_1().lit)`SubscriptionAlreadyExistsUnder`,`A subscription with id "${id}" already exists under the scope ${scope.node.path}`,scope);const subscription=new(subscription_1()).Subscription(scope,id,{topic:this,...subscriptionConfig});return subscriptionConfig.subscriptionDependency&&subscription.node.addDependency(subscriptionConfig.subscriptionDependency),subscription}addToResourcePolicy(statement){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_PolicyStatement(statement)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addToResourcePolicy),error}return this.createTopicPolicy(),this.policy?(this.policy.document.addStatements(statement),{statementAdded:!0,policyDependable:this.policy}):{statementAdded:!1}}addSSLPolicy(){this.createTopicPolicy(),this.policy&&this.policy.document.addStatements(this.createSSLPolicyDocument())}createTopicPolicy(){!this.policy&&this.autoCreatePolicy&&(this.policy=new(policy_1()).TopicPolicy(this,"Policy",{topics:[this]}))}createSSLPolicyDocument(){return new(iam()).PolicyStatement({sid:"AllowPublishThroughSSLOnly",actions:["sns:Publish"],effect:iam().Effect.DENY,resources:[this.topicArn],conditions:{Bool:{"aws:SecureTransport":"false"}},principals:[new(iam()).StarPrincipal]})}grantOnKey(grantee,...actions){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.grantOnKey),error}return{grant:this.masterKey?this.masterKey.grant(grantee,...actions):void 0}}grantPublish(grantee){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.grantPublish),error}return this.grants.publish(grantee)}grantSubscribe(grantee){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_iam_IGrantable(grantee)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.grantSubscribe),error}return this.grants.subscribe(grantee)}bindAsNotificationRuleTarget(_scope){return this.grantPublish(new(iam()).ServicePrincipal("codestar-notifications.amazonaws.com")),{targetType:"SNS",targetAddress:this.topicArn}}nextTokenId(scope){let nextSuffix=1;const re=/TokenSubscription:([\d]*)/gm;for(const source of scope.node.findAll()){const m=re.exec(source.node.id);if(m!==null){const matchSuffix=parseInt(m[1],10);matchSuffix>=nextSuffix&&(nextSuffix=matchSuffix+1)}}return`TokenSubscription:${nextSuffix}`}}exports.TopicBase=TopicBase;
|
||||
245
cdk/node_modules/aws-cdk-lib/aws-sns/lib/topic.d.ts
generated
vendored
Normal file
245
cdk/node_modules/aws-cdk-lib/aws-sns/lib/topic.d.ts
generated
vendored
Normal file
@@ -0,0 +1,245 @@
|
||||
import type { Construct } from 'constructs';
|
||||
import type { ITopic } from './topic-base';
|
||||
import { TopicBase } from './topic-base';
|
||||
import type { IRoleRef } from '../../aws-iam';
|
||||
import type { IKey } from '../../aws-kms';
|
||||
/**
|
||||
* Properties for a new SNS topic
|
||||
*/
|
||||
export interface TopicProps {
|
||||
/**
|
||||
* A developer-defined string that can be used to identify this SNS topic.
|
||||
*
|
||||
* The display name must be maximum 100 characters long, including hyphens (-),
|
||||
* underscores (_), spaces, and tabs.
|
||||
*
|
||||
* @default None
|
||||
*/
|
||||
readonly displayName?: string;
|
||||
/**
|
||||
* A name for the topic.
|
||||
*
|
||||
* If you don't specify a name, AWS CloudFormation generates a unique
|
||||
* physical ID and uses that ID for the topic name. For more information,
|
||||
* see Name Type.
|
||||
*
|
||||
* @default Generated name
|
||||
*/
|
||||
readonly topicName?: string;
|
||||
/**
|
||||
* A KMS Key, either managed by this CDK app, or imported.
|
||||
*
|
||||
* @default None
|
||||
*/
|
||||
readonly masterKey?: IKey;
|
||||
/**
|
||||
* Enables content-based deduplication for FIFO topics.
|
||||
*
|
||||
* @default None
|
||||
*/
|
||||
readonly contentBasedDeduplication?: boolean;
|
||||
/**
|
||||
* Set to true to create a FIFO topic.
|
||||
*
|
||||
* @default None
|
||||
*/
|
||||
readonly fifo?: boolean;
|
||||
/**
|
||||
* The list of delivery status logging configurations for the topic.
|
||||
*
|
||||
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html.
|
||||
*
|
||||
* @default None
|
||||
*/
|
||||
readonly loggingConfigs?: LoggingConfig[];
|
||||
/**
|
||||
* The number of days Amazon SNS retains messages.
|
||||
*
|
||||
* It can only be set for FIFO topics.
|
||||
*
|
||||
* @see https://docs.aws.amazon.com/sns/latest/dg/fifo-message-archiving-replay.html
|
||||
*
|
||||
* @default - do not archive messages
|
||||
*/
|
||||
readonly messageRetentionPeriodInDays?: number;
|
||||
/**
|
||||
* Adds a statement to enforce encryption of data in transit when publishing to the topic.
|
||||
*
|
||||
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit.
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
readonly enforceSSL?: boolean;
|
||||
/**
|
||||
* The signature version corresponds to the hashing algorithm used while creating the signature of the notifications,
|
||||
* subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS.
|
||||
*
|
||||
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-verify-signature-of-message.html.
|
||||
*
|
||||
* @default 1
|
||||
*/
|
||||
readonly signatureVersion?: string;
|
||||
/**
|
||||
* Tracing mode of an Amazon SNS topic.
|
||||
*
|
||||
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html
|
||||
*
|
||||
* @default TracingConfig.PASS_THROUGH
|
||||
*/
|
||||
readonly tracingConfig?: TracingConfig;
|
||||
/**
|
||||
* Specifies the throughput quota and deduplication behavior to apply for the FIFO topic.
|
||||
*
|
||||
* You can only set this property when `fifo` is `true`.
|
||||
*
|
||||
* @default undefined - SNS default setting is FifoThroughputScope.TOPIC
|
||||
*/
|
||||
readonly fifoThroughputScope?: FifoThroughputScope;
|
||||
}
|
||||
/**
|
||||
* The throughput quota and deduplication behavior to apply for the FIFO topic.
|
||||
*/
|
||||
export declare enum FifoThroughputScope {
|
||||
/**
|
||||
* Topic scope
|
||||
* - Throughput: 3000 messages per second and a bandwidth of 20MB per second.
|
||||
* - Deduplication: Message deduplication is verified on the entire FIFO topic.
|
||||
*/
|
||||
TOPIC = "Topic",
|
||||
/**
|
||||
* Message group scope
|
||||
* - Throughput: Maximum regional limits.
|
||||
* - Deduplication: Message deduplication is only verified within a message group.
|
||||
*/
|
||||
MESSAGE_GROUP = "MessageGroup"
|
||||
}
|
||||
/**
|
||||
* A logging configuration for delivery status of messages sent from SNS topic to subscribed endpoints.
|
||||
*
|
||||
* @see https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html.
|
||||
*/
|
||||
export interface LoggingConfig {
|
||||
/**
|
||||
* Indicates one of the supported protocols for the SNS topic.
|
||||
*/
|
||||
readonly protocol: LoggingProtocol;
|
||||
/**
|
||||
* The IAM role to be used when logging failed message deliveries in Amazon CloudWatch.
|
||||
*
|
||||
* @default None
|
||||
*/
|
||||
readonly failureFeedbackRole?: IRoleRef;
|
||||
/**
|
||||
* The IAM role to be used when logging successful message deliveries in Amazon CloudWatch.
|
||||
*
|
||||
* @default None
|
||||
*/
|
||||
readonly successFeedbackRole?: IRoleRef;
|
||||
/**
|
||||
* The percentage of successful message deliveries to be logged in Amazon CloudWatch.
|
||||
*
|
||||
* Valid values are integer between 0-100
|
||||
*
|
||||
* @default None
|
||||
*/
|
||||
readonly successFeedbackSampleRate?: number;
|
||||
}
|
||||
/**
|
||||
* The type of supported protocol for delivery status logging.
|
||||
*/
|
||||
export declare enum LoggingProtocol {
|
||||
/**
|
||||
* HTTP
|
||||
*/
|
||||
HTTP = "http/s",
|
||||
/**
|
||||
* Amazon Simple Queue Service
|
||||
*/
|
||||
SQS = "sqs",
|
||||
/**
|
||||
* AWS Lambda
|
||||
*/
|
||||
LAMBDA = "lambda",
|
||||
/**
|
||||
* Amazon Data Firehose
|
||||
*/
|
||||
FIREHOSE = "firehose",
|
||||
/**
|
||||
* Platform application endpoint
|
||||
*/
|
||||
APPLICATION = "application"
|
||||
}
|
||||
/**
|
||||
* The tracing mode of an Amazon SNS topic
|
||||
*/
|
||||
export declare enum TracingConfig {
|
||||
/**
|
||||
* The mode that topic passes trace headers received from the Amazon SNS publisher to its subscription.
|
||||
*/
|
||||
PASS_THROUGH = "PassThrough",
|
||||
/**
|
||||
* The mode that Amazon SNS vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.
|
||||
*/
|
||||
ACTIVE = "Active"
|
||||
}
|
||||
/**
|
||||
* Represents an SNS topic defined outside of this stack.
|
||||
*/
|
||||
export interface TopicAttributes {
|
||||
/**
|
||||
* The ARN of the SNS topic.
|
||||
*/
|
||||
readonly topicArn: string;
|
||||
/**
|
||||
* KMS encryption key, if this topic is server-side encrypted by a KMS key.
|
||||
*
|
||||
* @default - None
|
||||
*/
|
||||
readonly keyArn?: string;
|
||||
/**
|
||||
* Whether content-based deduplication is enabled.
|
||||
* Only applicable for FIFO topics.
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
readonly contentBasedDeduplication?: boolean;
|
||||
}
|
||||
/**
|
||||
* A new SNS topic
|
||||
*/
|
||||
export declare class Topic extends TopicBase {
|
||||
/**
|
||||
* Uniquely identifies this class.
|
||||
*/
|
||||
static readonly PROPERTY_INJECTION_ID: string;
|
||||
/**
|
||||
* Import an existing SNS topic provided an ARN
|
||||
*
|
||||
* @param scope The parent creating construct
|
||||
* @param id The construct's name
|
||||
* @param topicArn topic ARN (i.e. arn:aws:sns:us-east-2:444455556666:MyTopic)
|
||||
*/
|
||||
static fromTopicArn(scope: Construct, id: string, topicArn: string): ITopic;
|
||||
/**
|
||||
* Import an existing SNS topic provided a topic attributes
|
||||
*
|
||||
* @param scope The parent creating construct
|
||||
* @param id The construct's name
|
||||
* @param attrs the attributes of the topic to import
|
||||
*/
|
||||
static fromTopicAttributes(scope: Construct, id: string, attrs: TopicAttributes): ITopic;
|
||||
get topicArn(): string;
|
||||
get topicName(): string;
|
||||
readonly masterKey?: IKey;
|
||||
readonly contentBasedDeduplication: boolean;
|
||||
readonly fifo: boolean;
|
||||
protected readonly autoCreatePolicy: boolean;
|
||||
private readonly _resource;
|
||||
private readonly loggingConfigs;
|
||||
constructor(scope: Construct, id: string, props?: TopicProps);
|
||||
private renderLoggingConfigs;
|
||||
/**
|
||||
* Adds a delivery status logging configuration to the topic.
|
||||
*/
|
||||
addLoggingConfig(config: LoggingConfig): void;
|
||||
}
|
||||
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/topic.js
generated
vendored
Normal file
1
cdk/node_modules/aws-cdk-lib/aws-sns/lib/topic.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user