@stacksjs/ts-cloud-core 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/advanced-features.test.d.ts +0 -0
- package/dist/aws/cloudformation.d.ts +69 -0
- package/dist/aws/cloudfront.d.ts +21 -0
- package/dist/aws/credentials.d.ts +66 -0
- package/dist/aws/credentials.test.d.ts +0 -0
- package/dist/aws/index.d.ts +73 -0
- package/dist/aws/s3.d.ts +130 -0
- package/dist/aws/s3.test.d.ts +0 -0
- package/dist/aws/signature.d.ts +101 -0
- package/dist/aws/signature.test.d.ts +0 -0
- package/dist/backup/disaster-recovery.d.ts +98 -0
- package/dist/backup/disaster-recovery.test.d.ts +0 -0
- package/dist/backup/index.d.ts +24 -0
- package/dist/backup/manager.d.ts +112 -0
- package/dist/backup/manager.test.d.ts +0 -0
- package/dist/cicd/circleci.d.ts +47 -0
- package/dist/cicd/github-actions.d.ts +55 -0
- package/dist/cicd/gitlab-ci.d.ts +46 -0
- package/dist/cicd/index.d.ts +3 -0
- package/dist/cli/history.d.ts +66 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/progress.d.ts +97 -0
- package/dist/cli/repl.d.ts +76 -0
- package/dist/cli/suggestions.d.ts +67 -0
- package/dist/cli/table.d.ts +70 -0
- package/dist/cli/table.test.d.ts +0 -0
- package/dist/cloudformation/builder.d.ts +59 -0
- package/dist/cloudformation/builder.test.d.ts +0 -0
- package/dist/cloudformation/builders/api-gateway.d.ts +30 -0
- package/dist/cloudformation/builders/cache.d.ts +35 -0
- package/dist/cloudformation/builders/cdn.d.ts +34 -0
- package/dist/cloudformation/builders/compute.d.ts +66 -0
- package/dist/cloudformation/builders/database.d.ts +61 -0
- package/dist/cloudformation/builders/functions.d.ts +32 -0
- package/dist/cloudformation/builders/messaging.d.ts +17 -0
- package/dist/cloudformation/builders/monitoring.d.ts +36 -0
- package/dist/cloudformation/builders/network.d.ts +14 -0
- package/dist/cloudformation/builders/queue.d.ts +8 -0
- package/dist/cloudformation/builders/security.d.ts +31 -0
- package/dist/cloudformation/builders/storage.d.ts +8 -0
- package/dist/cloudformation/index.d.ts +24 -0
- package/dist/cloudformation/types.d.ts +132 -0
- package/dist/compliance/aws-config.d.ts +88 -0
- package/dist/compliance/cloudtrail.d.ts +96 -0
- package/dist/compliance/compliance.test.d.ts +0 -0
- package/dist/compliance/guardduty.d.ts +110 -0
- package/dist/compliance/index.d.ts +50 -0
- package/dist/compliance/security-hub.d.ts +110 -0
- package/dist/containers/build-optimization.d.ts +110 -0
- package/dist/containers/containers.test.d.ts +0 -0
- package/dist/containers/image-scanning.d.ts +96 -0
- package/dist/containers/index.d.ts +4 -0
- package/dist/containers/registry.d.ts +99 -0
- package/dist/containers/service-mesh.d.ts +206 -0
- package/dist/database/database.test.d.ts +0 -0
- package/dist/database/index.d.ts +4 -0
- package/dist/database/migrations.d.ts +102 -0
- package/dist/database/performance.d.ts +168 -0
- package/dist/database/replicas.d.ts +146 -0
- package/dist/database/users.d.ts +102 -0
- package/dist/dependency-graph.d.ts +19 -0
- package/dist/deployment/ab-testing.d.ts +114 -0
- package/dist/deployment/blue-green.d.ts +98 -0
- package/dist/deployment/canary.d.ts +103 -0
- package/dist/deployment/deployment.test.d.ts +0 -0
- package/dist/deployment/index.d.ts +45 -0
- package/dist/deployment/progressive.d.ts +34 -0
- package/dist/dns/dns.test.d.ts +0 -0
- package/dist/dns/dnssec.d.ts +75 -0
- package/dist/dns/index.d.ts +3 -0
- package/dist/dns/resolver.d.ts +150 -0
- package/dist/dns/routing.d.ts +217 -0
- package/dist/email/advanced/analytics.d.ts +78 -0
- package/dist/email/advanced/index.d.ts +7 -0
- package/dist/email/advanced/rules.d.ts +60 -0
- package/dist/email/advanced/scheduling.d.ts +63 -0
- package/dist/email/advanced/search.d.ts +76 -0
- package/dist/email/advanced/shared-mailboxes.d.ts +66 -0
- package/dist/email/advanced/templates.d.ts +39 -0
- package/dist/email/advanced/threading.d.ts +53 -0
- package/dist/email/analytics.d.ts +144 -0
- package/dist/email/bounce-handling.d.ts +120 -0
- package/dist/email/email.test.d.ts +0 -0
- package/dist/email/handlers/__tests__/inbound.test.d.ts +0 -0
- package/dist/email/handlers/__tests__/outbound.test.d.ts +0 -0
- package/dist/email/handlers/converter.d.ts +225 -0
- package/dist/email/handlers/feedback.d.ts +226 -0
- package/dist/email/handlers/inbound.d.ts +167 -0
- package/dist/email/handlers/outbound.d.ts +176 -0
- package/dist/email/index.d.ts +6 -0
- package/dist/email/reputation.d.ts +97 -0
- package/dist/email/templates.d.ts +82 -0
- package/dist/errors/index.d.ts +186 -0
- package/dist/errors/index.test.d.ts +0 -0
- package/dist/health-checks/index.d.ts +35 -0
- package/dist/index.d.ts +256 -0
- package/dist/index.js +63499 -0
- package/dist/intrinsic-functions.d.ts +37 -0
- package/dist/lambda/concurrency.d.ts +98 -0
- package/dist/lambda/destinations.d.ts +99 -0
- package/dist/lambda/dlq.d.ts +109 -0
- package/dist/lambda/index.d.ts +6 -0
- package/dist/lambda/lambda.test.d.ts +0 -0
- package/dist/lambda/layers.d.ts +81 -0
- package/dist/lambda/versions.d.ts +91 -0
- package/dist/lambda/vpc.d.ts +116 -0
- package/dist/local/config.d.ts +44 -0
- package/dist/local/index.d.ts +2 -0
- package/dist/local/mock-aws.d.ts +60 -0
- package/dist/modules/ai.d.ts +47 -0
- package/dist/modules/api.d.ts +98 -0
- package/dist/modules/auth.d.ts +165 -0
- package/dist/modules/cache.d.ts +73 -0
- package/dist/modules/cdn.d.ts +125 -0
- package/dist/modules/communication.d.ts +98 -0
- package/dist/modules/compute.d.ts +309 -0
- package/dist/modules/database.d.ts +105 -0
- package/dist/modules/deployment.d.ts +181 -0
- package/dist/modules/dns.d.ts +45 -0
- package/dist/modules/email.d.ts +217 -0
- package/dist/modules/filesystem.d.ts +94 -0
- package/dist/modules/index.d.ts +27 -0
- package/dist/modules/messaging.d.ts +108 -0
- package/dist/modules/monitoring.d.ts +127 -0
- package/dist/modules/network.d.ts +102 -0
- package/dist/modules/parameter-store.d.ts +33 -0
- package/dist/modules/permissions.d.ts +132 -0
- package/dist/modules/phone.d.ts +80 -0
- package/dist/modules/queue.d.ts +210 -0
- package/dist/modules/redirects.d.ts +59 -0
- package/dist/modules/registry.d.ts +73 -0
- package/dist/modules/search.d.ts +56 -0
- package/dist/modules/secrets.d.ts +80 -0
- package/dist/modules/security.d.ts +100 -0
- package/dist/modules/sms.d.ts +52 -0
- package/dist/modules/storage.d.ts +160 -0
- package/dist/modules/workflow.d.ts +205 -0
- package/dist/multi-account/config.d.ts +315 -0
- package/dist/multi-account/index.d.ts +2 -0
- package/dist/multi-account/manager.d.ts +100 -0
- package/dist/multi-region/cross-region.d.ts +114 -0
- package/dist/multi-region/index.d.ts +3 -0
- package/dist/multi-region/manager.d.ts +72 -0
- package/dist/multi-region/regions.d.ts +98 -0
- package/dist/network-security/index.d.ts +39 -0
- package/dist/observability/index.d.ts +4 -0
- package/dist/observability/logs.d.ts +129 -0
- package/dist/observability/metrics.d.ts +153 -0
- package/dist/observability/observability.test.d.ts +0 -0
- package/dist/observability/synthetics.d.ts +146 -0
- package/dist/observability/xray.d.ts +129 -0
- package/dist/phone/advanced/analytics.d.ts +66 -0
- package/dist/phone/advanced/callbacks.d.ts +50 -0
- package/dist/phone/advanced/index.d.ts +4 -0
- package/dist/phone/advanced/ivr-builder.d.ts +83 -0
- package/dist/phone/advanced/recording.d.ts +48 -0
- package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +0 -0
- package/dist/phone/handlers/incoming-call.d.ts +115 -0
- package/dist/phone/handlers/missed-call.d.ts +114 -0
- package/dist/phone/handlers/voicemail.d.ts +177 -0
- package/dist/phone/index.d.ts +2 -0
- package/dist/presets/api-backend.d.ts +11 -0
- package/dist/presets/data-pipeline.d.ts +11 -0
- package/dist/presets/extend.d.ts +194 -0
- package/dist/presets/extend.test.d.ts +0 -0
- package/dist/presets/fullstack-app.d.ts +12 -0
- package/dist/presets/index.d.ts +24 -0
- package/dist/presets/jamstack.d.ts +12 -0
- package/dist/presets/microservices.d.ts +18 -0
- package/dist/presets/ml-api.d.ts +13 -0
- package/dist/presets/nodejs-server.d.ts +14 -0
- package/dist/presets/nodejs-serverless.d.ts +14 -0
- package/dist/presets/realtime-app.d.ts +11 -0
- package/dist/presets/static-site.d.ts +12 -0
- package/dist/presets/traditional-web-app.d.ts +16 -0
- package/dist/presets/wordpress.d.ts +12 -0
- package/dist/preview/github.d.ts +32 -0
- package/dist/preview/github.test.d.ts +0 -0
- package/dist/preview/index.d.ts +27 -0
- package/dist/preview/manager.d.ts +58 -0
- package/dist/preview/manager.test.d.ts +0 -0
- package/dist/preview/notifications.d.ts +55 -0
- package/dist/preview/notifications.test.d.ts +0 -0
- package/dist/queue/batch-processing.d.ts +87 -0
- package/dist/queue/dlq-monitoring.d.ts +95 -0
- package/dist/queue/fifo.d.ts +90 -0
- package/dist/queue/index.d.ts +4 -0
- package/dist/queue/management.d.ts +105 -0
- package/dist/queue/queue.test.d.ts +0 -0
- package/dist/resource-mgmt/index.d.ts +29 -0
- package/dist/resource-naming.d.ts +26 -0
- package/dist/s3/index.d.ts +173 -0
- package/dist/schema/index.d.ts +9 -0
- package/dist/security/certificate-manager.d.ts +121 -0
- package/dist/security/index.d.ts +4 -0
- package/dist/security/scanning.d.ts +147 -0
- package/dist/security/secrets-manager.d.ts +144 -0
- package/dist/security/secrets-rotation.d.ts +115 -0
- package/dist/security/security.test.d.ts +0 -0
- package/dist/sms/advanced/ab-testing.d.ts +54 -0
- package/dist/sms/advanced/analytics.d.ts +56 -0
- package/dist/sms/advanced/campaigns.d.ts +82 -0
- package/dist/sms/advanced/chatbot.d.ts +48 -0
- package/dist/sms/advanced/index.d.ts +6 -0
- package/dist/sms/advanced/link-tracking.d.ts +42 -0
- package/dist/sms/advanced/mms.d.ts +35 -0
- package/dist/sms/handlers/__tests__/send.test.d.ts +0 -0
- package/dist/sms/handlers/delivery-status.d.ts +131 -0
- package/dist/sms/handlers/receive.d.ts +160 -0
- package/dist/sms/handlers/send.d.ts +172 -0
- package/dist/sms/index.d.ts +2 -0
- package/dist/stack-diff.d.ts +34 -0
- package/dist/static-site/index.d.ts +49 -0
- package/dist/template-builder.d.ts +14 -0
- package/dist/template-validator.d.ts +24 -0
- package/dist/utils/cache.d.ts +55 -0
- package/dist/utils/diff.d.ts +48 -0
- package/dist/utils/hash.d.ts +58 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/parallel.d.ts +60 -0
- package/dist/validators/credentials.d.ts +23 -0
- package/dist/validators/credentials.test.d.ts +0 -0
- package/dist/validators/quotas.d.ts +60 -0
- package/dist/validators/quotas.test.d.ts +0 -0
- package/package.json +4 -4
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global DNSSEC manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const dnssecManager: DNSSECManager;
|
|
5
|
+
/**
|
|
6
|
+
* DNSSEC Configuration
|
|
7
|
+
* DNS Security Extensions for Route53
|
|
8
|
+
*/
|
|
9
|
+
export declare interface DNSSECConfig {
|
|
10
|
+
id: string
|
|
11
|
+
hostedZoneId: string
|
|
12
|
+
status: 'SIGNING' | 'SIGNED' | 'NOT_SIGNING' | 'DELETING' | 'ACTION_NEEDED'
|
|
13
|
+
signingStatus?: string
|
|
14
|
+
statusMessage?: string
|
|
15
|
+
}
|
|
16
|
+
export declare interface KSK {
|
|
17
|
+
id: string
|
|
18
|
+
name: string
|
|
19
|
+
hostedZoneId: string
|
|
20
|
+
status: 'ACTIVE' | 'INACTIVE' | 'DELETING' | 'ACTION_NEEDED'
|
|
21
|
+
keyManagementServiceArn: string
|
|
22
|
+
dnskeyRecord?: string
|
|
23
|
+
dsRecord?: string
|
|
24
|
+
digestAlgorithm: number
|
|
25
|
+
digestValue?: string
|
|
26
|
+
flag: number
|
|
27
|
+
keyTag?: number
|
|
28
|
+
publicKey?: string
|
|
29
|
+
}
|
|
30
|
+
export declare interface DNSSECValidation {
|
|
31
|
+
id: string
|
|
32
|
+
domain: string
|
|
33
|
+
validationStatus: 'VALID' | 'INVALID' | 'INSECURE' | 'BOGUS'
|
|
34
|
+
dnskeyPresent: boolean
|
|
35
|
+
rrsigPresent: boolean
|
|
36
|
+
validSignature: boolean
|
|
37
|
+
errors: string[]
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* DNSSEC manager
|
|
41
|
+
*/
|
|
42
|
+
export declare class DNSSECManager {
|
|
43
|
+
private configs: Map<string, DNSSECConfig>;
|
|
44
|
+
private ksks: Map<string, KSK>;
|
|
45
|
+
private validations: Map<string, DNSSECValidation>;
|
|
46
|
+
private configCounter: any;
|
|
47
|
+
private kskCounter: any;
|
|
48
|
+
private validationCounter: any;
|
|
49
|
+
enableDNSSEC(options: {
|
|
50
|
+
hostedZoneId: string
|
|
51
|
+
kmsKeyArn?: string
|
|
52
|
+
}): DNSSECConfig;
|
|
53
|
+
disableDNSSEC(configId: string): DNSSECConfig;
|
|
54
|
+
createKSK(options: {
|
|
55
|
+
name: string
|
|
56
|
+
hostedZoneId: string
|
|
57
|
+
kmsKeyArn: string
|
|
58
|
+
}): KSK;
|
|
59
|
+
deactivateKSK(kskId: string): KSK;
|
|
60
|
+
validateDNSSEC(options: {
|
|
61
|
+
domain: string
|
|
62
|
+
checkDNSKEY?: boolean
|
|
63
|
+
checkRRSIG?: boolean
|
|
64
|
+
}): DNSSECValidation;
|
|
65
|
+
getDNSSECConfig(id: string): DNSSECConfig | undefined;
|
|
66
|
+
listDNSSECConfigs(): DNSSECConfig[];
|
|
67
|
+
getKSK(id: string): KSK | undefined;
|
|
68
|
+
listKSKs(hostedZoneId?: string): KSK[];
|
|
69
|
+
getDSRecord(kskId: string): string;
|
|
70
|
+
private generatePublicKey(): string;
|
|
71
|
+
private generateDigest(dnskeyRecord: string): string;
|
|
72
|
+
generateDNSSECCF(config: DNSSECConfig): any;
|
|
73
|
+
generateKSKCF(ksk: KSK): any;
|
|
74
|
+
clear(): void;
|
|
75
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Route53 Resolver manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const route53ResolverManager: Route53ResolverManager;
|
|
5
|
+
/**
|
|
6
|
+
* Route53 Resolver
|
|
7
|
+
* DNS firewall, resolver rules, and endpoints
|
|
8
|
+
*/
|
|
9
|
+
export declare interface ResolverEndpoint {
|
|
10
|
+
id: string
|
|
11
|
+
name: string
|
|
12
|
+
direction: 'INBOUND' | 'OUTBOUND'
|
|
13
|
+
ipAddresses: ResolverIP[]
|
|
14
|
+
securityGroupIds: string[]
|
|
15
|
+
status: 'CREATING' | 'OPERATIONAL' | 'UPDATING' | 'DELETING' | 'ACTION_NEEDED'
|
|
16
|
+
}
|
|
17
|
+
export declare interface ResolverIP {
|
|
18
|
+
subnetId: string
|
|
19
|
+
ip?: string
|
|
20
|
+
ipv6?: string
|
|
21
|
+
}
|
|
22
|
+
export declare interface ResolverRule {
|
|
23
|
+
id: string
|
|
24
|
+
name: string
|
|
25
|
+
ruleType: 'FORWARD' | 'SYSTEM' | 'RECURSIVE'
|
|
26
|
+
domainName: string
|
|
27
|
+
targetIps?: TargetIP[]
|
|
28
|
+
resolverEndpointId?: string
|
|
29
|
+
status: 'COMPLETE' | 'CREATING' | 'UPDATING' | 'DELETING' | 'FAILED'
|
|
30
|
+
}
|
|
31
|
+
export declare interface TargetIP {
|
|
32
|
+
ip: string
|
|
33
|
+
port?: number
|
|
34
|
+
}
|
|
35
|
+
export declare interface DNSFirewall {
|
|
36
|
+
id: string
|
|
37
|
+
name: string
|
|
38
|
+
firewallRuleGroupAssociations: FirewallRuleGroupAssociation[]
|
|
39
|
+
}
|
|
40
|
+
export declare interface FirewallRuleGroupAssociation {
|
|
41
|
+
id: string
|
|
42
|
+
vpcId: string
|
|
43
|
+
firewallRuleGroupId: string
|
|
44
|
+
priority: number
|
|
45
|
+
mutationProtection: 'ENABLED' | 'DISABLED'
|
|
46
|
+
status: 'COMPLETE' | 'CREATING' | 'UPDATING' | 'DELETING'
|
|
47
|
+
}
|
|
48
|
+
export declare interface FirewallRuleGroup {
|
|
49
|
+
id: string
|
|
50
|
+
name: string
|
|
51
|
+
rules: FirewallRule[]
|
|
52
|
+
shareStatus: 'NOT_SHARED' | 'SHARED_WITH_ME' | 'SHARED_BY_ME'
|
|
53
|
+
}
|
|
54
|
+
export declare interface FirewallRule {
|
|
55
|
+
id: string
|
|
56
|
+
name: string
|
|
57
|
+
priority: number
|
|
58
|
+
action: 'ALLOW' | 'BLOCK' | 'ALERT'
|
|
59
|
+
blockResponse?: 'NODATA' | 'NXDOMAIN' | 'OVERRIDE'
|
|
60
|
+
blockOverrideDomain?: string
|
|
61
|
+
blockOverrideTTL?: number
|
|
62
|
+
firewallDomainListId: string
|
|
63
|
+
}
|
|
64
|
+
export declare interface FirewallDomainList {
|
|
65
|
+
id: string
|
|
66
|
+
name: string
|
|
67
|
+
domains: string[]
|
|
68
|
+
status: 'COMPLETE' | 'CREATING' | 'UPDATING' | 'DELETING'
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Route53 Resolver manager
|
|
72
|
+
*/
|
|
73
|
+
export declare class Route53ResolverManager {
|
|
74
|
+
private endpoints: Map<string, ResolverEndpoint>;
|
|
75
|
+
private rules: Map<string, ResolverRule>;
|
|
76
|
+
private firewalls: Map<string, DNSFirewall>;
|
|
77
|
+
private ruleGroups: Map<string, FirewallRuleGroup>;
|
|
78
|
+
private domainLists: Map<string, FirewallDomainList>;
|
|
79
|
+
private endpointCounter: any;
|
|
80
|
+
private ruleCounter: any;
|
|
81
|
+
private firewallCounter: any;
|
|
82
|
+
private ruleGroupCounter: any;
|
|
83
|
+
private domainListCounter: any;
|
|
84
|
+
createResolverEndpoint(endpoint: Omit<ResolverEndpoint, 'id' | 'status'>): ResolverEndpoint;
|
|
85
|
+
createInboundEndpoint(options: {
|
|
86
|
+
name: string
|
|
87
|
+
subnetIds: string[]
|
|
88
|
+
securityGroupIds: string[]
|
|
89
|
+
}): ResolverEndpoint;
|
|
90
|
+
createOutboundEndpoint(options: {
|
|
91
|
+
name: string
|
|
92
|
+
subnetIds: string[]
|
|
93
|
+
securityGroupIds: string[]
|
|
94
|
+
}): ResolverEndpoint;
|
|
95
|
+
createResolverRule(rule: Omit<ResolverRule, 'id' | 'status'>): ResolverRule;
|
|
96
|
+
createForwardRule(options: {
|
|
97
|
+
name: string
|
|
98
|
+
domainName: string
|
|
99
|
+
targetIps: TargetIP[]
|
|
100
|
+
resolverEndpointId: string
|
|
101
|
+
}): ResolverRule;
|
|
102
|
+
createSystemRule(options: {
|
|
103
|
+
name: string
|
|
104
|
+
domainName: string
|
|
105
|
+
}): ResolverRule;
|
|
106
|
+
createFirewallDomainList(options: {
|
|
107
|
+
name: string
|
|
108
|
+
domains: string[]
|
|
109
|
+
}): FirewallDomainList;
|
|
110
|
+
createFirewallRuleGroup(options: {
|
|
111
|
+
name: string
|
|
112
|
+
rules: Omit<FirewallRule, 'id'>[]
|
|
113
|
+
}): FirewallRuleGroup;
|
|
114
|
+
createBlockRule(options: {
|
|
115
|
+
name: string
|
|
116
|
+
priority: number
|
|
117
|
+
domainListId: string
|
|
118
|
+
blockResponse?: 'NODATA' | 'NXDOMAIN' | 'OVERRIDE'
|
|
119
|
+
blockOverrideDomain?: string
|
|
120
|
+
}): FirewallRuleGroup;
|
|
121
|
+
createAllowRule(options: {
|
|
122
|
+
name: string
|
|
123
|
+
priority: number
|
|
124
|
+
domainListId: string
|
|
125
|
+
}): FirewallRuleGroup;
|
|
126
|
+
createDNSFirewall(options: {
|
|
127
|
+
name: string
|
|
128
|
+
vpcId: string
|
|
129
|
+
ruleGroupAssociations: Array<{
|
|
130
|
+
firewallRuleGroupId: string
|
|
131
|
+
priority: number
|
|
132
|
+
mutationProtection?: 'ENABLED' | 'DISABLED'
|
|
133
|
+
}>
|
|
134
|
+
}): DNSFirewall;
|
|
135
|
+
createMalwareProtectionFirewall(options: {
|
|
136
|
+
name: string
|
|
137
|
+
vpcId: string
|
|
138
|
+
maliciousDomains: string[]
|
|
139
|
+
}): DNSFirewall;
|
|
140
|
+
getEndpoint(id: string): ResolverEndpoint | undefined;
|
|
141
|
+
listEndpoints(direction?: 'INBOUND' | 'OUTBOUND'): ResolverEndpoint[];
|
|
142
|
+
getRule(id: string): ResolverRule | undefined;
|
|
143
|
+
listRules(): ResolverRule[];
|
|
144
|
+
getFirewall(id: string): DNSFirewall | undefined;
|
|
145
|
+
listFirewalls(): DNSFirewall[];
|
|
146
|
+
generateResolverEndpointCF(endpoint: ResolverEndpoint): any;
|
|
147
|
+
generateResolverRuleCF(rule: ResolverRule): any;
|
|
148
|
+
generateFirewallRuleGroupCF(ruleGroup: FirewallRuleGroup): any;
|
|
149
|
+
clear(): void;
|
|
150
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Route53 routing manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const route53RoutingManager: Route53RoutingManager;
|
|
5
|
+
/**
|
|
6
|
+
* Route53 Advanced Routing
|
|
7
|
+
* Health-based, geolocation, weighted, failover, and latency-based routing
|
|
8
|
+
*/
|
|
9
|
+
export declare interface RoutingPolicy {
|
|
10
|
+
id: string
|
|
11
|
+
name: string
|
|
12
|
+
type: 'simple' | 'weighted' | 'latency' | 'failover' | 'geolocation' | 'geoproximity' | 'multivalue'
|
|
13
|
+
recordSetId?: string
|
|
14
|
+
}
|
|
15
|
+
export declare interface WeightedRoutingPolicy extends RoutingPolicy {
|
|
16
|
+
type: 'weighted'
|
|
17
|
+
weight: number
|
|
18
|
+
setIdentifier: string
|
|
19
|
+
healthCheckId?: string
|
|
20
|
+
}
|
|
21
|
+
export declare interface LatencyRoutingPolicy extends RoutingPolicy {
|
|
22
|
+
type: 'latency'
|
|
23
|
+
region: string
|
|
24
|
+
setIdentifier: string
|
|
25
|
+
healthCheckId?: string
|
|
26
|
+
}
|
|
27
|
+
export declare interface FailoverRoutingPolicy extends RoutingPolicy {
|
|
28
|
+
type: 'failover'
|
|
29
|
+
failoverType: 'PRIMARY' | 'SECONDARY'
|
|
30
|
+
setIdentifier: string
|
|
31
|
+
healthCheckId: string
|
|
32
|
+
}
|
|
33
|
+
export declare interface GeolocationRoutingPolicy extends RoutingPolicy {
|
|
34
|
+
type: 'geolocation'
|
|
35
|
+
continent?: string
|
|
36
|
+
country?: string
|
|
37
|
+
subdivision?: string
|
|
38
|
+
setIdentifier: string
|
|
39
|
+
healthCheckId?: string
|
|
40
|
+
}
|
|
41
|
+
export declare interface GeoproximityRoutingPolicy extends RoutingPolicy {
|
|
42
|
+
type: 'geoproximity'
|
|
43
|
+
coordinates?: {
|
|
44
|
+
latitude: number
|
|
45
|
+
longitude: number
|
|
46
|
+
}
|
|
47
|
+
awsRegion?: string
|
|
48
|
+
bias?: number
|
|
49
|
+
setIdentifier: string
|
|
50
|
+
healthCheckId?: string
|
|
51
|
+
}
|
|
52
|
+
export declare interface HealthCheck {
|
|
53
|
+
id: string
|
|
54
|
+
name: string
|
|
55
|
+
type: 'http' | 'https' | 'tcp' | 'calculated' | 'cloudwatch_metric'
|
|
56
|
+
resourcePath?: string
|
|
57
|
+
fullyQualifiedDomainName?: string
|
|
58
|
+
ipAddress?: string
|
|
59
|
+
port?: number
|
|
60
|
+
requestInterval: number
|
|
61
|
+
failureThreshold: number
|
|
62
|
+
healthCheckStatus: 'Healthy' | 'Unhealthy' | 'Unknown'
|
|
63
|
+
measureLatency?: boolean
|
|
64
|
+
enableSNI?: boolean
|
|
65
|
+
}
|
|
66
|
+
export declare interface CalculatedHealthCheck extends HealthCheck {
|
|
67
|
+
type: 'calculated'
|
|
68
|
+
childHealthChecks: string[]
|
|
69
|
+
healthThreshold: number
|
|
70
|
+
}
|
|
71
|
+
export declare interface TrafficPolicy {
|
|
72
|
+
id: string
|
|
73
|
+
name: string
|
|
74
|
+
version: number
|
|
75
|
+
document: TrafficPolicyDocument
|
|
76
|
+
}
|
|
77
|
+
export declare interface TrafficPolicyDocument {
|
|
78
|
+
recordType: 'A' | 'AAAA' | 'CNAME'
|
|
79
|
+
startRule: string
|
|
80
|
+
endpoints: Record<string, TrafficPolicyEndpoint>
|
|
81
|
+
rules: Record<string, TrafficPolicyRule>
|
|
82
|
+
}
|
|
83
|
+
export declare interface TrafficPolicyEndpoint {
|
|
84
|
+
type: 'value' | 'cloudfront' | 'elastic_load_balancer' | 's3_website'
|
|
85
|
+
value?: string
|
|
86
|
+
region?: string
|
|
87
|
+
}
|
|
88
|
+
export declare interface TrafficPolicyRule {
|
|
89
|
+
ruleType: 'failover' | 'geoproximity' | 'latency' | 'weighted' | 'multivalue'
|
|
90
|
+
primary?: string
|
|
91
|
+
secondary?: string
|
|
92
|
+
locations?: Array<{
|
|
93
|
+
endpointReference: string
|
|
94
|
+
region?: string
|
|
95
|
+
latitude?: number
|
|
96
|
+
longitude?: number
|
|
97
|
+
bias?: number
|
|
98
|
+
}>
|
|
99
|
+
items?: Array<{
|
|
100
|
+
endpointReference: string
|
|
101
|
+
weight?: number
|
|
102
|
+
}>
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Route53 routing policy manager
|
|
106
|
+
*/
|
|
107
|
+
export declare class Route53RoutingManager {
|
|
108
|
+
private policies: Map<string, RoutingPolicy>;
|
|
109
|
+
private healthChecks: Map<string, HealthCheck>;
|
|
110
|
+
private trafficPolicies: Map<string, TrafficPolicy>;
|
|
111
|
+
private policyCounter: any;
|
|
112
|
+
private healthCheckCounter: any;
|
|
113
|
+
private trafficPolicyCounter: any;
|
|
114
|
+
createWeightedPolicy(options: {
|
|
115
|
+
name: string
|
|
116
|
+
weight: number
|
|
117
|
+
setIdentifier: string
|
|
118
|
+
healthCheckId?: string
|
|
119
|
+
}): WeightedRoutingPolicy;
|
|
120
|
+
createLatencyPolicy(options: {
|
|
121
|
+
name: string
|
|
122
|
+
region: string
|
|
123
|
+
setIdentifier: string
|
|
124
|
+
healthCheckId?: string
|
|
125
|
+
}): LatencyRoutingPolicy;
|
|
126
|
+
createFailoverPolicy(options: {
|
|
127
|
+
name: string
|
|
128
|
+
failoverType: 'PRIMARY' | 'SECONDARY'
|
|
129
|
+
setIdentifier: string
|
|
130
|
+
healthCheckId: string
|
|
131
|
+
}): FailoverRoutingPolicy;
|
|
132
|
+
createGeolocationPolicy(options: {
|
|
133
|
+
name: string
|
|
134
|
+
continent?: string
|
|
135
|
+
country?: string
|
|
136
|
+
subdivision?: string
|
|
137
|
+
setIdentifier: string
|
|
138
|
+
healthCheckId?: string
|
|
139
|
+
}): GeolocationRoutingPolicy;
|
|
140
|
+
createGeoproximityPolicy(options: {
|
|
141
|
+
name: string
|
|
142
|
+
coordinates?: {
|
|
143
|
+
latitude: number
|
|
144
|
+
longitude: number
|
|
145
|
+
}
|
|
146
|
+
awsRegion?: string
|
|
147
|
+
bias?: number
|
|
148
|
+
setIdentifier: string
|
|
149
|
+
healthCheckId?: string
|
|
150
|
+
}): GeoproximityRoutingPolicy;
|
|
151
|
+
createHTTPHealthCheck(options: {
|
|
152
|
+
name: string
|
|
153
|
+
resourcePath: string
|
|
154
|
+
fullyQualifiedDomainName?: string
|
|
155
|
+
ipAddress?: string
|
|
156
|
+
port?: number
|
|
157
|
+
requestInterval?: number
|
|
158
|
+
failureThreshold?: number
|
|
159
|
+
enableSNI?: boolean
|
|
160
|
+
}): HealthCheck;
|
|
161
|
+
createTCPHealthCheck(options: {
|
|
162
|
+
name: string
|
|
163
|
+
ipAddress: string
|
|
164
|
+
port: number
|
|
165
|
+
requestInterval?: number
|
|
166
|
+
failureThreshold?: number
|
|
167
|
+
}): HealthCheck;
|
|
168
|
+
createCalculatedHealthCheck(options: {
|
|
169
|
+
name: string
|
|
170
|
+
childHealthChecks: string[]
|
|
171
|
+
healthThreshold: number
|
|
172
|
+
}): CalculatedHealthCheck;
|
|
173
|
+
createTrafficPolicy(policy: Omit<TrafficPolicy, 'id' | 'version'>): TrafficPolicy;
|
|
174
|
+
createFailoverTrafficPolicy(options: {
|
|
175
|
+
name: string
|
|
176
|
+
primaryEndpoint: string
|
|
177
|
+
secondaryEndpoint: string
|
|
178
|
+
recordType?: 'A' | 'AAAA' | 'CNAME'
|
|
179
|
+
}): TrafficPolicy;
|
|
180
|
+
createGeoproximityTrafficPolicy(options: {
|
|
181
|
+
name: string
|
|
182
|
+
locations: Array<{
|
|
183
|
+
endpoint: string
|
|
184
|
+
region?: string
|
|
185
|
+
latitude?: number
|
|
186
|
+
longitude?: number
|
|
187
|
+
bias?: number
|
|
188
|
+
}>
|
|
189
|
+
}): TrafficPolicy;
|
|
190
|
+
getPolicy(id: string): RoutingPolicy | undefined;
|
|
191
|
+
listPolicies(): RoutingPolicy[];
|
|
192
|
+
getHealthCheck(id: string): HealthCheck | undefined;
|
|
193
|
+
listHealthChecks(): HealthCheck[];
|
|
194
|
+
getHealthCheckStatus(id: string): 'Healthy' | 'Unhealthy' | 'Unknown';
|
|
195
|
+
generateHealthCheckCF(healthCheck: HealthCheck): any;
|
|
196
|
+
generateWeightedRecordSetCF(options: {
|
|
197
|
+
hostedZoneId: string
|
|
198
|
+
name: string
|
|
199
|
+
type: 'A' | 'AAAA' | 'CNAME'
|
|
200
|
+
ttl: number
|
|
201
|
+
resourceRecords: string[]
|
|
202
|
+
weight: number
|
|
203
|
+
setIdentifier: string
|
|
204
|
+
healthCheckId?: string
|
|
205
|
+
}): any;
|
|
206
|
+
generateFailoverRecordSetCF(options: {
|
|
207
|
+
hostedZoneId: string
|
|
208
|
+
name: string
|
|
209
|
+
type: 'A' | 'AAAA' | 'CNAME'
|
|
210
|
+
ttl: number
|
|
211
|
+
resourceRecords: string[]
|
|
212
|
+
failover: 'PRIMARY' | 'SECONDARY'
|
|
213
|
+
setIdentifier: string
|
|
214
|
+
healthCheckId?: string
|
|
215
|
+
}): any;
|
|
216
|
+
clear(): void;
|
|
217
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email Analytics
|
|
3
|
+
*
|
|
4
|
+
* Provides open tracking, click tracking, and email metrics
|
|
5
|
+
*/
|
|
6
|
+
export declare interface EmailAnalytics {
|
|
7
|
+
messageId: string
|
|
8
|
+
sent: boolean
|
|
9
|
+
sentAt?: string
|
|
10
|
+
delivered: boolean
|
|
11
|
+
deliveredAt?: string
|
|
12
|
+
opened: boolean
|
|
13
|
+
openedAt?: string
|
|
14
|
+
openCount: number
|
|
15
|
+
clicked: boolean
|
|
16
|
+
clickedAt?: string
|
|
17
|
+
clickCount: number
|
|
18
|
+
clicks: ClickEvent[]
|
|
19
|
+
bounced: boolean
|
|
20
|
+
bouncedAt?: string
|
|
21
|
+
bounceType?: string
|
|
22
|
+
complained: boolean
|
|
23
|
+
complainedAt?: string
|
|
24
|
+
unsubscribed: boolean
|
|
25
|
+
unsubscribedAt?: string
|
|
26
|
+
}
|
|
27
|
+
export declare interface ClickEvent {
|
|
28
|
+
url: string
|
|
29
|
+
clickedAt: string
|
|
30
|
+
userAgent?: string
|
|
31
|
+
ipAddress?: string
|
|
32
|
+
}
|
|
33
|
+
export declare interface EmailMetrics {
|
|
34
|
+
period: string
|
|
35
|
+
sent: number
|
|
36
|
+
delivered: number
|
|
37
|
+
opened: number
|
|
38
|
+
clicked: number
|
|
39
|
+
bounced: number
|
|
40
|
+
complained: number
|
|
41
|
+
unsubscribed: number
|
|
42
|
+
deliveryRate: number
|
|
43
|
+
openRate: number
|
|
44
|
+
clickRate: number
|
|
45
|
+
bounceRate: number
|
|
46
|
+
complaintRate: number
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Email Analytics Module
|
|
50
|
+
*/
|
|
51
|
+
export declare class EmailAnalyticsModule {
|
|
52
|
+
static TrackingPixelLambdaCode: any;
|
|
53
|
+
static ClickTrackingLambdaCode: any;
|
|
54
|
+
static SesEventProcessorCode: any;
|
|
55
|
+
static createAnalyticsTable(config: { slug: string }): Record<string, any>;
|
|
56
|
+
static createTrackingPixelLambda(config: {
|
|
57
|
+
slug: string
|
|
58
|
+
roleArn: string
|
|
59
|
+
analyticsTable: string
|
|
60
|
+
}): Record<string, any>;
|
|
61
|
+
static createClickTrackingLambda(config: {
|
|
62
|
+
slug: string
|
|
63
|
+
roleArn: string
|
|
64
|
+
analyticsTable: string
|
|
65
|
+
}): Record<string, any>;
|
|
66
|
+
static createSesEventProcessorLambda(config: {
|
|
67
|
+
slug: string
|
|
68
|
+
roleArn: string
|
|
69
|
+
analyticsTable: string
|
|
70
|
+
}): Record<string, any>;
|
|
71
|
+
static injectTracking(params: {
|
|
72
|
+
html: string
|
|
73
|
+
messageId: string
|
|
74
|
+
trackingDomain: string
|
|
75
|
+
}): string;
|
|
76
|
+
static calculateMetrics(analytics: EmailAnalytics[]): EmailMetrics;
|
|
77
|
+
}
|
|
78
|
+
export default EmailAnalyticsModule;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email Rules and Automation
|
|
3
|
+
*
|
|
4
|
+
* Provides email filtering, routing, and automation
|
|
5
|
+
*/
|
|
6
|
+
export declare interface EmailRule {
|
|
7
|
+
id: string
|
|
8
|
+
name: string
|
|
9
|
+
enabled: boolean
|
|
10
|
+
priority: number
|
|
11
|
+
conditions: RuleCondition[]
|
|
12
|
+
conditionOperator: 'and' | 'or'
|
|
13
|
+
actions: RuleAction[]
|
|
14
|
+
createdAt: string
|
|
15
|
+
updatedAt: string
|
|
16
|
+
}
|
|
17
|
+
export declare interface RuleCondition {
|
|
18
|
+
field: 'from' | 'to' | 'subject' | 'body' | 'headers' | 'attachments' | 'size'
|
|
19
|
+
operator: 'contains' | 'not-contains' | 'equals' | 'not-equals' | 'starts-with' | 'ends-with' | 'regex' | 'greater-than' | 'less-than'
|
|
20
|
+
value: string
|
|
21
|
+
caseSensitive?: boolean
|
|
22
|
+
}
|
|
23
|
+
export declare interface RuleAction {
|
|
24
|
+
type: 'move' | 'copy' | 'delete' | 'label' | 'forward' | 'reply' | 'mark-read' | 'mark-starred' | 'webhook' | 'lambda'
|
|
25
|
+
params: Record<string, any>
|
|
26
|
+
}
|
|
27
|
+
export declare interface AutomationWorkflow {
|
|
28
|
+
id: string
|
|
29
|
+
name: string
|
|
30
|
+
trigger: WorkflowTrigger
|
|
31
|
+
steps: WorkflowStep[]
|
|
32
|
+
enabled: boolean
|
|
33
|
+
}
|
|
34
|
+
export declare interface WorkflowTrigger {
|
|
35
|
+
type: 'email-received' | 'email-sent' | 'schedule' | 'webhook'
|
|
36
|
+
conditions?: RuleCondition[]
|
|
37
|
+
}
|
|
38
|
+
export declare interface WorkflowStep {
|
|
39
|
+
id: string
|
|
40
|
+
type: 'delay' | 'condition' | 'action' | 'loop'
|
|
41
|
+
config: Record<string, any>
|
|
42
|
+
next?: string
|
|
43
|
+
onTrue?: string
|
|
44
|
+
onFalse?: string
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Email Rules Module
|
|
48
|
+
*/
|
|
49
|
+
export declare class EmailRules {
|
|
50
|
+
static RuleProcessorCode: any;
|
|
51
|
+
static createRulesTable(config: { slug: string }): Record<string, any>;
|
|
52
|
+
static createRuleProcessorLambda(config: {
|
|
53
|
+
slug: string
|
|
54
|
+
roleArn: string
|
|
55
|
+
emailBucket: string
|
|
56
|
+
rulesTable: string
|
|
57
|
+
}): Record<string, any>;
|
|
58
|
+
static readonly RuleTemplates: any;
|
|
59
|
+
}
|
|
60
|
+
export default EmailRules;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email Scheduling (Send Later)
|
|
3
|
+
*
|
|
4
|
+
* Provides scheduled email sending functionality
|
|
5
|
+
*/
|
|
6
|
+
export declare interface ScheduledEmail {
|
|
7
|
+
id: string
|
|
8
|
+
email: {
|
|
9
|
+
from: string
|
|
10
|
+
to: string | string[]
|
|
11
|
+
cc?: string[]
|
|
12
|
+
bcc?: string[]
|
|
13
|
+
subject: string
|
|
14
|
+
html?: string
|
|
15
|
+
text?: string
|
|
16
|
+
attachments?: Array<{
|
|
17
|
+
filename: string
|
|
18
|
+
content: string
|
|
19
|
+
contentType?: string
|
|
20
|
+
}>
|
|
21
|
+
}
|
|
22
|
+
scheduledFor: string
|
|
23
|
+
timezone?: string
|
|
24
|
+
status: 'pending' | 'sent' | 'failed' | 'cancelled'
|
|
25
|
+
createdAt: string
|
|
26
|
+
sentAt?: string
|
|
27
|
+
error?: string
|
|
28
|
+
retryCount?: number
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Email Scheduling Module
|
|
32
|
+
*/
|
|
33
|
+
export declare class EmailScheduling {
|
|
34
|
+
static SchedulerLambdaCode: any;
|
|
35
|
+
static createSchedulerLambda(config: {
|
|
36
|
+
slug: string
|
|
37
|
+
roleArn: string
|
|
38
|
+
emailBucket: string
|
|
39
|
+
}): Record<string, any>;
|
|
40
|
+
static createSchedulerRule(config: {
|
|
41
|
+
slug: string
|
|
42
|
+
lambdaArn: string
|
|
43
|
+
scheduleExpression?: string
|
|
44
|
+
}): Record<string, any>;
|
|
45
|
+
static scheduleEmail(params: {
|
|
46
|
+
s3Client: any
|
|
47
|
+
bucket: string
|
|
48
|
+
email: ScheduledEmail['email']
|
|
49
|
+
scheduledFor: Date | string
|
|
50
|
+
timezone?: string
|
|
51
|
+
}): Promise<ScheduledEmail>;
|
|
52
|
+
static cancelScheduledEmail(params: {
|
|
53
|
+
s3Client: any
|
|
54
|
+
bucket: string
|
|
55
|
+
id: string
|
|
56
|
+
}): Promise<boolean>;
|
|
57
|
+
static listScheduledEmails(params: {
|
|
58
|
+
s3Client: any
|
|
59
|
+
bucket: string
|
|
60
|
+
status?: ScheduledEmail['status']
|
|
61
|
+
}): Promise<ScheduledEmail[]>;
|
|
62
|
+
}
|
|
63
|
+
export default EmailScheduling;
|