@stacksjs/ts-cloud 0.2.2 → 0.2.5

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 (76) hide show
  1. package/dist/aws/acm.d.ts +215 -0
  2. package/dist/aws/application-autoscaling.d.ts +345 -0
  3. package/dist/aws/bedrock.d.ts +2672 -0
  4. package/dist/aws/client.d.ts +181 -0
  5. package/dist/aws/cloudformation.d.ts +187 -0
  6. package/dist/aws/cloudfront.d.ts +416 -0
  7. package/dist/aws/cloudwatch-logs.d.ts +70 -0
  8. package/dist/aws/comprehend.d.ts +616 -0
  9. package/dist/aws/connect.d.ts +533 -0
  10. package/dist/aws/deploy-imap.d.ts +26 -0
  11. package/dist/aws/dynamodb.d.ts +270 -0
  12. package/dist/aws/ec2.d.ts +545 -0
  13. package/dist/aws/ecr.d.ts +240 -0
  14. package/dist/aws/ecs.d.ts +267 -0
  15. package/dist/aws/efs.d.ts +36 -0
  16. package/dist/aws/elasticache.d.ts +112 -0
  17. package/dist/aws/elbv2.d.ts +389 -0
  18. package/dist/aws/email.d.ts +260 -0
  19. package/dist/aws/eventbridge.d.ts +197 -0
  20. package/dist/aws/iam.d.ts +1013 -0
  21. package/dist/aws/imap-server.d.ts +298 -0
  22. package/dist/aws/index.d.ts +53 -0
  23. package/dist/aws/kendra.d.ts +831 -0
  24. package/dist/aws/lambda.d.ts +319 -0
  25. package/dist/aws/opensearch.d.ts +121 -0
  26. package/dist/aws/personalize.d.ts +586 -0
  27. package/dist/aws/polly.d.ts +243 -0
  28. package/dist/aws/rds.d.ts +346 -0
  29. package/dist/aws/rekognition.d.ts +691 -0
  30. package/dist/aws/route53-domains.d.ts +161 -0
  31. package/dist/aws/route53.d.ts +330 -0
  32. package/dist/aws/s3.d.ts +535 -0
  33. package/dist/aws/scheduler.d.ts +224 -0
  34. package/dist/aws/secrets-manager.d.ts +267 -0
  35. package/dist/aws/ses.d.ts +441 -0
  36. package/dist/aws/setup-phone.d.ts +1 -0
  37. package/dist/aws/setup-sms.d.ts +116 -0
  38. package/dist/aws/sms.d.ts +477 -0
  39. package/dist/aws/smtp-server.d.ts +108 -0
  40. package/dist/aws/sns.d.ts +224 -0
  41. package/dist/aws/sqs.d.ts +107 -0
  42. package/dist/aws/ssm.d.ts +311 -0
  43. package/dist/aws/sts.d.ts +21 -0
  44. package/dist/aws/support.d.ts +139 -0
  45. package/dist/aws/test-imap.d.ts +15 -0
  46. package/dist/aws/textract.d.ts +477 -0
  47. package/dist/aws/transcribe.d.ts +79 -0
  48. package/dist/aws/translate.d.ts +424 -0
  49. package/dist/aws/voice.d.ts +361 -0
  50. package/dist/bin/cli.js +4500 -809
  51. package/dist/config.d.ts +5 -0
  52. package/dist/deploy/index.d.ts +6 -0
  53. package/dist/deploy/static-site-external-dns.d.ts +70 -0
  54. package/dist/deploy/static-site.d.ts +110 -0
  55. package/dist/dns/cloudflare.d.ts +74 -0
  56. package/dist/dns/godaddy.d.ts +63 -0
  57. package/dist/dns/index.d.ts +67 -0
  58. package/dist/dns/porkbun.d.ts +43 -0
  59. package/dist/dns/route53-adapter.d.ts +67 -0
  60. package/dist/dns/types.d.ts +100 -0
  61. package/dist/dns/validator.d.ts +105 -0
  62. package/dist/generators/index.d.ts +4 -0
  63. package/dist/generators/infrastructure.d.ts +115 -0
  64. package/dist/index.d.ts +9 -165
  65. package/dist/index.js +24067 -6430
  66. package/dist/push/apns.d.ts +140 -0
  67. package/dist/push/fcm.d.ts +205 -0
  68. package/dist/push/index.d.ts +44 -0
  69. package/dist/security/pre-deploy-scanner.d.ts +97 -0
  70. package/dist/ssl/acme-client.d.ts +133 -0
  71. package/dist/ssl/index.d.ts +6 -0
  72. package/dist/ssl/letsencrypt.d.ts +96 -0
  73. package/dist/utils/cli.d.ts +121 -0
  74. package/dist/validation/index.d.ts +4 -0
  75. package/dist/validation/template.d.ts +27 -0
  76. package/package.json +6 -6
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Route53 Domains Client - Domain registration management without AWS SDK
3
+ * Uses direct AWS API calls with Signature V4
4
+ */
5
+ export interface Nameserver {
6
+ Name: string;
7
+ GlueIps?: string[];
8
+ }
9
+ export interface DomainDetail {
10
+ DomainName: string;
11
+ Nameservers?: Nameserver[];
12
+ AutoRenew?: boolean;
13
+ AdminContact?: ContactDetail;
14
+ RegistrantContact?: ContactDetail;
15
+ TechContact?: ContactDetail;
16
+ AdminPrivacy?: boolean;
17
+ RegistrantPrivacy?: boolean;
18
+ TechPrivacy?: boolean;
19
+ RegistrarName?: string;
20
+ WhoIsServer?: string;
21
+ RegistrarUrl?: string;
22
+ AbuseContactEmail?: string;
23
+ AbuseContactPhone?: string;
24
+ RegistryDomainId?: string;
25
+ CreationDate?: string;
26
+ UpdatedDate?: string;
27
+ ExpirationDate?: string;
28
+ Reseller?: string;
29
+ DnsSec?: string;
30
+ StatusList?: string[];
31
+ }
32
+ export type ContactType = 'PERSON' | 'COMPANY' | 'ASSOCIATION' | 'PUBLIC_BODY' | 'RESELLER';
33
+ export type CountryCode = 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TP' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW';
34
+ export interface ContactDetail {
35
+ FirstName?: string;
36
+ LastName?: string;
37
+ ContactType?: ContactType;
38
+ OrganizationName?: string;
39
+ AddressLine1?: string;
40
+ AddressLine2?: string;
41
+ City?: string;
42
+ State?: string;
43
+ CountryCode?: CountryCode;
44
+ ZipCode?: string;
45
+ PhoneNumber?: string;
46
+ Email?: string;
47
+ Fax?: string;
48
+ ExtraParams?: {
49
+ Name: string;
50
+ Value: string;
51
+ }[];
52
+ }
53
+ export interface UpdateDomainNameserversResult {
54
+ OperationId: string;
55
+ }
56
+ export interface GetDomainDetailResult extends DomainDetail {
57
+ }
58
+ /**
59
+ * Route53 Domains Client for domain registration management
60
+ * Note: Route53 Domains API is only available in us-east-1
61
+ */
62
+ export declare class Route53DomainsClient {
63
+ private client;
64
+ private region;
65
+ constructor();
66
+ /**
67
+ * Get details about a specific domain
68
+ */
69
+ getDomainDetail(params: {
70
+ DomainName: string;
71
+ }): Promise<GetDomainDetailResult>;
72
+ /**
73
+ * Update the nameservers for a domain
74
+ */
75
+ updateDomainNameservers(params: {
76
+ DomainName: string;
77
+ Nameservers: {
78
+ Name: string;
79
+ GlueIps?: string[];
80
+ }[];
81
+ }): Promise<UpdateDomainNameserversResult>;
82
+ /**
83
+ * List domains registered with Route53
84
+ */
85
+ listDomains(params?: {
86
+ Marker?: string;
87
+ MaxItems?: number;
88
+ SortCondition?: {
89
+ Name: 'DomainName' | 'Expiry';
90
+ SortOrder: 'ASC' | 'DESC';
91
+ };
92
+ }): Promise<{
93
+ Domains: {
94
+ DomainName: string;
95
+ AutoRenew?: boolean;
96
+ TransferLock?: boolean;
97
+ Expiry?: string;
98
+ }[];
99
+ NextPageMarker?: string;
100
+ }>;
101
+ /**
102
+ * Check domain availability
103
+ */
104
+ checkDomainAvailability(params: {
105
+ DomainName: string;
106
+ }): Promise<{
107
+ Availability: 'AVAILABLE' | 'AVAILABLE_RESERVED' | 'AVAILABLE_PREORDER' | 'UNAVAILABLE' | 'UNAVAILABLE_PREMIUM' | 'UNAVAILABLE_RESTRICTED' | 'RESERVED' | 'DONT_KNOW';
108
+ }>;
109
+ /**
110
+ * Get domain pricing information
111
+ */
112
+ getDomainPrice(params: {
113
+ DomainName: string;
114
+ }): Promise<{
115
+ RegistrationPrice?: {
116
+ Price: number;
117
+ Currency: string;
118
+ };
119
+ RenewalPrice?: {
120
+ Price: number;
121
+ Currency: string;
122
+ };
123
+ TransferPrice?: {
124
+ Price: number;
125
+ Currency: string;
126
+ };
127
+ }>;
128
+ /**
129
+ * Register a new domain
130
+ */
131
+ registerDomain(params: {
132
+ DomainName: string;
133
+ DurationInYears: number;
134
+ AutoRenew?: boolean;
135
+ AdminContact: ContactDetail;
136
+ RegistrantContact: ContactDetail;
137
+ TechContact: ContactDetail;
138
+ PrivacyProtectAdminContact?: boolean;
139
+ PrivacyProtectRegistrantContact?: boolean;
140
+ PrivacyProtectTechContact?: boolean;
141
+ }): Promise<{
142
+ OperationId: string;
143
+ }>;
144
+ /**
145
+ * Get operation details (for tracking domain registration status)
146
+ */
147
+ getOperationDetail(params: {
148
+ OperationId: string;
149
+ }): Promise<{
150
+ OperationId: string;
151
+ Status: 'SUBMITTED' | 'IN_PROGRESS' | 'ERROR' | 'SUCCESSFUL' | 'FAILED';
152
+ Message?: string;
153
+ DomainName?: string;
154
+ Type?: string;
155
+ SubmittedDate?: string;
156
+ }>;
157
+ /**
158
+ * Parse domain detail response
159
+ */
160
+ private parseDomainDetail;
161
+ }
@@ -0,0 +1,330 @@
1
+ /**
2
+ * Route53 Client - DNS management without AWS SDK
3
+ * Uses direct AWS API calls with Signature V4
4
+ */
5
+ export interface HostedZone {
6
+ Id: string;
7
+ Name: string;
8
+ CallerReference?: string;
9
+ Config?: {
10
+ Comment?: string;
11
+ PrivateZone?: boolean;
12
+ };
13
+ ResourceRecordSetCount?: number;
14
+ }
15
+ export interface ResourceRecordSet {
16
+ Name: string;
17
+ Type: string;
18
+ TTL?: number;
19
+ ResourceRecords?: {
20
+ Value: string;
21
+ }[];
22
+ AliasTarget?: {
23
+ HostedZoneId: string;
24
+ DNSName: string;
25
+ EvaluateTargetHealth: boolean;
26
+ };
27
+ SetIdentifier?: string;
28
+ Weight?: number;
29
+ Region?: string;
30
+ GeoLocation?: {
31
+ ContinentCode?: string;
32
+ CountryCode?: string;
33
+ SubdivisionCode?: string;
34
+ };
35
+ Failover?: 'PRIMARY' | 'SECONDARY';
36
+ HealthCheckId?: string;
37
+ }
38
+ export interface DelegationSet {
39
+ Id?: string;
40
+ CallerReference?: string;
41
+ NameServers: string[];
42
+ }
43
+ export interface CreateHostedZoneResult {
44
+ HostedZone: HostedZone;
45
+ ChangeInfo: {
46
+ Id: string;
47
+ Status: string;
48
+ SubmittedAt: string;
49
+ };
50
+ DelegationSet: DelegationSet;
51
+ Location: string;
52
+ }
53
+ export interface ListHostedZonesResult {
54
+ HostedZones: HostedZone[];
55
+ IsTruncated: boolean;
56
+ MaxItems: string;
57
+ Marker?: string;
58
+ NextMarker?: string;
59
+ }
60
+ export interface GetHostedZoneResult {
61
+ HostedZone: HostedZone;
62
+ DelegationSet: DelegationSet;
63
+ VPCs?: {
64
+ VPCId: string;
65
+ VPCRegion: string;
66
+ }[];
67
+ }
68
+ export interface ListResourceRecordSetsResult {
69
+ ResourceRecordSets: ResourceRecordSet[];
70
+ IsTruncated: boolean;
71
+ MaxItems: string;
72
+ NextRecordName?: string;
73
+ NextRecordType?: string;
74
+ NextRecordIdentifier?: string;
75
+ }
76
+ export interface ChangeResourceRecordSetsResult {
77
+ ChangeInfo: {
78
+ Id: string;
79
+ Status: string;
80
+ SubmittedAt: string;
81
+ Comment?: string;
82
+ };
83
+ }
84
+ export interface Change {
85
+ Action: 'CREATE' | 'DELETE' | 'UPSERT';
86
+ ResourceRecordSet: ResourceRecordSet;
87
+ }
88
+ export interface ChangeBatch {
89
+ Comment?: string;
90
+ Changes: Change[];
91
+ }
92
+ /**
93
+ * Route53 Client for DNS management
94
+ */
95
+ export declare class Route53Client {
96
+ private client;
97
+ private region;
98
+ constructor(region?: string);
99
+ /**
100
+ * Create a new hosted zone
101
+ */
102
+ createHostedZone(params: {
103
+ Name: string;
104
+ CallerReference?: string;
105
+ HostedZoneConfig?: {
106
+ Comment?: string;
107
+ PrivateZone?: boolean;
108
+ };
109
+ VPC?: {
110
+ VPCRegion: string;
111
+ VPCId: string;
112
+ };
113
+ DelegationSetId?: string;
114
+ }): Promise<CreateHostedZoneResult>;
115
+ /**
116
+ * List hosted zones
117
+ */
118
+ listHostedZones(params?: {
119
+ Marker?: string;
120
+ MaxItems?: string;
121
+ }): Promise<ListHostedZonesResult>;
122
+ /**
123
+ * List hosted zones by name (more efficient for finding specific zone)
124
+ */
125
+ listHostedZonesByName(params?: {
126
+ DNSName?: string;
127
+ HostedZoneId?: string;
128
+ MaxItems?: string;
129
+ }): Promise<ListHostedZonesResult>;
130
+ /**
131
+ * Get a hosted zone
132
+ */
133
+ getHostedZone(params: {
134
+ Id: string;
135
+ }): Promise<GetHostedZoneResult>;
136
+ /**
137
+ * Delete a hosted zone
138
+ */
139
+ deleteHostedZone(params: {
140
+ Id: string;
141
+ }): Promise<void>;
142
+ /**
143
+ * List resource record sets in a hosted zone
144
+ */
145
+ listResourceRecordSets(params: {
146
+ HostedZoneId: string;
147
+ StartRecordName?: string;
148
+ StartRecordType?: string;
149
+ StartRecordIdentifier?: string;
150
+ MaxItems?: string;
151
+ }): Promise<ListResourceRecordSetsResult>;
152
+ /**
153
+ * Change resource record sets (create, delete, or upsert)
154
+ */
155
+ changeResourceRecordSets(params: {
156
+ HostedZoneId: string;
157
+ ChangeBatch: ChangeBatch;
158
+ }): Promise<ChangeResourceRecordSetsResult>;
159
+ /**
160
+ * Escape XML special characters
161
+ */
162
+ private escapeXml;
163
+ /**
164
+ * Parse CreateHostedZone response
165
+ */
166
+ private parseCreateHostedZoneResponse;
167
+ /**
168
+ * Parse ListHostedZones response
169
+ */
170
+ private parseListHostedZonesResponse;
171
+ /**
172
+ * Parse GetHostedZone response
173
+ */
174
+ private parseGetHostedZoneResponse;
175
+ /**
176
+ * Parse ListResourceRecordSets response
177
+ */
178
+ private parseListResourceRecordSetsResponse;
179
+ /**
180
+ * Parse ChangeResourceRecordSets response
181
+ */
182
+ private parseChangeResourceRecordSetsResponse;
183
+ /**
184
+ * Parse a hosted zone object
185
+ */
186
+ private parseHostedZone;
187
+ /**
188
+ * Parse a delegation set object
189
+ */
190
+ private parseDelegationSet;
191
+ /**
192
+ * Parse a resource record set object
193
+ */
194
+ private parseResourceRecordSet;
195
+ /**
196
+ * Find hosted zone by domain name
197
+ */
198
+ findHostedZoneByName(domainName: string): Promise<HostedZone | null>;
199
+ /**
200
+ * Create an A record
201
+ */
202
+ createARecord(params: {
203
+ HostedZoneId: string;
204
+ Name: string;
205
+ Value: string | string[];
206
+ TTL?: number;
207
+ }): Promise<ChangeResourceRecordSetsResult>;
208
+ /**
209
+ * Create a CNAME record
210
+ */
211
+ createCnameRecord(params: {
212
+ HostedZoneId: string;
213
+ Name: string;
214
+ Value: string;
215
+ TTL?: number;
216
+ }): Promise<ChangeResourceRecordSetsResult>;
217
+ /**
218
+ * Create an alias record (for CloudFront, ALB, etc.)
219
+ */
220
+ createAliasRecord(params: {
221
+ HostedZoneId: string;
222
+ Name: string;
223
+ TargetHostedZoneId: string;
224
+ TargetDNSName: string;
225
+ EvaluateTargetHealth?: boolean;
226
+ Type?: 'A' | 'AAAA';
227
+ }): Promise<ChangeResourceRecordSetsResult>;
228
+ /**
229
+ * Create a TXT record
230
+ */
231
+ createTxtRecord(params: {
232
+ HostedZoneId: string;
233
+ Name: string;
234
+ Value: string | string[];
235
+ TTL?: number;
236
+ }): Promise<ChangeResourceRecordSetsResult>;
237
+ /**
238
+ * Create an MX record
239
+ */
240
+ createMxRecord(params: {
241
+ HostedZoneId: string;
242
+ Name: string;
243
+ Values: Array<{
244
+ priority: number;
245
+ mailServer: string;
246
+ }>;
247
+ TTL?: number;
248
+ }): Promise<ChangeResourceRecordSetsResult>;
249
+ /**
250
+ * Delete a record
251
+ */
252
+ deleteRecord(params: {
253
+ HostedZoneId: string;
254
+ RecordSet: ResourceRecordSet;
255
+ }): Promise<ChangeResourceRecordSetsResult>;
256
+ /**
257
+ * Wait for a change to become INSYNC
258
+ */
259
+ waitForChange(changeId: string, maxAttempts?: number, delayMs?: number): Promise<boolean>;
260
+ /**
261
+ * Find or create a hosted zone for a domain
262
+ * Automatically creates the zone if it doesn't exist
263
+ */
264
+ findOrCreateHostedZone(params: {
265
+ domainName: string;
266
+ comment?: string;
267
+ privateZone?: boolean;
268
+ vpc?: {
269
+ VPCRegion: string;
270
+ VPCId: string;
271
+ };
272
+ }): Promise<{
273
+ hostedZone: HostedZone;
274
+ nameServers: string[];
275
+ isNew: boolean;
276
+ }>;
277
+ /**
278
+ * Get the root domain from a subdomain
279
+ * e.g., "api.example.com" -> "example.com"
280
+ */
281
+ static getRootDomain(domain: string): string;
282
+ /**
283
+ * Find the hosted zone for a domain or its parent domain
284
+ * Useful when you have a subdomain and need to find the zone
285
+ */
286
+ findHostedZoneForDomain(domain: string): Promise<HostedZone | null>;
287
+ /**
288
+ * Ensure a hosted zone exists for a domain, creating it if necessary
289
+ * Returns the hosted zone ID suitable for use in CloudFormation
290
+ */
291
+ ensureHostedZone(params: {
292
+ domainName: string;
293
+ comment?: string;
294
+ }): Promise<{
295
+ hostedZoneId: string;
296
+ nameServers: string[];
297
+ isNew: boolean;
298
+ action: 'found' | 'created';
299
+ }>;
300
+ /**
301
+ * Setup DNS for a domain with automatic hosted zone creation
302
+ * Creates the hosted zone if needed and returns setup information
303
+ */
304
+ setupDomainDns(params: {
305
+ domain: string;
306
+ createIfNotExists?: boolean;
307
+ }): Promise<{
308
+ success: boolean;
309
+ hostedZoneId: string | null;
310
+ nameServers: string[];
311
+ isNew: boolean;
312
+ message: string;
313
+ }>;
314
+ /**
315
+ * CloudFront hosted zone ID (global)
316
+ */
317
+ static readonly CloudFrontHostedZoneId = "Z2FDTNDATAQYW2";
318
+ /**
319
+ * S3 website hosting hosted zone IDs by region
320
+ */
321
+ static readonly S3WebsiteHostedZoneIds: Record<string, string>;
322
+ /**
323
+ * ALB hosted zone IDs by region
324
+ */
325
+ static readonly ALBHostedZoneIds: Record<string, string>;
326
+ /**
327
+ * API Gateway hosted zone IDs by region
328
+ */
329
+ static readonly APIGatewayHostedZoneIds: Record<string, string>;
330
+ }