@ts-cloud/core 0.2.2 → 0.2.4

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.
Files changed (226) hide show
  1. package/dist/advanced-features.test.d.ts +1 -0
  2. package/dist/aws/cloudformation.d.ts +136 -0
  3. package/dist/aws/cloudfront.d.ts +45 -0
  4. package/dist/aws/credentials.d.ts +77 -0
  5. package/dist/aws/credentials.test.d.ts +4 -0
  6. package/dist/aws/index.d.ts +10 -0
  7. package/dist/aws/s3.d.ts +256 -0
  8. package/dist/aws/s3.test.d.ts +4 -0
  9. package/dist/aws/signature.d.ts +142 -0
  10. package/dist/aws/signature.test.d.ts +4 -0
  11. package/dist/backup/disaster-recovery.d.ts +140 -0
  12. package/dist/backup/disaster-recovery.test.d.ts +1 -0
  13. package/dist/backup/index.d.ts +8 -0
  14. package/dist/backup/manager.d.ts +172 -0
  15. package/dist/backup/manager.test.d.ts +1 -0
  16. package/dist/cicd/circleci.d.ts +50 -0
  17. package/dist/cicd/github-actions.d.ts +62 -0
  18. package/dist/cicd/gitlab-ci.d.ts +50 -0
  19. package/dist/cicd/index.d.ts +7 -0
  20. package/dist/cli/history.d.ts +137 -0
  21. package/dist/cli/index.d.ts +9 -0
  22. package/dist/cli/progress.d.ts +193 -0
  23. package/dist/cli/repl.d.ts +148 -0
  24. package/dist/cli/suggestions.d.ts +74 -0
  25. package/dist/cli/table.d.ts +73 -0
  26. package/dist/cli/table.test.d.ts +1 -0
  27. package/dist/cloudformation/builder.d.ts +93 -0
  28. package/dist/cloudformation/builder.test.d.ts +4 -0
  29. package/dist/cloudformation/builders/api-gateway.d.ts +30 -0
  30. package/dist/cloudformation/builders/cache.d.ts +35 -0
  31. package/dist/cloudformation/builders/cdn.d.ts +34 -0
  32. package/dist/cloudformation/builders/compute.d.ts +68 -0
  33. package/dist/cloudformation/builders/database.d.ts +61 -0
  34. package/dist/cloudformation/builders/functions.d.ts +32 -0
  35. package/dist/cloudformation/builders/messaging.d.ts +17 -0
  36. package/dist/cloudformation/builders/monitoring.d.ts +39 -0
  37. package/dist/cloudformation/builders/network.d.ts +14 -0
  38. package/dist/cloudformation/builders/queue.d.ts +16 -0
  39. package/dist/cloudformation/builders/security.d.ts +31 -0
  40. package/dist/cloudformation/builders/storage.d.ts +36 -0
  41. package/dist/cloudformation/index.d.ts +10 -0
  42. package/dist/cloudformation/types.d.ts +200 -0
  43. package/dist/compliance/aws-config.d.ts +175 -0
  44. package/dist/compliance/cloudtrail.d.ts +132 -0
  45. package/dist/compliance/compliance.test.d.ts +1 -0
  46. package/dist/compliance/guardduty.d.ts +176 -0
  47. package/dist/compliance/index.d.ts +12 -0
  48. package/dist/compliance/security-hub.d.ts +178 -0
  49. package/dist/containers/build-optimization.d.ts +155 -0
  50. package/dist/containers/containers.test.d.ts +1 -0
  51. package/dist/containers/image-scanning.d.ts +144 -0
  52. package/dist/containers/index.d.ts +8 -0
  53. package/dist/containers/registry.d.ts +129 -0
  54. package/dist/containers/service-mesh.d.ts +254 -0
  55. package/dist/database/database.test.d.ts +1 -0
  56. package/dist/database/index.d.ts +8 -0
  57. package/dist/database/migrations.d.ts +153 -0
  58. package/dist/database/performance.d.ts +219 -0
  59. package/dist/database/replicas.d.ts +218 -0
  60. package/dist/database/users.d.ts +165 -0
  61. package/dist/dependency-graph.d.ts +37 -0
  62. package/dist/deployment/ab-testing.d.ts +165 -0
  63. package/dist/deployment/blue-green.d.ts +140 -0
  64. package/dist/deployment/canary.d.ts +165 -0
  65. package/dist/deployment/deployment.test.d.ts +1 -0
  66. package/dist/deployment/index.d.ts +12 -0
  67. package/dist/deployment/progressive.d.ts +50 -0
  68. package/dist/dns/dns.test.d.ts +1 -0
  69. package/dist/dns/dnssec.d.ts +120 -0
  70. package/dist/dns/index.d.ts +7 -0
  71. package/dist/dns/resolver.d.ts +216 -0
  72. package/dist/dns/routing.d.ts +277 -0
  73. package/dist/email/advanced/analytics.d.ts +107 -0
  74. package/dist/email/advanced/index.d.ts +10 -0
  75. package/dist/email/advanced/rules.d.ts +131 -0
  76. package/dist/email/advanced/scheduling.d.ts +81 -0
  77. package/dist/email/advanced/search.d.ts +91 -0
  78. package/dist/email/advanced/shared-mailboxes.d.ts +109 -0
  79. package/dist/email/advanced/templates.d.ts +95 -0
  80. package/dist/email/advanced/threading.d.ts +65 -0
  81. package/dist/email/analytics.d.ts +189 -0
  82. package/dist/email/bounce-handling.d.ts +171 -0
  83. package/dist/email/email.test.d.ts +1 -0
  84. package/dist/email/handlers/__tests__/inbound.test.d.ts +1 -0
  85. package/dist/email/handlers/__tests__/outbound.test.d.ts +1 -0
  86. package/dist/email/handlers/converter.d.ts +11 -0
  87. package/dist/email/handlers/feedback.d.ts +11 -0
  88. package/dist/email/handlers/inbound.d.ts +13 -0
  89. package/dist/email/handlers/outbound.d.ts +13 -0
  90. package/dist/email/index.d.ts +10 -0
  91. package/dist/email/reputation.d.ts +133 -0
  92. package/dist/email/templates.d.ts +124 -0
  93. package/dist/errors/index.d.ts +177 -0
  94. package/dist/errors/index.test.d.ts +4 -0
  95. package/dist/health-checks/index.d.ts +35 -0
  96. package/dist/index.d.ts +15 -256
  97. package/dist/index.js +228 -80
  98. package/dist/intrinsic-functions.d.ts +77 -0
  99. package/dist/lambda/concurrency.d.ts +146 -0
  100. package/dist/lambda/destinations.d.ts +141 -0
  101. package/dist/lambda/dlq.d.ts +160 -0
  102. package/dist/lambda/index.d.ts +10 -0
  103. package/dist/lambda/lambda.test.d.ts +1 -0
  104. package/dist/lambda/layers.d.ts +117 -0
  105. package/dist/lambda/versions.d.ts +145 -0
  106. package/dist/lambda/vpc.d.ts +164 -0
  107. package/dist/local/config.d.ts +44 -0
  108. package/dist/local/index.d.ts +5 -0
  109. package/dist/local/mock-aws.d.ts +69 -0
  110. package/dist/modules/ai.d.ts +108 -0
  111. package/dist/modules/api.d.ts +157 -0
  112. package/dist/modules/auth.d.ts +262 -0
  113. package/dist/modules/cache.d.ts +108 -0
  114. package/dist/modules/cdn.d.ts +305 -0
  115. package/dist/modules/communication.d.ts +117 -0
  116. package/dist/modules/compute.d.ts +1376 -0
  117. package/dist/modules/database.d.ts +144 -0
  118. package/dist/modules/deployment.d.ts +372 -0
  119. package/dist/modules/dns.d.ts +143 -0
  120. package/dist/modules/email.d.ts +314 -0
  121. package/dist/modules/filesystem.d.ts +132 -0
  122. package/dist/modules/index.d.ts +31 -0
  123. package/dist/modules/messaging.d.ts +210 -0
  124. package/dist/modules/monitoring.d.ts +574 -0
  125. package/dist/modules/network.d.ts +148 -0
  126. package/dist/modules/parameter-store.d.ts +143 -0
  127. package/dist/modules/permissions.d.ts +245 -0
  128. package/dist/modules/phone.d.ts +125 -0
  129. package/dist/modules/queue.d.ts +411 -0
  130. package/dist/modules/redirects.d.ts +140 -0
  131. package/dist/modules/registry.d.ts +189 -0
  132. package/dist/modules/search.d.ts +135 -0
  133. package/dist/modules/secrets.d.ts +149 -0
  134. package/dist/modules/security.d.ts +219 -0
  135. package/dist/modules/sms.d.ts +130 -0
  136. package/dist/modules/storage.d.ts +344 -0
  137. package/dist/modules/workflow.d.ts +288 -0
  138. package/dist/multi-account/config.d.ts +166 -0
  139. package/dist/multi-account/index.d.ts +6 -0
  140. package/dist/multi-account/manager.d.ts +181 -0
  141. package/dist/multi-region/cross-region.d.ts +204 -0
  142. package/dist/multi-region/index.d.ts +7 -0
  143. package/dist/multi-region/manager.d.ts +136 -0
  144. package/dist/multi-region/regions.d.ts +98 -0
  145. package/dist/network-security/index.d.ts +55 -0
  146. package/dist/observability/index.d.ts +8 -0
  147. package/dist/observability/logs.d.ts +213 -0
  148. package/dist/observability/metrics.d.ts +187 -0
  149. package/dist/observability/observability.test.d.ts +1 -0
  150. package/dist/observability/synthetics.d.ts +189 -0
  151. package/dist/observability/xray.d.ts +193 -0
  152. package/dist/phone/advanced/analytics.d.ts +83 -0
  153. package/dist/phone/advanced/callbacks.d.ts +67 -0
  154. package/dist/phone/advanced/index.d.ts +7 -0
  155. package/dist/phone/advanced/ivr-builder.d.ts +130 -0
  156. package/dist/phone/advanced/recording.d.ts +62 -0
  157. package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +1 -0
  158. package/dist/phone/handlers/incoming-call.d.ts +10 -0
  159. package/dist/phone/handlers/missed-call.d.ts +9 -0
  160. package/dist/phone/handlers/voicemail.d.ts +10 -0
  161. package/dist/phone/index.d.ts +5 -0
  162. package/dist/presets/api-backend.d.ts +11 -0
  163. package/dist/presets/data-pipeline.d.ts +11 -0
  164. package/dist/presets/extend.d.ts +194 -0
  165. package/dist/presets/extend.test.d.ts +4 -0
  166. package/dist/presets/fullstack-app.d.ts +12 -0
  167. package/dist/presets/index.d.ts +13 -0
  168. package/dist/presets/jamstack.d.ts +12 -0
  169. package/dist/presets/microservices.d.ts +18 -0
  170. package/dist/presets/ml-api.d.ts +13 -0
  171. package/dist/presets/nodejs-server.d.ts +14 -0
  172. package/dist/presets/nodejs-serverless.d.ts +14 -0
  173. package/dist/presets/realtime-app.d.ts +11 -0
  174. package/dist/presets/static-site.d.ts +12 -0
  175. package/dist/presets/traditional-web-app.d.ts +16 -0
  176. package/dist/presets/wordpress.d.ts +12 -0
  177. package/dist/preview/github.d.ts +32 -0
  178. package/dist/preview/github.test.d.ts +1 -0
  179. package/dist/preview/index.d.ts +10 -0
  180. package/dist/preview/manager.d.ts +101 -0
  181. package/dist/preview/manager.test.d.ts +1 -0
  182. package/dist/preview/notifications.d.ts +89 -0
  183. package/dist/preview/notifications.test.d.ts +1 -0
  184. package/dist/queue/batch-processing.d.ts +138 -0
  185. package/dist/queue/dlq-monitoring.d.ts +143 -0
  186. package/dist/queue/fifo.d.ts +131 -0
  187. package/dist/queue/index.d.ts +8 -0
  188. package/dist/queue/management.d.ts +162 -0
  189. package/dist/queue/queue.test.d.ts +1 -0
  190. package/dist/resource-mgmt/index.d.ts +44 -0
  191. package/dist/resource-naming.d.ts +26 -0
  192. package/dist/s3/index.d.ts +227 -0
  193. package/dist/schema/index.d.ts +12 -0
  194. package/dist/security/certificate-manager.d.ts +184 -0
  195. package/dist/security/index.d.ts +8 -0
  196. package/dist/security/scanning.d.ts +196 -0
  197. package/dist/security/secrets-manager.d.ts +204 -0
  198. package/dist/security/secrets-rotation.d.ts +167 -0
  199. package/dist/security/security.test.d.ts +1 -0
  200. package/dist/sms/advanced/ab-testing.d.ts +74 -0
  201. package/dist/sms/advanced/analytics.d.ts +75 -0
  202. package/dist/sms/advanced/campaigns.d.ts +96 -0
  203. package/dist/sms/advanced/chatbot.d.ts +67 -0
  204. package/dist/sms/advanced/index.d.ts +9 -0
  205. package/dist/sms/advanced/link-tracking.d.ts +60 -0
  206. package/dist/sms/advanced/mms.d.ts +60 -0
  207. package/dist/sms/handlers/__tests__/send.test.d.ts +1 -0
  208. package/dist/sms/handlers/delivery-status.d.ts +10 -0
  209. package/dist/sms/handlers/receive.d.ts +10 -0
  210. package/dist/sms/handlers/send.d.ts +10 -0
  211. package/dist/sms/index.d.ts +5 -0
  212. package/dist/stack-diff.d.ts +38 -0
  213. package/dist/static-site/index.d.ts +49 -0
  214. package/dist/template-builder.d.ts +42 -0
  215. package/dist/template-validator.d.ts +28 -0
  216. package/dist/types.d.ts +2514 -0
  217. package/dist/utils/cache.d.ts +117 -0
  218. package/dist/utils/diff.d.ts +52 -0
  219. package/dist/utils/hash.d.ts +73 -0
  220. package/dist/utils/index.d.ts +7 -0
  221. package/dist/utils/parallel.d.ts +78 -0
  222. package/dist/validators/credentials.d.ts +30 -0
  223. package/dist/validators/credentials.test.d.ts +4 -0
  224. package/dist/validators/quotas.d.ts +64 -0
  225. package/dist/validators/quotas.test.d.ts +4 -0
  226. package/package.json +2 -2
@@ -0,0 +1,175 @@
1
+ /**
2
+ * AWS Config Rules
3
+ * Automated compliance checking and configuration management
4
+ */
5
+ export interface ConfigRule {
6
+ id: string;
7
+ name: string;
8
+ description: string;
9
+ source: 'AWS_MANAGED' | 'CUSTOM_LAMBDA';
10
+ identifier?: string;
11
+ lambdaFunctionArn?: string;
12
+ inputParameters?: Record<string, any>;
13
+ scope?: ConfigScope;
14
+ maxExecutionFrequency?: 'One_Hour' | 'Three_Hours' | 'Six_Hours' | 'Twelve_Hours' | 'TwentyFour_Hours';
15
+ }
16
+ export interface ConfigScope {
17
+ complianceResourceTypes?: string[];
18
+ tagKey?: string;
19
+ tagValue?: string;
20
+ }
21
+ export interface ConfigRecorder {
22
+ name: string;
23
+ roleArn: string;
24
+ recordingGroup?: RecordingGroup;
25
+ }
26
+ export interface RecordingGroup {
27
+ allSupported?: boolean;
28
+ includeGlobalResourceTypes?: boolean;
29
+ resourceTypes?: string[];
30
+ }
31
+ export interface DeliveryChannel {
32
+ name: string;
33
+ s3BucketName: string;
34
+ s3KeyPrefix?: string;
35
+ snsTopicArn?: string;
36
+ configSnapshotDeliveryProperties?: {
37
+ deliveryFrequency?: 'One_Hour' | 'Three_Hours' | 'Six_Hours' | 'Twelve_Hours' | 'TwentyFour_Hours';
38
+ };
39
+ }
40
+ /**
41
+ * AWS Config manager
42
+ */
43
+ export declare class AWSConfigManager {
44
+ private configRules;
45
+ private configRecorders;
46
+ private deliveryChannels;
47
+ private ruleCounter;
48
+ /**
49
+ * Create config recorder
50
+ */
51
+ createConfigRecorder(recorder: ConfigRecorder): ConfigRecorder;
52
+ /**
53
+ * Create delivery channel
54
+ */
55
+ createDeliveryChannel(channel: DeliveryChannel): DeliveryChannel;
56
+ /**
57
+ * Create config rule
58
+ */
59
+ createConfigRule(rule: Omit<ConfigRule, 'id'>): ConfigRule;
60
+ /**
61
+ * Create S3 bucket encryption rule
62
+ */
63
+ createS3EncryptionRule(): ConfigRule;
64
+ /**
65
+ * Create S3 bucket public access block rule
66
+ */
67
+ createS3PublicAccessBlockRule(): ConfigRule;
68
+ /**
69
+ * Create S3 bucket versioning rule
70
+ */
71
+ createS3VersioningRule(): ConfigRule;
72
+ /**
73
+ * Create RDS encryption rule
74
+ */
75
+ createRdsEncryptionRule(): ConfigRule;
76
+ /**
77
+ * Create RDS snapshot encryption rule
78
+ */
79
+ createRdsSnapshotEncryptionRule(): ConfigRule;
80
+ /**
81
+ * Create RDS backup rule
82
+ */
83
+ createRdsBackupRule(retentionPeriod?: number): ConfigRule;
84
+ /**
85
+ * Create EC2 instance profile rule
86
+ */
87
+ createEc2InstanceProfileRule(): ConfigRule;
88
+ /**
89
+ * Create EBS encryption rule
90
+ */
91
+ createEbsEncryptionRule(): ConfigRule;
92
+ /**
93
+ * Create IAM password policy rule
94
+ */
95
+ createIamPasswordPolicyRule(): ConfigRule;
96
+ /**
97
+ * Create IAM MFA rule
98
+ */
99
+ createIamMfaRule(): ConfigRule;
100
+ /**
101
+ * Create IAM root account MFA rule
102
+ */
103
+ createRootAccountMfaRule(): ConfigRule;
104
+ /**
105
+ * Create VPC flow logs rule
106
+ */
107
+ createVpcFlowLogsRule(): ConfigRule;
108
+ /**
109
+ * Create CloudTrail enabled rule
110
+ */
111
+ createCloudTrailEnabledRule(): ConfigRule;
112
+ /**
113
+ * Create CloudWatch alarm rule
114
+ */
115
+ createCloudWatchAlarmRule(): ConfigRule;
116
+ /**
117
+ * Create custom Lambda rule
118
+ */
119
+ createCustomLambdaRule(options: {
120
+ name: string;
121
+ description: string;
122
+ lambdaFunctionArn: string;
123
+ resourceTypes?: string[];
124
+ maxExecutionFrequency?: ConfigRule['maxExecutionFrequency'];
125
+ inputParameters?: Record<string, any>;
126
+ }): ConfigRule;
127
+ /**
128
+ * Create compliance preset rules
129
+ */
130
+ createCompliancePreset(preset: 'hipaa' | 'pci-dss' | 'sox' | 'gdpr' | 'basic'): ConfigRule[];
131
+ /**
132
+ * Get config rule
133
+ */
134
+ getConfigRule(id: string): ConfigRule | undefined;
135
+ /**
136
+ * List config rules
137
+ */
138
+ listConfigRules(): ConfigRule[];
139
+ /**
140
+ * Get config recorder
141
+ */
142
+ getConfigRecorder(name: string): ConfigRecorder | undefined;
143
+ /**
144
+ * List config recorders
145
+ */
146
+ listConfigRecorders(): ConfigRecorder[];
147
+ /**
148
+ * Get delivery channel
149
+ */
150
+ getDeliveryChannel(name: string): DeliveryChannel | undefined;
151
+ /**
152
+ * List delivery channels
153
+ */
154
+ listDeliveryChannels(): DeliveryChannel[];
155
+ /**
156
+ * Generate CloudFormation for config rule
157
+ */
158
+ generateConfigRuleCF(rule: ConfigRule): any;
159
+ /**
160
+ * Generate CloudFormation for config recorder
161
+ */
162
+ generateConfigRecorderCF(recorder: ConfigRecorder): any;
163
+ /**
164
+ * Generate CloudFormation for delivery channel
165
+ */
166
+ generateDeliveryChannelCF(channel: DeliveryChannel): any;
167
+ /**
168
+ * Clear all data
169
+ */
170
+ clear(): void;
171
+ }
172
+ /**
173
+ * Global AWS Config manager instance
174
+ */
175
+ export declare const awsConfigManager: AWSConfigManager;
@@ -0,0 +1,132 @@
1
+ /**
2
+ * AWS CloudTrail Configuration
3
+ * API logging and auditing for security and compliance
4
+ */
5
+ export interface CloudTrailConfig {
6
+ id: string;
7
+ name: string;
8
+ s3BucketName: string;
9
+ s3KeyPrefix?: string;
10
+ includeGlobalServiceEvents?: boolean;
11
+ isMultiRegionTrail?: boolean;
12
+ enableLogFileValidation?: boolean;
13
+ cloudWatchLogsLogGroupArn?: string;
14
+ cloudWatchLogsRoleArn?: string;
15
+ snsTopicName?: string;
16
+ kmsKeyId?: string;
17
+ eventSelectors?: EventSelector[];
18
+ insightSelectors?: InsightSelector[];
19
+ advancedEventSelectors?: AdvancedEventSelector[];
20
+ }
21
+ export interface EventSelector {
22
+ readWriteType: 'ReadOnly' | 'WriteOnly' | 'All';
23
+ includeManagementEvents?: boolean;
24
+ dataResources?: DataResource[];
25
+ excludeManagementEventSources?: string[];
26
+ }
27
+ export interface DataResource {
28
+ type: string;
29
+ values: string[];
30
+ }
31
+ export interface InsightSelector {
32
+ insightType: 'ApiCallRateInsight' | 'ApiErrorRateInsight';
33
+ }
34
+ export interface AdvancedEventSelector {
35
+ name: string;
36
+ fieldSelectors: FieldSelector[];
37
+ }
38
+ export interface FieldSelector {
39
+ field: string;
40
+ equals?: string[];
41
+ startsWith?: string[];
42
+ endsWith?: string[];
43
+ notEquals?: string[];
44
+ notStartsWith?: string[];
45
+ notEndsWith?: string[];
46
+ }
47
+ /**
48
+ * CloudTrail manager
49
+ */
50
+ export declare class CloudTrailManager {
51
+ private trails;
52
+ private trailCounter;
53
+ /**
54
+ * Create CloudTrail
55
+ */
56
+ createTrail(trail: Omit<CloudTrailConfig, 'id'>): CloudTrailConfig;
57
+ /**
58
+ * Create organization trail
59
+ */
60
+ createOrganizationTrail(options: {
61
+ name: string;
62
+ s3BucketName: string;
63
+ kmsKeyId?: string;
64
+ cloudWatchLogsLogGroupArn?: string;
65
+ cloudWatchLogsRoleArn?: string;
66
+ }): CloudTrailConfig;
67
+ /**
68
+ * Create security audit trail
69
+ */
70
+ createSecurityAuditTrail(options: {
71
+ name: string;
72
+ s3BucketName: string;
73
+ kmsKeyId: string;
74
+ cloudWatchLogsLogGroupArn: string;
75
+ cloudWatchLogsRoleArn: string;
76
+ }): CloudTrailConfig;
77
+ /**
78
+ * Create data events trail (S3 and Lambda)
79
+ */
80
+ createDataEventsTrail(options: {
81
+ name: string;
82
+ s3BucketName: string;
83
+ s3DataBuckets?: string[];
84
+ lambdaFunctions?: string[];
85
+ }): CloudTrailConfig;
86
+ /**
87
+ * Create advanced event selectors trail
88
+ */
89
+ createAdvancedTrail(options: {
90
+ name: string;
91
+ s3BucketName: string;
92
+ selectors: AdvancedEventSelector[];
93
+ }): CloudTrailConfig;
94
+ /**
95
+ * Create read-only trail
96
+ */
97
+ createReadOnlyTrail(options: {
98
+ name: string;
99
+ s3BucketName: string;
100
+ }): CloudTrailConfig;
101
+ /**
102
+ * Create write-only trail
103
+ */
104
+ createWriteOnlyTrail(options: {
105
+ name: string;
106
+ s3BucketName: string;
107
+ }): CloudTrailConfig;
108
+ /**
109
+ * Get trail
110
+ */
111
+ getTrail(id: string): CloudTrailConfig | undefined;
112
+ /**
113
+ * List trails
114
+ */
115
+ listTrails(): CloudTrailConfig[];
116
+ /**
117
+ * Generate CloudFormation for trail
118
+ */
119
+ generateTrailCF(trail: CloudTrailConfig): any;
120
+ /**
121
+ * Generate CloudTrail bucket policy
122
+ */
123
+ generateBucketPolicy(bucketName: string, trailAccountIds: string[]): any;
124
+ /**
125
+ * Clear all data
126
+ */
127
+ clear(): void;
128
+ }
129
+ /**
130
+ * Global CloudTrail manager instance
131
+ */
132
+ export declare const cloudTrailManager: CloudTrailManager;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,176 @@
1
+ /**
2
+ * AWS GuardDuty
3
+ * Intelligent threat detection and continuous monitoring
4
+ */
5
+ export interface GuardDutyDetector {
6
+ id: string;
7
+ enable: boolean;
8
+ findingPublishingFrequency?: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'SIX_HOURS';
9
+ dataSources?: DataSourceConfigurations;
10
+ features?: DetectorFeature[];
11
+ }
12
+ export interface DataSourceConfigurations {
13
+ s3Logs?: {
14
+ enable: boolean;
15
+ };
16
+ kubernetes?: {
17
+ auditLogs: {
18
+ enable: boolean;
19
+ };
20
+ };
21
+ malwareProtection?: {
22
+ scanEc2InstanceWithFindings: {
23
+ ebsVolumes: {
24
+ enable: boolean;
25
+ };
26
+ };
27
+ };
28
+ }
29
+ export interface DetectorFeature {
30
+ name: 'S3_DATA_EVENTS' | 'EKS_AUDIT_LOGS' | 'EBS_MALWARE_PROTECTION' | 'RDS_LOGIN_EVENTS' | 'LAMBDA_NETWORK_LOGS';
31
+ status: 'ENABLED' | 'DISABLED';
32
+ additionalConfiguration?: {
33
+ name: string;
34
+ status: 'ENABLED' | 'DISABLED';
35
+ }[];
36
+ }
37
+ export interface ThreatIntelSet {
38
+ id: string;
39
+ detectorId: string;
40
+ name: string;
41
+ format: 'TXT' | 'STIX' | 'OTX_CSV' | 'ALIEN_VAULT' | 'PROOF_POINT' | 'FIRE_EYE';
42
+ location: string;
43
+ activate: boolean;
44
+ }
45
+ export interface IPSet {
46
+ id: string;
47
+ detectorId: string;
48
+ name: string;
49
+ format: 'TXT' | 'STIX' | 'OTX_CSV' | 'ALIEN_VAULT' | 'PROOF_POINT' | 'FIRE_EYE';
50
+ location: string;
51
+ activate: boolean;
52
+ }
53
+ export interface FindingFilter {
54
+ id: string;
55
+ detectorId: string;
56
+ name: string;
57
+ description?: string;
58
+ action: 'NOOP' | 'ARCHIVE';
59
+ rank: number;
60
+ findingCriteria: FindingCriteria;
61
+ }
62
+ export interface FindingCriteria {
63
+ criterion: Record<string, {
64
+ eq?: string[];
65
+ neq?: string[];
66
+ gt?: number;
67
+ gte?: number;
68
+ lt?: number;
69
+ lte?: number;
70
+ }>;
71
+ }
72
+ /**
73
+ * GuardDuty manager
74
+ */
75
+ export declare class GuardDutyManager {
76
+ private detectors;
77
+ private threatIntelSets;
78
+ private ipSets;
79
+ private filters;
80
+ private detectorCounter;
81
+ private threatIntelCounter;
82
+ private ipSetCounter;
83
+ private filterCounter;
84
+ /**
85
+ * Create GuardDuty detector
86
+ */
87
+ createDetector(detector: Omit<GuardDutyDetector, 'id'>): GuardDutyDetector;
88
+ /**
89
+ * Create comprehensive detector with all features
90
+ */
91
+ createComprehensiveDetector(): GuardDutyDetector;
92
+ /**
93
+ * Create basic detector
94
+ */
95
+ createBasicDetector(): GuardDutyDetector;
96
+ /**
97
+ * Create threat intel set
98
+ */
99
+ createThreatIntelSet(set: Omit<ThreatIntelSet, 'id'>): ThreatIntelSet;
100
+ /**
101
+ * Create IP set
102
+ */
103
+ createIPSet(set: Omit<IPSet, 'id'>): IPSet;
104
+ /**
105
+ * Create finding filter
106
+ */
107
+ createFindingFilter(filter: Omit<FindingFilter, 'id'>): FindingFilter;
108
+ /**
109
+ * Create auto-archive filter for low severity findings
110
+ */
111
+ createLowSeverityArchiveFilter(detectorId: string): FindingFilter;
112
+ /**
113
+ * Create filter for specific finding types
114
+ */
115
+ createFindingTypeFilter(detectorId: string, findingTypes: string[], action: 'NOOP' | 'ARCHIVE'): FindingFilter;
116
+ /**
117
+ * Create filter for trusted IP addresses
118
+ */
119
+ createTrustedIPFilter(detectorId: string, ipAddresses: string[]): FindingFilter;
120
+ /**
121
+ * Get detector
122
+ */
123
+ getDetector(id: string): GuardDutyDetector | undefined;
124
+ /**
125
+ * List detectors
126
+ */
127
+ listDetectors(): GuardDutyDetector[];
128
+ /**
129
+ * Get threat intel set
130
+ */
131
+ getThreatIntelSet(id: string): ThreatIntelSet | undefined;
132
+ /**
133
+ * List threat intel sets
134
+ */
135
+ listThreatIntelSets(): ThreatIntelSet[];
136
+ /**
137
+ * Get IP set
138
+ */
139
+ getIPSet(id: string): IPSet | undefined;
140
+ /**
141
+ * List IP sets
142
+ */
143
+ listIPSets(): IPSet[];
144
+ /**
145
+ * Get finding filter
146
+ */
147
+ getFindingFilter(id: string): FindingFilter | undefined;
148
+ /**
149
+ * List finding filters
150
+ */
151
+ listFindingFilters(): FindingFilter[];
152
+ /**
153
+ * Generate CloudFormation for detector
154
+ */
155
+ generateDetectorCF(detector: GuardDutyDetector): any;
156
+ /**
157
+ * Generate CloudFormation for threat intel set
158
+ */
159
+ generateThreatIntelSetCF(set: ThreatIntelSet): any;
160
+ /**
161
+ * Generate CloudFormation for IP set
162
+ */
163
+ generateIPSetCF(set: IPSet): any;
164
+ /**
165
+ * Generate CloudFormation for finding filter
166
+ */
167
+ generateFilterCF(filter: FindingFilter): any;
168
+ /**
169
+ * Clear all data
170
+ */
171
+ clear(): void;
172
+ }
173
+ /**
174
+ * Global GuardDuty manager instance
175
+ */
176
+ export declare const guardDutyManager: GuardDutyManager;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Compliance & Governance
3
+ * AWS Config, CloudTrail, GuardDuty, and Security Hub integrations
4
+ */
5
+ export { AWSConfigManager, awsConfigManager, } from './aws-config';
6
+ export type { ConfigRule, ConfigScope, ConfigRecorder, RecordingGroup, DeliveryChannel, } from './aws-config';
7
+ export { CloudTrailManager, cloudTrailManager, } from './cloudtrail';
8
+ export type { CloudTrailConfig, EventSelector, DataResource, InsightSelector, AdvancedEventSelector, FieldSelector, } from './cloudtrail';
9
+ export { GuardDutyManager, guardDutyManager, } from './guardduty';
10
+ export type { GuardDutyDetector, DataSourceConfigurations, DetectorFeature, ThreatIntelSet, IPSet, FindingFilter, FindingCriteria, } from './guardduty';
11
+ export { SecurityHubManager, securityHubManager, } from './security-hub';
12
+ export type { SecurityHubConfig, SecurityStandard, AutomationRule, AutomationAction, AutomationCriteria, StringFilter, NumberFilter, MapFilter, } from './security-hub';
@@ -0,0 +1,178 @@
1
+ /**
2
+ * AWS Security Hub
3
+ * Centralized security and compliance view across AWS accounts
4
+ */
5
+ export interface SecurityHubConfig {
6
+ id: string;
7
+ enable: boolean;
8
+ controlFindingGenerator?: 'STANDARD_CONTROL' | 'SECURITY_CONTROL';
9
+ enableDefaultStandards?: boolean;
10
+ standards?: SecurityStandard[];
11
+ automationRules?: AutomationRule[];
12
+ }
13
+ export interface SecurityStandard {
14
+ id: string;
15
+ arn: string;
16
+ name: string;
17
+ description: string;
18
+ enabled: boolean;
19
+ disabledControls?: string[];
20
+ }
21
+ export interface AutomationRule {
22
+ id: string;
23
+ ruleName: string;
24
+ description?: string;
25
+ actions: AutomationAction[];
26
+ criteria: AutomationCriteria;
27
+ ruleStatus: 'ENABLED' | 'DISABLED';
28
+ ruleOrder: number;
29
+ }
30
+ export interface AutomationAction {
31
+ type: 'FINDING_FIELDS_UPDATE';
32
+ findingFieldsUpdate: {
33
+ note?: {
34
+ text: string;
35
+ updatedBy: string;
36
+ };
37
+ severity?: {
38
+ label: 'INFORMATIONAL' | 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
39
+ };
40
+ workflow?: {
41
+ status: 'NEW' | 'NOTIFIED' | 'RESOLVED' | 'SUPPRESSED';
42
+ };
43
+ relatedFindings?: Array<{
44
+ productArn: string;
45
+ id: string;
46
+ }>;
47
+ userDefinedFields?: Record<string, string>;
48
+ };
49
+ }
50
+ export interface AutomationCriteria {
51
+ productName?: StringFilter[];
52
+ companyName?: StringFilter[];
53
+ severityLabel?: StringFilter[];
54
+ resourceType?: StringFilter[];
55
+ resourceId?: StringFilter[];
56
+ recordState?: StringFilter[];
57
+ workflowStatus?: StringFilter[];
58
+ complianceStatus?: StringFilter[];
59
+ verificationState?: StringFilter[];
60
+ confidence?: NumberFilter[];
61
+ criticality?: NumberFilter[];
62
+ title?: StringFilter[];
63
+ description?: StringFilter[];
64
+ sourceUrl?: StringFilter[];
65
+ productFields?: MapFilter[];
66
+ resourceTags?: MapFilter[];
67
+ userDefinedFields?: MapFilter[];
68
+ }
69
+ export interface StringFilter {
70
+ value: string;
71
+ comparison: 'EQUALS' | 'PREFIX' | 'NOT_EQUALS' | 'PREFIX_NOT_EQUALS';
72
+ }
73
+ export interface NumberFilter {
74
+ gte?: number;
75
+ lte?: number;
76
+ eq?: number;
77
+ gt?: number;
78
+ lt?: number;
79
+ }
80
+ export interface MapFilter {
81
+ key: string;
82
+ value?: string;
83
+ comparison: 'EQUALS' | 'NOT_EQUALS';
84
+ }
85
+ /**
86
+ * Security Hub manager
87
+ */
88
+ export declare class SecurityHubManager {
89
+ private hubs;
90
+ private hubCounter;
91
+ private ruleCounter;
92
+ /**
93
+ * Available security standards
94
+ */
95
+ static readonly Standards: {
96
+ AWS_FOUNDATIONAL_SECURITY: {
97
+ arn: string;
98
+ name: string;
99
+ description: string;
100
+ };
101
+ CIS_AWS_FOUNDATIONS_1_2: {
102
+ arn: string;
103
+ name: string;
104
+ description: string;
105
+ };
106
+ CIS_AWS_FOUNDATIONS_1_4: {
107
+ arn: string;
108
+ name: string;
109
+ description: string;
110
+ };
111
+ PCI_DSS: {
112
+ arn: string;
113
+ name: string;
114
+ description: string;
115
+ };
116
+ NIST_800_53: {
117
+ arn: string;
118
+ name: string;
119
+ description: string;
120
+ };
121
+ };
122
+ /**
123
+ * Create Security Hub
124
+ */
125
+ createHub(hub: Omit<SecurityHubConfig, 'id'>): SecurityHubConfig;
126
+ /**
127
+ * Create comprehensive Security Hub with all standards
128
+ */
129
+ createComprehensiveHub(): SecurityHubConfig;
130
+ /**
131
+ * Create basic Security Hub
132
+ */
133
+ createBasicHub(): SecurityHubConfig;
134
+ /**
135
+ * Create automation rule for low severity findings
136
+ */
137
+ createLowSeveritySuppressionRule(): AutomationRule;
138
+ /**
139
+ * Create automation rule for specific resource types
140
+ */
141
+ createResourceTypeNotificationRule(resourceTypes: string[]): AutomationRule;
142
+ /**
143
+ * Create automation rule for compliance failures
144
+ */
145
+ createComplianceFailureRule(): AutomationRule;
146
+ /**
147
+ * Create automation rule for false positives
148
+ */
149
+ createFalsePositiveSuppressionRule(productName: string, titlePatterns: string[]): AutomationRule;
150
+ /**
151
+ * Get Security Hub
152
+ */
153
+ getHub(id: string): SecurityHubConfig | undefined;
154
+ /**
155
+ * List Security Hubs
156
+ */
157
+ listHubs(): SecurityHubConfig[];
158
+ /**
159
+ * Generate CloudFormation for Security Hub
160
+ */
161
+ generateHubCF(hub: SecurityHubConfig): any;
162
+ /**
163
+ * Generate CloudFormation for security standard subscription
164
+ */
165
+ generateStandardCF(standard: SecurityStandard): any;
166
+ /**
167
+ * Generate CloudFormation for automation rule
168
+ */
169
+ generateAutomationRuleCF(rule: AutomationRule): any;
170
+ /**
171
+ * Clear all data
172
+ */
173
+ clear(): void;
174
+ }
175
+ /**
176
+ * Global Security Hub manager instance
177
+ */
178
+ export declare const securityHubManager: SecurityHubManager;