alchemy 2.0.0-beta.17 → 2.0.0-beta.18

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 (57) hide show
  1. package/bin/alchemy.js +1 -1
  2. package/bin/alchemy.js.map +1 -1
  3. package/lib/AWS/CloudFront/CachePolicy.d.ts +106 -0
  4. package/lib/AWS/CloudFront/CachePolicy.d.ts.map +1 -0
  5. package/lib/AWS/CloudFront/CachePolicy.js +147 -0
  6. package/lib/AWS/CloudFront/CachePolicy.js.map +1 -0
  7. package/lib/AWS/CloudFront/KeyGroup.d.ts +72 -0
  8. package/lib/AWS/CloudFront/KeyGroup.d.ts.map +1 -0
  9. package/lib/AWS/CloudFront/KeyGroup.js +136 -0
  10. package/lib/AWS/CloudFront/KeyGroup.js.map +1 -0
  11. package/lib/AWS/CloudFront/OriginRequestPolicy.d.ts +84 -0
  12. package/lib/AWS/CloudFront/OriginRequestPolicy.d.ts.map +1 -0
  13. package/lib/AWS/CloudFront/OriginRequestPolicy.js +139 -0
  14. package/lib/AWS/CloudFront/OriginRequestPolicy.js.map +1 -0
  15. package/lib/AWS/CloudFront/PublicKey.d.ts +72 -0
  16. package/lib/AWS/CloudFront/PublicKey.d.ts.map +1 -0
  17. package/lib/AWS/CloudFront/PublicKey.js +137 -0
  18. package/lib/AWS/CloudFront/PublicKey.js.map +1 -0
  19. package/lib/AWS/CloudFront/ResponseHeadersPolicy.d.ts +114 -0
  20. package/lib/AWS/CloudFront/ResponseHeadersPolicy.d.ts.map +1 -0
  21. package/lib/AWS/CloudFront/ResponseHeadersPolicy.js +162 -0
  22. package/lib/AWS/CloudFront/ResponseHeadersPolicy.js.map +1 -0
  23. package/lib/AWS/CloudFront/index.d.ts +5 -0
  24. package/lib/AWS/CloudFront/index.d.ts.map +1 -1
  25. package/lib/AWS/CloudFront/index.js +5 -0
  26. package/lib/AWS/CloudFront/index.js.map +1 -1
  27. package/lib/AWS/ECS/CapacityProvider.d.ts +102 -0
  28. package/lib/AWS/ECS/CapacityProvider.d.ts.map +1 -0
  29. package/lib/AWS/ECS/CapacityProvider.js +217 -0
  30. package/lib/AWS/ECS/CapacityProvider.js.map +1 -0
  31. package/lib/AWS/ECS/index.d.ts +1 -0
  32. package/lib/AWS/ECS/index.d.ts.map +1 -1
  33. package/lib/AWS/ECS/index.js +1 -0
  34. package/lib/AWS/ECS/index.js.map +1 -1
  35. package/lib/AWS/Providers.d.ts.map +1 -1
  36. package/lib/AWS/Providers.js +7 -1
  37. package/lib/AWS/Providers.js.map +1 -1
  38. package/lib/GitHub/Secrets.d.ts +45 -0
  39. package/lib/GitHub/Secrets.d.ts.map +1 -0
  40. package/lib/GitHub/Secrets.js +30 -0
  41. package/lib/GitHub/Secrets.js.map +1 -0
  42. package/lib/GitHub/index.d.ts +1 -0
  43. package/lib/GitHub/index.d.ts.map +1 -1
  44. package/lib/GitHub/index.js +1 -0
  45. package/lib/GitHub/index.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/AWS/CloudFront/CachePolicy.ts +271 -0
  48. package/src/AWS/CloudFront/KeyGroup.ts +233 -0
  49. package/src/AWS/CloudFront/OriginRequestPolicy.ts +256 -0
  50. package/src/AWS/CloudFront/PublicKey.ts +245 -0
  51. package/src/AWS/CloudFront/ResponseHeadersPolicy.ts +308 -0
  52. package/src/AWS/CloudFront/index.ts +11 -0
  53. package/src/AWS/ECS/CapacityProvider.ts +336 -0
  54. package/src/AWS/ECS/index.ts +4 -0
  55. package/src/AWS/Providers.ts +12 -0
  56. package/src/GitHub/Secrets.ts +66 -0
  57. package/src/GitHub/index.ts +1 -0
@@ -49,13 +49,18 @@ export const providers = () =>
49
49
  AutoScaling.AutoScalingGroup,
50
50
  AutoScaling.LaunchTemplate,
51
51
  AutoScaling.ScalingPolicy,
52
+ CloudFront.CachePolicy,
52
53
  CloudFront.Distribution,
53
54
  CloudFront.Function,
54
55
  CloudFront.Invalidation,
56
+ CloudFront.KeyGroup,
55
57
  CloudFront.KeyValueStore,
56
58
  CloudFront.KvEntries,
57
59
  CloudFront.KvRoutesUpdate,
58
60
  CloudFront.OriginAccessControl,
61
+ CloudFront.OriginRequestPolicy,
62
+ CloudFront.PublicKey,
63
+ CloudFront.ResponseHeadersPolicy,
59
64
  CloudWatch.Alarm,
60
65
  CloudWatch.AlarmMuteRule,
61
66
  CloudWatch.AnomalyDetector,
@@ -124,6 +129,7 @@ export const providers = () =>
124
129
  EC2.Vpc,
125
130
  EC2.VpcEndpoint,
126
131
  ECR.Repository,
132
+ ECS.CapacityProvider,
127
133
  ECS.Cluster,
128
134
  ECS.DescribeTasksPolicy,
129
135
  ECS.ListTasksPolicy,
@@ -282,13 +288,18 @@ export const providers = () =>
282
288
  AutoScaling.AutoScalingGroupProvider(),
283
289
  AutoScaling.LaunchTemplateProvider(),
284
290
  AutoScaling.ScalingPolicyProvider(),
291
+ CloudFront.CachePolicyProvider(),
285
292
  CloudFront.DistributionProvider(),
286
293
  CloudFront.FunctionProvider(),
287
294
  CloudFront.InvalidationProvider(),
295
+ CloudFront.KeyGroupProvider(),
288
296
  CloudFront.KeyValueStoreProvider(),
289
297
  CloudFront.KvEntriesProvider(),
290
298
  CloudFront.KvRoutesUpdateProvider(),
291
299
  CloudFront.OriginAccessControlProvider(),
300
+ CloudFront.OriginRequestPolicyProvider(),
301
+ CloudFront.PublicKeyProvider(),
302
+ CloudFront.ResponseHeadersPolicyProvider(),
292
303
  CloudWatch.AlarmMuteRuleProvider(),
293
304
  CloudWatch.AlarmProvider(),
294
305
  CloudWatch.AnomalyDetectorProvider(),
@@ -357,6 +368,7 @@ export const providers = () =>
357
368
  EC2.VpcEndpointProvider(),
358
369
  EC2.VpcProvider(),
359
370
  ECR.RepositoryProvider(),
371
+ ECS.CapacityProviderProvider(),
360
372
  ECS.ClusterProvider(),
361
373
  ECS.DescribeTasksPolicyLive,
362
374
  ECS.ListTasksPolicyLive,
@@ -0,0 +1,66 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Redacted from "effect/Redacted";
3
+
4
+ import type { Input } from "../Input.ts";
5
+ import { Secret } from "./Secret.ts";
6
+
7
+ export interface SecretsProps {
8
+ /**
9
+ * Repository owner (user or organization).
10
+ */
11
+ owner: string;
12
+
13
+ /**
14
+ * Repository name.
15
+ */
16
+ repository: string;
17
+
18
+ /**
19
+ * Optional environment name. When set every secret is scoped to that
20
+ * GitHub Actions environment instead of the whole repository.
21
+ */
22
+ environment?: string;
23
+
24
+ /**
25
+ * Map of secret name to value. Plain strings are wrapped with
26
+ * `Redacted.make`; already-redacted values are passed through.
27
+ */
28
+ secrets: Record<string, Input<string | Redacted.Redacted<string>>>;
29
+ }
30
+
31
+ /**
32
+ * Bulk-creates a set of {@link Secret}s in the same repository (and
33
+ * optionally the same environment).
34
+ *
35
+ * Each entry in `secrets` becomes one `GitHub.Secret` resource, using the
36
+ * map key as both the alchemy logical id and the secret name.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * yield* GitHub.Secrets({
41
+ * owner: "alchemy-run",
42
+ * repository: "alchemy-effect",
43
+ * secrets: {
44
+ * AXIOM_INGEST_TOKEN: tokenValue,
45
+ * AXIOM_DATASET_TRACES: traces.name,
46
+ * },
47
+ * });
48
+ * ```
49
+ */
50
+ export const Secrets = ({
51
+ owner,
52
+ repository,
53
+ environment,
54
+ secrets,
55
+ }: SecretsProps) =>
56
+ Effect.all(
57
+ Object.entries(secrets).map(([name, value]) =>
58
+ Secret(name, {
59
+ owner,
60
+ repository,
61
+ environment,
62
+ name,
63
+ value: Redacted.make(value),
64
+ }),
65
+ ),
66
+ );
@@ -3,4 +3,5 @@ export * from "./Comment.ts";
3
3
  export { GitHubCredentials, fromEnv, fromToken } from "./Credentials.ts";
4
4
  export * from "./Providers.ts";
5
5
  export * from "./Secret.ts";
6
+ export * from "./Secrets.ts";
6
7
  export * from "./Variable.ts";