@resistdesign/voltra 3.0.0-alpha.3 → 3.0.0-alpha.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 (225) hide show
  1. package/README.md +75 -0
  2. package/SearchTypes-DjN6YQzE.d.ts +577 -0
  3. package/Types-C7XjUjoF.d.ts +240 -0
  4. package/Validation-CFP59oIP.d.ts +226 -0
  5. package/api/index.d.ts +6 -0
  6. package/api/index.js +7968 -0
  7. package/app/index.d.ts +5 -0
  8. package/app/index.js +810 -0
  9. package/common/Testing/CLI.js +432 -0
  10. package/common/index.d.ts +4 -0
  11. package/common/index.js +1760 -0
  12. package/iac/index.d.ts +2 -0
  13. package/iac/index.js +1661 -0
  14. package/iac/packs/index.d.ts +1 -0
  15. package/iac/packs/index.js +1620 -0
  16. package/index-BkFZlfit.d.ts +112 -0
  17. package/index-C3-iD9Mh.d.ts +690 -0
  18. package/index-DZ2BB4iX.d.ts +5357 -0
  19. package/{src/iac/types/IaCTypes.d.ts → index-DcvJOZ_c.d.ts} +1018 -23
  20. package/index-IokxSNxm.d.ts +745 -0
  21. package/index.d.ts +13 -0
  22. package/index.js +10973 -0
  23. package/package.json +40 -41
  24. package/src/api/DataAccessControl.d.ts +0 -85
  25. package/src/api/DataAccessControl.js +0 -159
  26. package/src/api/ORM/DACUtils.d.ts +0 -60
  27. package/src/api/ORM/DACUtils.js +0 -197
  28. package/src/api/ORM/ListItemUtils.d.ts +0 -7
  29. package/src/api/ORM/ListItemUtils.js +0 -22
  30. package/src/api/ORM/ORMRouteMap.d.ts +0 -19
  31. package/src/api/ORM/ORMRouteMap.js +0 -82
  32. package/src/api/ORM/TypeInfoORMService.d.ts +0 -103
  33. package/src/api/ORM/TypeInfoORMService.js +0 -581
  34. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +0 -63
  35. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.js +0 -2
  36. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +0 -36
  37. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.js +0 -282
  38. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +0 -90
  39. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.js +0 -2
  40. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +0 -45
  41. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.js +0 -127
  42. package/src/api/ORM/drivers/S3FileItemDBDriver.d.ts +0 -44
  43. package/src/api/ORM/drivers/S3FileItemDBDriver.js +0 -182
  44. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +0 -12
  45. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.js +0 -20
  46. package/src/api/ORM/drivers/common/Types.d.ts +0 -77
  47. package/src/api/ORM/drivers/common/Types.js +0 -14
  48. package/src/api/ORM/drivers/common/index.d.ts +0 -2
  49. package/src/api/ORM/drivers/common/index.js +0 -18
  50. package/src/api/ORM/drivers/index.d.ts +0 -3
  51. package/src/api/ORM/drivers/index.js +0 -19
  52. package/src/api/ORM/index.d.ts +0 -4
  53. package/src/api/ORM/index.js +0 -43
  54. package/src/api/Router/AWS.d.ts +0 -26
  55. package/src/api/Router/AWS.js +0 -76
  56. package/src/api/Router/Auth.d.ts +0 -2
  57. package/src/api/Router/Auth.js +0 -9
  58. package/src/api/Router/CORS.d.ts +0 -6
  59. package/src/api/Router/CORS.js +0 -27
  60. package/src/api/Router/Types.d.ts +0 -71
  61. package/src/api/Router/Types.js +0 -2
  62. package/src/api/Router/index.d.ts +0 -18
  63. package/src/api/Router/index.js +0 -145
  64. package/src/api/index.d.ts +0 -3
  65. package/src/api/index.js +0 -39
  66. package/src/app/index.d.ts +0 -1
  67. package/src/app/index.js +0 -37
  68. package/src/app/utils/ApplicationState.d.ts +0 -52
  69. package/src/app/utils/ApplicationState.js +0 -86
  70. package/src/app/utils/ApplicationStateLoader.d.ts +0 -46
  71. package/src/app/utils/ApplicationStateLoader.js +0 -57
  72. package/src/app/utils/Controller.d.ts +0 -4
  73. package/src/app/utils/Controller.js +0 -47
  74. package/src/app/utils/Debug.d.ts +0 -4
  75. package/src/app/utils/Debug.js +0 -30
  76. package/src/app/utils/EasyLayout.d.ts +0 -49
  77. package/src/app/utils/EasyLayout.js +0 -122
  78. package/src/app/utils/Route.d.ts +0 -28
  79. package/src/app/utils/Route.js +0 -102
  80. package/src/app/utils/Service.d.ts +0 -12
  81. package/src/app/utils/Service.js +0 -34
  82. package/src/app/utils/TypeInfoORMAPIUtils.d.ts +0 -20
  83. package/src/app/utils/TypeInfoORMAPIUtils.js +0 -62
  84. package/src/app/utils/TypeInfoORMClient.d.ts +0 -24
  85. package/src/app/utils/TypeInfoORMClient.js +0 -69
  86. package/src/app/utils/index.d.ts +0 -8
  87. package/src/app/utils/index.js +0 -24
  88. package/src/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +0 -1
  89. package/src/common/CommandLine/collectRequiredEnvironmentVariables.js +0 -16
  90. package/src/common/HelperTypes.d.ts +0 -3
  91. package/src/common/HelperTypes.js +0 -2
  92. package/src/common/IdGeneration/getSimpleId.d.ts +0 -4
  93. package/src/common/IdGeneration/getSimpleId.js +0 -16
  94. package/src/common/IdGeneration/index.d.ts +0 -1
  95. package/src/common/IdGeneration/index.js +0 -17
  96. package/src/common/ItemRelationshipInfoTypes.d.ts +0 -46
  97. package/src/common/ItemRelationshipInfoTypes.js +0 -20
  98. package/src/common/ItemRelationships/ItemRelationshipValidation.d.ts +0 -10
  99. package/src/common/ItemRelationships/ItemRelationshipValidation.js +0 -43
  100. package/src/common/ItemRelationships/index.d.ts +0 -1
  101. package/src/common/ItemRelationships/index.js +0 -17
  102. package/src/common/Logging/Utils.d.ts +0 -10
  103. package/src/common/Logging/Utils.js +0 -33
  104. package/src/common/Logging/index.d.ts +0 -1
  105. package/src/common/Logging/index.js +0 -17
  106. package/src/common/Routing.d.ts +0 -25
  107. package/src/common/Routing.js +0 -102
  108. package/src/common/SearchTypes.d.ts +0 -98
  109. package/src/common/SearchTypes.js +0 -39
  110. package/src/common/SearchUtils.d.ts +0 -22
  111. package/src/common/SearchUtils.js +0 -134
  112. package/src/common/SearchValidation.d.ts +0 -17
  113. package/src/common/SearchValidation.js +0 -90
  114. package/src/common/Storyboarding/Types.d.ts +0 -25
  115. package/src/common/Storyboarding/Types.js +0 -2
  116. package/src/common/StringTransformers.d.ts +0 -17
  117. package/src/common/StringTransformers.js +0 -36
  118. package/src/common/Testing/CLI.d.ts +0 -2
  119. package/src/common/Testing/CLI.js +0 -56
  120. package/src/common/Testing/Types.d.ts +0 -117
  121. package/src/common/Testing/Types.js +0 -19
  122. package/src/common/Testing/Utils.d.ts +0 -48
  123. package/src/common/Testing/Utils.js +0 -334
  124. package/src/common/Testing/index.d.ts +0 -2
  125. package/src/common/Testing/index.js +0 -18
  126. package/src/common/TypeInfoDataItemUtils.d.ts +0 -10
  127. package/src/common/TypeInfoDataItemUtils.js +0 -55
  128. package/src/common/TypeInfoORM/Types.d.ts +0 -76
  129. package/src/common/TypeInfoORM/Types.js +0 -55
  130. package/src/common/TypeInfoORM/index.d.ts +0 -1
  131. package/src/common/TypeInfoORM/index.js +0 -17
  132. package/src/common/TypeParsing/Constants.d.ts +0 -1
  133. package/src/common/TypeParsing/Constants.js +0 -4
  134. package/src/common/TypeParsing/ParsingUtils/Constants.d.ts +0 -5
  135. package/src/common/TypeParsing/ParsingUtils/Constants.js +0 -8
  136. package/src/common/TypeParsing/ParsingUtils/checkType.d.ts +0 -8
  137. package/src/common/TypeParsing/ParsingUtils/checkType.js +0 -46
  138. package/src/common/TypeParsing/ParsingUtils/checkUnionType.d.ts +0 -6
  139. package/src/common/TypeParsing/ParsingUtils/checkUnionType.js +0 -15
  140. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +0 -2
  141. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.js +0 -105
  142. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +0 -6
  143. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.js +0 -42
  144. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +0 -8
  145. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.js +0 -14
  146. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +0 -5
  147. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.js +0 -27
  148. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +0 -3
  149. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.js +0 -27
  150. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +0 -3
  151. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.js +0 -44
  152. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +0 -4
  153. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.js +0 -28
  154. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +0 -4
  155. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.js +0 -105
  156. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +0 -4
  157. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.js +0 -20
  158. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +0 -3
  159. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.js +0 -17
  160. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +0 -4
  161. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.js +0 -49
  162. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +0 -2
  163. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.js +0 -24
  164. package/src/common/TypeParsing/TypeInfo.d.ts +0 -142
  165. package/src/common/TypeParsing/TypeInfo.js +0 -13
  166. package/src/common/TypeParsing/TypeMapping.d.ts +0 -9
  167. package/src/common/TypeParsing/TypeMapping.js +0 -32
  168. package/src/common/TypeParsing/TypeParsing.d.ts +0 -5
  169. package/src/common/TypeParsing/TypeParsing.js +0 -39
  170. package/src/common/TypeParsing/Utils.d.ts +0 -21
  171. package/src/common/TypeParsing/Utils.js +0 -94
  172. package/src/common/TypeParsing/Validation.d.ts +0 -92
  173. package/src/common/TypeParsing/Validation.js +0 -340
  174. package/src/common/TypeParsing/index.d.ts +0 -5
  175. package/src/common/TypeParsing/index.js +0 -44
  176. package/src/common/index.d.ts +0 -11
  177. package/src/common/index.js +0 -47
  178. package/src/iac/SimpleCFT.d.ts +0 -48
  179. package/src/iac/SimpleCFT.js +0 -82
  180. package/src/iac/index.d.ts +0 -9
  181. package/src/iac/index.js +0 -48
  182. package/src/iac/packs/auth/user-management.d.ts +0 -14
  183. package/src/iac/packs/auth/user-management.js +0 -302
  184. package/src/iac/packs/auth.d.ts +0 -19
  185. package/src/iac/packs/auth.js +0 -47
  186. package/src/iac/packs/build/utils.d.ts +0 -100
  187. package/src/iac/packs/build/utils.js +0 -23
  188. package/src/iac/packs/build.d.ts +0 -29
  189. package/src/iac/packs/build.js +0 -217
  190. package/src/iac/packs/cdn.d.ts +0 -12
  191. package/src/iac/packs/cdn.js +0 -126
  192. package/src/iac/packs/cloud-function.d.ts +0 -17
  193. package/src/iac/packs/cloud-function.js +0 -69
  194. package/src/iac/packs/database.d.ts +0 -29
  195. package/src/iac/packs/database.js +0 -27
  196. package/src/iac/packs/dns.d.ts +0 -13
  197. package/src/iac/packs/dns.js +0 -26
  198. package/src/iac/packs/file-storage.d.ts +0 -14
  199. package/src/iac/packs/file-storage.js +0 -71
  200. package/src/iac/packs/gateway.d.ts +0 -27
  201. package/src/iac/packs/gateway.js +0 -342
  202. package/src/iac/packs/index.d.ts +0 -11
  203. package/src/iac/packs/index.js +0 -27
  204. package/src/iac/packs/repo.d.ts +0 -10
  205. package/src/iac/packs/repo.js +0 -34
  206. package/src/iac/packs/ssl-certificate.d.ts +0 -10
  207. package/src/iac/packs/ssl-certificate.js +0 -36
  208. package/src/iac/types/CloudFormationResourceSpecification.d.ts +0 -2
  209. package/src/iac/types/Constants.d.ts +0 -9
  210. package/src/iac/types/Constants.js +0 -20
  211. package/src/iac/types/IaCTypes.js +0 -14
  212. package/src/iac/types/Renderers.d.ts +0 -12
  213. package/src/iac/types/Renderers.js +0 -112
  214. package/src/iac/types/Types.d.ts +0 -37
  215. package/src/iac/types/Types.js +0 -2
  216. package/src/iac/types/Utils.d.ts +0 -2
  217. package/src/iac/types/Utils.js +0 -60
  218. package/src/iac/types/generate.d.ts +0 -1
  219. package/src/iac/types/generate.js +0 -31
  220. package/src/iac/utils/index.d.ts +0 -36
  221. package/src/iac/utils/index.js +0 -105
  222. package/src/iac/utils/patch-utils.d.ts +0 -15
  223. package/src/iac/utils/patch-utils.js +0 -62
  224. package/src/index.d.ts +0 -178
  225. package/src/index.js +0 -214
@@ -1,217 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addBuildPipeline = exports.DEFAULT_BUILD_PIPELINE_REPO_PROVIDER = void 0;
4
- const utils_1 = require("../utils");
5
- exports.DEFAULT_BUILD_PIPELINE_REPO_PROVIDER = "GitHub";
6
- /**
7
- * Add a build pipeline with full permissions.
8
- */
9
- exports.addBuildPipeline = (0, utils_1.createResourcePack)(({ id, buildSpec, dependsOn, environmentVariables, timeoutInMinutes = 10, environmentType = "LINUX_CONTAINER", environmentComputeType = "BUILD_GENERAL1_SMALL", environmentImage = "aws/codebuild/nodejs:10.14.1", repoConfig: { provider = exports.DEFAULT_BUILD_PIPELINE_REPO_PROVIDER, owner, repo, branch, oauthToken, }, }) => ({
10
- Resources: {
11
- [`${id}CodeBuildRole`]: {
12
- Type: "AWS::IAM::Role",
13
- Properties: {
14
- AssumeRolePolicyDocument: {
15
- Statement: [
16
- {
17
- Effect: "Allow",
18
- Principal: {
19
- Service: ["codebuild.amazonaws.com"],
20
- },
21
- Action: ["sts:AssumeRole"],
22
- },
23
- ],
24
- },
25
- Path: "/",
26
- Policies: [
27
- {
28
- PolicyName: "codebuild-service",
29
- PolicyDocument: {
30
- Statement: [
31
- {
32
- Effect: "Allow",
33
- Action: "*",
34
- Resource: "*",
35
- },
36
- ],
37
- Version: "2012-10-17",
38
- },
39
- },
40
- ],
41
- },
42
- },
43
- [`${id}CodePipelineRole`]: {
44
- Type: "AWS::IAM::Role",
45
- Properties: {
46
- AssumeRolePolicyDocument: {
47
- Statement: [
48
- {
49
- Effect: "Allow",
50
- Principal: {
51
- Service: ["codepipeline.amazonaws.com"],
52
- },
53
- Action: ["sts:AssumeRole"],
54
- },
55
- ],
56
- },
57
- Path: "/",
58
- Policies: [
59
- {
60
- PolicyName: "codepipeline-service",
61
- PolicyDocument: {
62
- Statement: [
63
- {
64
- Action: ["codebuild:*"],
65
- Resource: "*",
66
- Effect: "Allow",
67
- },
68
- {
69
- Action: [
70
- "s3:GetObject",
71
- "s3:GetObjectVersion",
72
- "s3:GetBucketVersioning",
73
- ],
74
- Resource: "*",
75
- Effect: "Allow",
76
- },
77
- {
78
- Action: ["s3:PutObject"],
79
- Resource: ["arn:aws:s3:::codepipeline*"],
80
- Effect: "Allow",
81
- },
82
- {
83
- Action: ["s3:*", "cloudformation:*", "iam:PassRole"],
84
- Resource: "*",
85
- Effect: "Allow",
86
- },
87
- ],
88
- Version: "2012-10-17",
89
- },
90
- },
91
- ],
92
- },
93
- },
94
- [`${id}PipelineBucket`]: {
95
- Type: "AWS::S3::Bucket",
96
- DeletionPolicy: "Delete",
97
- Properties: {
98
- BucketEncryption: {
99
- ServerSideEncryptionConfiguration: [
100
- {
101
- ServerSideEncryptionByDefault: {
102
- SSEAlgorithm: "AES256",
103
- },
104
- },
105
- ],
106
- },
107
- PublicAccessBlockConfiguration: {
108
- BlockPublicAcls: true,
109
- BlockPublicPolicy: true,
110
- IgnorePublicAcls: true,
111
- RestrictPublicBuckets: true,
112
- },
113
- },
114
- },
115
- [`${id}CodeBuildAndDeploy`]: {
116
- Type: "AWS::CodeBuild::Project",
117
- DependsOn: dependsOn,
118
- Properties: {
119
- Name: {
120
- "Fn::Sub": `\${AWS::StackName}-${id}CodeBuildAndDeploy`,
121
- },
122
- Description: "Deploy site to S3",
123
- ServiceRole: {
124
- "Fn::GetAtt": [`${id}CodeBuildRole`, "Arn"],
125
- },
126
- Artifacts: {
127
- Type: "CODEPIPELINE",
128
- },
129
- Environment: {
130
- Type: environmentType,
131
- ComputeType: environmentComputeType,
132
- Image: environmentImage,
133
- EnvironmentVariables: environmentVariables,
134
- },
135
- Source: {
136
- Type: "CODEPIPELINE",
137
- BuildSpec: buildSpec,
138
- },
139
- TimeoutInMinutes: timeoutInMinutes,
140
- },
141
- },
142
- [`${id}Pipeline`]: {
143
- Type: "AWS::CodePipeline::Pipeline",
144
- DependsOn: `${id}CodeBuildAndDeploy`,
145
- Properties: {
146
- RoleArn: {
147
- "Fn::GetAtt": [`${id}CodePipelineRole`, "Arn"],
148
- },
149
- Stages: [
150
- {
151
- Name: "Acquire-Source",
152
- Actions: [
153
- {
154
- InputArtifacts: [],
155
- Name: "Source",
156
- ActionTypeId: {
157
- Category: "Source",
158
- Owner: "ThirdParty",
159
- Version: "1",
160
- Provider: provider,
161
- },
162
- OutputArtifacts: [
163
- {
164
- Name: "SourceOutput",
165
- },
166
- ],
167
- Configuration: {
168
- Owner: owner,
169
- Repo: repo,
170
- Branch: branch,
171
- OAuthToken: oauthToken,
172
- },
173
- RunOrder: 1,
174
- },
175
- ],
176
- },
177
- {
178
- Name: "Build-And-Deploy",
179
- Actions: [
180
- {
181
- Name: "Artifact",
182
- ActionTypeId: {
183
- Category: "Build",
184
- Owner: "AWS",
185
- Version: "1",
186
- Provider: "CodeBuild",
187
- },
188
- InputArtifacts: [
189
- {
190
- Name: "SourceOutput",
191
- },
192
- ],
193
- OutputArtifacts: [
194
- {
195
- Name: "DeployOutput",
196
- },
197
- ],
198
- Configuration: {
199
- ProjectName: {
200
- Ref: `${id}CodeBuildAndDeploy`,
201
- },
202
- },
203
- RunOrder: 1,
204
- },
205
- ],
206
- },
207
- ],
208
- ArtifactStore: {
209
- Type: "S3",
210
- Location: {
211
- Ref: `${id}PipelineBucket`,
212
- },
213
- },
214
- },
215
- },
216
- },
217
- }));
@@ -1,12 +0,0 @@
1
- export type AddCDNConfig = {
2
- id: string;
3
- hostedZoneId: any;
4
- domainName: any;
5
- certificateArn: any;
6
- fileStorageId: string;
7
- };
8
- /**
9
- * Add a global cache of static files (a CDN) for things like your front-end, website, etc.
10
- * Includes a DNS record for the domain.
11
- * */
12
- export declare const addCDN: import("../utils").ResourcePackApplier<AddCDNConfig>;
@@ -1,126 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addCDN = void 0;
4
- const utils_1 = require("../utils");
5
- /**
6
- * Add a global cache of static files (a CDN) for things like your front-end, website, etc.
7
- * Includes a DNS record for the domain.
8
- * */
9
- exports.addCDN = (0, utils_1.createResourcePack)(({ id, hostedZoneId, domainName, certificateArn, fileStorageId, }) => {
10
- const oacId = `${id}OriginAccessControl`;
11
- return {
12
- Resources: {
13
- [oacId]: {
14
- Type: "AWS::CloudFront::OriginAccessControl",
15
- Properties: {
16
- OriginAccessControlConfig: {
17
- Name: oacId,
18
- OriginAccessControlOriginType: "s3",
19
- SigningBehavior: "always",
20
- SigningProtocol: "sigv4",
21
- },
22
- },
23
- },
24
- [id]: {
25
- Type: "AWS::CloudFront::Distribution",
26
- DependsOn: fileStorageId,
27
- Properties: {
28
- DistributionConfig: {
29
- Aliases: [domainName],
30
- ViewerCertificate: {
31
- AcmCertificateArn: certificateArn,
32
- SslSupportMethod: "sni-only",
33
- MinimumProtocolVersion: "TLSv1.1_2016",
34
- },
35
- DefaultCacheBehavior: {
36
- ForwardedValues: {
37
- QueryString: false,
38
- },
39
- TargetOriginId: {
40
- "Fn::Sub": [
41
- "S3-${S3BucketName}",
42
- {
43
- S3BucketName: domainName,
44
- },
45
- ],
46
- },
47
- ViewerProtocolPolicy: "redirect-to-https",
48
- },
49
- DefaultRootObject: "index.html",
50
- Enabled: true,
51
- IPV6Enabled: false,
52
- HttpVersion: "http2",
53
- Origins: [
54
- {
55
- DomainName: {
56
- "Fn::Sub": [
57
- "${S3BucketName}.s3.amazonaws.com",
58
- {
59
- S3BucketName: domainName,
60
- },
61
- ],
62
- },
63
- Id: {
64
- "Fn::Sub": [
65
- "S3-${S3BucketName}",
66
- {
67
- S3BucketName: domainName,
68
- },
69
- ],
70
- },
71
- OriginAccessControlId: { Ref: oacId },
72
- S3OriginConfig: {
73
- OriginAccessIdentity: "",
74
- },
75
- },
76
- ],
77
- CustomErrorResponses: [
78
- {
79
- ErrorCachingMinTTL: 300,
80
- ErrorCode: 404,
81
- ResponseCode: 200,
82
- ResponsePagePath: "/index.html",
83
- },
84
- {
85
- ErrorCachingMinTTL: 300,
86
- ErrorCode: 403,
87
- ResponseCode: 200,
88
- ResponsePagePath: "/index.html",
89
- },
90
- ],
91
- PriceClass: "PriceClass_All",
92
- },
93
- },
94
- },
95
- [`${id}Route53Record`]: {
96
- Type: "AWS::Route53::RecordSet",
97
- DependsOn: [id],
98
- Properties: {
99
- HostedZoneId: hostedZoneId,
100
- Type: "A",
101
- Name: {
102
- "Fn::Sub": [
103
- "${DomainName}.",
104
- {
105
- DomainName: domainName,
106
- },
107
- ],
108
- },
109
- AliasTarget: {
110
- HostedZoneId: "Z2FDTNDATAQYW2",
111
- DNSName: {
112
- "Fn::Sub": [
113
- "${DomainName}.",
114
- {
115
- DomainName: {
116
- "Fn::GetAtt": [id, "DomainName"],
117
- },
118
- },
119
- ],
120
- },
121
- },
122
- },
123
- },
124
- },
125
- };
126
- });
@@ -1,17 +0,0 @@
1
- import { AWS } from "../types/IaCTypes";
2
- export declare const PLACEHOLDER_FUNCTION_CODE: AWS.Lambda.Function.Code;
3
- export type CloudFunctionRuntime = "nodejs14.x" | "nodejs16.x" | "nodejs18.x" | "nodejs20.x" | "nodejs22.x" | "nodejs24.x" | "nodejs26.x" | "python3.8" | "python3.9" | "python3.10" | "python3.11" | "python3.12" | "python3.13" | "python3.14" | "python3.15" | "java11" | "java17" | "java21" | "java25" | "dotnet6" | "dotnet8" | "dotnet10" | "go1.x" | "ruby2.7" | "ruby3.2" | "ruby3.3" | "ruby3.4" | "ruby3.5" | "provided" | "provided.al2" | "provided.al2023";
4
- export type AddCloudFunctionConfig = {
5
- id: string;
6
- code?: AWS.Lambda.Function.Code;
7
- environment?: AWS.Lambda.Function.Environment;
8
- handler?: any;
9
- runtime?: CloudFunctionRuntime;
10
- timeout?: any;
11
- policies?: AWS.IAM.Role.Policy[];
12
- };
13
- /**
14
- * Add a serverless cloud function to run part or all of your API (back-end) without always running servers.
15
- *
16
- * */
17
- export declare const addCloudFunction: import("../utils").ResourcePackApplier<AddCloudFunctionConfig>;
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addCloudFunction = exports.PLACEHOLDER_FUNCTION_CODE = void 0;
4
- const utils_1 = require("../utils");
5
- exports.PLACEHOLDER_FUNCTION_CODE = {
6
- ZipFile: "module.exports = {handler: async () => ({\n statusCode: 200,\n headers: {'Content-Type': 'application/json'},\n body: '\"You did it!\"'\n })};\n",
7
- };
8
- /**
9
- * Add a serverless cloud function to run part or all of your API (back-end) without always running servers.
10
- *
11
- * */
12
- exports.addCloudFunction = (0, utils_1.createResourcePack)(({ id, code = exports.PLACEHOLDER_FUNCTION_CODE, environment = {
13
- Variables: {
14
- NODE_ENV: "production",
15
- },
16
- }, handler = "index.handler", runtime = "nodejs26.x", timeout = 30, policies = [
17
- {
18
- PolicyName: "lambda-parameter-store",
19
- PolicyDocument: {
20
- Version: "2012-10-17",
21
- Statement: [
22
- {
23
- Effect: "Allow",
24
- Action: ["*"],
25
- Resource: "*",
26
- },
27
- ],
28
- },
29
- },
30
- ], }) => {
31
- return {
32
- Resources: {
33
- [`${id}Role`]: {
34
- Type: "AWS::IAM::Role",
35
- Properties: {
36
- ManagedPolicyArns: [
37
- "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole",
38
- ],
39
- AssumeRolePolicyDocument: {
40
- Version: "2012-10-17",
41
- Statement: [
42
- {
43
- Action: ["sts:AssumeRole"],
44
- Effect: "Allow",
45
- Principal: {
46
- Service: ["lambda.amazonaws.com"],
47
- },
48
- },
49
- ],
50
- },
51
- Policies: policies,
52
- },
53
- },
54
- [id]: {
55
- Type: "AWS::Lambda::Function",
56
- Properties: {
57
- Timeout: timeout,
58
- Code: code,
59
- Environment: environment,
60
- Handler: handler,
61
- Role: {
62
- "Fn::GetAtt": [`${id}Role`, "Arn"],
63
- },
64
- Runtime: runtime,
65
- },
66
- },
67
- },
68
- };
69
- });
@@ -1,29 +0,0 @@
1
- /**
2
- * The configuration for adding a database to a stack.
3
- * */
4
- export type AddDatabaseConfig = {
5
- /**
6
- * The id of the database table in a stack.
7
- * */
8
- tableId: string;
9
- /**
10
- * The name of the database table.
11
- * */
12
- tableName?: string;
13
- /**
14
- * The keys for the database table.
15
- * */
16
- keys: Record<string, "HASH" | "RANGE">;
17
- /**
18
- * Specific attributes for the database table.
19
- * */
20
- attributes: Record<string, "S" | "N" | "B" | "BOOL" | "NULL" | "M" | "L" | "SS" | "NS" | "BS">;
21
- /**
22
- * The billing mode for the database table.
23
- * */
24
- billingMode?: "PAY_PER_REQUEST" | "PROVISIONED";
25
- };
26
- /**
27
- * Add a highly available key-value database with global scale performance.
28
- * */
29
- export declare const addDatabase: import("../utils").ResourcePackApplier<AddDatabaseConfig>;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addDatabase = void 0;
4
- const utils_1 = require("../utils");
5
- const SimpleCFT_1 = require("../SimpleCFT");
6
- /**
7
- * Add a highly available key-value database with global scale performance.
8
- * */
9
- exports.addDatabase = (0, utils_1.createResourcePack)(({ tableId, tableName, keys, attributes, billingMode = "PAY_PER_REQUEST", }) => new SimpleCFT_1.SimpleCFT().patch({
10
- Resources: {
11
- [tableId]: {
12
- Type: "AWS::DynamoDB::Table",
13
- Properties: {
14
- TableName: tableName,
15
- AttributeDefinitions: Object.keys(attributes).map((attributeName) => ({
16
- AttributeName: attributeName,
17
- AttributeType: attributes[attributeName],
18
- })),
19
- KeySchema: Object.keys(keys).map((keyName) => ({
20
- AttributeName: keyName,
21
- KeyType: keys[keyName],
22
- })),
23
- BillingMode: billingMode,
24
- },
25
- },
26
- },
27
- }).template);
@@ -1,13 +0,0 @@
1
- import { CloudFormationPrimitiveValue } from "../types/IaCTypes";
2
- export type AddDNSConfig = {
3
- id: string;
4
- hostedZoneId: CloudFormationPrimitiveValue<string>;
5
- domainName: CloudFormationPrimitiveValue<string>;
6
- resourceRecords: CloudFormationPrimitiveValue<string>[];
7
- recordType?: CloudFormationPrimitiveValue<string>;
8
- };
9
- /**
10
- * Add DNS parameters for reference in other resources.
11
- * Optionally includes a front-end live development subdomain.
12
- * */
13
- export declare const addDNS: import("../utils").ResourcePackApplier<AddDNSConfig>;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addDNS = void 0;
4
- const utils_1 = require("../utils");
5
- const SimpleCFT_1 = require("../SimpleCFT");
6
- /**
7
- * Add DNS parameters for reference in other resources.
8
- * Optionally includes a front-end live development subdomain.
9
- * */
10
- exports.addDNS = (0, utils_1.createResourcePack)(({ id, hostedZoneId, domainName, resourceRecords, recordType = "A", }) => {
11
- let cft = new SimpleCFT_1.SimpleCFT().patch({
12
- Resources: {
13
- [id]: {
14
- Type: "AWS::Route53::RecordSet",
15
- Properties: {
16
- HostedZoneId: hostedZoneId,
17
- Type: recordType,
18
- Name: domainName,
19
- ResourceRecords: resourceRecords,
20
- TTL: "300",
21
- },
22
- },
23
- },
24
- });
25
- return cft.template;
26
- });
@@ -1,14 +0,0 @@
1
- import { AWS } from "../types/IaCTypes";
2
- export type AddSecureFileStorageConfig = {
3
- id: string;
4
- bucketName?: any;
5
- shouldDelete?: boolean;
6
- blockPublicAccess?: boolean;
7
- cors?: AWS.S3.Bucket["Properties"]["CorsConfiguration"] | boolean;
8
- accessControl?: AWS.S3.Bucket["Properties"]["AccessControl"];
9
- allowACLs?: boolean;
10
- };
11
- /**
12
- * Add a secure S3 Bucket with an optional parameter to set the bucket name.
13
- * */
14
- export declare const addSecureFileStorage: import("../utils").ResourcePackApplier<AddSecureFileStorageConfig>;
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addSecureFileStorage = void 0;
4
- const utils_1 = require("../utils");
5
- /**
6
- * Add a secure S3 Bucket with an optional parameter to set the bucket name.
7
- * */
8
- exports.addSecureFileStorage = (0, utils_1.createResourcePack)(({ id, bucketName, shouldDelete = true, blockPublicAccess = true, cors = false, accessControl = undefined, allowACLs = false, }) => {
9
- return {
10
- Resources: {
11
- [id]: {
12
- Type: "AWS::S3::Bucket",
13
- DeletionPolicy: shouldDelete ? "Delete" : "Retain",
14
- Properties: {
15
- BucketName: bucketName,
16
- AccessControl: accessControl,
17
- OwnershipControls: allowACLs
18
- ? {
19
- Rules: [
20
- {
21
- ObjectOwnership: "ObjectWriter",
22
- },
23
- ],
24
- }
25
- : undefined,
26
- CorsConfiguration: typeof cors === "object"
27
- ? cors
28
- : cors === true
29
- ? {
30
- CorsRules: [
31
- {
32
- AllowedHeaders: ["*"],
33
- AllowedMethods: [
34
- "GET",
35
- "PUT",
36
- "POST",
37
- "DELETE",
38
- "HEAD",
39
- ],
40
- AllowedOrigins: ["*"],
41
- },
42
- ],
43
- }
44
- : undefined,
45
- BucketEncryption: {
46
- ServerSideEncryptionConfiguration: [
47
- {
48
- ServerSideEncryptionByDefault: {
49
- SSEAlgorithm: "AES256",
50
- },
51
- },
52
- ],
53
- },
54
- PublicAccessBlockConfiguration: blockPublicAccess
55
- ? {
56
- BlockPublicAcls: true,
57
- BlockPublicPolicy: true,
58
- IgnorePublicAcls: true,
59
- RestrictPublicBuckets: true,
60
- }
61
- : {
62
- BlockPublicAcls: false,
63
- BlockPublicPolicy: false,
64
- IgnorePublicAcls: false,
65
- RestrictPublicBuckets: false,
66
- },
67
- },
68
- },
69
- },
70
- };
71
- });
@@ -1,27 +0,0 @@
1
- import { CloudFormationPrimitiveValue } from "../types/IaCTypes";
2
- export declare const DEFAULT_AUTH_TYPE = "COGNITO_USER_POOLS";
3
- export type AddGatewayAuthorizerConfig = {
4
- providerARNs?: string[];
5
- scopes?: string[];
6
- type?: "TOKEN" | "COGNITO_USER_POOLS" | "REQUEST";
7
- identitySource?: string;
8
- };
9
- export type AddGatewayConfig = {
10
- id: string;
11
- hostedZoneId: any;
12
- domainName: any;
13
- certificateArn: CloudFormationPrimitiveValue<string>;
14
- cloudFunction: {
15
- id: string;
16
- region?: string;
17
- };
18
- stageName?: any;
19
- authorizer?: AddGatewayAuthorizerConfig | boolean;
20
- deploymentSuffix?: string;
21
- };
22
- /**
23
- * Add a load-balanced API gateway for your serverless cloud function.
24
- * Includes authorization config that connects your user management system to your cloud function.
25
- * Also includes a DNS record for your API/back-end.
26
- * */
27
- export declare const addGateway: import("../utils").ResourcePackApplier<AddGatewayConfig>;