@anvil-cloud/sdk 0.0.11 → 0.0.13

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 (44) hide show
  1. package/app.ts +46 -1
  2. package/aws/bucket.ts +32 -8
  3. package/aws/index.ts +3 -0
  4. package/aws/lambda.ts +72 -7
  5. package/aws/svelteKitSite.ts +2 -2
  6. package/bin/app.d.ts +21 -1
  7. package/bin/app.js +10 -1
  8. package/bin/app.js.map +1 -1
  9. package/bin/aws/bucket.d.ts +25 -3
  10. package/bin/aws/bucket.js +6 -5
  11. package/bin/aws/bucket.js.map +1 -1
  12. package/bin/aws/index.d.ts +1 -0
  13. package/bin/aws/index.js +16 -0
  14. package/bin/aws/index.js.map +1 -1
  15. package/bin/aws/lambda.d.ts +55 -4
  16. package/bin/aws/lambda.js +19 -3
  17. package/bin/aws/lambda.js.map +1 -1
  18. package/bin/aws/svelteKitSite.d.ts +2 -2
  19. package/bin/gcp/function.js.map +1 -1
  20. package/bin/gcp/storageBucket.js.map +1 -1
  21. package/bin/index.d.ts +2 -1
  22. package/bin/index.js +2 -0
  23. package/bin/index.js.map +1 -1
  24. package/bin/package.json +2 -2
  25. package/bin/types/enums/aws/index.d.ts +53 -0
  26. package/bin/types/enums/aws/index.js +56 -0
  27. package/bin/types/enums/aws/index.js.map +1 -0
  28. package/bin/types/enums/index.d.ts +53 -0
  29. package/bin/types/enums/index.js +59 -0
  30. package/bin/types/enums/index.js.map +1 -0
  31. package/bin/types/index.d.ts +2 -1
  32. package/bin/types/index.js +3 -1
  33. package/bin/types/index.js.map +1 -1
  34. package/bin/types/input.d.ts +8 -0
  35. package/gcp/function.ts +1 -0
  36. package/gcp/storageBucket.ts +1 -0
  37. package/index.ts +4 -1
  38. package/package.json +2 -2
  39. package/tsconfig.json +2 -0
  40. package/types/enums/aws/index.ts +62 -0
  41. package/types/enums/index.ts +62 -0
  42. package/types/index.ts +2 -0
  43. package/types/input.ts +10 -0
  44. package/types/output.ts +1 -0
package/app.ts CHANGED
@@ -2,6 +2,27 @@ import * as pulumi from '@pulumi/pulumi';
2
2
  import * as aws from '@pulumi/aws';
3
3
  import * as gcp from '@pulumi/gcp';
4
4
 
5
+ // ── Compliance ─────────────────────────────────────────────
6
+
7
+ /**
8
+ * Supported compliance frameworks.
9
+ * Mirrors the Go ComplianceFramework constants in
10
+ * provider/internal/shared/compliance.go — keep in sync.
11
+ */
12
+ export type ComplianceFramework =
13
+ | 'soc2'
14
+ | 'iso27001'
15
+ | 'cis'
16
+ | 'pci-dss'
17
+ | 'hipaa'
18
+ | 'fedramp'
19
+ | 'hitrust'
20
+ | 'gdpr'
21
+ | 'soc1'
22
+ | 'irap'
23
+ | 'nist-csf'
24
+ | 'csa-star';
25
+
5
26
  // ── Types ──────────────────────────────────────────────────
6
27
 
7
28
  /**
@@ -51,6 +72,20 @@ export interface DefaultsConfig {
51
72
  * Per-resource tags override default tags.
52
73
  */
53
74
  tags?: Record<string, string>;
75
+
76
+ /**
77
+ * Compliance frameworks applied to all resources by default.
78
+ *
79
+ * Components inherit these automatically — no need to set compliance
80
+ * on each resource individually. Components can extend this list with
81
+ * additional frameworks; they never replace the app-level defaults.
82
+ *
83
+ * @example
84
+ * defaults: { compliance: ['soc2', 'iso27001'] }
85
+ * // Bucket with compliance: ['hipaa'] resolves to ['soc2', 'iso27001', 'hipaa']
86
+ * // Bucket with no compliance resolves to ['soc2', 'iso27001']
87
+ */
88
+ compliance?: ComplianceFramework[];
54
89
  }
55
90
 
56
91
  /**
@@ -120,12 +155,13 @@ function getCloud(key: string): string {
120
155
  * export default new App({
121
156
  * defaults: {
122
157
  * tags: { team: "platform" },
158
+ * compliance: ['soc2', 'iso27001'],
123
159
  * },
124
160
  * providers: {
125
161
  * "aws": { region: "ap-southeast-2" },
126
- * "aws.us": { region: "us-east-1" },
127
162
  * },
128
163
  * run(ctx) {
164
+ * // Inherits soc2 + iso27001 automatically
129
165
  * const bucket = new anvil.aws.Bucket("my-data", {
130
166
  * dataClassification: "sensitive",
131
167
  * });
@@ -149,6 +185,15 @@ export class App {
149
185
  const userTags = config.defaults?.tags ?? {};
150
186
  const mergedTags: Record<string, string> = { ...autoTags, ...userTags };
151
187
 
188
+ // ── Propagate compliance to Pulumi config ──────────
189
+ // The Go provider reads "anvil:compliance" to apply app-level compliance
190
+ // defaults to every resource. Serialised as comma-separated since
191
+ // Pulumi config values are strings.
192
+ const appCompliance = config.defaults?.compliance ?? [];
193
+ if (appCompliance.length > 0) {
194
+ pulumi.runtime.setConfig('anvil:compliance', appCompliance.join(','));
195
+ }
196
+
152
197
  // ── Create providers ───────────────────────────────
153
198
  const providers: Record<string, pulumi.ProviderResource> = {};
154
199
  const defaultProviders: Record<string, pulumi.ProviderResource> = {};
package/aws/bucket.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  import * as pulumi from "@pulumi/pulumi";
5
5
  import * as inputs from "../types/input";
6
6
  import * as outputs from "../types/output";
7
+ import * as enums from "../types/enums";
7
8
  import * as utilities from "../utilities";
8
9
 
9
10
  import * as pulumiAws from "@pulumi/aws";
@@ -43,16 +44,17 @@ export class Bucket extends pulumi.ComponentResource {
43
44
  * @param args The arguments to use to populate this resource's properties.
44
45
  * @param opts A bag of options that control this resource's behavior.
45
46
  */
46
- constructor(name: string, args: BucketArgs, opts?: pulumi.ComponentResourceOptions) {
47
+ constructor(name: string, args?: BucketArgs, opts?: pulumi.ComponentResourceOptions) {
47
48
  let resourceInputs: pulumi.Inputs = {};
48
49
  opts = opts || {};
49
50
  if (!opts.id) {
50
- if (args?.dataClassification === undefined && !opts.urn) {
51
- throw new Error("Missing required property 'dataClassification'");
52
- }
53
- resourceInputs["dataClassification"] = args?.dataClassification;
54
- resourceInputs["lifecycle"] = args?.lifecycle;
51
+ resourceInputs["encryption"] = args?.encryption;
52
+ resourceInputs["logging"] = args?.logging;
53
+ resourceInputs["retention"] = args?.retention;
54
+ resourceInputs["storageTransition"] = args?.storageTransition;
55
55
  resourceInputs["transform"] = args?.transform;
56
+ resourceInputs["versionRetention"] = args?.versionRetention;
57
+ resourceInputs["versioning"] = args?.versioning;
56
58
  resourceInputs["arn"] = undefined /*out*/;
57
59
  resourceInputs["bucketName"] = undefined /*out*/;
58
60
  } else {
@@ -152,7 +154,29 @@ export class Bucket extends pulumi.ComponentResource {
152
154
  * The set of arguments for constructing a Bucket resource.
153
155
  */
154
156
  export interface BucketArgs {
155
- dataClassification: pulumi.Input<string>;
156
- lifecycle?: pulumi.Input<number>;
157
+ /**
158
+ * Upgrade at-rest encryption to SSE-KMS. Set to "kms" to enable. SSE-S3 (AES256) is always on by default at no cost. SSE-KMS incurs KMS API call cost and is required by HIPAA, PCI-DSS, FedRAMP, and IRAP.
159
+ */
160
+ encryption?: pulumi.Input<string>;
161
+ /**
162
+ * Enable S3 server access logging to the centralised logging bucket created during `anvil bootstrap`. Required by most compliance frameworks for audit trails. Incurs storage cost. Default: false.
163
+ */
164
+ logging?: pulumi.Input<boolean>;
165
+ /**
166
+ * Enable Object Lock with a retention period in days (COMPLIANCE mode). Objects cannot be deleted or overwritten until the period expires. Required by PCI-DSS (365), FedRAMP (1095), HIPAA (2190). Must be set at bucket creation — changing requires bucket replacement. Default: 0 (disabled).
167
+ */
168
+ retention?: pulumi.Input<number>;
169
+ /**
170
+ * When to move objects to cheaper storage classes. Omit to use Intelligent-Tiering (recommended default). Only applies when no custom lifecycle is provided via transform.
171
+ */
172
+ storageTransition?: pulumi.Input<string>;
157
173
  transform?: pulumi.Input<inputs.aws.BucketTransformArgsArgs>;
174
+ /**
175
+ * How long non-current object versions are kept before automatic expiry. Strongly recommended when versioning is enabled to prevent unbounded storage growth. Default: keep forever.
176
+ */
177
+ versionRetention?: pulumi.Input<string>;
178
+ /**
179
+ * Enable versioning in non-production stages. Versioning is always enabled in production. Incurs additional storage cost per version. Default: false.
180
+ */
181
+ versioning?: pulumi.Input<boolean>;
158
182
  }
package/aws/index.ts CHANGED
@@ -21,6 +21,9 @@ export const SvelteKitSite: typeof import("./svelteKitSite").SvelteKitSite = nul
21
21
  utilities.lazyLoad(exports, ["SvelteKitSite"], () => require("./svelteKitSite"));
22
22
 
23
23
 
24
+ // Export enums:
25
+ export * from "../types/enums/aws";
26
+
24
27
  const _module = {
25
28
  version: utilities.getVersion(),
26
29
  construct: (name: string, type: string, urn: string): pulumi.Resource => {
package/aws/lambda.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  import * as pulumi from "@pulumi/pulumi";
5
5
  import * as inputs from "../types/input";
6
6
  import * as outputs from "../types/output";
7
+ import * as enums from "../types/enums";
7
8
  import * as utilities from "../utilities";
8
9
 
9
10
  import * as pulumiAws from "@pulumi/aws";
@@ -32,9 +33,13 @@ export class Lambda extends pulumi.ComponentResource {
32
33
  */
33
34
  declare public /*out*/ readonly arn: pulumi.Output<string>;
34
35
  /**
35
- * The name of the Lambda function.
36
+ * The physical name of the Lambda function.
36
37
  */
37
38
  declare public /*out*/ readonly functionName: pulumi.Output<string>;
39
+ /**
40
+ * The HTTPS endpoint URL when url: true. Empty string if URL is not enabled.
41
+ */
42
+ declare public /*out*/ readonly functionUrl: pulumi.Output<string | undefined>;
38
43
  /**
39
44
  * The ARN of the Lambda's IAM execution role.
40
45
  */
@@ -51,18 +56,34 @@ export class Lambda extends pulumi.ComponentResource {
51
56
  let resourceInputs: pulumi.Inputs = {};
52
57
  opts = opts || {};
53
58
  if (!opts.id) {
54
- if (args?.name === undefined && !opts.urn) {
55
- throw new Error("Missing required property 'name'");
59
+ if (args?.handler === undefined && !opts.urn) {
60
+ throw new Error("Missing required property 'handler'");
56
61
  }
57
- resourceInputs["name"] = args?.name;
62
+ if (args?.runtime === undefined && !opts.urn) {
63
+ throw new Error("Missing required property 'runtime'");
64
+ }
65
+ resourceInputs["architecture"] = args?.architecture;
66
+ resourceInputs["encryption"] = args?.encryption;
67
+ resourceInputs["entry"] = args?.entry;
68
+ resourceInputs["environment"] = args?.environment;
69
+ resourceInputs["handler"] = args?.handler;
70
+ resourceInputs["logRetention"] = args?.logRetention;
71
+ resourceInputs["memory"] = args?.memory;
72
+ resourceInputs["permissions"] = args?.permissions;
73
+ resourceInputs["runtime"] = args?.runtime;
74
+ resourceInputs["timeout"] = args?.timeout;
75
+ resourceInputs["tracing"] = args?.tracing;
58
76
  resourceInputs["transform"] = args?.transform;
77
+ resourceInputs["url"] = args?.url;
59
78
  resourceInputs["vpc"] = args?.vpc;
60
79
  resourceInputs["arn"] = undefined /*out*/;
61
80
  resourceInputs["functionName"] = undefined /*out*/;
81
+ resourceInputs["functionUrl"] = undefined /*out*/;
62
82
  resourceInputs["roleArn"] = undefined /*out*/;
63
83
  } else {
64
84
  resourceInputs["arn"] = undefined /*out*/;
65
85
  resourceInputs["functionName"] = undefined /*out*/;
86
+ resourceInputs["functionUrl"] = undefined /*out*/;
66
87
  resourceInputs["roleArn"] = undefined /*out*/;
67
88
  }
68
89
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
@@ -99,12 +120,56 @@ export class Lambda extends pulumi.ComponentResource {
99
120
  */
100
121
  export interface LambdaArgs {
101
122
  /**
102
- * The logical name of the Lambda function.
123
+ * CPU architecture. Default: arm64 (Graviton).
124
+ */
125
+ architecture?: pulumi.Input<enums.aws.LambdaArchitecture>;
126
+ /**
127
+ * Upgrade environment variable encryption to SSE-KMS. Set to "kms" to enable. Incurs KMS API call cost. Required by HIPAA, PCI-DSS, FedRAMP. Supply kmsKeyArn via transform["lambda"].
128
+ */
129
+ encryption?: pulumi.Input<string>;
130
+ /**
131
+ * Path to the function's entry point file, relative to the project root. e.g. "functions/api/index.ts". Omit to deploy a blank Lambda placeholder.
132
+ */
133
+ entry?: pulumi.Input<string>;
134
+ /**
135
+ * Environment variables available to the function at runtime. Supports plain strings and Pulumi outputs.
136
+ */
137
+ environment?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
138
+ /**
139
+ * The exported function name in the entry file. e.g. "handler" for `export const handler = ...`
140
+ */
141
+ handler: pulumi.Input<string>;
142
+ /**
143
+ * CloudWatch log group retention period. Default: "1y" (satisfies SOC 2, ISO 27001, PCI-DSS baseline).
103
144
  */
104
- name: pulumi.Input<string>;
145
+ logRetention?: pulumi.Input<enums.aws.LambdaLogRetention>;
146
+ /**
147
+ * Memory in MB. Valid: 128 to 32768 in 1MB increments. Default: 1024.
148
+ */
149
+ memory?: pulumi.Input<number>;
150
+ /**
151
+ * Inline IAM permissions added to the execution role. Use for ad-hoc access not covered by the grant system.
152
+ */
153
+ permissions?: pulumi.Input<pulumi.Input<inputs.aws.LambdaPermissionArgs>[]>;
154
+ /**
155
+ * The Lambda runtime identifier.
156
+ */
157
+ runtime: pulumi.Input<enums.aws.LambdaRuntime>;
158
+ /**
159
+ * Timeout in seconds. Valid: 1 to 900. Default: 5.
160
+ */
161
+ timeout?: pulumi.Input<number>;
162
+ /**
163
+ * Enable AWS X-Ray tracing. Incurs per-trace cost (~$5/million traces). Default: false.
164
+ */
165
+ tracing?: pulumi.Input<boolean>;
105
166
  transform?: pulumi.Input<inputs.aws.LambdaTransformArgsArgs>;
106
167
  /**
107
- * The ID of the AWS VPC to deploy this function into.
168
+ * Enable a direct HTTPS endpoint for the function. Auth mode is AWS_IAM never public. Default: false.
169
+ */
170
+ url?: pulumi.Input<boolean>;
171
+ /**
172
+ * VPC ID to place the Lambda in for access to private resources (RDS, ElastiCache, etc.).
108
173
  */
109
174
  vpc?: pulumi.Input<string>;
110
175
  }
@@ -64,12 +64,12 @@ export class SvelteKitSite extends pulumi.ComponentResource {
64
64
  export interface SvelteKitSiteArgs {
65
65
  domain?: pulumi.Input<string>;
66
66
  /**
67
- * Environment vars available at BOTH build time and runtime. Values must be string literals since they're needed before the build runs. Available in SvelteKit's $env/static (build) and $env/dynamic (runtime).
67
+ * Environment vars available at BOTH build time and runtime. Values must be string literals since they're needed before the build runs.
68
68
  */
69
69
  environment?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
70
70
  path?: pulumi.Input<string>;
71
71
  /**
72
- * Runtime-only environment vars set on the Lambda function. Supports Pulumi Output values (e.g. bucket.name, fn.arn). Only available in SvelteKit's $env/dynamic at request time, NOT during build/prerendering.
72
+ * Runtime-only environment vars set on the Lambda function. Supports Pulumi Output values (e.g. bucket.name, fn.arn). Only available at request time, NOT during build/prerendering.
73
73
  */
74
74
  runtimeEnvironment?: pulumi.Input<string>;
75
75
  transform?: pulumi.Input<string>;
package/bin/app.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  import * as pulumi from '@pulumi/pulumi';
2
+ /**
3
+ * Supported compliance frameworks.
4
+ * Mirrors the Go ComplianceFramework constants in
5
+ * provider/internal/shared/compliance.go — keep in sync.
6
+ */
7
+ export type ComplianceFramework = 'soc2' | 'iso27001' | 'cis' | 'pci-dss' | 'hipaa' | 'fedramp' | 'hitrust' | 'gdpr' | 'soc1' | 'irap' | 'nist-csf' | 'csa-star';
2
8
  /**
3
9
  * Context passed to the App's run callback.
4
10
  * This is the user's only interface to Anvil runtime information.
@@ -40,6 +46,19 @@ export interface DefaultsConfig {
40
46
  * Per-resource tags override default tags.
41
47
  */
42
48
  tags?: Record<string, string>;
49
+ /**
50
+ * Compliance frameworks applied to all resources by default.
51
+ *
52
+ * Components inherit these automatically — no need to set compliance
53
+ * on each resource individually. Components can extend this list with
54
+ * additional frameworks; they never replace the app-level defaults.
55
+ *
56
+ * @example
57
+ * defaults: { compliance: ['soc2', 'iso27001'] }
58
+ * // Bucket with compliance: ['hipaa'] resolves to ['soc2', 'iso27001', 'hipaa']
59
+ * // Bucket with no compliance resolves to ['soc2', 'iso27001']
60
+ */
61
+ compliance?: ComplianceFramework[];
43
62
  }
44
63
  /**
45
64
  * Configuration for the App class.
@@ -89,12 +108,13 @@ export interface AppConfig {
89
108
  * export default new App({
90
109
  * defaults: {
91
110
  * tags: { team: "platform" },
111
+ * compliance: ['soc2', 'iso27001'],
92
112
  * },
93
113
  * providers: {
94
114
  * "aws": { region: "ap-southeast-2" },
95
- * "aws.us": { region: "us-east-1" },
96
115
  * },
97
116
  * run(ctx) {
117
+ * // Inherits soc2 + iso27001 automatically
98
118
  * const bucket = new anvil.aws.Bucket("my-data", {
99
119
  * dataClassification: "sensitive",
100
120
  * });
package/bin/app.js CHANGED
@@ -29,12 +29,13 @@ function getCloud(key) {
29
29
  * export default new App({
30
30
  * defaults: {
31
31
  * tags: { team: "platform" },
32
+ * compliance: ['soc2', 'iso27001'],
32
33
  * },
33
34
  * providers: {
34
35
  * "aws": { region: "ap-southeast-2" },
35
- * "aws.us": { region: "us-east-1" },
36
36
  * },
37
37
  * run(ctx) {
38
+ * // Inherits soc2 + iso27001 automatically
38
39
  * const bucket = new anvil.aws.Bucket("my-data", {
39
40
  * dataClassification: "sensitive",
40
41
  * });
@@ -53,6 +54,14 @@ class App {
53
54
  const autoTags = { stage, project };
54
55
  const userTags = config.defaults?.tags ?? {};
55
56
  const mergedTags = { ...autoTags, ...userTags };
57
+ // ── Propagate compliance to Pulumi config ──────────
58
+ // The Go provider reads "anvil:compliance" to apply app-level compliance
59
+ // defaults to every resource. Serialised as comma-separated since
60
+ // Pulumi config values are strings.
61
+ const appCompliance = config.defaults?.compliance ?? [];
62
+ if (appCompliance.length > 0) {
63
+ pulumi.runtime.setConfig('anvil:compliance', appCompliance.join(','));
64
+ }
56
65
  // ── Create providers ───────────────────────────────
57
66
  const providers = {};
58
67
  const defaultProviders = {};
package/bin/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare class Bucket extends pulumi.ComponentResource {
22
22
  * @param args The arguments to use to populate this resource's properties.
23
23
  * @param opts A bag of options that control this resource's behavior.
24
24
  */
25
- constructor(name: string, args: BucketArgs, opts?: pulumi.ComponentResourceOptions);
25
+ constructor(name: string, args?: BucketArgs, opts?: pulumi.ComponentResourceOptions);
26
26
  /**
27
27
  * Grants read access (s3:GetObject, s3:ListBucket) on this bucket
28
28
  * to the target compute resource's execution role.
@@ -72,7 +72,29 @@ export declare class Bucket extends pulumi.ComponentResource {
72
72
  * The set of arguments for constructing a Bucket resource.
73
73
  */
74
74
  export interface BucketArgs {
75
- dataClassification: pulumi.Input<string>;
76
- lifecycle?: pulumi.Input<number>;
75
+ /**
76
+ * Upgrade at-rest encryption to SSE-KMS. Set to "kms" to enable. SSE-S3 (AES256) is always on by default at no cost. SSE-KMS incurs KMS API call cost and is required by HIPAA, PCI-DSS, FedRAMP, and IRAP.
77
+ */
78
+ encryption?: pulumi.Input<string>;
79
+ /**
80
+ * Enable S3 server access logging to the centralised logging bucket created during `anvil bootstrap`. Required by most compliance frameworks for audit trails. Incurs storage cost. Default: false.
81
+ */
82
+ logging?: pulumi.Input<boolean>;
83
+ /**
84
+ * Enable Object Lock with a retention period in days (COMPLIANCE mode). Objects cannot be deleted or overwritten until the period expires. Required by PCI-DSS (365), FedRAMP (1095), HIPAA (2190). Must be set at bucket creation — changing requires bucket replacement. Default: 0 (disabled).
85
+ */
86
+ retention?: pulumi.Input<number>;
87
+ /**
88
+ * When to move objects to cheaper storage classes. Omit to use Intelligent-Tiering (recommended default). Only applies when no custom lifecycle is provided via transform.
89
+ */
90
+ storageTransition?: pulumi.Input<string>;
77
91
  transform?: pulumi.Input<inputs.aws.BucketTransformArgsArgs>;
92
+ /**
93
+ * How long non-current object versions are kept before automatic expiry. Strongly recommended when versioning is enabled to prevent unbounded storage growth. Default: keep forever.
94
+ */
95
+ versionRetention?: pulumi.Input<string>;
96
+ /**
97
+ * Enable versioning in non-production stages. Versioning is always enabled in production. Incurs additional storage cost per version. Default: false.
98
+ */
99
+ versioning?: pulumi.Input<boolean>;
78
100
  }
package/bin/aws/bucket.js CHANGED
@@ -28,12 +28,13 @@ class Bucket extends pulumi.ComponentResource {
28
28
  let resourceInputs = {};
29
29
  opts = opts || {};
30
30
  if (!opts.id) {
31
- if (args?.dataClassification === undefined && !opts.urn) {
32
- throw new Error("Missing required property 'dataClassification'");
33
- }
34
- resourceInputs["dataClassification"] = args?.dataClassification;
35
- resourceInputs["lifecycle"] = args?.lifecycle;
31
+ resourceInputs["encryption"] = args?.encryption;
32
+ resourceInputs["logging"] = args?.logging;
33
+ resourceInputs["retention"] = args?.retention;
34
+ resourceInputs["storageTransition"] = args?.storageTransition;
36
35
  resourceInputs["transform"] = args?.transform;
36
+ resourceInputs["versionRetention"] = args?.versionRetention;
37
+ resourceInputs["versioning"] = args?.versioning;
37
38
  resourceInputs["arn"] = undefined /*out*/;
38
39
  resourceInputs["bucketName"] = undefined /*out*/;
39
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bucket.js","sourceRoot":"","sources":["../../aws/bucket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bucket.js","sourceRoot":"","sources":["../../aws/bucket.ts"],"names":[],"mappings":"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"}
@@ -7,3 +7,4 @@ export declare const Lambda: typeof import("./lambda").Lambda;
7
7
  export { SvelteKitSiteArgs } from "./svelteKitSite";
8
8
  export type SvelteKitSite = import("./svelteKitSite").SvelteKitSite;
9
9
  export declare const SvelteKitSite: typeof import("./svelteKitSite").SvelteKitSite;
10
+ export * from "../types/enums/aws";
package/bin/aws/index.js CHANGED
@@ -1,6 +1,20 @@
1
1
  "use strict";
2
2
  // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
4
18
  Object.defineProperty(exports, "__esModule", { value: true });
5
19
  exports.SvelteKitSite = exports.Lambda = exports.Bucket = void 0;
6
20
  const pulumi = require("@pulumi/pulumi");
@@ -11,6 +25,8 @@ exports.Lambda = null;
11
25
  utilities.lazyLoad(exports, ["Lambda"], () => require("./lambda"));
12
26
  exports.SvelteKitSite = null;
13
27
  utilities.lazyLoad(exports, ["SvelteKitSite"], () => require("./svelteKitSite"));
28
+ // Export enums:
29
+ __exportStar(require("../types/enums/aws"), exports);
14
30
  const _module = {
15
31
  version: utilities.getVersion(),
16
32
  construct: (name, type, urn) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../aws/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,MAAM,GAAqC,IAAW,CAAC;AACpE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAItD,QAAA,MAAM,GAAqC,IAAW,CAAC;AACpE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAItD,QAAA,aAAa,GAAmD,IAAW,CAAC;AACzF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAGjF,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,kBAAkB;gBACnB,OAAO,IAAI,cAAM,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD,KAAK,kBAAkB;gBACnB,OAAO,IAAI,cAAM,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD,KAAK,yBAAyB;gBAC1B,OAAO,IAAI,qBAAa,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC3D;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../aws/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,MAAM,GAAqC,IAAW,CAAC;AACpE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAItD,QAAA,MAAM,GAAqC,IAAW,CAAC;AACpE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAItD,QAAA,aAAa,GAAmD,IAAW,CAAC;AACzF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAGjF,gBAAgB;AAChB,qDAAmC;AAEnC,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,kBAAkB;gBACnB,OAAO,IAAI,cAAM,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD,KAAK,kBAAkB;gBACnB,OAAO,IAAI,cAAM,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD,KAAK,yBAAyB;gBAC1B,OAAO,IAAI,qBAAa,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC3D;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "../types/input";
3
+ import * as enums from "../types/enums";
3
4
  import * as grants from "../grants";
4
5
  export declare class Lambda extends pulumi.ComponentResource {
5
6
  /**
@@ -12,9 +13,13 @@ export declare class Lambda extends pulumi.ComponentResource {
12
13
  */
13
14
  readonly arn: pulumi.Output<string>;
14
15
  /**
15
- * The name of the Lambda function.
16
+ * The physical name of the Lambda function.
16
17
  */
17
18
  readonly functionName: pulumi.Output<string>;
19
+ /**
20
+ * The HTTPS endpoint URL when url: true. Empty string if URL is not enabled.
21
+ */
22
+ readonly functionUrl: pulumi.Output<string | undefined>;
18
23
  /**
19
24
  * The ARN of the Lambda's IAM execution role.
20
25
  */
@@ -45,12 +50,58 @@ export declare class Lambda extends pulumi.ComponentResource {
45
50
  */
46
51
  export interface LambdaArgs {
47
52
  /**
48
- * The logical name of the Lambda function.
53
+ * CPU architecture. Default: arm64 (Graviton).
54
+ */
55
+ architecture?: pulumi.Input<enums.aws.LambdaArchitecture>;
56
+ /**
57
+ * Upgrade environment variable encryption to SSE-KMS. Set to "kms" to enable. Incurs KMS API call cost. Required by HIPAA, PCI-DSS, FedRAMP. Supply kmsKeyArn via transform["lambda"].
58
+ */
59
+ encryption?: pulumi.Input<string>;
60
+ /**
61
+ * Path to the function's entry point file, relative to the project root. e.g. "functions/api/index.ts". Omit to deploy a blank Lambda placeholder.
62
+ */
63
+ entry?: pulumi.Input<string>;
64
+ /**
65
+ * Environment variables available to the function at runtime. Supports plain strings and Pulumi outputs.
66
+ */
67
+ environment?: pulumi.Input<{
68
+ [key: string]: pulumi.Input<string>;
69
+ }>;
70
+ /**
71
+ * The exported function name in the entry file. e.g. "handler" for `export const handler = ...`
72
+ */
73
+ handler: pulumi.Input<string>;
74
+ /**
75
+ * CloudWatch log group retention period. Default: "1y" (satisfies SOC 2, ISO 27001, PCI-DSS baseline).
49
76
  */
50
- name: pulumi.Input<string>;
77
+ logRetention?: pulumi.Input<enums.aws.LambdaLogRetention>;
78
+ /**
79
+ * Memory in MB. Valid: 128 to 32768 in 1MB increments. Default: 1024.
80
+ */
81
+ memory?: pulumi.Input<number>;
82
+ /**
83
+ * Inline IAM permissions added to the execution role. Use for ad-hoc access not covered by the grant system.
84
+ */
85
+ permissions?: pulumi.Input<pulumi.Input<inputs.aws.LambdaPermissionArgs>[]>;
86
+ /**
87
+ * The Lambda runtime identifier.
88
+ */
89
+ runtime: pulumi.Input<enums.aws.LambdaRuntime>;
90
+ /**
91
+ * Timeout in seconds. Valid: 1 to 900. Default: 5.
92
+ */
93
+ timeout?: pulumi.Input<number>;
94
+ /**
95
+ * Enable AWS X-Ray tracing. Incurs per-trace cost (~$5/million traces). Default: false.
96
+ */
97
+ tracing?: pulumi.Input<boolean>;
51
98
  transform?: pulumi.Input<inputs.aws.LambdaTransformArgsArgs>;
52
99
  /**
53
- * The ID of the AWS VPC to deploy this function into.
100
+ * Enable a direct HTTPS endpoint for the function. Auth mode is AWS_IAM never public. Default: false.
101
+ */
102
+ url?: pulumi.Input<boolean>;
103
+ /**
104
+ * VPC ID to place the Lambda in for access to private resources (RDS, ElastiCache, etc.).
54
105
  */
55
106
  vpc?: pulumi.Input<string>;
56
107
  }
package/bin/aws/lambda.js CHANGED
@@ -28,19 +28,35 @@ class Lambda extends pulumi.ComponentResource {
28
28
  let resourceInputs = {};
29
29
  opts = opts || {};
30
30
  if (!opts.id) {
31
- if (args?.name === undefined && !opts.urn) {
32
- throw new Error("Missing required property 'name'");
31
+ if (args?.handler === undefined && !opts.urn) {
32
+ throw new Error("Missing required property 'handler'");
33
33
  }
34
- resourceInputs["name"] = args?.name;
34
+ if (args?.runtime === undefined && !opts.urn) {
35
+ throw new Error("Missing required property 'runtime'");
36
+ }
37
+ resourceInputs["architecture"] = args?.architecture;
38
+ resourceInputs["encryption"] = args?.encryption;
39
+ resourceInputs["entry"] = args?.entry;
40
+ resourceInputs["environment"] = args?.environment;
41
+ resourceInputs["handler"] = args?.handler;
42
+ resourceInputs["logRetention"] = args?.logRetention;
43
+ resourceInputs["memory"] = args?.memory;
44
+ resourceInputs["permissions"] = args?.permissions;
45
+ resourceInputs["runtime"] = args?.runtime;
46
+ resourceInputs["timeout"] = args?.timeout;
47
+ resourceInputs["tracing"] = args?.tracing;
35
48
  resourceInputs["transform"] = args?.transform;
49
+ resourceInputs["url"] = args?.url;
36
50
  resourceInputs["vpc"] = args?.vpc;
37
51
  resourceInputs["arn"] = undefined /*out*/;
38
52
  resourceInputs["functionName"] = undefined /*out*/;
53
+ resourceInputs["functionUrl"] = undefined /*out*/;
39
54
  resourceInputs["roleArn"] = undefined /*out*/;
40
55
  }
41
56
  else {
42
57
  resourceInputs["arn"] = undefined /*out*/;
43
58
  resourceInputs["functionName"] = undefined /*out*/;
59
+ resourceInputs["functionUrl"] = undefined /*out*/;
44
60
  resourceInputs["roleArn"] = undefined /*out*/;
45
61
  }
46
62
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);